|
132 | 132 | --font-mono: var(--font-monaspace); |
133 | 133 | } |
134 | 134 |
|
| 135 | +/* Dark mode: apply when .dark class is set, or when system prefers dark and no override */ |
135 | 136 | @media (prefers-color-scheme: dark) { |
136 | | - :root { |
| 137 | + :root:not(.light) { |
137 | 138 | /* Backgrounds */ |
138 | 139 | --background: #0a0a0a; |
139 | 140 | --surface: #18181b; /* zinc-900 */ |
|
192 | 193 | } |
193 | 194 | } |
194 | 195 |
|
| 196 | +/* Manual dark mode override */ |
| 197 | +:root.dark { |
| 198 | + /* Backgrounds */ |
| 199 | + --background: #0a0a0a; |
| 200 | + --surface: #18181b; /* zinc-900 */ |
| 201 | + --surface-muted: #1f1f23; |
| 202 | + --surface-hover: #27272a; /* zinc-800 */ |
| 203 | + --surface-active: #3f3f46; /* zinc-700 */ |
| 204 | + |
| 205 | + /* Text */ |
| 206 | + --foreground: #ededed; |
| 207 | + --foreground-secondary: #d4d4d8; /* zinc-300 */ |
| 208 | + --foreground-tertiary: #a1a1aa; /* zinc-400 */ |
| 209 | + --foreground-muted: #71717a; /* zinc-500 */ |
| 210 | + --foreground-subtle: #52525b; /* zinc-600 */ |
| 211 | + |
| 212 | + /* Borders */ |
| 213 | + --border-muted: #27272a; /* zinc-800 */ |
| 214 | + --border: #3f3f46; /* zinc-700 */ |
| 215 | + --border-strong: #52525b; /* zinc-600 */ |
| 216 | + |
| 217 | + /* Primary/Accent (Indigo) */ |
| 218 | + --accent: #6366f1; /* indigo-500 */ |
| 219 | + --accent-hover: #818cf8; /* indigo-400 */ |
| 220 | + --accent-foreground: #a5b4fc; /* indigo-300 */ |
| 221 | + --accent-foreground-hover: #c7d2fe; /* indigo-200 */ |
| 222 | + --accent-muted: rgba(99, 102, 241, 0.15); |
| 223 | + --accent-muted-hover: rgba(99, 102, 241, 0.25); |
| 224 | + --accent-light: #4f46e5; /* indigo-600 */ |
| 225 | + --accent-border-hover: #6366f1; /* indigo-500 */ |
| 226 | + --accent-on-muted: #c7d2fe; /* indigo-200 */ |
| 227 | + --accent-on-solid: #ffffff; |
| 228 | + --accent-on-solid-muted: #a5b4fc; /* indigo-300 - dimmed text on solid */ |
| 229 | + |
| 230 | + /* Success (Green) */ |
| 231 | + --success: #22c55e; /* green-500 */ |
| 232 | + --success-bright: #22c55e; /* green-500 */ |
| 233 | + --success-muted: rgba(34, 197, 94, 0.15); |
| 234 | + --success-muted-hover: rgba(34, 197, 94, 0.25); |
| 235 | + --success-foreground: #86efac; /* green-300 */ |
| 236 | + |
| 237 | + /* Danger (Red) */ |
| 238 | + --danger: #ef4444; /* red-500 */ |
| 239 | + --danger-bright: #f87171; /* red-400 */ |
| 240 | + --danger-muted: rgba(239, 68, 68, 0.15); |
| 241 | + --danger-muted-hover: rgba(239, 68, 68, 0.25); |
| 242 | + --danger-foreground: #fca5a5; /* red-300 */ |
| 243 | + --danger-foreground-hover: #fecaca; /* red-200 */ |
| 244 | + --danger-subtle: #fca5a5; /* red-300 */ |
| 245 | + --danger-deep: rgba(127, 29, 29, 0.8); |
| 246 | + |
| 247 | + /* Info (Blue) */ |
| 248 | + --info: #3b82f6; /* blue-500 */ |
| 249 | + --info-hover: #60a5fa; /* blue-400 */ |
| 250 | + --info-muted: rgba(59, 130, 246, 0.15); |
| 251 | + --info-muted-hover: rgba(59, 130, 246, 0.25); |
| 252 | + --info-foreground: #93c5fd; /* blue-300 */ |
| 253 | +} |
| 254 | + |
195 | 255 | body { |
196 | 256 | background: var(--background); |
197 | 257 | color: var(--foreground); |
|
0 commit comments