@speakeasy-api/moonshine 1.13.0 → 1.14.0-alpha.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 (43) hide show
  1. package/README.md +160 -4
  2. package/dist/components/Command/index.d.ts +1 -1
  3. package/dist/components/Icon/names.d.ts +1 -1
  4. package/dist/components/ThemeSwitcher/index.d.ts +5 -0
  5. package/dist/context/ConfigContext.d.ts +6 -6
  6. package/dist/context/theme.d.ts +1 -0
  7. package/dist/{createCustomLucideIcon-ChC8tGxZ.mjs → createCustomLucideIcon-Cl0noR4s.mjs} +3 -3
  8. package/dist/{createCustomLucideIcon-ChC8tGxZ.mjs.map → createCustomLucideIcon-Cl0noR4s.mjs.map} +1 -1
  9. package/dist/{gems-f8vPdcVK.mjs → gems-BXMOYWgh.mjs} +2 -2
  10. package/dist/{gems-f8vPdcVK.mjs.map → gems-BXMOYWgh.mjs.map} +1 -1
  11. package/dist/{go-C_pl4FlV.mjs → go-BMJCWgvU.mjs} +2 -2
  12. package/dist/{go-C_pl4FlV.mjs.map → go-BMJCWgvU.mjs.map} +1 -1
  13. package/dist/hooks/useIsMounted.d.ts +1 -0
  14. package/dist/hooks/useTheme.d.ts +2 -3
  15. package/dist/{index-Bup7tWke.mjs → index-D_k9gVp9.mjs} +23887 -18759
  16. package/dist/index-D_k9gVp9.mjs.map +1 -0
  17. package/dist/index.d.ts +3 -8
  18. package/dist/{lucide-icons-BcEn3U68.mjs → lucide-icons-BDw0imyx.mjs} +1537 -1535
  19. package/dist/{lucide-icons-BcEn3U68.mjs.map → lucide-icons-BDw0imyx.mjs.map} +1 -1
  20. package/dist/{maven-D1JosAs7.mjs → maven-CZKsSTLE.mjs} +2 -2
  21. package/dist/{maven-D1JosAs7.mjs.map → maven-CZKsSTLE.mjs.map} +1 -1
  22. package/dist/moonshine.es.js +47 -45
  23. package/dist/{npm-CvjX-eUP.mjs → npm-BzLRbdWe.mjs} +2 -2
  24. package/dist/{npm-CvjX-eUP.mjs.map → npm-BzLRbdWe.mjs.map} +1 -1
  25. package/dist/{nuget-aQMiXSmi.mjs → nuget-DuJkGnLi.mjs} +2 -2
  26. package/dist/{nuget-aQMiXSmi.mjs.map → nuget-DuJkGnLi.mjs.map} +1 -1
  27. package/dist/{packagist-D7wXfKUt.mjs → packagist-DviNYNUY.mjs} +2 -2
  28. package/dist/{packagist-D7wXfKUt.mjs.map → packagist-DviNYNUY.mjs.map} +1 -1
  29. package/dist/{pypi-CmMySk4b.mjs → pypi-4Vd0eHqw.mjs} +2 -2
  30. package/dist/{pypi-CmMySk4b.mjs.map → pypi-4Vd0eHqw.mjs.map} +1 -1
  31. package/dist/speakeasy-logo-024q-rQ2.mjs +5 -0
  32. package/dist/speakeasy-logo-024q-rQ2.mjs.map +1 -0
  33. package/dist/style.css +1 -1
  34. package/package.json +13 -3
  35. package/src/base.css +940 -0
  36. package/src/global.css +67 -0
  37. package/src/utilities.css +1114 -0
  38. package/types/utilities.d.ts +429 -0
  39. package/dist/components/Breadcrumb/index.d.ts +0 -16
  40. package/dist/components/__beta__/OperationGrouper/index.d.ts +0 -18
  41. package/dist/components/__beta__/SelectionBox/index.d.ts +0 -9
  42. package/dist/components/__beta__/Timeline/index.d.ts +0 -21
  43. package/dist/index-Bup7tWke.mjs.map +0 -1
