@24vlh/vds 0.1.0 → 0.1.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.
@@ -1,658 +1 @@
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
- }
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}