Colors
A two-layer color system designed for AI-assisted development.
How It Works
Colors are defined in two layers. Color scales (50-900) contain the raw OKLCH values — these are easy for AI to generate and update. Semantic tokens map scales to meanings like primary and destructive.
AI updates scales → semantic tokens stay stable → components just work.
Core Colors
Brand and neutral colors with full 50-900 scales.
Primary
Main brand color. Buttons, links, focus rings.
Secondary
Supporting color. Secondary buttons, accents.
Tertiary
Accent color. Highlights, gradients, loud elements.
Gray
Neutral scale. Backgrounds, borders, text.
Status Colors
Feedback colors for actions and states. Key steps shown (full scales in CSS).
Destructive
Dangerous actions, errors, delete buttons.
Success
Positive feedback, confirmations.
Warning
Caution states, pending actions.
Info
Informational messages, tips.
Usage
Common Scale Usage
Each step in a scale has typical use cases. This helps AI pick consistent shades across components.
50-100— Light backgrounds, hover fills200-300— Borders, dividers500— Default / base color600— Hover state on solid buttons700— Active / pressed state800-900— Text, high contrast
AI-Friendly Naming
We use token names that appear frequently in AI training data. When an AI sees "delete button," it naturally reaches for destructive because that's what shadcn uses.
Examples:
destructive— not "error" or "danger"primary— not "brand" or "main"muted— not "subtle" or "disabled"foreground— not "text" or "content"
Implementation
Resources
Color Scale Tools
- oklch.com — OKLCH color picker
- Tints.dev — Generate Tailwind scales with OKLCH
- Smart Swatch — Palette generator