Our color system is designed to create visual hierarchy, communicate meaning, and maintain accessibility across all products.
Semantic color tokens that adapt to light and dark modes
primary
hsl(var(--primary))
primary-foreground
hsl(var(--primary-foreground))
secondary
hsl(var(--secondary))
secondary-foreground
hsl(var(--secondary-foreground))
accent
hsl(var(--accent))
accent-foreground
hsl(var(--accent-foreground))
muted
hsl(var(--muted))
muted-foreground
hsl(var(--muted-foreground))
card
hsl(var(--card))
card-foreground
hsl(var(--card-foreground))
border
hsl(var(--border))
input
hsl(var(--input))
destructive
hsl(var(--destructive))
destructive-foreground
hsl(var(--destructive-foreground))
How to apply colors effectively and accessibly
Use for main actions, key UI elements, and to establish brand presence. Avoid overuse which can diminish its impact.
Use for supporting actions, secondary buttons, and to create visual hierarchy without competing with primary elements.
Use sparingly to highlight important information or to add visual interest to specific UI elements.
Reserve for actions that are destructive or potentially dangerous, such as delete or remove functions.
Experiment with our color system and see how different combinations work together