@kazamitte/design-token 0.0.0-stage → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,934 @@
1
+ /**
2
+ * semantic color tokens.
3
+ *
4
+ * Steps are derived from four contrast requirements, each verified
5
+ * at WCAG AA for normal text (4.5:1) across all 26 hues:
6
+ *
7
+ * fg-strong x bg-selected strong text on a hover surface
8
+ * fg x bg-muted body text on a selected surface
9
+ * fg-muted x bg secondary text on a tinted surface
10
+ * bg-solid x contrast label on a filled control
11
+ *
12
+ * Higher-contrast pairs (fg-strong x bg, etc.) follow automatically.
13
+ * `fg-subtle` is excluded from the requirements and is intended for
14
+ * non-text use: icons, decoration, and disabled states.
15
+ *
16
+ * Roles can take different hues, so these pairs are also held across
17
+ * hues — text from any hue on a surface from any other, 26 x 26:
18
+ *
19
+ * fg-strong x bg, bg-subtle, bg-muted
20
+ * fg x bg, bg-subtle
21
+ * fg-muted x bg
22
+ * bg-solid x contrast
23
+ *
24
+ * One exception is accepted: in dark, indigo `fg` on yellow or lime
25
+ * `bg-subtle` (about 4.3:1). Lightening indigo `fg` to clear it would
26
+ * pull the link hover color toward body text for color-blind readers.
27
+ *
28
+ * Contrast is measured the way axe-core measures it: out-of-gamut
29
+ * colors are clipped to sRGB, nothing is rounded, and a pair passes
30
+ * only when its ratio is strictly greater than the threshold.
31
+ *
32
+ * Because the steps needed to clear those thresholds differ by hue,
33
+ * hues are grouped rather than sharing one scale:
34
+ *
35
+ * Light
36
+ * ├─ A 800/700/600/500 blue, indigo, violet, purple
37
+ * ├─ B 900/800/700/600 the other 10 chromatic hues
38
+ * ├─ C 900/800/750/600 yellow, lime, green
39
+ * └─ N 900/800/700/500 neutrals
40
+ *
41
+ * Dark
42
+ * ├─ 1 100/200/400/500 red, orange, pink, rose
43
+ * ├─ 2 200/300/400/500 blue, violet, purple, fuchsia
44
+ * ├─ 3 100/300/500/600 amber, yellow, lime, emerald, teal,
45
+ * │ cyan, sky
46
+ * ├─ 4 200/300/350/500 indigo
47
+ * ├─ 5 50/300/500/600 green
48
+ * └─ N 100/200/400/500 neutrals
49
+ *
50
+ * Groups C and 4 use the palette's mid steps (350, 750): the
51
+ * Tailwind step on either side is too light or too dark for the
52
+ * cross-hue pairs.
53
+ *
54
+ * `bg-solid`, `border-solid` and `focus-ring` always share a step, so a
55
+ * solid control, an outlined one and a focus ring read as one color.
56
+ * All three must clear 3:1 against bg, bg-subtle and bg-muted (WCAG
57
+ * 1.4.11), and the label on bg-solid must clear 4.5:1. A focus ring
58
+ * matches a solid fill, so it needs an offset to show against one.
59
+ *
60
+ * Light: 700 for chromatic hues, 600 for neutrals, with a white label.
61
+ * Dark: 350 for every hue, with the hue's own 950 as the label. No
62
+ * step dark enough for a white label also stands out 3:1 from a
63
+ * dark surface, so in dark the fill is light and the label dark.
64
+ *
65
+ * These are per-hue primitives. Brand roles (primary, secondary, base,
66
+ * link) and status roles (error, warning, success, info) alias into
67
+ * them rather than referencing the palette directly.
68
+ */
69
+
70
+ :root {
71
+ --c-red-bg: var(--color-red-50);
72
+ --c-red-bg-subtle: var(--color-red-100);
73
+ --c-red-bg-muted: var(--color-red-200);
74
+ --c-red-bg-selected: var(--color-red-300);
75
+ --c-red-bg-solid: var(--color-red-700);
76
+ --c-red-border-subtle: var(--color-red-100);
77
+ --c-red-border-muted: var(--color-red-200);
78
+ --c-red-border-selected: var(--color-red-300);
79
+ --c-red-border-solid: var(--color-red-700);
80
+ --c-red-fg-strong: var(--color-red-900);
81
+ --c-red-fg: var(--color-red-800);
82
+ --c-red-fg-muted: var(--color-red-700);
83
+ --c-red-fg-subtle: var(--color-red-600);
84
+ --c-red-fg-contrast: var(--color-white);
85
+ --c-red-focus-ring: var(--color-red-700);
86
+
87
+ --c-orange-bg: var(--color-orange-50);
88
+ --c-orange-bg-subtle: var(--color-orange-100);
89
+ --c-orange-bg-muted: var(--color-orange-200);
90
+ --c-orange-bg-selected: var(--color-orange-300);
91
+ --c-orange-bg-solid: var(--color-orange-700);
92
+ --c-orange-border-subtle: var(--color-orange-100);
93
+ --c-orange-border-muted: var(--color-orange-200);
94
+ --c-orange-border-selected: var(--color-orange-300);
95
+ --c-orange-border-solid: var(--color-orange-700);
96
+ --c-orange-fg-strong: var(--color-orange-900);
97
+ --c-orange-fg: var(--color-orange-800);
98
+ --c-orange-fg-muted: var(--color-orange-700);
99
+ --c-orange-fg-subtle: var(--color-orange-600);
100
+ --c-orange-fg-contrast: var(--color-white);
101
+ --c-orange-focus-ring: var(--color-orange-700);
102
+
103
+ --c-amber-bg: var(--color-amber-50);
104
+ --c-amber-bg-subtle: var(--color-amber-100);
105
+ --c-amber-bg-muted: var(--color-amber-200);
106
+ --c-amber-bg-selected: var(--color-amber-300);
107
+ --c-amber-bg-solid: var(--color-amber-700);
108
+ --c-amber-border-subtle: var(--color-amber-100);
109
+ --c-amber-border-muted: var(--color-amber-200);
110
+ --c-amber-border-selected: var(--color-amber-300);
111
+ --c-amber-border-solid: var(--color-amber-700);
112
+ --c-amber-fg-strong: var(--color-amber-900);
113
+ --c-amber-fg: var(--color-amber-800);
114
+ --c-amber-fg-muted: var(--color-amber-700);
115
+ --c-amber-fg-subtle: var(--color-amber-600);
116
+ --c-amber-fg-contrast: var(--color-white);
117
+ --c-amber-focus-ring: var(--color-amber-700);
118
+
119
+ --c-yellow-bg: var(--color-yellow-50);
120
+ --c-yellow-bg-subtle: var(--color-yellow-100);
121
+ --c-yellow-bg-muted: var(--color-yellow-200);
122
+ --c-yellow-bg-selected: var(--color-yellow-300);
123
+ --c-yellow-bg-solid: var(--color-yellow-700);
124
+ --c-yellow-border-subtle: var(--color-yellow-100);
125
+ --c-yellow-border-muted: var(--color-yellow-200);
126
+ --c-yellow-border-selected: var(--color-yellow-300);
127
+ --c-yellow-border-solid: var(--color-yellow-700);
128
+ --c-yellow-fg-strong: var(--color-yellow-900);
129
+ --c-yellow-fg: var(--color-yellow-800);
130
+ --c-yellow-fg-muted: var(--color-yellow-750);
131
+ --c-yellow-fg-subtle: var(--color-yellow-600);
132
+ --c-yellow-fg-contrast: var(--color-white);
133
+ --c-yellow-focus-ring: var(--color-yellow-700);
134
+
135
+ --c-lime-bg: var(--color-lime-50);
136
+ --c-lime-bg-subtle: var(--color-lime-100);
137
+ --c-lime-bg-muted: var(--color-lime-200);
138
+ --c-lime-bg-selected: var(--color-lime-300);
139
+ --c-lime-bg-solid: var(--color-lime-700);
140
+ --c-lime-border-subtle: var(--color-lime-100);
141
+ --c-lime-border-muted: var(--color-lime-200);
142
+ --c-lime-border-selected: var(--color-lime-300);
143
+ --c-lime-border-solid: var(--color-lime-700);
144
+ --c-lime-fg-strong: var(--color-lime-900);
145
+ --c-lime-fg: var(--color-lime-800);
146
+ --c-lime-fg-muted: var(--color-lime-750);
147
+ --c-lime-fg-subtle: var(--color-lime-600);
148
+ --c-lime-fg-contrast: var(--color-white);
149
+ --c-lime-focus-ring: var(--color-lime-700);
150
+
151
+ --c-green-bg: var(--color-green-50);
152
+ --c-green-bg-subtle: var(--color-green-100);
153
+ --c-green-bg-muted: var(--color-green-200);
154
+ --c-green-bg-selected: var(--color-green-300);
155
+ --c-green-bg-solid: var(--color-green-700);
156
+ --c-green-border-subtle: var(--color-green-100);
157
+ --c-green-border-muted: var(--color-green-200);
158
+ --c-green-border-selected: var(--color-green-300);
159
+ --c-green-border-solid: var(--color-green-700);
160
+ --c-green-fg-strong: var(--color-green-900);
161
+ --c-green-fg: var(--color-green-800);
162
+ --c-green-fg-muted: var(--color-green-750);
163
+ --c-green-fg-subtle: var(--color-green-600);
164
+ --c-green-fg-contrast: var(--color-white);
165
+ --c-green-focus-ring: var(--color-green-700);
166
+
167
+ --c-emerald-bg: var(--color-emerald-50);
168
+ --c-emerald-bg-subtle: var(--color-emerald-100);
169
+ --c-emerald-bg-muted: var(--color-emerald-200);
170
+ --c-emerald-bg-selected: var(--color-emerald-300);
171
+ --c-emerald-bg-solid: var(--color-emerald-700);
172
+ --c-emerald-border-subtle: var(--color-emerald-100);
173
+ --c-emerald-border-muted: var(--color-emerald-200);
174
+ --c-emerald-border-selected: var(--color-emerald-300);
175
+ --c-emerald-border-solid: var(--color-emerald-700);
176
+ --c-emerald-fg-strong: var(--color-emerald-900);
177
+ --c-emerald-fg: var(--color-emerald-800);
178
+ --c-emerald-fg-muted: var(--color-emerald-700);
179
+ --c-emerald-fg-subtle: var(--color-emerald-600);
180
+ --c-emerald-fg-contrast: var(--color-white);
181
+ --c-emerald-focus-ring: var(--color-emerald-700);
182
+
183
+ --c-teal-bg: var(--color-teal-50);
184
+ --c-teal-bg-subtle: var(--color-teal-100);
185
+ --c-teal-bg-muted: var(--color-teal-200);
186
+ --c-teal-bg-selected: var(--color-teal-300);
187
+ --c-teal-bg-solid: var(--color-teal-700);
188
+ --c-teal-border-subtle: var(--color-teal-100);
189
+ --c-teal-border-muted: var(--color-teal-200);
190
+ --c-teal-border-selected: var(--color-teal-300);
191
+ --c-teal-border-solid: var(--color-teal-700);
192
+ --c-teal-fg-strong: var(--color-teal-900);
193
+ --c-teal-fg: var(--color-teal-800);
194
+ --c-teal-fg-muted: var(--color-teal-700);
195
+ --c-teal-fg-subtle: var(--color-teal-600);
196
+ --c-teal-fg-contrast: var(--color-white);
197
+ --c-teal-focus-ring: var(--color-teal-700);
198
+
199
+ --c-cyan-bg: var(--color-cyan-50);
200
+ --c-cyan-bg-subtle: var(--color-cyan-100);
201
+ --c-cyan-bg-muted: var(--color-cyan-200);
202
+ --c-cyan-bg-selected: var(--color-cyan-300);
203
+ --c-cyan-bg-solid: var(--color-cyan-700);
204
+ --c-cyan-border-subtle: var(--color-cyan-100);
205
+ --c-cyan-border-muted: var(--color-cyan-200);
206
+ --c-cyan-border-selected: var(--color-cyan-300);
207
+ --c-cyan-border-solid: var(--color-cyan-700);
208
+ --c-cyan-fg-strong: var(--color-cyan-900);
209
+ --c-cyan-fg: var(--color-cyan-800);
210
+ --c-cyan-fg-muted: var(--color-cyan-700);
211
+ --c-cyan-fg-subtle: var(--color-cyan-600);
212
+ --c-cyan-fg-contrast: var(--color-white);
213
+ --c-cyan-focus-ring: var(--color-cyan-700);
214
+
215
+ --c-sky-bg: var(--color-sky-50);
216
+ --c-sky-bg-subtle: var(--color-sky-100);
217
+ --c-sky-bg-muted: var(--color-sky-200);
218
+ --c-sky-bg-selected: var(--color-sky-300);
219
+ --c-sky-bg-solid: var(--color-sky-700);
220
+ --c-sky-border-subtle: var(--color-sky-100);
221
+ --c-sky-border-muted: var(--color-sky-200);
222
+ --c-sky-border-selected: var(--color-sky-300);
223
+ --c-sky-border-solid: var(--color-sky-700);
224
+ --c-sky-fg-strong: var(--color-sky-900);
225
+ --c-sky-fg: var(--color-sky-800);
226
+ --c-sky-fg-muted: var(--color-sky-700);
227
+ --c-sky-fg-subtle: var(--color-sky-600);
228
+ --c-sky-fg-contrast: var(--color-white);
229
+ --c-sky-focus-ring: var(--color-sky-700);
230
+
231
+ --c-blue-bg: var(--color-blue-50);
232
+ --c-blue-bg-subtle: var(--color-blue-100);
233
+ --c-blue-bg-muted: var(--color-blue-200);
234
+ --c-blue-bg-selected: var(--color-blue-300);
235
+ --c-blue-bg-solid: var(--color-blue-700);
236
+ --c-blue-border-subtle: var(--color-blue-100);
237
+ --c-blue-border-muted: var(--color-blue-200);
238
+ --c-blue-border-selected: var(--color-blue-300);
239
+ --c-blue-border-solid: var(--color-blue-700);
240
+ --c-blue-fg-strong: var(--color-blue-800);
241
+ --c-blue-fg: var(--color-blue-700);
242
+ --c-blue-fg-muted: var(--color-blue-600);
243
+ --c-blue-fg-subtle: var(--color-blue-500);
244
+ --c-blue-fg-contrast: var(--color-white);
245
+ --c-blue-focus-ring: var(--color-blue-700);
246
+
247
+ --c-indigo-bg: var(--color-indigo-50);
248
+ --c-indigo-bg-subtle: var(--color-indigo-100);
249
+ --c-indigo-bg-muted: var(--color-indigo-200);
250
+ --c-indigo-bg-selected: var(--color-indigo-300);
251
+ --c-indigo-bg-solid: var(--color-indigo-700);
252
+ --c-indigo-border-subtle: var(--color-indigo-100);
253
+ --c-indigo-border-muted: var(--color-indigo-200);
254
+ --c-indigo-border-selected: var(--color-indigo-300);
255
+ --c-indigo-border-solid: var(--color-indigo-700);
256
+ --c-indigo-fg-strong: var(--color-indigo-800);
257
+ --c-indigo-fg: var(--color-indigo-700);
258
+ --c-indigo-fg-muted: var(--color-indigo-600);
259
+ --c-indigo-fg-subtle: var(--color-indigo-500);
260
+ --c-indigo-fg-contrast: var(--color-white);
261
+ --c-indigo-focus-ring: var(--color-indigo-700);
262
+
263
+ --c-violet-bg: var(--color-violet-50);
264
+ --c-violet-bg-subtle: var(--color-violet-100);
265
+ --c-violet-bg-muted: var(--color-violet-200);
266
+ --c-violet-bg-selected: var(--color-violet-300);
267
+ --c-violet-bg-solid: var(--color-violet-700);
268
+ --c-violet-border-subtle: var(--color-violet-100);
269
+ --c-violet-border-muted: var(--color-violet-200);
270
+ --c-violet-border-selected: var(--color-violet-300);
271
+ --c-violet-border-solid: var(--color-violet-700);
272
+ --c-violet-fg-strong: var(--color-violet-800);
273
+ --c-violet-fg: var(--color-violet-700);
274
+ --c-violet-fg-muted: var(--color-violet-600);
275
+ --c-violet-fg-subtle: var(--color-violet-500);
276
+ --c-violet-fg-contrast: var(--color-white);
277
+ --c-violet-focus-ring: var(--color-violet-700);
278
+
279
+ --c-purple-bg: var(--color-purple-50);
280
+ --c-purple-bg-subtle: var(--color-purple-100);
281
+ --c-purple-bg-muted: var(--color-purple-200);
282
+ --c-purple-bg-selected: var(--color-purple-300);
283
+ --c-purple-bg-solid: var(--color-purple-700);
284
+ --c-purple-border-subtle: var(--color-purple-100);
285
+ --c-purple-border-muted: var(--color-purple-200);
286
+ --c-purple-border-selected: var(--color-purple-300);
287
+ --c-purple-border-solid: var(--color-purple-700);
288
+ --c-purple-fg-strong: var(--color-purple-800);
289
+ --c-purple-fg: var(--color-purple-700);
290
+ --c-purple-fg-muted: var(--color-purple-600);
291
+ --c-purple-fg-subtle: var(--color-purple-500);
292
+ --c-purple-fg-contrast: var(--color-white);
293
+ --c-purple-focus-ring: var(--color-purple-700);
294
+
295
+ --c-fuchsia-bg: var(--color-fuchsia-50);
296
+ --c-fuchsia-bg-subtle: var(--color-fuchsia-100);
297
+ --c-fuchsia-bg-muted: var(--color-fuchsia-200);
298
+ --c-fuchsia-bg-selected: var(--color-fuchsia-300);
299
+ --c-fuchsia-bg-solid: var(--color-fuchsia-700);
300
+ --c-fuchsia-border-subtle: var(--color-fuchsia-100);
301
+ --c-fuchsia-border-muted: var(--color-fuchsia-200);
302
+ --c-fuchsia-border-selected: var(--color-fuchsia-300);
303
+ --c-fuchsia-border-solid: var(--color-fuchsia-700);
304
+ --c-fuchsia-fg-strong: var(--color-fuchsia-900);
305
+ --c-fuchsia-fg: var(--color-fuchsia-800);
306
+ --c-fuchsia-fg-muted: var(--color-fuchsia-700);
307
+ --c-fuchsia-fg-subtle: var(--color-fuchsia-600);
308
+ --c-fuchsia-fg-contrast: var(--color-white);
309
+ --c-fuchsia-focus-ring: var(--color-fuchsia-700);
310
+
311
+ --c-pink-bg: var(--color-pink-50);
312
+ --c-pink-bg-subtle: var(--color-pink-100);
313
+ --c-pink-bg-muted: var(--color-pink-200);
314
+ --c-pink-bg-selected: var(--color-pink-300);
315
+ --c-pink-bg-solid: var(--color-pink-700);
316
+ --c-pink-border-subtle: var(--color-pink-100);
317
+ --c-pink-border-muted: var(--color-pink-200);
318
+ --c-pink-border-selected: var(--color-pink-300);
319
+ --c-pink-border-solid: var(--color-pink-700);
320
+ --c-pink-fg-strong: var(--color-pink-900);
321
+ --c-pink-fg: var(--color-pink-800);
322
+ --c-pink-fg-muted: var(--color-pink-700);
323
+ --c-pink-fg-subtle: var(--color-pink-600);
324
+ --c-pink-fg-contrast: var(--color-white);
325
+ --c-pink-focus-ring: var(--color-pink-700);
326
+
327
+ --c-rose-bg: var(--color-rose-50);
328
+ --c-rose-bg-subtle: var(--color-rose-100);
329
+ --c-rose-bg-muted: var(--color-rose-200);
330
+ --c-rose-bg-selected: var(--color-rose-300);
331
+ --c-rose-bg-solid: var(--color-rose-700);
332
+ --c-rose-border-subtle: var(--color-rose-100);
333
+ --c-rose-border-muted: var(--color-rose-200);
334
+ --c-rose-border-selected: var(--color-rose-300);
335
+ --c-rose-border-solid: var(--color-rose-700);
336
+ --c-rose-fg-strong: var(--color-rose-900);
337
+ --c-rose-fg: var(--color-rose-800);
338
+ --c-rose-fg-muted: var(--color-rose-700);
339
+ --c-rose-fg-subtle: var(--color-rose-600);
340
+ --c-rose-fg-contrast: var(--color-white);
341
+ --c-rose-focus-ring: var(--color-rose-700);
342
+
343
+ --c-slate-bg: var(--color-slate-50);
344
+ --c-slate-bg-subtle: var(--color-slate-100);
345
+ --c-slate-bg-muted: var(--color-slate-200);
346
+ --c-slate-bg-selected: var(--color-slate-300);
347
+ --c-slate-bg-solid: var(--color-slate-600);
348
+ --c-slate-border-subtle: var(--color-slate-100);
349
+ --c-slate-border-muted: var(--color-slate-200);
350
+ --c-slate-border-selected: var(--color-slate-300);
351
+ --c-slate-border-solid: var(--color-slate-600);
352
+ --c-slate-fg-strong: var(--color-slate-900);
353
+ --c-slate-fg: var(--color-slate-800);
354
+ --c-slate-fg-muted: var(--color-slate-700);
355
+ --c-slate-fg-subtle: var(--color-slate-500);
356
+ --c-slate-fg-contrast: var(--color-white);
357
+ --c-slate-focus-ring: var(--color-slate-600);
358
+
359
+ --c-gray-bg: var(--color-gray-50);
360
+ --c-gray-bg-subtle: var(--color-gray-100);
361
+ --c-gray-bg-muted: var(--color-gray-200);
362
+ --c-gray-bg-selected: var(--color-gray-300);
363
+ --c-gray-bg-solid: var(--color-gray-600);
364
+ --c-gray-border-subtle: var(--color-gray-100);
365
+ --c-gray-border-muted: var(--color-gray-200);
366
+ --c-gray-border-selected: var(--color-gray-300);
367
+ --c-gray-border-solid: var(--color-gray-600);
368
+ --c-gray-fg-strong: var(--color-gray-900);
369
+ --c-gray-fg: var(--color-gray-800);
370
+ --c-gray-fg-muted: var(--color-gray-700);
371
+ --c-gray-fg-subtle: var(--color-gray-500);
372
+ --c-gray-fg-contrast: var(--color-white);
373
+ --c-gray-focus-ring: var(--color-gray-600);
374
+
375
+ --c-zinc-bg: var(--color-zinc-50);
376
+ --c-zinc-bg-subtle: var(--color-zinc-100);
377
+ --c-zinc-bg-muted: var(--color-zinc-200);
378
+ --c-zinc-bg-selected: var(--color-zinc-300);
379
+ --c-zinc-bg-solid: var(--color-zinc-600);
380
+ --c-zinc-border-subtle: var(--color-zinc-100);
381
+ --c-zinc-border-muted: var(--color-zinc-200);
382
+ --c-zinc-border-selected: var(--color-zinc-300);
383
+ --c-zinc-border-solid: var(--color-zinc-600);
384
+ --c-zinc-fg-strong: var(--color-zinc-900);
385
+ --c-zinc-fg: var(--color-zinc-800);
386
+ --c-zinc-fg-muted: var(--color-zinc-700);
387
+ --c-zinc-fg-subtle: var(--color-zinc-500);
388
+ --c-zinc-fg-contrast: var(--color-white);
389
+ --c-zinc-focus-ring: var(--color-zinc-600);
390
+
391
+ --c-neutral-bg: var(--color-neutral-50);
392
+ --c-neutral-bg-subtle: var(--color-neutral-100);
393
+ --c-neutral-bg-muted: var(--color-neutral-200);
394
+ --c-neutral-bg-selected: var(--color-neutral-300);
395
+ --c-neutral-bg-solid: var(--color-neutral-600);
396
+ --c-neutral-border-subtle: var(--color-neutral-100);
397
+ --c-neutral-border-muted: var(--color-neutral-200);
398
+ --c-neutral-border-selected: var(--color-neutral-300);
399
+ --c-neutral-border-solid: var(--color-neutral-600);
400
+ --c-neutral-fg-strong: var(--color-neutral-900);
401
+ --c-neutral-fg: var(--color-neutral-800);
402
+ --c-neutral-fg-muted: var(--color-neutral-700);
403
+ --c-neutral-fg-subtle: var(--color-neutral-500);
404
+ --c-neutral-fg-contrast: var(--color-white);
405
+ --c-neutral-focus-ring: var(--color-neutral-600);
406
+
407
+ --c-stone-bg: var(--color-stone-50);
408
+ --c-stone-bg-subtle: var(--color-stone-100);
409
+ --c-stone-bg-muted: var(--color-stone-200);
410
+ --c-stone-bg-selected: var(--color-stone-300);
411
+ --c-stone-bg-solid: var(--color-stone-600);
412
+ --c-stone-border-subtle: var(--color-stone-100);
413
+ --c-stone-border-muted: var(--color-stone-200);
414
+ --c-stone-border-selected: var(--color-stone-300);
415
+ --c-stone-border-solid: var(--color-stone-600);
416
+ --c-stone-fg-strong: var(--color-stone-900);
417
+ --c-stone-fg: var(--color-stone-800);
418
+ --c-stone-fg-muted: var(--color-stone-700);
419
+ --c-stone-fg-subtle: var(--color-stone-500);
420
+ --c-stone-fg-contrast: var(--color-white);
421
+ --c-stone-focus-ring: var(--color-stone-600);
422
+
423
+ /* mauve — light group N */
424
+ --c-mauve-bg: var(--color-mauve-50);
425
+ --c-mauve-bg-subtle: var(--color-mauve-100);
426
+ --c-mauve-bg-muted: var(--color-mauve-200);
427
+ --c-mauve-bg-selected: var(--color-mauve-300);
428
+ --c-mauve-bg-solid: var(--color-mauve-600);
429
+ --c-mauve-border-subtle: var(--color-mauve-100);
430
+ --c-mauve-border-muted: var(--color-mauve-200);
431
+ --c-mauve-border-selected: var(--color-mauve-300);
432
+ --c-mauve-border-solid: var(--color-mauve-600);
433
+ --c-mauve-fg-strong: var(--color-mauve-900);
434
+ --c-mauve-fg: var(--color-mauve-800);
435
+ --c-mauve-fg-muted: var(--color-mauve-700);
436
+ --c-mauve-fg-subtle: var(--color-mauve-500);
437
+ --c-mauve-fg-contrast: var(--color-white);
438
+ --c-mauve-focus-ring: var(--color-mauve-600);
439
+
440
+ /* olive — light group N */
441
+ --c-olive-bg: var(--color-olive-50);
442
+ --c-olive-bg-subtle: var(--color-olive-100);
443
+ --c-olive-bg-muted: var(--color-olive-200);
444
+ --c-olive-bg-selected: var(--color-olive-300);
445
+ --c-olive-bg-solid: var(--color-olive-600);
446
+ --c-olive-border-subtle: var(--color-olive-100);
447
+ --c-olive-border-muted: var(--color-olive-200);
448
+ --c-olive-border-selected: var(--color-olive-300);
449
+ --c-olive-border-solid: var(--color-olive-600);
450
+ --c-olive-fg-strong: var(--color-olive-900);
451
+ --c-olive-fg: var(--color-olive-800);
452
+ --c-olive-fg-muted: var(--color-olive-700);
453
+ --c-olive-fg-subtle: var(--color-olive-500);
454
+ --c-olive-fg-contrast: var(--color-white);
455
+ --c-olive-focus-ring: var(--color-olive-600);
456
+
457
+ /* mist — light group N */
458
+ --c-mist-bg: var(--color-mist-50);
459
+ --c-mist-bg-subtle: var(--color-mist-100);
460
+ --c-mist-bg-muted: var(--color-mist-200);
461
+ --c-mist-bg-selected: var(--color-mist-300);
462
+ --c-mist-bg-solid: var(--color-mist-600);
463
+ --c-mist-border-subtle: var(--color-mist-100);
464
+ --c-mist-border-muted: var(--color-mist-200);
465
+ --c-mist-border-selected: var(--color-mist-300);
466
+ --c-mist-border-solid: var(--color-mist-600);
467
+ --c-mist-fg-strong: var(--color-mist-900);
468
+ --c-mist-fg: var(--color-mist-800);
469
+ --c-mist-fg-muted: var(--color-mist-700);
470
+ --c-mist-fg-subtle: var(--color-mist-500);
471
+ --c-mist-fg-contrast: var(--color-white);
472
+ --c-mist-focus-ring: var(--color-mist-600);
473
+
474
+ /* taupe — light group N */
475
+ --c-taupe-bg: var(--color-taupe-50);
476
+ --c-taupe-bg-subtle: var(--color-taupe-100);
477
+ --c-taupe-bg-muted: var(--color-taupe-200);
478
+ --c-taupe-bg-selected: var(--color-taupe-300);
479
+ --c-taupe-bg-solid: var(--color-taupe-600);
480
+ --c-taupe-border-subtle: var(--color-taupe-100);
481
+ --c-taupe-border-muted: var(--color-taupe-200);
482
+ --c-taupe-border-selected: var(--color-taupe-300);
483
+ --c-taupe-border-solid: var(--color-taupe-600);
484
+ --c-taupe-fg-strong: var(--color-taupe-900);
485
+ --c-taupe-fg: var(--color-taupe-800);
486
+ --c-taupe-fg-muted: var(--color-taupe-700);
487
+ --c-taupe-fg-subtle: var(--color-taupe-500);
488
+ --c-taupe-fg-contrast: var(--color-white);
489
+ --c-taupe-focus-ring: var(--color-taupe-600);
490
+ }
491
+
492
+ [data-mode='dark'] {
493
+ /* red — dark group 1 */
494
+ --c-red-bg: var(--color-red-950);
495
+ --c-red-bg-subtle: var(--color-red-900);
496
+ --c-red-bg-muted: var(--color-red-800);
497
+ --c-red-bg-selected: var(--color-red-700);
498
+ --c-red-bg-solid: var(--color-red-350);
499
+ --c-red-border-subtle: var(--color-red-900);
500
+ --c-red-border-muted: var(--color-red-800);
501
+ --c-red-border-selected: var(--color-red-700);
502
+ --c-red-border-solid: var(--color-red-350);
503
+ --c-red-fg-strong: var(--color-red-100);
504
+ --c-red-fg: var(--color-red-200);
505
+ --c-red-fg-muted: var(--color-red-400);
506
+ --c-red-fg-subtle: var(--color-red-500);
507
+ --c-red-fg-contrast: var(--color-red-950);
508
+ --c-red-focus-ring: var(--color-red-350);
509
+
510
+ /* orange — dark group 1 */
511
+ --c-orange-bg: var(--color-orange-950);
512
+ --c-orange-bg-subtle: var(--color-orange-900);
513
+ --c-orange-bg-muted: var(--color-orange-800);
514
+ --c-orange-bg-selected: var(--color-orange-700);
515
+ --c-orange-bg-solid: var(--color-orange-350);
516
+ --c-orange-border-subtle: var(--color-orange-900);
517
+ --c-orange-border-muted: var(--color-orange-800);
518
+ --c-orange-border-selected: var(--color-orange-700);
519
+ --c-orange-border-solid: var(--color-orange-350);
520
+ --c-orange-fg-strong: var(--color-orange-100);
521
+ --c-orange-fg: var(--color-orange-200);
522
+ --c-orange-fg-muted: var(--color-orange-400);
523
+ --c-orange-fg-subtle: var(--color-orange-500);
524
+ --c-orange-fg-contrast: var(--color-orange-950);
525
+ --c-orange-focus-ring: var(--color-orange-350);
526
+
527
+ /* amber — dark group 3 */
528
+ --c-amber-bg: var(--color-amber-950);
529
+ --c-amber-bg-subtle: var(--color-amber-900);
530
+ --c-amber-bg-muted: var(--color-amber-800);
531
+ --c-amber-bg-selected: var(--color-amber-700);
532
+ --c-amber-bg-solid: var(--color-amber-350);
533
+ --c-amber-border-subtle: var(--color-amber-900);
534
+ --c-amber-border-muted: var(--color-amber-800);
535
+ --c-amber-border-selected: var(--color-amber-700);
536
+ --c-amber-border-solid: var(--color-amber-350);
537
+ --c-amber-fg-strong: var(--color-amber-100);
538
+ --c-amber-fg: var(--color-amber-300);
539
+ --c-amber-fg-muted: var(--color-amber-500);
540
+ --c-amber-fg-subtle: var(--color-amber-600);
541
+ --c-amber-fg-contrast: var(--color-amber-950);
542
+ --c-amber-focus-ring: var(--color-amber-350);
543
+
544
+ /* yellow — dark group 3 */
545
+ --c-yellow-bg: var(--color-yellow-950);
546
+ --c-yellow-bg-subtle: var(--color-yellow-900);
547
+ --c-yellow-bg-muted: var(--color-yellow-800);
548
+ --c-yellow-bg-selected: var(--color-yellow-700);
549
+ --c-yellow-bg-solid: var(--color-yellow-350);
550
+ --c-yellow-border-subtle: var(--color-yellow-900);
551
+ --c-yellow-border-muted: var(--color-yellow-800);
552
+ --c-yellow-border-selected: var(--color-yellow-700);
553
+ --c-yellow-border-solid: var(--color-yellow-350);
554
+ --c-yellow-fg-strong: var(--color-yellow-100);
555
+ --c-yellow-fg: var(--color-yellow-300);
556
+ --c-yellow-fg-muted: var(--color-yellow-500);
557
+ --c-yellow-fg-subtle: var(--color-yellow-600);
558
+ --c-yellow-fg-contrast: var(--color-yellow-950);
559
+ --c-yellow-focus-ring: var(--color-yellow-350);
560
+
561
+ /* lime — dark group 3 */
562
+ --c-lime-bg: var(--color-lime-950);
563
+ --c-lime-bg-subtle: var(--color-lime-900);
564
+ --c-lime-bg-muted: var(--color-lime-800);
565
+ --c-lime-bg-selected: var(--color-lime-700);
566
+ --c-lime-bg-solid: var(--color-lime-350);
567
+ --c-lime-border-subtle: var(--color-lime-900);
568
+ --c-lime-border-muted: var(--color-lime-800);
569
+ --c-lime-border-selected: var(--color-lime-700);
570
+ --c-lime-border-solid: var(--color-lime-350);
571
+ --c-lime-fg-strong: var(--color-lime-100);
572
+ --c-lime-fg: var(--color-lime-300);
573
+ --c-lime-fg-muted: var(--color-lime-500);
574
+ --c-lime-fg-subtle: var(--color-lime-600);
575
+ --c-lime-fg-contrast: var(--color-lime-950);
576
+ --c-lime-focus-ring: var(--color-lime-350);
577
+
578
+ /* green — dark group 5 */
579
+ --c-green-bg: var(--color-green-950);
580
+ --c-green-bg-subtle: var(--color-green-900);
581
+ --c-green-bg-muted: var(--color-green-800);
582
+ --c-green-bg-selected: var(--color-green-700);
583
+ --c-green-bg-solid: var(--color-green-350);
584
+ --c-green-border-subtle: var(--color-green-900);
585
+ --c-green-border-muted: var(--color-green-800);
586
+ --c-green-border-selected: var(--color-green-700);
587
+ --c-green-border-solid: var(--color-green-350);
588
+ --c-green-fg-strong: var(--color-green-50);
589
+ --c-green-fg: var(--color-green-300);
590
+ --c-green-fg-muted: var(--color-green-500);
591
+ --c-green-fg-subtle: var(--color-green-600);
592
+ --c-green-fg-contrast: var(--color-green-950);
593
+ --c-green-focus-ring: var(--color-green-350);
594
+
595
+ /* emerald — dark group 3 */
596
+ --c-emerald-bg: var(--color-emerald-950);
597
+ --c-emerald-bg-subtle: var(--color-emerald-900);
598
+ --c-emerald-bg-muted: var(--color-emerald-800);
599
+ --c-emerald-bg-selected: var(--color-emerald-700);
600
+ --c-emerald-bg-solid: var(--color-emerald-350);
601
+ --c-emerald-border-subtle: var(--color-emerald-900);
602
+ --c-emerald-border-muted: var(--color-emerald-800);
603
+ --c-emerald-border-selected: var(--color-emerald-700);
604
+ --c-emerald-border-solid: var(--color-emerald-350);
605
+ --c-emerald-fg-strong: var(--color-emerald-100);
606
+ --c-emerald-fg: var(--color-emerald-300);
607
+ --c-emerald-fg-muted: var(--color-emerald-500);
608
+ --c-emerald-fg-subtle: var(--color-emerald-600);
609
+ --c-emerald-fg-contrast: var(--color-emerald-950);
610
+ --c-emerald-focus-ring: var(--color-emerald-350);
611
+
612
+ /* teal — dark group 3 */
613
+ --c-teal-bg: var(--color-teal-950);
614
+ --c-teal-bg-subtle: var(--color-teal-900);
615
+ --c-teal-bg-muted: var(--color-teal-800);
616
+ --c-teal-bg-selected: var(--color-teal-700);
617
+ --c-teal-bg-solid: var(--color-teal-350);
618
+ --c-teal-border-subtle: var(--color-teal-900);
619
+ --c-teal-border-muted: var(--color-teal-800);
620
+ --c-teal-border-selected: var(--color-teal-700);
621
+ --c-teal-border-solid: var(--color-teal-350);
622
+ --c-teal-fg-strong: var(--color-teal-100);
623
+ --c-teal-fg: var(--color-teal-300);
624
+ --c-teal-fg-muted: var(--color-teal-500);
625
+ --c-teal-fg-subtle: var(--color-teal-600);
626
+ --c-teal-fg-contrast: var(--color-teal-950);
627
+ --c-teal-focus-ring: var(--color-teal-350);
628
+
629
+ /* cyan — dark group 3 */
630
+ --c-cyan-bg: var(--color-cyan-950);
631
+ --c-cyan-bg-subtle: var(--color-cyan-900);
632
+ --c-cyan-bg-muted: var(--color-cyan-800);
633
+ --c-cyan-bg-selected: var(--color-cyan-700);
634
+ --c-cyan-bg-solid: var(--color-cyan-350);
635
+ --c-cyan-border-subtle: var(--color-cyan-900);
636
+ --c-cyan-border-muted: var(--color-cyan-800);
637
+ --c-cyan-border-selected: var(--color-cyan-700);
638
+ --c-cyan-border-solid: var(--color-cyan-350);
639
+ --c-cyan-fg-strong: var(--color-cyan-100);
640
+ --c-cyan-fg: var(--color-cyan-300);
641
+ --c-cyan-fg-muted: var(--color-cyan-500);
642
+ --c-cyan-fg-subtle: var(--color-cyan-600);
643
+ --c-cyan-fg-contrast: var(--color-cyan-950);
644
+ --c-cyan-focus-ring: var(--color-cyan-350);
645
+
646
+ /* sky — dark group 3 */
647
+ --c-sky-bg: var(--color-sky-950);
648
+ --c-sky-bg-subtle: var(--color-sky-900);
649
+ --c-sky-bg-muted: var(--color-sky-800);
650
+ --c-sky-bg-selected: var(--color-sky-700);
651
+ --c-sky-bg-solid: var(--color-sky-350);
652
+ --c-sky-border-subtle: var(--color-sky-900);
653
+ --c-sky-border-muted: var(--color-sky-800);
654
+ --c-sky-border-selected: var(--color-sky-700);
655
+ --c-sky-border-solid: var(--color-sky-350);
656
+ --c-sky-fg-strong: var(--color-sky-100);
657
+ --c-sky-fg: var(--color-sky-300);
658
+ --c-sky-fg-muted: var(--color-sky-500);
659
+ --c-sky-fg-subtle: var(--color-sky-600);
660
+ --c-sky-fg-contrast: var(--color-sky-950);
661
+ --c-sky-focus-ring: var(--color-sky-350);
662
+
663
+ /* blue — dark group 2 */
664
+ --c-blue-bg: var(--color-blue-950);
665
+ --c-blue-bg-subtle: var(--color-blue-900);
666
+ --c-blue-bg-muted: var(--color-blue-800);
667
+ --c-blue-bg-selected: var(--color-blue-700);
668
+ --c-blue-bg-solid: var(--color-blue-350);
669
+ --c-blue-border-subtle: var(--color-blue-900);
670
+ --c-blue-border-muted: var(--color-blue-800);
671
+ --c-blue-border-selected: var(--color-blue-700);
672
+ --c-blue-border-solid: var(--color-blue-350);
673
+ --c-blue-fg-strong: var(--color-blue-200);
674
+ --c-blue-fg: var(--color-blue-300);
675
+ --c-blue-fg-muted: var(--color-blue-400);
676
+ --c-blue-fg-subtle: var(--color-blue-500);
677
+ --c-blue-fg-contrast: var(--color-blue-950);
678
+ --c-blue-focus-ring: var(--color-blue-350);
679
+
680
+ /* indigo — dark group 4 */
681
+ --c-indigo-bg: var(--color-indigo-950);
682
+ --c-indigo-bg-subtle: var(--color-indigo-900);
683
+ --c-indigo-bg-muted: var(--color-indigo-800);
684
+ --c-indigo-bg-selected: var(--color-indigo-700);
685
+ --c-indigo-bg-solid: var(--color-indigo-350);
686
+ --c-indigo-border-subtle: var(--color-indigo-900);
687
+ --c-indigo-border-muted: var(--color-indigo-800);
688
+ --c-indigo-border-selected: var(--color-indigo-700);
689
+ --c-indigo-border-solid: var(--color-indigo-350);
690
+ --c-indigo-fg-strong: var(--color-indigo-200);
691
+ --c-indigo-fg: var(--color-indigo-300);
692
+ --c-indigo-fg-muted: var(--color-indigo-350);
693
+ --c-indigo-fg-subtle: var(--color-indigo-500);
694
+ --c-indigo-fg-contrast: var(--color-indigo-950);
695
+ --c-indigo-focus-ring: var(--color-indigo-350);
696
+
697
+ /* violet — dark group 2 */
698
+ --c-violet-bg: var(--color-violet-950);
699
+ --c-violet-bg-subtle: var(--color-violet-900);
700
+ --c-violet-bg-muted: var(--color-violet-800);
701
+ --c-violet-bg-selected: var(--color-violet-700);
702
+ --c-violet-bg-solid: var(--color-violet-350);
703
+ --c-violet-border-subtle: var(--color-violet-900);
704
+ --c-violet-border-muted: var(--color-violet-800);
705
+ --c-violet-border-selected: var(--color-violet-700);
706
+ --c-violet-border-solid: var(--color-violet-350);
707
+ --c-violet-fg-strong: var(--color-violet-200);
708
+ --c-violet-fg: var(--color-violet-300);
709
+ --c-violet-fg-muted: var(--color-violet-400);
710
+ --c-violet-fg-subtle: var(--color-violet-500);
711
+ --c-violet-fg-contrast: var(--color-violet-950);
712
+ --c-violet-focus-ring: var(--color-violet-350);
713
+
714
+ /* purple — dark group 2 */
715
+ --c-purple-bg: var(--color-purple-950);
716
+ --c-purple-bg-subtle: var(--color-purple-900);
717
+ --c-purple-bg-muted: var(--color-purple-800);
718
+ --c-purple-bg-selected: var(--color-purple-700);
719
+ --c-purple-bg-solid: var(--color-purple-350);
720
+ --c-purple-border-subtle: var(--color-purple-900);
721
+ --c-purple-border-muted: var(--color-purple-800);
722
+ --c-purple-border-selected: var(--color-purple-700);
723
+ --c-purple-border-solid: var(--color-purple-350);
724
+ --c-purple-fg-strong: var(--color-purple-200);
725
+ --c-purple-fg: var(--color-purple-300);
726
+ --c-purple-fg-muted: var(--color-purple-400);
727
+ --c-purple-fg-subtle: var(--color-purple-500);
728
+ --c-purple-fg-contrast: var(--color-purple-950);
729
+ --c-purple-focus-ring: var(--color-purple-350);
730
+
731
+ /* fuchsia — dark group 2 */
732
+ --c-fuchsia-bg: var(--color-fuchsia-950);
733
+ --c-fuchsia-bg-subtle: var(--color-fuchsia-900);
734
+ --c-fuchsia-bg-muted: var(--color-fuchsia-800);
735
+ --c-fuchsia-bg-selected: var(--color-fuchsia-700);
736
+ --c-fuchsia-bg-solid: var(--color-fuchsia-350);
737
+ --c-fuchsia-border-subtle: var(--color-fuchsia-900);
738
+ --c-fuchsia-border-muted: var(--color-fuchsia-800);
739
+ --c-fuchsia-border-selected: var(--color-fuchsia-700);
740
+ --c-fuchsia-border-solid: var(--color-fuchsia-350);
741
+ --c-fuchsia-fg-strong: var(--color-fuchsia-200);
742
+ --c-fuchsia-fg: var(--color-fuchsia-300);
743
+ --c-fuchsia-fg-muted: var(--color-fuchsia-400);
744
+ --c-fuchsia-fg-subtle: var(--color-fuchsia-500);
745
+ --c-fuchsia-fg-contrast: var(--color-fuchsia-950);
746
+ --c-fuchsia-focus-ring: var(--color-fuchsia-350);
747
+
748
+ /* pink — dark group 1 */
749
+ --c-pink-bg: var(--color-pink-950);
750
+ --c-pink-bg-subtle: var(--color-pink-900);
751
+ --c-pink-bg-muted: var(--color-pink-800);
752
+ --c-pink-bg-selected: var(--color-pink-700);
753
+ --c-pink-bg-solid: var(--color-pink-350);
754
+ --c-pink-border-subtle: var(--color-pink-900);
755
+ --c-pink-border-muted: var(--color-pink-800);
756
+ --c-pink-border-selected: var(--color-pink-700);
757
+ --c-pink-border-solid: var(--color-pink-350);
758
+ --c-pink-fg-strong: var(--color-pink-100);
759
+ --c-pink-fg: var(--color-pink-200);
760
+ --c-pink-fg-muted: var(--color-pink-400);
761
+ --c-pink-fg-subtle: var(--color-pink-500);
762
+ --c-pink-fg-contrast: var(--color-pink-950);
763
+ --c-pink-focus-ring: var(--color-pink-350);
764
+
765
+ /* rose — dark group 1 */
766
+ --c-rose-bg: var(--color-rose-950);
767
+ --c-rose-bg-subtle: var(--color-rose-900);
768
+ --c-rose-bg-muted: var(--color-rose-800);
769
+ --c-rose-bg-selected: var(--color-rose-700);
770
+ --c-rose-bg-solid: var(--color-rose-350);
771
+ --c-rose-border-subtle: var(--color-rose-900);
772
+ --c-rose-border-muted: var(--color-rose-800);
773
+ --c-rose-border-selected: var(--color-rose-700);
774
+ --c-rose-border-solid: var(--color-rose-350);
775
+ --c-rose-fg-strong: var(--color-rose-100);
776
+ --c-rose-fg: var(--color-rose-200);
777
+ --c-rose-fg-muted: var(--color-rose-400);
778
+ --c-rose-fg-subtle: var(--color-rose-500);
779
+ --c-rose-fg-contrast: var(--color-rose-950);
780
+ --c-rose-focus-ring: var(--color-rose-350);
781
+
782
+ /* slate — dark group N */
783
+ --c-slate-bg: var(--color-slate-950);
784
+ --c-slate-bg-subtle: var(--color-slate-900);
785
+ --c-slate-bg-muted: var(--color-slate-800);
786
+ --c-slate-bg-selected: var(--color-slate-700);
787
+ --c-slate-bg-solid: var(--color-slate-350);
788
+ --c-slate-border-subtle: var(--color-slate-900);
789
+ --c-slate-border-muted: var(--color-slate-800);
790
+ --c-slate-border-selected: var(--color-slate-700);
791
+ --c-slate-border-solid: var(--color-slate-350);
792
+ --c-slate-fg-strong: var(--color-slate-100);
793
+ --c-slate-fg: var(--color-slate-200);
794
+ --c-slate-fg-muted: var(--color-slate-400);
795
+ --c-slate-fg-subtle: var(--color-slate-500);
796
+ --c-slate-fg-contrast: var(--color-slate-950);
797
+ --c-slate-focus-ring: var(--color-slate-350);
798
+
799
+ /* gray — dark group N */
800
+ --c-gray-bg: var(--color-gray-950);
801
+ --c-gray-bg-subtle: var(--color-gray-900);
802
+ --c-gray-bg-muted: var(--color-gray-800);
803
+ --c-gray-bg-selected: var(--color-gray-700);
804
+ --c-gray-bg-solid: var(--color-gray-350);
805
+ --c-gray-border-subtle: var(--color-gray-900);
806
+ --c-gray-border-muted: var(--color-gray-800);
807
+ --c-gray-border-selected: var(--color-gray-700);
808
+ --c-gray-border-solid: var(--color-gray-350);
809
+ --c-gray-fg-strong: var(--color-gray-100);
810
+ --c-gray-fg: var(--color-gray-200);
811
+ --c-gray-fg-muted: var(--color-gray-400);
812
+ --c-gray-fg-subtle: var(--color-gray-500);
813
+ --c-gray-fg-contrast: var(--color-gray-950);
814
+ --c-gray-focus-ring: var(--color-gray-350);
815
+
816
+ /* zinc — dark group N */
817
+ --c-zinc-bg: var(--color-zinc-950);
818
+ --c-zinc-bg-subtle: var(--color-zinc-900);
819
+ --c-zinc-bg-muted: var(--color-zinc-800);
820
+ --c-zinc-bg-selected: var(--color-zinc-700);
821
+ --c-zinc-bg-solid: var(--color-zinc-350);
822
+ --c-zinc-border-subtle: var(--color-zinc-900);
823
+ --c-zinc-border-muted: var(--color-zinc-800);
824
+ --c-zinc-border-selected: var(--color-zinc-700);
825
+ --c-zinc-border-solid: var(--color-zinc-350);
826
+ --c-zinc-fg-strong: var(--color-zinc-100);
827
+ --c-zinc-fg: var(--color-zinc-200);
828
+ --c-zinc-fg-muted: var(--color-zinc-400);
829
+ --c-zinc-fg-subtle: var(--color-zinc-500);
830
+ --c-zinc-fg-contrast: var(--color-zinc-950);
831
+ --c-zinc-focus-ring: var(--color-zinc-350);
832
+
833
+ /* neutral — dark group N */
834
+ --c-neutral-bg: var(--color-neutral-950);
835
+ --c-neutral-bg-subtle: var(--color-neutral-900);
836
+ --c-neutral-bg-muted: var(--color-neutral-800);
837
+ --c-neutral-bg-selected: var(--color-neutral-700);
838
+ --c-neutral-bg-solid: var(--color-neutral-350);
839
+ --c-neutral-border-subtle: var(--color-neutral-900);
840
+ --c-neutral-border-muted: var(--color-neutral-800);
841
+ --c-neutral-border-selected: var(--color-neutral-700);
842
+ --c-neutral-border-solid: var(--color-neutral-350);
843
+ --c-neutral-fg-strong: var(--color-neutral-100);
844
+ --c-neutral-fg: var(--color-neutral-200);
845
+ --c-neutral-fg-muted: var(--color-neutral-400);
846
+ --c-neutral-fg-subtle: var(--color-neutral-500);
847
+ --c-neutral-fg-contrast: var(--color-neutral-950);
848
+ --c-neutral-focus-ring: var(--color-neutral-350);
849
+
850
+ /* stone — dark group N */
851
+ --c-stone-bg: var(--color-stone-950);
852
+ --c-stone-bg-subtle: var(--color-stone-900);
853
+ --c-stone-bg-muted: var(--color-stone-800);
854
+ --c-stone-bg-selected: var(--color-stone-700);
855
+ --c-stone-bg-solid: var(--color-stone-350);
856
+ --c-stone-border-subtle: var(--color-stone-900);
857
+ --c-stone-border-muted: var(--color-stone-800);
858
+ --c-stone-border-selected: var(--color-stone-700);
859
+ --c-stone-border-solid: var(--color-stone-350);
860
+ --c-stone-fg-strong: var(--color-stone-100);
861
+ --c-stone-fg: var(--color-stone-200);
862
+ --c-stone-fg-muted: var(--color-stone-400);
863
+ --c-stone-fg-subtle: var(--color-stone-500);
864
+ --c-stone-fg-contrast: var(--color-stone-950);
865
+ --c-stone-focus-ring: var(--color-stone-350);
866
+
867
+ /* mauve — dark group N */
868
+ --c-mauve-bg: var(--color-mauve-950);
869
+ --c-mauve-bg-subtle: var(--color-mauve-900);
870
+ --c-mauve-bg-muted: var(--color-mauve-800);
871
+ --c-mauve-bg-selected: var(--color-mauve-700);
872
+ --c-mauve-bg-solid: var(--color-mauve-350);
873
+ --c-mauve-border-subtle: var(--color-mauve-900);
874
+ --c-mauve-border-muted: var(--color-mauve-800);
875
+ --c-mauve-border-selected: var(--color-mauve-700);
876
+ --c-mauve-border-solid: var(--color-mauve-350);
877
+ --c-mauve-fg-strong: var(--color-mauve-100);
878
+ --c-mauve-fg: var(--color-mauve-200);
879
+ --c-mauve-fg-muted: var(--color-mauve-400);
880
+ --c-mauve-fg-subtle: var(--color-mauve-500);
881
+ --c-mauve-fg-contrast: var(--color-mauve-950);
882
+ --c-mauve-focus-ring: var(--color-mauve-350);
883
+
884
+ /* olive — dark group N */
885
+ --c-olive-bg: var(--color-olive-950);
886
+ --c-olive-bg-subtle: var(--color-olive-900);
887
+ --c-olive-bg-muted: var(--color-olive-800);
888
+ --c-olive-bg-selected: var(--color-olive-700);
889
+ --c-olive-bg-solid: var(--color-olive-350);
890
+ --c-olive-border-subtle: var(--color-olive-900);
891
+ --c-olive-border-muted: var(--color-olive-800);
892
+ --c-olive-border-selected: var(--color-olive-700);
893
+ --c-olive-border-solid: var(--color-olive-350);
894
+ --c-olive-fg-strong: var(--color-olive-100);
895
+ --c-olive-fg: var(--color-olive-200);
896
+ --c-olive-fg-muted: var(--color-olive-400);
897
+ --c-olive-fg-subtle: var(--color-olive-500);
898
+ --c-olive-fg-contrast: var(--color-olive-950);
899
+ --c-olive-focus-ring: var(--color-olive-350);
900
+
901
+ /* mist — dark group N */
902
+ --c-mist-bg: var(--color-mist-950);
903
+ --c-mist-bg-subtle: var(--color-mist-900);
904
+ --c-mist-bg-muted: var(--color-mist-800);
905
+ --c-mist-bg-selected: var(--color-mist-700);
906
+ --c-mist-bg-solid: var(--color-mist-350);
907
+ --c-mist-border-subtle: var(--color-mist-900);
908
+ --c-mist-border-muted: var(--color-mist-800);
909
+ --c-mist-border-selected: var(--color-mist-700);
910
+ --c-mist-border-solid: var(--color-mist-350);
911
+ --c-mist-fg-strong: var(--color-mist-100);
912
+ --c-mist-fg: var(--color-mist-200);
913
+ --c-mist-fg-muted: var(--color-mist-400);
914
+ --c-mist-fg-subtle: var(--color-mist-500);
915
+ --c-mist-fg-contrast: var(--color-mist-950);
916
+ --c-mist-focus-ring: var(--color-mist-350);
917
+
918
+ /* taupe — dark group N */
919
+ --c-taupe-bg: var(--color-taupe-950);
920
+ --c-taupe-bg-subtle: var(--color-taupe-900);
921
+ --c-taupe-bg-muted: var(--color-taupe-800);
922
+ --c-taupe-bg-selected: var(--color-taupe-700);
923
+ --c-taupe-bg-solid: var(--color-taupe-350);
924
+ --c-taupe-border-subtle: var(--color-taupe-900);
925
+ --c-taupe-border-muted: var(--color-taupe-800);
926
+ --c-taupe-border-selected: var(--color-taupe-700);
927
+ --c-taupe-border-solid: var(--color-taupe-350);
928
+ --c-taupe-fg-strong: var(--color-taupe-100);
929
+ --c-taupe-fg: var(--color-taupe-200);
930
+ --c-taupe-fg-muted: var(--color-taupe-400);
931
+ --c-taupe-fg-subtle: var(--color-taupe-500);
932
+ --c-taupe-fg-contrast: var(--color-taupe-950);
933
+ --c-taupe-focus-ring: var(--color-taupe-350);
934
+ }