v1.2.2 · set by build.js
Colophon
What this system is set in, what it does to a sheet of paper, and every contrast ratio it measures on the way past. Nothing on this page is typed by hand.
The setting
Faces and measure
Mono
ui-monospace, SF Mono, Menlo, Consolas — a system stack, deliberately
Language
ui-sans-serif, system-ui — the site’s own face, and the only one it should change
Measure
34em, expressed in em so it tracks the type rather than the window
Rail
10rem, sticky, collapsing below 52rem
Page
62rem maximum, gutter clamped 1.25–2.75rem
The sheet
Sheet margin
18mm, set by @page rather than left to the print dialogue
Body
10.5pt on 1.4 — ten and a half on fourteen point seven
Orphans and widows
Three lines, the conventional floor
Breaks
Headings do not end a sheet; blocks and rows do not split
Palette
Ink on white, grain to zero, every declaration !important
Measured
Every text token in every palette, measured against the worst-case grain pixel rather than the flat ground. The build exits non-zero if any of them drops below 4.5:1, so this table cannot go stale and a failing value cannot reach the page.
| Palette | Surface | Tightest | Sunk | Verdict |
|---|---|---|---|---|
| Neutral light | #f5f5f5 | 5.27:1 | 1.07:1 | AA |
| Neutral dark | #161616 | 5.24:1 | 1.07:1 | AA |
| Green light | #fbfaf7 | 4.97:1 | 1.09:1 | AA |
| Green dark | #121412 | 4.99:1 | 1.09:1 | AA |
| Clay light | #f5f3ee | 5.06:1 | 1.10:1 | AA |
| Clay dark | #181613 | 4.92:1 | 1.08:1 | AA |
The sunk column is the row hover, and it is meant to be felt rather than seen. If you can identify its colour it is too strong.
The licence
MIT, and it means it. Take it, change it, ship it, no credit needed.
A chapbook was made to be cheap, read, and passed on, and the licence is the part of this system that takes that literally. If you build something with it I would like to see it, but that is a wish rather than a condition.