12Interface system
Light / Dark
2 SEMANTIC SETS · 28 TOKENS EACHSOURCE: tokens/color.jsonSWITCH: ⌘⇧D
Light is the archive: mineral cream, black type, museum quiet. Dark is the instrument: carbon, mineral white, a little more Nous in the air. Vermilion stays Milo and Moss stays Offline in both.
One surface, both modes12.01
Not an inversion
TODAY · LIGHT
What matters now?
- Render Day 1 voice trackRunning
- Write the pitch emailNeeds you
⌁ local
TODAY · DARK
What matters now?
- Render Day 1 voice trackRunning
- Write the pitch emailNeeds you
⌁ local
Same markup, different token set. The imagery re-maps: National Park on cream, Nous on carbon. Grand Teton, Carol M. Highsmith, Library of Congress.
Tokens12.02
The two semantic sets
| Semantic token | Light | Dark |
|---|
Rules12.03
How dark differs
- 01Ground is carbon, not grey.
#0B0C09— the same black the image engine uses for shadows, so photographs sit in the surface rather than on it. - 02Ink is mineral, not white.
#EDE9DFkeeps the paper feeling of light mode and stops glare at large serif sizes. - 03Vermilion lifts to
#FF5A32. Contrast on carbon reaches 5.6:1 so the agent colour can carry text, not only marks. Semantics do not change. - 04Moss lifts to
#8DA64A. Still secondary, still Offline. - 05Hairlines get heavier in value, not in width.
#2C2E28reads as a rule on carbon; strong rules become mineral. - 06Depth uses less shadow. Level 3 and 4 rely on edge and scrim; shadows on black do little.
- 07Imagery prefers Nous. Deep blacks, fine dither, Vermilion as signal. National Park stays available where the surface wants warmth.
- 08The user chooses, the OS suggests. Stored choice wins; otherwise
prefers-color-scheme. Both are honoured before first paint.