Token Reference

For how to write and activate a theme that customizes these tokens, see Themes.

The 30 semantic token slots below form the complete vocabulary. Components use these token names as class names; themes supply the actual values through CSS custom properties.

Surface Tokens (6)

TokenPurpose
--color-backgroundPage/canvas background
--color-surfaceComponent surface (cards, panels)
--color-cardCard background (may differ from surface)
--color-borderDividers, input borders, separators
--color-textPrimary text
--color-text-mutedSecondary/muted text, placeholders

Role Tokens (8)

TokenPurpose
--color-primaryPrimary action color (buttons, links)
--color-primary-foregroundText on primary-colored surfaces
--color-secondarySecondary action / subdued UI elements
--color-secondary-foregroundText on secondary-colored surfaces
--color-accentAccent highlight (hover, selection)
--color-destructiveDestructive actions and danger states
--color-successSuccess / positive states
--color-warningWarning / caution states

Shape Tokens (4)

TokenPurpose
--radius-smSmall corner radius (badges, chips)
--radius-mdMedium corner radius (buttons, inputs)
--radius-lgLarge corner radius (cards, modals)
--radius-fullFull / pill corner radius (avatars)

Shadow Tokens (3)

TokenPurpose
--shadow-smSmall elevation shadow
--shadow-mdMedium elevation shadow (dropdowns)
--shadow-lgLarge elevation shadow (modals)

Typography Tokens (2)

TokenPurpose
--font-sansBody / UI sans-serif font stack
--font-monoMonospace font stack (code, IDs)

Density Token (1)

TokenPurpose
--spacingBase spacing unit (density scale)

Motion Tokens (4)

TokenPurpose
--motion-duration-fastFast transitions (100–150 ms)
--motion-duration-baseStandard transitions (200–250 ms)
--motion-duration-slowSlow transitions (300–400 ms)
--motion-easeDefault easing curve

All three duration tokens collapse to 0.01ms under prefers-reduced-motion: reduce.

Focus Ring Token (1)

TokenPurpose
--color-ringFocus ring / outline color

Display Font Token (1)

TokenPurpose
--font-displayDisplay/heading font (defaults to --font-sans)