Skip to content
LinkPress™
Issue 002

Design Tokens, Dark Mode, and a New Component

How we built the colour system, why dark mode is handled entirely in CSS, and a deep dive into the Scroll Progress Ring component.

design-system dark-mode components css

Issue two, and we’re already covering the topic most people ask about first: dark mode.

Why CSS, not JavaScript

Our colour system is built entirely on CSS custom properties layered inside attribute selectors. When the theme changes, a single attribute on the <html> element cascades every token across the entire page — no JavaScript, no flash of unstyled content, no hydration cost.

The full breakdown is in the colour mode article linked above.

The token architecture

We use OKLCH for all colour definitions. It’s a perceptually uniform space that makes generating harmonious palettes much more predictable than HSL. Once you understand chroma and hue as separate axes, colour systems stop being guesswork.

New this week

The Scroll Progress Ring is live in the component library. It’s a small thing — a circular indicator that fills as you scroll — but the implementation is worth reading if you’re curious how far you can push a single SVG element with no external dependencies.

See you next week.