@sabrenski/spire-ui 0.0.11 → 0.0.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sabrenski/spire-ui",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "A dependency-free Vue 3 component library built with pure CSS and OKLCH colors",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -37,6 +37,7 @@
37
37
  "types": "./src/index.ts"
38
38
  },
39
39
  "./style.css": "./src/styles/main.css",
40
+ "./tailwind.css": "./src/styles/tailwind.css",
40
41
  "./src/*": "./src/*"
41
42
  },
42
43
  "publishConfig": {
@@ -49,7 +50,8 @@
49
50
  "require": "./dist/spire-ui.umd.js",
50
51
  "types": "./dist/index.d.ts"
51
52
  },
52
- "./style.css": "./dist/spire-ui.css"
53
+ "./style.css": "./dist/spire-ui.css",
54
+ "./tailwind.css": "./src/styles/tailwind.css"
53
55
  }
54
56
  },
55
57
  "scripts": {
@@ -0,0 +1,553 @@
1
+ /**
2
+ * Spire UI - Tailwind v4 Theme Integration
3
+ *
4
+ * Import this file in your Tailwind CSS to get automatic utility class generation
5
+ * from Spire UI tokens. Uses Tailwind v4's @theme directive.
6
+ *
7
+ * Usage in your main CSS:
8
+ * @import '@sabrenski/spire-ui/src/styles/tailwind.css';
9
+ * @import 'tailwindcss';
10
+ */
11
+
12
+ @theme {
13
+ /* ============================================
14
+ * COLORS
15
+ * Generates: bg-*, text-*, border-*, ring-*, etc.
16
+ * ============================================ */
17
+
18
+ /* Stone (Warm neutral) */
19
+ --color-stone-50: oklch(0.985 0.004 60);
20
+ --color-stone-100: oklch(0.970 0.007 60);
21
+ --color-stone-200: oklch(0.923 0.01 60);
22
+ --color-stone-300: oklch(0.865 0.016 60);
23
+ --color-stone-400: oklch(0.706 0.027 60);
24
+ --color-stone-500: oklch(0.553 0.027 60);
25
+ --color-stone-600: oklch(0.444 0.024 60);
26
+ --color-stone-700: oklch(0.374 0.022 60);
27
+ --color-stone-800: oklch(0.268 0.018 60);
28
+ --color-stone-900: oklch(0.216 0.016 60);
29
+ --color-stone-950: oklch(0.147 0.014 60);
30
+
31
+ /* Primary (Indigo) */
32
+ --color-primary-50: oklch(0.962 0.018 275);
33
+ --color-primary-100: oklch(0.930 0.034 275);
34
+ --color-primary-200: oklch(0.870 0.065 275);
35
+ --color-primary-300: oklch(0.785 0.115 275);
36
+ --color-primary-400: oklch(0.673 0.182 275);
37
+ --color-primary-500: oklch(0.585 0.233 275);
38
+ --color-primary-600: oklch(0.511 0.262 275);
39
+ --color-primary-700: oklch(0.457 0.240 275);
40
+ --color-primary-800: oklch(0.398 0.195 275);
41
+ --color-primary-900: oklch(0.359 0.144 275);
42
+
43
+ /* Indigo (raw palette) */
44
+ --color-indigo-50: oklch(0.962 0.018 275);
45
+ --color-indigo-100: oklch(0.930 0.034 275);
46
+ --color-indigo-200: oklch(0.870 0.065 275);
47
+ --color-indigo-300: oklch(0.785 0.115 275);
48
+ --color-indigo-400: oklch(0.673 0.182 275);
49
+ --color-indigo-500: oklch(0.585 0.233 275);
50
+ --color-indigo-600: oklch(0.511 0.262 275);
51
+ --color-indigo-700: oklch(0.457 0.24 275);
52
+ --color-indigo-800: oklch(0.398 0.195 275);
53
+ --color-indigo-900: oklch(0.359 0.144 275);
54
+
55
+ /* Teal (Success) */
56
+ --color-teal-50: oklch(0.984 0.014 180);
57
+ --color-teal-100: oklch(0.953 0.051 180);
58
+ --color-teal-500: oklch(0.704 0.14 180);
59
+ --color-teal-600: oklch(0.6 0.13 180);
60
+ --color-teal-700: oklch(0.511 0.096 180);
61
+
62
+ /* Coral (Destructive/Error) */
63
+ --color-coral-50: oklch(0.975 0.014 20);
64
+ --color-coral-100: oklch(0.945 0.038 20);
65
+ --color-coral-500: oklch(0.63 0.19 20);
66
+ --color-coral-600: oklch(0.56 0.195 20);
67
+ --color-coral-700: oklch(0.49 0.17 20);
68
+
69
+ /* Amber (Warning) */
70
+ --color-amber-50: oklch(0.987 0.022 80);
71
+ --color-amber-100: oklch(0.962 0.055 80);
72
+ --color-amber-500: oklch(0.769 0.16 70);
73
+ --color-amber-600: oklch(0.666 0.15 55);
74
+
75
+ /* Neutrals */
76
+ --color-white: oklch(1 0 0);
77
+ --color-black: oklch(0 0 0);
78
+
79
+ /* Semantic Colors - Backgrounds */
80
+ --color-canvas: oklch(0.995 0.003 60);
81
+ --color-surface: var(--color-white);
82
+ --color-surface-hover: var(--color-stone-50);
83
+ --color-subtle: var(--color-stone-50);
84
+ --color-muted: var(--color-stone-100);
85
+ --color-elevated: var(--color-white);
86
+ --color-overlay: oklch(0 0 0 / 0.5);
87
+ --color-popover: var(--color-white);
88
+ --color-inset: var(--color-stone-100);
89
+
90
+ /* Semantic Colors - Foreground */
91
+ --color-foreground: var(--color-stone-700);
92
+ --color-foreground-muted: var(--color-stone-600);
93
+ --color-foreground-subtle: var(--color-stone-500);
94
+ --color-foreground-disabled: var(--color-stone-400);
95
+ --color-foreground-inverse: var(--color-stone-50);
96
+ --color-on-emphasis: var(--color-white);
97
+
98
+ /* Semantic Colors - Border */
99
+ --color-border: var(--color-stone-200);
100
+ --color-border-hover: var(--color-stone-300);
101
+ --color-border-muted: var(--color-stone-100);
102
+ --color-border-emphasis: var(--color-stone-400);
103
+
104
+ /* Semantic Colors - Primary Actions */
105
+ --color-primary: var(--color-primary-600);
106
+ --color-primary-hover: var(--color-primary-700);
107
+ --color-primary-active: var(--color-primary-800);
108
+ --color-primary-subtle: var(--color-primary-50);
109
+ --color-primary-subtle-hover: var(--color-primary-100);
110
+ --color-primary-outline: var(--color-primary-200);
111
+ --color-primary-outline-hover: var(--color-primary-300);
112
+ --color-primary-foreground: var(--color-white);
113
+ --color-primary-ring: oklch(0.585 0.233 275 / 0.3);
114
+
115
+ /* Semantic Colors - Secondary */
116
+ --color-secondary: var(--color-stone-100);
117
+ --color-secondary-hover: var(--color-stone-200);
118
+ --color-secondary-active: var(--color-stone-300);
119
+ --color-secondary-subtle: var(--color-stone-50);
120
+ --color-secondary-foreground: var(--color-stone-700);
121
+
122
+ /* Semantic Colors - Success */
123
+ --color-success: var(--color-teal-500);
124
+ --color-success-hover: var(--color-teal-600);
125
+ --color-success-active: var(--color-teal-700);
126
+ --color-success-subtle: var(--color-teal-50);
127
+ --color-success-subtle-hover: var(--color-teal-100);
128
+ --color-success-foreground: var(--color-teal-700);
129
+ --color-success-ring: oklch(0.704 0.14 180 / 0.3);
130
+
131
+ /* Semantic Colors - Danger */
132
+ --color-danger: var(--color-coral-500);
133
+ --color-danger-hover: var(--color-coral-600);
134
+ --color-danger-active: var(--color-coral-700);
135
+ --color-danger-subtle: var(--color-coral-50);
136
+ --color-danger-subtle-hover: var(--color-coral-100);
137
+ --color-danger-foreground: var(--color-coral-700);
138
+ --color-danger-ring: oklch(0.63 0.19 20 / 0.3);
139
+
140
+ /* Semantic Colors - Warning */
141
+ --color-warning: var(--color-amber-500);
142
+ --color-warning-hover: var(--color-amber-600);
143
+ --color-warning-subtle: var(--color-amber-50);
144
+ --color-warning-subtle-hover: var(--color-amber-100);
145
+ --color-warning-foreground: var(--color-amber-600);
146
+ --color-warning-ring: oklch(0.769 0.16 70 / 0.3);
147
+
148
+ /* Semantic Colors - Info */
149
+ --color-info: var(--color-primary-500);
150
+ --color-info-hover: var(--color-primary-600);
151
+ --color-info-subtle: var(--color-primary-50);
152
+ --color-info-subtle-hover: var(--color-primary-100);
153
+ --color-info-foreground: var(--color-primary-700);
154
+ --color-info-ring: oklch(0.585 0.233 275 / 0.3);
155
+
156
+ /* Semantic Colors - Ghost */
157
+ --color-ghost: transparent;
158
+ --color-ghost-hover: var(--color-stone-100);
159
+ --color-ghost-active: var(--color-stone-200);
160
+
161
+ /* Semantic Colors - Contrast */
162
+ --color-contrast: var(--color-stone-900);
163
+ --color-contrast-hover: var(--color-stone-800);
164
+ --color-contrast-active: var(--color-stone-700);
165
+ --color-contrast-foreground: var(--color-white);
166
+
167
+ /* Semantic Colors - Outline */
168
+ --color-outline: transparent;
169
+ --color-outline-hover: var(--color-stone-50);
170
+ --color-outline-active: var(--color-stone-100);
171
+
172
+ /* Semantic Colors - Ring/Focus */
173
+ --color-ring: var(--color-primary-500);
174
+ --color-ring-offset: var(--color-white);
175
+
176
+ /* Semantic Colors - Input */
177
+ --color-input: var(--color-white);
178
+ --color-input-disabled: var(--color-stone-100);
179
+ --color-input-border: var(--color-stone-300);
180
+ --color-input-border-hover: var(--color-stone-400);
181
+ --color-input-border-focus: var(--color-primary-500);
182
+ --color-input-border-invalid: var(--color-coral-500);
183
+ --color-input-placeholder: var(--color-stone-400);
184
+
185
+ /* Chart Colors */
186
+ --color-chart-1: var(--color-primary-500);
187
+ --color-chart-2: var(--color-teal-500);
188
+ --color-chart-3: var(--color-amber-500);
189
+ --color-chart-4: var(--color-coral-500);
190
+ --color-chart-5: oklch(0.60 0.18 250);
191
+ --color-chart-6: oklch(0.65 0.20 310);
192
+ --color-chart-7: oklch(0.70 0.15 340);
193
+ --color-chart-8: oklch(0.65 0.15 200);
194
+
195
+ /* ============================================
196
+ * SPACING
197
+ * Generates: p-*, m-*, gap-*, w-*, h-*, inset-*, etc.
198
+ * ============================================ */
199
+
200
+ --spacing-0: 0;
201
+ --spacing-px: 1px;
202
+ --spacing-0_5: 0.125rem;
203
+ --spacing-1: 0.25rem;
204
+ --spacing-1_5: 0.375rem;
205
+ --spacing-2: 0.5rem;
206
+ --spacing-2_5: 0.625rem;
207
+ --spacing-3: 0.75rem;
208
+ --spacing-3_5: 0.875rem;
209
+ --spacing-4: 1rem;
210
+ --spacing-5: 1.25rem;
211
+ --spacing-6: 1.5rem;
212
+ --spacing-7: 1.75rem;
213
+ --spacing-8: 2rem;
214
+ --spacing-9: 2.25rem;
215
+ --spacing-10: 2.5rem;
216
+ --spacing-11: 2.75rem;
217
+ --spacing-12: 3rem;
218
+ --spacing-14: 3.5rem;
219
+ --spacing-16: 4rem;
220
+ --spacing-20: 5rem;
221
+ --spacing-24: 6rem;
222
+ --spacing-28: 7rem;
223
+ --spacing-32: 8rem;
224
+ --spacing-36: 9rem;
225
+ --spacing-40: 10rem;
226
+ --spacing-44: 11rem;
227
+ --spacing-48: 12rem;
228
+ --spacing-52: 13rem;
229
+ --spacing-56: 14rem;
230
+ --spacing-60: 15rem;
231
+ --spacing-64: 16rem;
232
+ --spacing-72: 18rem;
233
+ --spacing-80: 20rem;
234
+ --spacing-96: 24rem;
235
+
236
+ /* ============================================
237
+ * TYPOGRAPHY
238
+ * ============================================ */
239
+
240
+ /* Font Families - Generates: font-sans, font-mono */
241
+ --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
242
+ --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
243
+
244
+ /* Font Sizes - Generates: text-xs, text-sm, etc. */
245
+ --text-xs: 0.75rem;
246
+ --text-xs--line-height: 1rem;
247
+ --text-sm: 0.875rem;
248
+ --text-sm--line-height: 1.25rem;
249
+ --text-base: 0.9375rem;
250
+ --text-base--line-height: 1.5rem;
251
+ --text-lg: 1.125rem;
252
+ --text-lg--line-height: 1.75rem;
253
+ --text-xl: 1.25rem;
254
+ --text-xl--line-height: 1.75rem;
255
+ --text-2xl: 1.5rem;
256
+ --text-2xl--line-height: 2rem;
257
+ --text-3xl: 1.875rem;
258
+ --text-3xl--line-height: 2.25rem;
259
+ --text-4xl: 2.25rem;
260
+ --text-4xl--line-height: 2.5rem;
261
+ --text-5xl: 3rem;
262
+ --text-5xl--line-height: 1;
263
+ --text-6xl: 3.75rem;
264
+ --text-6xl--line-height: 1;
265
+
266
+ /* Font Weights - Generates: font-normal, font-medium, etc. */
267
+ --font-weight-thin: 100;
268
+ --font-weight-extralight: 200;
269
+ --font-weight-light: 300;
270
+ --font-weight-normal: 400;
271
+ --font-weight-medium: 500;
272
+ --font-weight-semibold: 600;
273
+ --font-weight-bold: 700;
274
+ --font-weight-extrabold: 800;
275
+ --font-weight-black: 900;
276
+
277
+ /* Letter Spacing - Generates: tracking-tight, tracking-wide, etc. */
278
+ --tracking-tighter: -0.05em;
279
+ --tracking-tight: -0.025em;
280
+ --tracking-normal: 0em;
281
+ --tracking-wide: 0.025em;
282
+ --tracking-wider: 0.05em;
283
+ --tracking-widest: 0.1em;
284
+
285
+ /* Line Height - Generates: leading-none, leading-tight, etc. */
286
+ --leading-none: 1;
287
+ --leading-tight: 1.25;
288
+ --leading-snug: 1.375;
289
+ --leading-normal: 1.5;
290
+ --leading-relaxed: 1.625;
291
+ --leading-loose: 2;
292
+
293
+ /* ============================================
294
+ * BORDER RADIUS
295
+ * Generates: rounded-sm, rounded-md, etc.
296
+ * ============================================ */
297
+
298
+ --radius-none: 0;
299
+ --radius-sm: 0.25rem;
300
+ --radius-md: 0.5rem;
301
+ --radius-lg: 0.625rem;
302
+ --radius-xl: 0.875rem;
303
+ --radius-2xl: 1.25rem;
304
+ --radius-3xl: 1.5rem;
305
+ --radius-full: 9999px;
306
+
307
+ /* ============================================
308
+ * SHADOWS
309
+ * Generates: shadow-sm, shadow-md, etc.
310
+ * ============================================ */
311
+
312
+ --shadow-none: none;
313
+ --shadow-sm: 0 1px 2px 0 oklch(0 0 0 / 0.03);
314
+ --shadow-md: 0 2px 4px -1px oklch(0 0 0 / 0.04), 0 1px 2px -1px oklch(0 0 0 / 0.03);
315
+ --shadow-lg: 0 4px 8px -2px oklch(0 0 0 / 0.05), 0 2px 4px -2px oklch(0 0 0 / 0.03);
316
+ --shadow-xl: 0 8px 16px -4px oklch(0 0 0 / 0.06), 0 4px 6px -4px oklch(0 0 0 / 0.04);
317
+ --shadow-2xl: 0 16px 32px -8px oklch(0 0 0 / 0.08), 0 8px 12px -6px oklch(0 0 0 / 0.05);
318
+
319
+ /* ============================================
320
+ * TRANSITIONS / EASING
321
+ * Generates: ease-in, ease-out, etc.
322
+ * ============================================ */
323
+
324
+ --ease-linear: linear;
325
+ --ease-in: cubic-bezier(0.4, 0, 1, 1);
326
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
327
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
328
+ --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
329
+ --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
330
+ --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
331
+
332
+ /* ============================================
333
+ * ANIMATIONS
334
+ * Generates: animate-spin, animate-pulse, etc.
335
+ * ============================================ */
336
+
337
+ --animate-spin: spin 1s linear infinite;
338
+ --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
339
+ --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
340
+ --animate-bounce: bounce 1s infinite;
341
+
342
+ /* ============================================
343
+ * BREAKPOINTS
344
+ * Generates: sm:*, md:*, lg:*, etc.
345
+ * ============================================ */
346
+
347
+ --breakpoint-sm: 640px;
348
+ --breakpoint-md: 768px;
349
+ --breakpoint-lg: 1024px;
350
+ --breakpoint-xl: 1280px;
351
+ --breakpoint-2xl: 1536px;
352
+
353
+ /* ============================================
354
+ * CONTAINERS
355
+ * Generates: max-w-sm, max-w-md, etc.
356
+ * ============================================ */
357
+
358
+ --container-3xs: 16rem;
359
+ --container-2xs: 18rem;
360
+ --container-xs: 20rem;
361
+ --container-sm: 24rem;
362
+ --container-md: 28rem;
363
+ --container-lg: 32rem;
364
+ --container-xl: 36rem;
365
+ --container-2xl: 42rem;
366
+ --container-3xl: 48rem;
367
+ --container-4xl: 56rem;
368
+ --container-5xl: 64rem;
369
+ --container-6xl: 72rem;
370
+ --container-7xl: 80rem;
371
+
372
+ /* ============================================
373
+ * ASPECT RATIOS
374
+ * Generates: aspect-video, aspect-square, etc.
375
+ * ============================================ */
376
+
377
+ --aspect-square: 1 / 1;
378
+ --aspect-video: 16 / 9;
379
+ --aspect-photo: 4 / 3;
380
+ --aspect-portrait: 3 / 4;
381
+ --aspect-wide: 21 / 9;
382
+
383
+ /* ============================================
384
+ * Z-INDEX
385
+ * Note: Tailwind uses numeric z-index by default
386
+ * These are semantic aliases
387
+ * ============================================ */
388
+
389
+ --z-auto: auto;
390
+ --z-0: 0;
391
+ --z-10: 10;
392
+ --z-20: 20;
393
+ --z-30: 30;
394
+ --z-40: 40;
395
+ --z-50: 50;
396
+ --z-dropdown: 100;
397
+ --z-sticky: 200;
398
+ --z-fixed: 300;
399
+ --z-modal-backdrop: 400;
400
+ --z-modal: 500;
401
+ --z-popover: 600;
402
+ --z-tooltip: 700;
403
+ }
404
+
405
+ @keyframes spin {
406
+ to {
407
+ transform: rotate(360deg);
408
+ }
409
+ }
410
+
411
+ @keyframes ping {
412
+ 75%, 100% {
413
+ transform: scale(2);
414
+ opacity: 0;
415
+ }
416
+ }
417
+
418
+ @keyframes pulse {
419
+ 50% {
420
+ opacity: 0.5;
421
+ }
422
+ }
423
+
424
+ @keyframes bounce {
425
+ 0%, 100% {
426
+ transform: translateY(-25%);
427
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
428
+ }
429
+ 50% {
430
+ transform: none;
431
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
432
+ }
433
+ }
434
+
435
+ /* Dark mode overrides */
436
+ @media (prefers-color-scheme: dark) {
437
+ @theme {
438
+ --color-canvas: var(--color-stone-950);
439
+ --color-surface: var(--color-stone-900);
440
+ --color-surface-hover: var(--color-stone-800);
441
+ --color-subtle: var(--color-stone-900);
442
+ --color-muted: var(--color-stone-800);
443
+ --color-elevated: var(--color-stone-800);
444
+ --color-overlay: oklch(0 0 0 / 0.7);
445
+ --color-popover: var(--color-stone-800);
446
+ --color-inset: var(--color-stone-950);
447
+
448
+ --color-foreground: var(--color-stone-50);
449
+ --color-foreground-muted: var(--color-stone-300);
450
+ --color-foreground-subtle: var(--color-stone-400);
451
+ --color-foreground-disabled: var(--color-stone-500);
452
+ --color-foreground-inverse: var(--color-stone-900);
453
+
454
+ --color-border: var(--color-stone-800);
455
+ --color-border-hover: var(--color-stone-700);
456
+ --color-border-muted: var(--color-stone-900);
457
+ --color-border-emphasis: var(--color-stone-600);
458
+
459
+ --color-primary: var(--color-primary-500);
460
+ --color-primary-hover: var(--color-primary-400);
461
+ --color-primary-active: var(--color-primary-600);
462
+
463
+ --color-secondary: var(--color-stone-800);
464
+ --color-secondary-hover: var(--color-stone-700);
465
+ --color-secondary-active: var(--color-stone-600);
466
+ --color-secondary-foreground: var(--color-stone-200);
467
+
468
+ --color-ghost-hover: var(--color-stone-800);
469
+ --color-ghost-active: var(--color-stone-700);
470
+
471
+ --color-contrast: var(--color-stone-50);
472
+ --color-contrast-hover: var(--color-stone-100);
473
+ --color-contrast-active: var(--color-stone-200);
474
+ --color-contrast-foreground: var(--color-stone-900);
475
+
476
+ --color-ring-offset: var(--color-stone-950);
477
+
478
+ --color-input: var(--color-stone-900);
479
+ --color-input-disabled: var(--color-stone-800);
480
+ --color-input-border: var(--color-stone-700);
481
+ --color-input-border-hover: var(--color-stone-600);
482
+ --color-input-border-focus: var(--color-primary-400);
483
+ --color-input-placeholder: var(--color-stone-500);
484
+
485
+ --color-success-subtle: oklch(0.25 0.05 180);
486
+ --color-success-foreground: var(--color-teal-100);
487
+ --color-danger-subtle: oklch(0.25 0.06 20);
488
+ --color-danger-foreground: var(--color-coral-100);
489
+ --color-warning-subtle: oklch(0.28 0.06 70);
490
+ --color-warning-foreground: var(--color-amber-100);
491
+ --color-info-subtle: oklch(0.25 0.06 275);
492
+ --color-info-foreground: var(--color-primary-100);
493
+ }
494
+ }
495
+
496
+ /* Manual dark mode via data attribute */
497
+ [data-theme='dark'] {
498
+ --color-canvas: var(--color-stone-950);
499
+ --color-surface: var(--color-stone-900);
500
+ --color-surface-hover: var(--color-stone-800);
501
+ --color-subtle: var(--color-stone-900);
502
+ --color-muted: var(--color-stone-800);
503
+ --color-elevated: var(--color-stone-800);
504
+ --color-overlay: oklch(0 0 0 / 0.7);
505
+ --color-popover: var(--color-stone-800);
506
+ --color-inset: var(--color-stone-950);
507
+
508
+ --color-foreground: var(--color-stone-50);
509
+ --color-foreground-muted: var(--color-stone-300);
510
+ --color-foreground-subtle: var(--color-stone-400);
511
+ --color-foreground-disabled: var(--color-stone-500);
512
+ --color-foreground-inverse: var(--color-stone-900);
513
+
514
+ --color-border: var(--color-stone-800);
515
+ --color-border-hover: var(--color-stone-700);
516
+ --color-border-muted: var(--color-stone-900);
517
+ --color-border-emphasis: var(--color-stone-600);
518
+
519
+ --color-primary: var(--color-primary-500);
520
+ --color-primary-hover: var(--color-primary-400);
521
+ --color-primary-active: var(--color-primary-600);
522
+
523
+ --color-secondary: var(--color-stone-800);
524
+ --color-secondary-hover: var(--color-stone-700);
525
+ --color-secondary-active: var(--color-stone-600);
526
+ --color-secondary-foreground: var(--color-stone-200);
527
+
528
+ --color-ghost-hover: var(--color-stone-800);
529
+ --color-ghost-active: var(--color-stone-700);
530
+
531
+ --color-contrast: var(--color-stone-50);
532
+ --color-contrast-hover: var(--color-stone-100);
533
+ --color-contrast-active: var(--color-stone-200);
534
+ --color-contrast-foreground: var(--color-stone-900);
535
+
536
+ --color-ring-offset: var(--color-stone-950);
537
+
538
+ --color-input: var(--color-stone-900);
539
+ --color-input-disabled: var(--color-stone-800);
540
+ --color-input-border: var(--color-stone-700);
541
+ --color-input-border-hover: var(--color-stone-600);
542
+ --color-input-border-focus: var(--color-primary-400);
543
+ --color-input-placeholder: var(--color-stone-500);
544
+
545
+ --color-success-subtle: oklch(0.25 0.05 180);
546
+ --color-success-foreground: var(--color-teal-100);
547
+ --color-danger-subtle: oklch(0.25 0.06 20);
548
+ --color-danger-foreground: var(--color-coral-100);
549
+ --color-warning-subtle: oklch(0.28 0.06 70);
550
+ --color-warning-foreground: var(--color-amber-100);
551
+ --color-info-subtle: oklch(0.25 0.06 275);
552
+ --color-info-foreground: var(--color-primary-100);
553
+ }