@db-vincent/tokens 0.0.0-stage → 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.
@@ -0,0 +1,1336 @@
1
+ /* GENERATED FILE - do not edit.
2
+ Source of truth: internal/scripts/build-tokens.py
3
+ Regenerate: python3 internal/scripts/build-tokens.py
4
+
5
+ Minerva Blue Metallic #1383DA is primitive blue/500. The palette is authored
6
+ in OKLCH and emitted as hex for WCAG math, legacy consumers and readability.
7
+ Three layers: primitive -> semantic -> component. Components read only
8
+ component tokens; component tokens only alias semantic roles or geometry.
9
+
10
+ scale 50 100 200 300 400 500 600 700 800 900 950
11
+ blue ... ... ... ... ... #1383DA ... ... ... ... ...
12
+ neutral ... ... ... ... ... ... ... ... ... ... ...
13
+ green ... ... ... ... ... ... ... ... ... ... ...
14
+ amber ... ... ... ... ... ... ... ... ... ... ...
15
+ red ... ... ... ... ... ... ... ... ... ... ...
16
+
17
+ Type is a minor third (1.200) from 16px. Spacing is a 4px base. Motion goes
18
+ to 0ms under prefers-reduced-motion. */
19
+
20
+ @layer reset, tokens, base, components, motion, utilities;
21
+
22
+ @layer tokens {
23
+ :root {
24
+ color-scheme: light;
25
+
26
+ /* layer 1 - primitives */
27
+
28
+ --blue-50: #EEF7FF; /* oklch(0.9720 0.0160 249.00) */
29
+ --blue-100: #DAEEFF; /* oklch(0.9400 0.0350 249.00) */
30
+ --blue-200: #B6D8FB; /* oklch(0.8700 0.0600 249.00) */
31
+ --blue-300: #8DC0F2; /* oklch(0.7900 0.0900 249.00) */
32
+ --blue-400: #55A1E8; /* oklch(0.6900 0.1300 249.00) */
33
+ --blue-500: #1383DA; /* oklch(0.5982 0.1603 249.36) */
34
+ --blue-600: #006FBD; /* oklch(0.5300 0.1500 249.00) */
35
+ --blue-700: #005CA1; /* oklch(0.4650 0.1350 249.00) */
36
+ --blue-800: #024679; /* oklch(0.3850 0.1050 249.00) */
37
+ --blue-900: #053256; /* oklch(0.3100 0.0800 249.00) */
38
+ --blue-950: #041E35; /* oklch(0.2300 0.0550 249.00) */
39
+
40
+ --neutral-0: #FFFFFF; /* oklch(1.0000 0.0000 249.00) */
41
+ --neutral-50: #F7F9FC; /* oklch(0.9820 0.0040 249.00) */
42
+ --neutral-100: #EDF1F5; /* oklch(0.9550 0.0070 249.00) */
43
+ --neutral-200: #DCE2E8; /* oklch(0.9100 0.0110 249.00) */
44
+ --neutral-300: #C5CDD6; /* oklch(0.8450 0.0150 249.00) */
45
+ --neutral-400: #9CA6B0; /* oklch(0.7200 0.0190 249.00) */
46
+ --neutral-500: #7C8893; /* oklch(0.6200 0.0220 249.00) */
47
+ --neutral-600: #616C77; /* oklch(0.5250 0.0220 249.00) */
48
+ --neutral-700: #424B55; /* oklch(0.4100 0.0200 249.00) */
49
+ --neutral-800: #2C343C; /* oklch(0.3200 0.0180 249.00) */
50
+ --neutral-900: #232A31; /* oklch(0.2800 0.0160 249.00) */
51
+ --neutral-950: #1A1F24; /* oklch(0.2350 0.0120 249.00) */
52
+ --neutral-1000: #101419; /* oklch(0.1900 0.0110 249.00) */
53
+ --neutral-1050: #080C0F; /* oklch(0.1500 0.0090 249.00) */
54
+ --neutral-1100: #040608; /* oklch(0.1200 0.0080 249.00) */
55
+
56
+ --green-50: #EAFAEC; /* oklch(0.9700 0.0250 150.00) */
57
+ --green-100: #D1F2D7; /* oklch(0.9300 0.0500 150.00) */
58
+ --green-200: #A6DEB1; /* oklch(0.8500 0.0850 150.00) */
59
+ --green-300: #73C385; /* oklch(0.7500 0.1200 150.00) */
60
+ --green-400: #3AA85B; /* oklch(0.6500 0.1500 150.00) */
61
+ --green-500: #0E8C41; /* oklch(0.5600 0.1500 150.00) */
62
+ --green-600: #007531; /* oklch(0.4900 0.1400 150.00) */
63
+ --green-700: #005B23; /* oklch(0.4100 0.1200 150.00) */
64
+ --green-800: #004218; /* oklch(0.3300 0.0950 150.00) */
65
+ --green-900: #002D0E; /* oklch(0.2600 0.0750 150.00) */
66
+ --green-950: #011A07; /* oklch(0.1900 0.0500 150.00) */
67
+
68
+ --amber-50: #FFF5E1; /* oklch(0.9750 0.0300 80.00) */
69
+ --amber-100: #FFE7BB; /* oklch(0.9400 0.0650 80.00) */
70
+ --amber-200: #FED081; /* oklch(0.8800 0.1100 80.00) */
71
+ --amber-300: #F7B83D; /* oklch(0.8200 0.1500 80.00) */
72
+ --amber-400: #E9A200; /* oklch(0.7600 0.1700 80.00) */
73
+ --amber-500: #D58F00; /* oklch(0.7000 0.1700 80.00) */
74
+ --amber-600: #B17600; /* oklch(0.6100 0.1500 80.00) */
75
+ --amber-700: #895C00; /* oklch(0.5100 0.1200 80.00) */
76
+ --amber-800: #644400; /* oklch(0.4100 0.0900 80.00) */
77
+ --amber-900: #452E00; /* oklch(0.3200 0.0700 80.00) */
78
+ --amber-950: #291A00; /* oklch(0.2300 0.0500 80.00) */
79
+
80
+ --red-50: #FFF0EE; /* oklch(0.9700 0.0200 25.00) */
81
+ --red-100: #FFDCD7; /* oklch(0.9300 0.0500 25.00) */
82
+ --red-200: #FFBEB6; /* oklch(0.8700 0.0900 25.00) */
83
+ --red-300: #FF9890; /* oklch(0.7900 0.1300 25.00) */
84
+ --red-400: #F66D67; /* oklch(0.7000 0.1700 25.00) */
85
+ --red-500: #DB4241; /* oklch(0.6000 0.1900 25.00) */
86
+ --red-600: #BA2B2E; /* oklch(0.5200 0.1800 25.00) */
87
+ --red-700: #971A20; /* oklch(0.4400 0.1600 25.00) */
88
+ --red-800: #721216; /* oklch(0.3600 0.1300 25.00) */
89
+ --red-900: #4F0A0D; /* oklch(0.2800 0.1000 25.00) */
90
+ --red-950: #2F0405; /* oklch(0.2000 0.0700 25.00) */
91
+
92
+
93
+ --font-body: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
94
+ --font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
95
+
96
+ --weight-regular: 400;
97
+ --weight-medium: 500;
98
+ --weight-semibold: 600;
99
+ --weight-bold: 700;
100
+
101
+ --space-0: 0;
102
+ --space-px: 1px;
103
+ --space-0-5: 0.125rem;
104
+ --space-1: 0.25rem;
105
+ --space-1-5: 0.375rem;
106
+ --space-2: 0.5rem;
107
+ --space-2-5: 0.625rem;
108
+ --space-3: 0.75rem;
109
+ --space-4: 1rem;
110
+ --space-5: 1.25rem;
111
+ --space-6: 1.5rem;
112
+ --space-7: 1.75rem;
113
+ --space-8: 2rem;
114
+ --space-10: 2.5rem;
115
+ --space-12: 3rem;
116
+ --space-16: 4rem;
117
+ --space-20: 5rem;
118
+ --space-24: 6rem;
119
+
120
+ --radius-none: 0;
121
+ --radius-xs: 0.25rem;
122
+ --radius-sm: 0.375rem;
123
+ --radius-md: 0.5rem;
124
+ --radius-lg: 0.75rem;
125
+ --radius-xl: 1rem;
126
+ --radius-2xl: 1.5rem;
127
+ --radius-full: 9999px;
128
+
129
+ --duration-instant: 0ms;
130
+ --duration-fast: 100ms;
131
+ --duration-base: 180ms;
132
+ --duration-slow: 280ms;
133
+ --duration-slower: 420ms;
134
+
135
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
136
+ --ease-enter: cubic-bezier(0.23, 1, 0.32, 1);
137
+ --ease-exit: cubic-bezier(0.3, 0, 1, 1);
138
+ --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
139
+ --ease-spring: cubic-bezier(0.23, 1.1, 0.32, 1);
140
+
141
+ --shadow-sm: 0 1px 2px rgb(5 8 11 / 0.06), 0 1px 3px rgb(5 8 11 / 0.08);
142
+ --shadow-md: 0 4px 12px rgb(5 8 11 / 0.08), 0 1px 3px rgb(5 8 11 / 0.06);
143
+ --shadow-lg: 0 16px 40px rgb(5 8 11 / 0.16), 0 3px 8px rgb(5 8 11 / 0.08);
144
+
145
+ --bp-sm: 640px;
146
+ --bp-md: 768px;
147
+ --bp-lg: 1024px;
148
+ --bp-xl: 1280px;
149
+ --bp-2xl: 1536px;
150
+
151
+ --z-base: 0;
152
+ --z-dropdown: 1000;
153
+ --z-sticky: 1100;
154
+ --z-overlay: 1200;
155
+ --z-modal: 1300;
156
+ --z-popover: 1400;
157
+ --z-toast: 1500;
158
+ --z-tooltip: 1600;
159
+
160
+ --layout-container: 80rem;
161
+ --layout-prose: 68ch;
162
+ --layout-sidebar: 16rem;
163
+ --layout-sidebar-wide: 18.5rem;
164
+ --layout-header: 4rem;
165
+
166
+ /* type scale - minor third 1.200 */
167
+ --text-2xs: 0.579rem;
168
+ --leading-2xs: 1.000rem;
169
+ --text-xs: 0.694rem;
170
+ --leading-xs: 1.125rem;
171
+ --text-sm: 0.833rem;
172
+ --leading-sm: 1.375rem;
173
+ --text-base: 1.000rem;
174
+ --leading-base: 1.625rem;
175
+ --text-lg: 1.200rem;
176
+ --leading-lg: 1.750rem;
177
+ --text-xl: 1.440rem;
178
+ --leading-xl: 1.875rem;
179
+ --text-2xl: 1.728rem;
180
+ --leading-2xl: 2.125rem;
181
+ --text-3xl: 2.074rem;
182
+ --leading-3xl: 2.375rem;
183
+ --text-4xl: 2.488rem;
184
+ --leading-4xl: 2.750rem;
185
+ --text-5xl: 2.986rem;
186
+ --leading-5xl: 3.250rem;
187
+ --text-6xl: 3.583rem;
188
+ --leading-6xl: 3.750rem;
189
+
190
+ --type-display-size: var(--text-5xl);
191
+ --type-display-leading: var(--leading-5xl);
192
+ --type-display-weight: var(--weight-semibold);
193
+ --type-display-tracking: -0.03em;
194
+ --type-title-lg-size: var(--text-3xl);
195
+ --type-title-lg-leading: var(--leading-3xl);
196
+ --type-title-lg-weight: var(--weight-semibold);
197
+ --type-title-lg-tracking: -0.02em;
198
+ --type-title-md-size: var(--text-2xl);
199
+ --type-title-md-leading: var(--leading-2xl);
200
+ --type-title-md-weight: var(--weight-semibold);
201
+ --type-title-md-tracking: -0.015em;
202
+ --type-title-sm-size: var(--text-xl);
203
+ --type-title-sm-leading: var(--leading-xl);
204
+ --type-title-sm-weight: var(--weight-semibold);
205
+ --type-title-sm-tracking: -0.01em;
206
+ --type-heading-size: var(--text-lg);
207
+ --type-heading-leading: var(--leading-lg);
208
+ --type-heading-weight: var(--weight-semibold);
209
+ --type-heading-tracking: -0.005em;
210
+ --type-body-size: var(--text-base);
211
+ --type-body-leading: var(--leading-base);
212
+ --type-body-weight: var(--weight-regular);
213
+ --type-body-tracking: 0.0em;
214
+ --type-body-sm-size: var(--text-sm);
215
+ --type-body-sm-leading: var(--leading-sm);
216
+ --type-body-sm-weight: var(--weight-regular);
217
+ --type-body-sm-tracking: 0.0em;
218
+ --type-label-size: var(--text-sm);
219
+ --type-label-leading: var(--leading-sm);
220
+ --type-label-weight: var(--weight-medium);
221
+ --type-label-tracking: 0.0em;
222
+ --type-caption-size: var(--text-xs);
223
+ --type-caption-leading: var(--leading-xs);
224
+ --type-caption-weight: var(--weight-regular);
225
+ --type-caption-tracking: 0.005em;
226
+ --type-overline-size: var(--text-xs);
227
+ --type-overline-leading: var(--leading-xs);
228
+ --type-overline-weight: var(--weight-semibold);
229
+ --type-overline-tracking: 0.06em;
230
+
231
+ /* layer 2 - semantic color roles, both themes written explicitly */
232
+ --color-canvas-light: #F7F9FC;
233
+ --color-canvas-dark: #080C0F;
234
+ --color-canvas: var(--color-canvas-light);
235
+ --color-surface-light: #FFFFFF;
236
+ --color-surface-dark: #101419;
237
+ --color-surface: var(--color-surface-light);
238
+ --color-surface-raised-light: #FFFFFF;
239
+ --color-surface-raised-dark: #1A1F24;
240
+ --color-surface-raised: var(--color-surface-raised-light);
241
+ --color-surface-sunken-light: #EDF1F5;
242
+ --color-surface-sunken-dark: #040608;
243
+ --color-surface-sunken: var(--color-surface-sunken-light);
244
+ --color-overlay-light: #FFFFFF;
245
+ --color-overlay-dark: #1A1F24;
246
+ --color-overlay: var(--color-overlay-light);
247
+ --color-text-primary-light: #1A1F24;
248
+ --color-text-primary-dark: #F7F9FC;
249
+ --color-text-primary: var(--color-text-primary-light);
250
+ --color-text-secondary-light: #424B55;
251
+ --color-text-secondary-dark: #C5CDD6;
252
+ --color-text-secondary: var(--color-text-secondary-light);
253
+ --color-text-tertiary-light: #616C77;
254
+ --color-text-tertiary-dark: #7C8893;
255
+ --color-text-tertiary: var(--color-text-tertiary-light);
256
+ --color-text-inverse-light: #F7F9FC;
257
+ --color-text-inverse-dark: #101419;
258
+ --color-text-inverse: var(--color-text-inverse-light);
259
+ --color-link-light: #005CA1;
260
+ --color-link-dark: #8DC0F2;
261
+ --color-link: var(--color-link-light);
262
+ --color-link-hover-light: #024679;
263
+ --color-link-hover-dark: #B6D8FB;
264
+ --color-link-hover: var(--color-link-hover-light);
265
+ --color-accent-light: #1383DA;
266
+ --color-accent-dark: #1383DA;
267
+ --color-accent: var(--color-accent-light);
268
+ --color-accent-hover-light: #55A1E8;
269
+ --color-accent-hover-dark: #55A1E8;
270
+ --color-accent-hover: var(--color-accent-hover-light);
271
+ --color-accent-active-light: #006FBD;
272
+ --color-accent-active-dark: #006FBD;
273
+ --color-accent-active: var(--color-accent-active-light);
274
+ --color-accent-on-light: #FFFFFF;
275
+ --color-accent-on-dark: #FFFFFF;
276
+ --color-accent-on: var(--color-accent-on-light);
277
+ --color-accent-strong-light: #005CA1;
278
+ --color-accent-strong-dark: #005CA1;
279
+ --color-accent-strong: var(--color-accent-strong-light);
280
+ --color-accent-strong-hover-light: #024679;
281
+ --color-accent-strong-hover-dark: #006FBD;
282
+ --color-accent-strong-hover: var(--color-accent-strong-hover-light);
283
+ --color-accent-strong-active-light: #053256;
284
+ --color-accent-strong-active-dark: #024679;
285
+ --color-accent-strong-active: var(--color-accent-strong-active-light);
286
+ --color-accent-strong-fg-light: #FFFFFF;
287
+ --color-accent-strong-fg-dark: #FFFFFF;
288
+ --color-accent-strong-fg: var(--color-accent-strong-fg-light);
289
+ --color-accent-subtle-light: #EEF7FF;
290
+ --color-accent-subtle-dark: #041E35;
291
+ --color-accent-subtle: var(--color-accent-subtle-light);
292
+ --color-accent-subtle-hover-light: #DAEEFF;
293
+ --color-accent-subtle-hover-dark: #053256;
294
+ --color-accent-subtle-hover: var(--color-accent-subtle-hover-light);
295
+ --color-accent-subtle-fg-light: #005CA1;
296
+ --color-accent-subtle-fg-dark: #8DC0F2;
297
+ --color-accent-subtle-fg: var(--color-accent-subtle-fg-light);
298
+ --color-success-light: #005B23;
299
+ --color-success-dark: #73C385;
300
+ --color-success: var(--color-success-light);
301
+ --color-success-bg-light: #EAFAEC;
302
+ --color-success-bg-dark: #011A07;
303
+ --color-success-bg: var(--color-success-bg-light);
304
+ --color-success-bg-hover-light: #D1F2D7;
305
+ --color-success-bg-hover-dark: #002D0E;
306
+ --color-success-bg-hover: var(--color-success-bg-hover-light);
307
+ --color-success-fg-light: #004218;
308
+ --color-success-fg-dark: #A6DEB1;
309
+ --color-success-fg: var(--color-success-fg-light);
310
+ --color-warning-light: #895C00;
311
+ --color-warning-dark: #F7B83D;
312
+ --color-warning: var(--color-warning-light);
313
+ --color-warning-bg-light: #FFF5E1;
314
+ --color-warning-bg-dark: #291A00;
315
+ --color-warning-bg: var(--color-warning-bg-light);
316
+ --color-warning-bg-hover-light: #FFE7BB;
317
+ --color-warning-bg-hover-dark: #452E00;
318
+ --color-warning-bg-hover: var(--color-warning-bg-hover-light);
319
+ --color-warning-fg-light: #644400;
320
+ --color-warning-fg-dark: #FED081;
321
+ --color-warning-fg: var(--color-warning-fg-light);
322
+ --color-danger-light: #BA2B2E;
323
+ --color-danger-dark: #FF9890;
324
+ --color-danger: var(--color-danger-light);
325
+ --color-danger-bg-light: #FFF0EE;
326
+ --color-danger-bg-dark: #2F0405;
327
+ --color-danger-bg: var(--color-danger-bg-light);
328
+ --color-danger-bg-hover-light: #FFDCD7;
329
+ --color-danger-bg-hover-dark: #4F0A0D;
330
+ --color-danger-bg-hover: var(--color-danger-bg-hover-light);
331
+ --color-danger-fg-light: #971A20;
332
+ --color-danger-fg-dark: #FFBEB6;
333
+ --color-danger-fg: var(--color-danger-fg-light);
334
+ --color-danger-strong-light: #BA2B2E;
335
+ --color-danger-strong-dark: #BA2B2E;
336
+ --color-danger-strong: var(--color-danger-strong-light);
337
+ --color-danger-strong-hover-light: #971A20;
338
+ --color-danger-strong-hover-dark: #971A20;
339
+ --color-danger-strong-hover: var(--color-danger-strong-hover-light);
340
+ --color-danger-strong-fg-light: #FFFFFF;
341
+ --color-danger-strong-fg-dark: #FFFFFF;
342
+ --color-danger-strong-fg: var(--color-danger-strong-fg-light);
343
+ --color-border-subtle-light: #DCE2E8;
344
+ --color-border-subtle-dark: #2C343C;
345
+ --color-border-subtle: var(--color-border-subtle-light);
346
+ --color-border-default-light: #C5CDD6;
347
+ --color-border-default-dark: #424B55;
348
+ --color-border-default: var(--color-border-default-light);
349
+ --color-border-control-light: #7C8893;
350
+ --color-border-control-dark: #616C77;
351
+ --color-border-control: var(--color-border-control-light);
352
+ --color-border-control-hover-light: #616C77;
353
+ --color-border-control-hover-dark: #7C8893;
354
+ --color-border-control-hover: var(--color-border-control-hover-light);
355
+ --color-border-strong-light: #7C8893;
356
+ --color-border-strong-dark: #7C8893;
357
+ --color-border-strong: var(--color-border-strong-light);
358
+ --color-focus-light: #006FBD;
359
+ --color-focus-dark: #8DC0F2;
360
+ --color-focus: var(--color-focus-light);
361
+ --color-focus-offset-light: #FFFFFF;
362
+ --color-focus-offset-dark: #040608;
363
+ --color-focus-offset: var(--color-focus-offset-light);
364
+ --color-selection-light: #DAEEFF;
365
+ --color-selection-dark: #024679;
366
+ --color-selection: var(--color-selection-light);
367
+
368
+ /* scrims - theme-independent neutral alphas behind overlays */
369
+ --scrim-default: rgb(3 6 10 / 0.62);
370
+ --scrim-subtle: rgb(3 6 10 / 0.32);
371
+
372
+ /* focus contract - every focusable control uses this ring */
373
+ --focus-ring-width: 2px;
374
+ --focus-ring-offset: 2px;
375
+ --focus-ring-color: var(--color-focus);
376
+ --focus-ring-offset-color: var(--color-focus-offset);
377
+
378
+ /* layer 3 - component tokens (aliases only) */
379
+
380
+ /* button */
381
+ --button-font: var(--font-body);
382
+ --button-font-weight: var(--weight-medium);
383
+ --button-radius: var(--radius-md);
384
+ --button-gap: var(--space-2);
385
+ --button-height-sm: var(--space-8);
386
+ --button-height-md: var(--space-10);
387
+ --button-height-lg: var(--space-12);
388
+ --button-padding-x-sm: var(--space-3);
389
+ --button-padding-x-md: var(--space-4);
390
+ --button-padding-x-lg: var(--space-5);
391
+ --button-font-sm: var(--text-sm);
392
+ --button-font-md: var(--text-sm);
393
+ --button-font-lg: var(--text-base);
394
+ --button-primary-bg: var(--color-accent-strong);
395
+ --button-primary-bg-hover: var(--color-accent-strong-hover);
396
+ --button-primary-bg-active: var(--color-accent-strong-active);
397
+ --button-primary-fg: var(--color-accent-strong-fg);
398
+ --button-primary-border: var(--color-accent-strong);
399
+ --button-primary-border-hover: var(--color-accent-strong-hover);
400
+ --button-secondary-bg: var(--color-surface);
401
+ --button-secondary-bg-hover: var(--color-surface-sunken);
402
+ --button-secondary-bg-active: var(--color-surface-sunken);
403
+ --button-secondary-fg: var(--color-text-primary);
404
+ --button-secondary-border: var(--color-border-control);
405
+ --button-secondary-border-hover: var(--color-border-control-hover);
406
+ --button-ghost-bg: transparent;
407
+ --button-ghost-bg-hover: var(--color-surface-sunken);
408
+ --button-ghost-bg-active: var(--color-surface-sunken);
409
+ --button-ghost-fg: var(--color-text-secondary);
410
+ --button-ghost-fg-hover: var(--color-text-primary);
411
+ --button-ghost-border: transparent;
412
+ --button-danger-bg: var(--color-danger-strong);
413
+ --button-danger-bg-hover: var(--color-danger-strong-hover);
414
+ --button-danger-fg: var(--color-danger-strong-fg);
415
+ --button-danger-border: transparent;
416
+ --button-disabled-bg: var(--color-surface-sunken);
417
+ --button-disabled-fg: var(--color-text-tertiary);
418
+ --button-disabled-border: var(--color-border-subtle);
419
+ --button-focus-color: var(--focus-ring-color);
420
+ --button-focus-offset: var(--focus-ring-offset);
421
+ --button-focus-width: var(--focus-ring-width);
422
+ --button-icon-size-sm: var(--space-4);
423
+ --button-icon-size-md: var(--space-4);
424
+ --button-icon-size-lg: var(--space-5);
425
+
426
+ /* input */
427
+ --input-font: var(--font-body);
428
+ --input-font-size: var(--text-sm);
429
+ --input-radius: var(--radius-md);
430
+ --input-height-sm: var(--space-8);
431
+ --input-height-md: var(--space-10);
432
+ --input-height-lg: var(--space-12);
433
+ --input-padding-x: var(--space-3);
434
+ --input-padding-y: var(--space-2);
435
+ --input-bg: var(--color-surface);
436
+ --input-bg-hover: var(--color-surface);
437
+ --input-bg-disabled: var(--color-surface-sunken);
438
+ --input-fg: var(--color-text-primary);
439
+ --input-fg-disabled: var(--color-text-tertiary);
440
+ --input-placeholder: var(--color-text-tertiary);
441
+ --input-border: var(--color-border-control);
442
+ --input-border-hover: var(--color-border-control-hover);
443
+ --input-border-focus: var(--color-focus);
444
+ --input-border-invalid: var(--color-danger);
445
+ --input-border-valid: var(--color-success);
446
+ --input-ring-focus: var(--color-focus);
447
+ --input-ring-invalid: var(--color-danger);
448
+ --input-label-fg: var(--color-text-primary);
449
+ --input-hint-fg: var(--color-text-secondary);
450
+ --input-count-fg: var(--color-text-tertiary);
451
+ --input-error-fg: var(--color-danger-fg);
452
+ --input-required-fg: var(--color-danger);
453
+ --input-reveal-fg: var(--color-text-secondary);
454
+ --input-reveal-fg-hover: var(--color-text-primary);
455
+ --input-reveal-bg-hover: var(--color-surface-sunken);
456
+ --input-focus-width: var(--focus-ring-width);
457
+ --input-focus-offset: var(--focus-ring-offset);
458
+
459
+ /* checkbox */
460
+ --checkbox-size: 1.125rem;
461
+ --checkbox-radius: var(--radius-xs);
462
+ --checkbox-gap: var(--space-2-5);
463
+ --checkbox-bg: var(--color-surface);
464
+ --checkbox-bg-hover: var(--color-surface-sunken);
465
+ --checkbox-bg-checked: var(--color-accent);
466
+ --checkbox-bg-disabled: var(--color-surface-sunken);
467
+ --checkbox-border: var(--color-border-strong);
468
+ --checkbox-border-checked: var(--color-accent);
469
+ --checkbox-fg-check: var(--color-accent-on);
470
+ --checkbox-fg-disabled: var(--color-text-tertiary);
471
+ --checkbox-label-fg: var(--color-text-primary);
472
+ --checkbox-label-fg-disabled: var(--color-text-tertiary);
473
+ --checkbox-focus-color: var(--color-focus);
474
+ --checkbox-focus-offset: var(--focus-ring-offset);
475
+ --checkbox-focus-width: var(--focus-ring-width);
476
+
477
+ /* radio */
478
+ --radio-bg-checked: var(--color-accent);
479
+ --radio-bg-disabled: var(--color-surface-sunken);
480
+ --radio-border-checked: var(--color-accent);
481
+ --radio-dot: var(--color-accent-on);
482
+ --radio-dot-size: 0.4375rem;
483
+
484
+ /* badge */
485
+ --badge-radius: var(--radius-full);
486
+ --badge-height: var(--space-5);
487
+ --badge-padding-x: var(--space-2);
488
+ --badge-font: var(--font-body);
489
+ --badge-font-size: var(--text-xs);
490
+ --badge-font-weight: var(--weight-medium);
491
+ --badge-neutral-bg: var(--color-surface-sunken);
492
+ --badge-neutral-fg: var(--color-text-secondary);
493
+ --badge-accent-bg: var(--color-accent-subtle);
494
+ --badge-accent-fg: var(--color-accent-subtle-fg);
495
+ --badge-success-bg: var(--color-success-bg);
496
+ --badge-success-fg: var(--color-success-fg);
497
+ --badge-warning-bg: var(--color-warning-bg);
498
+ --badge-warning-fg: var(--color-warning-fg);
499
+ --badge-danger-bg: var(--color-danger-bg);
500
+ --badge-danger-fg: var(--color-danger-fg);
501
+ --badge-dot-size: 0.375rem;
502
+
503
+ /* select */
504
+ --select-bg: var(--color-surface);
505
+ --select-bg-disabled: var(--color-surface-sunken);
506
+ --select-fg: var(--color-text-primary);
507
+ --select-fg-disabled: var(--color-text-tertiary);
508
+ --select-placeholder: var(--color-text-tertiary);
509
+ --select-border: var(--color-border-control);
510
+ --select-border-hover: var(--color-border-control-hover);
511
+ --select-border-focus: var(--color-focus);
512
+ --select-border-invalid: var(--color-danger);
513
+ --select-radius: var(--radius-md);
514
+ --select-height: var(--space-10);
515
+ --select-height-sm: var(--space-8);
516
+ --select-height-lg: var(--space-12);
517
+ --select-padding-x: var(--space-3);
518
+ --select-chevron: var(--color-text-secondary);
519
+ --select-focus-width: var(--focus-ring-width);
520
+ --select-focus-offset: var(--focus-ring-offset);
521
+ --select-focus-offset-color: var(--focus-ring-offset-color);
522
+ --select-popup-bg: var(--color-surface-raised);
523
+ --select-popup-border: var(--color-border-control);
524
+ --select-popup-radius: var(--radius-md);
525
+ --select-popup-shadow: var(--shadow-lg);
526
+ --select-popup-padding: var(--space-1);
527
+ --select-popup-gap: var(--space-1);
528
+ --select-popup-max-height: 18rem;
529
+ --select-popup-z: var(--z-dropdown);
530
+ --select-option-fg: var(--color-text-primary);
531
+ --select-option-fg-muted: var(--color-text-tertiary);
532
+ --select-option-description: var(--color-text-tertiary);
533
+ --select-popup-footer-border: var(--color-border-subtle);
534
+ --select-option-bg-hover: var(--color-surface-sunken);
535
+ --select-option-bg-selected: var(--color-accent-subtle);
536
+ --select-option-fg-selected: var(--color-accent-subtle-fg);
537
+ --select-option-radius: var(--radius-sm);
538
+ --select-option-padding-x: var(--space-3);
539
+ --select-option-padding-y: var(--space-2);
540
+ --select-indicator-bg: var(--color-accent);
541
+ --select-indicator-fg: var(--color-accent-on);
542
+ --select-indicator-size: var(--space-4);
543
+
544
+ /* chip */
545
+ --chip-bg: var(--color-surface);
546
+ --chip-bg-hover: var(--color-surface-sunken);
547
+ --chip-bg-selected: var(--color-accent-subtle);
548
+ --chip-fg: var(--color-text-secondary);
549
+ --chip-fg-hover: var(--color-text-primary);
550
+ --chip-fg-selected: var(--color-accent-subtle-fg);
551
+ --chip-fg-disabled: var(--color-text-tertiary);
552
+ --chip-remove-bg-hover: var(--color-border-default);
553
+ --chip-border: var(--color-border-control);
554
+ --chip-border-hover: var(--color-border-control-hover);
555
+ --chip-border-selected: var(--color-accent);
556
+ --chip-radius: var(--radius-full);
557
+ --chip-height: var(--space-8);
558
+ --chip-height-sm: var(--space-6);
559
+ --chip-padding-x: var(--space-3);
560
+ --chip-font-size: var(--text-sm);
561
+ --chip-focus-color: var(--color-focus);
562
+ --chip-focus-offset: var(--focus-ring-offset);
563
+ --chip-focus-width: var(--focus-ring-width);
564
+
565
+ /* accordion */
566
+ --accordion-item-radius: var(--radius-md);
567
+ --accordion-item-bg: var(--color-surface);
568
+ --accordion-item-border: var(--color-border-subtle);
569
+ --accordion-gap: var(--space-2);
570
+ --accordion-trigger-fg: var(--color-text-primary);
571
+ --accordion-trigger-bg-hover: var(--color-surface-sunken);
572
+ --accordion-trigger-bg-open: var(--color-surface-sunken);
573
+ --accordion-trigger-padding-x: var(--space-4);
574
+ --accordion-trigger-padding-y: var(--space-4);
575
+ --accordion-font-size: var(--text-sm);
576
+ --accordion-icon: var(--color-text-tertiary);
577
+ --accordion-panel-fg: var(--color-text-secondary);
578
+ --accordion-panel-bg: var(--color-surface);
579
+ --accordion-panel-border: var(--color-border-subtle);
580
+ --accordion-panel-padding: var(--space-4);
581
+ --accordion-focus-color: var(--color-focus);
582
+ --accordion-focus-offset: calc(-1 * var(--focus-ring-offset));
583
+ --accordion-focus-width: var(--focus-ring-width);
584
+ --accordion-max-width: var(--layout-prose);
585
+
586
+ /* card */
587
+ --card-radius: var(--radius-lg);
588
+ --card-padding: var(--space-6);
589
+ --card-bg: var(--color-surface);
590
+ --card-border: var(--color-border-subtle);
591
+ --card-fg: var(--color-text-primary);
592
+ --card-body-fg: var(--color-text-secondary);
593
+ --card-header-gap: var(--space-1);
594
+ --card-footer-bg: transparent;
595
+ --card-footer-border: var(--color-border-subtle);
596
+ --card-accent-bg: var(--color-surface);
597
+ --card-accent-border: var(--color-warning);
598
+ --card-raised-bg: var(--color-surface-raised);
599
+ --card-raised-border: var(--color-border-subtle);
600
+ --card-raised-shadow: var(--shadow-md);
601
+ --card-flat-bg: var(--color-surface-sunken);
602
+ --card-flat-border: transparent;
603
+ --card-hover-border: var(--color-border-control);
604
+ --card-title-fg: var(--color-text-primary);
605
+ --card-meta-fg: var(--color-text-tertiary);
606
+
607
+ /* modal */
608
+ --modal-backdrop: var(--scrim-default);
609
+ --modal-footer-bg: var(--color-surface-sunken);
610
+ --modal-bg: var(--color-overlay);
611
+ --modal-fg: var(--color-text-primary);
612
+ --modal-border: var(--color-border-subtle);
613
+ --modal-radius: var(--radius-xl);
614
+ --modal-shadow: var(--shadow-lg);
615
+ --modal-padding: var(--space-6);
616
+ --modal-gap: var(--space-4);
617
+ --modal-max-width-sm: 24rem;
618
+ --modal-max-width-md: 32rem;
619
+ --modal-max-width-lg: 44rem;
620
+ --modal-drawer-width-sm: 20rem;
621
+ --modal-drawer-width-md: 28rem;
622
+ --modal-drawer-width-lg: 40rem;
623
+ --modal-drawer-duration-enter: 300ms;
624
+ --modal-drawer-duration-exit: 200ms;
625
+ --modal-title-fg: var(--color-text-primary);
626
+ --modal-body-fg: var(--color-text-secondary);
627
+ --modal-close-bg-hover: var(--color-surface-sunken);
628
+ --modal-close-fg: var(--color-text-secondary);
629
+ --modal-focus-color: var(--color-focus);
630
+ --modal-focus-offset: var(--focus-ring-offset);
631
+ --modal-focus-width: var(--focus-ring-width);
632
+
633
+ /* nav */
634
+ --nav-bg: var(--color-surface);
635
+ --nav-border: var(--color-border-subtle);
636
+ --nav-width: var(--layout-sidebar);
637
+ --nav-item-fg: var(--color-text-secondary);
638
+ --nav-item-fg-hover: var(--color-text-primary);
639
+ --nav-item-fg-active: var(--color-text-primary);
640
+ --nav-item-bg-hover: var(--color-surface-sunken);
641
+ --nav-item-bg-active: var(--color-accent-subtle);
642
+ --nav-item-indicator: var(--color-accent);
643
+ --nav-item-radius: var(--radius-md);
644
+ --nav-item-height: var(--space-10);
645
+ --nav-item-padding-x: var(--space-3);
646
+ --nav-item-gap: var(--space-2-5);
647
+ --nav-group-label-fg: var(--color-text-tertiary);
648
+ --nav-group-label-size: var(--text-xs);
649
+ --nav-brand-fg: var(--color-text-primary);
650
+ --nav-brand-size: var(--text-sm);
651
+ --nav-brand-mark-bg: var(--color-accent);
652
+ --nav-brand-mark-fg: var(--color-accent-on);
653
+ --nav-icon: var(--color-text-tertiary);
654
+ --nav-mobilebar-bg: var(--color-surface);
655
+ --nav-toggle-bg: transparent;
656
+ --nav-toggle-fg: var(--color-text-secondary);
657
+ --nav-toggle-border: var(--color-border-control);
658
+ --nav-focus-color: var(--color-focus);
659
+ --nav-focus-offset: var(--focus-ring-offset);
660
+ --nav-focus-width: var(--focus-ring-width);
661
+ --nav-mobile-backdrop: var(--scrim-default);
662
+ --nav-scrollbar: var(--color-border-default);
663
+
664
+ /* navbar */
665
+ --navbar-bg: var(--color-canvas);
666
+ --navbar-tint: 72%;
667
+ --navbar-blur: 12px;
668
+ --navbar-height: var(--layout-header);
669
+ --navbar-padding-x: var(--space-6);
670
+ --navbar-gap: var(--space-4);
671
+ --navbar-brand-fg: var(--color-text-primary);
672
+ --navbar-brand-size: var(--text-sm);
673
+ --navbar-brand-mark-bg: var(--color-accent);
674
+ --navbar-brand-mark-fg: var(--color-accent-on);
675
+ --navbar-link-fg: var(--color-text-secondary);
676
+ --navbar-link-fg-hover: var(--color-text-primary);
677
+ --navbar-link-fg-current: var(--color-text-primary);
678
+ --navbar-link-bg-hover: var(--color-surface-sunken);
679
+ --navbar-link-bg-open: var(--color-surface-sunken);
680
+ --navbar-link-bg-current: var(--color-accent-subtle);
681
+ --navbar-link-bg-current-hover: var(--color-accent-subtle-hover);
682
+ --navbar-current-icon-fg: var(--color-accent);
683
+ --navbar-link-radius: var(--radius-md);
684
+ --navbar-link-height: var(--space-8);
685
+ --navbar-link-padding-x: var(--space-3);
686
+ --navbar-link-gap: var(--space-1-5);
687
+ --navbar-link-size: var(--text-sm);
688
+ --navbar-viewport-bg: var(--color-overlay);
689
+ --navbar-viewport-border: var(--color-border-default);
690
+ --navbar-viewport-shadow: var(--shadow-lg);
691
+ --navbar-viewport-radius: var(--radius-lg);
692
+ --navbar-viewport-offset: var(--space-2);
693
+ --navbar-panel-padding: var(--space-2);
694
+ --navbar-panel-gap: var(--space-1);
695
+ --navbar-panel-width-list: 20rem;
696
+ --navbar-panel-width-grid: 34rem;
697
+ --navbar-panel-width-group: 15rem;
698
+ --navbar-row-fg: var(--color-text-primary);
699
+ --navbar-row-desc-fg: var(--color-text-secondary);
700
+ --navbar-row-icon-fg: var(--color-text-tertiary);
701
+ --navbar-row-bg-hover: var(--color-surface-sunken);
702
+ --navbar-row-bg-current: var(--color-accent-subtle);
703
+ --navbar-row-radius: var(--radius-md);
704
+ --navbar-row-padding: var(--space-2-5) var(--space-3);
705
+ --navbar-feature-bg: var(--color-surface-sunken);
706
+ --navbar-feature-bg-hover: var(--color-accent-subtle);
707
+ --navbar-feature-icon-bg: var(--color-accent);
708
+ --navbar-feature-icon-fg: var(--color-accent-on);
709
+ --navbar-feature-min-height: 12rem;
710
+ --navbar-eyebrow-fg: var(--color-text-tertiary);
711
+ --navbar-toggle-fg: var(--color-text-primary);
712
+ --navbar-toggle-bg-hover: var(--color-surface-sunken);
713
+ --navbar-sheet-bg: var(--color-overlay);
714
+ --navbar-sheet-border: var(--color-border-subtle);
715
+ --navbar-sheet-backdrop: var(--scrim-subtle);
716
+ --navbar-sheet-radius: var(--radius-xl);
717
+ --navbar-sheet-inset: var(--space-2);
718
+ --navbar-sheet-max-width: 26rem;
719
+ --navbar-sheet-padding: var(--space-6);
720
+ --navbar-sheet-row-height: var(--space-10);
721
+ --navbar-sheet-row-size: var(--text-base);
722
+ --navbar-sheet-meta-fg: var(--color-text-secondary);
723
+ --navbar-focus-color: var(--color-focus);
724
+ --navbar-focus-offset: var(--focus-ring-offset);
725
+ --navbar-focus-width: var(--focus-ring-width);
726
+
727
+ /* topbar */
728
+ --topbar-bg: var(--color-canvas);
729
+ --topbar-border: var(--color-border-subtle);
730
+ --topbar-height: var(--space-8);
731
+ --topbar-padding-x: var(--space-6);
732
+ --topbar-gap: var(--space-4);
733
+
734
+ /* page-header */
735
+ --page-header-title-fg: var(--color-text-primary);
736
+ --page-header-title-size: var(--text-4xl);
737
+ --page-header-title-leading: var(--leading-4xl);
738
+ --page-header-title-tracking: -0.025em;
739
+ --page-header-title-max: var(--layout-prose);
740
+ --page-header-lede-fg: var(--color-text-secondary);
741
+ --page-header-lede-size: var(--text-lg);
742
+ --page-header-lede-leading: var(--leading-lg);
743
+ --page-header-lede-max: var(--layout-prose);
744
+ --page-header-gap: var(--space-4);
745
+ --page-header-meta-gap: var(--space-2);
746
+ --page-header-actions-gap: var(--space-3);
747
+ --page-header-actions-margin: var(--space-2);
748
+ --page-header-display-size: var(--text-5xl);
749
+ --page-header-display-leading: var(--leading-5xl);
750
+ --page-header-display-tracking: -0.03em;
751
+ --page-header-emphasis-fg: var(--color-text-secondary);
752
+
753
+ /* section */
754
+ --section-border: var(--color-border-subtle);
755
+ --section-margin-top: var(--space-12);
756
+ --section-padding-top: var(--space-6);
757
+ --section-head-gap: var(--space-4);
758
+ --section-title-size: var(--text-xl);
759
+ --section-title-leading: var(--leading-xl);
760
+ --section-title-margin: var(--space-4);
761
+ --section-index-fg: var(--color-text-tertiary);
762
+ --section-index-size: var(--text-sm);
763
+ --section-intro-fg: var(--color-text-secondary);
764
+ --section-intro-size: var(--text-base);
765
+ --section-intro-max: var(--layout-prose);
766
+ --section-intro-margin: var(--space-5);
767
+
768
+ /* example */
769
+ --example-bg: var(--color-surface-sunken);
770
+ --example-border: transparent;
771
+ --example-radius: var(--radius-lg);
772
+ --example-padding: var(--space-6);
773
+ --example-gap: var(--space-3);
774
+ --example-label-fg: var(--color-text-tertiary);
775
+ --example-label-size: var(--text-xs);
776
+ --example-description-fg: var(--color-text-tertiary);
777
+ --example-preview-min: var(--space-16);
778
+
779
+ /* code */
780
+ --code-bg: var(--color-surface);
781
+ --code-fg: var(--color-text-primary);
782
+ --code-border: var(--color-border-subtle);
783
+ --code-radius: var(--radius-md);
784
+ --code-padding: var(--space-4);
785
+ --code-font-size: var(--text-sm);
786
+ --code-line-height: 1.6;
787
+ --code-label-fg: var(--color-text-tertiary);
788
+ --code-label-size: var(--text-xs);
789
+ --code-label-margin: var(--space-2);
790
+ --code-scrollbar: var(--color-border-default);
791
+
792
+ /* grid */
793
+ --grid-gap: var(--space-6);
794
+ --grid-gap-sm: var(--space-4);
795
+ --grid-gap-lg: var(--space-8);
796
+ --grid-container: var(--layout-container);
797
+ --grid-gutter: var(--space-4);
798
+
799
+ /* breadcrumbs */
800
+ --breadcrumbs-link-fg: var(--color-text-secondary);
801
+ --breadcrumbs-link-fg-hover: var(--color-text-primary);
802
+ --breadcrumbs-current-fg: var(--color-text-primary);
803
+ --breadcrumbs-separator-fg: var(--color-text-tertiary);
804
+ --breadcrumbs-font-size: var(--text-sm);
805
+ --breadcrumbs-gap: var(--space-2);
806
+ --breadcrumbs-focus-color: var(--color-focus);
807
+ --breadcrumbs-focus-offset: var(--focus-ring-offset);
808
+ --breadcrumbs-focus-width: var(--focus-ring-width);
809
+
810
+ /* pagination */
811
+ --pagination-item-size: var(--space-10);
812
+ --pagination-radius: var(--radius-md);
813
+ --pagination-bg: transparent;
814
+ --pagination-bg-hover: var(--color-surface-sunken);
815
+ --pagination-bg-current: var(--color-accent-strong);
816
+ --pagination-fg: var(--color-text-secondary);
817
+ --pagination-fg-hover: var(--color-text-primary);
818
+ --pagination-fg-current: var(--color-accent-strong-fg);
819
+ --pagination-fg-disabled: var(--color-text-tertiary);
820
+ --pagination-font-size: var(--text-sm);
821
+ --pagination-gap: var(--space-1);
822
+ --pagination-focus-color: var(--color-focus);
823
+ --pagination-focus-offset: var(--focus-ring-offset);
824
+ --pagination-focus-width: var(--focus-ring-width);
825
+
826
+ /* table */
827
+ --table-bg: var(--color-surface);
828
+ --table-header-bg: var(--color-surface-sunken);
829
+ --table-header-fg: var(--color-text-secondary);
830
+ --table-header-size: var(--text-xs);
831
+ --table-cell-fg: var(--color-text-primary);
832
+ --table-cell-fg-muted: var(--color-text-secondary);
833
+ --table-cell-size: var(--text-sm);
834
+ --table-min-width: 36rem;
835
+ --table-row-border: var(--color-border-subtle);
836
+ --table-row-hover: var(--color-surface-sunken);
837
+ --table-row-selected: var(--color-accent-subtle);
838
+ --table-cell-padding-x: var(--space-4);
839
+ --table-cell-padding-y: var(--space-3);
840
+ --table-caption-fg: var(--color-text-tertiary);
841
+ --table-caption-size: var(--text-xs);
842
+ --table-radius: var(--radius-lg);
843
+ --table-border: var(--color-border-subtle);
844
+ --table-numeric-font: var(--font-mono);
845
+ --table-sort-hover: var(--color-text-primary);
846
+ --table-focus-color: var(--color-focus);
847
+ --table-focus-offset: calc(-1 * var(--focus-ring-offset));
848
+ --table-focus-width: var(--focus-ring-width);
849
+ --table-toolbar-gap: var(--space-3);
850
+ --table-toolbar-padding: var(--space-3);
851
+ --table-toolbar-bg: var(--color-surface);
852
+ --table-filter-width: 18rem;
853
+
854
+ /* toast */
855
+ --toast-bg: var(--color-overlay);
856
+ --toast-border: var(--color-border-default);
857
+ --toast-fg: var(--color-text-primary);
858
+ --toast-shadow: var(--shadow-lg);
859
+ --toast-radius: var(--radius-xl);
860
+ --toast-padding: var(--space-4);
861
+ --toast-gap: var(--space-3);
862
+ --toast-width: 24rem;
863
+ --toast-title-size: var(--text-sm);
864
+ --toast-title-weight: var(--weight-medium);
865
+ --toast-body-size: var(--text-sm);
866
+ --toast-body-fg: var(--color-text-secondary);
867
+ --toast-body-gap: var(--space-1);
868
+ --toast-icon-fg: var(--color-text-primary);
869
+ --toast-info-icon: var(--color-accent);
870
+ --toast-success-icon: var(--color-success);
871
+ --toast-warning-icon: var(--color-warning);
872
+ --toast-danger-icon: var(--color-danger);
873
+ --toast-loading-icon: var(--color-text-secondary);
874
+ --toast-close-fg: var(--color-text-tertiary);
875
+ --toast-close-fg-hover: var(--color-text-primary);
876
+ --toast-close-bg-hover: var(--color-surface-sunken);
877
+ --toast-action-bg: transparent;
878
+ --toast-action-bg-hover: var(--color-surface-sunken);
879
+ --toast-action-border: var(--color-border-default);
880
+ --toast-action-fg: var(--color-text-primary);
881
+ --toast-action-radius: var(--radius-md);
882
+ --toast-action-height: var(--space-8);
883
+ --toast-action-padding-x: var(--space-3);
884
+ --toast-action-font-size: var(--text-sm);
885
+ --toast-action-font-weight: var(--weight-medium);
886
+ --toast-viewport-gap: var(--space-3);
887
+ --toast-stack-peek: 0.75rem;
888
+ --toast-stack-scale-step: 0.08;
889
+ --toast-focus-color: var(--color-focus);
890
+ --toast-focus-offset: var(--focus-ring-offset);
891
+ --toast-focus-width: var(--focus-ring-width);
892
+
893
+ /* alert */
894
+ --alert-radius: var(--radius-md);
895
+ --alert-padding: var(--space-4);
896
+ --alert-gap: var(--space-3);
897
+ --alert-title-size: var(--text-sm);
898
+ --alert-body-size: var(--text-sm);
899
+ --alert-body-fg: var(--color-text-secondary);
900
+ --alert-info-bg: var(--color-accent-subtle);
901
+ --alert-info-border: var(--color-accent);
902
+ --alert-info-fg: var(--color-accent-subtle-fg);
903
+ --alert-success-bg: var(--color-success-bg);
904
+ --alert-success-border: var(--color-success);
905
+ --alert-success-fg: var(--color-success-fg);
906
+ --alert-warning-bg: var(--color-warning-bg);
907
+ --alert-warning-border: var(--color-warning);
908
+ --alert-warning-fg: var(--color-warning-fg);
909
+ --alert-danger-bg: var(--color-danger-bg);
910
+ --alert-danger-border: var(--color-danger);
911
+ --alert-danger-fg: var(--color-danger-fg);
912
+ --alert-info-close-fg: var(--color-accent-subtle-fg);
913
+ --alert-info-close-bg-hover: var(--color-accent-subtle-hover);
914
+ --alert-success-close-fg: var(--color-success-fg);
915
+ --alert-success-close-bg-hover: var(--color-success-bg-hover);
916
+ --alert-warning-close-fg: var(--color-warning-fg);
917
+ --alert-warning-close-bg-hover: var(--color-warning-bg-hover);
918
+ --alert-danger-close-fg: var(--color-danger-fg);
919
+ --alert-danger-close-bg-hover: var(--color-danger-bg-hover);
920
+ --alert-focus-color: var(--color-focus);
921
+ --alert-focus-offset: var(--focus-ring-offset);
922
+ --alert-focus-width: var(--focus-ring-width);
923
+
924
+ /* skeleton */
925
+ --skeleton-bg: var(--color-surface-sunken);
926
+ --skeleton-highlight: var(--color-border-subtle);
927
+ --skeleton-radius: var(--radius-sm);
928
+ --skeleton-heading-height: var(--space-4);
929
+ --skeleton-text-height: var(--space-3);
930
+ --skeleton-text-gap: var(--space-2);
931
+ --skeleton-image-radius: var(--radius-md);
932
+ --skeleton-duration: 1.6s;
933
+
934
+ /* spinner */
935
+ --spinner-size-sm: var(--space-4);
936
+ --spinner-size-md: var(--space-5);
937
+ --spinner-size-lg: var(--space-8);
938
+ --spinner-track: var(--color-border-default);
939
+ --spinner-indicator: var(--color-accent);
940
+ --spinner-duration: 700ms;
941
+ --spinner-stroke: 2px;
942
+
943
+ /* tabs */
944
+ --tabs-list-border: var(--color-border-default);
945
+ --tabs-list-gap: var(--space-1);
946
+ --tabs-tab-height: var(--space-10);
947
+ --tabs-tab-padding-x: var(--space-4);
948
+ --tabs-tab-radius: var(--radius-md);
949
+ --tabs-tab-font-size: var(--text-sm);
950
+ --tabs-tab-font-weight: var(--weight-medium);
951
+ --tabs-tab-fg: var(--color-text-secondary);
952
+ --tabs-tab-fg-hover: var(--color-text-primary);
953
+ --tabs-tab-fg-selected: var(--color-text-primary);
954
+ --tabs-tab-fg-disabled: var(--color-text-tertiary);
955
+ --tabs-tab-bg-hover: var(--color-surface-sunken);
956
+ --tabs-indicator-bg: var(--color-accent);
957
+ --tabs-indicator-height: 2px;
958
+ --tabs-panel-padding: var(--space-4);
959
+ --tabs-duration: var(--duration-base);
960
+ --tabs-ease: var(--ease-standard);
961
+ --tabs-focus-color: var(--color-focus);
962
+ --tabs-focus-offset: calc(-1 * var(--focus-ring-offset));
963
+ --tabs-focus-width: var(--focus-ring-width);
964
+
965
+ /* switch */
966
+ --switch-gap: var(--space-2-5);
967
+ --switch-track-width-sm: var(--space-8);
968
+ --switch-track-height-sm: var(--space-5);
969
+ --switch-track-width-md: var(--space-10);
970
+ --switch-track-height-md: var(--space-6);
971
+ --switch-thumb-inset: var(--space-0-5);
972
+ --switch-track-bg: var(--color-border-strong);
973
+ --switch-track-bg-hover: var(--color-border-control-hover);
974
+ --switch-track-bg-checked: var(--color-accent);
975
+ --switch-track-bg-checked-hover: var(--color-accent-hover);
976
+ --switch-track-bg-disabled: var(--color-surface-sunken);
977
+ --switch-track-border-disabled: var(--color-border-default);
978
+ --switch-track-border-invalid: var(--color-danger);
979
+ --switch-thumb-bg: var(--color-surface);
980
+ --switch-thumb-bg-checked: var(--color-accent-on);
981
+ --switch-thumb-bg-disabled: var(--color-border-strong);
982
+ --switch-label-fg: var(--color-text-primary);
983
+ --switch-label-fg-disabled: var(--color-text-tertiary);
984
+ --switch-hint-fg: var(--color-text-secondary);
985
+ --switch-error-fg: var(--color-danger-fg);
986
+ --switch-press-scale: 0.97;
987
+ --switch-duration: var(--duration-base);
988
+ --switch-ease: var(--ease-standard);
989
+ --switch-focus-color: var(--color-focus);
990
+ --switch-focus-offset: var(--focus-ring-offset);
991
+ --switch-focus-width: var(--focus-ring-width);
992
+
993
+ /* progress */
994
+ --progress-height-sm: var(--space-1-5);
995
+ --progress-height-md: var(--space-2);
996
+ --progress-radius: var(--radius-full);
997
+ --progress-gap: var(--space-1-5);
998
+ --progress-track: var(--color-border-default);
999
+ --progress-accent: var(--color-accent);
1000
+ --progress-success: var(--color-success);
1001
+ --progress-warning: var(--color-warning);
1002
+ --progress-danger: var(--color-danger);
1003
+ --progress-indicator-static: var(--color-text-tertiary);
1004
+ --progress-label-fg: var(--color-text-primary);
1005
+ --progress-value-fg: var(--color-text-secondary);
1006
+ --progress-font-size: var(--text-sm);
1007
+ --progress-value-font: var(--font-mono);
1008
+ --progress-indeterminate-width: 40%;
1009
+ --progress-indeterminate-travel: 250%;
1010
+ --progress-indeterminate-duration: 1400ms;
1011
+ --progress-duration: var(--duration-base);
1012
+ --progress-ease: var(--ease-standard);
1013
+
1014
+ /* popover */
1015
+ --popover-bg: var(--color-surface-raised);
1016
+ --popover-border: var(--color-border-control);
1017
+ --popover-fg: var(--color-text-primary);
1018
+ --popover-radius: var(--radius-md);
1019
+ --popover-shadow: var(--shadow-lg);
1020
+ --popover-padding: var(--space-4);
1021
+ --popover-gap: var(--space-2);
1022
+ --popover-max-width: 20rem;
1023
+ --popover-scale-from: 0.96;
1024
+ --popover-duration-enter: var(--duration-base);
1025
+ --popover-duration-exit: var(--duration-fast);
1026
+ --popover-duration-reduced: 120ms;
1027
+ --popover-ease-enter: var(--ease-enter);
1028
+ --popover-ease-exit: var(--ease-exit);
1029
+
1030
+ /* tooltip */
1031
+ --tooltip-bg: var(--color-text-primary);
1032
+ --tooltip-fg: var(--color-text-inverse);
1033
+ --tooltip-radius: var(--radius-sm);
1034
+ --tooltip-padding-x: var(--space-2);
1035
+ --tooltip-padding-y: var(--space-1);
1036
+ --tooltip-font-size: var(--text-xs);
1037
+ --tooltip-line-height: var(--leading-xs);
1038
+ --tooltip-max-width: 16rem;
1039
+ --tooltip-gap: var(--space-2);
1040
+ --tooltip-scale-from: 0.97;
1041
+ --tooltip-duration: 125ms;
1042
+ --tooltip-ease-enter: var(--ease-enter);
1043
+ --tooltip-ease-exit: var(--ease-exit);
1044
+
1045
+ /* menu */
1046
+ --menu-min-width: 12rem;
1047
+ --menu-max-height: 24rem;
1048
+ --menu-padding: var(--space-1);
1049
+ --menu-item-gap: var(--space-2-5);
1050
+ --menu-item-padding-x: var(--space-3);
1051
+ --menu-item-padding-y: var(--space-2);
1052
+ --menu-item-radius: var(--radius-sm);
1053
+ --menu-item-font-size: var(--text-sm);
1054
+ --menu-item-line-height: var(--leading-sm);
1055
+ --menu-item-fg: var(--color-text-primary);
1056
+ --menu-item-fg-disabled: var(--color-text-tertiary);
1057
+ --menu-item-bg-active: var(--color-surface-sunken);
1058
+ --menu-item-danger-fg: var(--color-danger-fg);
1059
+ --menu-item-danger-bg-active: var(--color-danger-bg);
1060
+ --menu-icon-fg: var(--color-text-secondary);
1061
+ --menu-shortcut-fg: var(--color-text-tertiary);
1062
+ --menu-indicator-fg: var(--color-accent);
1063
+ --menu-indicator-size: var(--space-4);
1064
+ --menu-label-fg: var(--color-text-tertiary);
1065
+ --menu-label-font-size: var(--text-xs);
1066
+ --menu-separator: var(--color-border-subtle);
1067
+ --menu-focus-color: var(--color-focus);
1068
+ --menu-focus-offset: calc(-1 * var(--focus-ring-offset));
1069
+ --menu-focus-width: var(--focus-ring-width);
1070
+
1071
+ /* avatar */
1072
+ --avatar-size-sm: var(--space-6);
1073
+ --avatar-size-md: var(--space-8);
1074
+ --avatar-size-lg: var(--space-12);
1075
+ --avatar-radius-circle: var(--radius-full);
1076
+ --avatar-radius-square: var(--radius-md);
1077
+ --avatar-bg: var(--color-surface-sunken);
1078
+ --avatar-fg: var(--color-text-secondary);
1079
+ --avatar-border: var(--color-border-default);
1080
+ --avatar-font: var(--font-body);
1081
+ --avatar-font-weight: var(--weight-semibold);
1082
+ --avatar-font-size-sm: var(--text-xs);
1083
+ --avatar-font-size-md: var(--text-sm);
1084
+ --avatar-font-size-lg: var(--text-lg);
1085
+ --avatar-count-font: var(--font-mono);
1086
+ --avatar-ring: var(--color-surface);
1087
+ --avatar-ring-width: 2px;
1088
+ --avatar-overlap-ratio: 0.15;
1089
+ --avatar-status-size-sm: var(--space-2);
1090
+ --avatar-status-size-md: var(--space-2-5);
1091
+ --avatar-status-size-lg: var(--space-3);
1092
+ --avatar-status-online: var(--color-success);
1093
+ --avatar-status-away: var(--color-warning);
1094
+ --avatar-status-busy: var(--color-danger);
1095
+ --avatar-status-offline: var(--color-text-tertiary);
1096
+ --avatar-status-mark: var(--color-surface);
1097
+
1098
+ /* stepper */
1099
+ --stepper-marker-size: var(--space-8);
1100
+ --stepper-marker-border-width: 2px;
1101
+ --stepper-marker-font: var(--font-mono);
1102
+ --stepper-marker-font-size: var(--text-sm);
1103
+ --stepper-marker-bg-upcoming: var(--color-surface);
1104
+ --stepper-marker-border-upcoming: var(--color-border-control);
1105
+ --stepper-marker-fg-upcoming: var(--color-text-secondary);
1106
+ --stepper-marker-bg-current: var(--color-accent-subtle);
1107
+ --stepper-marker-border-current: var(--color-accent);
1108
+ --stepper-marker-fg-current: var(--color-accent-subtle-fg);
1109
+ --stepper-marker-bg-complete: var(--color-accent);
1110
+ --stepper-marker-border-complete: var(--color-accent);
1111
+ --stepper-marker-fg-complete: var(--color-accent-on);
1112
+ --stepper-marker-bg-error: var(--color-danger-bg);
1113
+ --stepper-marker-border-error: var(--color-danger);
1114
+ --stepper-marker-fg-error: var(--color-danger-fg);
1115
+ --stepper-connector-size: 2px;
1116
+ --stepper-connector-bg: var(--color-border-default);
1117
+ --stepper-connector-bg-complete: var(--color-accent);
1118
+ --stepper-connector-gap: var(--space-2);
1119
+ --stepper-gap: var(--space-2);
1120
+ --stepper-step-gap: var(--space-6);
1121
+ --stepper-label-fg: var(--color-text-primary);
1122
+ --stepper-label-fg-upcoming: var(--color-text-secondary);
1123
+ --stepper-label-fg-error: var(--color-danger-fg);
1124
+ --stepper-description-fg: var(--color-text-secondary);
1125
+ --stepper-description-fg-error: var(--color-danger-fg);
1126
+ --stepper-duration: var(--duration-base);
1127
+ --stepper-ease: var(--ease-standard);
1128
+
1129
+ /* empty */
1130
+ --empty-padding: var(--space-16) var(--space-6);
1131
+ --empty-icon-size: var(--space-12);
1132
+ --empty-icon-bg: var(--color-surface-sunken);
1133
+ --empty-icon-fg: var(--color-text-tertiary);
1134
+ --empty-title-fg: var(--color-text-primary);
1135
+ --empty-title-size: var(--text-lg);
1136
+ --empty-body-fg: var(--color-text-secondary);
1137
+ --empty-body-size: var(--text-sm);
1138
+ --empty-gap: var(--space-3);
1139
+ --empty-max-width: 26rem;
1140
+ --empty-dashed-border: var(--color-border-strong);
1141
+ --empty-radius: var(--radius-lg);
1142
+ --empty-skeleton-gap: var(--space-4);
1143
+ --empty-skeleton-width: 24rem;
1144
+
1145
+ /* motion */
1146
+ --motion-lift-y: -2px;
1147
+ --motion-lift-shadow: var(--shadow-md);
1148
+ --motion-underline-thickness: 1px;
1149
+ --motion-underline-offset: 0.2em;
1150
+ --motion-nudge: 3px;
1151
+ --motion-row-nudge: 4px;
1152
+ --motion-duration: var(--duration-base);
1153
+ --motion-duration-fast: var(--duration-fast);
1154
+ --motion-duration-slow: var(--duration-slow);
1155
+ --motion-delay-none: 0ms;
1156
+ --motion-delay-short: var(--duration-fast);
1157
+ --motion-delay-long: var(--duration-slow);
1158
+ --motion-ease: var(--ease-standard);
1159
+ }
1160
+
1161
+ /* default follows the OS; an explicit [data-theme] pin wins below */
1162
+ @media (prefers-color-scheme: dark) {
1163
+ :root:not([data-theme="light"]) {
1164
+ --color-canvas: var(--color-canvas-dark);
1165
+ --color-surface: var(--color-surface-dark);
1166
+ --color-surface-raised: var(--color-surface-raised-dark);
1167
+ --color-surface-sunken: var(--color-surface-sunken-dark);
1168
+ --color-overlay: var(--color-overlay-dark);
1169
+ --color-text-primary: var(--color-text-primary-dark);
1170
+ --color-text-secondary: var(--color-text-secondary-dark);
1171
+ --color-text-tertiary: var(--color-text-tertiary-dark);
1172
+ --color-text-inverse: var(--color-text-inverse-dark);
1173
+ --color-link: var(--color-link-dark);
1174
+ --color-link-hover: var(--color-link-hover-dark);
1175
+ --color-accent: var(--color-accent-dark);
1176
+ --color-accent-hover: var(--color-accent-hover-dark);
1177
+ --color-accent-active: var(--color-accent-active-dark);
1178
+ --color-accent-on: var(--color-accent-on-dark);
1179
+ --color-accent-strong: var(--color-accent-strong-dark);
1180
+ --color-accent-strong-hover: var(--color-accent-strong-hover-dark);
1181
+ --color-accent-strong-active: var(--color-accent-strong-active-dark);
1182
+ --color-accent-strong-fg: var(--color-accent-strong-fg-dark);
1183
+ --color-accent-subtle: var(--color-accent-subtle-dark);
1184
+ --color-accent-subtle-hover: var(--color-accent-subtle-hover-dark);
1185
+ --color-accent-subtle-fg: var(--color-accent-subtle-fg-dark);
1186
+ --color-success: var(--color-success-dark);
1187
+ --color-success-bg: var(--color-success-bg-dark);
1188
+ --color-success-bg-hover: var(--color-success-bg-hover-dark);
1189
+ --color-success-fg: var(--color-success-fg-dark);
1190
+ --color-warning: var(--color-warning-dark);
1191
+ --color-warning-bg: var(--color-warning-bg-dark);
1192
+ --color-warning-bg-hover: var(--color-warning-bg-hover-dark);
1193
+ --color-warning-fg: var(--color-warning-fg-dark);
1194
+ --color-danger: var(--color-danger-dark);
1195
+ --color-danger-bg: var(--color-danger-bg-dark);
1196
+ --color-danger-bg-hover: var(--color-danger-bg-hover-dark);
1197
+ --color-danger-fg: var(--color-danger-fg-dark);
1198
+ --color-danger-strong: var(--color-danger-strong-dark);
1199
+ --color-danger-strong-hover: var(--color-danger-strong-hover-dark);
1200
+ --color-danger-strong-fg: var(--color-danger-strong-fg-dark);
1201
+ --color-border-subtle: var(--color-border-subtle-dark);
1202
+ --color-border-default: var(--color-border-default-dark);
1203
+ --color-border-control: var(--color-border-control-dark);
1204
+ --color-border-control-hover: var(--color-border-control-hover-dark);
1205
+ --color-border-strong: var(--color-border-strong-dark);
1206
+ --color-focus: var(--color-focus-dark);
1207
+ --color-focus-offset: var(--color-focus-offset-dark);
1208
+ --color-selection: var(--color-selection-dark);
1209
+ --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.40), 0 1px 3px rgb(0 0 0 / 0.30);
1210
+ --shadow-md: 0 4px 12px rgb(0 0 0 / 0.45), 0 1px 3px rgb(0 0 0 / 0.35);
1211
+ --shadow-lg: 0 16px 40px rgb(0 0 0 / 0.55), 0 3px 8px rgb(0 0 0 / 0.40);
1212
+ color-scheme: dark;
1213
+ }
1214
+ }
1215
+
1216
+ /* reduced motion zeroes the duration scale; components only read it */
1217
+ @media (prefers-reduced-motion: reduce) {
1218
+ :root {
1219
+ --duration-instant: 0ms;
1220
+ --duration-fast: 0ms;
1221
+ --duration-base: 0ms;
1222
+ --duration-slow: 0ms;
1223
+ --duration-slower: 0ms;
1224
+ }
1225
+ }
1226
+
1227
+ [data-theme="dark"] {
1228
+ --color-canvas: var(--color-canvas-dark);
1229
+ --color-surface: var(--color-surface-dark);
1230
+ --color-surface-raised: var(--color-surface-raised-dark);
1231
+ --color-surface-sunken: var(--color-surface-sunken-dark);
1232
+ --color-overlay: var(--color-overlay-dark);
1233
+ --color-text-primary: var(--color-text-primary-dark);
1234
+ --color-text-secondary: var(--color-text-secondary-dark);
1235
+ --color-text-tertiary: var(--color-text-tertiary-dark);
1236
+ --color-text-inverse: var(--color-text-inverse-dark);
1237
+ --color-link: var(--color-link-dark);
1238
+ --color-link-hover: var(--color-link-hover-dark);
1239
+ --color-accent: var(--color-accent-dark);
1240
+ --color-accent-hover: var(--color-accent-hover-dark);
1241
+ --color-accent-active: var(--color-accent-active-dark);
1242
+ --color-accent-on: var(--color-accent-on-dark);
1243
+ --color-accent-strong: var(--color-accent-strong-dark);
1244
+ --color-accent-strong-hover: var(--color-accent-strong-hover-dark);
1245
+ --color-accent-strong-active: var(--color-accent-strong-active-dark);
1246
+ --color-accent-strong-fg: var(--color-accent-strong-fg-dark);
1247
+ --color-accent-subtle: var(--color-accent-subtle-dark);
1248
+ --color-accent-subtle-hover: var(--color-accent-subtle-hover-dark);
1249
+ --color-accent-subtle-fg: var(--color-accent-subtle-fg-dark);
1250
+ --color-success: var(--color-success-dark);
1251
+ --color-success-bg: var(--color-success-bg-dark);
1252
+ --color-success-bg-hover: var(--color-success-bg-hover-dark);
1253
+ --color-success-fg: var(--color-success-fg-dark);
1254
+ --color-warning: var(--color-warning-dark);
1255
+ --color-warning-bg: var(--color-warning-bg-dark);
1256
+ --color-warning-bg-hover: var(--color-warning-bg-hover-dark);
1257
+ --color-warning-fg: var(--color-warning-fg-dark);
1258
+ --color-danger: var(--color-danger-dark);
1259
+ --color-danger-bg: var(--color-danger-bg-dark);
1260
+ --color-danger-bg-hover: var(--color-danger-bg-hover-dark);
1261
+ --color-danger-fg: var(--color-danger-fg-dark);
1262
+ --color-danger-strong: var(--color-danger-strong-dark);
1263
+ --color-danger-strong-hover: var(--color-danger-strong-hover-dark);
1264
+ --color-danger-strong-fg: var(--color-danger-strong-fg-dark);
1265
+ --color-border-subtle: var(--color-border-subtle-dark);
1266
+ --color-border-default: var(--color-border-default-dark);
1267
+ --color-border-control: var(--color-border-control-dark);
1268
+ --color-border-control-hover: var(--color-border-control-hover-dark);
1269
+ --color-border-strong: var(--color-border-strong-dark);
1270
+ --color-focus: var(--color-focus-dark);
1271
+ --color-focus-offset: var(--color-focus-offset-dark);
1272
+ --color-selection: var(--color-selection-dark);
1273
+ --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.40), 0 1px 3px rgb(0 0 0 / 0.30);
1274
+ --shadow-md: 0 4px 12px rgb(0 0 0 / 0.45), 0 1px 3px rgb(0 0 0 / 0.35);
1275
+ --shadow-lg: 0 16px 40px rgb(0 0 0 / 0.55), 0 3px 8px rgb(0 0 0 / 0.40);
1276
+ color-scheme: dark;
1277
+ }
1278
+
1279
+ [data-theme="light"] { color-scheme: light; }
1280
+
1281
+ /* Enhancement: light-dark() keeps the split roles in sync with the
1282
+ resolved color-scheme. Order is load bearing: last in the layer,
1283
+ only :root:not([data-theme]), only when the OS is light. */
1284
+ @supports (color: light-dark(#000, #fff)) {
1285
+ @media (prefers-color-scheme: light) {
1286
+ :root:not([data-theme]) {
1287
+ --color-canvas: light-dark(var(--color-canvas-light), var(--color-canvas-dark));
1288
+ --color-surface: light-dark(var(--color-surface-light), var(--color-surface-dark));
1289
+ --color-surface-raised: light-dark(var(--color-surface-raised-light), var(--color-surface-raised-dark));
1290
+ --color-surface-sunken: light-dark(var(--color-surface-sunken-light), var(--color-surface-sunken-dark));
1291
+ --color-overlay: light-dark(var(--color-overlay-light), var(--color-overlay-dark));
1292
+ --color-text-primary: light-dark(var(--color-text-primary-light), var(--color-text-primary-dark));
1293
+ --color-text-secondary: light-dark(var(--color-text-secondary-light), var(--color-text-secondary-dark));
1294
+ --color-text-tertiary: light-dark(var(--color-text-tertiary-light), var(--color-text-tertiary-dark));
1295
+ --color-text-inverse: light-dark(var(--color-text-inverse-light), var(--color-text-inverse-dark));
1296
+ --color-link: light-dark(var(--color-link-light), var(--color-link-dark));
1297
+ --color-link-hover: light-dark(var(--color-link-hover-light), var(--color-link-hover-dark));
1298
+ --color-accent: light-dark(var(--color-accent-light), var(--color-accent-dark));
1299
+ --color-accent-hover: light-dark(var(--color-accent-hover-light), var(--color-accent-hover-dark));
1300
+ --color-accent-active: light-dark(var(--color-accent-active-light), var(--color-accent-active-dark));
1301
+ --color-accent-on: light-dark(var(--color-accent-on-light), var(--color-accent-on-dark));
1302
+ --color-accent-strong: light-dark(var(--color-accent-strong-light), var(--color-accent-strong-dark));
1303
+ --color-accent-strong-hover: light-dark(var(--color-accent-strong-hover-light), var(--color-accent-strong-hover-dark));
1304
+ --color-accent-strong-active: light-dark(var(--color-accent-strong-active-light), var(--color-accent-strong-active-dark));
1305
+ --color-accent-strong-fg: light-dark(var(--color-accent-strong-fg-light), var(--color-accent-strong-fg-dark));
1306
+ --color-accent-subtle: light-dark(var(--color-accent-subtle-light), var(--color-accent-subtle-dark));
1307
+ --color-accent-subtle-hover: light-dark(var(--color-accent-subtle-hover-light), var(--color-accent-subtle-hover-dark));
1308
+ --color-accent-subtle-fg: light-dark(var(--color-accent-subtle-fg-light), var(--color-accent-subtle-fg-dark));
1309
+ --color-success: light-dark(var(--color-success-light), var(--color-success-dark));
1310
+ --color-success-bg: light-dark(var(--color-success-bg-light), var(--color-success-bg-dark));
1311
+ --color-success-bg-hover: light-dark(var(--color-success-bg-hover-light), var(--color-success-bg-hover-dark));
1312
+ --color-success-fg: light-dark(var(--color-success-fg-light), var(--color-success-fg-dark));
1313
+ --color-warning: light-dark(var(--color-warning-light), var(--color-warning-dark));
1314
+ --color-warning-bg: light-dark(var(--color-warning-bg-light), var(--color-warning-bg-dark));
1315
+ --color-warning-bg-hover: light-dark(var(--color-warning-bg-hover-light), var(--color-warning-bg-hover-dark));
1316
+ --color-warning-fg: light-dark(var(--color-warning-fg-light), var(--color-warning-fg-dark));
1317
+ --color-danger: light-dark(var(--color-danger-light), var(--color-danger-dark));
1318
+ --color-danger-bg: light-dark(var(--color-danger-bg-light), var(--color-danger-bg-dark));
1319
+ --color-danger-bg-hover: light-dark(var(--color-danger-bg-hover-light), var(--color-danger-bg-hover-dark));
1320
+ --color-danger-fg: light-dark(var(--color-danger-fg-light), var(--color-danger-fg-dark));
1321
+ --color-danger-strong: light-dark(var(--color-danger-strong-light), var(--color-danger-strong-dark));
1322
+ --color-danger-strong-hover: light-dark(var(--color-danger-strong-hover-light), var(--color-danger-strong-hover-dark));
1323
+ --color-danger-strong-fg: light-dark(var(--color-danger-strong-fg-light), var(--color-danger-strong-fg-dark));
1324
+ --color-border-subtle: light-dark(var(--color-border-subtle-light), var(--color-border-subtle-dark));
1325
+ --color-border-default: light-dark(var(--color-border-default-light), var(--color-border-default-dark));
1326
+ --color-border-control: light-dark(var(--color-border-control-light), var(--color-border-control-dark));
1327
+ --color-border-control-hover: light-dark(var(--color-border-control-hover-light), var(--color-border-control-hover-dark));
1328
+ --color-border-strong: light-dark(var(--color-border-strong-light), var(--color-border-strong-dark));
1329
+ --color-focus: light-dark(var(--color-focus-light), var(--color-focus-dark));
1330
+ --color-focus-offset: light-dark(var(--color-focus-offset-light), var(--color-focus-offset-dark));
1331
+ --color-selection: light-dark(var(--color-selection-light), var(--color-selection-dark));
1332
+ color-scheme: light dark;
1333
+ }
1334
+ }
1335
+ }
1336
+ }