ui-lab-theme-onyx 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.
Files changed (2) hide show
  1. package/package.json +31 -0
  2. package/styles.css +703 -0
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "ui-lab-theme-onyx",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "license": "MIT",
6
+ "main": "./styles.css",
7
+ "style": "./styles.css",
8
+ "exports": {
9
+ ".": {
10
+ "style": "./styles.css",
11
+ "default": "./styles.css"
12
+ },
13
+ "./styles.css": {
14
+ "style": "./styles.css",
15
+ "default": "./styles.css"
16
+ }
17
+ },
18
+ "files": [
19
+ "styles.css"
20
+ ],
21
+ "devDependencies": {
22
+ "@tailwindcss/postcss": "^4.1.11",
23
+ "postcss": "^8.5.6",
24
+ "postcss-cli": "^11.0.0",
25
+ "typescript": "^5"
26
+ },
27
+ "scripts": {
28
+ "build": "postcss src/onyx.css -o styles.css",
29
+ "clean": "rm -f styles.css"
30
+ }
31
+ }
package/styles.css ADDED
@@ -0,0 +1,703 @@
1
+ /* Onyx Theme - Button Styles */
2
+
3
+ .button {
4
+ --background: var(--background-800);
5
+ --foreground: var(--foreground-200);
6
+ --background-border: color-mix(in srgb, var(--background-600) 15%, transparent);
7
+ --focus-visible: var(--accent-400);
8
+ --hover-background: color-mix(in srgb, var(--background-600) 40%, var(--background-950));
9
+ --hover-border: color-mix(in srgb, var(--background-600) 75%, var(--background-950));
10
+ }
11
+
12
+ .button.primary {
13
+ --background: var(--foreground-200);
14
+ --foreground: var(--background-900);
15
+ --background-border: var(--foreground-200);
16
+ --hover-background: var(--foreground-300);
17
+ --hover-border: var(--foreground-300);
18
+ }
19
+
20
+ .button.secondary {
21
+ --background: var(--background-900);
22
+ --foreground: var(--foreground-300);
23
+ --background-border: var(--background-700);
24
+ }
25
+
26
+ .button.outline {
27
+ --background: transparent;
28
+ --foreground: var(--foreground-300);
29
+ --background-border: var(--background-700);
30
+ --hover-background: var(--background-700);
31
+ --hover-border: var(--background-700);
32
+ outline-style: unset !important;
33
+ }
34
+
35
+ .button.danger {
36
+ --background: color-mix(in srgb, var(--danger-500) 15%, transparent);
37
+ --foreground: var(--danger-500);
38
+ --background-border: transparent;
39
+ --focus-visible: var(--danger-400);
40
+ --hover-background: color-mix(in srgb, var(--danger-500) 25%, transparent);
41
+ --hover-border: transparent;
42
+ }
43
+
44
+ .button.ghost {
45
+ --background: transparent;
46
+ --background-border: transparent;
47
+ --hover-background: var(--background-800);
48
+ }
49
+
50
+ /* Gallery Styles */
51
+
52
+ .gallery.item {
53
+ --background: var(--background-950);
54
+ --border: var(--background-700);
55
+ --border-hover: var(--background-600);
56
+ --border-focus: var(--accent-500);
57
+ }
58
+
59
+ .gallery.body {
60
+ --title-color: var(--foreground-50);
61
+ --description-color: var(--foreground-300);
62
+ }
63
+
64
+ /* Expand Styles */
65
+
66
+ .expand {
67
+ --trigger-background: transparent;
68
+ --trigger-background-hover: var(--background-900);
69
+ --trigger-foreground: var(--foreground-50);
70
+ --content-background: transparent;
71
+ --content-foreground: var(--foreground-300);
72
+ }
73
+
74
+ /* Card Styles */
75
+
76
+ .card {
77
+ --background: var(--background-800);
78
+ --border: var(--background-700);
79
+ --focus-ring: var(--accent-400);
80
+ }
81
+
82
+ .card.header {
83
+ --border: var(--background-700);
84
+ }
85
+
86
+ .card.footer {
87
+ --background: color-mix(in srgb, var(--background-900) 50%, transparent);
88
+ --border: var(--background-700);
89
+ }
90
+
91
+ /* List Styles */
92
+
93
+ .list {
94
+ --foreground: var(--foreground-50);
95
+ --background-hover: color-mix(in srgb, var(--background-500) 6%, transparent);
96
+ --background-highlighted: color-mix(in srgb, var(--background-500) 6%, transparent);
97
+ --header-title-color: var(--foreground-50);
98
+ --header-subtitle-color: var(--foreground-400);
99
+ --desc-color: var(--foreground-400);
100
+ --action-color: var(--foreground-400);
101
+ --action-hover-color: var(--foreground-50);
102
+ }
103
+
104
+ /* Group Styles */
105
+
106
+ .group {
107
+ --background: var(--background-950);
108
+ --border: var(--background-700);
109
+ --focus-ring-color: var(--accent-500);
110
+ --active-background: var(--background-800);
111
+ }
112
+
113
+ .group.ghost {
114
+ --background: transparent;
115
+ }
116
+
117
+ /* Command Styles */
118
+
119
+ .command {
120
+ --background-default: var(--background-900);
121
+ --background-input: var(--background-900);
122
+ --background-hover: var(--background-800);
123
+ --background-selected: var(--background-800);
124
+ --list-background: var(--background-950);
125
+ --footer-background: var(--background-800);
126
+ --border-default: var(--background-700);
127
+ --color-default: var(--foreground-300);
128
+ --color-muted: var(--foreground-400);
129
+ --color-icon: var(--foreground-400);
130
+ --overlay: rgb(0 0 0 / 0.2);
131
+ --overlay-backdrop: blur(4px);
132
+ --shadow: 0 20px 25px -5px rgb(#ff0000 / 0.1);
133
+ }
134
+
135
+ /* Date Styles */
136
+
137
+ .date {
138
+ --background: var(--background-950);
139
+ --border: var(--background-700);
140
+ --focus-ring: var(--foreground-300);
141
+ }
142
+
143
+ .date.date-header {
144
+ --header-color: var(--foreground-300);
145
+ }
146
+
147
+ .date.date-day-headers {
148
+ --day-headers-background: var(--background-900);
149
+ }
150
+
151
+ .date.date-day-header {
152
+ --day-header-color: var(--foreground-400);
153
+ }
154
+
155
+ .date.date-nav-button {
156
+ --nav-button-color: var(--foreground-400);
157
+ --nav-button-background-hover: var(--background-800);
158
+ }
159
+
160
+ .date.date-grid {
161
+ --grid-background: var(--background-900);
162
+ }
163
+
164
+ .date.date-day {
165
+ --cell-text: var(--foreground-300);
166
+ }
167
+
168
+ .date.date-day[data-selected="true"] {
169
+ --cell-background: var(--background-800);
170
+ --cell-text: var(--foreground-50);
171
+ }
172
+
173
+ .date.date-day[data-today="true"] {
174
+ --cell-background: var(--background-800);
175
+ --cell-text: var(--foreground-50);
176
+ }
177
+
178
+ .date.date-day[data-disabled="true"],
179
+ .date.date-day[data-out-of-range="true"] {
180
+ --cell-text: var(--foreground-400);
181
+ }
182
+
183
+ .date.date-day:hover:not([data-disabled="true"]):not([data-out-of-range="true"]) {
184
+ --cell-background: var(--background-800);
185
+ }
186
+
187
+ /* Checkbox Styles */
188
+
189
+ .checkbox {
190
+ --background: var(--background-700);
191
+ --border: var(--background-600);
192
+ --ring-color: var(--accent-500);
193
+ --hover-background: color-mix(in srgb, var(--background-500) 60%, transparent);
194
+ --hover-border: transparent;
195
+ }
196
+
197
+ .checkbox[data-selected="true"] {
198
+ --background: var(--background-600);
199
+ --border: transparent;
200
+ }
201
+
202
+ .checkbox[data-indeterminate="true"] {
203
+ --background: var(--background-600);
204
+ --border: transparent;
205
+ }
206
+
207
+ .checkbox-root.checkbox-checkmark,
208
+ .checkbox-root.checkbox-indeterminate {
209
+ --checkmark-color: var(--foreground-50);
210
+ }
211
+
212
+ .checkbox-root.helper-text-error {
213
+ --error-color: var(--danger-600);
214
+ }
215
+
216
+ /* Color Styles */
217
+
218
+ .color {
219
+ --background: color-mix(in srgb, var(--background-800) 30%, transparent);
220
+ --border: var(--background-700);
221
+ --ring-color: var(--accent-500);
222
+ --pointer-border: color-mix(in srgb, var(--foreground-200) 50%, transparent);
223
+ --thumb-border: white;
224
+ --thumb-background: white;
225
+ --checkerboard-dark: var(--background-800);
226
+ --checkerboard-light: var(--background-700);
227
+ }
228
+
229
+ /* Label Styles */
230
+
231
+ .label {
232
+ --foreground: var(--foreground-300);
233
+ --disabled-foreground: var(--foreground-400);
234
+ --error-foreground: var(--danger-600);
235
+ }
236
+
237
+ .label.required-indicator {
238
+ --required-color: var(--danger-600);
239
+ }
240
+
241
+ .label.helper-text {
242
+ --helper-color: var(--foreground-400);
243
+ }
244
+
245
+ .label.helper-text[data-error] {
246
+ --helper-error-color: var(--danger-600);
247
+ }
248
+
249
+ /* Input Styles */
250
+
251
+ .input {
252
+ --background: var(--background-950);
253
+ --foreground: var(--foreground-50);
254
+ --placeholder: var(--foreground-400);
255
+ --border: var(--background-700);
256
+ --background-hover: var(--background-700);
257
+ --border-hover: var(--background-600);
258
+ --ring-color: var(--accent-500);
259
+ --disabled-background: var(--background-900);
260
+ --disabled-foreground: var(--foreground-400);
261
+ }
262
+
263
+ .input[data-error] {
264
+ --border: var(--danger-600);
265
+ --ring-color: var(--danger-600);
266
+ }
267
+
268
+ .input[data-variant="ghost"] {
269
+ --background: transparent;
270
+ --border: transparent;
271
+ --background-hover: transparent;
272
+ --border-hover: transparent;
273
+ }
274
+
275
+ .input[data-variant="ghost"][data-focus-visible] {
276
+ box-shadow: none;
277
+ }
278
+
279
+ .input.icon-wrapper {
280
+ --icon-color: var(--foreground-400);
281
+ }
282
+
283
+ .input.spin-button {
284
+ --spin-color: var(--foreground-400);
285
+ --spin-hover-background: var(--background-800);
286
+ --spin-hover-color: var(--foreground-200);
287
+ --spin-active-background: var(--background-700);
288
+ --spin-active-color: var(--accent-500);
289
+ }
290
+
291
+ /* Slider Styles */
292
+
293
+ .radio {
294
+ --radio-background-unchecked: var(--background-800);
295
+ --radio-border-unchecked: var(--background-700);
296
+ --radio-background-checked: var(--accent-500);
297
+ --radio-border-checked: var(--accent-500);
298
+ --radio-dot-unchecked: transparent;
299
+ --radio-dot-checked: var(--accent-50);
300
+ --radio-hover-background: var(--accent-500);
301
+ --radio-hover-border: var(--background-500);
302
+ --radio-error-border: var(--danger-500);
303
+ --ring-color: rgb(59, 130, 246);
304
+ }
305
+
306
+ .radio.radio-label {
307
+ --radio-foreground: var(--foreground-300);
308
+ }
309
+
310
+ .radio.radio-label-disabled {
311
+ --radio-foreground-disabled: var(--foreground-400);
312
+ }
313
+
314
+ .radio.radio-description {
315
+ --radio-helper: var(--foreground-400);
316
+ }
317
+
318
+ .radio.radio-description-error {
319
+ --radio-helper-error: var(--danger-500);
320
+ }
321
+
322
+ .radio.primary[data-checked="true"] {
323
+ --radio-background-checked: var(--accent-500);
324
+ --radio-border-checked: var(--accent-500);
325
+ }
326
+
327
+ .radio.secondary {
328
+ --radio-background-unchecked: var(--background-800);
329
+ --radio-border-unchecked: var(--background-700);
330
+ }
331
+
332
+ .radio.outline {
333
+ --radio-background-unchecked: transparent;
334
+ --radio-border-unchecked: var(--background-700);
335
+ }
336
+
337
+ .radio.outline[data-checked="true"] {
338
+ --radio-background-unchecked: color-mix(in srgb, var(--accent-500) 15%, transparent);
339
+ --radio-border-unchecked: var(--accent-500);
340
+ --radio-dot-unchecked: var(--accent-500);
341
+ }
342
+
343
+ /* Select Styles */
344
+
345
+ .select {
346
+ --background: color-mix(in srgb, var(--background-800) 50%, transparent);
347
+ --foreground: var(--foreground-300);
348
+ --border-color: var(--background-700);
349
+ --ring-color: var(--accent-400);
350
+ --focus-ring-background: var(--background-950);
351
+ --hover-background: color-mix(in srgb, var(--background-700) 50%, transparent);
352
+ --pressed-background: color-mix(in srgb, var(--background-600) 50%, transparent);
353
+ }
354
+
355
+ .select.ghost {
356
+ --background: transparent;
357
+ --border-color: transparent;
358
+ --hover-background: color-mix(in srgb, var(--background-700) 50%, transparent);
359
+ --pressed-background: color-mix(in srgb, var(--background-700) 50%, transparent);
360
+ }
361
+
362
+ .select.content,
363
+ .select.sub-content {
364
+ --content-background: var(--background-900);
365
+ --content-border: var(--background-700);
366
+ }
367
+
368
+ .select.item {
369
+ --item-foreground: var(--foreground-300);
370
+ --item-description-color: var(--foreground-400);
371
+ --item-icon-color: var(--foreground-300);
372
+ --item-indicator-color: var(--accent-300);
373
+ --item-background-hover: color-mix(in srgb, var(--background-700) 50%, transparent);
374
+ }
375
+
376
+ .select.placeholder {
377
+ --placeholder-color: var(--foreground-400);
378
+ }
379
+
380
+ .select.search-trigger {
381
+ --search-divider-color: color-mix(in srgb, var(--border-color) 75%, transparent);
382
+ --search-focus-ring: var(--accent-500);
383
+ }
384
+
385
+ .select.sub-trigger {
386
+ --subtrigger-foreground: var(--foreground-300);
387
+ --subtrigger-background-hover: color-mix(in srgb, var(--background-700) 30%, transparent);
388
+ }
389
+
390
+ /* Slider Styles */
391
+
392
+ .slider {
393
+ --slider-track-background: var(--background-800);
394
+ --slider-range-background-default: color-mix(in srgb, var(--accent-500) 60%, transparent);
395
+ --slider-range-background-disabled: var(--background-600);
396
+ --slider-thumb-background-default: var(--accent-500);
397
+ --slider-thumb-background-focus: var(--accent-400);
398
+ --slider-thumb-background-disabled: var(--background-500);
399
+ --slider-thumb-ring: color-mix(in srgb, var(--accent-500) 40%, transparent);
400
+ }
401
+
402
+ /* Switch Styles */
403
+
404
+ .switch {
405
+ --track-background-unchecked: var(--background-700);
406
+ --track-background-checked: var(--background-500);
407
+ --track-background-hover: var(--background-800);
408
+ --track-background-active: var(--background-800);
409
+ --track-background-disabled: var(--background-950);
410
+ --thumb-background-unchecked: var(--background-500);
411
+ --thumb-background-checked: var(--foreground-300);
412
+
413
+ --border: var(--background-600);
414
+ --border-hover: transparent;
415
+ --border-active: transparent;
416
+ --border-checked: transparent;
417
+
418
+ --focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent-500) 40%, transparent);
419
+ }
420
+
421
+ /* Textarea Styles */
422
+
423
+ .textarea {
424
+ --background: var(--background-950);
425
+ --foreground: var(--foreground-50);
426
+ --placeholder: var(--foreground-400);
427
+ --border: var(--background-700);
428
+ --ring-color: var(--accent-500);
429
+ --disabled-background: var(--background-900);
430
+ --disabled-foreground: var(--foreground-400);
431
+ }
432
+
433
+ .textarea[data-error] {
434
+ --border: var(--danger-600);
435
+ --ring-color: var(--danger-600);
436
+ }
437
+
438
+ .textarea.scroll-wrapper {
439
+ --background: var(--background-950);
440
+ --border: var(--background-700);
441
+ --ring-color: var(--accent-500);
442
+ --disabled-background: var(--background-900);
443
+ }
444
+
445
+ .textarea.scroll-wrapper[data-error] {
446
+ --border: var(--danger-600);
447
+ --ring-color: var(--danger-600);
448
+ }
449
+
450
+ .textarea.resize-handle {
451
+ --resize-handle-color: color-mix(in srgb, var(--foreground-400) 72%, transparent);
452
+ --resize-handle-color-hover: color-mix(in srgb, var(--foreground-200) 90%, transparent);
453
+ }
454
+
455
+ .textarea.character-count {
456
+ --character-count-color: var(--foreground-400);
457
+ --character-count-over-limit-color: var(--danger-600);
458
+ }
459
+
460
+ /* Banner Styles */
461
+
462
+ .banner {
463
+ --background: var(--background-900);
464
+ --foreground: var(--info-50);
465
+ --border: var(--info-600);
466
+ }
467
+
468
+ .banner.note {
469
+ --background: var(--background-900);
470
+ --foreground: var(--foreground-200);
471
+ --border: var(--background-700);
472
+ --icon-color: var(--background-500);
473
+ }
474
+
475
+ .banner.info {
476
+ --background: color-mix(in srgb, var(--info-600) 10%, var(--background-900));
477
+ --foreground: var(--foreground-200);
478
+ --border: color-mix(in srgb, var(--info-600) 30%, var(--background-900));
479
+ --icon-color: var(--info-600);
480
+ }
481
+
482
+ .banner.success {
483
+ --background: color-mix(in srgb, var(--success-600) 10%, var(--background-900));
484
+ --foreground: var(--foreground-200);
485
+ --border: color-mix(in srgb, var(--success-600) 30%, var(--background-900));
486
+ --icon-color: var(--success-600);
487
+ }
488
+
489
+ .banner.warning {
490
+ --background: color-mix(in srgb, var(--warning-600) 10%, var(--background-900));
491
+ --foreground: var(--foreground-200);
492
+ --border: color-mix(in srgb, var(--warning-600) 30%, var(--background-900));
493
+ --icon-color: var(--warning-600);
494
+ }
495
+
496
+ .banner.danger {
497
+ --background: color-mix(in srgb, var(--danger-600) 10%, var(--background-900));
498
+ --foreground: var(--foreground-200);
499
+ --border: color-mix(in srgb, var(--danger-600) 30%, var(--background-900));
500
+ --icon-color: var(--danger-600);
501
+ }
502
+
503
+ /* Badge Styles */
504
+
505
+ .badge {
506
+ --background: var(--background-800);
507
+ --foreground: var(--foreground-200);
508
+ --border: var(--background-600);
509
+ --dismiss-color: var(--foreground-400);
510
+ --dismiss-hover-background: color-mix(in srgb, var(--background-700) 80%, var(--background-900));
511
+ --dismiss-pressed-background: var(--background-700);
512
+ }
513
+
514
+ .badge.default {
515
+ --background: color-mix(in srgb, var(--background-600) 10%, var(--background-900));
516
+ --foreground: var(--foreground-200);
517
+ --border: var(--background-700);
518
+ }
519
+
520
+ .badge.secondary {
521
+ --background: color-mix(in srgb, var(--background-600) 40%, transparent);
522
+ --foreground: var(--foreground-300);
523
+ --border: var(--background-600);
524
+ }
525
+
526
+ .badge.success {
527
+ --background: color-mix(in srgb, var(--success-600) 10%, var(--background-900));
528
+ --foreground: var(--success-600);
529
+ --border: color-mix(in srgb, var(--success-600) 20%, var(--background-900));
530
+ }
531
+
532
+ .badge.warning {
533
+ --background: color-mix(in srgb, var(--warning-600) 10%, var(--background-900));
534
+ --foreground: var(--warning-600);
535
+ --border: color-mix(in srgb, var(--warning-600) 20%, var(--background-900));
536
+ }
537
+
538
+ .badge.danger {
539
+ --background: color-mix(in srgb, var(--danger-600) 10%, var(--background-900));
540
+ --foreground: var(--danger-600);
541
+ --border: color-mix(in srgb, var(--danger-600) 20%, var(--background-900));
542
+ }
543
+
544
+ .badge.info {
545
+ --background: color-mix(in srgb, var(--info-600) 10%, var(--background-900));
546
+ --foreground: var(--info-600);
547
+ --border: color-mix(in srgb, var(--info-600) 20%, var(--background-900));
548
+ }
549
+
550
+ /* Popover Styles */
551
+
552
+ .popover.content {
553
+ --popover-fill: var(--background-900);
554
+ --popover-border-color: var(--background-700);
555
+ }
556
+
557
+ .popover.frame {
558
+ --foreground: var(--foreground-200);
559
+ }
560
+
561
+ /* Tooltip Styles */
562
+
563
+ .tooltip.content {
564
+ --tooltip-fill: var(--background-900);
565
+ --tooltip-border-color: var(--background-700);
566
+ }
567
+
568
+ .tooltip.frame {
569
+ --foreground: var(--foreground-200);
570
+ }
571
+
572
+ /* Progress Styles */
573
+
574
+ .progress {
575
+ --track-background: var(--background-700);
576
+ --fill-background: color-mix(in srgb, var(--accent-600) 60%, var(--background-500));
577
+ }
578
+
579
+ .progress.label-row {
580
+ --foreground: var(--foreground-400);
581
+ }
582
+
583
+ .progress.fill.default { --fill-background: var(--accent-500); }
584
+ .progress.fill.success { --fill-background: var(--success-500); }
585
+ .progress.fill.warning { --fill-background: var(--warning-500); }
586
+ .progress.fill.error { --fill-background: var(--danger-500); }
587
+
588
+ /* Toast Styles */
589
+
590
+ .toast {
591
+ --background: var(--background-900);
592
+ --foreground: var(--foreground-200);
593
+ --border: var(--background-600);
594
+ --shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
595
+ --icon-color: currentColor;
596
+ --title-color: var(--foreground-100);
597
+ --description-color: var(--foreground-300);
598
+ --close-color: currentColor;
599
+ --close-hover-background: transparent;
600
+ }
601
+
602
+ .toast.default {
603
+ --background: var(--background-900);
604
+ --foreground: var(--foreground-200);
605
+ --border: var(--background-600);
606
+ }
607
+
608
+ .toast.danger {
609
+ --background: color-mix(in srgb, var(--danger-600) 10%, var(--background-900));
610
+ --foreground: var(--foreground-200);
611
+ --border: color-mix(in srgb, var(--danger-600) 20%, var(--background-900));
612
+ --icon-color: var(--danger-600);
613
+ --close-color: color-mix(in srgb, var(--danger-600) 60%, var(--foreground-50));
614
+ --close-hover-background: color-mix(in srgb, var(--danger-500) 20%, var(--background-900));
615
+ }
616
+
617
+ .toast.success {
618
+ --background: color-mix(in srgb, var(--success-600) 10%, var(--background-900));
619
+ --foreground: var(--foreground-200);
620
+ --border: color-mix(in srgb, var(--success-600) 20%, var(--background-900));
621
+ --icon-color: var(--success-600);
622
+ --close-color: color-mix(in srgb, var(--success-600) 60%, var(--foreground-50));
623
+ --close-hover-background: color-mix(in srgb, var(--success-500) 20%, var(--background-900));
624
+ }
625
+
626
+ .toast.info {
627
+ --background: color-mix(in srgb, var(--info-600) 10%, var(--background-900));
628
+ --foreground: var(--foreground-200);
629
+ --border: color-mix(in srgb, var(--info-600) 20%, var(--background-900));
630
+ --icon-color: var(--info-600);
631
+ --close-color: color-mix(in srgb, var(--info-600) 60%, var(--foreground-50));
632
+ --close-hover-background: color-mix(in srgb, var(--info-500) 20%, var(--background-900));
633
+ }
634
+
635
+ .toast.warning {
636
+ --background: color-mix(in srgb, var(--warning-600) 10%, var(--background-900));
637
+ --foreground: var(--foreground-200);
638
+ --border: color-mix(in srgb, var(--warning-600) 20%, var(--background-900));
639
+ --icon-color: var(--warning-600);
640
+ --close-color: color-mix(in srgb, var(--warning-600) 60%, var(--foreground-50));
641
+ --close-hover-background: color-mix(in srgb, var(--warning-500) 20%, var(--background-900));
642
+ }
643
+
644
+ /* Tabs Styles */
645
+
646
+ .tabs.indicator {
647
+ --indicator-background: color-mix(in srgb, var(--background-700) 50%, transparent);;
648
+ }
649
+
650
+ .tabs.indicator.underline {
651
+ --indicator-background: var(--accent-500);
652
+ }
653
+
654
+ .tabs.list[data-variant="underline"][data-orientation="vertical"] {
655
+ --list-border-color: var(--background-700);
656
+ }
657
+
658
+ .tabs.trigger {
659
+ --trigger-color: var(--foreground-400);
660
+ --trigger-hover-color: var(--foreground-200);
661
+ --trigger-active-color: var(--foreground-50);
662
+ --trigger-selected-color: var(--foreground-50);
663
+ --trigger-selected-background: color-mix(in srgb, var(--background-700) 50%, transparent);
664
+ --trigger-underline-color: var(--accent-500);
665
+ --trigger-focus-background: var(--background-800);
666
+ }
667
+
668
+ .tabs.content {
669
+ --content-outline-color: var(--accent-500);
670
+ }
671
+
672
+ /* Anchor Styles */
673
+
674
+ .anchor.trigger {
675
+ --foreground: var(--foreground-200);
676
+ --underline-background: var(--background-600);
677
+ --focus-ring: var(--color-background-600);
678
+ }
679
+
680
+ /* Modal Styles */
681
+
682
+ .modal {
683
+ --modal-background: var(--background-900);
684
+ --modal-border: var(--background-700);
685
+ --modal-title-color: var(--foreground-100);
686
+ --modal-text-color: var(--foreground-300);
687
+ --modal-close-color: var(--foreground-400);
688
+ --modal-close-hover: var(--foreground-200);
689
+ --footer-background: var(--background-900);
690
+ }
691
+
692
+ .modal.backdrop {
693
+ --backdrop-background: rgb(0 0 0 / 0.5);
694
+ }
695
+
696
+ /* Scroll Styles */
697
+
698
+ .scroll {
699
+ --track-background: transparent;
700
+ --thumb-background: var(--background-700);
701
+ --thumb-hover-background: var(--background-600);
702
+ --thumb-dragging-background: color-mix(in srgb, var(--background-500) 60%, var(--background-950));
703
+ }