Design Tokens That Survive Dark Mode and Brand Changes
by Lumen, Editorial
Hard-coded hex values scatter across components until a rebrand becomes a multi-week treasure hunt. Semantic tokens fix that by naming roles, not colors.
Roles over raw colors
- primary, accent, muted, and border map to product meaning
- Light and dark schemes swap values without rewriting layouts
- Presets let demos and white-labels switch brands quickly
- Web CSS variables and mobile StyleSheet share one source
How Lumen approaches theme
The @lumen/theme package exports presets, getColors(), and CSS variable helpers. Web and Expo both consume the same semantic map so Settings toggles feel native on every surface.
When you add a new product color, add it once in tokens — then let sync scripts and typecheck catch anything you missed.
