Internal reference
Colour System
A single-hue OKLCH palette with perceptually uniform lightness steps,
deliberate chroma scaling by role, and a hue that rotates across the
lightness axis. Hex values serve as fallbacks for browsers without
oklch() support (~5% of users). On capable displays, the
accent and opposite tokens exceed the sRGB gamut into Display P3.
Live tokens
Reflects your current OS colour preference.
Both modes
Static — always visible regardless of OS preference.
Dark
Light
How it's composed
Hue rotates across the lightness axis
Dark backgrounds start at H 143 (more lime, warmer). As tokens get lighter they drift toward H 158 (more teal, cooler). The eye reads this as atmospheric depth — like the colour shift between forest floor and canopy — rather than a mechanical single-hue ramp. The 15° rotation is subtle enough to be felt rather than noticed.
Chroma scales by role
Backgrounds have low chroma (C 0.09). Borders have medium chroma (C 0.13). The accent sits at peak chroma for the P3 gamut (C 0.275–0.28). This means focal hierarchy is intrinsic to the palette — more saturated elements feel more important without any additional visual treatment. The accent is visually "louder" not because it's bigger or bolder, but because it's more chromatic.
Accent and opposite use the full P3 gamut
oklch(0.82 0.275 145) for the accent green and
oklch(0.63 0.220 27) for the opposite red both sit outside
the sRGB boundary. On a Display P3 screen (any Apple device since 2016,
most modern monitors) these render as genuinely fluorescent colours
impossible to reproduce in print or on older screens. No separate
@supports block needed — the browser gamut-maps automatically,
clipping to sRGB on incapable displays.
#0bd569
oklch(0.82 0.275 145)
#d5150b
oklch(0.63 0.220 27)
Browser cascade
Three layers, each overriding the previous when supported:
:root { --bg: #1b5034 } Hex — all browsers, ~5% of users stop here @supports (color: oklch(0 0 0)) { --bg: oklch(0.30 0.090 143) } OKLCH — Chrome 111+, Safari 15.4+, Firefox 113+ (~95%) oklch(0.82 0.275 145) → Display P3 gamut Browser gamut-maps OKLCH to widest available gamut automatically