@runfusion/fusion 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.md +166 -0
  2. package/dist/bin.js +141453 -0
  3. package/dist/client/assets/addon-fit-C7jRorKK.js +1 -0
  4. package/dist/client/assets/addon-web-links-CkJwd4cQ.js +1 -0
  5. package/dist/client/assets/addon-webgl-BjvOw43o.js +58 -0
  6. package/dist/client/assets/index-Dr0THfBG.css +1 -0
  7. package/dist/client/assets/index-bkmXzXw5.js +1241 -0
  8. package/dist/client/assets/vendor-react-K0fH_qHe.js +49 -0
  9. package/dist/client/assets/vendor-xterm-DzcZoU0P.js +9 -0
  10. package/dist/client/assets/vendor-xterm-LZoznX6r.css +32 -0
  11. package/dist/client/icons/icon-192.png +0 -0
  12. package/dist/client/icons/icon-512.png +0 -0
  13. package/dist/client/index.html +90 -0
  14. package/dist/client/logo.svg +6 -0
  15. package/dist/client/manifest.json +23 -0
  16. package/dist/client/sw.js +90 -0
  17. package/dist/client/theme-data.css +3764 -0
  18. package/dist/extension.js +79879 -0
  19. package/package.json +86 -0
  20. package/skill/fusion/SKILL.md +103 -0
  21. package/skill/fusion/references/best-practices.md +91 -0
  22. package/skill/fusion/references/cli-commands.md +117 -0
  23. package/skill/fusion/references/extension-tools.md +296 -0
  24. package/skill/fusion/references/fusion-capabilities.md +121 -0
  25. package/skill/fusion/references/skill-patterns.md +38 -0
  26. package/skill/fusion/references/task-structure.md +158 -0
  27. package/skill/fusion/workflows/dashboard-cli.md +92 -0
  28. package/skill/fusion/workflows/specifications.md +124 -0
  29. package/skill/fusion/workflows/task-lifecycle.md +116 -0
  30. package/skill/fusion/workflows/task-management.md +90 -0
