Colour Tokens
ELF Design System 2.0 uses a strict three-tier colour token hierarchy.
Tier 1 — Primitive (--prim-*): raw palette values, 8 families × 10 steps, never change.
Tier 2 — Semantic (--brand, --btn-*, --bg-*, --text-*, --border-*): brand-aware roles that resolve differently per theme.
Tier 3 — Component (--button-*, --chip-*, etc.): component-scoped tokens consumed directly in component CSS.
Switch to residential-lt below to watch values cascade through all three tiers.
A single brand colour change at Tier 2 propagates instantly through every component via the alias chain.
The raw colour palette — 8 families × 10 steps. All Tier 2 semantic tokens resolve to values in this palette. Steps lighten from 10 → 100. Hover any swatch to copy its hex value.
Brand-aware roles that alias into Tier 1 primitives. Residential-lt overrides are applied at the html.theme-residential-lt selector — all other tokens inherit commercial-lt values.
Component-scoped tokens that alias into Tier 2 semantic roles. Components consume these tokens directly in their CSS — never referencing primitives or hardcoded hex values.