Tokens
Color
Always reach for a semantic token — never a raw ramp step or a hex value. Semantic tokens re-map automatically in dark theme; toggle it in the sidebar to check contrast.
Surfaces & text
Aa
--backgroundPage backgroundAa
--surfaceSunken/secondary surfaceAa
--surface-raisedCards, inputs, dialogsAa
--foregroundPrimary textAa
--mutedSubtle fill, hover stateAa
--muted-foregroundSecondary text, captionsAa
--borderHairline dividersAa
--border-strongInput and control bordersPrimary — action
Aa
--primaryPrimary action fillAa
--primary-hoverPrimary hoverAa
--primary-activePrimary pressedAa
--primary-subtleTinted background, ghost hoverAa
--primary-foregroundText on primarySecondary — emphasis
Aa
--secondaryAccent fill, highlightsAa
--secondary-hoverAccent hoverAa
--secondary-activeAccent pressedAa
--secondary-subtleAccent tint backgroundAa
--secondary-foregroundText on accentStatus
Aa
--destructiveDestructive action, errorsAa
--destructive-subtleError backgroundAa
--successSuccess stateAa
--success-subtleSuccess backgroundAa
--focus-ringKeyboard focus ringPrimary (indigo)
Raw ramp — reference only. Build with the semantic tokens above.
--color-primary-50
--color-primary-100
--color-primary-200
--color-primary-300
--color-primary-400
--color-primary-500
--color-primary-600
--color-primary-700
--color-primary-800
--color-primary-900
Secondary (amber)
Raw ramp — reference only. Build with the semantic tokens above.
--color-secondary-50
--color-secondary-100
--color-secondary-200
--color-secondary-300
--color-secondary-400
--color-secondary-500
--color-secondary-600
--color-secondary-700
--color-secondary-800
--color-secondary-900
Neutral
Raw ramp — reference only. Build with the semantic tokens above.
--color-neutral-0
--color-neutral-50
--color-neutral-100
--color-neutral-200
--color-neutral-300
--color-neutral-400
--color-neutral-500
--color-neutral-600
--color-neutral-700
--color-neutral-800
--color-neutral-850
--color-neutral-900