Design system
An appendix: every design token the site is built from, with the measured contrast ratio that admitted it.
Color
Two palettes, each selected and measured against its own ground rather than derived from the other. A token showing one swatch keeps that value in both schemes: a filled color field carries its own ground with it, so re-stepping it would only weaken the identity.
Contrast
Every pairing used as text, in both schemes, with its measured ratio. WCAG AA at body size is 4.5, and each of the 20 pairings below clears it.
| Pairing | Role | Light | Dark |
|---|---|---|---|
| --ink on --bone | Body text on the page | 16.27 | 15.16 |
| --ink on --paper | Body text on a raised ground | 17.86 | 14.08 |
| --ink on --bench | Body text on a recessed ground | 15.30 | 15.95 |
| --ink on --stage | Viewer text on its stage | 13.68 | 14.69 |
| --ink-soft on --bone | Lede and prose | 10.66 | 11.65 |
| --ink-soft on --paper | Prose on a raised ground | 11.70 | 10.83 |
| --ink-2 on --bone | Asides and numerals | 6.44 | 7.60 |
| --ink-2 on --paper | Asides on a raised ground | 7.07 | 7.06 |
| --ink-2 on --bench | The unlanded-prose notice | 6.06 | 8.00 |
| --ink-2 on --rail-bg | Rail chrome | 5.85 | 7.22 |
| --ink-2 on --band-1 | Rail numerals, group 1 | 5.66 | 6.12 |
| --ink-2 on --band-2 | Rail numerals, group 2 | 5.56 | 6.64 |
| --ink-2 on --band-3 | Rail numerals, group 3 | 5.29 | 7.05 |
| --link on --bone | Links on the page | 4.67 | 5.04 |
| --link on --paper | Links on a raised ground | 5.13 | 4.68 |
| --cta-ink on --cta | The orange link block | 4.78 | 4.78 |
| --amber-ink on --amber | The amber link block | 7.32 | 7.32 |
| --ink-on-dark on --ink-block | The dark link block | 11.47 | 11.47 |
| --ink-dim-on-dark on --ink-block | Muted text on the dark block | 6.63 | 6.63 |
| --paper on --ink | The skip link | 17.86 | 14.08 |
The data marks are graphical rather than text, so their threshold is 3: --mark on --bone 3.34 light, 6.11 dark.--mark-emphasis on --bone 4.67 light, 8.09 dark. The brand amber measures 1.99 on the light page ground, so it can carry neither text nor a mark there — which is why the emphasized mark in a chart is the orange on light and the amber on dark, the opposite of what brand instinct wants.
Type
One family, display through captions. Monospaced type appears only inside a real code block.
Space
A 4px base, used for padding, gaps and rhythm alike.
Measure
Two bounds, and every route obeys both. Prose stops at the measure; a table, a chart or a figure is allowed past it and stops at the content cap. The cap bounds what a full-bleed strip lays out, never the strip: a band’s ground and its top rule still run the whole column.