- _tokens.scss — added --wg-space-2xs…xl (0.25–2rem, 4pt scale), --wg-ledger-line: 1.78rem, --wg-page-width: 1420px.
- Card gaps unified to --wg-space-sm, card interiors to --wg-space-md, the compact topic-list header to --wg-space-xs (_categories.scss, _topics.scss, _widgets.scss, _responsive.scss).
- Ledger ruling height is now one token across topics, posts, pagination, quick-reply, and the composer (_posts.scss, _controls.scss).
- Footer rails now share the topbar's 1420px measure (_footer.scss:36,123,143), so the page's top and bottom edges align.
- Stat tiles got explicit padding instead of inheriting Bootstrap's (_topics.scss:369, _categories.scss:326).
- Documented the scale and rules in DESIGN.md (new "Spacing & Layout" section).
1. Candy-bright category icon plates — the loudest spell-breaker. Untuned ACP category colors (default orange/red/green) came through nearly raw. The plates now get a translucent plum wash plus a stronger desaturation clamp, so any admin-picked color lands in the velvet register while keeping its per-category hue. This hardens production against future un-tuned categories too, without overriding the documented ACP-color mechanism.
2. Groups page showed the stock gray-triangle covers — the existing velvet override only matched .cover, but the groups list renders .list-cover. Extended the selector; group cards now wear the plum velvet material.
3. 404 page showed a beige dog icon — replaced (CSS mask, no template override) with the existing cowled.svg game icon in old gilt. The lost-page screen now reads as a hooded figure in Westgate rather than stock NodeBB.
4. Token drift — three literal copies of the etched-highlight color now use the existing --wg-etched-highlight token, and a dead transform entry was dropped from the category card transition.