@24vlh/vds 0.1.0

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 (65) hide show
  1. package/LICENSE.txt +201 -0
  2. package/README.md +147 -0
  3. package/dist/components/accordion.css +170 -0
  4. package/dist/components/accordion.min.css +1 -0
  5. package/dist/components/authoring.css +332 -0
  6. package/dist/components/authoring.min.css +1 -0
  7. package/dist/components/buttons.css +683 -0
  8. package/dist/components/buttons.min.css +1 -0
  9. package/dist/components/charts.css +502 -0
  10. package/dist/components/charts.min.css +1 -0
  11. package/dist/components/command.css +521 -0
  12. package/dist/components/command.min.css +1 -0
  13. package/dist/components/content-blocks.css +944 -0
  14. package/dist/components/content-blocks.min.css +1 -0
  15. package/dist/components/doc-block.css +782 -0
  16. package/dist/components/doc-block.min.css +1 -0
  17. package/dist/components/feedback.css +657 -0
  18. package/dist/components/feedback.min.css +1 -0
  19. package/dist/components/flows.css +1101 -0
  20. package/dist/components/flows.min.css +1 -0
  21. package/dist/components/forms-advanced.css +462 -0
  22. package/dist/components/forms-advanced.min.css +1 -0
  23. package/dist/components/forms.css +1831 -0
  24. package/dist/components/forms.min.css +1 -0
  25. package/dist/components/header-footer.css +348 -0
  26. package/dist/components/header-footer.min.css +1 -0
  27. package/dist/components/hero.css +498 -0
  28. package/dist/components/hero.min.css +1 -0
  29. package/dist/components/icons.css +937 -0
  30. package/dist/components/icons.min.css +1 -0
  31. package/dist/components/navigation.css +900 -0
  32. package/dist/components/navigation.min.css +1 -0
  33. package/dist/components/overlays.css +498 -0
  34. package/dist/components/overlays.min.css +1 -0
  35. package/dist/components/sections.css +450 -0
  36. package/dist/components/sections.min.css +1 -0
  37. package/dist/components/skeleton.css +385 -0
  38. package/dist/components/skeleton.min.css +1 -0
  39. package/dist/components/tables.css +591 -0
  40. package/dist/components/tables.min.css +1 -0
  41. package/dist/components/tabs.css +307 -0
  42. package/dist/components/tabs.min.css +1 -0
  43. package/dist/components/toasts.css +421 -0
  44. package/dist/components/toasts.min.css +1 -0
  45. package/dist/components/tooltips-popovers.css +447 -0
  46. package/dist/components/tooltips-popovers.min.css +1 -0
  47. package/dist/components/typography.css +250 -0
  48. package/dist/components/typography.min.css +1 -0
  49. package/dist/components/utilities.css +3434 -0
  50. package/dist/components/utilities.min.css +1 -0
  51. package/dist/core.css +866 -0
  52. package/dist/core.min.css +1 -0
  53. package/dist/identity.css +266 -0
  54. package/dist/identity.min.css +1 -0
  55. package/dist/themes/carbon.css +658 -0
  56. package/dist/themes/carbon.min.css +1 -0
  57. package/dist/themes/graphite.css +658 -0
  58. package/dist/themes/graphite.min.css +1 -0
  59. package/dist/themes/navy.css +657 -0
  60. package/dist/themes/navy.min.css +1 -0
  61. package/dist/themes/slate.css +659 -0
  62. package/dist/themes/slate.min.css +1 -0
  63. package/dist/vds.css +20313 -0
  64. package/dist/vds.min.css +1 -0
  65. package/package.json +64 -0