package/src/base.css ADDED
@@ -0,0 +1,940 @@
1
+ /*
2
+ * Base CSS - Design Tokens and CSS Variables
3
+ *
4
+ * ⚠️ WARNING: DO NOT IMPORT THIS FILE DIRECTLY IN YOUR PROJECT!
5
+ * This file is only exposed for Tailwind's @reference directive to work.
6
+ * Use the utility classes from utilities.css instead of these raw tokens.
7
+ *
8
+ * Structure:
9
+ * 1. Primitive Tokens - Raw values (colors, fonts, etc.)
10
+ * 2. Semantic/Utility Tokens - Theme-aware variables that map to utilities
11
+ * 3. Component Tokens - Higher-level semantic tokens
12
+ * 4. Deprecated Tokens - Shadcn compatibility (to be removed)
13
+ */
14
+
15
+ :root,
16
+ :root.light {
17
+ /* ============================================
18
+ * 1. PRIMITIVE TOKENS
19
+ * Raw design values - do not use directly in components
20
+ * ============================================ */
21
+
22
+ /* Font Families */
23
+ --font-diatype: 'Diatype', -apple-system, BlinkMacSystemFont, 'Segoe UI',
24
+ Roboto, Helvetica, Arial, sans-serif;
25
+ --font-diatype-mono: 'Diatype Mono', SFMono-Regular, Menlo, Monaco, Consolas,
26
+ 'Liberation Mono', 'Courier New', monospace;
27
+ --font-tobias: 'Tobias', 'Cormorant', Georgia, Cambria, 'Times New Roman',
28
+ Times, serif;
29
+
30
+ --color-base-white: hsl(0 0% 100%);
31
+ --color-base-black: hsl(0 0% 0%);
32
+
33
+ /* Neutrals */
34
+ --color-neutral-100: hsl(0, 0%, 98%);
35
+ --color-neutral-200: hsl(0, 0%, 92%);
36
+ --color-neutral-300: hsl(0, 0%, 86%);
37
+ --color-neutral-400: hsl(0, 0%, 73%);
38
+ --color-neutral-500: hsl(0, 0%, 59%);
39
+ --color-neutral-600: hsl(0, 0%, 46%);
40
+ --color-neutral-700: hsl(0, 0%, 33%);
41
+ --color-neutral-800: hsl(0, 0%, 20%);
42
+ --color-neutral-900: hsl(0, 0%, 7%);
43
+
44
+ --color-neutral-100-40: hsl(from var(--color-neutral-100) h s l / 40%);
45
+ --color-neutral-100-56: hsl(from var(--color-neutral-100) h s l / 56%);
46
+ --color-neutral-100-64: hsl(from var(--color-neutral-100) h s l / 64%);
47
+
48
+ --color-neutral-200-56: hsl(from var(--color-neutral-200) h s l / 56%);
49
+
50
+ --color-neutral-400-40: hsl(from var(--color-neutral-400) h s l / 40%);
51
+
52
+ --color-neutral-600-40: hsl(from var(--color-neutral-600) h s l / 40%);
53
+
54
+ --color-neutral-800-56: hsl(from var(--color-neutral-800) h s l / 56%);
55
+
56
+ --color-neutral-900-40: hsl(from var(--color-neutral-900) h s l / 40%);
57
+ --color-neutral-900-56: hsl(from var(--color-neutral-900) h s l / 56%);
58
+ --color-neutral-900-64: hsl(from var(--color-neutral-900) h s l / 64%);
59
+
60
+ /* Brand red */
61
+ --color-brand-red-100: hsl(23, 96%, 62%);
62
+ --color-brand-red-200: hsl(19, 84%, 58%);
63
+ --color-brand-red-300: hsl(14, 74%, 54%);
64
+ --color-brand-red-400: hsl(9, 67%, 51%);
65
+ --color-brand-red-500: hsl(4, 67%, 47%);
66
+ --color-brand-red-600: hsl(1, 62%, 39%);
67
+ --color-brand-red-700: hsl(359, 58%, 31%);
68
+ --color-brand-red-800: hsl(352, 57%, 22%);
69
+ --color-brand-red-900: hsl(334, 54%, 13%);
70
+
71
+ --gradient-brand-red: radial-gradient(
72
+ 138.34% 138.34% at 0% 4.4%,
73
+ var(--color-destructive-900) 0%,
74
+ var(--color-destructive-800) 12.5%,
75
+ var(--color-destructive-700) 25%,
76
+ var(--color-destructive-600) 37.5%,
77
+ var(--color-destructive-500) 50%,
78
+ var(--color-destructive-400) 62.5%,
79
+ var(--color-destructive-300) 75%,
80
+ var(--color-destructive-200) 87.5%,
81
+ var(--color-destructive-100) 100%
82
+ );
83
+
84
+ /* Brand green */
85
+ --color-brand-green-100: hsl(68, 52%, 72%);
86
+ --color-brand-green-200: hsl(75, 37%, 64%);
87
+ --color-brand-green-300: hsl(84, 28%, 56%);
88
+ --color-brand-green-400: hsl(95, 23%, 49%);
89
+ --color-brand-green-500: hsl(108, 24%, 41%);
90
+ --color-brand-green-600: hsl(116, 24%, 34%);
91
+ --color-brand-green-700: hsl(128, 30%, 25%);
92
+ --color-brand-green-800: hsl(140, 44%, 16%);
93
+ --color-brand-green-900: hsl(154, 100%, 7%);
94
+
95
+ --gradient-brand-green: radial-gradient(
96
+ 137.26% 137.26% at 0% 0%,
97
+ var(--color-brand-green-900) 0%,
98
+ var(--color-brand-green-800) 12.5%,
99
+ var(--color-brand-green-700) 25%,
100
+ var(--color-brand-green-600) 37.5%,
101
+ var(--color-brand-green-500) 50%,
102
+ var(--color-brand-green-400) 62.5%,
103
+ var(--color-brand-green-300) 75%,
104
+ var(--color-brand-green-200) 87.5%,
105
+ var(--color-brand-green-100) 100%
106
+ );
107
+
108
+ /* Brand blue */
109
+ --color-brand-blue-100: hsl(216, 100%, 100%);
110
+ --color-brand-blue-200: hsl(215, 86%, 73%);
111
+ --color-brand-blue-300: hsl(215, 77%, 65%);
112
+ --color-brand-blue-400: hsl(215, 72%, 58%);
113
+ --color-brand-blue-500: hsl(214, 69%, 50%);
114
+ --color-brand-blue-600: hsl(215, 71%, 40%);
115
+ --color-brand-blue-700: hsl(215, 75%, 31%);
116
+ --color-brand-blue-800: hsl(217, 82%, 21%);
117
+ --color-brand-blue-900: hsl(220, 100%, 12%);
118
+
119
+ --gradient-brand-blue: radial-gradient(
120
+ 141.42% 141.42% at 0% 0%,
121
+ var(--color-brand-blue-900) 0%,
122
+ var(--color-brand-blue-800) 12.5%,
123
+ var(--color-brand-blue-700) 25%,
124
+ var(--color-brand-blue-600) 37.5%,
125
+ var(--color-brand-blue-500) 50%,
126
+ var(--color-brand-blue-400) 62.5%,
127
+ var(--color-brand-blue-300) 75%,
128
+ var(--color-brand-blue-200) 87.5%,
129
+ var(--color-brand-blue-100) 100%
130
+ );
131
+
132
+ /* Tech colors */
133
+ --color-brand-typescript: hsl(0, 0%, 0%);
134
+ --color-brand-go: hsl(220, 100%, 12%);
135
+ --color-brand-java: hsl(214, 69%, 50%);
136
+ --color-brand-python: hsl(216, 100%, 80%);
137
+ --color-brand-c: hsl(154, 100%, 7%);
138
+ --color-brand-terraform: hsl(108, 24%, 41%);
139
+ --color-brand-unity: hsl(68, 52%, 72%);
140
+ --color-brand-php: hsl(334, 54%, 13%);
141
+ --color-brand-swift: hsl(4, 67%, 47%);
142
+ --color-brand-ruby: hsl(23, 96%, 62%);
143
+ --color-brand-postman: hsl(0, 0%, 83%);
144
+
145
+ --gradient-brand-primary-colors: var(--color-brand-php) 0%,
146
+ var(--color-brand-swift) 12.56%, var(--color-brand-ruby) 25.06%,
147
+ var(--color-brand-unity) 37.56%, var(--color-brand-terraform) 50.06%,
148
+ var(--color-brand-c) 62.06%, var(--color-brand-go) 74.06%,
149
+ var(--color-brand-java) 86.06%, var(--color-brand-python) 97.06%;
150
+
151
+ --gradient-brand-primary: linear-gradient(
152
+ 90deg,
153
+ var(--gradient-brand-primary-colors)
154
+ );
155
+
156
+ --gradient-brand-primary-y: linear-gradient(
157
+ 180deg,
158
+ var(--gradient-brand-primary-colors)
159
+ );
160
+
161
+ /* Feedback colors */
162
+
163
+ /* Red */
164
+ --color-feedback-red-100: hsl(0, 100%, 97%);
165
+ --color-feedback-red-200: hsl(3, 84%, 85%);
166
+ --color-feedback-red-300: hsl(3, 78%, 71%);
167
+ --color-feedback-red-400: hsl(2, 74%, 58%);
168
+ --color-feedback-red-500: hsl(4, 67%, 47%);
169
+ --color-feedback-red-600: hsl(2, 65%, 39%);
170
+ --color-feedback-red-700: hsl(1, 64%, 32%);
171
+ --color-feedback-red-800: hsl(1, 63%, 24%);
172
+ --color-feedback-red-900: hsl(0, 62%, 17%);
173
+
174
+ --color-feedback-red-400-56: hsl(from var(--color-feedback-red-400) h s l / 56%);
175
+ --color-feedback-red-500-56: hsl(from var(--color-feedback-red-500) h s l / 56%);
176
+ --color-feedback-red-600-56: hsl(from var(--color-feedback-red-600) h s l / 56%);
177
+
178
+
179
+ /* Orange */
180
+ --color-feedback-orange-100: hsl(29, 100%, 95%);
181
+ --color-feedback-orange-200: hsl(30, 100%, 85%);
182
+ --color-feedback-orange-300: hsl(28, 100%, 74%);
183
+ --color-feedback-orange-400: hsl(27, 100%, 66%);
184
+ --color-feedback-orange-500: hsl(23, 96%, 62%);
185
+ --color-feedback-orange-600: hsl(22, 70%, 53%);
186
+ --color-feedback-orange-700: hsl(21, 64%, 43%);
187
+ --color-feedback-orange-800: hsl(19, 66%, 33%);
188
+ --color-feedback-orange-900: hsl(18, 69%, 24%);
189
+
190
+ --color-feedback-orange-400-56: hsl(from var(--color-feedback-orange-400) h s l / 56%);
191
+ --color-feedback-orange-500-56: hsl(from var(--color-feedback-orange-500) h s l / 56%);
192
+
193
+ /* Green */
194
+ --color-feedback-green-100: hsl(102, 35%, 93%);
195
+ --color-feedback-green-200: hsl(99, 33%, 83%);
196
+ --color-feedback-green-300: hsl(99, 30%, 73%);
197
+ --color-feedback-green-400: hsl(101, 28%, 62%);
198
+ --color-feedback-green-500: hsl(108, 24%, 41%);
199
+ --color-feedback-green-600: hsl(107, 24%, 34%);
200
+ --color-feedback-green-700: hsl(105, 24%, 27%);
201
+ --color-feedback-green-800: hsl(104, 24%, 20%);
202
+ --color-feedback-green-900: hsl(105, 24%, 13%);
203
+
204
+ --color-feedback-green-400-56: hsl(from var(--color-feedback-green-400) h s l / 56%);
205
+ --color-feedback-green-500-56: hsl(from var(--color-feedback-green-500) h s l / 56%);
206
+
207
+ /* Blue */
208
+ --color-feedback-blue-100: hsl(212, 100%, 95%);
209
+ --color-feedback-blue-200: hsl(214, 100%, 86%);
210
+ --color-feedback-blue-300: hsl(214, 100%, 77%);
211
+ --color-feedback-blue-400: hsl(214, 89%, 67%);
212
+ --color-feedback-blue-500: hsl(214, 69%, 50%);
213
+ --color-feedback-blue-600: hsl(215, 70%, 41%);
214
+ --color-feedback-blue-700: hsl(215, 71%, 32%);
215
+ --color-feedback-blue-800: hsl(217, 73%, 23%);
216
+ --color-feedback-blue-900: hsl(218, 73%, 15%);
217
+
218
+ --color-feedback-blue-400-56: hsl(from var(--color-feedback-blue-400) h s l / 56%);
219
+ --color-feedback-blue-500-56: hsl(from var(--color-feedback-blue-500) h s l / 56%);
220
+
221
+ /* Violet */
222
+ --color-feedback-violet-300: hsl(265, 77%, 65%);
223
+ --color-feedback-violet-600: hsl(268, 75%, 31%);
224
+
225
+ --color-link-default: var(--color-brand-blue-600);
226
+ --color-link-visited-primary: var(--color-feedback-violet-600);
227
+ --color-link-secondary: var(--color-base-black);
228
+ --color-link-visited-secondary: var(--color-feedback-violet-600);
229
+
230
+ /* ============================================
231
+ * 2. SEMANTIC/UTILITY TOKENS
232
+ * Theme-aware variables that map directly to utility classes
233
+ * These change based on light/dark mode
234
+ * ============================================ */
235
+
236
+ /* Text Colors */
237
+ /* TODO: These should use our skimmable colors for headings */
238
+ --text-heading-xl: var(--color-neutral-900);
239
+ --text-heading-lg: var(--color-neutral-900);
240
+ --text-heading-md: var(--color-neutral-900);
241
+ --text-heading-sm: var(--color-neutral-800);
242
+ --text-heading-xs: var(--color-neutral-800);
243
+
244
+ --text-display: var(--color-base-black);
245
+
246
+ --text-highlight: var(--color-neutral-900);
247
+ --text-default: var(--color-neutral-700);
248
+ --text-muted: var(--color-neutral-900-64);
249
+ --text-placeholder: var(--color-neutral-900-56);
250
+ --text-disabled: var(--color-neutral-900-40);
251
+
252
+ /* Fixed dark text */
253
+ --text-highlight-fixed-dark: var(--color-base-black);
254
+ --text-default-fixed-dark: var(--color-neutral-900);
255
+ --text-muted-fixed-dark: var(--color-neutral-900-64);
256
+
257
+ /* Fixed light text */
258
+ --text-highlight-fixed-light: var(--color-base-white);
259
+ --text-default-fixed-light: var(--color-neutral-100);
260
+ --text-muted-fixed-light: var(--color-neutral-100-64);
261
+
262
+ /* Inverse text */
263
+ --text-highlight-inverse: var(--color-base-white);
264
+ --text-default-inverse: var(--color-neutral-100);
265
+ --text-muted-inverse: var(--color-neutral-100-64);
266
+
267
+ --text-link-primary: var(--color-brand-blue-600);
268
+ --text-link-secondary: var(--color-base-black);
269
+ --text-link-visited: var(--color-feedback-violet-600);
270
+
271
+ --text-default-destructive: var(--color-feedback-red-700);
272
+ --text-link-destructive: var(--color-feedback-red-900);
273
+
274
+ --text-default-information: var(--color-feedback-blue-700);
275
+ --text-link-information: var(--color-feedback-blue-900);
276
+
277
+ --text-default-success: var(--color-feedback-green-700);
278
+ --text-link-success: var(--color-feedback-green-900);
279
+
280
+ --text-default-warning: var(--color-feedback-orange-700);
281
+ --text-link-warning: var(--color-feedback-orange-900);
282
+
283
+
284
+ --text-body: var(--color-neutral-900);
285
+ --text-body-muted: var(--color-neutral-400);
286
+
287
+ /* Warning State */
288
+ --bg-warning: var(--color-feedback-orange-100);
289
+ --text-warning: var(--color-feedback-orange-700);
290
+ --border-warning: var(--color-feedback-orange-300);
291
+
292
+
293
+ /* Link utilities */
294
+ --underline-link-primary: var(--color-brand-blue-600);
295
+ --underline-link-secondary: var(--color-base-black);
296
+ --underline-link-visited: var(--color-feedback-violet-600);
297
+
298
+
299
+ /* ============================================
300
+ * BORDER TOKENS
301
+ * ============================================ */
302
+
303
+ /* Border utilities - neutral states */
304
+ --border-neutral-active: var(--color-neutral-600);
305
+ --border-neutral-hover: var(--color-neutral-500);
306
+ --border-neutral-default: var(--color-neutral-400);
307
+ --border-neutral-disabled: var(--color-neutral-400-40);
308
+ --border-neutral-softest: var(--color-neutral-300);
309
+ --border-neutral-inset: var(--color-base-white);
310
+ --border-neutral-alpha: hsla(
311
+ 0,
312
+ 0%,
313
+ 0%,
314
+ 0.2
315
+ ); /* Black with 20% opacity for light mode */
316
+
317
+
318
+ /* Border Destructive utilities */
319
+ --border-destructive-highlight: var(--color-feedback-red-600);
320
+ --border-destructive-default: var(--color-feedback-red-500);
321
+ --border-destructive-muted: var(--color-feedback-red-500-56);
322
+ --border-destructive-softest: var(--color-feedback-red-300);
323
+
324
+ /* Border Information utilities */
325
+ --border-information-highlight: var(--color-feedback-blue-600);
326
+ --border-information-default: var(--color-feedback-blue-500);
327
+ --border-information-muted: var(--color-feedback-blue-500-56);
328
+ --border-information-softest: var(--color-feedback-blue-300);
329
+
330
+ /* Border Success utilities */
331
+ --border-success-highlight: var(--color-feedback-green-600);
332
+ --border-success-default: var(--color-feedback-green-500);
333
+ --border-success-muted: var(--color-feedback-green-500-56);
334
+ --border-success-softest: var(--color-feedback-green-300);
335
+
336
+ /* Border Warning utilities */
337
+ --border-warning-highlight: var(--color-feedback-orange-600);
338
+ --border-warning-default: var(--color-feedback-orange-500);
339
+ --border-warning-muted: var(--color-feedback-orange-500-56);
340
+ --border-warning-softest: var(--color-feedback-orange-300);
341
+
342
+ /* Border Focus utilities */
343
+ --border-focus: var(--color-brand-blue-600);
344
+
345
+
346
+ /* ============================================
347
+ * FILLS
348
+ * ============================================ */
349
+
350
+ /* Neutrals */
351
+ --fill-neutral-highlight: var(--color-base-black);
352
+ --fill-neutral-active: var(--color-neutral-900);
353
+ --fill-neutral-default: var(--color-neutral-800);
354
+ --fill-neutral-muted: var(--color-neutral-800-56);
355
+
356
+ /* Fixed dark fill */
357
+ --fill-neutral-highlight-fixed-dark: var(--color-base-black);
358
+ --fill-neutral-default-fixed-dark: var(--color-neutral-800);
359
+ --fill-neutral-muted-fixed-dark: var(--color-neutral-900-56);
360
+
361
+ /* Fixed light fill */
362
+ --fill-neutral-highlight-fixed-light: var(--color-base-white);
363
+ --fill-neutral-default-fixed-light: var(--color-neutral-100);
364
+ --fill-neutral-muted-fixed-light: var(--color-neutral-100-56);
365
+
366
+ /* Inverse fill */
367
+ --fill-neutral-highlight-inverse: var(--color-base-white);
368
+ --fill-neutral-default-inverse: var(--color-neutral-100);
369
+ --fill-neutral-muted-inverse: var(--color-neutral-100-56);
370
+
371
+ /* Links */
372
+ --fill-link-primary: var(--color-brand-blue-600);
373
+ --fill-link-secondary: var(--color-base-black);
374
+ --fill-link-visited: var(--color-feedback-violet-600);
375
+
376
+ /* Destructive */
377
+ --fill-destructive-highlight: var(--color-feedback-red-600);
378
+ --fill-destructive-default: var(--color-feedback-red-500);
379
+ --fill-destructive-muted: var(--color-feedback-red-600-56);
380
+
381
+ /* Information */
382
+ --fill-information-highlight: var(--color-feedback-blue-600);
383
+ --fill-information-default: var(--color-feedback-blue-500);
384
+ --fill-information-muted: var(--color-feedback-blue-500-56);
385
+
386
+ /* Success */
387
+ --fill-success-highlight: var(--color-feedback-green-600);
388
+ --fill-success-default: var(--color-feedback-green-500);
389
+ --fill-success-muted: var(--color-feedback-green-500-56);
390
+
391
+ /* Warning */
392
+ --fill-warning-highlight: var(--color-feedback-orange-600);
393
+ --fill-warning-default: var(--color-feedback-orange-500);
394
+ --fill-warning-muted: var(--color-feedback-orange-500-56);
395
+
396
+ /* ============================================
397
+ * Strokes
398
+ * ============================================ */
399
+
400
+ /* Neutrals */
401
+ --stroke-neutral-highlight: var(--color-base-black);
402
+ --stroke-neutral-active: var(--color-neutral-900);
403
+ --stroke-neutral-default: var(--color-neutral-800);
404
+ --stroke-neutral-muted: var(--color-neutral-800-56);
405
+
406
+ /* Fixed dark stroke */
407
+ --stroke-neutral-highlight-fixed-dark: var(--color-base-black);
408
+ --stroke-neutral-default-fixed-dark: var(--color-neutral-800);
409
+ --stroke-neutral-muted-fixed-dark: var(--color-neutral-900-56);
410
+
411
+ /* Fixed light stroke */
412
+ --stroke-neutral-highlight-fixed-light: var(--color-base-white);
413
+ --stroke-neutral-default-fixed-light: var(--color-neutral-100);
414
+ --stroke-neutral-muted-fixed-light: var(--color-neutral-100-56);
415
+
416
+ /* Inverse stroke */
417
+ --stroke-neutral-highlight-inverse: var(--color-base-white);
418
+ --stroke-neutral-default-inverse: var(--color-neutral-100);
419
+ --stroke-neutral-muted-inverse: var(--color-neutral-100-56);
420
+
421
+ /* Links */
422
+ --stroke-link-primary: var(--color-brand-blue-600);
423
+ --stroke-link-secondary: var(--color-base-black);
424
+ --stroke-link-visited: var(--color-feedback-violet-600);
425
+
426
+ /* Destructive */
427
+ --stroke-destructive-highlight: var(--color-feedback-red-600);
428
+ --stroke-destructive-default: var(--color-feedback-red-500);
429
+ --stroke-destructive-muted: var(--color-feedback-red-600-56);
430
+
431
+ /* Information */
432
+ --stroke-information-highlight: var(--color-feedback-blue-600);
433
+ --stroke-information-default: var(--color-feedback-blue-500);
434
+ --stroke-information-muted: var(--color-feedback-blue-500-56);
435
+
436
+ /* Success */
437
+ --stroke-success-highlight: var(--color-feedback-green-600);
438
+ --stroke-success-default: var(--color-feedback-green-500);
439
+ --stroke-success-muted: var(--color-feedback-green-500-56);
440
+
441
+ /* Warning */
442
+ --stroke-warning-highlight: var(--color-feedback-orange-600);
443
+ --stroke-warning-default: var(--color-feedback-orange-500);
444
+ --stroke-warning-muted: var(--color-feedback-orange-500-56);
445
+
446
+ /* ============================================
447
+ * BACKGROUNDS
448
+ * ============================================ */
449
+ --bg-surface-primary-default: var(--color-base-white);
450
+ --bg-surface-secondary-default: var(--color-neutral-100);
451
+ --bg-surface-tertiary-default: var(--color-neutral-200);
452
+ --bg-surface-primary-inverse: var(--color-base-black);
453
+ --bg-surface-secondary-inverse: var(--color-neutral-900);
454
+ --bg-surface-tertiary-inverse: var(--color-neutral-800);
455
+
456
+ /* State */
457
+ --bg-highlight: var(--color-neutral-300);
458
+ --bg-active: var(--color-neutral-200);
459
+ --bg-default: var(--color-neutral-100);
460
+ --bg-muted: var(--color-neutral-100-56);
461
+ --bg-inset: var(--color-base-white);
462
+
463
+ /* Light background in dark mode */
464
+ --bg-surface-primary-fixed-light: var(--color-base-white);
465
+ --bg-surface-secondary-fixed-light: var(--color-neutral-100);
466
+ --bg-surface-tertiary-fixed-light: var(--color-neutral-200);
467
+
468
+ /* Dark background in light mode */
469
+ --bg-surface-primary-fixed-dark: var(--color-base-black);
470
+ --bg-surface-secondary-fixed-dark: var(--color-neutral-900);
471
+ --bg-surface-tertiary-fixed-dark: var(--color-neutral-800);
472
+
473
+ /* Destructive */
474
+ --bg-destructive-highlight: var(--color-feedback-red-600);
475
+ --bg-destructive-default: var(--color-feedback-red-500);
476
+ --bg-destructive-muted: var(--color-feedback-red-500-56);
477
+ --bg-destructive-softest: var(--color-feedback-red-100);
478
+
479
+ /* Information */
480
+ --bg-information-highlight: var(--color-feedback-blue-600);
481
+ --bg-information-default: var(--color-feedback-blue-500);
482
+ --bg-information-muted: var(--color-feedback-blue-500-56);
483
+ --bg-information-softest: var(--color-feedback-blue-100);
484
+
485
+ /* Success */
486
+ --bg-success-highlight: var(--color-feedback-green-600);
487
+ --bg-success-default: var(--color-feedback-green-500);
488
+ --bg-success-muted: var(--color-feedback-green-500-56);
489
+ --bg-success-softest: var(--color-feedback-green-100);
490
+
491
+ /* Warning */
492
+ --bg-warning-highlight: var(--color-feedback-orange-600);
493
+ --bg-warning-default: var(--color-feedback-orange-500);
494
+ --bg-warning-muted: var(--color-feedback-orange-500-56);
495
+ --bg-warning-softest: var(--color-feedback-orange-100);
496
+
497
+
498
+
499
+
500
+ /* ============================================
501
+ * 3. COMPONENT TOKENS
502
+ * Higher-level semantic tokens for specific use cases
503
+ * ============================================ */
504
+
505
+ /* Border Radius */
506
+ --radius: 0.625rem;
507
+ /* ============================================
508
+ * 4. DEPRECATED TOKENS - SHADCN COMPATIBILITY
509
+ * These will be removed in future versions
510
+ * DO NOT use in new code
511
+ * ============================================ */
512
+
513
+ --background-pure: var(--color-base-white);
514
+ --background: var(--color-neutral-100);
515
+ --foreground: var(--color-neutral-900);
516
+ --card: var(--color-base-white);
517
+ --card-foreground: var(--color-neutral-900);
518
+ --popover: var(--color-base-white);
519
+ --popover-foreground: var(--color-neutral-900);
520
+ --primary: var(--color-base-black);
521
+ --primary-foreground: var(--color-base-white);
522
+ --secondary: var(--color-neutral-100);
523
+ --secondary-foreground: var(--color-neutral-900);
524
+ --muted: var(--color-neutral-200);
525
+ --muted-foreground: var(--color-neutral-900-64);
526
+ --accent: var(--color-neutral-200);
527
+ --accent-foreground: var(--color-neutral-900);
528
+ --destructive: var(
529
+ --color-feedback-red-700
530
+ ); /* Note: conflicts with semantic token above */
531
+ --border: var(--color-neutral-300);
532
+ --input: var(--color-neutral-400);
533
+ --ring: var(--color-brand-blue-600);
534
+ --chart-1: var(--color-brand-red-600);
535
+ --chart-2: var(--color-brand-green-600);
536
+ --chart-3: var(--color-brand-red-600);
537
+ --chart-4: var(--color-brand-blue-600);
538
+ --chart-5: var(--color-brand-green-600);
539
+ --sidebar: var(--color-neutral-100);
540
+ --sidebar-foreground: var(--color-neutral-900);
541
+ --sidebar-primary: var(--color-base-black);
542
+ --sidebar-primary-foreground: var(--color-neutral-300);
543
+ --sidebar-accent: var(--color-neutral-300);
544
+ --sidebar-accent-foreground: var(--color-neutral-900);
545
+ --sidebar-border: var(--color-neutral-300);
546
+ --sidebar-ring: var(--color-brand-blue-600);
547
+
548
+ /* Feedback States */
549
+ --success: var(--color-feedback-green-100);
550
+ --success-foreground: var(--color-feedback-green-700);
551
+ --warning: var(--color-feedback-orange-100);
552
+ --warning-foreground: var(--color-feedback-orange-700);
553
+ --info: var(--color-info-100);
554
+ --info-foreground: var(--color-info-700);
555
+ /* This is a dupe of a shadcn token, may need to rename*/
556
+ --destructive: var(--color-feedback-red-700);
557
+ --destructive-foreground: var(--color-feedback-red-100);
558
+ --feature: var(--color-info-100);
559
+ --feature-foreground: var(--color-info-700);
560
+
561
+ /* UI Elements */
562
+ --shadow: hsl(0 0% 50%);
563
+
564
+ /* Custom Scrollbar */
565
+ --sb-size: 0.5rem;
566
+ --sb-track-color: var(--color-background);
567
+ --sb-thumb-color: var(--color-background);
568
+ --sb-track-border: var(--color-neutral-300);
569
+
570
+ /* Score Colors */
571
+ --score-low: var(--color-destructive-500);
572
+ --score-mid: var(--color-feedback-orange-500);
573
+ --score-high: var(--color-feedback-green-500);
574
+ --score-track: var(--color-neutral-700);
575
+
576
+ /* Animation Easing Functions */
577
+ --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
578
+ --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
579
+ --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
580
+ --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
581
+ --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
582
+ --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
583
+
584
+ --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
585
+ --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
586
+ --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
587
+ --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
588
+ --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
589
+ --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
590
+
591
+ --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
592
+ --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
593
+ --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
594
+ --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
595
+ --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
596
+ --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
597
+ }
598
+
599
+ /* ============================================
600
+ * BASE ELEMENT STYLES
601
+ * Default styles for HTML elements
602
+ * ============================================ */
603
+
604
+ /*
605
+ * Tailwind v4 Compatibility Layer
606
+ * The default border color has changed to `currentColor` in Tailwind CSS v4.
607
+ * These styles maintain v3 behavior until we can audit all border usage.
608
+ */
609
+ @layer base {
610
+ *,
611
+ ::after,
612
+ ::before,
613
+ ::backdrop,
614
+ ::file-selector-button {
615
+ @apply border-neutral-softest;
616
+ }
617
+
618
+ button:not(:disabled),
619
+ [role='button']:not(:disabled) {
620
+ cursor: pointer;
621
+ }
622
+
623
+ body {
624
+ @apply bg-surface-primary-default text-default;
625
+ }
626
+ }
627
+
628
+ :root.dark {
629
+ /* ============================================
630
+ * DARK MODE OVERRIDES
631
+ * Only define values that change in dark mode
632
+ * ============================================ */
633
+
634
+ --color-link-default: var(--color-brand-blue-300);
635
+ --color-link-visited-primary: var(--color-feedback-violet-300);
636
+ --color-link-secondary: var(--color-base-white);
637
+ --color-link-visited-secondary: var(--color-feedback-violet-300);
638
+
639
+ /* ============================================
640
+ * 2. SEMANTIC/UTILITY TOKENS (Dark Mode)
641
+ * ============================================ */
642
+
643
+ /* Text Colors */
644
+ --text-heading-xl: var(--color-neutral-100);
645
+ --text-heading-lg: var(--color-neutral-100);
646
+ --text-heading-md: var(--color-neutral-100);
647
+ --text-heading-sm: var(--color-neutral-200);
648
+ --text-heading-xs: var(--color-neutral-200);
649
+
650
+ --text-display: var(--color-base-white);
651
+
652
+ --text-highlight: var(--color-neutral-100);
653
+ --text-default: var(--color-neutral-300);
654
+ --text-muted: var(--color-neutral-100-64);
655
+ --text-placeholder: var(--color-neutral-100-56);
656
+ --text-disabled: var(--color-neutral-100-40);
657
+
658
+ /* Inverse text */
659
+ --text-highlight-inverse: var(--color-base-black);
660
+ --text-default-inverse: var(--color-neutral-900);
661
+ --text-muted-inverse: var(--color-neutral-900-64);
662
+
663
+ --text-link-primary: var(--color-brand-blue-300);
664
+ --text-link-secondary: var(--color-base-white);
665
+ --text-link-visited: var(--color-feedback-violet-300);
666
+
667
+ --text-default-destructive: var(--color-feedback-red-300);
668
+ --text-link-destructive: var(--color-feedback-red-100);
669
+
670
+ --text-default-information: var(--color-feedback-blue-300);
671
+ --text-link-information: var(--color-feedback-blue-100);
672
+
673
+ --text-default-success: var(--color-feedback-green-300);
674
+ --text-link-success: var(--color-feedback-green-100);
675
+
676
+ --text-default-warning: var(--color-feedback-orange-300);
677
+ --text-link-warning: var(--color-feedback-orange-100);
678
+
679
+ --text-body: var(--color-neutral-200);
680
+ --text-body-muted: var(--color-neutral-600);
681
+
682
+ /* Warning State */
683
+ --bg-warning: var(--color-feedback-orange-900);
684
+ --text-warning: var(--color-feedback-orange-300);
685
+ --border-warning: var(--color-feedback-orange-700);
686
+
687
+ /* Link utilities (dark mode) */
688
+ --underline-link-primary: var(--color-brand-blue-300);
689
+ --underline-link-secondary: var(--color-base-white);
690
+ --underline-link-visited: var(--color-feedback-violet-300);
691
+
692
+ /* ============================================
693
+ * BORDER TOKENS
694
+ * ============================================ */
695
+
696
+ /* Border utilities - neutral states (dark mode) */
697
+ --border-neutral-active: var(--color-neutral-400);
698
+ --border-neutral-hover: var(--color-neutral-500);
699
+ --border-neutral-default: var(--color-neutral-600);
700
+ --border-neutral-disabled: var(--color-neutral-600-40);
701
+ --border-neutral-softest: var(--color-neutral-700);
702
+ --border-neutral-inset: var(--color-base-black);
703
+ --border-neutral-alpha: hsla(
704
+ 255,
705
+ 255%,
706
+ 255%,
707
+ 0.2
708
+ ); /* White with 20% opacity */
709
+
710
+ /* Border destructive utilities */
711
+ --border-destructive-highlight: var(--color-feedback-red-400);
712
+ --border-destructive-default: var(--color-feedback-red-500);
713
+ --border-destructive-muted: var(--color-feedback-red-500-56);
714
+ --border-destructive-softest: var(--color-feedback-red-700);
715
+
716
+ /* Border Information utilities */
717
+ --border-information-highlight: var(--color-feedback-blue-400);
718
+ --border-information-default: var(--color-feedback-blue-500);
719
+ --border-information-muted: var(--color-feedback-blue-500-56);
720
+ --border-information-softest: var(--color-feedback-blue-700);
721
+
722
+ /* Border Success utilities */
723
+ --border-success-highlight: var(--color-feedback-green-400);
724
+ --border-success-default: var(--color-feedback-green-500);
725
+ --border-success-muted: var(--color-feedback-green-500-56);
726
+ --border-success-softest: var(--color-feedback-green-700);
727
+
728
+ /* Border Warning utilities */
729
+ --border-warning-highlight: var(--color-feedback-orange-400);
730
+ --border-warning-default: var(--color-feedback-orange-500);
731
+ --border-warning-muted: var(--color-feedback-orange-500-56);
732
+ --border-warning-softest: var(--color-feedback-orange-700);
733
+
734
+ /* Border Focus utilities */
735
+ --border-focus: var(--color-brand-blue-300);
736
+
737
+
738
+ /* ============================================
739
+ * FILLS
740
+ * ============================================ */
741
+
742
+ /* Neutrals */
743
+ --fill-neutral-highlight: var(--color-base-white);
744
+ --fill-neutral-active: var(--color-neutral-100);
745
+ --fill-neutral-default: var(--color-neutral-200);
746
+ --fill-neutral-muted: var(--color-neutral-200-56);
747
+
748
+ /* Fixed dark fill */
749
+
750
+ /* Fixed light fill */
751
+
752
+ /* Inverse fill */
753
+ --fill-neutral-highlight-inverse: var(--color-base-black);
754
+ --fill-neutral-default-inverse: var(--color-neutral-900);
755
+ --fill-neutral-muted-inverse: var(--color-neutral-900-56);
756
+
757
+ /* Links */
758
+ --fill-link-primary: var(--color-brand-blue-300);
759
+ --fill-link-secondary: var(--color-base-white);
760
+ --fill-link-visited: var(--color-feedback-violet-300);
761
+
762
+ /* Destructive */
763
+ --fill-destructive-highlight: var(--color-feedback-red-300);
764
+ --fill-destructive-default: var(--color-feedback-red-400);
765
+ --fill-destructive-muted: var(--color-feedback-red-400-56);
766
+
767
+ /* Information */
768
+ --fill-information-highlight: var(--color-feedback-blue-300);
769
+ --fill-information-default: var(--color-feedback-blue-400);
770
+ --fill-information-muted: var(--color-feedback-blue-400-56);
771
+
772
+ /* Success */
773
+ --fill-success-highlight: var(--color-feedback-green-300);
774
+ --fill-success-default: var(--color-feedback-green-400);
775
+ --fill-success-muted: var(--color-feedback-green-400-56);
776
+
777
+ /* Warning */
778
+ --fill-warning-highlight: var(--color-feedback-orange-300);
779
+ --fill-warning-default: var(--color-feedback-orange-400);
780
+ --fill-warning-muted: var(--color-feedback-orange-400-56);
781
+
782
+ /* ============================================
783
+ * Strokes
784
+ * ============================================ */
785
+
786
+ /* Neutrals */
787
+ --stroke-neutral-highlight: var(--color-base-white);
788
+ --stroke-neutral-active: var(--color-neutral-100);
789
+ --stroke-neutral-default: var(--color-neutral-200);
790
+ --stroke-neutral-muted: var(--color-neutral-200-56);
791
+
792
+ /* Fixed dark stroke*/
793
+
794
+ /* Fixed light stroke */
795
+
796
+ /* Inverse stroke */
797
+ --stroke-neutral-highlight-inverse: var(--color-base-black);
798
+ --stroke-neutral-default-inverse: var(--color-neutral-900);
799
+ --stroke-neutral-muted-inverse: var(--color-neutral-900-56);
800
+
801
+ /* Links */
802
+ --stroke-link-primary: var(--color-brand-blue-300);
803
+ --stroke-link-secondary: var(--color-base-white);
804
+ --stroke-link-visited: var(--color-feedback-violet-300);
805
+
806
+ /* Destructive */
807
+ --stroke-destructive-highlight: var(--color-feedback-red-300);
808
+ --stroke-destructive-default: var(--color-feedback-red-400);
809
+ --stroke-destructive-muted: var(--color-feedback-red-400-56);
810
+
811
+ /* Information */
812
+ --stroke-information-highlight: var(--color-feedback-blue-300);
813
+ --stroke-information-default: var(--color-feedback-blue-400);
814
+ --stroke-information-muted: var(--color-feedback-blue-400-56);
815
+
816
+ /* Success */
817
+ --stroke-success-highlight: var(--color-feedback-green-300);
818
+ --stroke-success-default: var(--color-feedback-green-400);
819
+ --stroke-success-muted: var(--color-feedback-green-400-56);
820
+
821
+ /* Warning */
822
+ --stroke-warning-highlight: var(--color-feedback-orange-300);
823
+ --stroke-warning-default: var(--color-feedback-orange-400);
824
+ --stroke-warning-muted: var(--color-feedback-orange-400-56);
825
+
826
+ /* ============================================
827
+ * BACKGROUNDS
828
+ * ============================================ */
829
+ --bg-surface-primary-default: var(--color-base-black);
830
+ --bg-surface-secondary-default: var(--color-neutral-900);
831
+ --bg-surface-tertiary-default: var(--color-neutral-800);
832
+ --bg-surface-primary-inverse: var(--color-base-white);
833
+ --bg-surface-secondary-inverse: var(--color-neutral-100);
834
+ --bg-surface-tertiary-inverse: var(--color-neutral-200);
835
+
836
+ /* State */
837
+ --bg-highlight: var(--color-neutral-700);
838
+ --bg-active: var(--color-neutral-800);
839
+ --bg-default: var(--color-neutral-900);
840
+ --bg-muted: var(--color-neutral-900-56);
841
+ --bg-inset: var(--color-base-black);
842
+
843
+ /* Light background in dark mode */
844
+
845
+ /* Dark background in light mode */
846
+
847
+ /* Destructive */
848
+ --bg-destructive-highlight: var(--color-feedback-red-400);
849
+ --bg-destructive-default: var(--color-feedback-red-500);
850
+ --bg-destructive-muted: var(--color-feedback-red-500-56);
851
+ --bg-destructive-softest: var(--color-feedback-red-900);
852
+
853
+ /* Information */
854
+ --bg-information-highlight: var(--color-feedback-blue-400);
855
+ --bg-information-default: var(--color-feedback-blue-500);
856
+ --bg-information-muted: var(--color-feedback-blue-500-56);
857
+ --bg-information-softest: var(--color-feedback-blue-900);
858
+
859
+ /* Success */
860
+ --bg-success-highlight: var(--color-feedback-green-400);
861
+ --bg-success-default: var(--color-feedback-green-500);
862
+ --bg-success-muted: var(--color-feedback-green-500-56);
863
+ --bg-success-softest: var(--color-feedback-green-900);
864
+
865
+ /* Warning */
866
+ --bg-warning-highlight: var(--color-feedback-orange-400);
867
+ --bg-warning-default: var(--color-feedback-orange-500);
868
+ --bg-warning-muted: var(--color-feedback-orange-500-56);
869
+ --bg-warning-softest: var(--color-feedback-orange-900);
870
+
871
+
872
+ /* ============================================
873
+ * 3. COMPONENT TOKENS (Dark Mode)
874
+ * ============================================ */
875
+
876
+ /* Feedback States */
877
+ --success: var(--color-feedback-green-500);
878
+ --success-foreground: var(--color-feedback-green-100);
879
+ --warning: var(--color-feedback-orange-500);
880
+ --warning-foreground: var(--color-feedback-orange-100);
881
+ --info: var(--color-info-500);
882
+ --info-foreground: var(--color-info-100);
883
+ --destructive: var(--color-feedback-red-500);
884
+ --destructive-foreground: var(--color-feedback-red-100);
885
+ --feature: var(--color-info-500);
886
+ --feature-foreground: var(--color-info-100);
887
+
888
+ /* Score Colors */
889
+ --score-low: hsl(350 89% 60%);
890
+ --score-mid: hsl(38 92% 50%);
891
+ --score-high: hsl(160 84% 39%);
892
+ --score-track: hsl(48 4% 28%);
893
+
894
+ /* Custom Scrollbar */
895
+ --sb-track-color: var(--color-neutral-800);
896
+ --sb-thumb-color: var(--color-neutral-900);
897
+ --sb-track-border: var(--color-neutral-800);
898
+
899
+ /* Misc */
900
+ --header-border: 0 0% 14.9%;
901
+
902
+ /* ============================================
903
+ * 4. DEPRECATED TOKENS - SHADCN (Dark Mode)
904
+ * ============================================ */
905
+
906
+ --background-pure: var(--color-base-black);
907
+ --background: var(--color-base-black);
908
+ --foreground: var(--color-neutral-300);
909
+ --card: var(--color-neutral-900);
910
+ --card-foreground: var(--color-neutral-300);
911
+ --popover: var(--color-base-black);
912
+ --popover-foreground: var(--color-neutral-100);
913
+ --primary: var(--color-base-white);
914
+ --primary-foreground: var(--color-base-black);
915
+ --secondary: var(--color-neutral-900);
916
+ --secondary-foreground: var(--color-neutral-300);
917
+ --muted: var(--color-neutral-900);
918
+ --muted-foreground: var(--color-neutral-100-64);
919
+ --accent: var(--color-neutral-800);
920
+ --accent-foreground: var(--color-base-white);
921
+ --destructive: var(
922
+ --color-feedback-red-500
923
+ ); /* Note: conflicts with semantic token above */
924
+ --border: var(--color-neutral-700);
925
+ --input: var(--color-neutral-700);
926
+ --ring: var(--color-brand-blue-600);
927
+ --chart-1: var(--color-brand-red-600);
928
+ --chart-2: var(--color-brand-green-600);
929
+ --chart-3: var(--color-brand-red-600);
930
+ --chart-4: var(--color-brand-blue-600);
931
+ --chart-5: var(--color-brand-green-600);
932
+ --sidebar: var(--color-neutral-900);
933
+ --sidebar-foreground: var(--color-base-white);
934
+ --sidebar-primary: var(--color-brand-red-600);
935
+ --sidebar-primary-foreground: var(--color-neutral-300);
936
+ --sidebar-accent: var(--color-neutral-700);
937
+ --sidebar-accent-foreground: var(--color-base-white);
938
+ --sidebar-border: var(--color-neutral-700);
939
+ --sidebar-ring: var(--color-brand-blue-600);
940
+ }