Internal reference — v1.0
Every rule here exists because something in the category is broken and this is the correction. Where a choice is only taste, it is marked as taste.
Computed in your browser right now against the real rendered values, not from a
spreadsheet written when the tokens were authored. Edit tokens.css
into non-compliance and this section turns red.
| Pairing | Use | Ratio | Needs | Result |
|---|
A measurement of 24 logos in the website-audit category returned blue 11, neutral 4, orange 3, green 2 — the category is ~46% blue and thick with mascots and gradients. Warm ink-and-paper with one burnt-orange accent is chosen because it is the open lane, not because it is pretty.
Hue 75, never true grey. A trace of ember in every surface makes the page read as paper rather than as a default UI slab.
Deliberately desaturated so they can sit inside an audit result without fighting the brand. Never the only signal — always paired with a label or shape.
The split is semantic, not decorative. If a person wrote it, it is sans. If the machine measured it, it is mono. That one rule does most of the work of making these pages read as an instrument rather than as marketing.
Sans — the speaking voice
Small tools that stay.
Headlines, body, navigation, anything a human wrote.
Mono — the machine's voice
strict-transport-security · 0.94 · 340
Scores, headers, URLs, counts, timestamps, IDs.
Fluid via clamp(), so no breakpoint ever restates a size.
| Token | Specimen |
|---|
Hard edges. A rounded corner is the fastest way to make a tool look like a consumer app. The one permitted softening is the chamfer — a 45° cut, not a curve — which is the brand's own corner and carries the product tiles.
17 headers, one row per domain.
Can a model read this site at all?
What automated scanning can and cannot see.
One angle in the entire system, used sparingly — a single rotated element against an orthogonal grid. Two angles is noise.
Short and mechanical. Nothing bounces — a machine does not bounce. Anything over 240ms starts to feel like a website performing for you. All of it is disabled under prefers-reduced-motion.
cubic-bezier(0.2, 0, 0.13, 1) — decisive, no overshootEnforced by review, not by the compiler. Each has a reason; none is arbitrary.