@@ -0,0 +1,3764 @@
1
+ /* ============================================================
2
+ COLOR THEMES (data-color-theme="...")
3
+ ============================================================ */
4
+
5
+ /* OCEAN - Deep blues and cyans */
6
+ [data-color-theme="ocean"] {
7
+ --todo: #00b8d4;
8
+ --in-progress: #00e5ff;
9
+ --in-progress-rgb: 0, 229, 255;
10
+ --in-review: #00c853;
11
+ --triage: #ffab00;
12
+ --done: #607d8b;
13
+ --color-success: #00c853;
14
+ --color-error: #ff5252;
15
+
16
+ --cta-bg: #00897b;
17
+ --cta-border: #00a08a;
18
+ --cta-text: #fff;
19
+ --cta-bg-hover: #00a08a;
20
+ --cta-border-hover: #00c853;
21
+ --cta-glow: 0 0 8px rgba(0, 200, 83, 0.3);
22
+ --logo-accent: var(--todo);
23
+ --color-info: #0288d1;
24
+ --accent: #00b8d4;
25
+ }
26
+
27
+ [data-color-theme="ocean"][data-theme="light"] {
28
+ --todo: #0097a7;
29
+ --in-progress: #00bcd4;
30
+ --in-progress-rgb: 0, 188, 212;
31
+ --in-review: #4caf50;
32
+ --triage: #f57c00;
33
+ --done: #546e7a;
34
+ --color-success: #4caf50;
35
+ --color-error: #f44336;
36
+
37
+ --cta-bg: #00796b;
38
+ --cta-border: #00897b;
39
+ --cta-text: #fff;
40
+ --cta-bg-hover: #00897b;
41
+ --cta-border-hover: #4caf50;
42
+ --cta-glow: 0 0 8px rgba(0, 137, 123, 0.3);
43
+ --logo-accent: var(--todo);
44
+ --color-info: #0277bd;
45
+ --accent: #0097a7;
46
+ }
47
+
48
+ /* FOREST - Deep greens and emeralds */
49
+ [data-color-theme="forest"] {
50
+ --todo: #34d399;
51
+ --in-progress: #10b981;
52
+ --in-progress-rgb: 16, 185, 129;
53
+ --in-review: #22c55e;
54
+ --triage: #fbbf24;
55
+ --done: #6b7280;
56
+ --color-success: #22c55e;
57
+ --color-error: #ef4444;
58
+
59
+ --cta-bg: #16a34a;
60
+ --cta-border: #22c55e;
61
+ --cta-text: #fff;
62
+ --cta-bg-hover: #22c55e;
63
+ --cta-border-hover: #34d399;
64
+ --cta-glow: 0 0 8px rgba(34, 197, 94, 0.3);
65
+ --logo-accent: var(--todo);
66
+ --color-info: #29b6f6;
67
+ --accent: #16a34a;
68
+ }
69
+
70
+ [data-color-theme="forest"][data-theme="light"] {
71
+ --todo: #059669;
72
+ --in-progress: #047857;
73
+ --in-progress-rgb: 4, 120, 87;
74
+ --in-review: #16a34a;
75
+ --triage: #d97706;
76
+ --done: #4b5563;
77
+ --color-success: #16a34a;
78
+ --color-error: #dc2626;
79
+
80
+ --cta-bg: #15803d;
81
+ --cta-border: #16a34a;
82
+ --cta-text: #fff;
83
+ --cta-bg-hover: #16a34a;
84
+ --cta-border-hover: #22c55e;
85
+ --cta-glow: 0 0 8px rgba(22, 163, 74, 0.3);
86
+ --logo-accent: var(--todo);
87
+ --color-info: #0288d1;
88
+ --accent: #15803d;
89
+ }
90
+
91
+ /* SUNSET - Warm oranges and reds */
92
+ [data-color-theme="sunset"] {
93
+ --todo: #ffab00;
94
+ --in-progress: #ff6d00;
95
+ --in-progress-rgb: 255, 109, 0;
96
+ --in-review: #ff9100;
97
+ --triage: #ff3d00;
98
+ --done: #8d6e63;
99
+ --color-success: #ff9100;
100
+ --color-error: #ff1744;
101
+
102
+ --cta-bg: #e65100;
103
+ --cta-border: #ff6d00;
104
+ --cta-text: #fff;
105
+ --cta-bg-hover: #ff6d00;
106
+ --cta-border-hover: #ff9100;
107
+ --cta-glow: 0 0 8px rgba(255, 109, 0, 0.3);
108
+ --logo-accent: var(--todo);
109
+ --color-info: #2196f3;
110
+ --accent: #ff6d00;
111
+ }
112
+
113
+ [data-color-theme="sunset"][data-theme="light"] {
114
+ --todo: #e65100;
115
+ --in-progress: #ef6c00;
116
+ --in-progress-rgb: 239, 108, 0;
117
+ --in-review: #f57c00;
118
+ --triage: #d84315;
119
+ --done: #5d4037;
120
+ --color-success: #f57c00;
121
+ --color-error: #c62828;
122
+
123
+ --cta-bg: #bf360c;
124
+ --cta-border: #e65100;
125
+ --cta-text: #fff;
126
+ --cta-bg-hover: #e65100;
127
+ --cta-border-hover: #ff6d00;
128
+ --cta-glow: 0 0 8px rgba(230, 81, 0, 0.3);
129
+ --logo-accent: var(--todo);
130
+ --color-info: #1565c0;
131
+ --accent: #e65100;
132
+ }
133
+
134
+ /* BERRY - Purple/pink tones */
135
+ [data-color-theme="berry"] {
136
+ --todo: #e040fb;
137
+ --in-progress: #00e5ff;
138
+ --in-progress-rgb: 0, 229, 255;
139
+ --in-review: #b388ff;
140
+ --triage: #ff4081;
141
+ --done: #9575cd;
142
+ --color-success: #b388ff;
143
+ --color-error: #ff5252;
144
+
145
+ --cta-bg: #9c27b0;
146
+ --cta-border: #ab47bc;
147
+ --cta-text: #fff;
148
+ --cta-bg-hover: #ab47bc;
149
+ --cta-border-hover: #ce93d8;
150
+ --cta-glow: 0 0 8px rgba(179, 136, 255, 0.3);
151
+ --logo-accent: var(--todo);
152
+ --color-info: #7c4dff;
153
+ --accent: #9c27b0;
154
+ }
155
+
156
+ [data-color-theme="berry"][data-theme="light"] {
157
+ --todo: #7b1fa2;
158
+ --in-progress: #00bcd4;
159
+ --in-progress-rgb: 0, 188, 212;
160
+ --in-review: #9c27b0;
161
+ --triage: #c2185b;
162
+ --done: #673ab7;
163
+ --color-success: #9c27b0;
164
+ --color-error: #d32f2f;
165
+
166
+ --cta-bg: #7b1fa2;
167
+ --cta-border: #9c27b0;
168
+ --cta-text: #fff;
169
+ --cta-bg-hover: #9c27b0;
170
+ --cta-border-hover: #ab47bc;
171
+ --cta-glow: 0 0 8px rgba(156, 39, 176, 0.3);
172
+ --logo-accent: var(--todo);
173
+ --color-info: #6200ea;
174
+ --accent: #7b1fa2;
175
+ }
176
+
177
+ /* MONOCHROME - Pure grays */
178
+ [data-color-theme="monochrome"] {
179
+ --todo: #9e9e9e;
180
+ --in-progress: #bdbdbd;
181
+ --in-progress-rgb: 189, 189, 189;
182
+ --in-review: #e0e0e0;
183
+ --triage: #757575;
184
+ --done: #616161;
185
+ --color-success: #e0e0e0;
186
+ --color-error: #ff5252;
187
+
188
+ --cta-bg: #757575;
189
+ --cta-border: #9e9e9e;
190
+ --cta-text: #fff;
191
+ --cta-bg-hover: #9e9e9e;
192
+ --cta-border-hover: #bdbdbd;
193
+ --cta-glow: 0 0 8px rgba(158, 158, 158, 0.3);
194
+ --logo-accent: var(--todo);
195
+ --color-info: #64b5f6;
196
+ --accent: #b0b0b0;
197
+ }
198
+
199
+ [data-color-theme="monochrome"][data-theme="light"] {
200
+ --todo: #616161;
201
+ --in-progress: #757575;
202
+ --in-progress-rgb: 117, 117, 117;
203
+ --in-review: #9e9e9e;
204
+ --triage: #424242;
205
+ --done: #424242;
206
+ --color-success: #616161;
207
+ --color-error: #d32f2f;
208
+
209
+ --cta-bg: #616161;
210
+ --cta-border: #757575;
211
+ --cta-text: #fff;
212
+ --cta-bg-hover: #757575;
213
+ --cta-border-hover: #9e9e9e;
214
+ --cta-glow: 0 0 8px rgba(117, 117, 117, 0.3);
215
+ --logo-accent: var(--todo);
216
+ --color-info: #1976d2;
217
+ --accent: #616161;
218
+ }
219
+
220
+ /* SLATE - Cool blue-gray tones */
221
+ [data-color-theme="slate"] {
222
+ --todo: #7c8fa4;
223
+ --in-progress: #94a3b8;
224
+ --in-progress-rgb: 148, 163, 184;
225
+ --in-review: #cbd5e1;
226
+ --triage: #64748b;
227
+ --done: #64748b;
228
+ --color-success: #cbd5e1;
229
+ --color-error: #f87171;
230
+ --cta-bg: #64748b;
231
+ --cta-border: #7c8fa4;
232
+ --cta-text: #fff;
233
+ --cta-bg-hover: #7c8fa4;
234
+ --cta-border-hover: #94a3b8;
235
+ --cta-glow: 0 0 8px rgba(148, 163, 184, 0.3);
236
+ --logo-accent: var(--todo);
237
+ --color-info: #60a5fa;
238
+ --accent: #64748b;
239
+ }
240
+
241
+ [data-color-theme="slate"][data-theme="light"] {
242
+ --todo: #475569;
243
+ --in-progress: #64748b;
244
+ --in-progress-rgb: 100, 116, 139;
245
+ --in-review: #64748b;
246
+ --triage: #334155;
247
+ --done: #64748b;
248
+ --color-success: #475569;
249
+ --color-error: #dc2626;
250
+ --cta-bg: #475569;
251
+ --cta-border: #64748b;
252
+ --cta-text: #fff;
253
+ --cta-bg-hover: #64748b;
254
+ --cta-border-hover: #94a3b8;
255
+ --cta-glow: 0 0 8px rgba(71, 85, 105, 0.3);
256
+ --logo-accent: var(--todo);
257
+ --color-info: #3b82f6;
258
+ --accent: #475569;
259
+ }
260
+
261
+ /* ASH - Warm medium grays */
262
+ [data-color-theme="ash"] {
263
+ --todo: #9ca3af;
264
+ --in-progress: #a8a29e;
265
+ --in-progress-rgb: 168, 162, 158;
266
+ --in-review: #d4d4d8;
267
+ --triage: #78716c;
268
+ --done: #71717a;
269
+ --color-success: #d4d4d8;
270
+ --color-error: #fca5a5;
271
+ --cta-bg: #78716c;
272
+ --cta-border: #9ca3af;
273
+ --cta-text: #fff;
274
+ --cta-bg-hover: #9ca3af;
275
+ --cta-border-hover: #a8a29e;
276
+ --cta-glow: 0 0 8px rgba(168, 162, 158, 0.3);
277
+ --logo-accent: var(--todo);
278
+ --color-info: #93c5fd;
279
+ --accent: #a1887f;
280
+ }
281
+
282
+ [data-color-theme="ash"][data-theme="light"] {
283
+ --todo: #57534e;
284
+ --in-progress: #78716c;
285
+ --in-progress-rgb: 120, 113, 108;
286
+ --in-review: #78716c;
287
+ --triage: #44403c;
288
+ --done: #78716c;
289
+ --color-success: #57534e;
290
+ --color-error: #ef4444;
291
+ --cta-bg: #57534e;
292
+ --cta-border: #78716c;
293
+ --cta-text: #fff;
294
+ --cta-bg-hover: #78716c;
295
+ --cta-border-hover: #a8a29e;
296
+ --cta-glow: 0 0 8px rgba(87, 83, 78, 0.3);
297
+ --logo-accent: var(--todo);
298
+ --color-info: #3b82f6;
299
+ --accent: #6d5d53;
300
+ }
301
+
302
+ /* GRAPHITE - Dark graphite blacks */
303
+ [data-color-theme="graphite"] {
304
+ --todo: #a0a0a0;
305
+ --in-progress: #b8b8b8;
306
+ --in-progress-rgb: 184, 184, 184;
307
+ --in-review: #d0d0d0;
308
+ --triage: #808080;
309
+ --done: #686868;
310
+ --color-success: #d0d0d0;
311
+ --color-error: #ff6b6b;
312
+ --cta-bg: #808080;
313
+ --cta-border: #a0a0a0;
314
+ --cta-text: #fff;
315
+ --cta-bg-hover: #a0a0a0;
316
+ --cta-border-hover: #b8b8b8;
317
+ --cta-glow: 0 0 8px rgba(184, 184, 184, 0.3);
318
+ --logo-accent: var(--todo);
319
+ --color-info: #7ab8ff;
320
+ --accent: #a0a0a0;
321
+ }
322
+
323
+ [data-color-theme="graphite"][data-theme="light"] {
324
+ --todo: #404040;
325
+ --in-progress: #606060;
326
+ --in-progress-rgb: 96, 96, 96;
327
+ --in-review: #606060;
328
+ --triage: #2a2a2a;
329
+ --done: #606060;
330
+ --color-success: #404040;
331
+ --color-error: #dc2626;
332
+ --cta-bg: #404040;
333
+ --cta-border: #606060;
334
+ --cta-text: #fff;
335
+ --cta-bg-hover: #606060;
336
+ --cta-border-hover: #808080;
337
+ --cta-glow: 0 0 8px rgba(64, 64, 64, 0.3);
338
+ --logo-accent: var(--todo);
339
+ --color-info: #2563eb;
340
+ --accent: #606060;
341
+ }
342
+
343
+ /* EMBER - Dark graphite with orange accent */
344
+ [data-color-theme="ember"] {
345
+ --todo: #a0a0a0;
346
+ --in-progress: #b8b8b8;
347
+ --in-progress-rgb: 184, 184, 184;
348
+ --in-review: #d0d0d0;
349
+ --triage: #808080;
350
+ --done: #686868;
351
+ --color-success: #d0d0d0;
352
+ --color-error: #ff6b6b;
353
+ --cta-bg: #d4622a;
354
+ --cta-border: #e8773a;
355
+ --cta-text: #fff;
356
+ --cta-bg-hover: #e8773a;
357
+ --cta-border-hover: #f09050;
358
+ --cta-glow: 0 0 8px rgba(232, 119, 58, 0.3);
359
+ --logo-accent: #e8773a;
360
+ --color-info: #e8773a;
361
+ --accent: #e8773a;
362
+ }
363
+
364
+ [data-color-theme="ember"][data-theme="light"] {
365
+ --todo: #404040;
366
+ --in-progress: #606060;
367
+ --in-progress-rgb: 96, 96, 96;
368
+ --in-review: #606060;
369
+ --triage: #2a2a2a;
370
+ --done: #606060;
371
+ --color-success: #404040;
372
+ --color-error: #dc2626;
373
+ --cta-bg: #c05820;
374
+ --cta-border: #d4622a;
375
+ --cta-text: #fff;
376
+ --cta-bg-hover: #d4622a;
377
+ --cta-border-hover: #e07030;
378
+ --cta-glow: 0 0 8px rgba(192, 88, 32, 0.3);
379
+ --logo-accent: #d4622a;
380
+ --color-info: #c05820;
381
+ --accent: #d4622a;
382
+ }
383
+
384
+ /* SILVER - Light silvery grays */
385
+ [data-color-theme="silver"] {
386
+ --todo: #b0b0b0;
387
+ --in-progress: #c0c0c0;
388
+ --in-progress-rgb: 192, 192, 192;
389
+ --in-review: #e8e8e8;
390
+ --triage: #909090;
391
+ --done: #a0a0a0;
392
+ --color-success: #e8e8e8;
393
+ --color-error: #ff8080;
394
+ --cta-bg: #909090;
395
+ --cta-border: #b0b0b0;
396
+ --cta-text: #fff;
397
+ --cta-bg-hover: #b0b0b0;
398
+ --cta-border-hover: #c0c0c0;
399
+ --cta-glow: 0 0 8px rgba(192, 192, 192, 0.3);
400
+ --logo-accent: var(--todo);
401
+ --color-info: #90c0ff;
402
+ --accent: #b8b8b8;
403
+ }
404
+
405
+ [data-color-theme="silver"][data-theme="light"] {
406
+ --todo: #525252;
407
+ --in-progress: #737373;
408
+ --in-progress-rgb: 115, 115, 115;
409
+ --in-review: #737373;
410
+ --triage: #404040;
411
+ --done: #737373;
412
+ --color-success: #525252;
413
+ --color-error: #dc2626;
414
+ --cta-bg: #525252;
415
+ --cta-border: #737373;
416
+ --cta-text: #fff;
417
+ --cta-bg-hover: #737373;
418
+ --cta-border-hover: #909090;
419
+ --cta-glow: 0 0 8px rgba(82, 82, 82, 0.3);
420
+ --logo-accent: var(--todo);
421
+ --color-info: #2563eb;
422
+ --accent: #707070;
423
+ }
424
+
425
+ /* ZEN - Minimal, clean monochrome with subtle accents */
426
+ [data-color-theme="zen"] {
427
+ --bg: #0c0c0c;
428
+ --surface: #111111;
429
+ --card: #1a1a1a;
430
+ --card-hover: #222222;
431
+ --border: #2a2a2a;
432
+ --text: #e0e0e0;
433
+ --text-muted: #808080;
434
+ --text-dim: #555555;
435
+
436
+ --todo: #6b7b8c;
437
+ --in-progress: #7a8590;
438
+ --in-progress-rgb: 122, 133, 144;
439
+ --in-review: #6b8c7a;
440
+ --triage: #8c7b6b;
441
+ --done: #666666;
442
+ --color-success: #6b8c7a;
443
+ --color-error: #8c6b6b;
444
+
445
+ /* CTA tokens — muted green to match zen restraint */
446
+ --cta-bg: #5a7a6a;
447
+ --cta-border: #6b8c7a;
448
+ --cta-text: #fff;
449
+ --cta-bg-hover: #6b8c7a;
450
+ --cta-border-hover: #7a9a8a;
451
+ --cta-glow: none;
452
+ --logo-accent: var(--todo);
453
+ --color-info: #5c7c8a;
454
+
455
+ /* Minimal glow effects */
456
+ --shadow-glow: none;
457
+ --glow-success: none;
458
+ --glow-warning: none;
459
+ --glow-danger: none;
460
+ --focus-ring: 0 0 0 1px var(--border);
461
+ --accent: #7da88e;
462
+ }
463
+
464
+ [data-color-theme="zen"][data-theme="light"] {
465
+ --bg: #f5f5f5;
466
+ --surface: #fafafa;
467
+ --card: #ffffff;
468
+ --card-hover: #f0f0f0;
469
+ --border: #e0e0e0;
470
+ --text: #333333;
471
+ --text-muted: #777777;
472
+ --text-dim: #999999;
473
+
474
+ --todo: #5a6a7a;
475
+ --in-progress: #6a757f;
476
+ --in-progress-rgb: 106, 117, 127;
477
+ --in-review: #5a7a6a;
478
+ --triage: #7a6a5a;
479
+ --done: #555555;
480
+ --color-success: #5a7a6a;
481
+ --color-error: #7a5a5a;
482
+
483
+ /* CTA tokens — muted green to match zen restraint */
484
+ --cta-bg: #4a6a5a;
485
+ --cta-border: #5a7a6a;
486
+ --cta-text: #fff;
487
+ --cta-bg-hover: #5a7a6a;
488
+ --cta-border-hover: #6b8c7a;
489
+ --cta-glow: none;
490
+ --logo-accent: var(--todo);
491
+ --color-info: #4a6a7a;
492
+
493
+ /* Minimal glow effects */
494
+ --shadow-glow: none;
495
+ --glow-success: none;
496
+ --glow-warning: none;
497
+ --glow-danger: none;
498
+ --focus-ring: 0 0 0 1px var(--border);
499
+ --accent: #4a6b56;
500
+ }
501
+
502
+ /* HIGH CONTRAST - Extreme contrast for accessibility */
503
+ [data-color-theme="high-contrast"] {
504
+ --bg: #000000;
505
+ --surface: #0a0a0a;
506
+ --card: #141414;
507
+ --card-hover: #1f1f1f;
508
+ --border: #ffffff;
509
+ --text: #ffffff;
510
+ --text-muted: #cccccc;
511
+ --text-dim: #999999;
512
+
513
+ --todo: #00ffff;
514
+ --in-progress: #ffff00;
515
+ --in-progress-rgb: 255, 255, 0;
516
+ --in-review: #00ff00;
517
+ --triage: #ffff00;
518
+ --done: #ffffff;
519
+ --color-success: #00ff00;
520
+ --color-error: #ff0000;
521
+
522
+ --cta-bg: #00cc00;
523
+ --cta-border: #00ff00;
524
+ --cta-text: #000000;
525
+ --cta-bg-hover: #00ff00;
526
+ --cta-border-hover: #33ff33;
527
+ --cta-glow: 0 0 8px rgba(0, 255, 0, 0.4);
528
+ --logo-accent: var(--todo);
529
+ --color-info: #00ccff;
530
+ --accent: #00ff00;
531
+ }
532
+
533
+ [data-color-theme="high-contrast"][data-theme="light"] {
534
+ --bg: #ffffff;
535
+ --surface: #ffffff;
536
+ --card: #ffffff;
537
+ --card-hover: #f0f0f0;
538
+ --border: #000000;
539
+ --text: #000000;
540
+ --text-muted: #333333;
541
+ --text-dim: #666666;
542
+
543
+ --todo: #0066ff;
544
+ --in-progress: #0066cc;
545
+ --in-progress-rgb: 0, 102, 204;
546
+ --in-review: #009900;
547
+ --triage: #cc6600;
548
+ --done: #000000;
549
+ --color-success: #009900;
550
+ --color-error: #cc0000;
551
+
552
+ --cta-bg: #006600;
553
+ --cta-border: #009900;
554
+ --cta-text: #ffffff;
555
+ --cta-bg-hover: #009900;
556
+ --cta-border-hover: #00cc00;
557
+ --cta-glow: 0 0 8px rgba(0, 153, 0, 0.3);
558
+ --logo-accent: var(--todo);
559
+ --color-info: #0055cc;
560
+ --accent: #00cc00;
561
+ }
562
+
563
+ /* INDUSTRIAL - Technical engineering spec sheet aesthetic */
564
+ [data-color-theme="industrial"] {
565
+ --bg: #0c0c0c;
566
+ --surface: #141414;
567
+ --card: #1a1a1a;
568
+ --card-hover: #222222;
569
+ --border: #333333;
570
+ --text: #e8e8e8;
571
+ --text-muted: #888888;
572
+ --text-dim: #555555;
573
+
574
+ --todo: #ff6b00;
575
+ --in-progress: #ff8c00;
576
+ --in-progress-rgb: 255, 140, 0;
577
+ --in-review: #00bcd4;
578
+ --triage: #ff5722;
579
+ --done: #666666;
580
+ --color-success: #00bcd4;
581
+ --color-error: #ff3d00;
582
+
583
+ --cta-bg: #e65100;
584
+ --cta-border: #ff6b00;
585
+ --cta-text: #fff;
586
+ --cta-bg-hover: #ff6b00;
587
+ --cta-border-hover: #ff8c00;
588
+ --cta-glow: 0 0 8px rgba(255, 107, 0, 0.3);
589
+ --logo-accent: var(--todo);
590
+ --color-info: #42a5f5;
591
+ --accent: #ff6d00;
592
+ }
593
+
594
+ [data-color-theme="industrial"][data-theme="light"] {
595
+ --bg: #f0f0f0;
596
+ --surface: #fafafa;
597
+ --card: #ffffff;
598
+ --card-hover: #f5f5f5;
599
+ --border: #d0d0d0;
600
+ --text: #1a1a1a;
601
+ --text-muted: #666666;
602
+ --text-dim: #999999;
603
+
604
+ --todo: #e65100;
605
+ --in-progress: #ef6c00;
606
+ --in-progress-rgb: 239, 108, 0;
607
+ --in-review: #0097a7;
608
+ --triage: #d84315;
609
+ --done: #555555;
610
+ --color-success: #0097a7;
611
+ --color-error: #d84315;
612
+
613
+ --cta-bg: #bf360c;
614
+ --cta-border: #e65100;
615
+ --cta-text: #fff;
616
+ --cta-bg-hover: #e65100;
617
+ --cta-border-hover: #ff6b00;
618
+ --cta-glow: 0 0 8px rgba(230, 81, 0, 0.3);
619
+ --logo-accent: var(--todo);
620
+ --color-info: #1565c0;
621
+ --accent: #bf360c;
622
+ }
623
+
624
+ /* SOLARIZED - Classic solarized palette */
625
+ [data-color-theme="solarized"] {
626
+ --bg: #002b36;
627
+ --surface: #073642;
628
+ --card: #083c4a;
629
+ --card-hover: #094c5e;
630
+ --border: #586e75;
631
+ --text: #839496;
632
+ --text-muted: #657b83;
633
+ --text-dim: #586e75;
634
+
635
+ --todo: #268bd2;
636
+ --in-progress: #2aa198;
637
+ --in-progress-rgb: 42, 161, 152;
638
+ --in-review: #859900;
639
+ --triage: #b58900;
640
+ --done: #93a1a1;
641
+ --color-success: #859900;
642
+ --color-error: #dc322f;
643
+
644
+ --cta-bg: #719e00;
645
+ --cta-border: #859900;
646
+ --cta-text: #002b36;
647
+ --cta-bg-hover: #859900;
648
+ --cta-border-hover: #a4b800;
649
+ --cta-glow: 0 0 8px rgba(133, 153, 0, 0.3);
650
+ --logo-accent: var(--todo);
651
+ --color-info: #2aa198;
652
+ --accent: #859900;
653
+ }
654
+
655
+ [data-color-theme="solarized"][data-theme="light"] {
656
+ --bg: #fdf6e3;
657
+ --surface: #eee8d5;
658
+ --card: #f5efdc;
659
+ --card-hover: #e8e2d0;
660
+ --border: #93a1a1;
661
+ --text: #586e75;
662
+ --text-muted: #657b83;
663
+ --text-dim: #839496;
664
+
665
+ --todo: #268bd2;
666
+ --in-progress: #2aa198;
667
+ --in-progress-rgb: 42, 161, 152;
668
+ --in-review: #859900;
669
+ --triage: #b58900;
670
+ --done: #93a1a1;
671
+ --color-success: #859900;
672
+ --color-error: #dc322f;
673
+
674
+ --cta-bg: #6a8800;
675
+ --cta-border: #719e00;
676
+ --cta-text: #fdf6e3;
677
+ --cta-bg-hover: #719e00;
678
+ --cta-border-hover: #859900;
679
+ --cta-glow: 0 0 8px rgba(133, 153, 0, 0.3);
680
+ --logo-accent: var(--todo);
681
+ --color-info: #2aa198;
682
+ --accent: #637b00;
683
+ }
684
+
685
+ /* FACTORY - Industrial Mission Control Theme
686
+ A comprehensive design theme that overrides fonts, spacing, and
687
+ component styling for an industrial sci-fi aesthetic.
688
+ */
689
+ [data-color-theme="factory"] {
690
+ --bg: #0a0a0a;
691
+ --surface: #111111;
692
+ --card: #1a1a1a;
693
+ --card-hover: #222222;
694
+ --border: #333333;
695
+
696
+ --text: #e5e5e5;
697
+ --text-muted: #888888;
698
+ --text-dim: #555555;
699
+
700
+ --todo: #f59e0b;
701
+ --in-progress: #06b6d4;
702
+ --in-progress-rgb: 6, 182, 212;
703
+ --in-review: #22c55e;
704
+ --triage: #ef4444;
705
+ --done: #6b7280;
706
+
707
+ --color-success: #22c55e;
708
+ --color-error: #ef4444;
709
+ --color-muted: #6b7280;
710
+
711
+ --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
712
+ --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
713
+
714
+ --space-xs: 2px;
715
+ --space-sm: 4px;
716
+ --space-md: 8px;
717
+ --space-lg: 12px;
718
+ --space-xl: 16px;
719
+ --space-2xl: 24px;
720
+
721
+ --radius-sm: 2px;
722
+ --radius-md: 4px;
723
+ --radius-lg: 6px;
724
+ --radius-xl: 8px;
725
+ --radius: var(--radius-md);
726
+
727
+ --btn-padding: 6px 12px;
728
+ --btn-border-width: 2px;
729
+ --card-padding: 8px 10px;
730
+ --modal-padding: var(--space-md) var(--space-lg);
731
+ --header-padding: var(--space-sm) var(--space-lg);
732
+ --column-gap: var(--space-sm);
733
+ --board-padding: var(--space-md) var(--space-lg);
734
+
735
+ --shadow-sm: 0 1px 1px rgba(0, 0, 0, 0.5);
736
+ --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.5);
737
+ --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.6);
738
+ --shadow-glow: 0 0 6px rgba(245, 158, 11, 0.4);
739
+ --glow-success: 0 0 8px rgba(34, 197, 94, 0.35);
740
+ --glow-warning: 0 0 8px rgba(245, 158, 11, 0.4);
741
+ --glow-danger: 0 0 8px rgba(239, 68, 68, 0.35);
742
+ --focus-ring: 0 0 0 2px rgba(245, 158, 11, 0.18);
743
+ --focus-ring-strong: 0 0 0 2px rgba(245, 158, 11, 0.3);
744
+ --shadow: var(--shadow-lg);
745
+
746
+ --transition-instant: 0.05s ease;
747
+ --transition-fast: 0.1s ease;
748
+ --transition-normal: 0.15s ease;
749
+ --transition-slow: 0.2s ease;
750
+
751
+ --cta-bg: #d97706;
752
+ --cta-border: #f59e0b;
753
+ --cta-text: #0a0a0a;
754
+ --cta-bg-hover: #f59e0b;
755
+ --cta-border-hover: #fbbf24;
756
+ --cta-glow: 0 0 8px rgba(245, 158, 11, 0.4);
757
+ --logo-accent: var(--todo);
758
+ --color-info: #2563eb;
759
+ --accent: #d97706;
760
+ }
761
+
762
+ [data-color-theme="factory"][data-theme="light"] {
763
+ --bg: #f5f5f5;
764
+ --surface: #ffffff;
765
+ --card: #fafafa;
766
+ --card-hover: #f0f0f0;
767
+ --border: #d4d4d4;
768
+
769
+ --text: #1a1a1a;
770
+ --text-muted: #666666;
771
+ --text-dim: #999999;
772
+
773
+ --todo: #d97706;
774
+ --in-progress: #0891b2;
775
+ --in-progress-rgb: 8, 145, 178;
776
+ --in-review: #16a34a;
777
+ --triage: #dc2626;
778
+ --done: #4b5563;
779
+
780
+ --color-success: #16a34a;
781
+ --color-error: #dc2626;
782
+ --color-muted: #6b7280;
783
+
784
+ --shadow-sm: 0 1px 1px rgba(0, 0, 0, 0.1);
785
+ --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
786
+ --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);
787
+ --shadow-glow: 0 0 6px rgba(217, 119, 6, 0.3);
788
+ --glow-success: 0 0 8px rgba(22, 163, 74, 0.25);
789
+ --glow-warning: 0 0 8px rgba(217, 119, 6, 0.3);
790
+ --glow-danger: 0 0 8px rgba(220, 38, 38, 0.22);
791
+ --focus-ring: 0 0 0 2px rgba(217, 119, 6, 0.14);
792
+ --focus-ring-strong: 0 0 0 2px rgba(217, 119, 6, 0.24);
793
+ --shadow: var(--shadow-lg);
794
+
795
+ --cta-bg: #b45309;
796
+ --cta-border: #d97706;
797
+ --cta-text: #fff;
798
+ --cta-bg-hover: #d97706;
799
+ --cta-border-hover: #f59e0b;
800
+ --cta-glow: 0 0 8px rgba(217, 119, 6, 0.3);
801
+ --logo-accent: var(--todo);
802
+ --color-info: #1d4ed8;
803
+ --accent: #b45309;
804
+ }
805
+
806
+ [data-color-theme="factory"] .card.agent-active {
807
+ border-color: var(--todo);
808
+ box-shadow:
809
+ 0 0 6px rgba(245, 158, 11, 0.5),
810
+ 0 0 12px rgba(245, 158, 11, 0.2);
811
+ animation: agent-glow-factory 2s ease-in-out infinite;
812
+ }
813
+
814
+ @keyframes agent-glow-factory {
815
+ 0%,
816
+ 100% {
817
+ box-shadow:
818
+ 0 0 6px rgba(245, 158, 11, 0.5),
819
+ 0 0 12px rgba(245, 158, 11, 0.2);
820
+ }
821
+ 50% {
822
+ box-shadow:
823
+ 0 0 10px rgba(245, 158, 11, 0.7),
824
+ 0 0 20px rgba(245, 158, 11, 0.4);
825
+ }
826
+ }
827
+
828
+ [data-color-theme="factory"][data-theme="light"] .card.agent-active {
829
+ box-shadow:
830
+ 0 0 6px rgba(217, 119, 6, 0.4),
831
+ 0 0 12px rgba(217, 119, 6, 0.15);
832
+ animation: agent-glow-factory-light 2s ease-in-out infinite;
833
+ }
834
+
835
+ @keyframes agent-glow-factory-light {
836
+ 0%,
837
+ 100% {
838
+ box-shadow:
839
+ 0 0 6px rgba(217, 119, 6, 0.4),
840
+ 0 0 12px rgba(217, 119, 6, 0.15);
841
+ }
842
+ 50% {
843
+ box-shadow:
844
+ 0 0 10px rgba(217, 119, 6, 0.6),
845
+ 0 0 20px rgba(217, 119, 6, 0.3);
846
+ }
847
+ }
848
+
849
+ [data-color-theme="factory"] .btn {
850
+ text-transform: uppercase;
851
+ letter-spacing: 0.05em;
852
+ font-weight: 600;
853
+ }
854
+
855
+ [data-color-theme="factory"] .btn-primary,
856
+ [data-color-theme="factory"] .btn-task-create {
857
+ background: transparent;
858
+ border-color: var(--todo);
859
+ color: var(--todo);
860
+ box-shadow: none;
861
+ }
862
+
863
+ [data-color-theme="factory"] .btn-primary:hover,
864
+ [data-color-theme="factory"] .btn-task-create:hover {
865
+ background: var(--todo);
866
+ color: var(--bg);
867
+ box-shadow: var(--shadow-glow);
868
+ }
869
+
870
+ [data-color-theme="factory"] .card,
871
+ [data-color-theme="factory"] .column {
872
+ border-width: 2px;
873
+ }
874
+
875
+ [data-color-theme="factory"] .column-header h2 {
876
+ text-transform: uppercase;
877
+ letter-spacing: 0.1em;
878
+ font-size: 12px;
879
+ }
880
+
881
+ [data-color-theme="factory"] .column-count,
882
+ [data-color-theme="factory"] .card-id {
883
+ font-family: var(--font-mono);
884
+ font-weight: 700;
885
+ }
886
+
887
+ /* AYU - Popular code editor theme with dark and light variants */
888
+ [data-color-theme="ayu"] {
889
+ --bg: #0f1419;
890
+ --surface: #131d27;
891
+ --card: #1a2634;
892
+ --card-hover: #232d3b;
893
+ --border: #304357;
894
+ --text: #bfbdb6;
895
+ --text-muted: #565b66;
896
+ --text-dim: #4d5666;
897
+
898
+ --todo: #39bae6;
899
+ --in-progress: #ffb454;
900
+ --in-progress-rgb: 255, 180, 84;
901
+ --in-review: #7ee787;
902
+ --triage: #f2966b;
903
+ --done: #6c7986;
904
+ --color-success: #7ee787;
905
+ --color-error: #f07178;
906
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
907
+ --shadow: var(--shadow-lg);
908
+
909
+ --cta-bg: #5cb85c;
910
+ --cta-border: #7ee787;
911
+ --cta-text: #0f1419;
912
+ --cta-bg-hover: #7ee787;
913
+ --cta-border-hover: #9af09a;
914
+ --cta-glow: 0 0 8px rgba(126, 231, 135, 0.3);
915
+ --logo-accent: var(--todo);
916
+ --color-info: #39bae6;
917
+ --accent: #5cb85c;
918
+ }
919
+
920
+ [data-color-theme="ayu"][data-theme="light"] {
921
+ --bg: #fafafa;
922
+ --surface: #f3f3f3;
923
+ --card: #ffffff;
924
+ --card-hover: #f0f0f0;
925
+ --border: #e0e0e0;
926
+ --text: #5c6166;
927
+ --text-muted: #8a9199;
928
+ --text-dim: #a0a0a0;
929
+
930
+ --todo: #007acc;
931
+ --in-progress: #ff8f40;
932
+ --in-progress-rgb: 255, 143, 64;
933
+ --in-review: #86b300;
934
+ --triage: #fa8d3e;
935
+ --done: #8a9199;
936
+ --color-success: #86b300;
937
+ --color-error: #f07178;
938
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.15);
939
+ --shadow: var(--shadow-lg);
940
+
941
+ --cta-bg: #6d9a00;
942
+ --cta-border: #86b300;
943
+ --cta-text: #fff;
944
+ --cta-bg-hover: #86b300;
945
+ --cta-border-hover: #9cc800;
946
+ --cta-glow: 0 0 8px rgba(134, 179, 0, 0.3);
947
+ --logo-accent: var(--todo);
948
+ --color-info: #007acc;
949
+ --accent: #3a8a3a;
950
+ }
951
+
952
+ /* ONE DARK - Atom's iconic dark theme */
953
+ [data-color-theme="one-dark"] {
954
+ --bg: #282c34;
955
+ --surface: #21252b;
956
+ --card: #2c313a;
957
+ --card-hover: #353b45;
958
+ --border: #3e4451;
959
+ --text: #abb2bf;
960
+ --text-muted: #636d83;
961
+ --text-dim: #5c6370;
962
+
963
+ --todo: #61afef;
964
+ --in-progress: #00e5ff;
965
+ --in-progress-rgb: 0, 229, 255;
966
+ --in-review: #98c379;
967
+ --triage: #e5c07b;
968
+ --done: #828997;
969
+ --color-success: #98c379;
970
+ --color-error: #e06c75;
971
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
972
+ --shadow: var(--shadow-lg);
973
+
974
+ --cta-bg: #7ec77a;
975
+ --cta-border: #98c379;
976
+ --cta-text: #282c34;
977
+ --cta-bg-hover: #98c379;
978
+ --cta-border-hover: #b5d4a8;
979
+ --cta-glow: 0 0 8px rgba(152, 195, 121, 0.3);
980
+ --logo-accent: var(--todo);
981
+ --color-info: #61afef;
982
+ --accent: #7ec77a;
983
+ }
984
+
985
+ /* ONE DARK - Light variant */
986
+ [data-color-theme="one-dark"][data-theme="light"] {
987
+ --bg: #fafafa;
988
+ --surface: #f0f0f0;
989
+ --card: #ffffff;
990
+ --card-hover: #f5f5f5;
991
+ --border: #d4d4d4;
992
+ --text: #383a42;
993
+ --text-muted: #636d83;
994
+ --text-dim: #9da5b4;
995
+
996
+ --todo: #4078f2;
997
+ --in-progress: #0184bc;
998
+ --in-progress-rgb: 1, 132, 188;
999
+ --in-review: #50a14f;
1000
+ --triage: #c18401;
1001
+ --done: #9da5b4;
1002
+ --color-success: #50a14f;
1003
+ --color-error: #e45649;
1004
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1005
+ --shadow: var(--shadow-lg);
1006
+
1007
+ --cta-bg: #3d8c3b;
1008
+ --cta-border: #50a14f;
1009
+ --cta-text: #fff;
1010
+ --cta-bg-hover: #50a14f;
1011
+ --cta-border-hover: #66b865;
1012
+ --cta-glow: 0 0 8px rgba(80, 161, 79, 0.3);
1013
+ --logo-accent: var(--todo);
1014
+ --color-info: #4078f2;
1015
+ --accent: #4a9e46;
1016
+ }
1017
+
1018
+ /* NORD - Arctic blue palette inspired by the Nord color scheme */
1019
+ [data-color-theme="nord"] {
1020
+ --bg: #2e3440;
1021
+ --surface: #3b4252;
1022
+ --card: #434c5e;
1023
+ --card-hover: #4c566a;
1024
+ --border: #4c566a;
1025
+ --text: #eceff4;
1026
+ --text-muted: #d8dee9;
1027
+ --text-dim: #81a1c1;
1028
+
1029
+ --todo: #88c0d0;
1030
+ --in-progress: #81a1c1;
1031
+ --in-progress-rgb: 129, 161, 193;
1032
+ --in-review: #a3be8c;
1033
+ --triage: #ebcb8b;
1034
+ --done: #7b88a1;
1035
+ --color-success: #a3be8c;
1036
+ --color-error: #bf616a;
1037
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.4);
1038
+ --shadow: var(--shadow-lg);
1039
+
1040
+ --cta-bg: #8fa879;
1041
+ --cta-border: #a3be8c;
1042
+ --cta-text: #2e3440;
1043
+ --cta-bg-hover: #a3be8c;
1044
+ --cta-border-hover: #b8cfab;
1045
+ --cta-glow: 0 0 8px rgba(163, 190, 140, 0.3);
1046
+ --logo-accent: var(--todo);
1047
+ --color-info: #81a1c1;
1048
+ --accent: #88c0d0;
1049
+ }
1050
+
1051
+ [data-color-theme="nord"][data-theme="light"] {
1052
+ --bg: #eceff4;
1053
+ --surface: #e5e9f0;
1054
+ --card: #d8dee9;
1055
+ --card-hover: #cdd3e0;
1056
+ --border: #b0b8c9;
1057
+ --text: #2e3440;
1058
+ --text-muted: #4c566a;
1059
+ --text-dim: #7b88a1;
1060
+
1061
+ --todo: #5e81ac;
1062
+ --in-progress: #5e81ac;
1063
+ --in-progress-rgb: 94, 129, 172;
1064
+ --in-review: #7ca373;
1065
+ --triage: #c98530;
1066
+ --done: #4c566a;
1067
+ --color-success: #7ca373;
1068
+ --color-error: #b54a52;
1069
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1070
+ --shadow: var(--shadow-lg);
1071
+
1072
+ --cta-bg: #6a8f63;
1073
+ --cta-border: #7ca373;
1074
+ --cta-text: #fff;
1075
+ --cta-bg-hover: #7ca373;
1076
+ --cta-border-hover: #8fb588;
1077
+ --cta-glow: 0 0 8px rgba(124, 163, 115, 0.3);
1078
+ --logo-accent: var(--todo);
1079
+ --color-info: #5e81ac;
1080
+ --accent: #5e81ac;
1081
+ }
1082
+
1083
+ /* DRACULA - Popular dark theme with deep purples and vivid accents */
1084
+ [data-color-theme="dracula"] {
1085
+ --bg: #282a36;
1086
+ --surface: #21222c;
1087
+ --card: #2c2e3a;
1088
+ --card-hover: #363848;
1089
+ --border: #44475a;
1090
+ --text: #f8f8f2;
1091
+ --text-muted: #bd93f9;
1092
+ --text-dim: #6272a4;
1093
+
1094
+ --todo: #8be9fd;
1095
+ --in-progress: #00e5ff;
1096
+ --in-progress-rgb: 0, 229, 255;
1097
+ --in-review: #50fa7b;
1098
+ --triage: #f1fa8c;
1099
+ --done: #6272a4;
1100
+ --color-success: #50fa7b;
1101
+ --color-error: #ff5555;
1102
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1103
+ --shadow: var(--shadow-lg);
1104
+
1105
+ --cta-bg: #40d870;
1106
+ --cta-border: #50fa7b;
1107
+ --cta-text: #282a36;
1108
+ --cta-bg-hover: #50fa7b;
1109
+ --cta-border-hover: #70ff95;
1110
+ --cta-glow: 0 0 8px rgba(80, 250, 123, 0.3);
1111
+ --logo-accent: var(--todo);
1112
+ --color-info: #8be9fd;
1113
+ --accent: #bd93f9;
1114
+ }
1115
+
1116
+ [data-color-theme="dracula"][data-theme="light"] {
1117
+ --bg: #f8f8f2;
1118
+ --surface: #efeefa;
1119
+ --card: #e8e8f4;
1120
+ --card-hover: #dddde8;
1121
+ --border: #b0b0c0;
1122
+ --text: #282a36;
1123
+ --text-muted: #5a5a72;
1124
+ --text-dim: #8888a0;
1125
+
1126
+ --todo: #0097a7;
1127
+ --in-progress: #00bcd4;
1128
+ --in-progress-rgb: 0, 188, 212;
1129
+ --in-review: #2e8b57;
1130
+ --triage: #c98600;
1131
+ --done: #5a5a72;
1132
+ --color-success: #2e8b57;
1133
+ --color-error: #cc3333;
1134
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1135
+ --shadow: var(--shadow-lg);
1136
+
1137
+ --cta-bg: #267a4d;
1138
+ --cta-border: #2e8b57;
1139
+ --cta-text: #fff;
1140
+ --cta-bg-hover: #2e8b57;
1141
+ --cta-border-hover: #3aa870;
1142
+ --cta-glow: 0 0 8px rgba(46, 139, 87, 0.3);
1143
+ --logo-accent: var(--todo);
1144
+ --color-info: #00838f;
1145
+ --accent: #8662c7;
1146
+ }
1147
+
1148
+ /* GRUVBOX - Warm, retro earth-tone palette */
1149
+ [data-color-theme="gruvbox"] {
1150
+ --bg: #282828;
1151
+ --surface: #1d2021;
1152
+ --card: #32302f;
1153
+ --card-hover: #3c3836;
1154
+ --border: #504945;
1155
+ --text: #ebdbb2;
1156
+ --text-muted: #bdae93;
1157
+ --text-dim: #665c54;
1158
+
1159
+ --todo: #83a598;
1160
+ --in-progress: #d3869b;
1161
+ --in-progress-rgb: 211, 134, 155;
1162
+ --in-review: #b8bb26;
1163
+ --triage: #fabd2f;
1164
+ --done: #928374;
1165
+ --color-success: #b8bb26;
1166
+ --color-error: #fb4934;
1167
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1168
+ --shadow: var(--shadow-lg);
1169
+
1170
+ --cta-bg: #a0a325;
1171
+ --cta-border: #b8bb26;
1172
+ --cta-text: #282828;
1173
+ --cta-bg-hover: #b8bb26;
1174
+ --cta-border-hover: #d0d340;
1175
+ --cta-glow: 0 0 8px rgba(184, 187, 38, 0.3);
1176
+ --logo-accent: var(--todo);
1177
+ --color-info: #83a598;
1178
+ --accent: #d4a017;
1179
+ }
1180
+
1181
+ [data-color-theme="gruvbox"][data-theme="light"] {
1182
+ --bg: #fbf1c7;
1183
+ --surface: #f2e5bc;
1184
+ --card: #ebdbb2;
1185
+ --card-hover: #e0d0a0;
1186
+ --border: #bdae93;
1187
+ --text: #3c3836;
1188
+ --text-muted: #504945;
1189
+ --text-dim: #7c7066;
1190
+
1191
+ --todo: #076678;
1192
+ --in-progress: #8f3f71;
1193
+ --in-progress-rgb: 143, 63, 113;
1194
+ --in-review: #427b58;
1195
+ --triage: #b57614;
1196
+ --done: #504945;
1197
+ --color-success: #427b58;
1198
+ --color-error: #9d0006;
1199
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1200
+ --shadow: var(--shadow-lg);
1201
+
1202
+ --cta-bg: #3a6a4e;
1203
+ --cta-border: #427b58;
1204
+ --cta-text: #fbf1c7;
1205
+ --cta-bg-hover: #427b58;
1206
+ --cta-border-hover: #528c68;
1207
+ --cta-glow: 0 0 8px rgba(66, 123, 88, 0.3);
1208
+ --logo-accent: var(--todo);
1209
+ --color-info: #076678;
1210
+ --accent: #a08010;
1211
+ }
1212
+
1213
+ /* TOKYO NIGHT - Deep blues and soft purples inspired by the VS Code theme */
1214
+ [data-color-theme="tokyo-night"] {
1215
+ --bg: #1a1b26;
1216
+ --surface: #16161e;
1217
+ --card: #24283b;
1218
+ --card-hover: #2e324e;
1219
+ --border: #3b4261;
1220
+ --text: #c0caf5;
1221
+ --text-muted: #a9b1d6;
1222
+ --text-dim: #565f89;
1223
+
1224
+ --todo: #7aa2f7;
1225
+ --in-progress: #00e5ff;
1226
+ --in-progress-rgb: 0, 229, 255;
1227
+ --in-review: #9ece6a;
1228
+ --triage: #e0af68;
1229
+ --done: #565f89;
1230
+ --color-success: #9ece6a;
1231
+ --color-error: #f7768e;
1232
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1233
+ --shadow: var(--shadow-lg);
1234
+
1235
+ --cta-bg: #8ab855;
1236
+ --cta-border: #9ece6a;
1237
+ --cta-text: #1a1b26;
1238
+ --cta-bg-hover: #9ece6a;
1239
+ --cta-border-hover: #b8e080;
1240
+ --cta-glow: 0 0 8px rgba(158, 206, 106, 0.3);
1241
+ --logo-accent: var(--todo);
1242
+ --color-info: #7aa2f7;
1243
+ --accent: #7aa2f7;
1244
+ }
1245
+
1246
+ [data-color-theme="tokyo-night"][data-theme="light"] {
1247
+ --bg: #e1e2e7;
1248
+ --surface: #d5d6db;
1249
+ --card: #e1e2e7;
1250
+ --card-hover: #d0d1d8;
1251
+ --border: #b4b5bc;
1252
+ --text: #1a1b26;
1253
+ --text-muted: #414868;
1254
+ --text-dim: #68709a;
1255
+
1256
+ --todo: #3b5ea5;
1257
+ --in-progress: #00bcd4;
1258
+ --in-progress-rgb: 0, 188, 212;
1259
+ --in-review: #48703e;
1260
+ --triage: #9a6b20;
1261
+ --done: #414868;
1262
+ --color-success: #48703e;
1263
+ --color-error: #c53b53;
1264
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1265
+ --shadow: var(--shadow-lg);
1266
+
1267
+ --cta-bg: #3d6035;
1268
+ --cta-border: #48703e;
1269
+ --cta-text: #fff;
1270
+ --cta-bg-hover: #48703e;
1271
+ --cta-border-hover: #5a8550;
1272
+ --cta-glow: 0 0 8px rgba(72, 112, 62, 0.3);
1273
+ --logo-accent: var(--todo);
1274
+ --color-info: #3b5ea5;
1275
+ --accent: #5b7ec7;
1276
+ }
1277
+
1278
+ /* CATPPUCCIN MOCHA - Popular pastel dark theme */
1279
+ [data-color-theme="catppuccin-mocha"] {
1280
+ --bg: #1e1e2e;
1281
+ --surface: #181825;
1282
+ --card: #1e1e2e;
1283
+ --card-hover: #262637;
1284
+ --border: #313244;
1285
+ --text: #cdd6f4;
1286
+ --text-muted: #a6adc8;
1287
+ --text-dim: #6c7086;
1288
+
1289
+ --todo: #89b4fa;
1290
+ --in-progress: #89dceb;
1291
+ --in-progress-rgb: 137, 220, 235;
1292
+ --in-review: #a6e3a1;
1293
+ --triage: #f9e2af;
1294
+ --done: #6c7086;
1295
+ --color-success: #a6e3a1;
1296
+ --color-error: #f38ba8;
1297
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1298
+ --shadow: var(--shadow-lg);
1299
+
1300
+ --cta-bg: #8ad985;
1301
+ --cta-border: #a6e3a1;
1302
+ --cta-text: #1e1e2e;
1303
+ --cta-bg-hover: #a6e3a1;
1304
+ --cta-border-hover: #b8edb4;
1305
+ --cta-glow: 0 0 8px rgba(166, 227, 161, 0.3);
1306
+ --logo-accent: var(--todo);
1307
+ --color-info: #89b4fa;
1308
+ --accent: #cba6f7;
1309
+ }
1310
+
1311
+ [data-color-theme="catppuccin-mocha"][data-theme="light"] {
1312
+ --bg: #eff1f5;
1313
+ --surface: #e6e9ef;
1314
+ --card: #eff1f5;
1315
+ --card-hover: #dce0e8;
1316
+ --border: #bcc0cc;
1317
+ --text: #4c4f69;
1318
+ --text-muted: #5c5f77;
1319
+ --text-dim: #7c7f93;
1320
+
1321
+ --todo: #1e66f5;
1322
+ --in-progress: #04a5e5;
1323
+ --in-progress-rgb: 4, 165, 229;
1324
+ --in-review: #40a02b;
1325
+ --triage: #df8e1d;
1326
+ --done: #7c7f93;
1327
+ --color-success: #40a02b;
1328
+ --color-error: #d20f39;
1329
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1330
+ --shadow: var(--shadow-lg);
1331
+
1332
+ --cta-bg: #36891f;
1333
+ --cta-border: #40a02b;
1334
+ --cta-text: #fff;
1335
+ --cta-bg-hover: #40a02b;
1336
+ --cta-border-hover: #52b93d;
1337
+ --cta-glow: 0 0 8px rgba(64, 160, 43, 0.3);
1338
+ --logo-accent: var(--todo);
1339
+ --color-info: #1e66f5;
1340
+ --accent: #9a6fd9;
1341
+ }
1342
+
1343
+ /* GITHUB DARK - GitHub's dark theme */
1344
+ [data-color-theme="github-dark"] {
1345
+ --bg: #0d1117;
1346
+ --surface: #010409;
1347
+ --card: #0d1117;
1348
+ --card-hover: #161b22;
1349
+ --border: #30363d;
1350
+ --text: #e6edf3;
1351
+ --text-muted: #8b949e;
1352
+ --text-dim: #484f58;
1353
+
1354
+ --todo: #58a6ff;
1355
+ --in-progress: #79c0ff;
1356
+ --in-progress-rgb: 121, 192, 255;
1357
+ --in-review: #3fb950;
1358
+ --triage: #d29922;
1359
+ --done: #484f58;
1360
+ --color-success: #3fb950;
1361
+ --color-error: #f85149;
1362
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1363
+ --shadow: var(--shadow-lg);
1364
+
1365
+ --cta-bg: #2ea043;
1366
+ --cta-border: #3fb950;
1367
+ --cta-text: #fff;
1368
+ --cta-bg-hover: #3fb950;
1369
+ --cta-border-hover: #56d364;
1370
+ --cta-glow: 0 0 8px rgba(63, 185, 80, 0.3);
1371
+ --logo-accent: var(--todo);
1372
+ --color-info: #58a6ff;
1373
+ --accent: #58a6ff;
1374
+ }
1375
+
1376
+ [data-color-theme="github-dark"][data-theme="light"] {
1377
+ --bg: #ffffff;
1378
+ --surface: #f6f8fa;
1379
+ --card: #ffffff;
1380
+ --card-hover: #f3f4f6;
1381
+ --border: #d0d7de;
1382
+ --text: #1f2328;
1383
+ --text-muted: #656d76;
1384
+ --text-dim: #8c959f;
1385
+
1386
+ --todo: #0969da;
1387
+ --in-progress: #0969da;
1388
+ --in-progress-rgb: 9, 105, 218;
1389
+ --in-review: #1a7f37;
1390
+ --triage: #9a6700;
1391
+ --done: #656d76;
1392
+ --color-success: #1a7f37;
1393
+ --color-error: #cf222e;
1394
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1395
+ --shadow: var(--shadow-lg);
1396
+
1397
+ --cta-bg: #1a7f37;
1398
+ --cta-border: #1a7f37;
1399
+ --cta-text: #fff;
1400
+ --cta-bg-hover: #1a7f37;
1401
+ --cta-border-hover: #2da44e;
1402
+ --cta-glow: 0 0 8px rgba(26, 127, 55, 0.3);
1403
+ --logo-accent: var(--todo);
1404
+ --color-info: #0969da;
1405
+ --accent: #0969da;
1406
+ }
1407
+
1408
+ /* EVERFOREST - Green-focused dark theme */
1409
+ [data-color-theme="everforest"] {
1410
+ --bg: #2d353b;
1411
+ --surface: #272e33;
1412
+ --card: #2d353b;
1413
+ --card-hover: #343f44;
1414
+ --border: #414b50;
1415
+ --text: #d3c6aa;
1416
+ --text-muted: #a7c080;
1417
+ --text-dim: #859289;
1418
+
1419
+ --todo: #7fbbb3;
1420
+ --in-progress: #e0c8a8;
1421
+ --in-progress-rgb: 224, 200, 168;
1422
+ --in-review: #a7c080;
1423
+ --triage: #dbbc7f;
1424
+ --done: #859289;
1425
+ --color-success: #a7c080;
1426
+ --color-error: #e67e80;
1427
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1428
+ --shadow: var(--shadow-lg);
1429
+
1430
+ --cta-bg: #8aad75;
1431
+ --cta-border: #a7c080;
1432
+ --cta-text: #2d353b;
1433
+ --cta-bg-hover: #a7c080;
1434
+ --cta-border-hover: #bcd09a;
1435
+ --cta-glow: 0 0 8px rgba(167, 192, 128, 0.3);
1436
+ --logo-accent: var(--todo);
1437
+ --color-info: #7fbbb3;
1438
+ --accent: #a7c080;
1439
+ }
1440
+
1441
+ [data-color-theme="everforest"][data-theme="light"] {
1442
+ --bg: #fdf6e3;
1443
+ --surface: #f4f0d9;
1444
+ --card: #fdf6e3;
1445
+ --card-hover: #eee8c9;
1446
+ --border: #c9ccae;
1447
+ --text: #5c6a72;
1448
+ --text-muted: #657b69;
1449
+ --text-dim: #8da489;
1450
+
1451
+ --todo: #3a94a5;
1452
+ --in-progress: #83a08a;
1453
+ --in-progress-rgb: 131, 160, 138;
1454
+ --in-review: #6d9b3a;
1455
+ --triage: #b58905;
1456
+ --done: #8da489;
1457
+ --color-success: #6d9b3a;
1458
+ --color-error: #c44040;
1459
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1460
+ --shadow: var(--shadow-lg);
1461
+
1462
+ --cta-bg: #5a8a2e;
1463
+ --cta-border: #6d9b3a;
1464
+ --cta-text: #fff;
1465
+ --cta-bg-hover: #6d9b3a;
1466
+ --cta-border-hover: #80b34c;
1467
+ --cta-glow: 0 0 8px rgba(109, 155, 58, 0.3);
1468
+ --logo-accent: var(--todo);
1469
+ --color-info: #3a94a5;
1470
+ --accent: #6b8f55;
1471
+ }
1472
+
1473
+ /* ROSÉ PINE - Soft purple/pink tones */
1474
+ [data-color-theme="rose-pine"] {
1475
+ --bg: #191724;
1476
+ --surface: #1f1d2e;
1477
+ --card: #191724;
1478
+ --card-hover: #26233a;
1479
+ --border: #26233a;
1480
+ --text: #e0def4;
1481
+ --text-muted: #908caa;
1482
+ --text-dim: #6e6a86;
1483
+
1484
+ --todo: #c4a7e7;
1485
+ --in-progress: #ebbcba;
1486
+ --in-progress-rgb: 235, 188, 186;
1487
+ --in-review: #9ccfd8;
1488
+ --triage: #f6c177;
1489
+ --done: #6e6a86;
1490
+ --color-success: #9ccfd8;
1491
+ --color-error: #eb6f92;
1492
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1493
+ --shadow: var(--shadow-lg);
1494
+
1495
+ --cta-bg: #7dbbc4;
1496
+ --cta-border: #9ccfd8;
1497
+ --cta-text: #191724;
1498
+ --cta-bg-hover: #9ccfd8;
1499
+ --cta-border-hover: #b3dfe6;
1500
+ --cta-glow: 0 0 8px rgba(156, 207, 216, 0.3);
1501
+ --logo-accent: var(--todo);
1502
+ --color-info: #c4a7e7;
1503
+ --accent: #c4a7e7;
1504
+ }
1505
+
1506
+ [data-color-theme="rose-pine"][data-theme="light"] {
1507
+ --bg: #faf4ed;
1508
+ --surface: #fffaf3;
1509
+ --card: #faf4ed;
1510
+ --card-hover: #f2e9de;
1511
+ --border: #dfdad0;
1512
+ --text: #575279;
1513
+ --text-muted: #797593;
1514
+ --text-dim: #9893a5;
1515
+
1516
+ --todo: #907aa9;
1517
+ --in-progress: #b4637a;
1518
+ --in-progress-rgb: 180, 99, 122;
1519
+ --in-review: #56949f;
1520
+ --triage: #ea9d34;
1521
+ --done: #9893a5;
1522
+ --color-success: #56949f;
1523
+ --color-error: #b4637a;
1524
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1525
+ --shadow: var(--shadow-lg);
1526
+
1527
+ --cta-bg: #428089;
1528
+ --cta-border: #56949f;
1529
+ --cta-text: #fff;
1530
+ --cta-bg-hover: #56949f;
1531
+ --cta-border-hover: #6daab4;
1532
+ --cta-glow: 0 0 8px rgba(86, 148, 159, 0.3);
1533
+ --logo-accent: var(--todo);
1534
+ --color-info: #907aa9;
1535
+ --accent: #907aac;
1536
+ }
1537
+
1538
+ /* KANAGAWA - Japanese-inspired wave theme */
1539
+ [data-color-theme="kanagawa"] {
1540
+ --bg: #1f1f28;
1541
+ --surface: #16161d;
1542
+ --card: #1f1f28;
1543
+ --card-hover: #2a2a37;
1544
+ --border: #363646;
1545
+ --text: #dcd7ba;
1546
+ --text-muted: #c8c093;
1547
+ --text-dim: #727169;
1548
+
1549
+ --todo: #7e9cd8;
1550
+ --in-progress: #7e9cd8;
1551
+ --in-progress-rgb: 126, 156, 216;
1552
+ --in-review: #98bb6c;
1553
+ --triage: #e6c384;
1554
+ --done: #727169;
1555
+ --color-success: #98bb6c;
1556
+ --color-error: #c34043;
1557
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1558
+ --shadow: var(--shadow-lg);
1559
+
1560
+ --cta-bg: #7da55a;
1561
+ --cta-border: #98bb6c;
1562
+ --cta-text: #1f1f28;
1563
+ --cta-bg-hover: #98bb6c;
1564
+ --cta-border-hover: #aed085;
1565
+ --cta-glow: 0 0 8px rgba(152, 187, 108, 0.3);
1566
+ --logo-accent: var(--todo);
1567
+ --color-info: #7e9cd8;
1568
+ --accent: #957fb8;
1569
+ }
1570
+
1571
+ [data-color-theme="kanagawa"][data-theme="light"] {
1572
+ --bg: #edeadd;
1573
+ --surface: #e1ddd4;
1574
+ --card: #edeadd;
1575
+ --card-hover: #ddd8cc;
1576
+ --border: #c5c1b6;
1577
+ --text: #434350;
1578
+ --text-muted: #5e5e6a;
1579
+ --text-dim: #81818c;
1580
+
1581
+ --todo: #4e76b5;
1582
+ --in-progress: #4e76b5;
1583
+ --in-progress-rgb: 78, 118, 181;
1584
+ --in-review: #5a8249;
1585
+ --triage: #a57c30;
1586
+ --done: #81818c;
1587
+ --color-success: #5a8249;
1588
+ --color-error: #b03438;
1589
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1590
+ --shadow: var(--shadow-lg);
1591
+
1592
+ --cta-bg: #49703f;
1593
+ --cta-border: #5a8249;
1594
+ --cta-text: #fff;
1595
+ --cta-bg-hover: #5a8249;
1596
+ --cta-border-hover: #6b9a5c;
1597
+ --cta-glow: 0 0 8px rgba(90, 130, 73, 0.3);
1598
+ --logo-accent: var(--todo);
1599
+ --color-info: #4e76b5;
1600
+ --accent: #7560a0;
1601
+ }
1602
+
1603
+ /* NIGHT OWL - Blue/cyan with warm yellow accents (Sarah Drasner) */
1604
+ [data-color-theme="night-owl"] {
1605
+ --bg: #011627;
1606
+ --surface: #01111d;
1607
+ --card: #0a192f;
1608
+ --card-hover: #112240;
1609
+ --border: #1d3557;
1610
+ --text: #d6deeb;
1611
+ --text-muted: #8da6c2;
1612
+ --text-dim: #5c7a99;
1613
+
1614
+ --todo: #82aaff;
1615
+ --in-progress: #addb67;
1616
+ --in-progress-rgb: 173, 219, 103;
1617
+ --in-review: #4ec9b0;
1618
+ --triage: #ecc48d;
1619
+ --done: #5c7a99;
1620
+ --color-success: #4ec9b0;
1621
+ --color-error: #ef5350;
1622
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.6);
1623
+ --shadow: var(--shadow-lg);
1624
+
1625
+ --cta-bg: #3da890;
1626
+ --cta-border: #4ec9b0;
1627
+ --cta-text: #011627;
1628
+ --cta-bg-hover: #4ec9b0;
1629
+ --cta-border-hover: #70dbc9;
1630
+ --cta-glow: 0 0 8px rgba(78, 201, 176, 0.3);
1631
+ --logo-accent: var(--todo);
1632
+ --color-info: #82aaff;
1633
+ --accent: #82aaff;
1634
+ }
1635
+
1636
+ [data-color-theme="night-owl"][data-theme="light"] {
1637
+ --bg: #f6f7f9;
1638
+ --surface: #eef0f4;
1639
+ --card: #ffffff;
1640
+ --card-hover: #f0f2f5;
1641
+ --border: #c8cdd5;
1642
+ --text: #2d3549;
1643
+ --text-muted: #5c6a7e;
1644
+ --text-dim: #8a95a5;
1645
+
1646
+ --todo: #2563eb;
1647
+ --in-progress: #5a9e2f;
1648
+ --in-progress-rgb: 90, 158, 47;
1649
+ --in-review: #2b8a73;
1650
+ --triage: #b07d2e;
1651
+ --done: #8a95a5;
1652
+ --color-success: #2b8a73;
1653
+ --color-error: #c0392b;
1654
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1655
+ --shadow: var(--shadow-lg);
1656
+
1657
+ --cta-bg: #257a68;
1658
+ --cta-border: #2b8a73;
1659
+ --cta-text: #fff;
1660
+ --cta-bg-hover: #2b8a73;
1661
+ --cta-border-hover: #3a9f8a;
1662
+ --cta-glow: 0 0 8px rgba(43, 138, 115, 0.3);
1663
+ --logo-accent: var(--todo);
1664
+ --color-info: #2563eb;
1665
+ --accent: #5a7fd4;
1666
+ }
1667
+
1668
+ /* PALENIGHT - Warm purple-free dark blue palette */
1669
+ [data-color-theme="palenight"] {
1670
+ --bg: #292d3e;
1671
+ --surface: #1e2235;
1672
+ --card: #2c3044;
1673
+ --card-hover: #353a50;
1674
+ --border: #3e445e;
1675
+ --text: #bfc7d5;
1676
+ --text-muted: #8394a5;
1677
+ --text-dim: #676e95;
1678
+
1679
+ --todo: #82aaff;
1680
+ --in-progress: #ffcb6b;
1681
+ --in-progress-rgb: 255, 203, 107;
1682
+ --in-review: #c3e88d;
1683
+ --triage: #f78c6c;
1684
+ --done: #676e95;
1685
+ --color-success: #c3e88d;
1686
+ --color-error: #ff5370;
1687
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1688
+ --shadow: var(--shadow-lg);
1689
+
1690
+ --cta-bg: #a3c570;
1691
+ --cta-border: #c3e88d;
1692
+ --cta-text: #292d3e;
1693
+ --cta-bg-hover: #c3e88d;
1694
+ --cta-border-hover: #d4f0a5;
1695
+ --cta-glow: 0 0 8px rgba(195, 232, 141, 0.3);
1696
+ --logo-accent: var(--todo);
1697
+ --color-info: #82aaff;
1698
+ --accent: #c792ea;
1699
+ }
1700
+
1701
+ [data-color-theme="palenight"][data-theme="light"] {
1702
+ --bg: #f5f7fa;
1703
+ --surface: #ebeef5;
1704
+ --card: #ffffff;
1705
+ --card-hover: #f0f2f6;
1706
+ --border: #c5cae0;
1707
+ --text: #2c3044;
1708
+ --text-muted: #5c6370;
1709
+ --text-dim: #8a8fa0;
1710
+
1711
+ --todo: #3b6fcf;
1712
+ --in-progress: #c49020;
1713
+ --in-progress-rgb: 196, 144, 32;
1714
+ --in-review: #5a9e2f;
1715
+ --triage: #c06030;
1716
+ --done: #8a8fa0;
1717
+ --color-success: #5a9e2f;
1718
+ --color-error: #c0392b;
1719
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1720
+ --shadow: var(--shadow-lg);
1721
+
1722
+ --cta-bg: #4a8c28;
1723
+ --cta-border: #5a9e2f;
1724
+ --cta-text: #fff;
1725
+ --cta-bg-hover: #5a9e2f;
1726
+ --cta-border-hover: #6db23c;
1727
+ --cta-glow: 0 0 8px rgba(90, 158, 47, 0.3);
1728
+ --logo-accent: var(--todo);
1729
+ --color-info: #3b6fcf;
1730
+ --accent: #9a60c0;
1731
+ }
1732
+
1733
+ /* MONOKAI PRO - Warm oranges and greens */
1734
+ [data-color-theme="monokai-pro"] {
1735
+ --bg: #2d2a2e;
1736
+ --surface: #252229;
1737
+ --card: #353036;
1738
+ --card-hover: #3f3a40;
1739
+ --border: #4a434a;
1740
+ --text: #fcfcfa;
1741
+ --text-muted: #939293;
1742
+ --text-dim: #727072;
1743
+
1744
+ --todo: #78dce8;
1745
+ --in-progress: #ff6188;
1746
+ --in-progress-rgb: 255, 97, 136;
1747
+ --in-review: #a9dc76;
1748
+ --triage: #ffd866;
1749
+ --done: #727072;
1750
+ --color-success: #a9dc76;
1751
+ --color-error: #ff6188;
1752
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
1753
+ --shadow: var(--shadow-lg);
1754
+
1755
+ --cta-bg: #88c060;
1756
+ --cta-border: #a9dc76;
1757
+ --cta-text: #2d2a2e;
1758
+ --cta-bg-hover: #a9dc76;
1759
+ --cta-border-hover: #c2ec92;
1760
+ --cta-glow: 0 0 8px rgba(169, 220, 118, 0.3);
1761
+ --logo-accent: var(--todo);
1762
+ --color-info: #78dce8;
1763
+ --accent: #ffd866;
1764
+ }
1765
+
1766
+ [data-color-theme="monokai-pro"][data-theme="light"] {
1767
+ --bg: #faf8f5;
1768
+ --surface: #f0ece5;
1769
+ --card: #ffffff;
1770
+ --card-hover: #f5f2ed;
1771
+ --border: #c9c3b8;
1772
+ --text: #3a3632;
1773
+ --text-muted: #6b6460;
1774
+ --text-dim: #9a9490;
1775
+
1776
+ --todo: #2d8fa0;
1777
+ --in-progress: #c4405e;
1778
+ --in-progress-rgb: 196, 64, 94;
1779
+ --in-review: #5a9030;
1780
+ --triage: #b8860b;
1781
+ --done: #9a9490;
1782
+ --color-success: #5a9030;
1783
+ --color-error: #c4405e;
1784
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1785
+ --shadow: var(--shadow-lg);
1786
+
1787
+ --cta-bg: #4a7a28;
1788
+ --cta-border: #5a9030;
1789
+ --cta-text: #fff;
1790
+ --cta-bg-hover: #5a9030;
1791
+ --cta-border-hover: #6da63c;
1792
+ --cta-glow: 0 0 8px rgba(90, 144, 48, 0.3);
1793
+ --logo-accent: var(--todo);
1794
+ --color-info: #2d8fa0;
1795
+ --accent: #d4a830;
1796
+ }
1797
+
1798
+ /* SLIME - Retro lime green theme */
1799
+ [data-color-theme="slime"] {
1800
+ --bg: #0a0e09;
1801
+ --surface: #0f150d;
1802
+ --card: #141c12;
1803
+ --card-hover: #1a2418;
1804
+ --border: #2a3a24;
1805
+ --text: #c8e6a0;
1806
+ --text-muted: #8ab860;
1807
+ --text-dim: #5a7a40;
1808
+
1809
+ --todo: #8aff40;
1810
+ --in-progress: #40e8a0;
1811
+ --in-progress-rgb: 64, 232, 160;
1812
+ --in-review: #a0ff60;
1813
+ --triage: #e0ff40;
1814
+ --done: #5a7a40;
1815
+ --color-success: #a0ff60;
1816
+ --color-error: #ff4040;
1817
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.7);
1818
+ --shadow: var(--shadow-lg);
1819
+
1820
+ --cta-bg: #78d840;
1821
+ --cta-border: #a0ff60;
1822
+ --cta-text: #0a0e09;
1823
+ --cta-bg-hover: #a0ff60;
1824
+ --cta-border-hover: #b8ff80;
1825
+ --cta-glow: 0 0 8px rgba(160, 255, 96, 0.3);
1826
+ --logo-accent: var(--todo);
1827
+ --color-info: #60d8a0;
1828
+ --accent: #78d840;
1829
+ }
1830
+
1831
+ [data-color-theme="slime"][data-theme="light"] {
1832
+ --bg: #f2f7ea;
1833
+ --surface: #e6efda;
1834
+ --card: #ffffff;
1835
+ --card-hover: #f0f5e6;
1836
+ --border: #b8ccaa;
1837
+ --text: #2a3a20;
1838
+ --text-muted: #4a6040;
1839
+ --text-dim: #7a8a70;
1840
+
1841
+ --todo: #3d8f10;
1842
+ --in-progress: #1a8a6a;
1843
+ --in-progress-rgb: 26, 138, 106;
1844
+ --in-review: #4a8a20;
1845
+ --triage: #8a8a10;
1846
+ --done: #7a8a70;
1847
+ --color-success: #4a8a20;
1848
+ --color-error: #b03030;
1849
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
1850
+ --shadow: var(--shadow-lg);
1851
+
1852
+ --cta-bg: #3a7a18;
1853
+ --cta-border: #4a8a20;
1854
+ --cta-text: #fff;
1855
+ --cta-bg-hover: #4a8a20;
1856
+ --cta-border-hover: #5a9a2c;
1857
+ --cta-glow: 0 0 8px rgba(74, 138, 32, 0.3);
1858
+ --logo-accent: var(--todo);
1859
+ --color-info: #1a7a5a;
1860
+ --accent: #5ab030;
1861
+ }
1862
+
1863
+ /* BRUTALIST - Concrete and signage inspired harsh UI */
1864
+ [data-color-theme="brutalist"] {
1865
+ --bg: #101010;
1866
+ --surface: #171717;
1867
+ --card: #1d1d1d;
1868
+ --card-hover: #232323;
1869
+ --border: #f5f5f5;
1870
+ --text: #f7f7f7;
1871
+ --text-muted: #b8b8b8;
1872
+ --text-dim: #6f6f6f;
1873
+
1874
+ --todo: #ff6a00;
1875
+ --in-progress: #ffd100;
1876
+ --in-progress-rgb: 255, 209, 0;
1877
+ --in-review: #8de000;
1878
+ --triage: #ff3d00;
1879
+ --done: #7f7f7f;
1880
+ --color-success: #8de000;
1881
+ --color-error: #ff3d00;
1882
+
1883
+ --font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
1884
+ --font-mono: "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;
1885
+
1886
+ --space-xs: 3px;
1887
+ --space-sm: 6px;
1888
+ --space-md: 9px;
1889
+ --space-lg: 12px;
1890
+ --space-xl: 18px;
1891
+ --space-2xl: 24px;
1892
+
1893
+ --radius-sm: 0px;
1894
+ --radius-md: 0px;
1895
+ --radius-lg: 0px;
1896
+ --radius-xl: 0px;
1897
+ --radius-pill: 0px;
1898
+ --radius: 0px;
1899
+
1900
+ --btn-padding: 8px 12px;
1901
+ --btn-border-width: 3px;
1902
+ --card-padding: 9px 11px;
1903
+ --modal-padding: var(--space-lg) var(--space-xl);
1904
+ --header-padding: var(--space-md) var(--space-xl);
1905
+ --column-gap: var(--space-sm);
1906
+ --board-padding: var(--space-lg) var(--space-xl);
1907
+
1908
+ --shadow-sm: none;
1909
+ --shadow-md: none;
1910
+ --shadow-lg: none;
1911
+ --shadow-glow: none;
1912
+ --focus-ring: 0 0 0 3px rgba(255, 106, 0, 0.28);
1913
+ --focus-ring-strong: 0 0 0 3px rgba(255, 106, 0, 0.44);
1914
+ --shadow: none;
1915
+
1916
+ --transition-instant: 0.04s linear;
1917
+ --transition-fast: 0.08s linear;
1918
+ --transition-normal: 0.12s linear;
1919
+ --transition-slow: 0.16s linear;
1920
+
1921
+ --cta-bg: #ff6a00;
1922
+ --cta-border: #ffd100;
1923
+ --cta-text: #0f0f0f;
1924
+ --cta-bg-hover: #ff7f23;
1925
+ --cta-border-hover: #ffe266;
1926
+ --cta-glow: none;
1927
+ --logo-accent: var(--todo);
1928
+ --color-info: #ffd100;
1929
+ --accent: #ff6a00;
1930
+ }
1931
+
1932
+ [data-color-theme="brutalist"][data-theme="light"] {
1933
+ --bg: #ece9e4;
1934
+ --surface: #f7f4ef;
1935
+ --card: #ffffff;
1936
+ --card-hover: #f0ece6;
1937
+ --border: #161616;
1938
+ --text: #121212;
1939
+ --text-muted: #424242;
1940
+ --text-dim: #717171;
1941
+
1942
+ --todo: #d9480f;
1943
+ --in-progress: #b8860b;
1944
+ --in-progress-rgb: 184, 134, 11;
1945
+ --in-review: #4f8f00;
1946
+ --triage: #b32000;
1947
+ --done: #666666;
1948
+ --color-success: #4f8f00;
1949
+ --color-error: #b32000;
1950
+
1951
+ --focus-ring: 0 0 0 3px rgba(217, 72, 15, 0.22);
1952
+ --focus-ring-strong: 0 0 0 3px rgba(217, 72, 15, 0.35);
1953
+
1954
+ --cta-bg: #c2410c;
1955
+ --cta-border: #d9480f;
1956
+ --cta-text: #ffffff;
1957
+ --cta-bg-hover: #d9480f;
1958
+ --cta-border-hover: #ea580c;
1959
+ --logo-accent: var(--todo);
1960
+ --color-info: #b8860b;
1961
+ --accent: #c2410c;
1962
+ }
1963
+
1964
+ [data-color-theme="brutalist"] .btn {
1965
+ text-transform: uppercase;
1966
+ letter-spacing: 0.08em;
1967
+ font-weight: 800;
1968
+ border-width: 3px;
1969
+ }
1970
+
1971
+ [data-color-theme="brutalist"] .btn-primary,
1972
+ [data-color-theme="brutalist"] .btn-task-create {
1973
+ background: transparent;
1974
+ border-color: var(--todo);
1975
+ color: var(--todo);
1976
+ }
1977
+
1978
+ [data-color-theme="brutalist"] .btn-primary:hover,
1979
+ [data-color-theme="brutalist"] .btn-task-create:hover {
1980
+ background: var(--todo);
1981
+ color: var(--bg);
1982
+ }
1983
+
1984
+ [data-color-theme="brutalist"] .card,
1985
+ [data-color-theme="brutalist"] .column {
1986
+ border-width: 3px;
1987
+ border-style: solid;
1988
+ border-radius: 0;
1989
+ box-shadow: none;
1990
+ }
1991
+
1992
+ [data-color-theme="brutalist"] .column-header h2,
1993
+ [data-color-theme="brutalist"] .theme-section-title,
1994
+ [data-color-theme="brutalist"] .modal-header h3 {
1995
+ font-family: Impact, "Arial Black", "Franklin Gothic Heavy", sans-serif;
1996
+ text-transform: uppercase;
1997
+ letter-spacing: 0.08em;
1998
+ }
1999
+
2000
+ [data-color-theme="brutalist"] .theme-option-swatch {
2001
+ border-radius: 0;
2002
+ }
2003
+
2004
+ /* NEON CITY - Cyberpunk neon-on-black */
2005
+ [data-color-theme="neon-city"] {
2006
+ --bg: #0d0d15;
2007
+ --surface: #121326;
2008
+ --card: #171933;
2009
+ --card-hover: #1d2040;
2010
+ --border: #3d2466;
2011
+ --text: #f2edff;
2012
+ --text-muted: #a89dc9;
2013
+ --text-dim: #6c6490;
2014
+
2015
+ --todo: #ff2d95;
2016
+ --in-progress: #00f0ff;
2017
+ --in-progress-rgb: 0, 240, 255;
2018
+ --in-review: #78ff4d;
2019
+ --triage: #ffab00;
2020
+ --done: #7f739f;
2021
+ --color-success: #78ff4d;
2022
+ --color-error: #ff568f;
2023
+
2024
+ --font-primary: "Rajdhani", "Orbitron", "Share Tech Mono", "Segoe UI", sans-serif;
2025
+ --font-mono: "Share Tech Mono", "Fira Code", "JetBrains Mono", monospace;
2026
+
2027
+ --space-xs: 3px;
2028
+ --space-sm: 7px;
2029
+ --space-md: 10px;
2030
+ --space-lg: 14px;
2031
+ --space-xl: 20px;
2032
+ --space-2xl: 28px;
2033
+
2034
+ --radius-sm: 10px;
2035
+ --radius-md: 16px;
2036
+ --radius-lg: 24px;
2037
+ --radius-xl: 28px;
2038
+ --radius-pill: 999px;
2039
+ --radius: var(--radius-md);
2040
+
2041
+ --btn-padding: 8px 16px;
2042
+ --btn-border-width: 2px;
2043
+ --card-padding: 10px 12px;
2044
+
2045
+ --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.35);
2046
+ --shadow-md: 0 0 10px rgba(255, 45, 149, 0.25);
2047
+ --shadow-lg: 0 0 26px rgba(0, 240, 255, 0.2);
2048
+ --shadow-glow: 0 0 10px rgba(255, 45, 149, 0.45);
2049
+ --glow-success: 0 0 10px rgba(120, 255, 77, 0.45);
2050
+ --glow-warning: 0 0 10px rgba(255, 171, 0, 0.45);
2051
+ --glow-danger: 0 0 10px rgba(255, 86, 143, 0.42);
2052
+ --focus-ring: 0 0 0 2px rgba(0, 240, 255, 0.2);
2053
+ --focus-ring-strong: 0 0 0 2px rgba(255, 45, 149, 0.34);
2054
+ --shadow: var(--shadow-lg);
2055
+
2056
+ --transition-instant: 0.08s ease;
2057
+ --transition-fast: 0.13s ease;
2058
+ --transition-normal: 0.2s ease;
2059
+ --transition-slow: 0.28s ease;
2060
+
2061
+ --cta-bg: #ff2d95;
2062
+ --cta-border: #00f0ff;
2063
+ --cta-text: #0d0d15;
2064
+ --cta-bg-hover: #ff4aa4;
2065
+ --cta-border-hover: #7ff7ff;
2066
+ --cta-glow: 0 0 12px rgba(255, 45, 149, 0.45);
2067
+ --logo-accent: var(--todo);
2068
+ --color-info: #00f0ff;
2069
+ --accent: #ff2d95;
2070
+ }
2071
+
2072
+ [data-color-theme="neon-city"][data-theme="light"] {
2073
+ --bg: #f7f5ff;
2074
+ --surface: #f1edff;
2075
+ --card: #ffffff;
2076
+ --card-hover: #f8f3ff;
2077
+ --border: #cbbee8;
2078
+ --text: #22163c;
2079
+ --text-muted: #6b5f85;
2080
+ --text-dim: #8a82a8;
2081
+
2082
+ --todo: #cc166e;
2083
+ --in-progress: #008e9b;
2084
+ --in-progress-rgb: 0, 142, 155;
2085
+ --in-review: #3a8a2e;
2086
+ --triage: #b57200;
2087
+ --done: #8a82a8;
2088
+ --color-success: #3a8a2e;
2089
+ --color-error: #b11f5b;
2090
+
2091
+ --shadow-md: 0 0 10px rgba(204, 22, 110, 0.14);
2092
+ --shadow-lg: 0 0 22px rgba(0, 142, 155, 0.12);
2093
+ --shadow-glow: 0 0 10px rgba(204, 22, 110, 0.24);
2094
+ --glow-success: 0 0 10px rgba(58, 138, 46, 0.24);
2095
+ --glow-warning: 0 0 10px rgba(181, 114, 0, 0.24);
2096
+ --glow-danger: 0 0 10px rgba(177, 31, 91, 0.2);
2097
+ --focus-ring: 0 0 0 2px rgba(0, 142, 155, 0.17);
2098
+ --focus-ring-strong: 0 0 0 2px rgba(204, 22, 110, 0.24);
2099
+
2100
+ --cta-bg: #b1145f;
2101
+ --cta-border: #008e9b;
2102
+ --cta-text: #ffffff;
2103
+ --cta-bg-hover: #cc166e;
2104
+ --cta-border-hover: #00a8b8;
2105
+ --cta-glow: 0 0 10px rgba(177, 20, 95, 0.26);
2106
+ --logo-accent: var(--todo);
2107
+ --color-info: #008e9b;
2108
+ --accent: #d63384;
2109
+ }
2110
+
2111
+ [data-color-theme="neon-city"] .btn {
2112
+ border-width: 2px;
2113
+ font-weight: 700;
2114
+ letter-spacing: 0.04em;
2115
+ }
2116
+
2117
+ [data-color-theme="neon-city"] .btn-primary,
2118
+ [data-color-theme="neon-city"] .btn-task-create {
2119
+ border-color: color-mix(in srgb, var(--todo) 70%, var(--in-progress) 30%);
2120
+ color: var(--todo);
2121
+ box-shadow: 0 0 10px rgba(255, 45, 149, 0.25);
2122
+ }
2123
+
2124
+ [data-color-theme="neon-city"] .btn-primary:hover,
2125
+ [data-color-theme="neon-city"] .btn-task-create:hover {
2126
+ color: var(--text);
2127
+ border-color: var(--in-progress);
2128
+ box-shadow:
2129
+ 0 0 8px rgba(255, 45, 149, 0.6),
2130
+ 0 0 14px rgba(0, 240, 255, 0.45);
2131
+ }
2132
+
2133
+ [data-color-theme="neon-city"] .card,
2134
+ [data-color-theme="neon-city"] .column {
2135
+ border-color: color-mix(in srgb, var(--todo) 40%, var(--border) 60%);
2136
+ box-shadow:
2137
+ inset 0 0 0 1px color-mix(in srgb, var(--in-progress) 25%, transparent),
2138
+ var(--shadow-md);
2139
+ }
2140
+
2141
+ [data-color-theme="neon-city"] .column-header h2 {
2142
+ text-transform: uppercase;
2143
+ letter-spacing: 0.14em;
2144
+ font-family: var(--font-mono);
2145
+ }
2146
+
2147
+ [data-color-theme="neon-city"] .card.agent-active {
2148
+ border-color: var(--in-progress);
2149
+ animation: neon-agent-pulse 2.2s ease-in-out infinite;
2150
+ }
2151
+
2152
+ @keyframes neon-agent-pulse {
2153
+ 0%,
2154
+ 100% {
2155
+ box-shadow:
2156
+ 0 0 8px rgba(255, 45, 149, 0.35),
2157
+ 0 0 16px rgba(0, 240, 255, 0.25);
2158
+ }
2159
+ 50% {
2160
+ box-shadow:
2161
+ 0 0 14px rgba(255, 45, 149, 0.65),
2162
+ 0 0 24px rgba(0, 240, 255, 0.45);
2163
+ }
2164
+ }
2165
+
2166
+ [data-color-theme="neon-city"][data-theme="light"] .card.agent-active {
2167
+ animation: neon-agent-pulse-light 2.2s ease-in-out infinite;
2168
+ }
2169
+
2170
+ @keyframes neon-agent-pulse-light {
2171
+ 0%,
2172
+ 100% {
2173
+ box-shadow:
2174
+ 0 0 8px rgba(177, 20, 95, 0.22),
2175
+ 0 0 16px rgba(0, 142, 155, 0.18);
2176
+ }
2177
+ 50% {
2178
+ box-shadow:
2179
+ 0 0 12px rgba(177, 20, 95, 0.32),
2180
+ 0 0 20px rgba(0, 142, 155, 0.26);
2181
+ }
2182
+ }
2183
+
2184
+ /* PARCHMENT - Warm manuscript aesthetic */
2185
+ [data-color-theme="parchment"] {
2186
+ --bg: #1b1712;
2187
+ --surface: #252019;
2188
+ --card: #2f281f;
2189
+ --card-hover: #392f24;
2190
+ --border: #5a4632;
2191
+ --text: #efe0c8;
2192
+ --text-muted: #b89f7e;
2193
+ --text-dim: #8a7258;
2194
+
2195
+ --todo: #d08a4b;
2196
+ --in-progress: #be6e3c;
2197
+ --in-progress-rgb: 190, 110, 60;
2198
+ --in-review: #8ca65f;
2199
+ --triage: #e4ac54;
2200
+ --done: #8a7258;
2201
+ --color-success: #8ca65f;
2202
+ --color-error: #d36d45;
2203
+
2204
+ --font-primary: Georgia, "Times New Roman", Times, serif;
2205
+ --font-mono: "Courier New", Courier, monospace;
2206
+
2207
+ --space-xs: 5px;
2208
+ --space-sm: 10px;
2209
+ --space-md: 14px;
2210
+ --space-lg: 19px;
2211
+ --space-xl: 29px;
2212
+ --space-2xl: 38px;
2213
+
2214
+ --radius-sm: 4px;
2215
+ --radius-md: 6px;
2216
+ --radius-lg: 10px;
2217
+ --radius-xl: 14px;
2218
+ --radius-pill: 999px;
2219
+ --radius: var(--radius-md);
2220
+
2221
+ --btn-padding: 9px 18px;
2222
+ --btn-border-width: 1px;
2223
+ --card-padding: 12px 14px;
2224
+ --modal-padding: var(--space-lg) calc(var(--space-xl) + 2px);
2225
+ --header-padding: var(--space-md) var(--space-xl);
2226
+
2227
+ --shadow-sm: 0 1px 2px rgba(10, 8, 5, 0.45);
2228
+ --shadow-md: 0 4px 12px rgba(10, 8, 5, 0.35);
2229
+ --shadow-lg: 0 12px 28px rgba(10, 8, 5, 0.4);
2230
+ --shadow-glow: 0 0 8px rgba(208, 138, 75, 0.25);
2231
+ --focus-ring: 0 0 0 2px rgba(208, 138, 75, 0.22);
2232
+ --focus-ring-strong: 0 0 0 2px rgba(208, 138, 75, 0.34);
2233
+ --shadow: var(--shadow-lg);
2234
+
2235
+ --cta-bg: #be6e3c;
2236
+ --cta-border: #d08a4b;
2237
+ --cta-text: #f8eedf;
2238
+ --cta-bg-hover: #d08a4b;
2239
+ --cta-border-hover: #dda165;
2240
+ --cta-glow: 0 0 10px rgba(208, 138, 75, 0.25);
2241
+ --logo-accent: var(--todo);
2242
+ --color-info: #d08a4b;
2243
+ --accent: #d08a4b;
2244
+ }
2245
+
2246
+ [data-color-theme="parchment"][data-theme="light"] {
2247
+ --bg: #f5f0e8;
2248
+ --surface: #efe7dc;
2249
+ --card: #fffaf2;
2250
+ --card-hover: #f6eee2;
2251
+ --border: #d1bda6;
2252
+ --text: #3a2f23;
2253
+ --text-muted: #6a5844;
2254
+ --text-dim: #9a8774;
2255
+
2256
+ --todo: #a8562f;
2257
+ --in-progress: #8f4e2a;
2258
+ --in-progress-rgb: 143, 78, 42;
2259
+ --in-review: #5f7d3f;
2260
+ --triage: #b07a2a;
2261
+ --done: #9a8774;
2262
+ --color-success: #5f7d3f;
2263
+ --color-error: #b24f2f;
2264
+
2265
+ --shadow-sm: 0 1px 2px rgba(74, 55, 35, 0.12);
2266
+ --shadow-md: 0 5px 14px rgba(74, 55, 35, 0.14);
2267
+ --shadow-lg: 0 14px 30px rgba(74, 55, 35, 0.16);
2268
+ --shadow-glow: 0 0 8px rgba(168, 86, 47, 0.2);
2269
+ --focus-ring: 0 0 0 2px rgba(168, 86, 47, 0.15);
2270
+ --focus-ring-strong: 0 0 0 2px rgba(168, 86, 47, 0.24);
2271
+
2272
+ --cta-bg: #99502d;
2273
+ --cta-border: #a8562f;
2274
+ --cta-text: #fff9f2;
2275
+ --cta-bg-hover: #a8562f;
2276
+ --cta-border-hover: #bf6a3f;
2277
+ --cta-glow: 0 0 8px rgba(168, 86, 47, 0.2);
2278
+ --logo-accent: var(--todo);
2279
+ --color-info: #8f4e2a;
2280
+ --accent: #a66b35;
2281
+ }
2282
+
2283
+ [data-color-theme="parchment"] .btn {
2284
+ font-family: var(--font-primary);
2285
+ border-color: color-mix(in srgb, var(--todo) 40%, var(--border) 60%);
2286
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.18);
2287
+ }
2288
+
2289
+ [data-color-theme="parchment"] .btn-primary,
2290
+ [data-color-theme="parchment"] .btn-task-create {
2291
+ background: color-mix(in srgb, var(--todo) 18%, var(--surface) 82%);
2292
+ color: var(--text);
2293
+ }
2294
+
2295
+ [data-color-theme="parchment"] .card,
2296
+ [data-color-theme="parchment"] .column {
2297
+ border-color: color-mix(in srgb, var(--border) 76%, var(--todo) 24%);
2298
+ background-image:
2299
+ linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.06)),
2300
+ linear-gradient(0deg, rgba(201, 160, 112, 0.08), rgba(201, 160, 112, 0.08));
2301
+ box-shadow:
2302
+ inset 0 1px 0 rgba(255, 255, 255, 0.08),
2303
+ 0 2px 10px rgba(26, 20, 14, 0.2);
2304
+ }
2305
+
2306
+ [data-color-theme="parchment"][data-theme="light"] .card,
2307
+ [data-color-theme="parchment"][data-theme="light"] .column {
2308
+ box-shadow:
2309
+ inset 0 1px 0 rgba(255, 255, 255, 0.45),
2310
+ 0 3px 12px rgba(121, 90, 58, 0.15);
2311
+ }
2312
+
2313
+ [data-color-theme="parchment"] .column-header h2 {
2314
+ font-style: italic;
2315
+ font-weight: 600;
2316
+ letter-spacing: 0.02em;
2317
+ }
2318
+
2319
+ /* TERMINAL - Retro CRT monospace */
2320
+ [data-color-theme="terminal"] {
2321
+ --bg: #0a0a0a;
2322
+ --surface: #0f120d;
2323
+ --card: #121712;
2324
+ --card-hover: #171e16;
2325
+ --border: #2e5c1f;
2326
+ --text: #8dff6f;
2327
+ --text-muted: #61b74b;
2328
+ --text-dim: #3f6c32;
2329
+
2330
+ --todo: #33ff00;
2331
+ --in-progress: #8fff38;
2332
+ --in-progress-rgb: 143, 255, 56;
2333
+ --in-review: #a8ff5a;
2334
+ --triage: #ffb000;
2335
+ --done: #3f6c32;
2336
+ --color-success: #a8ff5a;
2337
+ --color-error: #ff8a00;
2338
+
2339
+ --font-primary: "IBM Plex Mono", "Source Code Pro", "Courier New", monospace;
2340
+ --font-mono: "IBM Plex Mono", "Source Code Pro", "Courier New", monospace;
2341
+
2342
+ --space-xs: 2px;
2343
+ --space-sm: 6px;
2344
+ --space-md: 10px;
2345
+ --space-lg: 14px;
2346
+ --space-xl: 20px;
2347
+ --space-2xl: 28px;
2348
+
2349
+ --radius-sm: 0px;
2350
+ --radius-md: 2px;
2351
+ --radius-lg: 2px;
2352
+ --radius-xl: 2px;
2353
+ --radius-pill: 2px;
2354
+ --radius: var(--radius-md);
2355
+
2356
+ --btn-padding: 7px 12px;
2357
+ --btn-border-width: 2px;
2358
+ --card-padding: 9px 10px;
2359
+
2360
+ --shadow-sm: 0 0 4px rgba(51, 255, 0, 0.15);
2361
+ --shadow-md: 0 0 10px rgba(51, 255, 0, 0.18);
2362
+ --shadow-lg: 0 0 22px rgba(51, 255, 0, 0.22);
2363
+ --shadow-glow: 0 0 10px rgba(51, 255, 0, 0.35);
2364
+ --focus-ring: 0 0 0 2px rgba(51, 255, 0, 0.26);
2365
+ --focus-ring-strong: 0 0 0 2px rgba(51, 255, 0, 0.42);
2366
+ --shadow: var(--shadow-lg);
2367
+
2368
+ --transition-instant: 0.02s steps(2, end);
2369
+ --transition-fast: 0.06s steps(3, end);
2370
+ --transition-normal: 0.1s steps(4, end);
2371
+ --transition-slow: 0.16s steps(5, end);
2372
+
2373
+ --cta-bg: #33ff00;
2374
+ --cta-border: #8fff38;
2375
+ --cta-text: #061004;
2376
+ --cta-bg-hover: #6dff2f;
2377
+ --cta-border-hover: #b2ff67;
2378
+ --cta-glow: 0 0 10px rgba(51, 255, 0, 0.35);
2379
+ --logo-accent: var(--todo);
2380
+ --color-info: #8fff38;
2381
+ --accent: #33ff00;
2382
+ }
2383
+
2384
+ [data-color-theme="terminal"][data-theme="light"] {
2385
+ --bg: #e7f5dd;
2386
+ --surface: #deefd2;
2387
+ --card: #f4fbef;
2388
+ --card-hover: #e8f4e0;
2389
+ --border: #6a8e59;
2390
+ --text: #19420f;
2391
+ --text-muted: #2f6a21;
2392
+ --text-dim: #5a7d50;
2393
+
2394
+ --todo: #2d6b14;
2395
+ --in-progress: #4c8f25;
2396
+ --in-progress-rgb: 76, 143, 37;
2397
+ --in-review: #5e9c2d;
2398
+ --triage: #8f5f00;
2399
+ --done: #5a7d50;
2400
+ --color-success: #5e9c2d;
2401
+ --color-error: #8f5f00;
2402
+
2403
+ --shadow-sm: 0 0 4px rgba(45, 107, 20, 0.1);
2404
+ --shadow-md: 0 0 8px rgba(45, 107, 20, 0.12);
2405
+ --shadow-lg: 0 0 14px rgba(45, 107, 20, 0.15);
2406
+ --shadow-glow: 0 0 8px rgba(45, 107, 20, 0.2);
2407
+ --focus-ring: 0 0 0 2px rgba(45, 107, 20, 0.16);
2408
+ --focus-ring-strong: 0 0 0 2px rgba(45, 107, 20, 0.24);
2409
+
2410
+ --cta-bg: #2d6b14;
2411
+ --cta-border: #4c8f25;
2412
+ --cta-text: #f4fbef;
2413
+ --cta-bg-hover: #3d7d1c;
2414
+ --cta-border-hover: #5ea82f;
2415
+ --cta-glow: 0 0 8px rgba(45, 107, 20, 0.2);
2416
+ --logo-accent: var(--todo);
2417
+ --color-info: #4c8f25;
2418
+ --accent: #2d6b14;
2419
+ }
2420
+
2421
+ [data-color-theme="terminal"] .btn,
2422
+ [data-color-theme="terminal"] input,
2423
+ [data-color-theme="terminal"] textarea,
2424
+ [data-color-theme="terminal"] select {
2425
+ font-family: var(--font-mono);
2426
+ }
2427
+
2428
+ [data-color-theme="terminal"] .btn {
2429
+ text-transform: uppercase;
2430
+ letter-spacing: 0.12em;
2431
+ border-style: solid;
2432
+ border-width: 2px;
2433
+ }
2434
+
2435
+ [data-color-theme="terminal"] .btn-primary,
2436
+ [data-color-theme="terminal"] .btn-task-create {
2437
+ border-color: var(--todo);
2438
+ color: var(--todo);
2439
+ background: color-mix(in srgb, var(--todo) 8%, transparent);
2440
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--todo) 55%, transparent);
2441
+ }
2442
+
2443
+ [data-color-theme="terminal"] .card,
2444
+ [data-color-theme="terminal"] .column {
2445
+ border-style: dashed;
2446
+ border-width: 2px;
2447
+ box-shadow:
2448
+ inset 0 0 0 1px color-mix(in srgb, var(--todo) 28%, transparent),
2449
+ var(--shadow-sm);
2450
+ }
2451
+
2452
+ [data-color-theme="terminal"] .column-header h2 {
2453
+ text-transform: uppercase;
2454
+ letter-spacing: 0.15em;
2455
+ text-shadow: 0 0 6px color-mix(in srgb, var(--todo) 35%, transparent);
2456
+ }
2457
+
2458
+ :root[data-color-theme="terminal"] body::before,
2459
+ body[data-color-theme="terminal"]::before {
2460
+ content: "";
2461
+ position: fixed;
2462
+ inset: 0;
2463
+ background: repeating-linear-gradient(
2464
+ to bottom,
2465
+ rgba(51, 255, 0, 0.08) 0px,
2466
+ rgba(51, 255, 0, 0.08) 1px,
2467
+ transparent 1px,
2468
+ transparent 3px
2469
+ );
2470
+ mix-blend-mode: screen;
2471
+ opacity: 0.16;
2472
+ pointer-events: none;
2473
+ z-index: 2147483647;
2474
+ }
2475
+
2476
+ :root[data-color-theme="terminal"][data-theme="light"] body::before,
2477
+ body[data-color-theme="terminal"][data-theme="light"]::before {
2478
+ background: repeating-linear-gradient(
2479
+ to bottom,
2480
+ rgba(17, 52, 12, 0.07) 0px,
2481
+ rgba(17, 52, 12, 0.07) 1px,
2482
+ transparent 1px,
2483
+ transparent 3px
2484
+ );
2485
+ mix-blend-mode: multiply;
2486
+ opacity: 0.12;
2487
+ }
2488
+
2489
+ /* GLASS - Frosted translucent surfaces */
2490
+ [data-color-theme="glass"] {
2491
+ --bg: #13111f;
2492
+ --surface: rgba(34, 27, 52, 0.78);
2493
+ --card: rgba(54, 44, 82, 0.55);
2494
+ --card-hover: rgba(66, 56, 99, 0.65);
2495
+ --border: rgba(255, 255, 255, 0.22);
2496
+ --text: #f2effa;
2497
+ --text-muted: #b8b0d2;
2498
+ --text-dim: #827aa1;
2499
+
2500
+ --todo: #c86bff;
2501
+ --in-progress: #ff7aa8;
2502
+ --in-progress-rgb: 255, 122, 168;
2503
+ --in-review: #89d7b0;
2504
+ --triage: #f2ba5b;
2505
+ --done: #827aa1;
2506
+ --color-success: #89d7b0;
2507
+ --color-error: #ff7a9c;
2508
+
2509
+ --font-primary: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
2510
+ --font-mono: "SF Mono", "JetBrains Mono", "Menlo", monospace;
2511
+
2512
+ --space-xs: 5px;
2513
+ --space-sm: 10px;
2514
+ --space-md: 14px;
2515
+ --space-lg: 20px;
2516
+ --space-xl: 28px;
2517
+ --space-2xl: 38px;
2518
+
2519
+ --radius-sm: 8px;
2520
+ --radius-md: 12px;
2521
+ --radius-lg: 20px;
2522
+ --radius-xl: 26px;
2523
+ --radius-pill: 999px;
2524
+ --radius: var(--radius-md);
2525
+
2526
+ --btn-padding: 9px 16px;
2527
+ --btn-border-width: 1px;
2528
+ --card-padding: 12px 14px;
2529
+ --modal-padding: var(--space-lg) var(--space-xl);
2530
+
2531
+ --shadow-sm: 0 8px 16px rgba(5, 2, 18, 0.24);
2532
+ --shadow-md: 0 14px 30px rgba(6, 3, 24, 0.3);
2533
+ --shadow-lg: 0 22px 42px rgba(8, 4, 30, 0.35);
2534
+ --shadow-glow: 0 0 12px rgba(200, 107, 255, 0.26);
2535
+ --focus-ring: 0 0 0 2px rgba(200, 107, 255, 0.2);
2536
+ --focus-ring-strong: 0 0 0 2px rgba(200, 107, 255, 0.3);
2537
+ --shadow: var(--shadow-lg);
2538
+
2539
+ --transition-instant: 0.08s ease;
2540
+ --transition-fast: 0.14s ease;
2541
+ --transition-normal: 0.22s ease;
2542
+ --transition-slow: 0.34s ease;
2543
+
2544
+ --cta-bg: rgba(200, 107, 255, 0.32);
2545
+ --cta-border: rgba(255, 255, 255, 0.38);
2546
+ --cta-text: #f8f5ff;
2547
+ --cta-bg-hover: rgba(200, 107, 255, 0.46);
2548
+ --cta-border-hover: rgba(255, 255, 255, 0.5);
2549
+ --cta-glow: 0 0 12px rgba(200, 107, 255, 0.24);
2550
+ --logo-accent: var(--todo);
2551
+ --color-info: #ff7aa8;
2552
+ --accent: #c86bff;
2553
+ }
2554
+
2555
+ [data-color-theme="glass"][data-theme="light"] {
2556
+ --bg: #eceaf5;
2557
+ --surface: rgba(255, 255, 255, 0.75);
2558
+ --card: rgba(255, 255, 255, 0.6);
2559
+ --card-hover: rgba(255, 255, 255, 0.75);
2560
+ --border: rgba(114, 91, 156, 0.22);
2561
+ --text: #2f2448;
2562
+ --text-muted: #66597f;
2563
+ --text-dim: #948aa8;
2564
+
2565
+ --todo: #9d40cf;
2566
+ --in-progress: #c74b7a;
2567
+ --in-progress-rgb: 199, 75, 122;
2568
+ --in-review: #3e8f6b;
2569
+ --triage: #b67a1f;
2570
+ --done: #948aa8;
2571
+ --color-success: #3e8f6b;
2572
+ --color-error: #c74b7a;
2573
+
2574
+ --shadow-sm: 0 8px 16px rgba(63, 44, 102, 0.08);
2575
+ --shadow-md: 0 14px 30px rgba(63, 44, 102, 0.1);
2576
+ --shadow-lg: 0 22px 42px rgba(63, 44, 102, 0.14);
2577
+ --shadow-glow: 0 0 10px rgba(157, 64, 207, 0.2);
2578
+ --focus-ring: 0 0 0 2px rgba(157, 64, 207, 0.15);
2579
+ --focus-ring-strong: 0 0 0 2px rgba(157, 64, 207, 0.24);
2580
+
2581
+ --cta-bg: rgba(157, 64, 207, 0.24);
2582
+ --cta-border: rgba(157, 64, 207, 0.38);
2583
+ --cta-text: #2f2448;
2584
+ --cta-bg-hover: rgba(157, 64, 207, 0.34);
2585
+ --cta-border-hover: rgba(157, 64, 207, 0.48);
2586
+ --cta-glow: 0 0 10px rgba(157, 64, 207, 0.22);
2587
+ --logo-accent: var(--todo);
2588
+ --color-info: #c74b7a;
2589
+ --accent: #9d40cf;
2590
+ }
2591
+
2592
+ [data-color-theme="glass"] .card,
2593
+ [data-color-theme="glass"] .column {
2594
+ backdrop-filter: blur(12px);
2595
+ -webkit-backdrop-filter: blur(12px);
2596
+ background: rgba(255, 255, 255, 0.08);
2597
+ border-color: rgba(255, 255, 255, 0.24);
2598
+ }
2599
+
2600
+ [data-color-theme="glass"][data-theme="light"] .card,
2601
+ [data-color-theme="glass"][data-theme="light"] .column {
2602
+ background: rgba(255, 255, 255, 0.6);
2603
+ border-color: rgba(114, 91, 156, 0.24);
2604
+ }
2605
+
2606
+ [data-color-theme="glass"] .btn {
2607
+ backdrop-filter: blur(10px);
2608
+ -webkit-backdrop-filter: blur(10px);
2609
+ border-color: rgba(255, 255, 255, 0.34);
2610
+ background: rgba(255, 255, 255, 0.1);
2611
+ }
2612
+
2613
+ [data-color-theme="glass"] .btn-primary,
2614
+ [data-color-theme="glass"] .btn-task-create {
2615
+ background: linear-gradient(135deg, rgba(200, 107, 255, 0.35), rgba(255, 122, 168, 0.3));
2616
+ border-color: rgba(255, 255, 255, 0.42);
2617
+ }
2618
+
2619
+ [data-color-theme="glass"] .btn-primary:hover,
2620
+ [data-color-theme="glass"] .btn-task-create:hover {
2621
+ background: linear-gradient(135deg, rgba(200, 107, 255, 0.5), rgba(255, 122, 168, 0.42));
2622
+ box-shadow: 0 12px 24px rgba(24, 14, 44, 0.28);
2623
+ }
2624
+
2625
+ [data-color-theme="glass"][data-theme="light"] .btn {
2626
+ background: rgba(255, 255, 255, 0.52);
2627
+ border-color: rgba(114, 91, 156, 0.28);
2628
+ }
2629
+
2630
+ [data-color-theme="glass"] .modal-overlay {
2631
+ backdrop-filter: blur(14px);
2632
+ -webkit-backdrop-filter: blur(14px);
2633
+ }
2634
+
2635
+ /* HORIZON - Warm sunset-inspired palette */
2636
+ [data-color-theme="horizon"] {
2637
+ --bg: #1c1e26;
2638
+ --surface: #16161c;
2639
+ --card: #1c1e26;
2640
+ --card-hover: #252731;
2641
+ --border: #3b3d4f;
2642
+ --text: #faf0ef;
2643
+ --text-muted: #c9cbd1;
2644
+ --text-dim: #8a8ca1;
2645
+
2646
+ --todo: #e59371;
2647
+ --in-progress: #f08c42;
2648
+ --in-progress-rgb: 240, 140, 66;
2649
+ --in-review: #29d398;
2650
+ --triage: #ee64ac;
2651
+ --done: #7a7d91;
2652
+ --color-success: #29d398;
2653
+ --color-error: #e8646a;
2654
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
2655
+ --shadow: var(--shadow-lg);
2656
+
2657
+ --cta-bg: #e8646a;
2658
+ --cta-border: #f08c42;
2659
+ --cta-text: #1c1e26;
2660
+ --cta-bg-hover: #f08c42;
2661
+ --cta-border-hover: #f8c967;
2662
+ --cta-glow: 0 0 8px rgba(233, 99, 112, 0.3);
2663
+ --logo-accent: var(--todo);
2664
+ --color-info: #f8c967;
2665
+ --accent: #e59371;
2666
+ }
2667
+
2668
+ [data-color-theme="horizon"][data-theme="light"] {
2669
+ --bg: #fdf0ed;
2670
+ --surface: #f9cec0;
2671
+ --card: #fceee7;
2672
+ --card-hover: #f5e2d8;
2673
+ --border: #e8c8b8;
2674
+ --text: #3a2a26;
2675
+ --text-muted: #6a5a52;
2676
+ --text-dim: #9a8a82;
2677
+
2678
+ --todo: #e8646a;
2679
+ --in-progress: #f08c42;
2680
+ --in-progress-rgb: 240, 140, 66;
2681
+ --in-review: #29a87c;
2682
+ --triage: #e8646a;
2683
+ --done: #8a7d78;
2684
+ --color-success: #29a87c;
2685
+ --color-error: #d84050;
2686
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
2687
+ --shadow: var(--shadow-lg);
2688
+
2689
+ --cta-bg: #e8646a;
2690
+ --cta-border: #f08c42;
2691
+ --cta-text: #fff;
2692
+ --cta-bg-hover: #f08c42;
2693
+ --cta-border-hover: #f8c967;
2694
+ --cta-glow: 0 0 8px rgba(232, 100, 106, 0.3);
2695
+ --logo-accent: var(--todo);
2696
+ --color-info: #d88030;
2697
+ --accent: #e8646a;
2698
+ }
2699
+
2700
+ /* VITEsse - Warm natural tones with teal accents */
2701
+ [data-color-theme="vitesse"] {
2702
+ --bg: #121817;
2703
+ --surface: #0d1210;
2704
+ --card: #1b2321;
2705
+ --card-hover: #232e2a;
2706
+ --border: #2a3832;
2707
+ --text: #d9d4cc;
2708
+ --text-muted: #8a857a;
2709
+ --text-dim: #5a5850;
2710
+
2711
+ --todo: #4c9a91;
2712
+ --in-progress: #dca561;
2713
+ --in-progress-rgb: 220, 165, 97;
2714
+ --in-review: #7cb586;
2715
+ --triage: #c0692d;
2716
+ --done: #5a5850;
2717
+ --color-success: #7cb586;
2718
+ --color-error: #cb4b16;
2719
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
2720
+ --shadow: var(--shadow-lg);
2721
+
2722
+ --cta-bg: #4c9a91;
2723
+ --cta-border: #7cb586;
2724
+ --cta-text: #0d1210;
2725
+ --cta-bg-hover: #7cb586;
2726
+ --cta-border-hover: #9cd4a6;
2727
+ --cta-glow: 0 0 8px rgba(76, 154, 145, 0.3);
2728
+ --logo-accent: var(--todo);
2729
+ --color-info: #dca561;
2730
+ --accent: #4c9a91;
2731
+ }
2732
+
2733
+ [data-color-theme="vitesse"][data-theme="light"] {
2734
+ --bg: #f8f5f0;
2735
+ --surface: #efe9e0;
2736
+ --card: #faf7f2;
2737
+ --card-hover: #f0ebe2;
2738
+ --border: #d9d0c0;
2739
+ --text: #2a2820;
2740
+ --text-muted: #6a6860;
2741
+ --text-dim: #9a9890;
2742
+
2743
+ --todo: #3a8578;
2744
+ --in-progress: #c08040;
2745
+ --in-progress-rgb: 192, 128, 64;
2746
+ --in-review: #5a9a68;
2747
+ --triage: #b06028;
2748
+ --done: #8a8880;
2749
+ --color-success: #5a9a68;
2750
+ --color-error: #b04820;
2751
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
2752
+ --shadow: var(--shadow-lg);
2753
+
2754
+ --cta-bg: #3a8578;
2755
+ --cta-border: #5a9a68;
2756
+ --cta-text: #fff;
2757
+ --cta-bg-hover: #5a9a68;
2758
+ --cta-border-hover: #7aba88;
2759
+ --cta-glow: 0 0 8px rgba(90, 154, 104, 0.3);
2760
+ --logo-accent: var(--todo);
2761
+ --color-info: #c08040;
2762
+ --accent: #3a8578;
2763
+ }
2764
+
2765
+ /* OUTRUN - Retrowave/synthwave aesthetic */
2766
+ [data-color-theme="outrun"] {
2767
+ --bg: #0a0a14;
2768
+ --surface: #0d0d1a;
2769
+ --card: #14142b;
2770
+ --card-hover: #1e1e3f;
2771
+ --border: #2a2a5a;
2772
+ --text: #f0e8ff;
2773
+ --text-muted: #a090c8;
2774
+ --text-dim: #6a60a0;
2775
+
2776
+ --todo: #ff2d95;
2777
+ --in-progress: #b537f2;
2778
+ --in-progress-rgb: 181, 55, 242;
2779
+ --in-review: #00e5ff;
2780
+ --triage: #ffab00;
2781
+ --done: #6a60a0;
2782
+ --color-success: #00e5ff;
2783
+ --color-error: #ff2d95;
2784
+ --shadow-lg: 0 4px 24px rgba(181, 55, 242, 0.4);
2785
+ --shadow: var(--shadow-lg);
2786
+
2787
+ --cta-bg: #b537f2;
2788
+ --cta-border: #ff2d95;
2789
+ --cta-text: #fff;
2790
+ --cta-bg-hover: #ff2d95;
2791
+ --cta-border-hover: #ff6bbf;
2792
+ --cta-glow: 0 0 8px rgba(255, 45, 149, 0.3);
2793
+ --logo-accent: var(--todo);
2794
+ --color-info: #00e5ff;
2795
+ --accent: #b537f2;
2796
+ }
2797
+
2798
+ [data-color-theme="outrun"][data-theme="light"] {
2799
+ --bg: #f0f0f5;
2800
+ --surface: #e8e8ef;
2801
+ --card: #f5f5fa;
2802
+ --card-hover: #ececf0;
2803
+ --border: #c8c8d8;
2804
+ --text: #2a2a40;
2805
+ --text-muted: #606080;
2806
+ --text-dim: #9090a8;
2807
+
2808
+ --todo: #d02080;
2809
+ --in-progress: #9030c8;
2810
+ --in-progress-rgb: 144, 48, 200;
2811
+ --in-review: #00a8b8;
2812
+ --triage: #c08000;
2813
+ --done: #8080a0;
2814
+ --color-success: #00a8b8;
2815
+ --color-error: #d02080;
2816
+ --shadow-lg: 0 4px 24px rgba(144, 48, 200, 0.15);
2817
+ --shadow: var(--shadow-lg);
2818
+
2819
+ --cta-bg: #9030c8;
2820
+ --cta-border: #d02080;
2821
+ --cta-text: #fff;
2822
+ --cta-bg-hover: #d02080;
2823
+ --cta-border-hover: #e04090;
2824
+ --cta-glow: 0 0 8px rgba(208, 32, 128, 0.3);
2825
+ --logo-accent: var(--todo);
2826
+ --color-info: #00a8b8;
2827
+ --accent: #9030c8;
2828
+ }
2829
+
2830
+ /* SNazzy - Bright playful colors */
2831
+ [data-color-theme="snazzy"] {
2832
+ --bg: #282a36;
2833
+ --surface: #1e1f29;
2834
+ --card: #343746;
2835
+ --card-hover: #404455;
2836
+ --border: #44475a;
2837
+ --text: #f8f8f2;
2838
+ --text-muted: #a8a8b8;
2839
+ --text-dim: #707080;
2840
+
2841
+ --todo: #ff5c57;
2842
+ --in-progress: #5af78e;
2843
+ --in-progress-rgb: 90, 247, 142;
2844
+ --in-review: #f3f99d;
2845
+ --triage: #ff6f91;
2846
+ --done: #707080;
2847
+ --color-success: #5af78e;
2848
+ --color-error: #ff5c57;
2849
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
2850
+ --shadow: var(--shadow-lg);
2851
+
2852
+ --cta-bg: #50fa7b;
2853
+ --cta-border: #5af78e;
2854
+ --cta-text: #282a36;
2855
+ --cta-bg-hover: #5af78e;
2856
+ --cta-border-hover: #8afaaa;
2857
+ --cta-glow: 0 0 8px rgba(90, 247, 142, 0.3);
2858
+ --logo-accent: var(--todo);
2859
+ --color-info: #f3f99d;
2860
+ --accent: #ff6f91;
2861
+ }
2862
+
2863
+ [data-color-theme="snazzy"][data-theme="light"] {
2864
+ --bg: #fafafa;
2865
+ --surface: #f0f0f2;
2866
+ --card: #ffffff;
2867
+ --card-hover: #f5f5f8;
2868
+ --border: #dcdce0;
2869
+ --text: #2a2a32;
2870
+ --text-muted: #606070;
2871
+ --text-dim: #909098;
2872
+
2873
+ --todo: #d04040;
2874
+ --in-progress: #30a050;
2875
+ --in-progress-rgb: 48, 160, 80;
2876
+ --in-review: #a0a030;
2877
+ --triage: #d06070;
2878
+ --done: #808088;
2879
+ --color-success: #30a050;
2880
+ --color-error: #d04040;
2881
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
2882
+ --shadow: var(--shadow-lg);
2883
+
2884
+ --cta-bg: #28a048;
2885
+ --cta-border: #30a050;
2886
+ --cta-text: #fff;
2887
+ --cta-bg-hover: #30a050;
2888
+ --cta-border-hover: #50c070;
2889
+ --cta-glow: 0 0 8px rgba(48, 160, 80, 0.3);
2890
+ --logo-accent: var(--todo);
2891
+ --color-info: #a0a030;
2892
+ --accent: #d06070;
2893
+ }
2894
+
2895
+ /* PORPLE - Rich purple with gold accents */
2896
+ [data-color-theme="porple"] {
2897
+ --bg: #292d3e;
2898
+ --surface: #1e2030;
2899
+ --card: #333751;
2900
+ --card-hover: #3e4265;
2901
+ --border: #4a4e6a;
2902
+ --text: #d0d4e8;
2903
+ --text-muted: #9094b0;
2904
+ --text-dim: #7074880;
2905
+
2906
+ --todo: #c792ea;
2907
+ --in-progress: #82aaff;
2908
+ --in-progress-rgb: 130, 170, 255;
2909
+ --in-review: #c3e88d;
2910
+ --triage: #f78c6c;
2911
+ --done: #707488;
2912
+ --color-success: #c3e88d;
2913
+ --color-error: #f07178;
2914
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.4);
2915
+ --shadow: var(--shadow-lg);
2916
+
2917
+ --cta-bg: #9a7ee8;
2918
+ --cta-border: #c792ea;
2919
+ --cta-text: #1e2030;
2920
+ --cta-bg-hover: #c792ea;
2921
+ --cta-border-hover: #d8b0ff;
2922
+ --cta-glow: 0 0 8px rgba(199, 146, 234, 0.3);
2923
+ --logo-accent: var(--todo);
2924
+ --color-info: #ffcb6b;
2925
+ --accent: #c792ea;
2926
+ }
2927
+
2928
+ [data-color-theme="porple"][data-theme="light"] {
2929
+ --bg: #f5f3f7;
2930
+ --surface: #eae7ef;
2931
+ --card: #ffffff;
2932
+ --card-hover: #f0eef5;
2933
+ --border: #c8c4d0;
2934
+ --text: #2a2840;
2935
+ --text-muted: #606080;
2936
+ --text-dim: #9090a8;
2937
+
2938
+ --todo: #9060d8;
2939
+ --in-progress: #4080c8;
2940
+ --in-progress-rgb: 64, 128, 200;
2941
+ --in-review: #60a050;
2942
+ --triage: #d07050;
2943
+ --done: #8080a0;
2944
+ --color-success: #60a050;
2945
+ --color-error: #c04050;
2946
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
2947
+ --shadow: var(--shadow-lg);
2948
+
2949
+ --cta-bg: #8058c8;
2950
+ --cta-border: #9060d8;
2951
+ --cta-text: #fff;
2952
+ --cta-bg-hover: #9060d8;
2953
+ --cta-border-hover: #a080e8;
2954
+ --cta-glow: 0 0 8px rgba(144, 96, 216, 0.3);
2955
+ --logo-accent: var(--todo);
2956
+ --color-info: #d0a030;
2957
+ --accent: #9060d8;
2958
+ }
2959
+
2960
+ /* ESPRESSO - Deep coffee browns */
2961
+ [data-color-theme="espresso"] {
2962
+ --bg: #2c1f1a;
2963
+ --surface: #231813;
2964
+ --card: #3d2b22;
2965
+ --card-hover: #4a352c;
2966
+ --border: #5a453a;
2967
+ --text: #e8ddd5;
2968
+ --text-muted: #a09080;
2969
+ --text-dim: #706050;
2970
+
2971
+ --todo: #d4a574;
2972
+ --in-progress: #c17d56;
2973
+ --in-progress-rgb: 193, 125, 86;
2974
+ --in-review: #8f6552;
2975
+ --triage: #d47a6a;
2976
+ --done: #706050;
2977
+ --color-success: #8f6552;
2978
+ --color-error: #d47a6a;
2979
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
2980
+ --shadow: var(--shadow-lg);
2981
+
2982
+ --cta-bg: #c17d56;
2983
+ --cta-border: #d4a574;
2984
+ --cta-text: #231813;
2985
+ --cta-bg-hover: #d4a574;
2986
+ --cta-border-hover: #e4b884;
2987
+ --cta-glow: 0 0 8px rgba(212, 165, 116, 0.3);
2988
+ --logo-accent: var(--todo);
2989
+ --color-info: #8f6552;
2990
+ --accent: #d4a574;
2991
+ }
2992
+
2993
+ [data-color-theme="espresso"][data-theme="light"] {
2994
+ --bg: #f5ece4;
2995
+ --surface: #ebe1d6;
2996
+ --card: #fff8f0;
2997
+ --card-hover: #f0e8e0;
2998
+ --border: #d0c0b0;
2999
+ --text: #2a2018;
3000
+ --text-muted: #6a5a4a;
3001
+ --text-dim: #9a8a78;
3002
+
3003
+ --todo: #a07050;
3004
+ --in-progress: #906040;
3005
+ --in-progress-rgb: 144, 96, 64;
3006
+ --in-review: #706050;
3007
+ --triage: #b06050;
3008
+ --done: #8a7a68;
3009
+ --color-success: #706050;
3010
+ --color-error: #b06050;
3011
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
3012
+ --shadow: var(--shadow-lg);
3013
+
3014
+ --cta-bg: #906040;
3015
+ --cta-border: #a07050;
3016
+ --cta-text: #fff;
3017
+ --cta-bg-hover: #a07050;
3018
+ --cta-border-hover: #b08060;
3019
+ --cta-glow: 0 0 8px rgba(160, 112, 80, 0.3);
3020
+ --logo-accent: var(--todo);
3021
+ --color-info: #806040;
3022
+ --accent: #a07050;
3023
+ }
3024
+
3025
+ /* MARS - Red planet inspired */
3026
+ [data-color-theme="mars"] {
3027
+ --bg: #1a1210;
3028
+ --surface: #140e0c;
3029
+ --card: #2a1e18;
3030
+ --card-hover: #352820;
3031
+ --border: #4a3828;
3032
+ --text: #e8ddd0;
3033
+ --text-muted: #a09080;
3034
+ --text-dim: #706050;
3035
+
3036
+ --todo: #c1440e;
3037
+ --in-progress: #e77d3d;
3038
+ --in-progress-rgb: 231, 125, 61;
3039
+ --in-review: #d4874d;
3040
+ --triage: #c44030;
3041
+ --done: #706050;
3042
+ --color-success: #d4874d;
3043
+ --color-error: #c44030;
3044
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
3045
+ --shadow: var(--shadow-lg);
3046
+
3047
+ --cta-bg: #c1440e;
3048
+ --cta-border: #e77d3d;
3049
+ --cta-text: #fff;
3050
+ --cta-bg-hover: #e77d3d;
3051
+ --cta-border-hover: #f7a060;
3052
+ --cta-glow: 0 0 8px rgba(193, 68, 14, 0.3);
3053
+ --logo-accent: var(--todo);
3054
+ --color-info: #d4874d;
3055
+ --accent: #c1440e;
3056
+ }
3057
+
3058
+ [data-color-theme="mars"][data-theme="light"] {
3059
+ --bg: #f5ece6;
3060
+ --surface: #ebe0d4;
3061
+ --card: #fff5ee;
3062
+ --card-hover: #f0e8e0;
3063
+ --border: #d0c0b0;
3064
+ --text: #2a2018;
3065
+ --text-muted: #6a5a4a;
3066
+ --text-dim: #9a8a78;
3067
+
3068
+ --todo: #a03010;
3069
+ --in-progress: #c06030;
3070
+ --in-progress-rgb: 192, 96, 48;
3071
+ --in-review: #b07040;
3072
+ --triage: #a03020;
3073
+ --done: #8a7a68;
3074
+ --color-success: #b07040;
3075
+ --color-error: #a03020;
3076
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
3077
+ --shadow: var(--shadow-lg);
3078
+
3079
+ --cta-bg: #a03010;
3080
+ --cta-border: #c06030;
3081
+ --cta-text: #fff;
3082
+ --cta-bg-hover: #c06030;
3083
+ --cta-border-hover: #d08050;
3084
+ --cta-glow: 0 0 8px rgba(160, 48, 16, 0.3);
3085
+ --logo-accent: var(--todo);
3086
+ --color-info: #b07040;
3087
+ --accent: #a03010;
3088
+ }
3089
+
3090
+ /* POIMANDRES - Pastel blue/purple with teal accents */
3091
+ [data-color-theme="poimandres"] {
3092
+ --bg: #1a1b26;
3093
+ --surface: #14151f;
3094
+ --card: #252736;
3095
+ --card-hover: #303245;
3096
+ --border: #3d3e50;
3097
+ --text: #d4d7e5;
3098
+ --text-muted: #8b8fa8;
3099
+ --text-dim: #5d5f78;
3100
+
3101
+ --todo: #89ddff;
3102
+ --in-progress: #5de4c7;
3103
+ --in-progress-rgb: 93, 228, 199;
3104
+ --in-review: #b4bcff;
3105
+ --triage: #f0c674;
3106
+ --done: #5d5f78;
3107
+ --color-success: #5de4c7;
3108
+ --color-error: #d0679d;
3109
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.4);
3110
+ --shadow: var(--shadow-lg);
3111
+
3112
+ --cta-bg: #5de4c7;
3113
+ --cta-border: #89ddff;
3114
+ --cta-text: #14151f;
3115
+ --cta-bg-hover: #89ddff;
3116
+ --cta-border-hover: #aae8ff;
3117
+ --cta-glow: 0 0 8px rgba(93, 228, 199, 0.3);
3118
+ --logo-accent: var(--todo);
3119
+ --color-info: #b4bcff;
3120
+ --accent: #89ddff;
3121
+ }
3122
+
3123
+ [data-color-theme="poimandres"][data-theme="light"] {
3124
+ --bg: #f0f0f5;
3125
+ --surface: #e6e6ee;
3126
+ --card: #f5f5fa;
3127
+ --card-hover: #ececf0;
3128
+ --border: #c8c8d8;
3129
+ --text: #2a2b40;
3130
+ --text-muted: #606080;
3131
+ --text-dim: #9090a8;
3132
+
3133
+ --todo: #4090c0;
3134
+ --in-progress: #30a090;
3135
+ --in-progress-rgb: 48, 160, 144;
3136
+ --in-review: #8070c0;
3137
+ --triage: #b08030;
3138
+ --done: #8080a0;
3139
+ --color-success: #30a090;
3140
+ --color-error: #c04080;
3141
+ --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
3142
+ --shadow: var(--shadow-lg);
3143
+
3144
+ --cta-bg: #30a090;
3145
+ --cta-border: #4090c0;
3146
+ --cta-text: #fff;
3147
+ --cta-bg-hover: #4090c0;
3148
+ --cta-border-hover: #60a8d8;
3149
+ --cta-glow: 0 0 8px rgba(48, 160, 144, 0.3);
3150
+ --logo-accent: var(--todo);
3151
+ --color-info: #8070c0;
3152
+ --accent: #4090c0;
3153
+ }
3154
+
3155
+ /* RUST - Deep oxidized red-brown with warm rust accents */
3156
+ [data-color-theme="rust"] {
3157
+ --bg: #0f0b09;
3158
+ --surface: #1a1410;
3159
+ --card: #231b14;
3160
+ --card-hover: #2e241c;
3161
+ --border: #4a3528;
3162
+ --text: #f0e8e0;
3163
+ --text-muted: #a09080;
3164
+ --text-dim: #605040;
3165
+
3166
+ --todo: #e06830;
3167
+ --in-progress: #e88040;
3168
+ --in-progress-rgb: 232, 128, 64;
3169
+ --in-review: #40b8b0;
3170
+ --triage: #e05030;
3171
+ --done: #a08870;
3172
+ --color-success: #40b8b0;
3173
+ --color-error: #e04030;
3174
+
3175
+ --cta-bg: #a04020;
3176
+ --cta-border: #c05828;
3177
+ --cta-text: #fff;
3178
+ --cta-bg-hover: #c05828;
3179
+ --cta-border-hover: #d87038;
3180
+ --cta-glow: 0 0 8px rgba(199, 91, 42, 0.3);
3181
+ --logo-accent: var(--todo);
3182
+ --color-info: #58a8d0;
3183
+ --accent: #c75b2a;
3184
+ }
3185
+
3186
+ [data-color-theme="rust"][data-theme="light"] {
3187
+ --bg: #f5efe8;
3188
+ --surface: #ebe3d8;
3189
+ --card: #fdfaf6;
3190
+ --card-hover: #f5efe8;
3191
+ --border: #d8d0c0;
3192
+ --text: #1a1510;
3193
+ --text-muted: #685a48;
3194
+ --text-dim: #8a7a66;
3195
+
3196
+ --todo: #a04020;
3197
+ --in-progress: #b85828;
3198
+ --in-progress-rgb: 184, 88, 40;
3199
+ --in-review: #209090;
3200
+ --triage: #c03820;
3201
+ --done: #887868;
3202
+ --color-success: #209090;
3203
+ --color-error: #c03020;
3204
+
3205
+ --cta-bg: #803818;
3206
+ --cta-border: #a04820;
3207
+ --cta-text: #fff;
3208
+ --cta-bg-hover: #a04820;
3209
+ --cta-border-hover: #b85a28;
3210
+ --cta-glow: 0 0 8px rgba(160, 72, 32, 0.3);
3211
+ --logo-accent: var(--todo);
3212
+ --color-info: #2878a0;
3213
+ --accent: #a04520;
3214
+ }
3215
+
3216
+ /* COPPER - Warm metallic copper tones */
3217
+ [data-color-theme="copper"] {
3218
+ --bg: #0e0c0a;
3219
+ --surface: #181410;
3220
+ --card: #211c16;
3221
+ --card-hover: #2c251c;
3222
+ --border: #4d3d2e;
3223
+ --text: #f0e8e0;
3224
+ --text-muted: #a09080;
3225
+ --text-dim: #605040;
3226
+
3227
+ --todo: #e89545;
3228
+ --in-progress: #f0a858;
3229
+ --in-progress-rgb: 240, 168, 88;
3230
+ --in-review: #40c0a8;
3231
+ --triage: #e06838;
3232
+ --done: #a09078;
3233
+ --color-success: #40c0a8;
3234
+ --color-error: #e05830;
3235
+
3236
+ --cta-bg: #b06830;
3237
+ --cta-border: #c87840;
3238
+ --cta-text: #fff;
3239
+ --cta-bg-hover: #c87840;
3240
+ --cta-border-hover: #d88a50;
3241
+ --cta-glow: 0 0 8px rgba(212, 133, 74, 0.3);
3242
+ --logo-accent: var(--todo);
3243
+ --color-info: #60a8d8;
3244
+ --accent: #d4854a;
3245
+ }
3246
+
3247
+ [data-color-theme="copper"][data-theme="light"] {
3248
+ --bg: #f3ede6;
3249
+ --surface: #e8e0d6;
3250
+ --card: #fdfaf7;
3251
+ --card-hover: #f5efe8;
3252
+ --border: #d8d0c0;
3253
+ --text: #1a1512;
3254
+ --text-muted: #665a50;
3255
+ --text-dim: #8a7a68;
3256
+
3257
+ --todo: #905820;
3258
+ --in-progress: #a87030;
3259
+ --in-progress-rgb: 168, 112, 48;
3260
+ --in-review: #30a090;
3261
+ --triage: #b04820;
3262
+ --done: #887868;
3263
+ --color-success: #30a090;
3264
+ --color-error: #b03020;
3265
+
3266
+ --cta-bg: #785020;
3267
+ --cta-border: #906828;
3268
+ --cta-text: #fff;
3269
+ --cta-bg-hover: #906828;
3270
+ --cta-border-hover: #a87830;
3271
+ --cta-glow: 0 0 8px rgba(144, 84, 32, 0.3);
3272
+ --logo-accent: var(--todo);
3273
+ --color-info: #306090;
3274
+ --accent: #b06830;
3275
+ }
3276
+
3277
+ /* FOUNDRY - Molten metal with orange-yellow glows */
3278
+ [data-color-theme="foundry"] {
3279
+ --bg: #0c0806;
3280
+ --surface: #15100c;
3281
+ --card: #1e1610;
3282
+ --card-hover: #28201a;
3283
+ --border: #40301e;
3284
+ --text: #f0e8e0;
3285
+ --text-muted: #a09080;
3286
+ --text-dim: #605040;
3287
+
3288
+ --todo: #ffab20;
3289
+ --in-progress: #ffc040;
3290
+ --in-progress-rgb: 255, 192, 64;
3291
+ --in-review: #40c0c0;
3292
+ --triage: #ff6020;
3293
+ --done: #a08060;
3294
+ --color-success: #40c0c0;
3295
+ --color-error: #ff4020;
3296
+
3297
+ --cta-bg: #c07808;
3298
+ --cta-border: #e08a10;
3299
+ --cta-text: #1a1008;
3300
+ --cta-bg-hover: #e08a10;
3301
+ --cta-border-hover: #f09a18;
3302
+ --cta-glow: 0 0 12px rgba(240, 154, 24, 0.4);
3303
+ --logo-accent: var(--todo);
3304
+ --color-info: #60b0e0;
3305
+ --accent: #f0960a;
3306
+ }
3307
+
3308
+ [data-color-theme="foundry"][data-theme="light"] {
3309
+ --bg: #f5f0e6;
3310
+ --surface: #ebe4d6;
3311
+ --card: #fdfaf5;
3312
+ --card-hover: #f5f0e8;
3313
+ --border: #d0c4b0;
3314
+ --text: #1a1510;
3315
+ --text-muted: #685a48;
3316
+ --text-dim: #8a7a66;
3317
+
3318
+ --todo: #c07808;
3319
+ --in-progress: #d08a10;
3320
+ --in-progress-rgb: 208, 138, 16;
3321
+ --in-review: #208080;
3322
+ --triage: #a04818;
3323
+ --done: #787068;
3324
+ --color-success: #208080;
3325
+ --color-error: #a03020;
3326
+
3327
+ --cta-bg: #906008;
3328
+ --cta-border: #b07810;
3329
+ --cta-text: #fff;
3330
+ --cta-bg-hover: #b07810;
3331
+ --cta-border-hover: #c08818;
3332
+ --cta-glow: 0 0 8px rgba(192, 120, 16, 0.3);
3333
+ --logo-accent: var(--todo);
3334
+ --color-info: #3070a0;
3335
+ --accent: #c07808;
3336
+ }
3337
+
3338
+ /* CARBON - Graphite-like carbon fiber aesthetic */
3339
+ [data-color-theme="carbon"] {
3340
+ --bg: #0a0b0d;
3341
+ --surface: #111318;
3342
+ --card: #181b22;
3343
+ --card-hover: #222630;
3344
+ --border: #2a3040;
3345
+ --text: #e8ecf0;
3346
+ --text-muted: #8090a0;
3347
+ --text-dim: #505860;
3348
+
3349
+ --todo: #6a9acf;
3350
+ --in-progress: #7ab0e0;
3351
+ --in-progress-rgb: 122, 176, 224;
3352
+ --in-review: #80c0c0;
3353
+ --triage: #c08080;
3354
+ --done: #687080;
3355
+ --color-success: #80c0c0;
3356
+ --color-error: #c06060;
3357
+
3358
+ --cta-bg: #406080;
3359
+ --cta-border: #5a7898;
3360
+ --cta-text: #fff;
3361
+ --cta-bg-hover: #5a7898;
3362
+ --cta-border-hover: #6a8aac;
3363
+ --cta-glow: 0 0 8px rgba(90, 122, 160, 0.3);
3364
+ --logo-accent: var(--todo);
3365
+ --color-info: #6090c0;
3366
+ --accent: #5a8abf;
3367
+ }
3368
+
3369
+ [data-color-theme="carbon"][data-theme="light"] {
3370
+ --bg: #eef0f4;
3371
+ --surface: #e2e6ec;
3372
+ --card: #f5f7fa;
3373
+ --card-hover: #eef2f6;
3374
+ --border: #c0c8d0;
3375
+ --text: #1a2028;
3376
+ --text-muted: #586070;
3377
+ --text-dim: #78808a;
3378
+
3379
+ --todo: #3a6090;
3380
+ --in-progress: #4878a0;
3381
+ --in-progress-rgb: 72, 120, 160;
3382
+ --in-review: #4090a0;
3383
+ --triage: #a05050;
3384
+ --done: #687080;
3385
+ --color-success: #4090a0;
3386
+ --color-error: #a03030;
3387
+
3388
+ --cta-bg: #305878;
3389
+ --cta-border: #4070a0;
3390
+ --cta-text: #fff;
3391
+ --cta-bg-hover: #4070a0;
3392
+ --cta-border-hover: #5080b0;
3393
+ --cta-glow: 0 0 8px rgba(64, 112, 160, 0.3);
3394
+ --logo-accent: var(--todo);
3395
+ --color-info: #306090;
3396
+ --accent: #3a6a9f;
3397
+ }
3398
+
3399
+ /* SANDSTONE - Warm desert sandstone */
3400
+ [data-color-theme="sandstone"] {
3401
+ --bg: #1a1712;
3402
+ --surface: #241f18;
3403
+ --card: #2e2820;
3404
+ --card-hover: #38322a;
3405
+ --border: #4a4035;
3406
+ --text: #f0e8dc;
3407
+ --text-muted: #a09080;
3408
+ --text-dim: #706858;
3409
+
3410
+ --todo: #d4a06a;
3411
+ --in-progress: #e0b080;
3412
+ --in-progress-rgb: 224, 176, 128;
3413
+ --in-review: #c09060;
3414
+ --triage: #b08070;
3415
+ --done: #a09080;
3416
+ --color-success: #80a070;
3417
+ --color-error: #b06060;
3418
+
3419
+ --cta-bg: #a07840;
3420
+ --cta-border: #c09060;
3421
+ --cta-text: #fff;
3422
+ --cta-bg-hover: #b08850;
3423
+ --cta-border-hover: #d0a070;
3424
+ --cta-glow: 0 0 8px rgba(192, 144, 96, 0.3);
3425
+ --logo-accent: var(--todo);
3426
+ --color-info: #90a8c0;
3427
+ --accent: #c4905a;
3428
+ }
3429
+
3430
+ [data-color-theme="sandstone"][data-theme="light"] {
3431
+ --bg: #f5f0e8;
3432
+ --surface: #ebe4d8;
3433
+ --card: #faf6ee;
3434
+ --card-hover: #f0e8e0;
3435
+ --border: #d0c8b8;
3436
+ --text: #2a2418;
3437
+ --text-muted: #605848;
3438
+ --text-dim: #888070;
3439
+
3440
+ --todo: #a07040;
3441
+ --in-progress: #b08050;
3442
+ --in-progress-rgb: 176, 128, 80;
3443
+ --in-review: #907060;
3444
+ --triage: #c09080;
3445
+ --done: #807060;
3446
+ --color-success: #607840;
3447
+ --color-error: #a04040;
3448
+
3449
+ --cta-bg: #8a6830;
3450
+ --cta-border: #a08050;
3451
+ --cta-text: #fff;
3452
+ --cta-bg-hover: #9a7840;
3453
+ --cta-border-hover: #b09060;
3454
+ --cta-glow: 0 0 8px rgba(160, 128, 80, 0.3);
3455
+ --logo-accent: var(--todo);
3456
+ --color-info: #5888a8;
3457
+ --accent: #a07040;
3458
+ }
3459
+
3460
+ /* LAGOON - Deep tropical lagoon */
3461
+ [data-color-theme="lagoon"] {
3462
+ --bg: #0a1214;
3463
+ --surface: #101c1f;
3464
+ --card: #162628;
3465
+ --card-hover: #1c3034;
3466
+ --border: #2a4045;
3467
+ --text: #e0f0f0;
3468
+ --text-muted: #80a0a8;
3469
+ --text-dim: #507880;
3470
+
3471
+ --todo: #50d8c0;
3472
+ --in-progress: #60e8d0;
3473
+ --in-progress-rgb: 96, 232, 208;
3474
+ --in-review: #48c0b0;
3475
+ --triage: #c08080;
3476
+ --done: #70a8a0;
3477
+ --color-success: #50c8b0;
3478
+ --color-error: #b05060;
3479
+
3480
+ --cta-bg: #308880;
3481
+ --cta-border: #40a8a0;
3482
+ --cta-text: #fff;
3483
+ --cta-bg-hover: #409898;
3484
+ --cta-border-hover: #50b8b0;
3485
+ --cta-glow: 0 0 8px rgba(64, 168, 160, 0.3);
3486
+ --logo-accent: var(--todo);
3487
+ --color-info: #50a8c0;
3488
+ --accent: #40c8b0;
3489
+ }
3490
+
3491
+ [data-color-theme="lagoon"][data-theme="light"] {
3492
+ --bg: #eef5f3;
3493
+ --surface: #e0ebe8;
3494
+ --card: #f0f8f5;
3495
+ --card-hover: #e4f0ec;
3496
+ --border: #b0c8c0;
3497
+ --text: #102420;
3498
+ --text-muted: #486058;
3499
+ --text-dim: #688078;
3500
+
3501
+ --todo: #208070;
3502
+ --in-progress: #289080;
3503
+ --in-progress-rgb: 40, 144, 128;
3504
+ --in-review: #308078;
3505
+ --triage: #a06060;
3506
+ --done: #587878;
3507
+ --color-success: #308070;
3508
+ --color-error: #983030;
3509
+
3510
+ --cta-bg: #287060;
3511
+ --cta-border: #389080;
3512
+ --cta-text: #fff;
3513
+ --cta-bg-hover: #308070;
3514
+ --cta-border-hover: #40a090;
3515
+ --cta-glow: 0 0 8px rgba(56, 144, 128, 0.3);
3516
+ --logo-accent: var(--todo);
3517
+ --color-info: #2880a0;
3518
+ --accent: #2a9080;
3519
+ }
3520
+
3521
+ /* FROST - Cool icy blue-white */
3522
+ [data-color-theme="frost"] {
3523
+ --bg: #0c0e14;
3524
+ --surface: #121520;
3525
+ --card: #1a1e2c;
3526
+ --card-hover: #222638;
3527
+ --border: #2a3048;
3528
+ --text: #e8f0f8;
3529
+ --text-muted: #8098b0;
3530
+ --text-dim: #506878;
3531
+
3532
+ --todo: #8ac8f8;
3533
+ --in-progress: #9ad8ff;
3534
+ --in-progress-rgb: 154, 216, 255;
3535
+ --in-review: #78b8e8;
3536
+ --triage: #c08080;
3537
+ --done: #6878a0;
3538
+ --color-success: #70b8d0;
3539
+ --color-error: #b06070;
3540
+
3541
+ --cta-bg: #4070a8;
3542
+ --cta-border: #5888c0;
3543
+ --cta-text: #fff;
3544
+ --cta-bg-hover: #5080b8;
3545
+ --cta-border-hover: #6898d0;
3546
+ --cta-glow: 0 0 8px rgba(88, 136, 192, 0.3);
3547
+ --logo-accent: var(--todo);
3548
+ --color-info: #60a0c8;
3549
+ --accent: #7ab8e8;
3550
+ }
3551
+
3552
+ [data-color-theme="frost"][data-theme="light"] {
3553
+ --bg: #f0f4f8;
3554
+ --surface: #e4eaf0;
3555
+ --card: #f8fafc;
3556
+ --card-hover: #ecf2f8;
3557
+ --border: #b0c0d0;
3558
+ --text: #101828;
3559
+ --text-muted: #485868;
3560
+ --text-dim: #687888;
3561
+
3562
+ --todo: #3078a8;
3563
+ --in-progress: #4088b8;
3564
+ --in-progress-rgb: 64, 136, 184;
3565
+ --in-review: #407898;
3566
+ --triage: #a06060;
3567
+ --done: #586878;
3568
+ --color-success: #3088a0;
3569
+ --color-error: #982830;
3570
+
3571
+ --cta-bg: #2870a0;
3572
+ --cta-border: #3888b8;
3573
+ --cta-text: #fff;
3574
+ --cta-bg-hover: #3080b0;
3575
+ --cta-border-hover: #4898c8;
3576
+ --cta-glow: 0 0 8px rgba(56, 136, 184, 0.3);
3577
+ --logo-accent: var(--todo);
3578
+ --color-info: #2080a8;
3579
+ --accent: #4a90c0;
3580
+ }
3581
+
3582
+ /* LAVENDER - Soft purple-lavender tones */
3583
+ [data-color-theme="lavender"] {
3584
+ --bg: #14101a;
3585
+ --surface: #1c1624;
3586
+ --card: #241e30;
3587
+ --card-hover: #2c2838;
3588
+ --border: #3a3050;
3589
+ --text: #f0e8f8;
3590
+ --text-muted: #a090b8;
3591
+ --text-dim: #706880;
3592
+
3593
+ --todo: #c8a0e8;
3594
+ --in-progress: #d8b0f0;
3595
+ --in-progress-rgb: 216, 176, 240;
3596
+ --in-review: #b890d8;
3597
+ --triage: #c080a0;
3598
+ --done: #9880a8;
3599
+ --color-success: #a090c0;
3600
+ --color-error: #b06878;
3601
+
3602
+ --cta-bg: #8060a0;
3603
+ --cta-border: #9878b8;
3604
+ --cta-text: #fff;
3605
+ --cta-bg-hover: #9070b0;
3606
+ --cta-border-hover: #a888c8;
3607
+ --cta-glow: 0 0 8px rgba(152, 120, 184, 0.3);
3608
+ --logo-accent: var(--todo);
3609
+ --color-info: #9090c0;
3610
+ --accent: #b890d8;
3611
+ }
3612
+
3613
+ [data-color-theme="lavender"][data-theme="light"] {
3614
+ --bg: #f4f0f8;
3615
+ --surface: #e8e2f0;
3616
+ --card: #faf8fc;
3617
+ --card-hover: #f2eef8;
3618
+ --border: #c8c0d8;
3619
+ --text: #18101c;
3620
+ --text-muted: #504858;
3621
+ --text-dim: #706878;
3622
+
3623
+ --todo: #8060a0;
3624
+ --in-progress: #9070b0;
3625
+ --in-progress-rgb: 144, 112, 176;
3626
+ --in-review: #7870a0;
3627
+ --triage: #a08090;
3628
+ --done: #786878;
3629
+ --color-success: #607898;
3630
+ --color-error: #983048;
3631
+
3632
+ --cta-bg: #685090;
3633
+ --cta-border: #8068a8;
3634
+ --cta-text: #fff;
3635
+ --cta-bg-hover: #7860a0;
3636
+ --cta-border-hover: #9078b8;
3637
+ --cta-glow: 0 0 8px rgba(128, 104, 168, 0.3);
3638
+ --logo-accent: var(--todo);
3639
+ --color-info: #6868a0;
3640
+ --accent: #8060a8;
3641
+ }
3642
+
3643
+ /* NEON-BLOOM - Vibrant neon pastels */
3644
+ [data-color-theme="neon-bloom"] {
3645
+ --bg: #120a18;
3646
+ --surface: #1a1024;
3647
+ --card: #241630;
3648
+ --card-hover: #2c1e3c;
3649
+ --border: #3a2850;
3650
+ --text: #f8e8f8;
3651
+ --text-muted: #b090b8;
3652
+ --text-dim: #806880;
3653
+
3654
+ --todo: #f080d0;
3655
+ --in-progress: #ff90e0;
3656
+ --in-progress-rgb: 255, 144, 224;
3657
+ --in-review: #e870c0;
3658
+ --triage: #c0a0a8;
3659
+ --done: #b090c0;
3660
+ --color-success: #c0d0a0;
3661
+ --color-error: #c06878;
3662
+
3663
+ --cta-bg: #a04898;
3664
+ --cta-border: #c060b8;
3665
+ --cta-text: #fff;
3666
+ --cta-bg-hover: #b058a8;
3667
+ --cta-border-hover: #d070c8;
3668
+ --cta-glow: 0 0 8px rgba(192, 96, 184, 0.3);
3669
+ --logo-accent: var(--todo);
3670
+ --color-info: #b090d0;
3671
+ --accent: #e870c0;
3672
+ }
3673
+
3674
+ [data-color-theme="neon-bloom"][data-theme="light"] {
3675
+ --bg: #f8f0f8;
3676
+ --surface: #f0e4f0;
3677
+ --card: #fcf8fc;
3678
+ --card-hover: #f8f0f8;
3679
+ --border: #d8d0e0;
3680
+ --text: #18081c;
3681
+ --text-muted: #584868;
3682
+ --text-dim: #786888;
3683
+
3684
+ --todo: #a03090;
3685
+ --in-progress: #b040a0;
3686
+ --in-progress-rgb: 176, 64, 160;
3687
+ --in-review: #9838a0;
3688
+ --triage: #a08090;
3689
+ --done: #786878;
3690
+ --color-success: #587898;
3691
+ --color-error: #982848;
3692
+
3693
+ --cta-bg: #8030a0;
3694
+ --cta-border: #9848b8;
3695
+ --cta-text: #fff;
3696
+ --cta-bg-hover: #9040b0;
3697
+ --cta-border-hover: #a858c8;
3698
+ --cta-glow: 0 0 8px rgba(152, 72, 184, 0.3);
3699
+ --logo-accent: var(--todo);
3700
+ --color-info: #7878c0;
3701
+ --accent: #c040a0;
3702
+ }
3703
+
3704
+ /* SEPIA - Warm vintage sepia photography aesthetic */
3705
+ [data-color-theme="sepia"] {
3706
+ --bg: #161210;
3707
+ --surface: #201a16;
3708
+ --card: #2a2420;
3709
+ --card-hover: #342e28;
3710
+ --border: #4a4038;
3711
+ --text: #f0e8d8;
3712
+ --text-muted: #a09078;
3713
+ --text-dim: #706858;
3714
+
3715
+ --todo: #d8b878;
3716
+ --in-progress: #e8c888;
3717
+ --in-progress-rgb: 232, 200, 136;
3718
+ --in-review: #c8a868;
3719
+ --triage: #b8a088;
3720
+ --done: #908070;
3721
+ --color-success: #a0b080;
3722
+ --color-error: #b87068;
3723
+
3724
+ --cta-bg: #907850;
3725
+ --cta-border: #a89068;
3726
+ --cta-text: #fff;
3727
+ --cta-bg-hover: #a08858;
3728
+ --cta-border-hover: #b8a078;
3729
+ --cta-glow: 0 0 8px rgba(168, 144, 104, 0.3);
3730
+ --logo-accent: var(--todo);
3731
+ --color-info: #a8a0b0;
3732
+ --accent: #c8a868;
3733
+ }
3734
+
3735
+ [data-color-theme="sepia"][data-theme="light"] {
3736
+ --bg: #f5f0e4;
3737
+ --surface: #ece4d4;
3738
+ --card: #faf8f0;
3739
+ --card-hover: #f4eedc;
3740
+ --border: #d0c8b8;
3741
+ --text: #201810;
3742
+ --text-muted: #584838;
3743
+ --text-dim: #786858;
3744
+
3745
+ --todo: #907040;
3746
+ --in-progress: #a08050;
3747
+ --in-progress-rgb: 160, 128, 80;
3748
+ --in-review: #886838;
3749
+ --triage: #a08878;
3750
+ --done: #786858;
3751
+ --color-success: #607038;
3752
+ --color-error: #983020;
3753
+
3754
+ --cta-bg: #786030;
3755
+ --cta-border: #907840;
3756
+ --cta-text: #fff;
3757
+ --cta-bg-hover: #887038;
3758
+ --cta-border-hover: #a08848;
3759
+ --cta-glow: 0 0 8px rgba(144, 120, 64, 0.3);
3760
+ --logo-accent: var(--todo);
3761
+ --color-info: #888098;
3762
+ --accent: #9a8050;
3763
+ }
3764
+