@@ -0,0 +1,658 @@
1
+ /************************************************************
2
+ * VLAH DESIGN SYSTEM (VDS) - Graphite Theme
3
+ *
4
+ * Responsibilities:
5
+ * - Provide full light and dark palettes for the Graphite identity
6
+ * - Map brand, neutral, and semantic colours into VDS tokens
7
+ * for text, surfaces, borders, icons, overlays, and states
8
+ * - Supply extended theme tokens for tables, hero, typography,
9
+ * code, focus rings, and selection behaviour
10
+ * - Ensure structural parity between light and dark modes so
11
+ * components can switch themes without changing logic
12
+ *
13
+ * System Notes:
14
+ * - Pure token layer: no layout or component rules
15
+ * - Exposed under :root[data-theme="graphite-light" | "graphite-dark"]
16
+ * - Must be loaded after primitives.css and before components
17
+ * - All components are expected to consume these tokens only,
18
+ * never hard-coded HEX values
19
+ ************************************************************/
20
+
21
+ /* ---------------------------------------------------------
22
+ GRAPHITE - LIGHT THEME
23
+ --------------------------------------------------------- */
24
+
25
+ :root[data-theme="graphite-light"] {
26
+ /* Core brand */
27
+ --color-brand-ink: #0E3D69;
28
+ --color-brand-accent: #1371A3;
29
+
30
+ /* Backgrounds */
31
+ --color-bg: #F7F9FC;
32
+ --color-bg-soft: #EFF3F8;
33
+ --color-bg-elevated: #FFFFFF;
34
+
35
+ /* Surfaces */
36
+ --color-surface: #FFFFFF;
37
+ --color-surface-subtle: #EFF3F8;
38
+ --color-surface-hover: #E5ECF5;
39
+
40
+ /* Borders */
41
+ --color-border-subtle: #D2DAE6;
42
+ --color-border-strong: #A7B4C5;
43
+
44
+ /* Text */
45
+ --color-text: #0E3D69;
46
+ --color-text-muted: #4C6074;
47
+ --color-text-soft: #7B8897;
48
+ --color-text-on-soft: #0E3D69;
49
+ --color-text-on-strong: #F7F9FC;
50
+
51
+ /* Icons */
52
+ --color-icon-muted: #4C6074;
53
+ --color-icon-strong: #0E3D69;
54
+ --color-icon-on-accent: #FFFFFF;
55
+
56
+ /* Shadows */
57
+ --shadow-1: 0 8px 20px rgba(14, 61, 105, 0.07);
58
+ --shadow-2: 0 10px 30px rgba(14, 61, 105, 0.12);
59
+ --shadow-3: 0 16px 40px rgba(14, 61, 105, 0.18);
60
+
61
+ /* Accent (Graphite) */
62
+ --color-accent: #1371A3;
63
+ --color-accent-soft: #D2E3F3;
64
+ --color-accent-strong: #0F567D;
65
+ --color-on-accent: #FFFFFF;
66
+ --color-accent-soft-hover: #C0D7EE;
67
+
68
+ /* Mono */
69
+ --color-mono: #505E65;
70
+ --color-mono-soft: #274F65;
71
+ --color-mono-strong: #080F14;
72
+ --color-on-mono: #DDDDDD;
73
+ --color-mono-soft-hover: #142E3E;
74
+
75
+ /* States (Graphite light) */
76
+ --color-success: #5D9893;
77
+ --color-success-soft: #D9E7E6;
78
+ --color-success-strong: #3C7C74;
79
+ --color-on-success: #0E3D69;
80
+
81
+ --color-info: #7EA9D0;
82
+ --color-info-soft: #E1EBF4;
83
+ --color-info-strong: #5E86AC;
84
+ --color-on-info: #0E3D69;
85
+
86
+ --color-warning: #95825D;
87
+ --color-warning-soft: #E6E2D9;
88
+ --color-warning-strong: #786649;
89
+ --color-on-warning: #0E3D69;
90
+
91
+ --color-danger: #CE6870;
92
+ --color-danger-soft: #F3DCDE;
93
+ --color-danger-strong: #A55158;
94
+ --color-on-danger: #0E3D69;
95
+
96
+ --color-error: #CE6870;
97
+ --color-error-soft: #F3DCDE;
98
+ --color-error-strong: #A55158;
99
+ --color-on-error: #0E3D69;
100
+
101
+ /* Neutral */
102
+ --color-muted-bg: #E3E8F2;
103
+ --color-muted-border: #D2DAE6;
104
+
105
+ /* Header / footer */
106
+ --color-header-bg: #F7F9FC;
107
+ --color-header-border: #D2DAE6;
108
+ --color-footer-bg: #0E3D69;
109
+ --color-footer-text: #F7F9FC;
110
+
111
+ /* Logo integration */
112
+ --color-logo-ink: #0E3D69;
113
+ --color-logo-accent: #e31824;
114
+ --color-logo-mono: #000000;
115
+ --color-logo-ink-inverse: #F7F9FC;
116
+ --color-logo-accent-inverse: #1371A3;
117
+ --color-logo-footer-ink: var(--color-footer-text);
118
+ --color-logo-footer-accent: var(--color-brand-accent);
119
+
120
+ /* Links */
121
+ --link-text: #1371A3;
122
+ --link-text-hover: #0F567D;
123
+ --link-text-active: #0E3D69;
124
+
125
+ /* Hero translucency */
126
+ --color-surface-translucent-strong: rgba(255, 255, 255, 0.28);
127
+
128
+ /* Forms */
129
+ --color-placeholder: rgba(0, 0, 0, 0.30);
130
+ --slider-track-bg: rgba(14, 61, 105, 0.18);
131
+ --slider-thumb-bg: #1371A3;
132
+
133
+ /* Overlay backdrops */
134
+ --overlay-backdrop-default: rgba(0, 0, 0, 0.45);
135
+ --overlay-backdrop-light: rgba(0, 0, 0, 0.25);
136
+ --overlay-backdrop-heavy: rgba(0, 0, 0, 0.60);
137
+ --overlay-backdrop-loading: rgba(0, 0, 0, 0.25);
138
+
139
+ /* Tables */
140
+ --color-surface-soft: rgba(14, 61, 105, 0.05);
141
+
142
+ /* Table trend + rows */
143
+ --table-trend-up: #5D9893;
144
+ --table-trend-down: #CE6870;
145
+ --table-trend-flat: #7B8897;
146
+
147
+ --table-row-good-bg: #D9E7E6;
148
+ --table-row-bad-bg: #F3DCDE;
149
+ --table-row-warning-bg: #E6E2D9;
150
+ --table-row-info-bg: #E1EBF4;
151
+ --table-row-muted-bg: #E3E8F2;
152
+ --table-row-strange-bg: #D9E3F4;
153
+ --table-row-flagged-bg: #F3DCDE;
154
+ --table-row-curious-bg: #EFF3F8;
155
+
156
+ --table-row-good-text: #0E3D69;
157
+ --table-row-bad-text: #0E3D69;
158
+ --table-row-warning-text: #0E3D69;
159
+ --table-row-info-text: #0E3D69;
160
+ --table-row-muted-text: #4C6074;
161
+ --table-row-strange-text: #0E3D69;
162
+ --table-row-flagged-text: #0E3D69;
163
+ --table-row-curious-text: #0E3D69;
164
+
165
+ --table-row-flagged-border: #CE6870;
166
+ --table-row-curious-border: #1371A3;
167
+
168
+ /* Code */
169
+ --code-bg: #EFF3F8;
170
+ --code-border: #D2DAE6;
171
+ --code-inline-bg: rgba(14, 61, 105, 0.04);
172
+ --code-inline-border: rgba(14, 61, 105, 0.18);
173
+
174
+ /* Typography */
175
+ --figure-caption-color: #4C6074;
176
+ --code-block-bg: #EFF3F8;
177
+ --footnote-color: #8F979F;
178
+
179
+ /* Blockquote */
180
+ --blockquote-border: #D2DAE6;
181
+ --blockquote-text: #5F6B78;
182
+
183
+ /* Selection */
184
+ --color-selection-bg: rgba(45, 65, 73, 0.11);
185
+ --color-selection-text: #213d4f;
186
+
187
+ /* Syntax highlight */
188
+ --code-syntax-keyword: #0F567D;
189
+ --code-syntax-string: #3C7C74;
190
+ --code-syntax-number: #3A7BB8;
191
+ --code-syntax-operator: #0E3D69;
192
+ --code-syntax-comment: #8F979F;
193
+ --code-syntax-constant: #1371A3;
194
+ --code-syntax-function: #0F567D;
195
+ --code-syntax-variable: #0E3D69;
196
+
197
+ /* Semantic stacks */
198
+ --semantic-info-bg: #E1EBF4;
199
+ --semantic-info-border: #7EA9D0;
200
+ --semantic-info-text: #3A7BB8;
201
+
202
+ --semantic-warning-bg: #E6E2D9;
203
+ --semantic-warning-border: #95825D;
204
+ --semantic-warning-text: #786649;
205
+
206
+ --semantic-success-bg: #D9E7E6;
207
+ --semantic-success-border: #5D9893;
208
+ --semantic-success-text: #3C7C74;
209
+
210
+ --semantic-danger-bg: #F3DCDE;
211
+ --semantic-danger-border: #CE6870;
212
+ --semantic-danger-text: #A55158;
213
+
214
+ --semantic-error-bg: #F3DCDE;
215
+ --semantic-error-border: #CE6870;
216
+ --semantic-error-text: #A55158;
217
+
218
+ /* Strong variants */
219
+ --semantic-error-bg-strong: #EAC7CB;
220
+ --semantic-error-border-strong: #CE6870;
221
+ --semantic-error-text-strong: #A55158;
222
+
223
+ --semantic-warning-bg-strong: #DDD2C0;
224
+ --semantic-warning-border-strong: #95825D;
225
+ --semantic-warning-text-strong: #786649;
226
+
227
+ --semantic-success-bg-strong: #CBDDDA;
228
+ --semantic-success-border-strong: #5D9893;
229
+ --semantic-success-text-strong: #3C7C74;
230
+
231
+ --semantic-info-bg-strong: #D3E0EE;
232
+ --semantic-info-border-strong: #7EA9D0;
233
+ --semantic-info-text-strong: #3A7BB8;
234
+
235
+ /* HERO ERROR */
236
+ --hero-error-bg: #EFF3F8;
237
+ --hero-error-border: #CE6870;
238
+ --hero-error-banner-bg: #EFF3F8;
239
+ --hero-error-banner-border: #CE6870;
240
+ --hero-error-title: #CE6870;
241
+
242
+ --hero-trend-up: #5D9893;
243
+ --hero-trend-down: #CE6870;
244
+ --hero-accent-line: #1371A3;
245
+
246
+ /* ACCENT SURFACES */
247
+ --accent-soft-surface: #F4F7FB;
248
+ --accent-soft-surface-strong: #DFE8F3;
249
+ --accent-soft-border: #1371A3;
250
+ --accent-soft-shadow: rgba(19, 113, 163, 0.25);
251
+ --accent-soft-on: #0E3D69;
252
+
253
+ /* INFO SURFACES */
254
+ --info-soft-surface: #E1EBF4;
255
+ --info-soft-border: #7EA9D0;
256
+ --info-soft-on: #0E3D69;
257
+
258
+ /* WARNING SURFACES */
259
+ --warning-soft-surface: #E6E2D9;
260
+ --warning-soft-border: #95825D;
261
+ --warning-soft-on: #0E3D69;
262
+
263
+ /* DANGER SURFACES */
264
+ --danger-soft-surface: #F3DCDE;
265
+ --danger-soft-border: #CE6870;
266
+ --danger-soft-on: #0E3D69;
267
+
268
+ /* DOC BLOCK */
269
+ --doc-block-action-hover-bg: #E0E5EE;
270
+ --doc-block-action-hover-border: var(--color-border-strong);
271
+ --doc-block-action-hover-text: var(--color-text);
272
+
273
+ /* BUTTON SOFT */
274
+ --button-soft-border: rgba(0, 0, 0, 0.06);
275
+ --button-soft-border-hover: rgba(0, 0, 0, 0.12);
276
+ --button-soft-text: var(--color-text);
277
+
278
+ /* OUTLINE BUTTON HOVERS */
279
+ --button-outline-accent-hover-bg: rgba(19, 113, 163, 0.12);
280
+ --button-outline-accent-hover-border: var(--color-accent-strong);
281
+
282
+ --button-outline-danger-hover-bg: rgba(206, 104, 112, 0.10);
283
+ --button-outline-danger-hover-border: var(--color-danger-strong);
284
+
285
+ --button-outline-info-hover-bg: rgba(126, 169, 208, 0.10);
286
+ --button-outline-info-hover-border: var(--color-info-strong);
287
+
288
+ --button-outline-success-hover-bg: rgba(93, 152, 147, 0.12);
289
+ --button-outline-success-hover-border: var(--color-success-strong);
290
+
291
+ --button-outline-warning-hover-bg: rgba(149, 130, 93, 0.14);
292
+ --button-outline-warning-hover-border: var(--color-warning-strong);
293
+
294
+ /* BRAND SECTIONS */
295
+ --section-brand-eyebrow: #000000;
296
+ --section-brand-subtitle: #000000;
297
+ --section-brand-title: #0E3D69;
298
+ --section-brand-body: #0E3D69;
299
+ --section-brand-metric-label: #4C6074;
300
+ --section-brand-metric-value: #0E3D69;
301
+
302
+ --section-brand-accent-bg: radial-gradient(circle at top left,
303
+ rgba(179, 196, 214, 0.25),
304
+ transparent),
305
+ radial-gradient(circle at bottom right,
306
+ rgba(179, 196, 214, 0.35),
307
+ transparent);
308
+
309
+ /* Success extended */
310
+ --success-soft-surface-strong: #CBDDDA;
311
+ --color-success-soft-hover: #CBDDDA;
312
+ --success-soft-surface: #D9E7E6;
313
+ --success-soft-border: #5D9893;
314
+ --success-soft-on: #0E3D69;
315
+
316
+ /* Warning extended */
317
+ --warning-soft-surface-strong: #DDD2C0;
318
+ --color-warning-soft-hover: #DDD2C0;
319
+
320
+ /* Info extended */
321
+ --info-soft-surface-strong: #D3E0EE;
322
+ --color-info-soft-hover: #D3E0EE;
323
+
324
+ /* Danger extended */
325
+ --danger-soft-surface-strong: #EAC7CB;
326
+ --color-danger-soft-hover: #EAC7CB;
327
+
328
+ /* Hero */
329
+ --hero-trend-neutral: var(--color-text-muted);
330
+ --hero-error-text: var(--semantic-error-text-strong, var(--color-danger-strong));
331
+
332
+ --hero-metric-bg: var(--color-surface-subtle);
333
+
334
+ --flow-zebra-bg: var(--color-surface-subtle);
335
+ --flow-zebra-bg-alt: var(--color-muted-bg);
336
+
337
+ --focus-ring-color: var(--color-accent);
338
+ }
339
+
340
+ /* ---------------------------------------------------------
341
+ GRAPHITE - DARK THEME
342
+ Inverts background/text, preserves hierarchy.
343
+ --------------------------------------------------------- */
344
+
345
+ :root[data-theme="graphite-dark"] {
346
+ /* Core brand */
347
+ --color-brand-ink: #F5F7FA;
348
+ --color-brand-accent: #1F3A4D;
349
+
350
+ /* Backgrounds */
351
+ --color-bg: #0F1114;
352
+ --color-bg-soft: #1A1F26;
353
+ --color-bg-elevated: #1C2127;
354
+
355
+ /* Surfaces */
356
+ --color-surface: #171A1E;
357
+ --color-surface-subtle: #1A1E23;
358
+ --color-surface-hover: #263038;
359
+
360
+ /* Borders */
361
+ --color-border-subtle: #5F656C;
362
+ --color-border-strong: #6A7480;
363
+
364
+ /* Text */
365
+ --color-text: #F5F7FA;
366
+ --color-text-muted: #AEB4BA;
367
+ --color-text-soft: #7A8A95;
368
+ --color-text-on-soft: #F5F7FA;
369
+ --color-text-on-strong: #F5F7FA;
370
+
371
+ /* Icons */
372
+ --color-icon-muted: #AEB4BA;
373
+ --color-icon-strong: #F5F7FA;
374
+ --color-icon-on-accent: #0F1114;
375
+
376
+ /* Shadows */
377
+ --shadow-1: 0 8px 20px rgba(14, 61, 105, 0.07);
378
+ --shadow-2: 0 10px 30px rgba(14, 61, 105, 0.12);
379
+ --shadow-3: 0 16px 40px rgba(14, 61, 105, 0.18);
380
+
381
+ /* Accent */
382
+ --color-accent: #1371A3;
383
+ --color-accent-soft: #0A4F72;
384
+ --color-accent-strong: #0D293D;
385
+ --color-on-accent: #FFFFFF;
386
+ --color-accent-soft-hover: #09405D;
387
+
388
+ /* Mono */
389
+ --color-mono: #505E65;
390
+ --color-mono-soft: #0B1214;
391
+ --color-mono-strong: #2D5A63;
392
+ --color-on-mono: #E5E8EB;
393
+ --color-mono-soft-hover: #1A2C30;
394
+
395
+ /* States */
396
+ --color-success: #066159;
397
+ --color-success-soft: #002521;
398
+ --color-success-strong: #247768;
399
+ --color-on-success: #F5F7FA;
400
+
401
+ --color-info: #3A7BB8;
402
+ --color-info-soft: #0E232E;
403
+ --color-info-strong: #2E6F9E;
404
+ --color-on-info: #F5F7FA;
405
+
406
+ --color-warning: #5D4006;
407
+ --color-warning-soft: #241C08;
408
+ --color-warning-strong: #A7832E;
409
+ --color-on-warning: #F5F7FA;
410
+
411
+ --color-danger: #850610;
412
+ --color-danger-soft: #2A1518;
413
+ --color-danger-strong: #B51823;
414
+ --color-on-danger: #F5F7FA;
415
+
416
+ --color-error: #B51823;
417
+ --color-error-soft: #2A1518;
418
+ --color-error-strong: #850610;
419
+ --color-on-error: #F5F7FA;
420
+
421
+ /* Neutral */
422
+ --color-muted-bg: #1f2427;
423
+ --color-muted-border: #353A3C;
424
+
425
+ /* Header / footer */
426
+ --color-header-bg: #0F1114;
427
+ --color-header-border: #353A3C;
428
+ --color-footer-bg: #0A2D50;
429
+ --color-footer-text: #F5F7FA;
430
+
431
+ /* Logo integration */
432
+ --color-logo-ink: #F5F7FA;
433
+ --color-logo-accent: #1371A3;
434
+ --color-logo-mono: #FFFFFF;
435
+ --color-logo-ink-inverse: #0E3D69;
436
+ --color-logo-accent-inverse: #1371A3;
437
+ --color-logo-footer-ink: var(--color-footer-text);
438
+ --color-logo-footer-accent: var(--color-brand-accent);
439
+
440
+ /* Links */
441
+ --link-text: #3A7BB8;
442
+ --link-text-hover: #4F9CD3;
443
+ --link-text-active: #F5F7FA;
444
+
445
+ /* Translucent translucency */
446
+ --color-surface-translucent-strong: rgba(255, 255, 255, 0.28);
447
+
448
+ /* Forms */
449
+ --color-placeholder: rgba(245, 247, 250, 0.30);
450
+ --slider-track-bg: rgba(245, 247, 250, 0.16);
451
+ --slider-thumb-bg: #1371A3;
452
+
453
+ /* Overlay backdrops */
454
+ --overlay-backdrop-default: rgba(0, 0, 0, 0.45);
455
+ --overlay-backdrop-light: rgba(0, 0, 0, 0.25);
456
+ --overlay-backdrop-heavy: rgba(0, 0, 0, 0.60);
457
+ --overlay-backdrop-loading: rgba(0, 0, 0, 0.60);
458
+
459
+ /* Tables */
460
+ --color-surface-soft: rgba(255, 255, 255, 0.06);
461
+
462
+ /* Table trend + rows */
463
+ --table-trend-up: #066159;
464
+ --table-trend-down: #850610;
465
+ --table-trend-flat: #7A8A95;
466
+
467
+ --table-row-good-bg: #0F2622;
468
+ --table-row-bad-bg: #2A1518;
469
+ --table-row-warning-bg: #32270A;
470
+ --table-row-info-bg: #0E232E;
471
+ --table-row-muted-bg: #1A1E20;
472
+ --table-row-strange-bg: #2F1A1B;
473
+ --table-row-flagged-bg: #2A1518;
474
+ --table-row-curious-bg: #161A1C;
475
+
476
+ --table-row-good-text: #F5F7FA;
477
+ --table-row-bad-text: #F5F7FA;
478
+ --table-row-warning-text: #F5F7FA;
479
+ --table-row-info-text: #F5F7FA;
480
+ --table-row-muted-text: #AEB4BA;
481
+ --table-row-strange-text: #F5F7FA;
482
+ --table-row-flagged-text: #F5F7FA;
483
+ --table-row-curious-text: #F5F7FA;
484
+
485
+ --table-row-flagged-border: #850610;
486
+ --table-row-curious-border: #1371A3;
487
+
488
+ /* Code */
489
+ --code-bg: #1F2426;
490
+ --code-border: #2D3234;
491
+ --code-inline-bg: rgba(255, 255, 255, 0.09);
492
+ --code-inline-border: rgba(255, 255, 255, 0.18);
493
+
494
+ /* Typography */
495
+ --figure-caption-color: #C1C7C8;
496
+ --code-block-bg: #141617;
497
+ --footnote-color: #8F9798;
498
+
499
+ /* Blockquote */
500
+ --blockquote-border: #2D3234;
501
+ --blockquote-text: #AEB4BA;
502
+
503
+ /* Selection */
504
+ --color-selection-bg: rgba(237, 23, 23, 0.40);
505
+ --color-selection-text: #F5F7FA;
506
+
507
+ /* Syntax highlight */
508
+ --code-syntax-keyword: #4F9CD3;
509
+ --code-syntax-string: #247768;
510
+ --code-syntax-number: #3A7BB8;
511
+ --code-syntax-operator: #F5F7FA;
512
+ --code-syntax-comment: #7A8A95;
513
+ --code-syntax-constant: #1371A3;
514
+ --code-syntax-function: #4F9CD3;
515
+ --code-syntax-variable: #F5F7FA;
516
+
517
+ /* Semantic stacks */
518
+ --semantic-info-bg: #022944;
519
+ --semantic-info-border: #4E96DD;
520
+ --semantic-info-text: #4F9CD3;
521
+
522
+ --semantic-warning-bg: #241C08;
523
+ --semantic-warning-border: #A7832E;
524
+ --semantic-warning-text: #BFA364;
525
+
526
+ --semantic-success-bg: #0F2622;
527
+ --semantic-success-border: #39A88B;
528
+ --semantic-success-text: #2E8F7A;
529
+
530
+ --semantic-danger-bg: #2A1518;
531
+ --semantic-danger-border: #B51823;
532
+ --semantic-danger-text: #a33a43;
533
+
534
+ --semantic-error-bg: #2A1518;
535
+ --semantic-error-border: #B51823;
536
+ --semantic-error-text: #a33a43;
537
+
538
+ /* Strong variants */
539
+ --semantic-error-bg-strong: #220F12;
540
+ --semantic-error-border-strong: #B51823;
541
+ --semantic-error-text-strong: #bc1425;
542
+
543
+ --semantic-warning-bg-strong: #262012;
544
+ --semantic-warning-border-strong: #A7832E;
545
+ --semantic-warning-text-strong: #C7A96A;
546
+
547
+ --semantic-success-bg-strong: #0A1E1B;
548
+ --semantic-success-border-strong: #39A88B;
549
+ --semantic-success-text-strong: #2E8F7A;
550
+
551
+ --semantic-info-bg-strong: #0A1A24;
552
+ --semantic-info-border-strong: #4E96DD;
553
+ --semantic-info-text-strong: #4F9CD3;
554
+
555
+ /* HERO ERROR */
556
+ --hero-error-bg: #24090C;
557
+ --hero-error-border: #7A1F2A;
558
+ --hero-error-banner-bg: #24090C;
559
+ --hero-error-banner-border: #8A2331;
560
+ --hero-error-title: #bd444e;
561
+
562
+ --hero-trend-up: #39A88B;
563
+ --hero-trend-down: #B51823;
564
+ --hero-accent-line: #1371A3;
565
+
566
+ /* ACCENT SURFACES */
567
+ --accent-soft-surface: #0A3A55;
568
+ --accent-soft-surface-strong: #123F57;
569
+ --accent-soft-border: #1371A3;
570
+ --accent-soft-shadow: rgba(19, 113, 163, 0.25);
571
+ --accent-soft-on: #F5F7FA;
572
+
573
+ /* INFO SURFACES */
574
+ --info-soft-surface: #0E232E;
575
+ --info-soft-border: #3A7BB8;
576
+ --info-soft-on: #2E6F9E;
577
+
578
+ /* WARNING SURFACES */
579
+ --warning-soft-surface: #241C08;
580
+ --warning-soft-border: #A7832E;
581
+ --warning-soft-on: #C7A96A;
582
+
583
+ /* DANGER SURFACES */
584
+ --danger-soft-surface: #2A1518;
585
+ --danger-soft-border: #850610;
586
+ --danger-soft-on: #d7515e;
587
+
588
+ /* DOC BLOCK */
589
+ --doc-block-action-hover-bg: #2A2F31;
590
+ --doc-block-action-hover-border: var(--color-border-strong);
591
+ --doc-block-action-hover-text: var(--color-text);
592
+
593
+ /* BUTTON SOFT */
594
+ --button-soft-border: rgba(255, 255, 255, 0.04);
595
+ --button-soft-border-hover: rgba(255, 255, 255, 0.12);
596
+ --button-soft-text: var(--color-text);
597
+
598
+ /* OUTLINE BUTTON HOVERS */
599
+ --button-outline-accent-hover-bg: rgba(19, 113, 163, 0.16);
600
+ --button-outline-accent-hover-border: var(--color-accent-strong);
601
+
602
+ --button-outline-danger-hover-bg: rgba(181, 24, 35, 0.16);
603
+ --button-outline-danger-hover-border: var(--color-danger-strong);
604
+
605
+ --button-outline-info-hover-bg: rgba(58, 123, 184, 0.16);
606
+ --button-outline-info-hover-border: var(--color-info-strong);
607
+
608
+ --button-outline-success-hover-bg: rgba(6, 97, 89, 0.16);
609
+ --button-outline-success-hover-border: var(--color-success-strong);
610
+
611
+ --button-outline-warning-hover-bg: rgba(93, 64, 6, 0.20);
612
+ --button-outline-warning-hover-border: var(--color-warning-strong);
613
+
614
+ /* BRAND SECTIONS */
615
+ --section-brand-eyebrow: #F5F7FA;
616
+ --section-brand-subtitle: #C1C7C8;
617
+ --section-brand-title: #FFFFFF;
618
+ --section-brand-body: #C1C7C8;
619
+ --section-brand-metric-label: #F5F7FA;
620
+ --section-brand-metric-value: #FFFFFF;
621
+
622
+ --section-brand-accent-bg: radial-gradient(circle at top left,
623
+ rgba(19, 113, 163, 0.35),
624
+ transparent),
625
+ radial-gradient(circle at bottom right,
626
+ rgba(19, 113, 163, 0.45),
627
+ transparent);
628
+
629
+ /* Success extended */
630
+ --success-soft-surface-strong: #0A1E1B;
631
+ --color-success-soft-hover: #102E29;
632
+ --success-soft-surface: #002521;
633
+ --success-soft-border: #066159;
634
+ --success-soft-on: #39A88B;
635
+
636
+ /* Warning extended */
637
+ --warning-soft-surface-strong: #262012;
638
+ --color-warning-soft-hover: #322A16;
639
+
640
+ /* Info extended */
641
+ --info-soft-surface-strong: #0A1A24;
642
+ --color-info-soft-hover: #0E2A3A;
643
+
644
+ /* Danger extended */
645
+ --danger-soft-surface-strong: #220F12;
646
+ --color-danger-soft-hover: #2D161B;
647
+
648
+ /* Hero */
649
+ --hero-trend-neutral: var(--color-text-muted);
650
+ --hero-error-text: var(--semantic-error-text-strong, var(--color-danger-strong));
651
+
652
+ --hero-metric-bg: var(--color-surface);
653
+
654
+ --flow-zebra-bg: var(--color-surface);
655
+ --flow-zebra-bg-alt: var(--color-surface-subtle);
656
+
657
+ --focus-ring-color: #1371A3;
658
+ }
@@ -0,0 +1 @@
1
+ :root[data-theme=graphite-light]{--color-brand-ink:#0e3d69;--color-brand-accent:#1371a3;--color-bg:#f7f9fc;--color-bg-soft:#eff3f8;--color-bg-elevated:#fff;--color-surface:#fff;--color-surface-subtle:#eff3f8;--color-surface-hover:#e5ecf5;--color-border-subtle:#d2dae6;--color-border-strong:#a7b4c5;--color-text:#0e3d69;--color-text-muted:#4c6074;--color-text-soft:#7b8897;--color-text-on-soft:#0e3d69;--color-text-on-strong:#f7f9fc;--color-icon-muted:#4c6074;--color-icon-strong:#0e3d69;--color-icon-on-accent:#fff;--shadow-1:0 8px 20px rgba(14,61,105,.07);--shadow-2:0 10px 30px rgba(14,61,105,.12);--shadow-3:0 16px 40px rgba(14,61,105,.18);--color-accent:#1371a3;--color-accent-soft:#d2e3f3;--color-accent-strong:#0f567d;--color-on-accent:#fff;--color-accent-soft-hover:#c0d7ee;--color-mono:#505e65;--color-mono-soft:#274f65;--color-mono-strong:#080f14;--color-on-mono:#ddd;--color-mono-soft-hover:#142e3e;--color-success:#5d9893;--color-success-soft:#d9e7e6;--color-success-strong:#3c7c74;--color-on-success:#0e3d69;--color-info:#7ea9d0;--color-info-soft:#e1ebf4;--color-info-strong:#5e86ac;--color-on-info:#0e3d69;--color-warning:#95825d;--color-warning-soft:#e6e2d9;--color-warning-strong:#786649;--color-on-warning:#0e3d69;--color-danger:#ce6870;--color-danger-soft:#f3dcde;--color-danger-strong:#a55158;--color-on-danger:#0e3d69;--color-error:#ce6870;--color-error-soft:#f3dcde;--color-error-strong:#a55158;--color-on-error:#0e3d69;--color-muted-bg:#e3e8f2;--color-muted-border:#d2dae6;--color-header-bg:#f7f9fc;--color-header-border:#d2dae6;--color-footer-bg:#0e3d69;--color-footer-text:#f7f9fc;--color-logo-ink:#0e3d69;--color-logo-accent:#e31824;--color-logo-mono:#000;--color-logo-ink-inverse:#f7f9fc;--color-logo-accent-inverse:#1371a3;--color-logo-footer-ink:var(--color-footer-text);--color-logo-footer-accent:var(--color-brand-accent);--link-text:#1371a3;--link-text-hover:#0f567d;--link-text-active:#0e3d69;--color-surface-translucent-strong:hsla(0,0%,100%,.28);--color-placeholder:rgba(0,0,0,.3);--slider-track-bg:rgba(14,61,105,.18);--slider-thumb-bg:#1371a3;--overlay-backdrop-default:rgba(0,0,0,.45);--overlay-backdrop-light:rgba(0,0,0,.25);--overlay-backdrop-heavy:rgba(0,0,0,.6);--overlay-backdrop-loading:rgba(0,0,0,.25);--color-surface-soft:rgba(14,61,105,.05);--table-trend-up:#5d9893;--table-trend-down:#ce6870;--table-trend-flat:#7b8897;--table-row-good-bg:#d9e7e6;--table-row-bad-bg:#f3dcde;--table-row-warning-bg:#e6e2d9;--table-row-info-bg:#e1ebf4;--table-row-muted-bg:#e3e8f2;--table-row-strange-bg:#d9e3f4;--table-row-flagged-bg:#f3dcde;--table-row-curious-bg:#eff3f8;--table-row-good-text:#0e3d69;--table-row-bad-text:#0e3d69;--table-row-warning-text:#0e3d69;--table-row-info-text:#0e3d69;--table-row-muted-text:#4c6074;--table-row-strange-text:#0e3d69;--table-row-flagged-text:#0e3d69;--table-row-curious-text:#0e3d69;--table-row-flagged-border:#ce6870;--table-row-curious-border:#1371a3;--code-bg:#eff3f8;--code-border:#d2dae6;--code-inline-bg:rgba(14,61,105,.04);--code-inline-border:rgba(14,61,105,.18);--figure-caption-color:#4c6074;--code-block-bg:#eff3f8;--footnote-color:#8f979f;--blockquote-border:#d2dae6;--blockquote-text:#5f6b78;--color-selection-bg:rgba(45,65,73,.11);--color-selection-text:#213d4f;--code-syntax-keyword:#0f567d;--code-syntax-string:#3c7c74;--code-syntax-number:#3a7bb8;--code-syntax-operator:#0e3d69;--code-syntax-comment:#8f979f;--code-syntax-constant:#1371a3;--code-syntax-function:#0f567d;--code-syntax-variable:#0e3d69;--semantic-info-bg:#e1ebf4;--semantic-info-border:#7ea9d0;--semantic-info-text:#3a7bb8;--semantic-warning-bg:#e6e2d9;--semantic-warning-border:#95825d;--semantic-warning-text:#786649;--semantic-success-bg:#d9e7e6;--semantic-success-border:#5d9893;--semantic-success-text:#3c7c74;--semantic-danger-bg:#f3dcde;--semantic-danger-border:#ce6870;--semantic-danger-text:#a55158;--semantic-error-bg:#f3dcde;--semantic-error-border:#ce6870;--semantic-error-text:#a55158;--semantic-error-bg-strong:#eac7cb;--semantic-error-border-strong:#ce6870;--semantic-error-text-strong:#a55158;--semantic-warning-bg-strong:#ddd2c0;--semantic-warning-border-strong:#95825d;--semantic-warning-text-strong:#786649;--semantic-success-bg-strong:#cbddda;--semantic-success-border-strong:#5d9893;--semantic-success-text-strong:#3c7c74;--semantic-info-bg-strong:#d3e0ee;--semantic-info-border-strong:#7ea9d0;--semantic-info-text-strong:#3a7bb8;--hero-error-bg:#eff3f8;--hero-error-border:#ce6870;--hero-error-banner-bg:#eff3f8;--hero-error-banner-border:#ce6870;--hero-error-title:#ce6870;--hero-trend-up:#5d9893;--hero-trend-down:#ce6870;--hero-accent-line:#1371a3;--accent-soft-surface:#f4f7fb;--accent-soft-surface-strong:#dfe8f3;--accent-soft-border:#1371a3;--accent-soft-shadow:rgba(19,113,163,.25);--accent-soft-on:#0e3d69;--info-soft-surface:#e1ebf4;--info-soft-border:#7ea9d0;--info-soft-on:#0e3d69;--warning-soft-surface:#e6e2d9;--warning-soft-border:#95825d;--warning-soft-on:#0e3d69;--danger-soft-surface:#f3dcde;--danger-soft-border:#ce6870;--danger-soft-on:#0e3d69;--doc-block-action-hover-bg:#e0e5ee;--doc-block-action-hover-border:var(--color-border-strong);--doc-block-action-hover-text:var(--color-text);--button-soft-border:rgba(0,0,0,.06);--button-soft-border-hover:rgba(0,0,0,.12);--button-soft-text:var(--color-text);--button-outline-accent-hover-bg:rgba(19,113,163,.12);--button-outline-accent-hover-border:var(--color-accent-strong);--button-outline-danger-hover-bg:rgba(206,104,112,.1);--button-outline-danger-hover-border:var(--color-danger-strong);--button-outline-info-hover-bg:rgba(126,169,208,.1);--button-outline-info-hover-border:var(--color-info-strong);--button-outline-success-hover-bg:rgba(93,152,147,.12);--button-outline-success-hover-border:var(--color-success-strong);--button-outline-warning-hover-bg:rgba(149,130,93,.14);--button-outline-warning-hover-border:var(--color-warning-strong);--section-brand-eyebrow:#000;--section-brand-subtitle:#000;--section-brand-title:#0e3d69;--section-brand-body:#0e3d69;--section-brand-metric-label:#4c6074;--section-brand-metric-value:#0e3d69;--section-brand-accent-bg:radial-gradient(circle at top left,rgba(179,196,214,.25),transparent),radial-gradient(circle at bottom right,rgba(179,196,214,.35),transparent);--success-soft-surface-strong:#cbddda;--color-success-soft-hover:#cbddda;--success-soft-surface:#d9e7e6;--success-soft-border:#5d9893;--success-soft-on:#0e3d69;--warning-soft-surface-strong:#ddd2c0;--color-warning-soft-hover:#ddd2c0;--info-soft-surface-strong:#d3e0ee;--color-info-soft-hover:#d3e0ee;--danger-soft-surface-strong:#eac7cb;--color-danger-soft-hover:#eac7cb;--hero-trend-neutral:var(--color-text-muted);--hero-error-text:var(--semantic-error-text-strong,var(--color-danger-strong));--hero-metric-bg:var(--color-surface-subtle);--flow-zebra-bg:var(--color-surface-subtle);--flow-zebra-bg-alt:var(--color-muted-bg);--focus-ring-color:var(--color-accent)}:root[data-theme=graphite-dark]{--color-brand-ink:#f5f7fa;--color-brand-accent:#1f3a4d;--color-bg:#0f1114;--color-bg-soft:#1a1f26;--color-bg-elevated:#1c2127;--color-surface:#171a1e;--color-surface-subtle:#1a1e23;--color-surface-hover:#263038;--color-border-subtle:#5f656c;--color-border-strong:#6a7480;--color-text:#f5f7fa;--color-text-muted:#aeb4ba;--color-text-soft:#7a8a95;--color-text-on-soft:#f5f7fa;--color-text-on-strong:#f5f7fa;--color-icon-muted:#aeb4ba;--color-icon-strong:#f5f7fa;--color-icon-on-accent:#0f1114;--shadow-1:0 8px 20px rgba(14,61,105,.07);--shadow-2:0 10px 30px rgba(14,61,105,.12);--shadow-3:0 16px 40px rgba(14,61,105,.18);--color-accent:#1371a3;--color-accent-soft:#0a4f72;--color-accent-strong:#0d293d;--color-on-accent:#fff;--color-accent-soft-hover:#09405d;--color-mono:#505e65;--color-mono-soft:#0b1214;--color-mono-strong:#2d5a63;--color-on-mono:#e5e8eb;--color-mono-soft-hover:#1a2c30;--color-success:#066159;--color-success-soft:#002521;--color-success-strong:#247768;--color-on-success:#f5f7fa;--color-info:#3a7bb8;--color-info-soft:#0e232e;--color-info-strong:#2e6f9e;--color-on-info:#f5f7fa;--color-warning:#5d4006;--color-warning-soft:#241c08;--color-warning-strong:#a7832e;--color-on-warning:#f5f7fa;--color-danger:#850610;--color-danger-soft:#2a1518;--color-danger-strong:#b51823;--color-on-danger:#f5f7fa;--color-error:#b51823;--color-error-soft:#2a1518;--color-error-strong:#850610;--color-on-error:#f5f7fa;--color-muted-bg:#1f2427;--color-muted-border:#353a3c;--color-header-bg:#0f1114;--color-header-border:#353a3c;--color-footer-bg:#0a2d50;--color-footer-text:#f5f7fa;--color-logo-ink:#f5f7fa;--color-logo-accent:#1371a3;--color-logo-mono:#fff;--color-logo-ink-inverse:#0e3d69;--color-logo-accent-inverse:#1371a3;--color-logo-footer-ink:var(--color-footer-text);--color-logo-footer-accent:var(--color-brand-accent);--link-text:#3a7bb8;--link-text-hover:#4f9cd3;--link-text-active:#f5f7fa;--color-surface-translucent-strong:hsla(0,0%,100%,.28);--color-placeholder:rgba(245,247,250,.3);--slider-track-bg:rgba(245,247,250,.16);--slider-thumb-bg:#1371a3;--overlay-backdrop-default:rgba(0,0,0,.45);--overlay-backdrop-light:rgba(0,0,0,.25);--overlay-backdrop-heavy:rgba(0,0,0,.6);--overlay-backdrop-loading:rgba(0,0,0,.6);--color-surface-soft:hsla(0,0%,100%,.06);--table-trend-up:#066159;--table-trend-down:#850610;--table-trend-flat:#7a8a95;--table-row-good-bg:#0f2622;--table-row-bad-bg:#2a1518;--table-row-warning-bg:#32270a;--table-row-info-bg:#0e232e;--table-row-muted-bg:#1a1e20;--table-row-strange-bg:#2f1a1b;--table-row-flagged-bg:#2a1518;--table-row-curious-bg:#161a1c;--table-row-good-text:#f5f7fa;--table-row-bad-text:#f5f7fa;--table-row-warning-text:#f5f7fa;--table-row-info-text:#f5f7fa;--table-row-muted-text:#aeb4ba;--table-row-strange-text:#f5f7fa;--table-row-flagged-text:#f5f7fa;--table-row-curious-text:#f5f7fa;--table-row-flagged-border:#850610;--table-row-curious-border:#1371a3;--code-bg:#1f2426;--code-border:#2d3234;--code-inline-bg:hsla(0,0%,100%,.09);--code-inline-border:hsla(0,0%,100%,.18);--figure-caption-color:#c1c7c8;--code-block-bg:#141617;--footnote-color:#8f9798;--blockquote-border:#2d3234;--blockquote-text:#aeb4ba;--color-selection-bg:rgba(237,23,23,.4);--color-selection-text:#f5f7fa;--code-syntax-keyword:#4f9cd3;--code-syntax-string:#247768;--code-syntax-number:#3a7bb8;--code-syntax-operator:#f5f7fa;--code-syntax-comment:#7a8a95;--code-syntax-constant:#1371a3;--code-syntax-function:#4f9cd3;--code-syntax-variable:#f5f7fa;--semantic-info-bg:#022944;--semantic-info-border:#4e96dd;--semantic-info-text:#4f9cd3;--semantic-warning-bg:#241c08;--semantic-warning-border:#a7832e;--semantic-warning-text:#bfa364;--semantic-success-bg:#0f2622;--semantic-success-border:#39a88b;--semantic-success-text:#2e8f7a;--semantic-danger-bg:#2a1518;--semantic-danger-border:#b51823;--semantic-danger-text:#a33a43;--semantic-error-bg:#2a1518;--semantic-error-border:#b51823;--semantic-error-text:#a33a43;--semantic-error-bg-strong:#220f12;--semantic-error-border-strong:#b51823;--semantic-error-text-strong:#bc1425;--semantic-warning-bg-strong:#262012;--semantic-warning-border-strong:#a7832e;--semantic-warning-text-strong:#c7a96a;--semantic-success-bg-strong:#0a1e1b;--semantic-success-border-strong:#39a88b;--semantic-success-text-strong:#2e8f7a;--semantic-info-bg-strong:#0a1a24;--semantic-info-border-strong:#4e96dd;--semantic-info-text-strong:#4f9cd3;--hero-error-bg:#24090c;--hero-error-border:#7a1f2a;--hero-error-banner-bg:#24090c;--hero-error-banner-border:#8a2331;--hero-error-title:#bd444e;--hero-trend-up:#39a88b;--hero-trend-down:#b51823;--hero-accent-line:#1371a3;--accent-soft-surface:#0a3a55;--accent-soft-surface-strong:#123f57;--accent-soft-border:#1371a3;--accent-soft-shadow:rgba(19,113,163,.25);--accent-soft-on:#f5f7fa;--info-soft-surface:#0e232e;--info-soft-border:#3a7bb8;--info-soft-on:#2e6f9e;--warning-soft-surface:#241c08;--warning-soft-border:#a7832e;--warning-soft-on:#c7a96a;--danger-soft-surface:#2a1518;--danger-soft-border:#850610;--danger-soft-on:#d7515e;--doc-block-action-hover-bg:#2a2f31;--doc-block-action-hover-border:var(--color-border-strong);--doc-block-action-hover-text:var(--color-text);--button-soft-border:hsla(0,0%,100%,.04);--button-soft-border-hover:hsla(0,0%,100%,.12);--button-soft-text:var(--color-text);--button-outline-accent-hover-bg:rgba(19,113,163,.16);--button-outline-accent-hover-border:var(--color-accent-strong);--button-outline-danger-hover-bg:rgba(181,24,35,.16);--button-outline-danger-hover-border:var(--color-danger-strong);--button-outline-info-hover-bg:rgba(58,123,184,.16);--button-outline-info-hover-border:var(--color-info-strong);--button-outline-success-hover-bg:rgba(6,97,89,.16);--button-outline-success-hover-border:var(--color-success-strong);--button-outline-warning-hover-bg:rgba(93,64,6,.2);--button-outline-warning-hover-border:var(--color-warning-strong);--section-brand-eyebrow:#f5f7fa;--section-brand-subtitle:#c1c7c8;--section-brand-title:#fff;--section-brand-body:#c1c7c8;--section-brand-metric-label:#f5f7fa;--section-brand-metric-value:#fff;--section-brand-accent-bg:radial-gradient(circle at top left,rgba(19,113,163,.35),transparent),radial-gradient(circle at bottom right,rgba(19,113,163,.45),transparent);--success-soft-surface-strong:#0a1e1b;--color-success-soft-hover:#102e29;--success-soft-surface:#002521;--success-soft-border:#066159;--success-soft-on:#39a88b;--warning-soft-surface-strong:#262012;--color-warning-soft-hover:#322a16;--info-soft-surface-strong:#0a1a24;--color-info-soft-hover:#0e2a3a;--danger-soft-surface-strong:#220f12;--color-danger-soft-hover:#2d161b;--hero-trend-neutral:var(--color-text-muted);--hero-error-text:var(--semantic-error-text-strong,var(--color-danger-strong));--hero-metric-bg:var(--color-surface);--flow-zebra-bg:var(--color-surface);--flow-zebra-bg-alt:var(--color-surface-subtle);--focus-ring-color:#1371a3}