@okja/chi-themes 0.1.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,859 @@
1
+
2
+ @layer reset, tokens, base;
3
+ /**
4
+ * Default Theme - Grayscale
5
+ * Neutral grayscale for wireframing and prototyping
6
+ */
7
+ /* Declare layer order */
8
+ /* Reset layer */
9
+ @layer reset{
10
+
11
+ /**
12
+ * CSS Reset
13
+ * Modern CSS reset for Chi Design System
14
+ */
15
+
16
+ html,
17
+ body,
18
+ div,
19
+ span,
20
+ applet,
21
+ object,
22
+ iframe,
23
+ h1,
24
+ h2,
25
+ h3,
26
+ h4,
27
+ h5,
28
+ h6,
29
+ p,
30
+ blockquote,
31
+ pre,
32
+ a,
33
+ abbr,
34
+ acronym,
35
+ address,
36
+ big,
37
+ cite,
38
+ code,
39
+ del,
40
+ dfn,
41
+ em,
42
+ img,
43
+ ins,
44
+ kbd,
45
+ q,
46
+ s,
47
+ samp,
48
+ small,
49
+ strike,
50
+ strong,
51
+ sub,
52
+ sup,
53
+ tt,
54
+ var,
55
+ b,
56
+ u,
57
+ i,
58
+ center,
59
+ dl,
60
+ dt,
61
+ dd,
62
+ ol,
63
+ ul,
64
+ li,
65
+ fieldset,
66
+ form,
67
+ label,
68
+ legend,
69
+ table,
70
+ caption,
71
+ tbody,
72
+ tfoot,
73
+ thead,
74
+ tr,
75
+ th,
76
+ td,
77
+ article,
78
+ aside,
79
+ canvas,
80
+ details,
81
+ embed,
82
+ figure,
83
+ figcaption,
84
+ footer,
85
+ header,
86
+ hgroup,
87
+ menu,
88
+ nav,
89
+ output,
90
+ ruby,
91
+ section,
92
+ summary,
93
+ time,
94
+ mark,
95
+ audio,
96
+ video {
97
+ margin: 0;
98
+ padding: 0;
99
+ border: 0;
100
+ font: inherit;
101
+ font-size: 100%;
102
+ vertical-align: baseline;
103
+ }
104
+
105
+ article,
106
+ aside,
107
+ details,
108
+ figcaption,
109
+ figure,
110
+ footer,
111
+ header,
112
+ hgroup,
113
+ menu,
114
+ nav,
115
+ section {
116
+ display: block;
117
+ }
118
+
119
+ body {
120
+ line-height: 1;
121
+ }
122
+
123
+ ol,
124
+ ul {
125
+ list-style: none;
126
+ }
127
+
128
+ blockquote,
129
+ q {
130
+ quotes: none;
131
+ }
132
+
133
+ blockquote:before,
134
+ blockquote:after,
135
+ q:before,
136
+ q:after {
137
+ content: '';
138
+ content: none;
139
+ }
140
+
141
+ table {
142
+ border-collapse: collapse;
143
+ border-spacing: 0;
144
+ }
145
+
146
+ * {
147
+ box-sizing: border-box;
148
+ }
149
+
150
+ html,
151
+ body {
152
+ height: 100%;
153
+ margin: 0;
154
+ }
155
+
156
+ html {
157
+ -webkit-text-size-adjust: 100%;
158
+ tab-size: 4;
159
+ }
160
+ }
161
+ /* Tokens layer */
162
+ /**
163
+ * Chi Design System - Token Base
164
+ * Aggregates all token categories within @layer tokens
165
+ */
166
+ /**
167
+ * Chi Design System - Scaling Tokens
168
+ * Global scaling factor for responsive sizing (90%-110%)
169
+ */
170
+ @layer tokens {
171
+ :root {
172
+ --scaling: 1;
173
+ }
174
+
175
+ [data-scaling='90'] {
176
+ --scaling: 0.9;
177
+ }
178
+
179
+ [data-scaling='95'] {
180
+ --scaling: 0.95;
181
+ }
182
+
183
+ [data-scaling='100'] {
184
+ --scaling: 1;
185
+ }
186
+
187
+ [data-scaling='105'] {
188
+ --scaling: 1.05;
189
+ }
190
+
191
+ [data-scaling='110'] {
192
+ --scaling: 1.1;
193
+ }
194
+ }
195
+ /**
196
+ * Chi Design System - Spacing Tokens
197
+ * Spacing scale using 4px base unit with scaling support
198
+ */
199
+ @layer tokens {
200
+ :root {
201
+ --space-1: calc(4px * var(--scaling, 1));
202
+ --space-2: calc(8px * var(--scaling, 1));
203
+ --space-3: calc(12px * var(--scaling, 1));
204
+ --space-4: calc(16px * var(--scaling, 1));
205
+ --space-5: calc(24px * var(--scaling, 1));
206
+ --space-6: calc(32px * var(--scaling, 1));
207
+ --space-7: calc(40px * var(--scaling, 1));
208
+ --space-8: calc(48px * var(--scaling, 1));
209
+ --space-9: calc(64px * var(--scaling, 1));
210
+ }
211
+ }
212
+ /**
213
+ * Chi Design System - Typography Tokens
214
+ * Typography scale with scaling support
215
+ */
216
+ @layer tokens {
217
+ :root {
218
+ /* Font families */
219
+ --font-sans: system-ui, -apple-system, 'Segoe UI', sans-serif;
220
+ --font-serif: georgia, 'Times New Roman', serif;
221
+ --font-mono: 'SF Mono', monaco, 'Courier New', monospace;
222
+
223
+ /* Font sizes */
224
+ --font-size-1: calc(12px * var(--scaling, 1));
225
+ --font-size-2: calc(14px * var(--scaling, 1));
226
+ --font-size-3: calc(16px * var(--scaling, 1));
227
+ --font-size-4: calc(18px * var(--scaling, 1));
228
+ --font-size-5: calc(20px * var(--scaling, 1));
229
+ --font-size-6: calc(24px * var(--scaling, 1));
230
+ --font-size-7: calc(28px * var(--scaling, 1));
231
+ --font-size-8: calc(35px * var(--scaling, 1));
232
+ --font-size-9: calc(60px * var(--scaling, 1));
233
+
234
+ /* Font weights */
235
+ --font-weight-light: 300;
236
+ --font-weight-regular: 400;
237
+ --font-weight-medium: 500;
238
+ --font-weight-bold: 700;
239
+
240
+ /* Line heights */
241
+ --line-height-1: calc(16px * var(--scaling, 1));
242
+ --line-height-2: calc(20px * var(--scaling, 1));
243
+ --line-height-3: calc(24px * var(--scaling, 1));
244
+ --line-height-4: calc(26px * var(--scaling, 1));
245
+ --line-height-5: calc(28px * var(--scaling, 1));
246
+ --line-height-6: calc(30px * var(--scaling, 1));
247
+ --line-height-7: calc(36px * var(--scaling, 1));
248
+ --line-height-8: calc(40px * var(--scaling, 1));
249
+ --line-height-9: calc(60px * var(--scaling, 1));
250
+
251
+ /* Letter spacing */
252
+ --letter-spacing-1: 0.0025em;
253
+ --letter-spacing-2: 0em;
254
+ --letter-spacing-3: -0.0025em;
255
+ }
256
+ }
257
+ /**
258
+ * Chi Design System - Radius Tokens
259
+ * Border radius tokens with scaling support
260
+ */
261
+ @layer tokens {
262
+ :root {
263
+ /* Radius factor for variants */
264
+ --radius-factor: 1;
265
+
266
+ /* Border radius scale */
267
+ --radius-none: 0;
268
+ --radius-xs: calc(4px * var(--scaling, 1) * var(--radius-factor, 1));
269
+ --radius-sm: calc(8px * var(--scaling, 1) * var(--radius-factor, 1));
270
+ --radius-md: calc(12px * var(--scaling, 1) * var(--radius-factor, 1));
271
+ --radius-lg: calc(16px * var(--scaling, 1) * var(--radius-factor, 1));
272
+ --radius-xl: calc(28px * var(--scaling, 1) * var(--radius-factor, 1));
273
+ --radius-full: 9999px;
274
+ }
275
+
276
+ [data-radius='none'] {
277
+ --radius-factor: 0;
278
+ }
279
+
280
+ [data-radius='small'] {
281
+ --radius-factor: 0.75;
282
+ }
283
+
284
+ [data-radius='medium'] {
285
+ --radius-factor: 1;
286
+ }
287
+
288
+ [data-radius='large'] {
289
+ --radius-factor: 1.5;
290
+ }
291
+ }
292
+ /**
293
+ * Chi Design System - Shadow Tokens
294
+ * Elevation shadows with automatic light/dark mode
295
+ */
296
+ @layer tokens {
297
+ :root {
298
+ --csstools-color-scheme--light: initial;
299
+ color-scheme: light dark;
300
+
301
+ --shadow-0: none;
302
+ --shadow-1: light-dark(
303
+ 0px 1px 2px 0px rgb(0 0 0 / 30%), 0px 1px 3px 1px rgb(0 0 0 / 15%),
304
+ 0px 1px 2px 0px rgb(0 0 0 / 50%), 0px 1px 3px 1px rgb(0 0 0 / 25%)
305
+ );
306
+ --shadow-2: light-dark(
307
+ 0px 1px 2px 0px rgb(0 0 0 / 30%), 0px 2px 6px 2px rgb(0 0 0 / 15%),
308
+ 0px 1px 2px 0px rgb(0 0 0 / 50%), 0px 2px 6px 2px rgb(0 0 0 / 25%)
309
+ );
310
+ --shadow-3: light-dark(
311
+ 0px 1px 3px 0px rgb(0 0 0 / 30%), 0px 4px 8px 3px rgb(0 0 0 / 15%),
312
+ 0px 1px 3px 0px rgb(0 0 0 / 50%), 0px 4px 8px 3px rgb(0 0 0 / 25%)
313
+ );
314
+ --shadow-4: light-dark(
315
+ 0px 2px 3px 0px rgb(0 0 0 / 30%), 0px 6px 10px 4px rgb(0 0 0 / 15%),
316
+ 0px 2px 3px 0px rgb(0 0 0 / 50%), 0px 6px 10px 4px rgb(0 0 0 / 25%)
317
+ );
318
+ --shadow-5: light-dark(
319
+ 0px 4px 4px 0px rgb(0 0 0 / 30%), 0px 8px 12px 6px rgb(0 0 0 / 15%),
320
+ 0px 4px 4px 0px rgb(0 0 0 / 50%), 0px 8px 12px 6px rgb(0 0 0 / 25%)
321
+ );
322
+ }
323
+ @media (prefers-color-scheme: dark) {
324
+ :root {
325
+ --csstools-color-scheme--light: ;
326
+ }
327
+ }
328
+ }
329
+ /**
330
+ * Chi Design System - Motion Tokens
331
+ * Animation duration and easing tokens
332
+ */
333
+ @layer tokens {
334
+ :root {
335
+ /* Durations */
336
+ --duration-instant: 0ms;
337
+ --duration-short1: 50ms;
338
+ --duration-short2: 100ms;
339
+ --duration-short3: 150ms;
340
+ --duration-short4: 200ms;
341
+ --duration-medium1: 250ms;
342
+ --duration-medium2: 300ms;
343
+ --duration-medium3: 350ms;
344
+ --duration-medium4: 400ms;
345
+ --duration-long1: 450ms;
346
+ --duration-long2: 500ms;
347
+ --duration-long3: 550ms;
348
+ --duration-long4: 600ms;
349
+ --duration-extra-long1: 700ms;
350
+ --duration-extra-long2: 800ms;
351
+ --duration-extra-long3: 900ms;
352
+ --duration-extra-long4: 1000ms;
353
+
354
+ /* Easing functions */
355
+ --easing-linear: linear;
356
+ --easing-standard: cubic-bezier(0.2, 0, 0, 1);
357
+ --easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);
358
+ --easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);
359
+ --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
360
+ --easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
361
+ --easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
362
+ }
363
+ }
364
+ /**
365
+ * Chi Design System - Cursor & Icon Tokens
366
+ */
367
+ @layer tokens {
368
+ :root {
369
+ /* Icon sizes */
370
+ --icon-size-sm: calc(18px * var(--scaling, 1));
371
+ --icon-size-md: calc(24px * var(--scaling, 1));
372
+ --icon-size-lg: calc(36px * var(--scaling, 1));
373
+ --icon-size-xl: calc(48px * var(--scaling, 1));
374
+
375
+ /* Cursor styles */
376
+ --cursor-default: default;
377
+ --cursor-pointer: pointer;
378
+ --cursor-not-allowed: not-allowed;
379
+ --cursor-text: text;
380
+ --cursor-move: move;
381
+ --cursor-grab: grab;
382
+ --cursor-grabbing: grabbing;
383
+ }
384
+ }
385
+ /**
386
+ * Chi Design System - Layout Tokens
387
+ */
388
+ @layer tokens {
389
+ :root {
390
+ /* Container max-widths */
391
+ --container-1: 448px;
392
+ --container-2: 688px;
393
+ --container-3: 880px;
394
+ --container-4: 1136px;
395
+ }
396
+ }
397
+ /**
398
+ * Chi Design System - Grayscale Color Palette
399
+ * Neutral grayscale for wireframing and prototyping
400
+ */
401
+ @layer tokens {
402
+ :root {
403
+ --csstools-color-scheme--light: initial;
404
+ color-scheme: light dark;
405
+
406
+ /* Primary */
407
+ --csstools-light-dark-toggle--0: var(--csstools-color-scheme--light) oklch(79.7% 0.105 264deg);
408
+ --color-primary: var(--csstools-light-dark-toggle--0, oklch(49.4% 0.163 264deg));
409
+ --csstools-light-dark-toggle--1: var(--csstools-color-scheme--light) oklch(30% 0.163 264deg);
410
+ --color-on-primary: var(--csstools-light-dark-toggle--1, oklch(100% 0 0deg));
411
+ --csstools-light-dark-toggle--2: var(--csstools-color-scheme--light) oklch(35% 0.163 264deg);
412
+ --color-primary-container: var(--csstools-light-dark-toggle--2, oklch(79.7% 0.105 264deg));
413
+ --csstools-light-dark-toggle--3: var(--csstools-color-scheme--light) oklch(90% 0.105 264deg);
414
+ --color-on-primary-container: var(--csstools-light-dark-toggle--3, oklch(20% 0.163 264deg));
415
+
416
+ /* Secondary */
417
+ --csstools-light-dark-toggle--4: var(--csstools-color-scheme--light) oklch(75.1% 0.08 314deg);
418
+ --color-secondary: var(--csstools-light-dark-toggle--4, oklch(61.8% 0.15 314deg));
419
+ --csstools-light-dark-toggle--5: var(--csstools-color-scheme--light) oklch(35.1% 0.15 314deg);
420
+ --color-on-secondary: var(--csstools-light-dark-toggle--5, oklch(100% 0 0deg));
421
+ --csstools-light-dark-toggle--6: var(--csstools-color-scheme--light) oklch(40.1% 0.15 314deg);
422
+ --color-secondary-container: var(--csstools-light-dark-toggle--6, oklch(85.1% 0.08 314deg));
423
+ --csstools-light-dark-toggle--7: var(--csstools-color-scheme--light) oklch(90.1% 0.08 314deg);
424
+ --color-on-secondary-container: var(--csstools-light-dark-toggle--7, oklch(25.1% 0.15 314deg));
425
+
426
+ /* Tertiary */
427
+ --csstools-light-dark-toggle--8: var(--csstools-color-scheme--light) oklch(80.2% 0.08 29deg);
428
+ --color-tertiary: var(--csstools-light-dark-toggle--8, oklch(70.4% 0.15 29deg));
429
+ --csstools-light-dark-toggle--9: var(--csstools-color-scheme--light) oklch(40.2% 0.15 29deg);
430
+ --color-on-tertiary: var(--csstools-light-dark-toggle--9, oklch(100% 0 0deg));
431
+ --csstools-light-dark-toggle--10: var(--csstools-color-scheme--light) oklch(45.2% 0.15 29deg);
432
+ --color-tertiary-container: var(--csstools-light-dark-toggle--10, oklch(90.2% 0.08 29deg));
433
+ --csstools-light-dark-toggle--11: var(--csstools-color-scheme--light) oklch(95.2% 0.08 29deg);
434
+ --color-on-tertiary-container: var(--csstools-light-dark-toggle--11, oklch(30.2% 0.15 29deg));
435
+
436
+ /* Error */
437
+ --csstools-light-dark-toggle--12: var(--csstools-color-scheme--light) oklch(80.2% 0.15 29deg);
438
+ --color-error: var(--csstools-light-dark-toggle--12, oklch(62.8% 0.258 29deg));
439
+ --csstools-light-dark-toggle--13: var(--csstools-color-scheme--light) oklch(40.2% 0.258 29deg);
440
+ --color-on-error: var(--csstools-light-dark-toggle--13, oklch(100% 0 0deg));
441
+ --csstools-light-dark-toggle--14: var(--csstools-color-scheme--light) oklch(45.2% 0.258 29deg);
442
+ --color-error-container: var(--csstools-light-dark-toggle--14, oklch(90.2% 0.08 29deg));
443
+ --csstools-light-dark-toggle--15: var(--csstools-color-scheme--light) oklch(95.2% 0.15 29deg);
444
+ --color-on-error-container: var(--csstools-light-dark-toggle--15, oklch(30.2% 0.15 29deg));
445
+
446
+ /* Surface */
447
+ --csstools-light-dark-toggle--16: var(--csstools-color-scheme--light) oklch(15% 0.005 264deg);
448
+ --color-surface: var(--csstools-light-dark-toggle--16, oklch(99.1% 0.005 264deg));
449
+ --csstools-light-dark-toggle--17: var(--csstools-color-scheme--light) oklch(90% 0.005 264deg);
450
+ --color-on-surface: var(--csstools-light-dark-toggle--17, oklch(20% 0.005 264deg));
451
+ --csstools-light-dark-toggle--18: var(--csstools-color-scheme--light) oklch(25% 0.02 264deg);
452
+ --color-surface-variant: var(--csstools-light-dark-toggle--18, oklch(92.5% 0.02 264deg));
453
+ --csstools-light-dark-toggle--19: var(--csstools-color-scheme--light) oklch(75% 0.02 264deg);
454
+ --color-on-surface-variant: var(--csstools-light-dark-toggle--19, oklch(30% 0.02 264deg));
455
+ --csstools-light-dark-toggle--20: var(--csstools-color-scheme--light) oklch(20% 0.01 264deg);
456
+ --color-surface-container: var(--csstools-light-dark-toggle--20, oklch(96.1% 0.01 264deg));
457
+ --csstools-light-dark-toggle--21: var(--csstools-color-scheme--light) oklch(17% 0.005 264deg);
458
+ --color-surface-container-low: var(--csstools-light-dark-toggle--21, oklch(98.1% 0.005 264deg));
459
+ --csstools-light-dark-toggle--22: var(--csstools-color-scheme--light) oklch(25% 0.01 264deg);
460
+ --color-surface-container-high: var(--csstools-light-dark-toggle--22, oklch(94.1% 0.01 264deg));
461
+ --csstools-light-dark-toggle--23: var(--csstools-color-scheme--light) oklch(30% 0.01 264deg);
462
+ --color-surface-container-highest: var(--csstools-light-dark-toggle--23, oklch(92.1% 0.01 264deg));
463
+
464
+ /* Surface elevations */
465
+ --color-surface-0: var(--color-surface);
466
+ --csstools-light-dark-toggle--24: var(--csstools-color-scheme--light) oklch(18% 0.01 264deg);
467
+ --color-surface-1: var(--csstools-light-dark-toggle--24, oklch(97.1% 0.01 264deg));
468
+ --csstools-light-dark-toggle--25: var(--csstools-color-scheme--light) oklch(21% 0.01 264deg);
469
+ --color-surface-2: var(--csstools-light-dark-toggle--25, oklch(94.1% 0.01 264deg));
470
+ --csstools-light-dark-toggle--26: var(--csstools-color-scheme--light) oklch(24% 0.01 264deg);
471
+ --color-surface-3: var(--csstools-light-dark-toggle--26, oklch(92.1% 0.01 264deg));
472
+ --csstools-light-dark-toggle--27: var(--csstools-color-scheme--light) oklch(26% 0.01 264deg);
473
+ --color-surface-4: var(--csstools-light-dark-toggle--27, oklch(91.1% 0.01 264deg));
474
+ --csstools-light-dark-toggle--28: var(--csstools-color-scheme--light) oklch(28% 0.01 264deg);
475
+ --color-surface-5: var(--csstools-light-dark-toggle--28, oklch(90.1% 0.01 264deg));
476
+
477
+ /* Background */
478
+ --color-background: var(--color-surface);
479
+ --color-on-background: var(--color-on-surface);
480
+
481
+ /* Outline */
482
+ --csstools-light-dark-toggle--29: var(--csstools-color-scheme--light) oklch(60% 0.02 264deg);
483
+ --color-outline: var(--csstools-light-dark-toggle--29, oklch(50% 0.02 264deg));
484
+ --csstools-light-dark-toggle--30: var(--csstools-color-scheme--light) oklch(35% 0.02 264deg);
485
+ --color-outline-variant: var(--csstools-light-dark-toggle--30, oklch(80% 0.02 264deg));
486
+ --color-divider: var(--color-outline-variant);
487
+
488
+ /* Inverse */
489
+ --csstools-light-dark-toggle--31: var(--csstools-color-scheme--light) oklch(90% 0.005 264deg);
490
+ --color-inverse-surface: var(--csstools-light-dark-toggle--31, oklch(25% 0.01 264deg));
491
+ --csstools-light-dark-toggle--32: var(--csstools-color-scheme--light) oklch(25% 0.01 264deg);
492
+ --color-inverse-on-surface: var(--csstools-light-dark-toggle--32, oklch(95% 0.005 264deg));
493
+ --csstools-light-dark-toggle--33: var(--csstools-color-scheme--light) oklch(49.4% 0.163 264deg);
494
+ --color-inverse-primary: var(--csstools-light-dark-toggle--33, oklch(79.7% 0.105 264deg));
495
+
496
+ /* Scrim and shadow */
497
+ --color-scrim: oklch(0% 0 0deg);
498
+ --color-shadow: oklch(0% 0 0deg);
499
+ }
500
+
501
+ @supports (color: light-dark(red, red)) and (color: oklab(0% 0 0%)) {
502
+ :root {
503
+ --color-primary: light-dark(oklch(49.4% 0.163 264deg), oklch(79.7% 0.105 264deg));
504
+ --color-on-primary: light-dark(oklch(100% 0 0deg), oklch(30% 0.163 264deg));
505
+ --color-primary-container: light-dark(oklch(79.7% 0.105 264deg), oklch(35% 0.163 264deg));
506
+ --color-on-primary-container: light-dark(oklch(20% 0.163 264deg), oklch(90% 0.105 264deg));
507
+ --color-secondary: light-dark(oklch(61.8% 0.15 314deg), oklch(75.1% 0.08 314deg));
508
+ --color-on-secondary: light-dark(oklch(100% 0 0deg), oklch(35.1% 0.15 314deg));
509
+ --color-secondary-container: light-dark(oklch(85.1% 0.08 314deg), oklch(40.1% 0.15 314deg));
510
+ --color-on-secondary-container: light-dark(oklch(25.1% 0.15 314deg), oklch(90.1% 0.08 314deg));
511
+ --color-tertiary: light-dark(oklch(70.4% 0.15 29deg), oklch(80.2% 0.08 29deg));
512
+ --color-on-tertiary: light-dark(oklch(100% 0 0deg), oklch(40.2% 0.15 29deg));
513
+ --color-tertiary-container: light-dark(oklch(90.2% 0.08 29deg), oklch(45.2% 0.15 29deg));
514
+ --color-on-tertiary-container: light-dark(oklch(30.2% 0.15 29deg), oklch(95.2% 0.08 29deg));
515
+ --color-error: light-dark(oklch(62.8% 0.258 29deg), oklch(80.2% 0.15 29deg));
516
+ --color-on-error: light-dark(oklch(100% 0 0deg), oklch(40.2% 0.258 29deg));
517
+ --color-error-container: light-dark(oklch(90.2% 0.08 29deg), oklch(45.2% 0.258 29deg));
518
+ --color-on-error-container: light-dark(oklch(30.2% 0.15 29deg), oklch(95.2% 0.15 29deg));
519
+ --color-surface: light-dark(oklch(99.1% 0.005 264deg), oklch(15% 0.005 264deg));
520
+ --color-on-surface: light-dark(oklch(20% 0.005 264deg), oklch(90% 0.005 264deg));
521
+ --color-surface-variant: light-dark(oklch(92.5% 0.02 264deg), oklch(25% 0.02 264deg));
522
+ --color-on-surface-variant: light-dark(oklch(30% 0.02 264deg), oklch(75% 0.02 264deg));
523
+ --color-surface-container: light-dark(oklch(96.1% 0.01 264deg), oklch(20% 0.01 264deg));
524
+ --color-surface-container-low: light-dark(oklch(98.1% 0.005 264deg), oklch(17% 0.005 264deg));
525
+ --color-surface-container-high: light-dark(oklch(94.1% 0.01 264deg), oklch(25% 0.01 264deg));
526
+ --color-surface-container-highest: light-dark(oklch(92.1% 0.01 264deg), oklch(30% 0.01 264deg));
527
+ --color-surface-1: light-dark(oklch(97.1% 0.01 264deg), oklch(18% 0.01 264deg));
528
+ --color-surface-2: light-dark(oklch(94.1% 0.01 264deg), oklch(21% 0.01 264deg));
529
+ --color-surface-3: light-dark(oklch(92.1% 0.01 264deg), oklch(24% 0.01 264deg));
530
+ --color-surface-4: light-dark(oklch(91.1% 0.01 264deg), oklch(26% 0.01 264deg));
531
+ --color-surface-5: light-dark(oklch(90.1% 0.01 264deg), oklch(28% 0.01 264deg));
532
+ --color-outline: light-dark(oklch(50% 0.02 264deg), oklch(60% 0.02 264deg));
533
+ --color-outline-variant: light-dark(oklch(80% 0.02 264deg), oklch(35% 0.02 264deg));
534
+ --color-inverse-surface: light-dark(oklch(25% 0.01 264deg), oklch(90% 0.005 264deg));
535
+ --color-inverse-on-surface: light-dark(oklch(95% 0.005 264deg), oklch(25% 0.01 264deg));
536
+ --color-inverse-primary: light-dark(oklch(79.7% 0.105 264deg), oklch(49.4% 0.163 264deg));
537
+ }
538
+ }
539
+ @supports not (color: light-dark(tan, tan)) {
540
+ :root * {
541
+ --csstools-light-dark-toggle--0: var(--csstools-color-scheme--light) oklch(79.7% 0.105 264deg);
542
+ --color-primary: var(--csstools-light-dark-toggle--0, oklch(49.4% 0.163 264deg));
543
+ --csstools-light-dark-toggle--1: var(--csstools-color-scheme--light) oklch(30% 0.163 264deg);
544
+ --color-on-primary: var(--csstools-light-dark-toggle--1, oklch(100% 0 0deg));
545
+ --csstools-light-dark-toggle--2: var(--csstools-color-scheme--light) oklch(35% 0.163 264deg);
546
+ --color-primary-container: var(--csstools-light-dark-toggle--2, oklch(79.7% 0.105 264deg));
547
+ --csstools-light-dark-toggle--3: var(--csstools-color-scheme--light) oklch(90% 0.105 264deg);
548
+ --color-on-primary-container: var(--csstools-light-dark-toggle--3, oklch(20% 0.163 264deg));
549
+ --csstools-light-dark-toggle--4: var(--csstools-color-scheme--light) oklch(75.1% 0.08 314deg);
550
+ --color-secondary: var(--csstools-light-dark-toggle--4, oklch(61.8% 0.15 314deg));
551
+ --csstools-light-dark-toggle--5: var(--csstools-color-scheme--light) oklch(35.1% 0.15 314deg);
552
+ --color-on-secondary: var(--csstools-light-dark-toggle--5, oklch(100% 0 0deg));
553
+ --csstools-light-dark-toggle--6: var(--csstools-color-scheme--light) oklch(40.1% 0.15 314deg);
554
+ --color-secondary-container: var(--csstools-light-dark-toggle--6, oklch(85.1% 0.08 314deg));
555
+ --csstools-light-dark-toggle--7: var(--csstools-color-scheme--light) oklch(90.1% 0.08 314deg);
556
+ --color-on-secondary-container: var(--csstools-light-dark-toggle--7, oklch(25.1% 0.15 314deg));
557
+ --csstools-light-dark-toggle--8: var(--csstools-color-scheme--light) oklch(80.2% 0.08 29deg);
558
+ --color-tertiary: var(--csstools-light-dark-toggle--8, oklch(70.4% 0.15 29deg));
559
+ --csstools-light-dark-toggle--9: var(--csstools-color-scheme--light) oklch(40.2% 0.15 29deg);
560
+ --color-on-tertiary: var(--csstools-light-dark-toggle--9, oklch(100% 0 0deg));
561
+ --csstools-light-dark-toggle--10: var(--csstools-color-scheme--light) oklch(45.2% 0.15 29deg);
562
+ --color-tertiary-container: var(--csstools-light-dark-toggle--10, oklch(90.2% 0.08 29deg));
563
+ --csstools-light-dark-toggle--11: var(--csstools-color-scheme--light) oklch(95.2% 0.08 29deg);
564
+ --color-on-tertiary-container: var(--csstools-light-dark-toggle--11, oklch(30.2% 0.15 29deg));
565
+ --csstools-light-dark-toggle--12: var(--csstools-color-scheme--light) oklch(80.2% 0.15 29deg);
566
+ --color-error: var(--csstools-light-dark-toggle--12, oklch(62.8% 0.258 29deg));
567
+ --csstools-light-dark-toggle--13: var(--csstools-color-scheme--light) oklch(40.2% 0.258 29deg);
568
+ --color-on-error: var(--csstools-light-dark-toggle--13, oklch(100% 0 0deg));
569
+ --csstools-light-dark-toggle--14: var(--csstools-color-scheme--light) oklch(45.2% 0.258 29deg);
570
+ --color-error-container: var(--csstools-light-dark-toggle--14, oklch(90.2% 0.08 29deg));
571
+ --csstools-light-dark-toggle--15: var(--csstools-color-scheme--light) oklch(95.2% 0.15 29deg);
572
+ --color-on-error-container: var(--csstools-light-dark-toggle--15, oklch(30.2% 0.15 29deg));
573
+ --csstools-light-dark-toggle--16: var(--csstools-color-scheme--light) oklch(15% 0.005 264deg);
574
+ --color-surface: var(--csstools-light-dark-toggle--16, oklch(99.1% 0.005 264deg));
575
+ --csstools-light-dark-toggle--17: var(--csstools-color-scheme--light) oklch(90% 0.005 264deg);
576
+ --color-on-surface: var(--csstools-light-dark-toggle--17, oklch(20% 0.005 264deg));
577
+ --csstools-light-dark-toggle--18: var(--csstools-color-scheme--light) oklch(25% 0.02 264deg);
578
+ --color-surface-variant: var(--csstools-light-dark-toggle--18, oklch(92.5% 0.02 264deg));
579
+ --csstools-light-dark-toggle--19: var(--csstools-color-scheme--light) oklch(75% 0.02 264deg);
580
+ --color-on-surface-variant: var(--csstools-light-dark-toggle--19, oklch(30% 0.02 264deg));
581
+ --csstools-light-dark-toggle--20: var(--csstools-color-scheme--light) oklch(20% 0.01 264deg);
582
+ --color-surface-container: var(--csstools-light-dark-toggle--20, oklch(96.1% 0.01 264deg));
583
+ --csstools-light-dark-toggle--21: var(--csstools-color-scheme--light) oklch(17% 0.005 264deg);
584
+ --color-surface-container-low: var(--csstools-light-dark-toggle--21, oklch(98.1% 0.005 264deg));
585
+ --csstools-light-dark-toggle--22: var(--csstools-color-scheme--light) oklch(25% 0.01 264deg);
586
+ --color-surface-container-high: var(--csstools-light-dark-toggle--22, oklch(94.1% 0.01 264deg));
587
+ --csstools-light-dark-toggle--23: var(--csstools-color-scheme--light) oklch(30% 0.01 264deg);
588
+ --color-surface-container-highest: var(--csstools-light-dark-toggle--23, oklch(92.1% 0.01 264deg));
589
+ --csstools-light-dark-toggle--24: var(--csstools-color-scheme--light) oklch(18% 0.01 264deg);
590
+ --color-surface-1: var(--csstools-light-dark-toggle--24, oklch(97.1% 0.01 264deg));
591
+ --csstools-light-dark-toggle--25: var(--csstools-color-scheme--light) oklch(21% 0.01 264deg);
592
+ --color-surface-2: var(--csstools-light-dark-toggle--25, oklch(94.1% 0.01 264deg));
593
+ --csstools-light-dark-toggle--26: var(--csstools-color-scheme--light) oklch(24% 0.01 264deg);
594
+ --color-surface-3: var(--csstools-light-dark-toggle--26, oklch(92.1% 0.01 264deg));
595
+ --csstools-light-dark-toggle--27: var(--csstools-color-scheme--light) oklch(26% 0.01 264deg);
596
+ --color-surface-4: var(--csstools-light-dark-toggle--27, oklch(91.1% 0.01 264deg));
597
+ --csstools-light-dark-toggle--28: var(--csstools-color-scheme--light) oklch(28% 0.01 264deg);
598
+ --color-surface-5: var(--csstools-light-dark-toggle--28, oklch(90.1% 0.01 264deg));
599
+ --csstools-light-dark-toggle--29: var(--csstools-color-scheme--light) oklch(60% 0.02 264deg);
600
+ --color-outline: var(--csstools-light-dark-toggle--29, oklch(50% 0.02 264deg));
601
+ --csstools-light-dark-toggle--30: var(--csstools-color-scheme--light) oklch(35% 0.02 264deg);
602
+ --color-outline-variant: var(--csstools-light-dark-toggle--30, oklch(80% 0.02 264deg));
603
+ --csstools-light-dark-toggle--31: var(--csstools-color-scheme--light) oklch(90% 0.005 264deg);
604
+ --color-inverse-surface: var(--csstools-light-dark-toggle--31, oklch(25% 0.01 264deg));
605
+ --csstools-light-dark-toggle--32: var(--csstools-color-scheme--light) oklch(25% 0.01 264deg);
606
+ --color-inverse-on-surface: var(--csstools-light-dark-toggle--32, oklch(95% 0.005 264deg));
607
+ --csstools-light-dark-toggle--33: var(--csstools-color-scheme--light) oklch(49.4% 0.163 264deg);
608
+ --color-inverse-primary: var(--csstools-light-dark-toggle--33, oklch(79.7% 0.105 264deg));
609
+ }
610
+ }
611
+ @media (prefers-color-scheme: dark) {
612
+ :root {
613
+ --csstools-color-scheme--light: ;
614
+ }
615
+ }
616
+ }
617
+ /* Custom media queries */
618
+ /**
619
+ * Chi Design System - Responsive Breakpoints
620
+ * Based on window size classes: Compact → Medium → Expanded → Large
621
+ */
622
+ /* Compact: Mobile portrait (0-599px) - no media query needed, mobile-first */
623
+ /* Medium: Mobile landscape & small tablets (601px-1294px) */
624
+ @custom-media --medium (min-width: 600px);
625
+ /* Expanded: Desktop/laptop (1295px+) */
626
+ @custom-media --expanded (min-width: 1295px);
627
+ /* Large: Wide desktop - sidebar/subnav persistent (1440px+) */
628
+ @custom-media --large (min-width: 1440px);
629
+ /* Extra Large: Ultra-wide monitors (1920px+) */
630
+ @custom-media --xl (min-width: 1920px);
631
+ /* Legacy aliases for gradual migration */
632
+ @custom-media --sm (min-width: 600px);
633
+ @custom-media --md (min-width: 1295px);
634
+ @custom-media --lg (min-width: 1440px);
635
+ /* Base styles layer */
636
+ @layer base{
637
+
638
+ /**
639
+ * Chi Design System - Base Styles
640
+ * Typography, spacing, and foundational styles using design system tokens
641
+ */
642
+
643
+ /* Typography */
644
+ body {
645
+ font-family: var(--font-sans);
646
+ font-size: var(--font-size-3);
647
+ font-weight: var(--font-weight-regular);
648
+ line-height: var(--line-height-3);
649
+ color: var(--color-on-surface);
650
+ background-color: var(--color-background);
651
+ -webkit-font-smoothing: antialiased;
652
+ -moz-osx-font-smoothing: grayscale;
653
+ }
654
+
655
+ /* Responsive body typography */
656
+ @media screen and (width <= 600px) {
657
+ body {
658
+ font-size: 0.875rem;
659
+ line-height: 1.25rem;
660
+ }
661
+ }
662
+
663
+ strong,
664
+ b {
665
+ font-weight: 600;
666
+ }
667
+
668
+ em {
669
+ font-style: italic;
670
+ }
671
+
672
+ /* Links */
673
+ a {
674
+ color: var(--color-primary);
675
+ text-decoration: underline;
676
+ padding: 1px;
677
+ border-radius: var(--radius-xs);
678
+ }
679
+
680
+ a:hover {
681
+ color: var(--color-primary);
682
+ opacity: 0.9;
683
+ }
684
+
685
+ a:focus-visible {
686
+ outline: 2px solid var(--color-primary);
687
+ outline-offset: 2px;
688
+ }
689
+
690
+ /* Paragraphs */
691
+ p {
692
+ margin-block-start: 1em;
693
+ margin-block-end: 1em;
694
+ }
695
+
696
+ /* Code */
697
+ code {
698
+ font-family: var(--font-mono);
699
+ font-size: 0.875em;
700
+ padding: 0.125rem 0.25rem;
701
+ border-radius: var(--radius-xs);
702
+ background: var(--color-surface-container-high);
703
+ color: var(--color-on-surface-variant);
704
+ }
705
+
706
+ pre {
707
+ font-family: var(--font-mono);
708
+ padding: 1rem;
709
+ border-radius: var(--radius-md);
710
+ background: var(--color-surface-container-high);
711
+ overflow-x: auto;
712
+ }
713
+
714
+ /* Lists */
715
+ ul {
716
+ list-style: disc outside none;
717
+ }
718
+
719
+ ol {
720
+ list-style: decimal outside none;
721
+ }
722
+
723
+ /* Headings */
724
+ h1,
725
+ h2,
726
+ h3,
727
+ h4,
728
+ h5,
729
+ h6 {
730
+ font-family: var(--font-sans);
731
+ font-weight: var(--font-weight-regular);
732
+ color: var(--color-on-surface);
733
+ }
734
+
735
+ h1 {
736
+ font-size: 3.5rem;
737
+ line-height: 4rem;
738
+ margin: 0;
739
+ }
740
+
741
+ @media screen and (width <= 600px) {
742
+ h1 {
743
+ font-size: 2.25rem;
744
+ line-height: 2.75rem;
745
+ }
746
+ }
747
+
748
+ h2 {
749
+ font-size: 2.8125rem;
750
+ line-height: 3.25rem;
751
+ margin: 2rem 0;
752
+ }
753
+
754
+ @media screen and (width <= 600px) {
755
+ h2 {
756
+ font-size: 2rem;
757
+ line-height: 2.5rem;
758
+ }
759
+ }
760
+
761
+ h3 {
762
+ font-size: 2.25rem;
763
+ line-height: 2.75rem;
764
+ margin: 1.5rem 0;
765
+ }
766
+
767
+ @media screen and (width <= 600px) {
768
+ h3 {
769
+ font-size: 1.75rem;
770
+ line-height: 2.25rem;
771
+ }
772
+ }
773
+
774
+ h4 {
775
+ font-size: 1.5rem;
776
+ line-height: 2rem;
777
+ margin: 1rem 0;
778
+ }
779
+
780
+ h5 {
781
+ font-size: var(--font-size-3);
782
+ line-height: var(--line-height-3);
783
+ font-weight: var(--font-weight-medium);
784
+ margin: 1rem 0;
785
+ }
786
+
787
+ h6 {
788
+ font-size: var(--font-size-1);
789
+ line-height: var(--line-height-1);
790
+ font-weight: var(--font-weight-medium);
791
+ text-transform: uppercase;
792
+ letter-spacing: var(--letter-spacing-1);
793
+ margin: 1rem 0;
794
+ }
795
+
796
+ /* Form elements */
797
+ button,
798
+ input,
799
+ select,
800
+ textarea {
801
+ font-family: inherit;
802
+ font-size: inherit;
803
+ line-height: inherit;
804
+ }
805
+
806
+ button {
807
+ cursor: pointer;
808
+ border: none;
809
+ background: none;
810
+ padding: 0;
811
+ }
812
+
813
+ button:disabled {
814
+ cursor: not-allowed;
815
+ opacity: 0.38;
816
+ }
817
+
818
+ /* Focus styles */
819
+ :focus-visible {
820
+ outline: 2px solid var(--color-primary);
821
+ outline-offset: 2px;
822
+ }
823
+
824
+ /* Reduced motion */
825
+ @media (prefers-reduced-motion: reduce) {
826
+ *,
827
+ ::before,
828
+ ::after {
829
+ animation-duration: 0.01ms !important;
830
+ animation-iteration-count: 1 !important;
831
+ transition-duration: 0.01ms !important;
832
+ }
833
+ }
834
+
835
+ /* Elevation/Shadow utilities */
836
+ .elevation-0 {
837
+ box-shadow: var(--shadow-0);
838
+ }
839
+
840
+ .elevation-1 {
841
+ box-shadow: var(--shadow-1);
842
+ }
843
+
844
+ .elevation-2 {
845
+ box-shadow: var(--shadow-2);
846
+ }
847
+
848
+ .elevation-3 {
849
+ box-shadow: var(--shadow-3);
850
+ }
851
+
852
+ .elevation-4 {
853
+ box-shadow: var(--shadow-4);
854
+ }
855
+
856
+ .elevation-5 {
857
+ box-shadow: var(--shadow-5);
858
+ }
859
+ }