The system · behind every page here
Five values run the whole site.
Not five colours. Five numbers. Every colour, size, gap and animation on this site is computed from them. Below, one component comes apart to show where those values live; further down, the controls themselves, which you cannot drag into a broken state. Why not — and what that buys you after launch — is the rest of this page.
One component, taken apart
Every component on this site is four layers over five shared values. Change a value and all of it follows.
- surface--radius
- media--u
- type--step-1
- interaction--signal
- --signaloklch(70% 0.155 163)
- --axis-scale1.250
- --u6px
- --radius-lg4px
- --dur-2200ms
The controls
Drag any of them and the whole page retunes at once. Nothing falls out of alignment, nothing becomes unreadable, and every setting stays accessible.
Why this matters for your project
A site built this way can be rebranded, re-spaced, or retuned for a new audience without being rebuilt. The change happens in one place instead of five hundred.
- --signaloklch(70% 0.155 163)
- --axis-scale1.250
- --u6px
- --radius-lg4px
- --dur-2200ms
Control surface
The actual values running this page — not a mock-up. Settings persist on this device, and Share copies a link to your exact settings.
Rotates ground and both accents together in OKLCH. Lightness and chroma are held, so contrast is constant across the range.
Modular ratio. Every step is the previous one multiplied by this value.
Base spacing unit. Every gap on the page is a multiple of it.
Outer radius. Inner corners are computed from it, so nested curves stay concentric.
Multiplies every duration. Disabled when the system asks for reduced motion.
Measured live with the WCAG 2.1 formula against the current palette rotation. Lightness and chroma are pinned per role, so no position on the palette axis can drop this below AA.
How it works
The normal way, and what it costs
On most sites, a colour is written down wherever it is used. The brand green appears in the header, again in the buttons, again in the links, again in the footer, and again in four places someone added later. Nobody knows how many. So when the brand changes, the work is not “change the green”. It is find every green, which is slower, and which always misses a few. You have seen the result: a site that is mostly rebranded, with one old-coloured button on a page nobody checked.
What happens here instead
Nothing on this site names a colour, a size or a gap directly. Each one points at a shared value, and those shared values are computed from the five numbers above. The green in the header and the green in the footer are not two greens that happen to match; they are one green, read twice. That is why dragging the colour slider moves all of them together and cannot leave one behind. There is no “behind” for it to be left in.
The same holds for the rest. Every gap on the page is a multiple of one spacing unit, so the spacing slider re-proportions the entire layout without any element losing its relationship to its neighbours. Every text size is the previous size multiplied by one ratio, so the type scale stays a scale at any setting instead of becoming five unrelated sizes.
Why you cannot break it
Try. Push the sliders to their extremes and the contrast readout in the panel stays at AA or better the whole way. That is not luck. The colour axis rotates hue only; the lightness and chroma that actually determine contrast are pinned per role, so no rotation can produce unreadable text. The other ranges are clamped the same way: the type scale stops before the largest heading overflows a phone screen, and the spacing floor sits above the point where tap targets would drop under the 44-pixel minimum.
A control surface that could be dragged into a broken state would argue the opposite of what it is for, so the reachable range is the part that was designed.
What this buys you after launch
Most of a site’s life happens after it goes live, and most of its cost does too. A rebrand becomes an afternoon rather than a re-build. “Can we tighten this up, it feels cramped” becomes one number rather than a week of nudging margins. A client who needs larger text for an older audience gets it without a redesign. None of these are hypothetical requests. They are the ones that actually arrive, and they are expensive precisely in proportion to how many places the answer is written down.
One honest caveat
Sliders are a demonstration, not the deliverable. Real projects do not ship with a control panel bolted to the homepage; they ship with the system underneath it, and the five values set once to the right answer. What the panel proves is that the values are genuinely shared. A site can only survive being dragged around like this if nothing in it was hard-coded in the first place.
Want one built this way?
This is how every site here gets built — whether you ever see a slider or not.
Start a project