Theme engine
Three inputs — a background, an accent, and a contrast — generate the entire token set. Every surface, text tier, border, control, and status colour is derived in OKLCH and contrast-solved, so the whole UI re-themes from one seed.
Drive the seed from the System Controls rail (top-right). Every colour, contrast number, and curve below is recomputed live from the engine — these are the guarantees, measured.
Surfaces
body text legibility on each surfaceAa
bg-1APCA 10720.0:1
Aa
bg-2APCA 10619.3:1
Aa
bg-3APCA 10618.8:1
Aa
bg-4APCA 10518.1:1
Aa
bg-5APCA 10517.2:1
Aa
bg-6APCA 10416.2:1
Aa
bg-sunkenAPCA 10820.7:1
Text
each tier vs the canvasAa
fg-1APCA 10720.0:1
Aa
fg-2APCA 7812.8:1
Aa
fg-3APCA 588.6:1
Aa
fg-4APCA 385.2:1
Aa
linkAPCA 629.4:1
Controls
control label on each stateAa
control-2APCA 10618.3:1
Aa
control-2-hoverAPCA 10416.7:1
Aa
control-2-selectedAPCA 10315.4:1
Aa
control-3APCA 10719.5:1
Aa
control-3-hoverAPCA 10618.4:1
Aa
control-3-selectedAPCA 10517.8:1
Status
each status colour vs the canvasAa
successAPCA 568.2:1
Aa
warningAPCA 7211.6:1
Aa
dangerAPCA 456.3:1
Aa
infoAPCA 558.1:1
The colour space
The light surface ramp
top surface (bg-6)white ceiling
APCA vs WCAG
light canvas (L 0.92)dark canvas (L 0.17)