The theme that shipped in the first cut was quiet to a fault: outside
the hero, its pages fell back to ruled prose. This revision gives the
theme a constructive vocabulary and tightens the site integration
around it.
Theme (grid.md, rewritten):
- A marks kit: period square, 3px bar, register crosshair, quarter-disc,
stepped bars, dot module, border arrows, 45-degree diagonal, and giant
cropped numerals, all locked to the column tracks.
- The plate: at most one full-bleed flooded band per page as the poster
moment, rails continuing across it.
- A signal-ink axis: one ink per page, signal red (default), ultramarine,
or surface-only signal yellow; two pages in a run never share the ink.
- Section-object law: a band that is only prose has failed the theme.
- Asymmetric occupancy (prose capped at 6 of 12 columns) and structural
whitespace; grid-snapped hover geometry and an optional ticker.
Site:
- grid-01 example replaced with signal, a Basel poster festival page
built on the revised theme; thumb regenerated at the 1400-wide
full-page convention (the first cut shipped a 1600x1000 viewport crop
that broke the hover scroll).
- Grid tokens: serif slot resolves to the grotesk (the theme has no
serif), doubled comment opener fixed, description updated.
- Landing: grid headings follow the theme's lowercase display voice;
hero copy updated to the signal-ink language.
- main.js: grid added to THEME_GENRES (missing in the first cut).
Consistency sweep the first cut missed:
- custom-theme.md catalog lists still said 20 themes; now 21 with Grid.
- components.css banner comment still said 20 themes.