What to do, what not to do, and why. These rules keep the design system coherent across every surface.
The design system is deliberately restrained. High-contrast text on neutral backgrounds. Brand colors appear sparingly so that when they do appear, they signal something important.
Headings are neutral. Fuchsia draws the eye to stats, eyebrows, links, buttons, and the rare emphasis word in a hero headline. Scarcity makes it powerful. Every other color has a constrained role.
The core principle: if everything is colorful, nothing stands out. Colors earn their place by being rare.
:root, [data-theme="dark"], and [data-theme="light"].--role-* properties that resolve to system tokens. Font shorthands.var() references to system tokens.Dark mode uses three surface levels: page (#0e0e18), surface (#181a28), and raised (#222436). All have a cool blue undertone.
Light mode uses three surface levels: page (#FAFBFC), surface (#F3F4F6), and raised (#E8EAF0). All have a cool gray tone, not warm cream.
Cards sit on the raised level when inside a surface-colored section. The depth comes from shadow, not background contrast alone.
A noise texture overlay (SVG fractal noise at 1.5% opacity) adds subtle grain to all surfaces.
The design system covers standard UI components. Charts, data visualizations, threshold scales, and competitive comparisons are not templated. When you need something the system does not define, follow the patterns below. Every pattern uses only the existing token palette. Never invent new colors.
The universal rule: use neutrals as the base, fuchsia for exactly one thing (the element that matters most), never assign brand colors to external entities, never invent colors outside the palette. When in doubt, make it gray.
Fewer colors, fewer fonts, fewer patterns. What remains is intentional.