Design system
Every component in dark, in light, and with the hue removed. This page is the acceptance surface for the port and the regression check for every phase after it. Nothing here names a colour; every surface and status resolves a token — and the greyscale column is what proves it, because colour is never the only carrier.
W1 · component galleryColour & surfaces
Chrome stays achromatic so the only saturated pixels on screen carry a verdict. If something is coloured, it means something. That rule used to be aspirational: --accent was an acid yellow, the most saturated thing on most screens, and it sat twenty degrees from --setup on the wheel — two saturated yellows, adjacent hues, different jobs. --accent is now a neutral, and the four verdict hues are the only saturated pixels left.
surfaces
semantic — each owns exactly one meaning
Type & density
Three families with distinct jobs: Inter Tight for hierarchy, Inter for interface prose, and JetBrains Mono for evidence, identifiers and provenance. The first two are one design at two optical sizes, which is what stops a heading and the sentence beneath it from reading as two products.
Verdicts & outcomes
Four outcomes, three sizes, one shape language. A setup failure and an indeterminate result are rendered with the same care as a pass — the credibility of the gate rests on people believing the difference.
card
row · inline
greyscale proof — colour is never the only carrier, so hue removal must lose nothing
Run strip
A whole run in one proportional row, with its denominator. Segments keep declaration order so two runs stay comparable at a glance.