@kazamitte/design-token 0.0.0-stage → 0.4.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,990 @@
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
+ * `border` sits between `border-selected` and `border-solid`: step 400 in
61
+ * light and 600 in dark, for every hue. It is the decorative frame for
62
+ * containers, about 2.5:1 against bg, and is not held to 3:1.
63
+ *
64
+ * Light: 700 for chromatic hues, 600 for neutrals, with a white label.
65
+ * Dark: 350 for every hue, with the hue's own 950 as the label. No
66
+ * step dark enough for a white label also stands out 3:1 from a
67
+ * dark surface, so in dark the fill is light and the label dark.
68
+ *
69
+ * These are per-hue primitives. Brand roles (primary, secondary, base,
70
+ * link) and status roles (error, warning, success, info) alias into
71
+ * them rather than referencing the palette directly.
72
+ */
73
+
74
+ :root {
75
+ --c-red-bg: var(--color-red-50);
76
+ --c-red-bg-subtle: var(--color-red-100);
77
+ --c-red-bg-muted: var(--color-red-200);
78
+ --c-red-bg-selected: var(--color-red-300);
79
+ --c-red-bg-solid: var(--color-red-700);
80
+ --c-red-border-subtle: var(--color-red-100);
81
+ --c-red-border-muted: var(--color-red-200);
82
+ --c-red-border-selected: var(--color-red-300);
83
+ --c-red-border: var(--color-red-400);
84
+ --c-red-border-solid: var(--color-red-700);
85
+ --c-red-fg-strong: var(--color-red-900);
86
+ --c-red-fg: var(--color-red-800);
87
+ --c-red-fg-muted: var(--color-red-700);
88
+ --c-red-fg-subtle: var(--color-red-600);
89
+ --c-red-fg-contrast: var(--color-white);
90
+ --c-red-focus-ring: var(--color-red-700);
91
+
92
+ --c-orange-bg: var(--color-orange-50);
93
+ --c-orange-bg-subtle: var(--color-orange-100);
94
+ --c-orange-bg-muted: var(--color-orange-200);
95
+ --c-orange-bg-selected: var(--color-orange-300);
96
+ --c-orange-bg-solid: var(--color-orange-700);
97
+ --c-orange-border-subtle: var(--color-orange-100);
98
+ --c-orange-border-muted: var(--color-orange-200);
99
+ --c-orange-border-selected: var(--color-orange-300);
100
+ --c-orange-border: var(--color-orange-400);
101
+ --c-orange-border-solid: var(--color-orange-700);
102
+ --c-orange-fg-strong: var(--color-orange-900);
103
+ --c-orange-fg: var(--color-orange-800);
104
+ --c-orange-fg-muted: var(--color-orange-700);
105
+ --c-orange-fg-subtle: var(--color-orange-600);
106
+ --c-orange-fg-contrast: var(--color-white);
107
+ --c-orange-focus-ring: var(--color-orange-700);
108
+
109
+ --c-amber-bg: var(--color-amber-50);
110
+ --c-amber-bg-subtle: var(--color-amber-100);
111
+ --c-amber-bg-muted: var(--color-amber-200);
112
+ --c-amber-bg-selected: var(--color-amber-300);
113
+ --c-amber-bg-solid: var(--color-amber-700);
114
+ --c-amber-border-subtle: var(--color-amber-100);
115
+ --c-amber-border-muted: var(--color-amber-200);
116
+ --c-amber-border-selected: var(--color-amber-300);
117
+ --c-amber-border: var(--color-amber-400);
118
+ --c-amber-border-solid: var(--color-amber-700);
119
+ --c-amber-fg-strong: var(--color-amber-900);
120
+ --c-amber-fg: var(--color-amber-800);
121
+ --c-amber-fg-muted: var(--color-amber-700);
122
+ --c-amber-fg-subtle: var(--color-amber-600);
123
+ --c-amber-fg-contrast: var(--color-white);
124
+ --c-amber-focus-ring: var(--color-amber-700);
125
+
126
+ --c-yellow-bg: var(--color-yellow-50);
127
+ --c-yellow-bg-subtle: var(--color-yellow-100);
128
+ --c-yellow-bg-muted: var(--color-yellow-200);
129
+ --c-yellow-bg-selected: var(--color-yellow-300);
130
+ --c-yellow-bg-solid: var(--color-yellow-700);
131
+ --c-yellow-border-subtle: var(--color-yellow-100);
132
+ --c-yellow-border-muted: var(--color-yellow-200);
133
+ --c-yellow-border-selected: var(--color-yellow-300);
134
+ --c-yellow-border: var(--color-yellow-400);
135
+ --c-yellow-border-solid: var(--color-yellow-700);
136
+ --c-yellow-fg-strong: var(--color-yellow-900);
137
+ --c-yellow-fg: var(--color-yellow-800);
138
+ --c-yellow-fg-muted: var(--color-yellow-750);
139
+ --c-yellow-fg-subtle: var(--color-yellow-600);
140
+ --c-yellow-fg-contrast: var(--color-white);
141
+ --c-yellow-focus-ring: var(--color-yellow-700);
142
+
143
+ --c-lime-bg: var(--color-lime-50);
144
+ --c-lime-bg-subtle: var(--color-lime-100);
145
+ --c-lime-bg-muted: var(--color-lime-200);
146
+ --c-lime-bg-selected: var(--color-lime-300);
147
+ --c-lime-bg-solid: var(--color-lime-700);
148
+ --c-lime-border-subtle: var(--color-lime-100);
149
+ --c-lime-border-muted: var(--color-lime-200);
150
+ --c-lime-border-selected: var(--color-lime-300);
151
+ --c-lime-border: var(--color-lime-400);
152
+ --c-lime-border-solid: var(--color-lime-700);
153
+ --c-lime-fg-strong: var(--color-lime-900);
154
+ --c-lime-fg: var(--color-lime-800);
155
+ --c-lime-fg-muted: var(--color-lime-750);
156
+ --c-lime-fg-subtle: var(--color-lime-600);
157
+ --c-lime-fg-contrast: var(--color-white);
158
+ --c-lime-focus-ring: var(--color-lime-700);
159
+
160
+ --c-green-bg: var(--color-green-50);
161
+ --c-green-bg-subtle: var(--color-green-100);
162
+ --c-green-bg-muted: var(--color-green-200);
163
+ --c-green-bg-selected: var(--color-green-300);
164
+ --c-green-bg-solid: var(--color-green-700);
165
+ --c-green-border-subtle: var(--color-green-100);
166
+ --c-green-border-muted: var(--color-green-200);
167
+ --c-green-border-selected: var(--color-green-300);
168
+ --c-green-border: var(--color-green-400);
169
+ --c-green-border-solid: var(--color-green-700);
170
+ --c-green-fg-strong: var(--color-green-900);
171
+ --c-green-fg: var(--color-green-800);
172
+ --c-green-fg-muted: var(--color-green-750);
173
+ --c-green-fg-subtle: var(--color-green-600);
174
+ --c-green-fg-contrast: var(--color-white);
175
+ --c-green-focus-ring: var(--color-green-700);
176
+
177
+ --c-emerald-bg: var(--color-emerald-50);
178
+ --c-emerald-bg-subtle: var(--color-emerald-100);
179
+ --c-emerald-bg-muted: var(--color-emerald-200);
180
+ --c-emerald-bg-selected: var(--color-emerald-300);
181
+ --c-emerald-bg-solid: var(--color-emerald-700);
182
+ --c-emerald-border-subtle: var(--color-emerald-100);
183
+ --c-emerald-border-muted: var(--color-emerald-200);
184
+ --c-emerald-border-selected: var(--color-emerald-300);
185
+ --c-emerald-border: var(--color-emerald-400);
186
+ --c-emerald-border-solid: var(--color-emerald-700);
187
+ --c-emerald-fg-strong: var(--color-emerald-900);
188
+ --c-emerald-fg: var(--color-emerald-800);
189
+ --c-emerald-fg-muted: var(--color-emerald-700);
190
+ --c-emerald-fg-subtle: var(--color-emerald-600);
191
+ --c-emerald-fg-contrast: var(--color-white);
192
+ --c-emerald-focus-ring: var(--color-emerald-700);
193
+
194
+ --c-teal-bg: var(--color-teal-50);
195
+ --c-teal-bg-subtle: var(--color-teal-100);
196
+ --c-teal-bg-muted: var(--color-teal-200);
197
+ --c-teal-bg-selected: var(--color-teal-300);
198
+ --c-teal-bg-solid: var(--color-teal-700);
199
+ --c-teal-border-subtle: var(--color-teal-100);
200
+ --c-teal-border-muted: var(--color-teal-200);
201
+ --c-teal-border-selected: var(--color-teal-300);
202
+ --c-teal-border: var(--color-teal-400);
203
+ --c-teal-border-solid: var(--color-teal-700);
204
+ --c-teal-fg-strong: var(--color-teal-900);
205
+ --c-teal-fg: var(--color-teal-800);
206
+ --c-teal-fg-muted: var(--color-teal-700);
207
+ --c-teal-fg-subtle: var(--color-teal-600);
208
+ --c-teal-fg-contrast: var(--color-white);
209
+ --c-teal-focus-ring: var(--color-teal-700);
210
+
211
+ --c-cyan-bg: var(--color-cyan-50);
212
+ --c-cyan-bg-subtle: var(--color-cyan-100);
213
+ --c-cyan-bg-muted: var(--color-cyan-200);
214
+ --c-cyan-bg-selected: var(--color-cyan-300);
215
+ --c-cyan-bg-solid: var(--color-cyan-700);
216
+ --c-cyan-border-subtle: var(--color-cyan-100);
217
+ --c-cyan-border-muted: var(--color-cyan-200);
218
+ --c-cyan-border-selected: var(--color-cyan-300);
219
+ --c-cyan-border: var(--color-cyan-400);
220
+ --c-cyan-border-solid: var(--color-cyan-700);
221
+ --c-cyan-fg-strong: var(--color-cyan-900);
222
+ --c-cyan-fg: var(--color-cyan-800);
223
+ --c-cyan-fg-muted: var(--color-cyan-700);
224
+ --c-cyan-fg-subtle: var(--color-cyan-600);
225
+ --c-cyan-fg-contrast: var(--color-white);
226
+ --c-cyan-focus-ring: var(--color-cyan-700);
227
+
228
+ --c-sky-bg: var(--color-sky-50);
229
+ --c-sky-bg-subtle: var(--color-sky-100);
230
+ --c-sky-bg-muted: var(--color-sky-200);
231
+ --c-sky-bg-selected: var(--color-sky-300);
232
+ --c-sky-bg-solid: var(--color-sky-700);
233
+ --c-sky-border-subtle: var(--color-sky-100);
234
+ --c-sky-border-muted: var(--color-sky-200);
235
+ --c-sky-border-selected: var(--color-sky-300);
236
+ --c-sky-border: var(--color-sky-400);
237
+ --c-sky-border-solid: var(--color-sky-700);
238
+ --c-sky-fg-strong: var(--color-sky-900);
239
+ --c-sky-fg: var(--color-sky-800);
240
+ --c-sky-fg-muted: var(--color-sky-700);
241
+ --c-sky-fg-subtle: var(--color-sky-600);
242
+ --c-sky-fg-contrast: var(--color-white);
243
+ --c-sky-focus-ring: var(--color-sky-700);
244
+
245
+ --c-blue-bg: var(--color-blue-50);
246
+ --c-blue-bg-subtle: var(--color-blue-100);
247
+ --c-blue-bg-muted: var(--color-blue-200);
248
+ --c-blue-bg-selected: var(--color-blue-300);
249
+ --c-blue-bg-solid: var(--color-blue-700);
250
+ --c-blue-border-subtle: var(--color-blue-100);
251
+ --c-blue-border-muted: var(--color-blue-200);
252
+ --c-blue-border-selected: var(--color-blue-300);
253
+ --c-blue-border: var(--color-blue-400);
254
+ --c-blue-border-solid: var(--color-blue-700);
255
+ --c-blue-fg-strong: var(--color-blue-800);
256
+ --c-blue-fg: var(--color-blue-700);
257
+ --c-blue-fg-muted: var(--color-blue-600);
258
+ --c-blue-fg-subtle: var(--color-blue-500);
259
+ --c-blue-fg-contrast: var(--color-white);
260
+ --c-blue-focus-ring: var(--color-blue-700);
261
+
262
+ --c-indigo-bg: var(--color-indigo-50);
263
+ --c-indigo-bg-subtle: var(--color-indigo-100);
264
+ --c-indigo-bg-muted: var(--color-indigo-200);
265
+ --c-indigo-bg-selected: var(--color-indigo-300);
266
+ --c-indigo-bg-solid: var(--color-indigo-700);
267
+ --c-indigo-border-subtle: var(--color-indigo-100);
268
+ --c-indigo-border-muted: var(--color-indigo-200);
269
+ --c-indigo-border-selected: var(--color-indigo-300);
270
+ --c-indigo-border: var(--color-indigo-400);
271
+ --c-indigo-border-solid: var(--color-indigo-700);
272
+ --c-indigo-fg-strong: var(--color-indigo-800);
273
+ --c-indigo-fg: var(--color-indigo-700);
274
+ --c-indigo-fg-muted: var(--color-indigo-600);
275
+ --c-indigo-fg-subtle: var(--color-indigo-500);
276
+ --c-indigo-fg-contrast: var(--color-white);
277
+ --c-indigo-focus-ring: var(--color-indigo-700);
278
+
279
+ --c-violet-bg: var(--color-violet-50);
280
+ --c-violet-bg-subtle: var(--color-violet-100);
281
+ --c-violet-bg-muted: var(--color-violet-200);
282
+ --c-violet-bg-selected: var(--color-violet-300);
283
+ --c-violet-bg-solid: var(--color-violet-700);
284
+ --c-violet-border-subtle: var(--color-violet-100);
285
+ --c-violet-border-muted: var(--color-violet-200);
286
+ --c-violet-border-selected: var(--color-violet-300);
287
+ --c-violet-border: var(--color-violet-400);
288
+ --c-violet-border-solid: var(--color-violet-700);
289
+ --c-violet-fg-strong: var(--color-violet-800);
290
+ --c-violet-fg: var(--color-violet-700);
291
+ --c-violet-fg-muted: var(--color-violet-600);
292
+ --c-violet-fg-subtle: var(--color-violet-500);
293
+ --c-violet-fg-contrast: var(--color-white);
294
+ --c-violet-focus-ring: var(--color-violet-700);
295
+
296
+ --c-purple-bg: var(--color-purple-50);
297
+ --c-purple-bg-subtle: var(--color-purple-100);
298
+ --c-purple-bg-muted: var(--color-purple-200);
299
+ --c-purple-bg-selected: var(--color-purple-300);
300
+ --c-purple-bg-solid: var(--color-purple-700);
301
+ --c-purple-border-subtle: var(--color-purple-100);
302
+ --c-purple-border-muted: var(--color-purple-200);
303
+ --c-purple-border-selected: var(--color-purple-300);
304
+ --c-purple-border: var(--color-purple-400);
305
+ --c-purple-border-solid: var(--color-purple-700);
306
+ --c-purple-fg-strong: var(--color-purple-800);
307
+ --c-purple-fg: var(--color-purple-700);
308
+ --c-purple-fg-muted: var(--color-purple-600);
309
+ --c-purple-fg-subtle: var(--color-purple-500);
310
+ --c-purple-fg-contrast: var(--color-white);
311
+ --c-purple-focus-ring: var(--color-purple-700);
312
+
313
+ --c-fuchsia-bg: var(--color-fuchsia-50);
314
+ --c-fuchsia-bg-subtle: var(--color-fuchsia-100);
315
+ --c-fuchsia-bg-muted: var(--color-fuchsia-200);
316
+ --c-fuchsia-bg-selected: var(--color-fuchsia-300);
317
+ --c-fuchsia-bg-solid: var(--color-fuchsia-700);
318
+ --c-fuchsia-border-subtle: var(--color-fuchsia-100);
319
+ --c-fuchsia-border-muted: var(--color-fuchsia-200);
320
+ --c-fuchsia-border-selected: var(--color-fuchsia-300);
321
+ --c-fuchsia-border: var(--color-fuchsia-400);
322
+ --c-fuchsia-border-solid: var(--color-fuchsia-700);
323
+ --c-fuchsia-fg-strong: var(--color-fuchsia-900);
324
+ --c-fuchsia-fg: var(--color-fuchsia-800);
325
+ --c-fuchsia-fg-muted: var(--color-fuchsia-700);
326
+ --c-fuchsia-fg-subtle: var(--color-fuchsia-600);
327
+ --c-fuchsia-fg-contrast: var(--color-white);
328
+ --c-fuchsia-focus-ring: var(--color-fuchsia-700);
329
+
330
+ --c-pink-bg: var(--color-pink-50);
331
+ --c-pink-bg-subtle: var(--color-pink-100);
332
+ --c-pink-bg-muted: var(--color-pink-200);
333
+ --c-pink-bg-selected: var(--color-pink-300);
334
+ --c-pink-bg-solid: var(--color-pink-700);
335
+ --c-pink-border-subtle: var(--color-pink-100);
336
+ --c-pink-border-muted: var(--color-pink-200);
337
+ --c-pink-border-selected: var(--color-pink-300);
338
+ --c-pink-border: var(--color-pink-400);
339
+ --c-pink-border-solid: var(--color-pink-700);
340
+ --c-pink-fg-strong: var(--color-pink-900);
341
+ --c-pink-fg: var(--color-pink-800);
342
+ --c-pink-fg-muted: var(--color-pink-700);
343
+ --c-pink-fg-subtle: var(--color-pink-600);
344
+ --c-pink-fg-contrast: var(--color-white);
345
+ --c-pink-focus-ring: var(--color-pink-700);
346
+
347
+ --c-rose-bg: var(--color-rose-50);
348
+ --c-rose-bg-subtle: var(--color-rose-100);
349
+ --c-rose-bg-muted: var(--color-rose-200);
350
+ --c-rose-bg-selected: var(--color-rose-300);
351
+ --c-rose-bg-solid: var(--color-rose-700);
352
+ --c-rose-border-subtle: var(--color-rose-100);
353
+ --c-rose-border-muted: var(--color-rose-200);
354
+ --c-rose-border-selected: var(--color-rose-300);
355
+ --c-rose-border: var(--color-rose-400);
356
+ --c-rose-border-solid: var(--color-rose-700);
357
+ --c-rose-fg-strong: var(--color-rose-900);
358
+ --c-rose-fg: var(--color-rose-800);
359
+ --c-rose-fg-muted: var(--color-rose-700);
360
+ --c-rose-fg-subtle: var(--color-rose-600);
361
+ --c-rose-fg-contrast: var(--color-white);
362
+ --c-rose-focus-ring: var(--color-rose-700);
363
+
364
+ --c-slate-bg: var(--color-slate-50);
365
+ --c-slate-bg-subtle: var(--color-slate-100);
366
+ --c-slate-bg-muted: var(--color-slate-200);
367
+ --c-slate-bg-selected: var(--color-slate-300);
368
+ --c-slate-bg-solid: var(--color-slate-600);
369
+ --c-slate-border-subtle: var(--color-slate-100);
370
+ --c-slate-border-muted: var(--color-slate-200);
371
+ --c-slate-border-selected: var(--color-slate-300);
372
+ --c-slate-border: var(--color-slate-400);
373
+ --c-slate-border-solid: var(--color-slate-600);
374
+ --c-slate-fg-strong: var(--color-slate-900);
375
+ --c-slate-fg: var(--color-slate-800);
376
+ --c-slate-fg-muted: var(--color-slate-700);
377
+ --c-slate-fg-subtle: var(--color-slate-500);
378
+ --c-slate-fg-contrast: var(--color-white);
379
+ --c-slate-focus-ring: var(--color-slate-600);
380
+
381
+ --c-gray-bg: var(--color-gray-50);
382
+ --c-gray-bg-subtle: var(--color-gray-100);
383
+ --c-gray-bg-muted: var(--color-gray-200);
384
+ --c-gray-bg-selected: var(--color-gray-300);
385
+ --c-gray-bg-solid: var(--color-gray-600);
386
+ --c-gray-border-subtle: var(--color-gray-100);
387
+ --c-gray-border-muted: var(--color-gray-200);
388
+ --c-gray-border-selected: var(--color-gray-300);
389
+ --c-gray-border: var(--color-gray-400);
390
+ --c-gray-border-solid: var(--color-gray-600);
391
+ --c-gray-fg-strong: var(--color-gray-900);
392
+ --c-gray-fg: var(--color-gray-800);
393
+ --c-gray-fg-muted: var(--color-gray-700);
394
+ --c-gray-fg-subtle: var(--color-gray-500);
395
+ --c-gray-fg-contrast: var(--color-white);
396
+ --c-gray-focus-ring: var(--color-gray-600);
397
+
398
+ --c-zinc-bg: var(--color-zinc-50);
399
+ --c-zinc-bg-subtle: var(--color-zinc-100);
400
+ --c-zinc-bg-muted: var(--color-zinc-200);
401
+ --c-zinc-bg-selected: var(--color-zinc-300);
402
+ --c-zinc-bg-solid: var(--color-zinc-600);
403
+ --c-zinc-border-subtle: var(--color-zinc-100);
404
+ --c-zinc-border-muted: var(--color-zinc-200);
405
+ --c-zinc-border-selected: var(--color-zinc-300);
406
+ --c-zinc-border: var(--color-zinc-400);
407
+ --c-zinc-border-solid: var(--color-zinc-600);
408
+ --c-zinc-fg-strong: var(--color-zinc-900);
409
+ --c-zinc-fg: var(--color-zinc-800);
410
+ --c-zinc-fg-muted: var(--color-zinc-700);
411
+ --c-zinc-fg-subtle: var(--color-zinc-500);
412
+ --c-zinc-fg-contrast: var(--color-white);
413
+ --c-zinc-focus-ring: var(--color-zinc-600);
414
+
415
+ --c-neutral-bg: var(--color-neutral-50);
416
+ --c-neutral-bg-subtle: var(--color-neutral-100);
417
+ --c-neutral-bg-muted: var(--color-neutral-200);
418
+ --c-neutral-bg-selected: var(--color-neutral-300);
419
+ --c-neutral-bg-solid: var(--color-neutral-600);
420
+ --c-neutral-border-subtle: var(--color-neutral-100);
421
+ --c-neutral-border-muted: var(--color-neutral-200);
422
+ --c-neutral-border-selected: var(--color-neutral-300);
423
+ --c-neutral-border: var(--color-neutral-400);
424
+ --c-neutral-border-solid: var(--color-neutral-600);
425
+ --c-neutral-fg-strong: var(--color-neutral-900);
426
+ --c-neutral-fg: var(--color-neutral-800);
427
+ --c-neutral-fg-muted: var(--color-neutral-700);
428
+ --c-neutral-fg-subtle: var(--color-neutral-500);
429
+ --c-neutral-fg-contrast: var(--color-white);
430
+ --c-neutral-focus-ring: var(--color-neutral-600);
431
+
432
+ --c-stone-bg: var(--color-stone-50);
433
+ --c-stone-bg-subtle: var(--color-stone-100);
434
+ --c-stone-bg-muted: var(--color-stone-200);
435
+ --c-stone-bg-selected: var(--color-stone-300);
436
+ --c-stone-bg-solid: var(--color-stone-600);
437
+ --c-stone-border-subtle: var(--color-stone-100);
438
+ --c-stone-border-muted: var(--color-stone-200);
439
+ --c-stone-border-selected: var(--color-stone-300);
440
+ --c-stone-border: var(--color-stone-400);
441
+ --c-stone-border-solid: var(--color-stone-600);
442
+ --c-stone-fg-strong: var(--color-stone-900);
443
+ --c-stone-fg: var(--color-stone-800);
444
+ --c-stone-fg-muted: var(--color-stone-700);
445
+ --c-stone-fg-subtle: var(--color-stone-500);
446
+ --c-stone-fg-contrast: var(--color-white);
447
+ --c-stone-focus-ring: var(--color-stone-600);
448
+
449
+ /* mauve — light group N */
450
+ --c-mauve-bg: var(--color-mauve-50);
451
+ --c-mauve-bg-subtle: var(--color-mauve-100);
452
+ --c-mauve-bg-muted: var(--color-mauve-200);
453
+ --c-mauve-bg-selected: var(--color-mauve-300);
454
+ --c-mauve-bg-solid: var(--color-mauve-600);
455
+ --c-mauve-border-subtle: var(--color-mauve-100);
456
+ --c-mauve-border-muted: var(--color-mauve-200);
457
+ --c-mauve-border-selected: var(--color-mauve-300);
458
+ --c-mauve-border: var(--color-mauve-400);
459
+ --c-mauve-border-solid: var(--color-mauve-600);
460
+ --c-mauve-fg-strong: var(--color-mauve-900);
461
+ --c-mauve-fg: var(--color-mauve-800);
462
+ --c-mauve-fg-muted: var(--color-mauve-700);
463
+ --c-mauve-fg-subtle: var(--color-mauve-500);
464
+ --c-mauve-fg-contrast: var(--color-white);
465
+ --c-mauve-focus-ring: var(--color-mauve-600);
466
+
467
+ /* olive — light group N */
468
+ --c-olive-bg: var(--color-olive-50);
469
+ --c-olive-bg-subtle: var(--color-olive-100);
470
+ --c-olive-bg-muted: var(--color-olive-200);
471
+ --c-olive-bg-selected: var(--color-olive-300);
472
+ --c-olive-bg-solid: var(--color-olive-600);
473
+ --c-olive-border-subtle: var(--color-olive-100);
474
+ --c-olive-border-muted: var(--color-olive-200);
475
+ --c-olive-border-selected: var(--color-olive-300);
476
+ --c-olive-border: var(--color-olive-400);
477
+ --c-olive-border-solid: var(--color-olive-600);
478
+ --c-olive-fg-strong: var(--color-olive-900);
479
+ --c-olive-fg: var(--color-olive-800);
480
+ --c-olive-fg-muted: var(--color-olive-700);
481
+ --c-olive-fg-subtle: var(--color-olive-500);
482
+ --c-olive-fg-contrast: var(--color-white);
483
+ --c-olive-focus-ring: var(--color-olive-600);
484
+
485
+ /* mist — light group N */
486
+ --c-mist-bg: var(--color-mist-50);
487
+ --c-mist-bg-subtle: var(--color-mist-100);
488
+ --c-mist-bg-muted: var(--color-mist-200);
489
+ --c-mist-bg-selected: var(--color-mist-300);
490
+ --c-mist-bg-solid: var(--color-mist-600);
491
+ --c-mist-border-subtle: var(--color-mist-100);
492
+ --c-mist-border-muted: var(--color-mist-200);
493
+ --c-mist-border-selected: var(--color-mist-300);
494
+ --c-mist-border: var(--color-mist-400);
495
+ --c-mist-border-solid: var(--color-mist-600);
496
+ --c-mist-fg-strong: var(--color-mist-900);
497
+ --c-mist-fg: var(--color-mist-800);
498
+ --c-mist-fg-muted: var(--color-mist-700);
499
+ --c-mist-fg-subtle: var(--color-mist-500);
500
+ --c-mist-fg-contrast: var(--color-white);
501
+ --c-mist-focus-ring: var(--color-mist-600);
502
+
503
+ /* taupe — light group N */
504
+ --c-taupe-bg: var(--color-taupe-50);
505
+ --c-taupe-bg-subtle: var(--color-taupe-100);
506
+ --c-taupe-bg-muted: var(--color-taupe-200);
507
+ --c-taupe-bg-selected: var(--color-taupe-300);
508
+ --c-taupe-bg-solid: var(--color-taupe-600);
509
+ --c-taupe-border-subtle: var(--color-taupe-100);
510
+ --c-taupe-border-muted: var(--color-taupe-200);
511
+ --c-taupe-border-selected: var(--color-taupe-300);
512
+ --c-taupe-border: var(--color-taupe-400);
513
+ --c-taupe-border-solid: var(--color-taupe-600);
514
+ --c-taupe-fg-strong: var(--color-taupe-900);
515
+ --c-taupe-fg: var(--color-taupe-800);
516
+ --c-taupe-fg-muted: var(--color-taupe-700);
517
+ --c-taupe-fg-subtle: var(--color-taupe-500);
518
+ --c-taupe-fg-contrast: var(--color-white);
519
+ --c-taupe-focus-ring: var(--color-taupe-600);
520
+ }
521
+
522
+ [data-mode='dark'] {
523
+ /* red — dark group 1 */
524
+ --c-red-bg: var(--color-red-950);
525
+ --c-red-bg-subtle: var(--color-red-900);
526
+ --c-red-bg-muted: var(--color-red-800);
527
+ --c-red-bg-selected: var(--color-red-700);
528
+ --c-red-bg-solid: var(--color-red-350);
529
+ --c-red-border-subtle: var(--color-red-900);
530
+ --c-red-border-muted: var(--color-red-800);
531
+ --c-red-border-selected: var(--color-red-700);
532
+ --c-red-border: var(--color-red-600);
533
+ --c-red-border-solid: var(--color-red-350);
534
+ --c-red-fg-strong: var(--color-red-100);
535
+ --c-red-fg: var(--color-red-200);
536
+ --c-red-fg-muted: var(--color-red-400);
537
+ --c-red-fg-subtle: var(--color-red-500);
538
+ --c-red-fg-contrast: var(--color-red-950);
539
+ --c-red-focus-ring: var(--color-red-350);
540
+
541
+ /* orange — dark group 1 */
542
+ --c-orange-bg: var(--color-orange-950);
543
+ --c-orange-bg-subtle: var(--color-orange-900);
544
+ --c-orange-bg-muted: var(--color-orange-800);
545
+ --c-orange-bg-selected: var(--color-orange-700);
546
+ --c-orange-bg-solid: var(--color-orange-350);
547
+ --c-orange-border-subtle: var(--color-orange-900);
548
+ --c-orange-border-muted: var(--color-orange-800);
549
+ --c-orange-border-selected: var(--color-orange-700);
550
+ --c-orange-border: var(--color-orange-600);
551
+ --c-orange-border-solid: var(--color-orange-350);
552
+ --c-orange-fg-strong: var(--color-orange-100);
553
+ --c-orange-fg: var(--color-orange-200);
554
+ --c-orange-fg-muted: var(--color-orange-400);
555
+ --c-orange-fg-subtle: var(--color-orange-500);
556
+ --c-orange-fg-contrast: var(--color-orange-950);
557
+ --c-orange-focus-ring: var(--color-orange-350);
558
+
559
+ /* amber — dark group 3 */
560
+ --c-amber-bg: var(--color-amber-950);
561
+ --c-amber-bg-subtle: var(--color-amber-900);
562
+ --c-amber-bg-muted: var(--color-amber-800);
563
+ --c-amber-bg-selected: var(--color-amber-700);
564
+ --c-amber-bg-solid: var(--color-amber-350);
565
+ --c-amber-border-subtle: var(--color-amber-900);
566
+ --c-amber-border-muted: var(--color-amber-800);
567
+ --c-amber-border-selected: var(--color-amber-700);
568
+ --c-amber-border: var(--color-amber-600);
569
+ --c-amber-border-solid: var(--color-amber-350);
570
+ --c-amber-fg-strong: var(--color-amber-100);
571
+ --c-amber-fg: var(--color-amber-300);
572
+ --c-amber-fg-muted: var(--color-amber-500);
573
+ --c-amber-fg-subtle: var(--color-amber-600);
574
+ --c-amber-fg-contrast: var(--color-amber-950);
575
+ --c-amber-focus-ring: var(--color-amber-350);
576
+
577
+ /* yellow — dark group 3 */
578
+ --c-yellow-bg: var(--color-yellow-950);
579
+ --c-yellow-bg-subtle: var(--color-yellow-900);
580
+ --c-yellow-bg-muted: var(--color-yellow-800);
581
+ --c-yellow-bg-selected: var(--color-yellow-700);
582
+ --c-yellow-bg-solid: var(--color-yellow-350);
583
+ --c-yellow-border-subtle: var(--color-yellow-900);
584
+ --c-yellow-border-muted: var(--color-yellow-800);
585
+ --c-yellow-border-selected: var(--color-yellow-700);
586
+ --c-yellow-border: var(--color-yellow-600);
587
+ --c-yellow-border-solid: var(--color-yellow-350);
588
+ --c-yellow-fg-strong: var(--color-yellow-100);
589
+ --c-yellow-fg: var(--color-yellow-300);
590
+ --c-yellow-fg-muted: var(--color-yellow-500);
591
+ --c-yellow-fg-subtle: var(--color-yellow-600);
592
+ --c-yellow-fg-contrast: var(--color-yellow-950);
593
+ --c-yellow-focus-ring: var(--color-yellow-350);
594
+
595
+ /* lime — dark group 3 */
596
+ --c-lime-bg: var(--color-lime-950);
597
+ --c-lime-bg-subtle: var(--color-lime-900);
598
+ --c-lime-bg-muted: var(--color-lime-800);
599
+ --c-lime-bg-selected: var(--color-lime-700);
600
+ --c-lime-bg-solid: var(--color-lime-350);
601
+ --c-lime-border-subtle: var(--color-lime-900);
602
+ --c-lime-border-muted: var(--color-lime-800);
603
+ --c-lime-border-selected: var(--color-lime-700);
604
+ --c-lime-border: var(--color-lime-600);
605
+ --c-lime-border-solid: var(--color-lime-350);
606
+ --c-lime-fg-strong: var(--color-lime-100);
607
+ --c-lime-fg: var(--color-lime-300);
608
+ --c-lime-fg-muted: var(--color-lime-500);
609
+ --c-lime-fg-subtle: var(--color-lime-600);
610
+ --c-lime-fg-contrast: var(--color-lime-950);
611
+ --c-lime-focus-ring: var(--color-lime-350);
612
+
613
+ /* green — dark group 5 */
614
+ --c-green-bg: var(--color-green-950);
615
+ --c-green-bg-subtle: var(--color-green-900);
616
+ --c-green-bg-muted: var(--color-green-800);
617
+ --c-green-bg-selected: var(--color-green-700);
618
+ --c-green-bg-solid: var(--color-green-350);
619
+ --c-green-border-subtle: var(--color-green-900);
620
+ --c-green-border-muted: var(--color-green-800);
621
+ --c-green-border-selected: var(--color-green-700);
622
+ --c-green-border: var(--color-green-600);
623
+ --c-green-border-solid: var(--color-green-350);
624
+ --c-green-fg-strong: var(--color-green-50);
625
+ --c-green-fg: var(--color-green-300);
626
+ --c-green-fg-muted: var(--color-green-500);
627
+ --c-green-fg-subtle: var(--color-green-600);
628
+ --c-green-fg-contrast: var(--color-green-950);
629
+ --c-green-focus-ring: var(--color-green-350);
630
+
631
+ /* emerald — dark group 3 */
632
+ --c-emerald-bg: var(--color-emerald-950);
633
+ --c-emerald-bg-subtle: var(--color-emerald-900);
634
+ --c-emerald-bg-muted: var(--color-emerald-800);
635
+ --c-emerald-bg-selected: var(--color-emerald-700);
636
+ --c-emerald-bg-solid: var(--color-emerald-350);
637
+ --c-emerald-border-subtle: var(--color-emerald-900);
638
+ --c-emerald-border-muted: var(--color-emerald-800);
639
+ --c-emerald-border-selected: var(--color-emerald-700);
640
+ --c-emerald-border: var(--color-emerald-600);
641
+ --c-emerald-border-solid: var(--color-emerald-350);
642
+ --c-emerald-fg-strong: var(--color-emerald-100);
643
+ --c-emerald-fg: var(--color-emerald-300);
644
+ --c-emerald-fg-muted: var(--color-emerald-500);
645
+ --c-emerald-fg-subtle: var(--color-emerald-600);
646
+ --c-emerald-fg-contrast: var(--color-emerald-950);
647
+ --c-emerald-focus-ring: var(--color-emerald-350);
648
+
649
+ /* teal — dark group 3 */
650
+ --c-teal-bg: var(--color-teal-950);
651
+ --c-teal-bg-subtle: var(--color-teal-900);
652
+ --c-teal-bg-muted: var(--color-teal-800);
653
+ --c-teal-bg-selected: var(--color-teal-700);
654
+ --c-teal-bg-solid: var(--color-teal-350);
655
+ --c-teal-border-subtle: var(--color-teal-900);
656
+ --c-teal-border-muted: var(--color-teal-800);
657
+ --c-teal-border-selected: var(--color-teal-700);
658
+ --c-teal-border: var(--color-teal-600);
659
+ --c-teal-border-solid: var(--color-teal-350);
660
+ --c-teal-fg-strong: var(--color-teal-100);
661
+ --c-teal-fg: var(--color-teal-300);
662
+ --c-teal-fg-muted: var(--color-teal-500);
663
+ --c-teal-fg-subtle: var(--color-teal-600);
664
+ --c-teal-fg-contrast: var(--color-teal-950);
665
+ --c-teal-focus-ring: var(--color-teal-350);
666
+
667
+ /* cyan — dark group 3 */
668
+ --c-cyan-bg: var(--color-cyan-950);
669
+ --c-cyan-bg-subtle: var(--color-cyan-900);
670
+ --c-cyan-bg-muted: var(--color-cyan-800);
671
+ --c-cyan-bg-selected: var(--color-cyan-700);
672
+ --c-cyan-bg-solid: var(--color-cyan-350);
673
+ --c-cyan-border-subtle: var(--color-cyan-900);
674
+ --c-cyan-border-muted: var(--color-cyan-800);
675
+ --c-cyan-border-selected: var(--color-cyan-700);
676
+ --c-cyan-border: var(--color-cyan-600);
677
+ --c-cyan-border-solid: var(--color-cyan-350);
678
+ --c-cyan-fg-strong: var(--color-cyan-100);
679
+ --c-cyan-fg: var(--color-cyan-300);
680
+ --c-cyan-fg-muted: var(--color-cyan-500);
681
+ --c-cyan-fg-subtle: var(--color-cyan-600);
682
+ --c-cyan-fg-contrast: var(--color-cyan-950);
683
+ --c-cyan-focus-ring: var(--color-cyan-350);
684
+
685
+ /* sky — dark group 3 */
686
+ --c-sky-bg: var(--color-sky-950);
687
+ --c-sky-bg-subtle: var(--color-sky-900);
688
+ --c-sky-bg-muted: var(--color-sky-800);
689
+ --c-sky-bg-selected: var(--color-sky-700);
690
+ --c-sky-bg-solid: var(--color-sky-350);
691
+ --c-sky-border-subtle: var(--color-sky-900);
692
+ --c-sky-border-muted: var(--color-sky-800);
693
+ --c-sky-border-selected: var(--color-sky-700);
694
+ --c-sky-border: var(--color-sky-600);
695
+ --c-sky-border-solid: var(--color-sky-350);
696
+ --c-sky-fg-strong: var(--color-sky-100);
697
+ --c-sky-fg: var(--color-sky-300);
698
+ --c-sky-fg-muted: var(--color-sky-500);
699
+ --c-sky-fg-subtle: var(--color-sky-600);
700
+ --c-sky-fg-contrast: var(--color-sky-950);
701
+ --c-sky-focus-ring: var(--color-sky-350);
702
+
703
+ /* blue — dark group 2 */
704
+ --c-blue-bg: var(--color-blue-950);
705
+ --c-blue-bg-subtle: var(--color-blue-900);
706
+ --c-blue-bg-muted: var(--color-blue-800);
707
+ --c-blue-bg-selected: var(--color-blue-700);
708
+ --c-blue-bg-solid: var(--color-blue-350);
709
+ --c-blue-border-subtle: var(--color-blue-900);
710
+ --c-blue-border-muted: var(--color-blue-800);
711
+ --c-blue-border-selected: var(--color-blue-700);
712
+ --c-blue-border: var(--color-blue-600);
713
+ --c-blue-border-solid: var(--color-blue-350);
714
+ --c-blue-fg-strong: var(--color-blue-200);
715
+ --c-blue-fg: var(--color-blue-300);
716
+ --c-blue-fg-muted: var(--color-blue-400);
717
+ --c-blue-fg-subtle: var(--color-blue-500);
718
+ --c-blue-fg-contrast: var(--color-blue-950);
719
+ --c-blue-focus-ring: var(--color-blue-350);
720
+
721
+ /* indigo — dark group 4 */
722
+ --c-indigo-bg: var(--color-indigo-950);
723
+ --c-indigo-bg-subtle: var(--color-indigo-900);
724
+ --c-indigo-bg-muted: var(--color-indigo-800);
725
+ --c-indigo-bg-selected: var(--color-indigo-700);
726
+ --c-indigo-bg-solid: var(--color-indigo-350);
727
+ --c-indigo-border-subtle: var(--color-indigo-900);
728
+ --c-indigo-border-muted: var(--color-indigo-800);
729
+ --c-indigo-border-selected: var(--color-indigo-700);
730
+ --c-indigo-border: var(--color-indigo-600);
731
+ --c-indigo-border-solid: var(--color-indigo-350);
732
+ --c-indigo-fg-strong: var(--color-indigo-200);
733
+ --c-indigo-fg: var(--color-indigo-300);
734
+ --c-indigo-fg-muted: var(--color-indigo-350);
735
+ --c-indigo-fg-subtle: var(--color-indigo-500);
736
+ --c-indigo-fg-contrast: var(--color-indigo-950);
737
+ --c-indigo-focus-ring: var(--color-indigo-350);
738
+
739
+ /* violet — dark group 2 */
740
+ --c-violet-bg: var(--color-violet-950);
741
+ --c-violet-bg-subtle: var(--color-violet-900);
742
+ --c-violet-bg-muted: var(--color-violet-800);
743
+ --c-violet-bg-selected: var(--color-violet-700);
744
+ --c-violet-bg-solid: var(--color-violet-350);
745
+ --c-violet-border-subtle: var(--color-violet-900);
746
+ --c-violet-border-muted: var(--color-violet-800);
747
+ --c-violet-border-selected: var(--color-violet-700);
748
+ --c-violet-border: var(--color-violet-600);
749
+ --c-violet-border-solid: var(--color-violet-350);
750
+ --c-violet-fg-strong: var(--color-violet-200);
751
+ --c-violet-fg: var(--color-violet-300);
752
+ --c-violet-fg-muted: var(--color-violet-400);
753
+ --c-violet-fg-subtle: var(--color-violet-500);
754
+ --c-violet-fg-contrast: var(--color-violet-950);
755
+ --c-violet-focus-ring: var(--color-violet-350);
756
+
757
+ /* purple — dark group 2 */
758
+ --c-purple-bg: var(--color-purple-950);
759
+ --c-purple-bg-subtle: var(--color-purple-900);
760
+ --c-purple-bg-muted: var(--color-purple-800);
761
+ --c-purple-bg-selected: var(--color-purple-700);
762
+ --c-purple-bg-solid: var(--color-purple-350);
763
+ --c-purple-border-subtle: var(--color-purple-900);
764
+ --c-purple-border-muted: var(--color-purple-800);
765
+ --c-purple-border-selected: var(--color-purple-700);
766
+ --c-purple-border: var(--color-purple-600);
767
+ --c-purple-border-solid: var(--color-purple-350);
768
+ --c-purple-fg-strong: var(--color-purple-200);
769
+ --c-purple-fg: var(--color-purple-300);
770
+ --c-purple-fg-muted: var(--color-purple-400);
771
+ --c-purple-fg-subtle: var(--color-purple-500);
772
+ --c-purple-fg-contrast: var(--color-purple-950);
773
+ --c-purple-focus-ring: var(--color-purple-350);
774
+
775
+ /* fuchsia — dark group 2 */
776
+ --c-fuchsia-bg: var(--color-fuchsia-950);
777
+ --c-fuchsia-bg-subtle: var(--color-fuchsia-900);
778
+ --c-fuchsia-bg-muted: var(--color-fuchsia-800);
779
+ --c-fuchsia-bg-selected: var(--color-fuchsia-700);
780
+ --c-fuchsia-bg-solid: var(--color-fuchsia-350);
781
+ --c-fuchsia-border-subtle: var(--color-fuchsia-900);
782
+ --c-fuchsia-border-muted: var(--color-fuchsia-800);
783
+ --c-fuchsia-border-selected: var(--color-fuchsia-700);
784
+ --c-fuchsia-border: var(--color-fuchsia-600);
785
+ --c-fuchsia-border-solid: var(--color-fuchsia-350);
786
+ --c-fuchsia-fg-strong: var(--color-fuchsia-200);
787
+ --c-fuchsia-fg: var(--color-fuchsia-300);
788
+ --c-fuchsia-fg-muted: var(--color-fuchsia-400);
789
+ --c-fuchsia-fg-subtle: var(--color-fuchsia-500);
790
+ --c-fuchsia-fg-contrast: var(--color-fuchsia-950);
791
+ --c-fuchsia-focus-ring: var(--color-fuchsia-350);
792
+
793
+ /* pink — dark group 1 */
794
+ --c-pink-bg: var(--color-pink-950);
795
+ --c-pink-bg-subtle: var(--color-pink-900);
796
+ --c-pink-bg-muted: var(--color-pink-800);
797
+ --c-pink-bg-selected: var(--color-pink-700);
798
+ --c-pink-bg-solid: var(--color-pink-350);
799
+ --c-pink-border-subtle: var(--color-pink-900);
800
+ --c-pink-border-muted: var(--color-pink-800);
801
+ --c-pink-border-selected: var(--color-pink-700);
802
+ --c-pink-border: var(--color-pink-600);
803
+ --c-pink-border-solid: var(--color-pink-350);
804
+ --c-pink-fg-strong: var(--color-pink-100);
805
+ --c-pink-fg: var(--color-pink-200);
806
+ --c-pink-fg-muted: var(--color-pink-400);
807
+ --c-pink-fg-subtle: var(--color-pink-500);
808
+ --c-pink-fg-contrast: var(--color-pink-950);
809
+ --c-pink-focus-ring: var(--color-pink-350);
810
+
811
+ /* rose — dark group 1 */
812
+ --c-rose-bg: var(--color-rose-950);
813
+ --c-rose-bg-subtle: var(--color-rose-900);
814
+ --c-rose-bg-muted: var(--color-rose-800);
815
+ --c-rose-bg-selected: var(--color-rose-700);
816
+ --c-rose-bg-solid: var(--color-rose-350);
817
+ --c-rose-border-subtle: var(--color-rose-900);
818
+ --c-rose-border-muted: var(--color-rose-800);
819
+ --c-rose-border-selected: var(--color-rose-700);
820
+ --c-rose-border: var(--color-rose-600);
821
+ --c-rose-border-solid: var(--color-rose-350);
822
+ --c-rose-fg-strong: var(--color-rose-100);
823
+ --c-rose-fg: var(--color-rose-200);
824
+ --c-rose-fg-muted: var(--color-rose-400);
825
+ --c-rose-fg-subtle: var(--color-rose-500);
826
+ --c-rose-fg-contrast: var(--color-rose-950);
827
+ --c-rose-focus-ring: var(--color-rose-350);
828
+
829
+ /* slate — dark group N */
830
+ --c-slate-bg: var(--color-slate-950);
831
+ --c-slate-bg-subtle: var(--color-slate-900);
832
+ --c-slate-bg-muted: var(--color-slate-800);
833
+ --c-slate-bg-selected: var(--color-slate-700);
834
+ --c-slate-bg-solid: var(--color-slate-350);
835
+ --c-slate-border-subtle: var(--color-slate-900);
836
+ --c-slate-border-muted: var(--color-slate-800);
837
+ --c-slate-border-selected: var(--color-slate-700);
838
+ --c-slate-border: var(--color-slate-600);
839
+ --c-slate-border-solid: var(--color-slate-350);
840
+ --c-slate-fg-strong: var(--color-slate-100);
841
+ --c-slate-fg: var(--color-slate-200);
842
+ --c-slate-fg-muted: var(--color-slate-400);
843
+ --c-slate-fg-subtle: var(--color-slate-500);
844
+ --c-slate-fg-contrast: var(--color-slate-950);
845
+ --c-slate-focus-ring: var(--color-slate-350);
846
+
847
+ /* gray — dark group N */
848
+ --c-gray-bg: var(--color-gray-950);
849
+ --c-gray-bg-subtle: var(--color-gray-900);
850
+ --c-gray-bg-muted: var(--color-gray-800);
851
+ --c-gray-bg-selected: var(--color-gray-700);
852
+ --c-gray-bg-solid: var(--color-gray-350);
853
+ --c-gray-border-subtle: var(--color-gray-900);
854
+ --c-gray-border-muted: var(--color-gray-800);
855
+ --c-gray-border-selected: var(--color-gray-700);
856
+ --c-gray-border: var(--color-gray-600);
857
+ --c-gray-border-solid: var(--color-gray-350);
858
+ --c-gray-fg-strong: var(--color-gray-100);
859
+ --c-gray-fg: var(--color-gray-200);
860
+ --c-gray-fg-muted: var(--color-gray-400);
861
+ --c-gray-fg-subtle: var(--color-gray-500);
862
+ --c-gray-fg-contrast: var(--color-gray-950);
863
+ --c-gray-focus-ring: var(--color-gray-350);
864
+
865
+ /* zinc — dark group N */
866
+ --c-zinc-bg: var(--color-zinc-950);
867
+ --c-zinc-bg-subtle: var(--color-zinc-900);
868
+ --c-zinc-bg-muted: var(--color-zinc-800);
869
+ --c-zinc-bg-selected: var(--color-zinc-700);
870
+ --c-zinc-bg-solid: var(--color-zinc-350);
871
+ --c-zinc-border-subtle: var(--color-zinc-900);
872
+ --c-zinc-border-muted: var(--color-zinc-800);
873
+ --c-zinc-border-selected: var(--color-zinc-700);
874
+ --c-zinc-border: var(--color-zinc-600);
875
+ --c-zinc-border-solid: var(--color-zinc-350);
876
+ --c-zinc-fg-strong: var(--color-zinc-100);
877
+ --c-zinc-fg: var(--color-zinc-200);
878
+ --c-zinc-fg-muted: var(--color-zinc-400);
879
+ --c-zinc-fg-subtle: var(--color-zinc-500);
880
+ --c-zinc-fg-contrast: var(--color-zinc-950);
881
+ --c-zinc-focus-ring: var(--color-zinc-350);
882
+
883
+ /* neutral — dark group N */
884
+ --c-neutral-bg: var(--color-neutral-950);
885
+ --c-neutral-bg-subtle: var(--color-neutral-900);
886
+ --c-neutral-bg-muted: var(--color-neutral-800);
887
+ --c-neutral-bg-selected: var(--color-neutral-700);
888
+ --c-neutral-bg-solid: var(--color-neutral-350);
889
+ --c-neutral-border-subtle: var(--color-neutral-900);
890
+ --c-neutral-border-muted: var(--color-neutral-800);
891
+ --c-neutral-border-selected: var(--color-neutral-700);
892
+ --c-neutral-border: var(--color-neutral-600);
893
+ --c-neutral-border-solid: var(--color-neutral-350);
894
+ --c-neutral-fg-strong: var(--color-neutral-100);
895
+ --c-neutral-fg: var(--color-neutral-200);
896
+ --c-neutral-fg-muted: var(--color-neutral-400);
897
+ --c-neutral-fg-subtle: var(--color-neutral-500);
898
+ --c-neutral-fg-contrast: var(--color-neutral-950);
899
+ --c-neutral-focus-ring: var(--color-neutral-350);
900
+
901
+ /* stone — dark group N */
902
+ --c-stone-bg: var(--color-stone-950);
903
+ --c-stone-bg-subtle: var(--color-stone-900);
904
+ --c-stone-bg-muted: var(--color-stone-800);
905
+ --c-stone-bg-selected: var(--color-stone-700);
906
+ --c-stone-bg-solid: var(--color-stone-350);
907
+ --c-stone-border-subtle: var(--color-stone-900);
908
+ --c-stone-border-muted: var(--color-stone-800);
909
+ --c-stone-border-selected: var(--color-stone-700);
910
+ --c-stone-border: var(--color-stone-600);
911
+ --c-stone-border-solid: var(--color-stone-350);
912
+ --c-stone-fg-strong: var(--color-stone-100);
913
+ --c-stone-fg: var(--color-stone-200);
914
+ --c-stone-fg-muted: var(--color-stone-400);
915
+ --c-stone-fg-subtle: var(--color-stone-500);
916
+ --c-stone-fg-contrast: var(--color-stone-950);
917
+ --c-stone-focus-ring: var(--color-stone-350);
918
+
919
+ /* mauve — dark group N */
920
+ --c-mauve-bg: var(--color-mauve-950);
921
+ --c-mauve-bg-subtle: var(--color-mauve-900);
922
+ --c-mauve-bg-muted: var(--color-mauve-800);
923
+ --c-mauve-bg-selected: var(--color-mauve-700);
924
+ --c-mauve-bg-solid: var(--color-mauve-350);
925
+ --c-mauve-border-subtle: var(--color-mauve-900);
926
+ --c-mauve-border-muted: var(--color-mauve-800);
927
+ --c-mauve-border-selected: var(--color-mauve-700);
928
+ --c-mauve-border: var(--color-mauve-600);
929
+ --c-mauve-border-solid: var(--color-mauve-350);
930
+ --c-mauve-fg-strong: var(--color-mauve-100);
931
+ --c-mauve-fg: var(--color-mauve-200);
932
+ --c-mauve-fg-muted: var(--color-mauve-400);
933
+ --c-mauve-fg-subtle: var(--color-mauve-500);
934
+ --c-mauve-fg-contrast: var(--color-mauve-950);
935
+ --c-mauve-focus-ring: var(--color-mauve-350);
936
+
937
+ /* olive — dark group N */
938
+ --c-olive-bg: var(--color-olive-950);
939
+ --c-olive-bg-subtle: var(--color-olive-900);
940
+ --c-olive-bg-muted: var(--color-olive-800);
941
+ --c-olive-bg-selected: var(--color-olive-700);
942
+ --c-olive-bg-solid: var(--color-olive-350);
943
+ --c-olive-border-subtle: var(--color-olive-900);
944
+ --c-olive-border-muted: var(--color-olive-800);
945
+ --c-olive-border-selected: var(--color-olive-700);
946
+ --c-olive-border: var(--color-olive-600);
947
+ --c-olive-border-solid: var(--color-olive-350);
948
+ --c-olive-fg-strong: var(--color-olive-100);
949
+ --c-olive-fg: var(--color-olive-200);
950
+ --c-olive-fg-muted: var(--color-olive-400);
951
+ --c-olive-fg-subtle: var(--color-olive-500);
952
+ --c-olive-fg-contrast: var(--color-olive-950);
953
+ --c-olive-focus-ring: var(--color-olive-350);
954
+
955
+ /* mist — dark group N */
956
+ --c-mist-bg: var(--color-mist-950);
957
+ --c-mist-bg-subtle: var(--color-mist-900);
958
+ --c-mist-bg-muted: var(--color-mist-800);
959
+ --c-mist-bg-selected: var(--color-mist-700);
960
+ --c-mist-bg-solid: var(--color-mist-350);
961
+ --c-mist-border-subtle: var(--color-mist-900);
962
+ --c-mist-border-muted: var(--color-mist-800);
963
+ --c-mist-border-selected: var(--color-mist-700);
964
+ --c-mist-border: var(--color-mist-600);
965
+ --c-mist-border-solid: var(--color-mist-350);
966
+ --c-mist-fg-strong: var(--color-mist-100);
967
+ --c-mist-fg: var(--color-mist-200);
968
+ --c-mist-fg-muted: var(--color-mist-400);
969
+ --c-mist-fg-subtle: var(--color-mist-500);
970
+ --c-mist-fg-contrast: var(--color-mist-950);
971
+ --c-mist-focus-ring: var(--color-mist-350);
972
+
973
+ /* taupe — dark group N */
974
+ --c-taupe-bg: var(--color-taupe-950);
975
+ --c-taupe-bg-subtle: var(--color-taupe-900);
976
+ --c-taupe-bg-muted: var(--color-taupe-800);
977
+ --c-taupe-bg-selected: var(--color-taupe-700);
978
+ --c-taupe-bg-solid: var(--color-taupe-350);
979
+ --c-taupe-border-subtle: var(--color-taupe-900);
980
+ --c-taupe-border-muted: var(--color-taupe-800);
981
+ --c-taupe-border-selected: var(--color-taupe-700);
982
+ --c-taupe-border: var(--color-taupe-600);
983
+ --c-taupe-border-solid: var(--color-taupe-350);
984
+ --c-taupe-fg-strong: var(--color-taupe-100);
985
+ --c-taupe-fg: var(--color-taupe-200);
986
+ --c-taupe-fg-muted: var(--color-taupe-400);
987
+ --c-taupe-fg-subtle: var(--color-taupe-500);
988
+ --c-taupe-fg-contrast: var(--color-taupe-950);
989
+ --c-taupe-focus-ring: var(--color-taupe-350);
990
+ }