@duskmoon-dev/core 1.18.2 → 1.18.3

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.
package/README.md CHANGED
@@ -442,4 +442,4 @@ See [specs/004-oklch-color-system/quickstart.md](./specs/004-oklch-color-system/
442
442
 
443
443
  MIT
444
444
 
445
- <!-- release 32803040081 -->
445
+ <!-- release 32923541350 -->
@@ -0,0 +1,552 @@
1
+ /**
2
+ * @duskmoon-dev/core v1.18.3
3
+ * Built-in DuskMoonUI themes
4
+ * https://github.com/duskmoon-dev/duskmoonui
5
+ * @license MIT
6
+ */
7
+
8
+ /**
9
+ * Built-in themes
10
+ * Generated from @duskmoon-dev/design YAML tokens
11
+ */
12
+ /**
13
+ * Default theme fallbacks
14
+ *
15
+ * Provides :root values so pages without a data-theme attribute
16
+ * (SSR / no-JS / GitHub Pages initial paint) still render correctly.
17
+ *
18
+ * - Light default: sunshine theme values
19
+ * - Dark auto-detect: moonlight theme values via prefers-color-scheme
20
+ */
21
+
22
+ /* Light default — sunshine theme */
23
+ :root {
24
+ color-scheme: light;
25
+ --theme-name: "sunshine";
26
+ --theme-mode: "light";
27
+ --theme-family: "duskmoon";
28
+ --theme-pair: "moonlight";
29
+ --theme-description: "Warm amber/coral";
30
+ --color-primary: oklch(52% 0.17 75);
31
+ --color-primary-content: oklch(100% 0 0);
32
+ --color-primary-container: oklch(95% 0.035 95.91);
33
+ --color-on-primary-container: oklch(25% 0.03 95.91);
34
+ --color-secondary: oklch(55% 0.19 20);
35
+ --color-secondary-content: oklch(100% 0 0);
36
+ --color-secondary-container: oklch(94% 0.05 87.01);
37
+ --color-on-secondary-container: oklch(25% 0.05 87.01);
38
+ --color-tertiary: oklch(52% 0.085 235);
39
+ --color-tertiary-content: oklch(100% 0 0);
40
+ --color-tertiary-container: oklch(95% 0.035 235);
41
+ --color-on-tertiary-container: oklch(22% 0.012 235);
42
+ --color-accent: oklch(52% 0.14 327);
43
+ --color-accent-content: oklch(100% 0 0);
44
+ --color-neutral: oklch(0% 0 0);
45
+ --color-neutral-content: oklch(80% 0.015 50);
46
+ --color-neutral-variant: oklch(50% 0.02 260);
47
+ --color-surface: oklch(100% 0 0);
48
+ --color-surface-dim: oklch(96% 0.01 85);
49
+ --color-surface-bright: oklch(100% 0 0);
50
+ --color-surface-container-lowest: oklch(100% 0 0);
51
+ --color-surface-container-low: oklch(99% 0.01 85);
52
+ --color-surface-container: oklch(97% 0.01 85);
53
+ --color-surface-container-high: oklch(96% 0.01 85);
54
+ --color-surface-container-highest: oklch(94% 0.01 85);
55
+ --color-surface-variant: oklch(94% 0.02 85);
56
+ --color-on-surface: oklch(27% 0.02 260);
57
+ --color-on-surface-variant: oklch(50% 0.02 260);
58
+ --color-base-100: oklch(100% 0.005 255);
59
+ --color-base-200: oklch(95% 0.008 255);
60
+ --color-base-300: oklch(90% 0.01 255);
61
+ --color-base-400: oklch(55% 0.06 255);
62
+ --color-base-500: oklch(45% 0.05 255);
63
+ --color-base-600: oklch(35% 0.04 255);
64
+ --color-base-700: oklch(25% 0.03 255);
65
+ --color-base-800: oklch(18% 0.02 255);
66
+ --color-base-900: oklch(12% 0.01 255);
67
+ --color-base-content: oklch(10% 0 255);
68
+ --color-outline: oklch(75% 0.01 260);
69
+ --color-outline-variant: oklch(85% 0.01 260);
70
+ --color-inverse-surface: oklch(25% 0.02 260);
71
+ --color-inverse-on-surface: oklch(95% 0.01 260);
72
+ --color-inverse-primary: oklch(80% 0.14 55);
73
+ --color-shadow: oklch(0% 0 0);
74
+ --color-scrim: oklch(0% 0 0 / 50%);
75
+ --color-info: oklch(41.94% 0.114 254.39);
76
+ --color-info-content: oklch(91.94% 0.114 254.39);
77
+ --color-info-container: oklch(95% 0.03 235);
78
+ --color-on-info-container: oklch(35% 0.08 235);
79
+ --color-success: oklch(50% 0.19 133.55);
80
+ --color-success-content: oklch(100% 0 0);
81
+ --color-success-container: oklch(93% 0.04 150);
82
+ --color-on-success-container: oklch(30% 0.08 150);
83
+ --color-warning: oklch(52% 0.203 42.44);
84
+ --color-warning-content: oklch(100% 0 0);
85
+ --color-warning-container: oklch(93% 0.05 80);
86
+ --color-on-warning-container: oklch(38% 0.10 80);
87
+ --color-error: oklch(52% 0.237 28.15);
88
+ --color-error-content: oklch(100% 0 0);
89
+ --color-error-container: oklch(93% 0.04 25);
90
+ --color-on-error-container: oklch(32% 0.10 25);
91
+
92
+ --radius-selector: 0.25rem;
93
+ --radius-field: 0.625rem;
94
+ --radius-box: 2rem;
95
+ --size-selector: 0.1875rem;
96
+ --size-field: 0.1875rem;
97
+ --border: 0.5px;
98
+ --depth: 1;
99
+ --noise: 1;
100
+ }
101
+
102
+ /* Dark auto-detect — moonlight theme for users with dark OS preference */
103
+ @media (prefers-color-scheme: dark) {
104
+ :root:not([data-theme]) {
105
+ color-scheme: dark;
106
+ --theme-name: "moonlight";
107
+ --theme-mode: "dark";
108
+ --theme-family: "duskmoon";
109
+ --theme-pair: "sunshine";
110
+ --theme-description: "Neutral white/gold";
111
+ --color-primary: oklch(85.45% 0 0);
112
+ --color-primary-content: oklch(14.94% 0.031 39.947);
113
+ --color-primary-container: oklch(25% 0.01 0);
114
+ --color-on-primary-container: oklch(85% 0.01 0);
115
+ --color-secondary: oklch(83.33% 0.0981 73.78);
116
+ --color-secondary-content: oklch(14.507% 0.035 2.72);
117
+ --color-secondary-container: oklch(28% 0.03 73.78);
118
+ --color-on-secondary-container: oklch(88% 0.03 73.78);
119
+ --color-tertiary: oklch(72% 0.090 255);
120
+ --color-tertiary-content: oklch(14% 0.012 255);
121
+ --color-tertiary-container: oklch(28% 0.030 255);
122
+ --color-on-tertiary-container: oklch(88% 0.010 255);
123
+ --color-accent: oklch(75.65% 0.1303 335.51);
124
+ --color-accent-content: oklch(14.258% 0.033 299.844);
125
+ --color-neutral: oklch(23% 0 0);
126
+ --color-neutral-content: oklch(52.43% 0 0);
127
+ --color-neutral-variant: oklch(55% 0.01 260);
128
+ --color-surface: oklch(20% 0.02 260);
129
+ --color-surface-dim: oklch(17% 0.02 260);
130
+ --color-surface-bright: oklch(28% 0.02 260);
131
+ --color-surface-container-lowest: oklch(14% 0.02 260);
132
+ --color-surface-container-low: oklch(20% 0.02 260);
133
+ --color-surface-container: oklch(22% 0.02 260);
134
+ --color-surface-container-high: oklch(25% 0.02 260);
135
+ --color-surface-container-highest: oklch(28% 0.01 260);
136
+ --color-surface-variant: oklch(30% 0.02 260);
137
+ --color-on-surface: oklch(95% 0.01 260);
138
+ --color-on-surface-variant: oklch(75% 0.01 260);
139
+ --color-base-100: oklch(22% 0.019 237.69);
140
+ --color-base-200: oklch(20% 0.019 237.69);
141
+ --color-base-300: oklch(18% 0.019 237.69);
142
+ --color-base-400: oklch(26% 0.019 237.69);
143
+ --color-base-500: oklch(32% 0.019 237.69);
144
+ --color-base-600: oklch(40% 0.018 237.69);
145
+ --color-base-700: oklch(55% 0.017 237.69);
146
+ --color-base-800: oklch(70% 0.016 237.69);
147
+ --color-base-900: oklch(85% 0.015 237.69);
148
+ --color-base-content: oklch(77.383% 0.043 245.096);
149
+ --color-outline: oklch(44% 0.01 260);
150
+ --color-outline-variant: oklch(35% 0.01 260);
151
+ --color-inverse-surface: oklch(95% 0.01 260);
152
+ --color-inverse-on-surface: oklch(25% 0.02 260);
153
+ --color-inverse-primary: oklch(55% 0.16 255);
154
+ --color-shadow: oklch(0% 0 0);
155
+ --color-scrim: oklch(0% 0 0 / 60%);
156
+ --color-info: oklch(82.42% 0.09757279812867503 240.7677443360475);
157
+ --color-info-content: oklch(17.111% 0.017 206.015);
158
+ --color-info-container: oklch(32% 0.06 235);
159
+ --color-on-info-container: oklch(88% 0.06 235);
160
+ --color-success: oklch(82.19% 0.0621 133.3);
161
+ --color-success-content: oklch(17.112% 0.017 144.778);
162
+ --color-success-container: oklch(30% 0.05 150);
163
+ --color-on-success-container: oklch(85% 0.06 150);
164
+ --color-warning: oklch(76.36% 0.1752731353930708 61.96388739129725);
165
+ --color-warning-content: oklch(17.113% 0.016 74.427);
166
+ --color-warning-container: oklch(35% 0.06 80);
167
+ --color-on-warning-container: oklch(90% 0.06 80);
168
+ --color-error: oklch(46.38% 0.1898 29.17);
169
+ --color-error-content: oklch(86.38% 0.298 39.17);
170
+ --color-error-container: oklch(30% 0.08 25);
171
+ --color-on-error-container: oklch(88% 0.06 25);
172
+
173
+ --radius-selector: 0.125rem;
174
+ --radius-field: 0.375rem;
175
+ --radius-box: 1rem;
176
+ --size-selector: 0.125rem;
177
+ --size-field: 0.125rem;
178
+ --border: 1px;
179
+ --depth: 0.8;
180
+ --noise: 0.6;
181
+ }
182
+ }
183
+
184
+ /* GENERATED — DO NOT EDIT */
185
+ /* Source: tokens/sunshine.yaml */
186
+ /* Generator: duskmoon-codegen v2.0.0 */
187
+
188
+ [data-theme="sunshine"] {
189
+ color-scheme: light;
190
+ --theme-name: "sunshine";
191
+ --theme-mode: "light";
192
+ --theme-family: "duskmoon";
193
+ --theme-pair: "moonlight";
194
+ --theme-description: "Warm amber/coral";
195
+ --color-primary: oklch(52% 0.17 75);
196
+ --color-primary-content: oklch(100% 0 0);
197
+ --color-primary-container: oklch(95% 0.035 95.91);
198
+ --color-on-primary-container: oklch(25% 0.03 95.91);
199
+ --color-secondary: oklch(55% 0.19 20);
200
+ --color-secondary-content: oklch(100% 0 0);
201
+ --color-secondary-container: oklch(94% 0.05 87.01);
202
+ --color-on-secondary-container: oklch(25% 0.05 87.01);
203
+ --color-tertiary: oklch(52% 0.085 235);
204
+ --color-tertiary-content: oklch(100% 0 0);
205
+ --color-tertiary-container: oklch(95% 0.035 235);
206
+ --color-on-tertiary-container: oklch(22% 0.012 235);
207
+ --color-accent: oklch(52% 0.14 327);
208
+ --color-accent-content: oklch(100% 0 0);
209
+ --color-neutral: oklch(0% 0 0);
210
+ --color-neutral-content: oklch(80% 0.015 50);
211
+ --color-neutral-variant: oklch(50% 0.02 260);
212
+ --color-surface: oklch(100% 0 0);
213
+ --color-surface-dim: oklch(96% 0.01 85);
214
+ --color-surface-bright: oklch(100% 0 0);
215
+ --color-surface-container-lowest: oklch(100% 0 0);
216
+ --color-surface-container-low: oklch(99% 0.01 85);
217
+ --color-surface-container: oklch(97% 0.01 85);
218
+ --color-surface-container-high: oklch(96% 0.01 85);
219
+ --color-surface-container-highest: oklch(94% 0.01 85);
220
+ --color-surface-variant: oklch(94% 0.02 85);
221
+ --color-on-surface: oklch(27% 0.02 260);
222
+ --color-on-surface-variant: oklch(50% 0.02 260);
223
+ --color-base-100: oklch(100% 0.005 255);
224
+ --color-base-200: oklch(95% 0.008 255);
225
+ --color-base-300: oklch(90% 0.01 255);
226
+ --color-base-400: oklch(55% 0.06 255);
227
+ --color-base-500: oklch(45% 0.05 255);
228
+ --color-base-600: oklch(35% 0.04 255);
229
+ --color-base-700: oklch(25% 0.03 255);
230
+ --color-base-800: oklch(18% 0.02 255);
231
+ --color-base-900: oklch(12% 0.01 255);
232
+ --color-base-content: oklch(10% 0 255);
233
+ --color-outline: oklch(75% 0.01 260);
234
+ --color-outline-variant: oklch(85% 0.01 260);
235
+ --color-inverse-surface: oklch(25% 0.02 260);
236
+ --color-inverse-on-surface: oklch(95% 0.01 260);
237
+ --color-inverse-primary: oklch(80% 0.14 55);
238
+ --color-shadow: oklch(0% 0 0);
239
+ --color-scrim: oklch(0% 0 0 / 50%);
240
+ --color-info: oklch(41.94% 0.114 254.39);
241
+ --color-info-content: oklch(91.94% 0.114 254.39);
242
+ --color-info-container: oklch(95% 0.03 235);
243
+ --color-on-info-container: oklch(35% 0.08 235);
244
+ --color-success: oklch(50% 0.19 133.55);
245
+ --color-success-content: oklch(100% 0 0);
246
+ --color-success-container: oklch(93% 0.04 150);
247
+ --color-on-success-container: oklch(30% 0.08 150);
248
+ --color-warning: oklch(52% 0.203 42.44);
249
+ --color-warning-content: oklch(100% 0 0);
250
+ --color-warning-container: oklch(93% 0.05 80);
251
+ --color-on-warning-container: oklch(38% 0.10 80);
252
+ --color-error: oklch(52% 0.237 28.15);
253
+ --color-error-content: oklch(100% 0 0);
254
+ --color-error-container: oklch(93% 0.04 25);
255
+ --color-on-error-container: oklch(32% 0.10 25);
256
+
257
+ --radius-selector: 0.25rem;
258
+ --radius-field: 0.625rem;
259
+ --radius-box: 2rem;
260
+ --size-selector: 0.1875rem;
261
+ --size-field: 0.1875rem;
262
+ --border: 0.5px;
263
+ --depth: 1;
264
+ --noise: 1;
265
+ }
266
+
267
+ /* GENERATED — DO NOT EDIT */
268
+ /* Source: tokens/moonlight.yaml */
269
+ /* Generator: duskmoon-codegen v2.0.0 */
270
+
271
+ [data-theme="moonlight"] {
272
+ color-scheme: dark;
273
+ --theme-name: "moonlight";
274
+ --theme-mode: "dark";
275
+ --theme-family: "duskmoon";
276
+ --theme-pair: "sunshine";
277
+ --theme-description: "Neutral white/gold";
278
+ --color-primary: oklch(85.45% 0 0);
279
+ --color-primary-content: oklch(14.94% 0.031 39.947);
280
+ --color-primary-container: oklch(25% 0.01 0);
281
+ --color-on-primary-container: oklch(85% 0.01 0);
282
+ --color-secondary: oklch(83.33% 0.0981 73.78);
283
+ --color-secondary-content: oklch(14.507% 0.035 2.72);
284
+ --color-secondary-container: oklch(28% 0.03 73.78);
285
+ --color-on-secondary-container: oklch(88% 0.03 73.78);
286
+ --color-tertiary: oklch(72% 0.090 255);
287
+ --color-tertiary-content: oklch(14% 0.012 255);
288
+ --color-tertiary-container: oklch(28% 0.030 255);
289
+ --color-on-tertiary-container: oklch(88% 0.010 255);
290
+ --color-accent: oklch(75.65% 0.1303 335.51);
291
+ --color-accent-content: oklch(14.258% 0.033 299.844);
292
+ --color-neutral: oklch(23% 0 0);
293
+ --color-neutral-content: oklch(52.43% 0 0);
294
+ --color-neutral-variant: oklch(55% 0.01 260);
295
+ --color-surface: oklch(20% 0.02 260);
296
+ --color-surface-dim: oklch(17% 0.02 260);
297
+ --color-surface-bright: oklch(28% 0.02 260);
298
+ --color-surface-container-lowest: oklch(14% 0.02 260);
299
+ --color-surface-container-low: oklch(20% 0.02 260);
300
+ --color-surface-container: oklch(22% 0.02 260);
301
+ --color-surface-container-high: oklch(25% 0.02 260);
302
+ --color-surface-container-highest: oklch(28% 0.01 260);
303
+ --color-surface-variant: oklch(30% 0.02 260);
304
+ --color-on-surface: oklch(95% 0.01 260);
305
+ --color-on-surface-variant: oklch(75% 0.01 260);
306
+ --color-base-100: oklch(22% 0.019 237.69);
307
+ --color-base-200: oklch(20% 0.019 237.69);
308
+ --color-base-300: oklch(18% 0.019 237.69);
309
+ --color-base-400: oklch(26% 0.019 237.69);
310
+ --color-base-500: oklch(32% 0.019 237.69);
311
+ --color-base-600: oklch(40% 0.018 237.69);
312
+ --color-base-700: oklch(55% 0.017 237.69);
313
+ --color-base-800: oklch(70% 0.016 237.69);
314
+ --color-base-900: oklch(85% 0.015 237.69);
315
+ --color-base-content: oklch(77.383% 0.043 245.096);
316
+ --color-outline: oklch(44% 0.01 260);
317
+ --color-outline-variant: oklch(35% 0.01 260);
318
+ --color-inverse-surface: oklch(95% 0.01 260);
319
+ --color-inverse-on-surface: oklch(25% 0.02 260);
320
+ --color-inverse-primary: oklch(55% 0.16 255);
321
+ --color-shadow: oklch(0% 0 0);
322
+ --color-scrim: oklch(0% 0 0 / 60%);
323
+ --color-info: oklch(82.42% 0.09757279812867503 240.7677443360475);
324
+ --color-info-content: oklch(17.111% 0.017 206.015);
325
+ --color-info-container: oklch(32% 0.06 235);
326
+ --color-on-info-container: oklch(88% 0.06 235);
327
+ --color-success: oklch(82.19% 0.0621 133.3);
328
+ --color-success-content: oklch(17.112% 0.017 144.778);
329
+ --color-success-container: oklch(30% 0.05 150);
330
+ --color-on-success-container: oklch(85% 0.06 150);
331
+ --color-warning: oklch(76.36% 0.1752731353930708 61.96388739129725);
332
+ --color-warning-content: oklch(17.113% 0.016 74.427);
333
+ --color-warning-container: oklch(35% 0.06 80);
334
+ --color-on-warning-container: oklch(90% 0.06 80);
335
+ --color-error: oklch(46.38% 0.1898 29.17);
336
+ --color-error-content: oklch(86.38% 0.298 39.17);
337
+ --color-error-container: oklch(30% 0.08 25);
338
+ --color-on-error-container: oklch(88% 0.06 25);
339
+
340
+ --radius-selector: 0.125rem;
341
+ --radius-field: 0.375rem;
342
+ --radius-box: 1rem;
343
+ --size-selector: 0.125rem;
344
+ --size-field: 0.125rem;
345
+ --border: 1px;
346
+ --depth: 0.8;
347
+ --noise: 0.6;
348
+ }
349
+
350
+ /* GENERATED — DO NOT EDIT */
351
+ /* Source: tokens/ocean.yaml */
352
+ /* Generator: duskmoon-codegen v2.0.0 */
353
+
354
+ [data-theme="ocean"] {
355
+ color-scheme: dark;
356
+ --theme-name: "ocean";
357
+ --theme-mode: "dark";
358
+ --theme-family: "ecotone";
359
+ --theme-pair: "forest";
360
+ --theme-description: "Cool blue";
361
+ --color-primary: oklch(72% 0.12 210);
362
+ --color-primary-content: oklch(15% 0.02 210);
363
+ --color-primary-container: oklch(30% 0.08 210);
364
+ --color-on-primary-container: oklch(90% 0.04 210);
365
+ --color-secondary: oklch(75% 0.10 175);
366
+ --color-secondary-content: oklch(15% 0.02 175);
367
+ --color-secondary-container: oklch(28% 0.06 175);
368
+ --color-on-secondary-container: oklch(90% 0.04 175);
369
+ --color-tertiary: oklch(72% 0.10 280);
370
+ --color-tertiary-content: oklch(15% 0.02 280);
371
+ --color-tertiary-container: oklch(28% 0.06 280);
372
+ --color-on-tertiary-container: oklch(90% 0.04 280);
373
+ --color-accent: oklch(70% 0.12 190);
374
+ --color-accent-content: oklch(15% 0.03 190);
375
+ --color-neutral: oklch(90% 0.01 210);
376
+ --color-neutral-content: oklch(16% 0.02 220);
377
+ --color-neutral-variant: oklch(50% 0.02 220);
378
+ --color-surface: oklch(16% 0.02 220);
379
+ --color-surface-dim: oklch(10% 0.015 220);
380
+ --color-surface-bright: oklch(24% 0.025 220);
381
+ --color-surface-container-lowest: oklch(8% 0.01 220);
382
+ --color-surface-container-low: oklch(12% 0.015 220);
383
+ --color-surface-container: oklch(16% 0.02 220);
384
+ --color-surface-container-high: oklch(20% 0.022 220);
385
+ --color-surface-container-highest: oklch(24% 0.025 220);
386
+ --color-surface-variant: oklch(22% 0.025 220);
387
+ --color-on-surface: oklch(90% 0.01 210);
388
+ --color-on-surface-variant: oklch(70% 0.015 210);
389
+ --color-base-100: oklch(16% 0.02 220);
390
+ --color-base-200: oklch(14% 0.015 220);
391
+ --color-base-300: oklch(10% 0.01 220);
392
+ --color-base-400: oklch(30% 0.02 220);
393
+ --color-base-500: oklch(40% 0.02 220);
394
+ --color-base-600: oklch(55% 0.015 220);
395
+ --color-base-700: oklch(70% 0.01 220);
396
+ --color-base-800: oklch(82% 0.01 220);
397
+ --color-base-900: oklch(92% 0.005 220);
398
+ --color-base-content: oklch(90% 0.01 210);
399
+ --color-outline: oklch(45% 0.02 220);
400
+ --color-outline-variant: oklch(32% 0.015 220);
401
+ --color-inverse-surface: oklch(90% 0.01 210);
402
+ --color-inverse-on-surface: oklch(16% 0.02 220);
403
+ --color-inverse-primary: oklch(45% 0.12 210);
404
+ --color-shadow: oklch(0% 0 0);
405
+ --color-scrim: oklch(0% 0 0 / 60%);
406
+ --color-info: oklch(70% 0.12 230);
407
+ --color-info-content: oklch(15% 0.03 230);
408
+ --color-info-container: oklch(28% 0.06 230);
409
+ --color-on-info-container: oklch(88% 0.04 230);
410
+ --color-success: oklch(72% 0.15 155);
411
+ --color-success-content: oklch(15% 0.03 155);
412
+ --color-success-container: oklch(28% 0.06 155);
413
+ --color-on-success-container: oklch(88% 0.04 155);
414
+ --color-warning: oklch(75% 0.14 75);
415
+ --color-warning-content: oklch(18% 0.04 75);
416
+ --color-warning-container: oklch(30% 0.06 75);
417
+ --color-on-warning-container: oklch(88% 0.05 75);
418
+ --color-error: oklch(70% 0.16 20);
419
+ --color-error-content: oklch(15% 0.03 20);
420
+ --color-error-container: oklch(28% 0.06 20);
421
+ --color-on-error-container: oklch(88% 0.05 20);
422
+
423
+ --radius-selector: 0.25rem;
424
+ --radius-field: 0.75rem;
425
+ --radius-box: 1.5rem;
426
+ --size-selector: 0.125rem;
427
+ --size-field: 0.125rem;
428
+ --border: 1px;
429
+ --depth: 0.7;
430
+ --noise: 0.3;
431
+ }
432
+
433
+ /* GENERATED — DO NOT EDIT */
434
+ /* Source: tokens/forest.yaml */
435
+ /* Generator: duskmoon-codegen v2.0.0 */
436
+
437
+ [data-theme="forest"] {
438
+ color-scheme: light;
439
+ --theme-name: "forest";
440
+ --theme-mode: "light";
441
+ --theme-family: "ecotone";
442
+ --theme-pair: "ocean";
443
+ --theme-description: "Cool green/teal";
444
+ --color-primary: oklch(50% 0.14 150);
445
+ --color-primary-content: oklch(98% 0.01 150);
446
+ --color-primary-container: oklch(92% 0.04 150);
447
+ --color-on-primary-container: oklch(22% 0.06 150);
448
+ --color-secondary: oklch(52% 0.10 55);
449
+ --color-secondary-content: oklch(98% 0.01 55);
450
+ --color-secondary-container: oklch(92% 0.03 55);
451
+ --color-on-secondary-container: oklch(24% 0.05 55);
452
+ --color-tertiary: oklch(58% 0.08 175);
453
+ --color-tertiary-content: oklch(98% 0.01 175);
454
+ --color-tertiary-container: oklch(93% 0.03 175);
455
+ --color-on-tertiary-container: oklch(22% 0.04 175);
456
+ --color-accent: oklch(60% 0.12 85);
457
+ --color-accent-content: oklch(20% 0.04 85);
458
+ --color-neutral: oklch(14% 0.01 100);
459
+ --color-neutral-content: oklch(92% 0.01 100);
460
+ --color-neutral-variant: oklch(48% 0.015 100);
461
+ --color-surface: oklch(99% 0.005 100);
462
+ --color-surface-dim: oklch(95% 0.01 100);
463
+ --color-surface-bright: oklch(100% 0 0);
464
+ --color-surface-container-lowest: oklch(100% 0 0);
465
+ --color-surface-container-low: oklch(98% 0.008 100);
466
+ --color-surface-container: oklch(96% 0.01 100);
467
+ --color-surface-container-high: oklch(94% 0.012 100);
468
+ --color-surface-container-highest: oklch(92% 0.015 100);
469
+ --color-surface-variant: oklch(93% 0.02 100);
470
+ --color-on-surface: oklch(22% 0.02 100);
471
+ --color-on-surface-variant: oklch(42% 0.02 100);
472
+ --color-base-100: oklch(99% 0.005 100);
473
+ --color-base-200: oklch(92% 0.01 100);
474
+ --color-base-300: oklch(80% 0.01 100);
475
+ --color-base-400: oklch(60% 0.01 100);
476
+ --color-base-500: oklch(48% 0.01 100);
477
+ --color-base-600: oklch(38% 0.01 100);
478
+ --color-base-700: oklch(28% 0.01 100);
479
+ --color-base-800: oklch(20% 0.008 100);
480
+ --color-base-900: oklch(14% 0.005 100);
481
+ --color-base-content: oklch(14% 0.01 100);
482
+ --color-outline: oklch(60% 0.015 100);
483
+ --color-outline-variant: oklch(78% 0.01 100);
484
+ --color-inverse-surface: oklch(22% 0.02 100);
485
+ --color-inverse-on-surface: oklch(95% 0.01 100);
486
+ --color-inverse-primary: oklch(75% 0.10 150);
487
+ --color-shadow: oklch(0% 0 0);
488
+ --color-scrim: oklch(0% 0 0 / 40%);
489
+ --color-info: oklch(48% 0.12 240);
490
+ --color-info-content: oklch(98% 0.01 240);
491
+ --color-info-container: oklch(94% 0.03 240);
492
+ --color-on-info-container: oklch(28% 0.06 240);
493
+ --color-success: oklch(55% 0.16 145);
494
+ --color-success-content: oklch(98% 0.01 145);
495
+ --color-success-container: oklch(93% 0.04 145);
496
+ --color-on-success-container: oklch(25% 0.07 145);
497
+ --color-warning: oklch(62% 0.16 65);
498
+ --color-warning-content: oklch(18% 0.04 65);
499
+ --color-warning-container: oklch(93% 0.04 65);
500
+ --color-on-warning-container: oklch(32% 0.08 65);
501
+ --color-error: oklch(52% 0.18 15);
502
+ --color-error-content: oklch(98% 0.01 15);
503
+ --color-error-container: oklch(93% 0.04 15);
504
+ --color-on-error-container: oklch(28% 0.08 15);
505
+
506
+ --radius-selector: 0.125rem;
507
+ --radius-field: 0.375rem;
508
+ --radius-box: 1rem;
509
+ --size-selector: 0.1875rem;
510
+ --size-field: 0.1875rem;
511
+ --border: 1px;
512
+ --depth: 0.5;
513
+ --noise: 0.8;
514
+ }
515
+
516
+ /* GENERATED — DO NOT EDIT */
517
+ /* Source: tokens/_spacing.yaml */
518
+ /* Generator: duskmoon-codegen v2.0.0 */
519
+
520
+ :root {
521
+ --spacing-0: 0px;
522
+ --spacing-1: 4px;
523
+ --spacing-2: 8px;
524
+ --spacing-3: 12px;
525
+ --spacing-4: 16px;
526
+ --spacing-5: 20px;
527
+ --spacing-6: 24px;
528
+ --spacing-7: 28px;
529
+ --spacing-8: 32px;
530
+ --spacing-10: 40px;
531
+ --spacing-12: 48px;
532
+ --spacing-16: 64px;
533
+ --spacing-20: 80px;
534
+ --spacing-24: 96px;
535
+
536
+ --radius-none: 0px;
537
+ --radius-xs: 4px;
538
+ --radius-sm: 8px;
539
+ --radius-md: 12px;
540
+ --radius-lg: 16px;
541
+ --radius-xl: 20px;
542
+ --radius-2xl: 28px;
543
+ --radius-full: 9999px;
544
+
545
+ --elevation-level0: 0px;
546
+ --elevation-level1: 1px;
547
+ --elevation-level2: 3px;
548
+ --elevation-level3: 6px;
549
+ --elevation-level4: 8px;
550
+ --elevation-level5: 12px;
551
+ }
552
+