@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,657 +1 @@
1
- /************************************************************
2
- * VLAH DESIGN SYSTEM (VDS) - Navy Theme
3
- *
4
- * Responsibilities:
5
- * - Provide full light and dark palettes for the Navy 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="navy-light" | "navy-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
- NAVY - LIGHT THEME
23
- --------------------------------------------------------- */
24
-
25
- :root[data-theme="navy-light"] {
26
- /* Core brand */
27
- --color-brand-ink: #0C1A33;
28
- --color-brand-accent: #A9B4C4;
29
-
30
- /* Backgrounds */
31
- --color-bg: #F7F9FB;
32
- --color-bg-soft: #EEF2F8;
33
- --color-bg-elevated: #FFFFFF;
34
-
35
- /* Surfaces */
36
- --color-surface: #FFFFFF;
37
- --color-surface-subtle: #F2F5FA;
38
- --color-surface-hover: #F0F2F6;
39
-
40
- /* Borders */
41
- --color-border-subtle: #D3D9E4;
42
- --color-border-strong: #A0ACC0;
43
-
44
- /* Text */
45
- --color-text: #0C1A33;
46
- --color-text-muted: #4A5670;
47
- --color-text-soft: #7A8495;
48
- --color-text-on-soft: #0C1A33;
49
- --color-text-on-strong: #F7F9FB;
50
-
51
- /* Icons */
52
- --color-icon-muted: #4A5670;
53
- --color-icon-strong: #0C1A33;
54
- --color-icon-on-accent: #0C1A33;
55
-
56
- /* Shadows */
57
- --shadow-1: 0 8px 20px rgba(12, 26, 51, 0.07);
58
- --shadow-2: 0 10px 30px rgba(12, 26, 51, 0.12);
59
- --shadow-3: 0 16px 40px rgba(12, 26, 51, 0.18);
60
-
61
- /* Accent */
62
- --color-accent: #A9B4C4;
63
- --color-accent-soft: #C5CEDA;
64
- --color-accent-strong: #8692A2;
65
- --color-on-accent: #0C1A33;
66
- --color-accent-soft-hover: #D3DAE3;
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 */
76
- --color-success: #2F8F72;
77
- --color-success-soft: #E6F4EF;
78
- --color-success-strong: #256F58;
79
- --color-on-success: #FFFFFF;
80
-
81
- --color-info: #3B6FA6;
82
- --color-info-soft: #EAF2FA;
83
- --color-info-strong: #2D5680;
84
- --color-on-info: #FFFFFF;
85
-
86
- --color-warning: #B0892F;
87
- --color-warning-soft: #FBF6E8;
88
- --color-warning-strong: #8C6C24;
89
- --color-on-warning: #0C1A33;
90
-
91
- --color-danger: #8E1F2E;
92
- --color-danger-soft: #F8E8EB;
93
- --color-danger-strong: #6E1823;
94
- --color-on-danger: #FFFFFF;
95
-
96
- --color-error: #8E1F2E;
97
- --color-error-soft: #F8E8EB;
98
- --color-error-strong: #6E1823;
99
- --color-on-error: #FFFFFF;
100
-
101
- /* Neutral */
102
- --color-muted-bg: #E4E9F2;
103
- --color-muted-border: #D3D9E4;
104
-
105
- /* Header / footer */
106
- --color-header-bg: #F7F9FB;
107
- --color-header-border: #D3D9E4;
108
- --color-footer-bg: #0C1A33;
109
- --color-footer-text: #F7F9FB;
110
-
111
- /* Logo integration */
112
- --color-logo-ink: #0C1A33;
113
- --color-logo-accent: #A9B4C4;
114
- --color-logo-mono: #000000;
115
- --color-logo-ink-inverse: #F7F9FB;
116
- --color-logo-accent-inverse: #A9B4C4;
117
- --color-logo-footer-ink: var(--color-footer-text);
118
- --color-logo-footer-accent: var(--color-brand-accent);
119
-
120
- /* Links */
121
- --link-text: #A9B4C4;
122
- --link-text-hover: #8692A2;
123
- --link-text-active: #0C1A33;
124
-
125
- /* Hero translucency */
126
- --color-surface-translucent-strong: rgba(0, 0, 0, 0.35);
127
-
128
- /* Forms */
129
- --color-placeholder: rgba(0, 0, 0, 0.40);
130
- --slider-track-bg: rgba(0, 0, 0, 0.14);
131
- --slider-thumb-bg: #A9B4C4;
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(0, 0, 0, 0.05);
141
-
142
- /* Table trend + rows */
143
- --table-trend-up: #2F8F72;
144
- --table-trend-down: #8E1F2E;
145
- --table-trend-flat: #7A8495;
146
-
147
- --table-row-good-bg: #E6F4EF;
148
- --table-row-bad-bg: #FBEAEC;
149
- --table-row-warning-bg: #FBF6E8;
150
- --table-row-info-bg: #EAF2FA;
151
- --table-row-muted-bg: #E4E9F2;
152
- --table-row-strange-bg: #E3E7F0;
153
- --table-row-flagged-bg: #F8E8EB;
154
- --table-row-curious-bg: #F2F5FA;
155
-
156
- --table-row-good-text: #0C1A33;
157
- --table-row-bad-text: #0C1A33;
158
- --table-row-warning-text: #0C1A33;
159
- --table-row-info-text: #0C1A33;
160
- --table-row-muted-text: #4A5670;
161
- --table-row-strange-text: #0C1A33;
162
- --table-row-flagged-text: #0C1A33;
163
- --table-row-curious-text: #0C1A33;
164
-
165
- --table-row-flagged-border: #8E1F2E;
166
- --table-row-curious-border: #A9B4C4;
167
-
168
- /* Code */
169
- --code-bg: #F2F5FA;
170
- --code-border: #D3D9E4;
171
- --code-inline-bg: rgba(0, 0, 0, 0.04);
172
- --code-inline-border: rgba(0, 0, 0, 0.18);
173
-
174
- /* Typography */
175
- --figure-caption-color: #4A5670;
176
- --code-block-bg: #F2F5FA;
177
- --footnote-color: #5B6680;
178
-
179
- /* Blockquote */
180
- --blockquote-border: #D3D9E4;
181
- --blockquote-text: #4A5670;
182
-
183
- /* Selection */
184
- --color-selection-bg: rgba(169, 180, 196, 0.35);
185
- --color-selection-text: #0C1A33;
186
-
187
- /* Syntax highlight */
188
- --code-syntax-keyword: #8692A2;
189
- --code-syntax-string: #256F58;
190
- --code-syntax-number: #2D5680;
191
- --code-syntax-operator: #0C1A33;
192
- --code-syntax-comment: #7A8495;
193
- --code-syntax-constant: #A9B4C4;
194
- --code-syntax-function: #8692A2;
195
- --code-syntax-variable: #0C1A33;
196
-
197
- /* SEMANTIC STRONG STACKS */
198
- --semantic-info-bg: #EAF2FA;
199
- --semantic-info-border: #3B6FA6;
200
- --semantic-info-text: #2D5680;
201
-
202
- --semantic-warning-bg: #FBF6E8;
203
- --semantic-warning-border: #B0892F;
204
- --semantic-warning-text: #8C6C24;
205
-
206
- --semantic-success-bg: #E6F4EF;
207
- --semantic-success-border: #2F8F72;
208
- --semantic-success-text: #256F58;
209
-
210
- --semantic-danger-bg: #F8E8EB;
211
- --semantic-danger-border: #8E1F2E;
212
- --semantic-danger-text: #6E1823;
213
-
214
- --semantic-error-bg: #F8E8EB;
215
- --semantic-error-border: #8E1F2E;
216
- --semantic-error-text: #6E1823;
217
-
218
- /* Strong variants */
219
- --semantic-error-bg-strong: #F4DADF;
220
- --semantic-error-border-strong: #8E1F2E;
221
- --semantic-error-text-strong: #6E1823;
222
-
223
- --semantic-warning-bg-strong: #F4E8C8;
224
- --semantic-warning-border-strong: #B0892F;
225
- --semantic-warning-text-strong: #8C6C24;
226
-
227
- --semantic-success-bg-strong: #D8EEE7;
228
- --semantic-success-border-strong: #2F8F72;
229
- --semantic-success-text-strong: #256F58;
230
-
231
- --semantic-info-bg-strong: #DCE8F5;
232
- --semantic-info-border-strong: #3B6FA6;
233
- --semantic-info-text-strong: #2D5680;
234
-
235
- /* HERO ERROR (light) */
236
- --hero-error-bg: #F2F5FA;
237
- --hero-error-border: #8E1F2E;
238
- --hero-error-banner-bg: #F2F5FA;
239
- --hero-error-banner-border: #8E1F2E;
240
- --hero-error-title: #8E1F2E;
241
-
242
- --hero-trend-up: #2F8F72;
243
- --hero-trend-down: #8E1F2E;
244
- --hero-accent-line: #A9B4C4;
245
-
246
- /* ACCENT SURFACES (light) */
247
- --accent-soft-surface: #F5F7FA;
248
- --accent-soft-surface-strong: #E7ECF3;
249
- --accent-soft-border: #A9B4C4;
250
- --accent-soft-shadow: rgba(169, 180, 196, 0.25);
251
- --accent-soft-on: #0C1A33;
252
-
253
- /* INFO SURFACES */
254
- --info-soft-surface: #EAF2FA;
255
- --info-soft-border: #3B6FA6;
256
- --info-soft-on: #0C1A33;
257
-
258
- /* WARNING SURFACES */
259
- --warning-soft-surface: #FBF6E8;
260
- --warning-soft-border: #B0892F;
261
- --warning-soft-on: #0C1A33;
262
-
263
- /* DANGER SURFACES */
264
- --danger-soft-surface: #F8E8EB;
265
- --danger-soft-border: #8E1F2E;
266
- --danger-soft-on: #6E1823;
267
-
268
- /* DOC BLOCK */
269
- --doc-block-action-hover-bg: #E5E8EF;
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(169, 180, 196, 0.12);
280
- --button-outline-accent-hover-border: var(--color-accent-strong);
281
-
282
- --button-outline-danger-hover-bg: rgba(142, 31, 46, 0.10);
283
- --button-outline-danger-hover-border: var(--color-danger-strong);
284
-
285
- --button-outline-info-hover-bg: rgba(59, 111, 166, 0.10);
286
- --button-outline-info-hover-border: var(--color-info-strong);
287
-
288
- --button-outline-success-hover-bg: rgba(47, 143, 114, 0.12);
289
- --button-outline-success-hover-border: var(--color-success-strong);
290
-
291
- --button-outline-warning-hover-bg: rgba(176, 137, 47, 0.14);
292
- --button-outline-warning-hover-border: var(--color-warning-strong);
293
-
294
- /* BRAND SECTIONS */
295
- --section-brand-eyebrow: #0C1A33;
296
- --section-brand-subtitle: #0C1A33;
297
- --section-brand-title: #0C1A33;
298
- --section-brand-body: #0C1A33;
299
- --section-brand-metric-label: #4A5670;
300
- --section-brand-metric-value: #0C1A33;
301
-
302
- --section-brand-accent-bg: radial-gradient(circle at top left,
303
- rgba(169, 180, 196, 0.25),
304
- transparent),
305
- radial-gradient(circle at bottom right,
306
- rgba(169, 180, 196, 0.35),
307
- transparent);
308
-
309
- /* Success extended */
310
- --success-soft-surface-strong: #D8EEE7;
311
- --color-success-soft-hover: #D8EEE7;
312
- --success-soft-surface: #E6F4F1;
313
- --success-soft-border: #2E8F7A;
314
- --success-soft-on: #0E1113;
315
-
316
- /* Warning extended */
317
- --warning-soft-surface-strong: #F4E8C8;
318
- --color-warning-soft-hover: #F4E8C8;
319
-
320
- /* Info extended */
321
- --info-soft-surface-strong: #DCE8F5;
322
- --color-info-soft-hover: #DCE8F5;
323
-
324
- /* Danger extended */
325
- --danger-soft-surface-strong: #F4DADF;
326
- --color-danger-soft-hover: #F4DADF;
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: #F2F5FA;
333
-
334
- --flow-zebra-bg: #F4F7FB;
335
- --flow-zebra-bg-alt: #FFFFFF;
336
-
337
- --focus-ring-color: #8692A2;
338
- }
339
-
340
- /* ---------------------------------------------------------
341
- NAVY - DARK THEME
342
- Inverts background/text, preserves hierarchy.
343
- --------------------------------------------------------- */
344
-
345
- :root[data-theme="navy-dark"] {
346
- /* Core brand */
347
- --color-brand-ink: #F7F9FB;
348
- --color-brand-accent: #A9B4C4;
349
-
350
- /* Backgrounds */
351
- --color-bg: #0C1A33;
352
- --color-bg-soft: #121F3D;
353
- --color-bg-elevated: #1A2946;
354
-
355
- /* Surfaces */
356
- --color-surface: #1A2946;
357
- --color-surface-subtle: #121F3D;
358
- --color-surface-hover: #182336;
359
-
360
- /* Borders */
361
- --color-border-subtle: #2A3C5D;
362
- --color-border-strong: #4A6086;
363
-
364
- /* Text */
365
- --color-text: #F7F9FB;
366
- --color-text-muted: #C5D0E3;
367
- --color-text-soft: #909CB4;
368
- --color-text-on-soft: #F7F9FB;
369
- --color-text-on-strong: #F7F9FB;
370
-
371
- /* Icons */
372
- --color-icon-muted: #C5D0E3;
373
- --color-icon-strong: #F7F9FB;
374
- --color-icon-on-accent: #0C1A33;
375
-
376
- /* Shadows */
377
- --shadow-1: 0 8px 20px rgba(0, 0, 0, 0.45);
378
- --shadow-2: 0 10px 30px rgba(0, 0, 0, 0.55);
379
- --shadow-3: 0 16px 40px rgba(0, 0, 0, 0.65);
380
-
381
- /* Accent */
382
- --color-accent: #1371a3;
383
- --color-accent-soft: #0582c5;
384
- --color-accent-strong: #0d293d;
385
- --color-on-accent: #dddddd;
386
- --color-accent-soft-hover: #003650;
387
-
388
- /* Mono */
389
- --color-mono: #505e65;
390
- --color-mono-soft: #080f14;
391
- --color-mono-strong: #274f65;
392
- --color-on-mono: #dddddd;
393
- --color-mono-soft-hover: #142e3e;
394
-
395
- /* States */
396
- --color-success: #3A9E7E;
397
- --color-success-soft: #18352D;
398
- --color-success-strong: #2F8F72;
399
- --color-on-success: #F7F9FB;
400
-
401
- --color-info: #4A84B5;
402
- --color-info-soft: #18273A;
403
- --color-info-strong: #3B6FA6;
404
- --color-on-info: #F7F9FB;
405
-
406
- --color-warning: #C5993A;
407
- --color-warning-soft: #3A311E;
408
- --color-warning-strong: #B0892F;
409
- --color-on-warning: #F7F9FB;
410
-
411
- --color-danger: #A73241;
412
- --color-danger-soft: #3A2026;
413
- --color-danger-strong: #8E1F2E;
414
- --color-on-danger: #F7F9FB;
415
-
416
- --color-error: #A73241;
417
- --color-error-soft: #3A2026;
418
- --color-error-strong: #8E1F2E;
419
- --color-on-error: #F7F9FB;
420
-
421
- /* Neutral */
422
- --color-muted-bg: #1A2946;
423
- --color-muted-border: #2A3C5D;
424
-
425
- /* Header / footer */
426
- --color-header-bg: #0C1A33;
427
- --color-header-border: #2A3C5D;
428
- --color-footer-bg: #060D1B;
429
- --color-footer-text: #F7F9FB;
430
-
431
- /* Logo integration */
432
- --color-logo-ink: #F7F9FB;
433
- --color-logo-accent: #A9B4C4;
434
- --color-logo-mono: #FFFFFF;
435
- --color-logo-ink-inverse: #F7F9FB;
436
- --color-logo-accent-inverse: #A9B4C4;
437
- --color-logo-footer-ink: var(--color-footer-text);
438
- --color-logo-footer-accent: var(--color-brand-accent);
439
-
440
- /* Links */
441
- --link-text: #C0CAD8;
442
- --link-text-hover: #A9B4C4;
443
- --link-text-active: #F7F9FB;
444
-
445
- /* Hero translucency */
446
- --color-surface-translucent-strong: rgba(255, 255, 255, 0.28);
447
-
448
- /* Forms */
449
- --color-placeholder: rgba(255, 255, 255, 0.30);
450
- --slider-track-bg: rgba(255, 255, 255, 0.22);
451
- --slider-thumb-bg: #A9B4C4;
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.25);
458
-
459
- /* Tables */
460
- --color-surface-soft: rgba(255, 255, 255, 0.08);
461
-
462
- /* Table trend + rows */
463
- --table-trend-up: #42c59b;
464
- --table-trend-down: #e56071;
465
- --table-trend-flat: #909CB4;
466
-
467
- --table-row-good-bg: #18352D;
468
- --table-row-bad-bg: #3A2026;
469
- --table-row-warning-bg: #3A311E;
470
- --table-row-info-bg: #18273A;
471
- --table-row-muted-bg: #1A2946;
472
- --table-row-strange-bg: #313B4A;
473
- --table-row-flagged-bg: #432330;
474
- --table-row-curious-bg: #222C3A;
475
-
476
- --table-row-good-text: #F7F9FB;
477
- --table-row-bad-text: #F7F9FB;
478
- --table-row-warning-text: #F7F9FB;
479
- --table-row-info-text: #F7F9FB;
480
- --table-row-muted-text: #C5D0E3;
481
- --table-row-strange-text: #F7F9FB;
482
- --table-row-flagged-text: #F7F9FB;
483
- --table-row-curious-text: #F7F9FB;
484
-
485
- --table-row-flagged-border: #A73241;
486
- --table-row-curious-border: #A9B4C4;
487
-
488
- /* Code */
489
- --code-bg: #18273A;
490
- --code-border: #2A3C5D;
491
-
492
- --code-inline-bg: rgba(255, 255, 255, 0.09);
493
- --code-inline-border: rgba(255, 255, 255, 0.18);
494
-
495
- /* Typography */
496
- --figure-caption-color: #C5D0E3;
497
- --code-block-bg: #18273A;
498
- --footnote-color: #909CB4;
499
-
500
- /* Blockquote */
501
- --blockquote-border: #2A3C5D;
502
- --blockquote-text: #C5D0E3;
503
-
504
- /* Selection */
505
- --color-selection-bg: rgba(169, 180, 196, 0.30);
506
- --color-selection-text: #F7F9FB;
507
-
508
- /* Syntax highlight */
509
- --code-syntax-keyword: #C0CAD8;
510
- --code-syntax-string: #2F8F72;
511
- --code-syntax-number: #3B6FA6;
512
- --code-syntax-operator: #F7F9FB;
513
- --code-syntax-comment: #909CB4;
514
- --code-syntax-constant: #A9B4C4;
515
- --code-syntax-function: #C0CAD8;
516
- --code-syntax-variable: #F7F9FB;
517
-
518
- /* SEMANTIC STRONG STACKS */
519
- --semantic-info-bg: #18273A;
520
- --semantic-info-border: #4A84B5;
521
- --semantic-info-text: #3B6FA6;
522
-
523
- --semantic-warning-bg: #3A311E;
524
- --semantic-warning-border: #C5993A;
525
- --semantic-warning-text: #B0892F;
526
-
527
- --semantic-success-bg: #18352D;
528
- --semantic-success-border: #3A9E7E;
529
- --semantic-success-text: #2F8F72;
530
-
531
- --semantic-danger-bg: #3A2026;
532
- --semantic-danger-border: #A73241;
533
- --semantic-danger-text: #8E1F2E;
534
-
535
- --semantic-error-bg: #3A2026;
536
- --semantic-error-border: #A73241;
537
- --semantic-error-text: #8E1F2E;
538
-
539
- /* Strong variants */
540
- --semantic-error-bg-strong: #30191E;
541
- --semantic-error-border-strong: #A73241;
542
- --semantic-error-text-strong: #8E1F2E;
543
-
544
- --semantic-warning-bg-strong: #2F2619;
545
- --semantic-warning-border-strong: #C5993A;
546
- --semantic-warning-text-strong: #B0892F;
547
-
548
- --semantic-success-bg-strong: #122E28;
549
- --semantic-success-border-strong: #3A9E7E;
550
- --semantic-success-text-strong: #2F8F72;
551
-
552
- --semantic-info-bg-strong: #122034;
553
- --semantic-info-border-strong: #4A84B5;
554
- --semantic-info-text-strong: #3B6FA6;
555
-
556
- /* HERO ERROR (dark) */
557
- --hero-error-bg: #30191E;
558
- --hero-error-border: #A73241;
559
- --hero-error-banner-bg: #2A1A20;
560
- --hero-error-banner-border: #8E1F2E;
561
- --hero-error-title: #A73241;
562
-
563
- --hero-trend-up: #3A9E7E;
564
- --hero-trend-down: #A73241;
565
- --hero-accent-line: #A9B4C4;
566
-
567
- /* ACCENT SURFACES (dark) */
568
- --accent-soft-surface: #0E273E;
569
- --accent-soft-surface-strong: #12324E;
570
- --accent-soft-border: #1371a3;
571
- --accent-soft-shadow: rgba(19, 113, 163, 0.30);
572
- --accent-soft-on: #F7F9FB;
573
-
574
- /* INFO SURFACES */
575
- --info-soft-surface: #18273A;
576
- --info-soft-border: #4A84B5;
577
- --info-soft-on: #C5D0E3;
578
-
579
- /* WARNING SURFACES */
580
- --warning-soft-surface: #2F2619;
581
- --warning-soft-border: #C5993A;
582
- --warning-soft-on: #F7F9FB;
583
-
584
- /* DANGER SURFACES */
585
- --danger-soft-surface: #30191E;
586
- --danger-soft-border: #A73241;
587
- --danger-soft-on: #F7F9FB;
588
-
589
- /* DOC BLOCK */
590
- --doc-block-action-hover-bg: #233147;
591
- --doc-block-action-hover-border: var(--color-border-strong);
592
- --doc-block-action-hover-text: var(--color-text);
593
-
594
- /* BUTTON SOFT */
595
- --button-soft-border: rgba(255, 255, 255, 0.04);
596
- --button-soft-border-hover: rgba(255, 255, 255, 0.12);
597
- --button-soft-text: var(--color-text);
598
-
599
- /* OUTLINE BUTTON HOVERS */
600
- --button-outline-accent-hover-bg: rgba(19, 113, 163, 0.12);
601
- --button-outline-accent-hover-border: var(--color-accent-strong);
602
-
603
- --button-outline-danger-hover-bg: rgba(167, 50, 65, 0.12);
604
- --button-outline-danger-hover-border: var(--color-danger-strong);
605
-
606
- --button-outline-info-hover-bg: rgba(74, 132, 181, 0.12);
607
- --button-outline-info-hover-border: var(--color-info-strong);
608
-
609
- --button-outline-success-hover-bg: rgba(58, 158, 126, 0.12);
610
- --button-outline-success-hover-border: var(--color-success-strong);
611
-
612
- --button-outline-warning-hover-bg: rgba(197, 153, 58, 0.14);
613
- --button-outline-warning-hover-border: var(--color-warning-strong);
614
-
615
- /* BRAND SECTIONS */
616
- --section-brand-eyebrow: #E5E8EB;
617
- --section-brand-subtitle: #E5E8EB;
618
- --section-brand-title: #FFFFFF;
619
- --section-brand-body: #C5D0E3;
620
- --section-brand-metric-label: #E5E8EB;
621
- --section-brand-metric-value: #FFFFFF;
622
-
623
- --section-brand-accent-bg: radial-gradient(circle at top left,
624
- rgba(169, 180, 196, 0.25),
625
- transparent),
626
- radial-gradient(circle at bottom right,
627
- rgba(169, 180, 196, 0.35),
628
- transparent);
629
-
630
- /* Success extended */
631
- --success-soft-surface-strong: #122E28;
632
- --color-success-soft-hover: #18352D;
633
- --success-soft-surface: #18352D;
634
- --success-soft-border: #3A9E7E;
635
- --success-soft-on: #F7F9FB;
636
-
637
- /* Warning extended */
638
- --warning-soft-surface-strong: #2F2619;
639
- --color-warning-soft-hover: #3A311E;
640
- /* Info extended */
641
- --info-soft-surface-strong: #122034;
642
- --color-info-soft-hover: #18273A;
643
- /* Danger extended */
644
- --danger-soft-surface-strong: #30191E;
645
- --color-danger-soft-hover: #3A2026;
646
-
647
- /* Hero */
648
- --hero-trend-neutral: var(--color-text-muted);
649
- --hero-error-text: var(--semantic-error-text-strong, var(--color-danger-strong));
650
-
651
- --hero-metric-bg: #121F3D;
652
-
653
- --flow-zebra-bg: #252C39;
654
- --flow-zebra-bg-alt: #1F2631;
655
-
656
- --focus-ring-color: #C0CAD8;
657
- }
1
+ :root[data-theme=navy-light]{--color-brand-ink:#0c1a33;--color-brand-accent:#a9b4c4;--color-bg:#f7f9fb;--color-bg-soft:#eef2f8;--color-bg-elevated:#fff;--color-surface:#fff;--color-surface-subtle:#f2f5fa;--color-surface-hover:#f0f2f6;--color-border-subtle:#d3d9e4;--color-border-strong:#a0acc0;--color-text:#0c1a33;--color-text-muted:#4a5670;--color-text-soft:#7a8495;--color-text-on-soft:#0c1a33;--color-text-on-strong:#f7f9fb;--color-icon-muted:#4a5670;--color-icon-strong:#0c1a33;--color-icon-on-accent:#0c1a33;--shadow-1:0 8px 20px rgba(12,26,51,.07);--shadow-2:0 10px 30px rgba(12,26,51,.12);--shadow-3:0 16px 40px rgba(12,26,51,.18);--color-accent:#a9b4c4;--color-accent-soft:#c5ceda;--color-accent-strong:#8692a2;--color-on-accent:#0c1a33;--color-accent-soft-hover:#d3dae3;--color-mono:#505e65;--color-mono-soft:#274f65;--color-mono-strong:#080f14;--color-on-mono:#ddd;--color-mono-soft-hover:#142e3e;--color-success:#2f8f72;--color-success-soft:#e6f4ef;--color-success-strong:#256f58;--color-on-success:#fff;--color-info:#3b6fa6;--color-info-soft:#eaf2fa;--color-info-strong:#2d5680;--color-on-info:#fff;--color-warning:#b0892f;--color-warning-soft:#fbf6e8;--color-warning-strong:#8c6c24;--color-on-warning:#0c1a33;--color-danger:#8e1f2e;--color-danger-soft:#f8e8eb;--color-danger-strong:#6e1823;--color-on-danger:#fff;--color-error:#8e1f2e;--color-error-soft:#f8e8eb;--color-error-strong:#6e1823;--color-on-error:#fff;--color-muted-bg:#e4e9f2;--color-muted-border:#d3d9e4;--color-header-bg:#f7f9fb;--color-header-border:#d3d9e4;--color-footer-bg:#0c1a33;--color-footer-text:#f7f9fb;--color-logo-ink:#0c1a33;--color-logo-accent:#a9b4c4;--color-logo-mono:#000;--color-logo-ink-inverse:#f7f9fb;--color-logo-accent-inverse:#a9b4c4;--color-logo-footer-ink:var(--color-footer-text);--color-logo-footer-accent:var(--color-brand-accent);--link-text:#a9b4c4;--link-text-hover:#8692a2;--link-text-active:#0c1a33;--color-surface-translucent-strong:rgba(0,0,0,.35);--color-placeholder:rgba(0,0,0,.4);--slider-track-bg:rgba(0,0,0,.14);--slider-thumb-bg:#a9b4c4;--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(0,0,0,.05);--table-trend-up:#2f8f72;--table-trend-down:#8e1f2e;--table-trend-flat:#7a8495;--table-row-good-bg:#e6f4ef;--table-row-bad-bg:#fbeaec;--table-row-warning-bg:#fbf6e8;--table-row-info-bg:#eaf2fa;--table-row-muted-bg:#e4e9f2;--table-row-strange-bg:#e3e7f0;--table-row-flagged-bg:#f8e8eb;--table-row-curious-bg:#f2f5fa;--table-row-good-text:#0c1a33;--table-row-bad-text:#0c1a33;--table-row-warning-text:#0c1a33;--table-row-info-text:#0c1a33;--table-row-muted-text:#4a5670;--table-row-strange-text:#0c1a33;--table-row-flagged-text:#0c1a33;--table-row-curious-text:#0c1a33;--table-row-flagged-border:#8e1f2e;--table-row-curious-border:#a9b4c4;--code-bg:#f2f5fa;--code-border:#d3d9e4;--code-inline-bg:rgba(0,0,0,.04);--code-inline-border:rgba(0,0,0,.18);--figure-caption-color:#4a5670;--code-block-bg:#f2f5fa;--footnote-color:#5b6680;--blockquote-border:#d3d9e4;--blockquote-text:#4a5670;--color-selection-bg:rgba(169,180,196,.35);--color-selection-text:#0c1a33;--code-syntax-keyword:#8692a2;--code-syntax-string:#256f58;--code-syntax-number:#2d5680;--code-syntax-operator:#0c1a33;--code-syntax-comment:#7a8495;--code-syntax-constant:#a9b4c4;--code-syntax-function:#8692a2;--code-syntax-variable:#0c1a33;--semantic-info-bg:#eaf2fa;--semantic-info-border:#3b6fa6;--semantic-info-text:#2d5680;--semantic-warning-bg:#fbf6e8;--semantic-warning-border:#b0892f;--semantic-warning-text:#8c6c24;--semantic-success-bg:#e6f4ef;--semantic-success-border:#2f8f72;--semantic-success-text:#256f58;--semantic-danger-bg:#f8e8eb;--semantic-danger-border:#8e1f2e;--semantic-danger-text:#6e1823;--semantic-error-bg:#f8e8eb;--semantic-error-border:#8e1f2e;--semantic-error-text:#6e1823;--semantic-error-bg-strong:#f4dadf;--semantic-error-border-strong:#8e1f2e;--semantic-error-text-strong:#6e1823;--semantic-warning-bg-strong:#f4e8c8;--semantic-warning-border-strong:#b0892f;--semantic-warning-text-strong:#8c6c24;--semantic-success-bg-strong:#d8eee7;--semantic-success-border-strong:#2f8f72;--semantic-success-text-strong:#256f58;--semantic-info-bg-strong:#dce8f5;--semantic-info-border-strong:#3b6fa6;--semantic-info-text-strong:#2d5680;--hero-error-bg:#f2f5fa;--hero-error-border:#8e1f2e;--hero-error-banner-bg:#f2f5fa;--hero-error-banner-border:#8e1f2e;--hero-error-title:#8e1f2e;--hero-trend-up:#2f8f72;--hero-trend-down:#8e1f2e;--hero-accent-line:#a9b4c4;--accent-soft-surface:#f5f7fa;--accent-soft-surface-strong:#e7ecf3;--accent-soft-border:#a9b4c4;--accent-soft-shadow:rgba(169,180,196,.25);--accent-soft-on:#0c1a33;--info-soft-surface:#eaf2fa;--info-soft-border:#3b6fa6;--info-soft-on:#0c1a33;--warning-soft-surface:#fbf6e8;--warning-soft-border:#b0892f;--warning-soft-on:#0c1a33;--danger-soft-surface:#f8e8eb;--danger-soft-border:#8e1f2e;--danger-soft-on:#6e1823;--doc-block-action-hover-bg:#e5e8ef;--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(169,180,196,.12);--button-outline-accent-hover-border:var(--color-accent-strong);--button-outline-danger-hover-bg:rgba(142,31,46,.1);--button-outline-danger-hover-border:var(--color-danger-strong);--button-outline-info-hover-bg:rgba(59,111,166,.1);--button-outline-info-hover-border:var(--color-info-strong);--button-outline-success-hover-bg:rgba(47,143,114,.12);--button-outline-success-hover-border:var(--color-success-strong);--button-outline-warning-hover-bg:rgba(176,137,47,.14);--button-outline-warning-hover-border:var(--color-warning-strong);--section-brand-eyebrow:#0c1a33;--section-brand-subtitle:#0c1a33;--section-brand-title:#0c1a33;--section-brand-body:#0c1a33;--section-brand-metric-label:#4a5670;--section-brand-metric-value:#0c1a33;--section-brand-accent-bg:radial-gradient(circle at top left,rgba(169,180,196,.25),transparent),radial-gradient(circle at bottom right,rgba(169,180,196,.35),transparent);--success-soft-surface-strong:#d8eee7;--color-success-soft-hover:#d8eee7;--success-soft-surface:#e6f4f1;--success-soft-border:#2e8f7a;--success-soft-on:#0e1113;--warning-soft-surface-strong:#f4e8c8;--color-warning-soft-hover:#f4e8c8;--info-soft-surface-strong:#dce8f5;--color-info-soft-hover:#dce8f5;--danger-soft-surface-strong:#f4dadf;--color-danger-soft-hover:#f4dadf;--hero-trend-neutral:var(--color-text-muted);--hero-error-text:var(--semantic-error-text-strong,var(--color-danger-strong));--hero-metric-bg:#f2f5fa;--flow-zebra-bg:#f4f7fb;--flow-zebra-bg-alt:#fff;--focus-ring-color:#8692a2}:root[data-theme=navy-dark]{--color-brand-ink:#f7f9fb;--color-brand-accent:#a9b4c4;--color-bg:#0c1a33;--color-bg-soft:#121f3d;--color-bg-elevated:#1a2946;--color-surface:#1a2946;--color-surface-subtle:#121f3d;--color-surface-hover:#182336;--color-border-subtle:#2a3c5d;--color-border-strong:#4a6086;--color-text:#f7f9fb;--color-text-muted:#c5d0e3;--color-text-soft:#909cb4;--color-text-on-soft:#f7f9fb;--color-text-on-strong:#f7f9fb;--color-icon-muted:#c5d0e3;--color-icon-strong:#f7f9fb;--color-icon-on-accent:#0c1a33;--shadow-1:0 8px 20px rgba(0,0,0,.45);--shadow-2:0 10px 30px rgba(0,0,0,.55);--shadow-3:0 16px 40px rgba(0,0,0,.65);--color-accent:#1371a3;--color-accent-soft:#0582c5;--color-accent-strong:#0d293d;--color-on-accent:#ddd;--color-accent-soft-hover:#003650;--color-mono:#505e65;--color-mono-soft:#080f14;--color-mono-strong:#274f65;--color-on-mono:#ddd;--color-mono-soft-hover:#142e3e;--color-success:#3a9e7e;--color-success-soft:#18352d;--color-success-strong:#2f8f72;--color-on-success:#f7f9fb;--color-info:#4a84b5;--color-info-soft:#18273a;--color-info-strong:#3b6fa6;--color-on-info:#f7f9fb;--color-warning:#c5993a;--color-warning-soft:#3a311e;--color-warning-strong:#b0892f;--color-on-warning:#f7f9fb;--color-danger:#a73241;--color-danger-soft:#3a2026;--color-danger-strong:#8e1f2e;--color-on-danger:#f7f9fb;--color-error:#a73241;--color-error-soft:#3a2026;--color-error-strong:#8e1f2e;--color-on-error:#f7f9fb;--color-muted-bg:#1a2946;--color-muted-border:#2a3c5d;--color-header-bg:#0c1a33;--color-header-border:#2a3c5d;--color-footer-bg:#060d1b;--color-footer-text:#f7f9fb;--color-logo-ink:#f7f9fb;--color-logo-accent:#a9b4c4;--color-logo-mono:#fff;--color-logo-ink-inverse:#f7f9fb;--color-logo-accent-inverse:#a9b4c4;--color-logo-footer-ink:var(--color-footer-text);--color-logo-footer-accent:var(--color-brand-accent);--link-text:#c0cad8;--link-text-hover:#a9b4c4;--link-text-active:#f7f9fb;--color-surface-translucent-strong:hsla(0,0%,100%,.28);--color-placeholder:hsla(0,0%,100%,.3);--slider-track-bg:hsla(0,0%,100%,.22);--slider-thumb-bg:#a9b4c4;--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:hsla(0,0%,100%,.08);--table-trend-up:#42c59b;--table-trend-down:#e56071;--table-trend-flat:#909cb4;--table-row-good-bg:#18352d;--table-row-bad-bg:#3a2026;--table-row-warning-bg:#3a311e;--table-row-info-bg:#18273a;--table-row-muted-bg:#1a2946;--table-row-strange-bg:#313b4a;--table-row-flagged-bg:#432330;--table-row-curious-bg:#222c3a;--table-row-good-text:#f7f9fb;--table-row-bad-text:#f7f9fb;--table-row-warning-text:#f7f9fb;--table-row-info-text:#f7f9fb;--table-row-muted-text:#c5d0e3;--table-row-strange-text:#f7f9fb;--table-row-flagged-text:#f7f9fb;--table-row-curious-text:#f7f9fb;--table-row-flagged-border:#a73241;--table-row-curious-border:#a9b4c4;--code-bg:#18273a;--code-border:#2a3c5d;--code-inline-bg:hsla(0,0%,100%,.09);--code-inline-border:hsla(0,0%,100%,.18);--figure-caption-color:#c5d0e3;--code-block-bg:#18273a;--footnote-color:#909cb4;--blockquote-border:#2a3c5d;--blockquote-text:#c5d0e3;--color-selection-bg:rgba(169,180,196,.3);--color-selection-text:#f7f9fb;--code-syntax-keyword:#c0cad8;--code-syntax-string:#2f8f72;--code-syntax-number:#3b6fa6;--code-syntax-operator:#f7f9fb;--code-syntax-comment:#909cb4;--code-syntax-constant:#a9b4c4;--code-syntax-function:#c0cad8;--code-syntax-variable:#f7f9fb;--semantic-info-bg:#18273a;--semantic-info-border:#4a84b5;--semantic-info-text:#3b6fa6;--semantic-warning-bg:#3a311e;--semantic-warning-border:#c5993a;--semantic-warning-text:#b0892f;--semantic-success-bg:#18352d;--semantic-success-border:#3a9e7e;--semantic-success-text:#2f8f72;--semantic-danger-bg:#3a2026;--semantic-danger-border:#a73241;--semantic-danger-text:#8e1f2e;--semantic-error-bg:#3a2026;--semantic-error-border:#a73241;--semantic-error-text:#8e1f2e;--semantic-error-bg-strong:#30191e;--semantic-error-border-strong:#a73241;--semantic-error-text-strong:#8e1f2e;--semantic-warning-bg-strong:#2f2619;--semantic-warning-border-strong:#c5993a;--semantic-warning-text-strong:#b0892f;--semantic-success-bg-strong:#122e28;--semantic-success-border-strong:#3a9e7e;--semantic-success-text-strong:#2f8f72;--semantic-info-bg-strong:#122034;--semantic-info-border-strong:#4a84b5;--semantic-info-text-strong:#3b6fa6;--hero-error-bg:#30191e;--hero-error-border:#a73241;--hero-error-banner-bg:#2a1a20;--hero-error-banner-border:#8e1f2e;--hero-error-title:#a73241;--hero-trend-up:#3a9e7e;--hero-trend-down:#a73241;--hero-accent-line:#a9b4c4;--accent-soft-surface:#0e273e;--accent-soft-surface-strong:#12324e;--accent-soft-border:#1371a3;--accent-soft-shadow:rgba(19,113,163,.3);--accent-soft-on:#f7f9fb;--info-soft-surface:#18273a;--info-soft-border:#4a84b5;--info-soft-on:#c5d0e3;--warning-soft-surface:#2f2619;--warning-soft-border:#c5993a;--warning-soft-on:#f7f9fb;--danger-soft-surface:#30191e;--danger-soft-border:#a73241;--danger-soft-on:#f7f9fb;--doc-block-action-hover-bg:#233147;--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,.12);--button-outline-accent-hover-border:var(--color-accent-strong);--button-outline-danger-hover-bg:rgba(167,50,65,.12);--button-outline-danger-hover-border:var(--color-danger-strong);--button-outline-info-hover-bg:rgba(74,132,181,.12);--button-outline-info-hover-border:var(--color-info-strong);--button-outline-success-hover-bg:rgba(58,158,126,.12);--button-outline-success-hover-border:var(--color-success-strong);--button-outline-warning-hover-bg:rgba(197,153,58,.14);--button-outline-warning-hover-border:var(--color-warning-strong);--section-brand-eyebrow:#e5e8eb;--section-brand-subtitle:#e5e8eb;--section-brand-title:#fff;--section-brand-body:#c5d0e3;--section-brand-metric-label:#e5e8eb;--section-brand-metric-value:#fff;--section-brand-accent-bg:radial-gradient(circle at top left,rgba(169,180,196,.25),transparent),radial-gradient(circle at bottom right,rgba(169,180,196,.35),transparent);--success-soft-surface-strong:#122e28;--color-success-soft-hover:#18352d;--success-soft-surface:#18352d;--success-soft-border:#3a9e7e;--success-soft-on:#f7f9fb;--warning-soft-surface-strong:#2f2619;--color-warning-soft-hover:#3a311e;--info-soft-surface-strong:#122034;--color-info-soft-hover:#18273a;--danger-soft-surface-strong:#30191e;--color-danger-soft-hover:#3a2026;--hero-trend-neutral:var(--color-text-muted);--hero-error-text:var(--semantic-error-text-strong,var(--color-danger-strong));--hero-metric-bg:#121f3d;--flow-zebra-bg:#252c39;--flow-zebra-bg-alt:#1f2631;--focus-ring-color:#c0cad8}