docs.json:12345{ "colors": { "primary": "#6366f1" } }
1234567{ "colors": { "primary": "#6366f1", "light": "#818cf8", "dark": "#4f46e5" } }
colors.dark is used in light mode, and colors.light is used in dark mode.123456{ "appearance": { "default": "system", "strict": false } }
| Value | Behavior |
"system" | Follow the user's OS setting (default) |
"light" | Force light mode |
"dark" | Force dark mode |
strict: true | Hide the mode toggle |
1234567891011121314:root { --background: #fafafa; --foreground: #0a0a0a; --primary: #6366f1; --muted-foreground: #737373; --border: #e5e5e5; @variant dark { --background: #0a0a0a; --foreground: #fafafa; --primary: #818cf8; --border: #262626; } }
@variant dark instead of Tailwind's dark: for dark mode overrides. This keeps all theme values in CSS variables that adapt automatically.--background, --foreground, --primary, --muted, --muted-foreground, --border, --accent, --card, --sidebar-foreground, --sidebar-primary, and more. See the source globals.css for the complete list.--blue, --green, --yellow, --orange, --red, --purple. These adapt to dark mode automatically.