@zovaris/sephiro 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css ADDED
@@ -0,0 +1,2343 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer theme, components, utilities;
4
+ @layer theme {
5
+ :root, :host {
6
+ --color-black: #000;
7
+ --color-white: #fff;
8
+ --spacing: 0.25rem;
9
+ --container-md: 28rem;
10
+ --container-lg: 32rem;
11
+ --text-xs: 0.75rem;
12
+ --text-xs--line-height: calc(1 / 0.75);
13
+ --text-sm: 0.875rem;
14
+ --text-sm--line-height: calc(1.25 / 0.875);
15
+ --text-base: 1rem;
16
+ --text-base--line-height: calc(1.5 / 1);
17
+ --font-weight-normal: 400;
18
+ --font-weight-medium: 500;
19
+ --font-weight-semibold: 600;
20
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
21
+ --default-transition-duration: 150ms;
22
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
23
+ --font-sph-sans: "Geist Variable", ui-sans-serif, system-ui, sans-serif;
24
+ --color-sph-surface: var(--sph-surface);
25
+ --color-sph-raised: var(--sph-raised);
26
+ --color-sph-border: var(--sph-border);
27
+ --color-sph-border-strong: var(--sph-border-strong);
28
+ --color-sph-text: var(--sph-text);
29
+ --color-sph-text-muted: var(--sph-text-muted);
30
+ --color-sph-accent: var(--sph-accent);
31
+ --color-sph-accent-hover: var(--sph-accent-hover);
32
+ --color-sph-accent-pressed: var(--sph-accent-pressed);
33
+ --color-sph-accent-soft: var(--sph-accent-soft);
34
+ --radius-sph-xs: var(--sph-radius-xs);
35
+ --radius-sph-sm: var(--sph-radius-sm);
36
+ --radius-sph-md: var(--sph-radius-md);
37
+ }
38
+ }
39
+ @layer utilities;
40
+ @layer components {
41
+ .sph-badge {
42
+ display: inline-flex;
43
+ align-items: center;
44
+ border-radius: calc(infinity * 1px);
45
+ padding-inline: calc(var(--spacing) * 2);
46
+ padding-block: calc(var(--spacing) * 0.5);
47
+ --tw-font-weight: var(--font-weight-medium);
48
+ font-weight: var(--font-weight-medium);
49
+ color: var(--sph-text-muted);
50
+ font: 550 11px / 1.4 var(--sph-font-sans);
51
+ letter-spacing: 0.01em;
52
+ transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard);
53
+ }
54
+ .sph-badge[data-size="sm"] {
55
+ min-height: calc(var(--spacing) * 5);
56
+ }
57
+ .sph-badge[data-size="md"] {
58
+ min-height: calc(var(--spacing) * 6);
59
+ padding-inline: calc(var(--spacing) * 2.5);
60
+ font-size: var(--text-xs);
61
+ line-height: var(--tw-leading, var(--text-xs--line-height));
62
+ }
63
+ .sph-badge[data-size="lg"] {
64
+ min-height: calc(var(--spacing) * 7);
65
+ padding-inline: calc(var(--spacing) * 3);
66
+ font-size: var(--text-sm);
67
+ line-height: var(--tw-leading, var(--text-sm--line-height));
68
+ }
69
+ .sph-badge[data-variant="neutral"] {
70
+ background: var(--sph-raised);
71
+ }
72
+ .sph-badge[data-variant="accent"] {
73
+ background: var(--sph-accent-soft);
74
+ color: var(--sph-accent-strong);
75
+ }
76
+ .sph-badge[data-variant="success"] {
77
+ background: var(--sph-success-soft);
78
+ color: var(--sph-success);
79
+ }
80
+ .sph-badge[data-variant="warning"] {
81
+ background: var(--sph-warning-soft);
82
+ color: var(--sph-warning);
83
+ }
84
+ .sph-badge[data-variant="danger"] {
85
+ background: var(--sph-danger-soft);
86
+ color: var(--sph-danger);
87
+ }
88
+ @media (prefers-reduced-motion: reduce) {
89
+ .sph-badge {
90
+ transition: none;
91
+ }
92
+ }
93
+ .sph-button {
94
+ display: inline-flex;
95
+ height: calc(var(--spacing) * 9);
96
+ align-items: center;
97
+ justify-content: center;
98
+ gap: calc(var(--spacing) * 1.5);
99
+ border-radius: var(--radius-sph-sm);
100
+ border-style: var(--tw-border-style);
101
+ border-width: 0px;
102
+ background-color: transparent;
103
+ padding-inline: calc(var(--spacing) * 3);
104
+ font-size: 12.5px;
105
+ --tw-font-weight: var(--font-weight-medium);
106
+ font-weight: var(--font-weight-medium);
107
+ color: var(--color-sph-text);
108
+ box-sizing: border-box;
109
+ cursor: pointer;
110
+ font-family: var(--sph-font-sans);
111
+ font-weight: 550;
112
+ transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
113
+ }
114
+ .sph-button[data-size="sm"] {
115
+ height: calc(var(--spacing) * 8);
116
+ }
117
+ .sph-button[data-size="md"] {
118
+ height: calc(var(--spacing) * 9);
119
+ font-size: var(--text-sm);
120
+ line-height: var(--tw-leading, var(--text-sm--line-height));
121
+ }
122
+ .sph-button[data-size="lg"] {
123
+ height: calc(var(--spacing) * 10);
124
+ font-size: var(--text-sm);
125
+ line-height: var(--tw-leading, var(--text-sm--line-height));
126
+ }
127
+ .sph-button[data-variant="primary"] {
128
+ background-color: var(--color-sph-accent);
129
+ color: var(--color-white);
130
+ }
131
+ .sph-button[data-variant="primary"]:hover {
132
+ background-color: var(--color-sph-accent-hover);
133
+ }
134
+ .sph-button[data-variant="primary"]:active {
135
+ background-color: var(--color-sph-accent-pressed);
136
+ transform: translateY(1px);
137
+ }
138
+ .sph-button[data-variant="secondary"] {
139
+ border-style: var(--tw-border-style);
140
+ border-width: 1px;
141
+ border-color: var(--color-sph-border);
142
+ background-color: var(--color-sph-surface);
143
+ }
144
+ .sph-button[data-variant="secondary"]:hover, .sph-button[data-variant="quiet"]:hover {
145
+ background-color: var(--color-sph-raised);
146
+ }
147
+ .sph-button[data-variant="quiet"] {
148
+ color: var(--color-sph-text-muted);
149
+ }
150
+ .sph-button:disabled {
151
+ opacity: 45%;
152
+ cursor: not-allowed;
153
+ transform: none;
154
+ }
155
+ .sph-button:focus-visible {
156
+ outline: 2px solid var(--sph-focus);
157
+ outline-offset: 2px;
158
+ }
159
+ .sph-button[data-loading="true"] {
160
+ cursor: wait;
161
+ }
162
+ .sph-button__label {
163
+ display: inline-flex;
164
+ align-items: center;
165
+ }
166
+ @media (prefers-reduced-motion: reduce) {
167
+ .sph-button {
168
+ transition: none;
169
+ }
170
+ }
171
+ .sph-checkbox {
172
+ display: inline-flex;
173
+ min-height: calc(var(--spacing) * 9);
174
+ cursor: pointer;
175
+ align-items: center;
176
+ gap: calc(var(--spacing) * 2);
177
+ font-size: var(--text-sm);
178
+ line-height: var(--tw-leading, var(--text-sm--line-height));
179
+ color: var(--color-sph-text);
180
+ font-family: var(--sph-font-sans);
181
+ }
182
+ .sph-checkbox[data-size="sm"] {
183
+ min-height: calc(var(--spacing) * 8);
184
+ font-size: var(--text-xs);
185
+ line-height: var(--tw-leading, var(--text-xs--line-height));
186
+ }
187
+ .sph-checkbox[data-size="lg"] {
188
+ min-height: calc(var(--spacing) * 10);
189
+ }
190
+ .sph-checkbox__input {
191
+ position: absolute;
192
+ opacity: 0;
193
+ pointer-events: none;
194
+ }
195
+ .sph-checkbox__box {
196
+ box-sizing: border-box;
197
+ width: calc(var(--spacing) * 4);
198
+ height: calc(var(--spacing) * 4);
199
+ border-radius: var(--radius-sph-xs);
200
+ border-style: var(--tw-border-style);
201
+ border-width: 1px;
202
+ border-color: var(--color-sph-border);
203
+ background-color: var(--color-sph-surface);
204
+ position: relative;
205
+ flex: 0 0 auto;
206
+ transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), border-color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
207
+ }
208
+ .sph-checkbox[data-size="sm"] .sph-checkbox__box {
209
+ width: calc(var(--spacing) * 3.5);
210
+ height: calc(var(--spacing) * 3.5);
211
+ }
212
+ .sph-checkbox[data-size="lg"] .sph-checkbox__box {
213
+ width: calc(var(--spacing) * 5);
214
+ height: calc(var(--spacing) * 5);
215
+ }
216
+ .sph-checkbox__input:checked + .sph-checkbox__box {
217
+ border-color: var(--color-sph-accent);
218
+ background-color: var(--color-sph-accent);
219
+ }
220
+ .sph-checkbox__check {
221
+ display: block;
222
+ width: 100%;
223
+ height: 100%;
224
+ color: var(--color-white);
225
+ opacity: 0;
226
+ transform: scale(0.72);
227
+ transition: opacity var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
228
+ }
229
+ .sph-checkbox__input:checked + .sph-checkbox__box .sph-checkbox__check {
230
+ opacity: 1;
231
+ transform: scale(1);
232
+ }
233
+ .sph-checkbox__input:focus-visible + .sph-checkbox__box {
234
+ outline: 2px solid var(--sph-focus);
235
+ outline-offset: 2px;
236
+ }
237
+ .sph-checkbox__input:active + .sph-checkbox__box {
238
+ transform: scale(0.92);
239
+ }
240
+ .sph-checkbox__input:disabled ~ * {
241
+ opacity: 50%;
242
+ cursor: not-allowed;
243
+ }
244
+ .sph-checkbox__input[aria-invalid="true"] + .sph-checkbox__box {
245
+ border-color: var(--sph-danger);
246
+ }
247
+ @media (prefers-reduced-motion: reduce) {
248
+ .sph-checkbox__box, .sph-checkbox__check {
249
+ transition: none;
250
+ }
251
+ }
252
+ .sph-icon-button {
253
+ display: inline-flex;
254
+ flex-shrink: 0;
255
+ align-items: center;
256
+ justify-content: center;
257
+ border-radius: var(--radius-sph-sm);
258
+ border-style: var(--tw-border-style);
259
+ border-width: 0px;
260
+ background-color: transparent;
261
+ padding: 0px;
262
+ color: var(--color-sph-text-muted);
263
+ box-sizing: border-box;
264
+ cursor: pointer;
265
+ font-family: var(--sph-font-sans);
266
+ transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
267
+ }
268
+ .sph-icon-button[data-size="sm"] {
269
+ width: calc(var(--spacing) * 8);
270
+ height: calc(var(--spacing) * 8);
271
+ }
272
+ .sph-icon-button[data-size="md"] {
273
+ width: calc(var(--spacing) * 9);
274
+ height: calc(var(--spacing) * 9);
275
+ }
276
+ .sph-icon-button[data-size="lg"] {
277
+ width: calc(var(--spacing) * 10);
278
+ height: calc(var(--spacing) * 10);
279
+ }
280
+ .sph-icon-button:hover:not(:disabled) {
281
+ background-color: var(--color-sph-raised);
282
+ color: var(--color-sph-text);
283
+ }
284
+ .sph-icon-button:active:not(:disabled) {
285
+ background-color: var(--color-sph-accent-soft);
286
+ transform: scale(0.94);
287
+ }
288
+ .sph-icon-button[data-variant="solid"] {
289
+ background-color: var(--color-sph-accent);
290
+ color: var(--color-white);
291
+ }
292
+ .sph-icon-button[data-variant="solid"]:hover:not(:disabled) {
293
+ background-color: var(--color-sph-accent-hover);
294
+ color: var(--color-white);
295
+ }
296
+ .sph-icon-button[data-variant="solid"]:active:not(:disabled) {
297
+ background-color: var(--color-sph-accent-pressed);
298
+ }
299
+ .sph-icon-button[data-variant="outline"] {
300
+ border-style: var(--tw-border-style);
301
+ border-width: 1px;
302
+ border-color: var(--color-sph-border);
303
+ background-color: var(--color-sph-surface);
304
+ color: var(--color-sph-text);
305
+ }
306
+ .sph-icon-button[data-variant="outline"]:hover:not(:disabled) {
307
+ background-color: var(--color-sph-raised);
308
+ border-color: var(--sph-border-strong);
309
+ }
310
+ .sph-icon-button:focus-visible {
311
+ outline: 2px solid var(--sph-focus);
312
+ outline-offset: 2px;
313
+ box-shadow: 0 0 0 4px var(--sph-focus-ring);
314
+ }
315
+ .sph-icon-button:disabled {
316
+ opacity: 45%;
317
+ cursor: not-allowed;
318
+ transform: none;
319
+ }
320
+ .sph-icon-button[data-loading="true"] {
321
+ cursor: wait;
322
+ }
323
+ @media (prefers-reduced-motion: reduce) {
324
+ .sph-icon-button {
325
+ transition: none;
326
+ }
327
+ }
328
+ .sph-input {
329
+ box-sizing: border-box;
330
+ height: calc(var(--spacing) * 9);
331
+ width: 100%;
332
+ border-radius: var(--radius-sph-sm);
333
+ background-color: var(--color-sph-surface);
334
+ padding-inline: calc(var(--spacing) * 3);
335
+ color: var(--color-sph-text);
336
+ --tw-outline-style: none;
337
+ outline-style: none;
338
+ border: 0.5px solid var(--sph-border);
339
+ @supports (color: color-mix(in lab, red, red)) {
340
+ border: 0.5px solid color-mix(in srgb, var(--sph-border) 86%, transparent);
341
+ }
342
+ font: 13px var(--sph-font-sans);
343
+ transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-fast) var(--sph-ease-standard), background-color var(--sph-motion-fast) var(--sph-ease-standard);
344
+ }
345
+ .sph-input[data-size="sm"] {
346
+ height: calc(var(--spacing) * 8);
347
+ }
348
+ .sph-input[data-size="lg"] {
349
+ height: calc(var(--spacing) * 10);
350
+ }
351
+ .sph-input:hover:not(:disabled) {
352
+ border-color: var(--sph-border-strong);
353
+ }
354
+ .sph-input::placeholder {
355
+ color: var(--color-sph-text-muted);
356
+ }
357
+ .sph-input[aria-invalid="true"] {
358
+ border-color: var(--sph-danger);
359
+ }
360
+ .sph-input:disabled {
361
+ opacity: 50%;
362
+ cursor: not-allowed;
363
+ }
364
+ .sph-input:focus-visible {
365
+ outline: none;
366
+ box-shadow: none;
367
+ border-color: var(--sph-border-strong);
368
+ }
369
+ .sph-input[aria-invalid="true"]:focus-visible {
370
+ border-color: var(--sph-danger);
371
+ }
372
+ @media (prefers-reduced-motion: reduce) {
373
+ .sph-input {
374
+ transition: none;
375
+ }
376
+ }
377
+ .sph-skeleton {
378
+ display: inline-block;
379
+ min-height: calc(var(--spacing) * 3);
380
+ border-radius: var(--radius-sph-sm);
381
+ background-color: var(--color-sph-raised);
382
+ background-image: linear-gradient( 90deg, transparent, var(--sph-text), transparent );
383
+ @supports (color: color-mix(in lab, red, red)) {
384
+ background-image: linear-gradient( 90deg, transparent, color-mix(in srgb, var(--sph-text) 8%, transparent), transparent );
385
+ }
386
+ background-size: 200% 100%;
387
+ animation: sph-skeleton-shimmer 1.4s var(--sph-ease-standard) infinite;
388
+ }
389
+ @keyframes sph-skeleton-shimmer {
390
+ from {
391
+ background-position: 200% 0;
392
+ }
393
+ to {
394
+ background-position: -200% 0;
395
+ }
396
+ }
397
+ @media (prefers-reduced-motion: reduce) {
398
+ .sph-skeleton {
399
+ animation: none;
400
+ }
401
+ }
402
+ .sph-slider {
403
+ display: grid;
404
+ width: 100%;
405
+ gap: calc(var(--spacing) * 2);
406
+ font-family: var(--font-sph-sans);
407
+ --sph-slider-track: 4px;
408
+ --sph-slider-thumb: 15px;
409
+ }
410
+ .sph-slider[data-size="sm"] {
411
+ --sph-slider-track: 3px;
412
+ --sph-slider-thumb: 12px;
413
+ }
414
+ .sph-slider[data-size="lg"] {
415
+ --sph-slider-track: 5px;
416
+ --sph-slider-thumb: 18px;
417
+ }
418
+ .sph-slider__head {
419
+ display: flex;
420
+ align-items: baseline;
421
+ justify-content: space-between;
422
+ gap: calc(var(--spacing) * 3);
423
+ }
424
+ .sph-slider__label {
425
+ font-size: 11px;
426
+ --tw-leading: 1;
427
+ line-height: 1;
428
+ color: var(--color-sph-text);
429
+ }
430
+ .sph-slider__value {
431
+ font-size: 11px;
432
+ --tw-leading: 1;
433
+ line-height: 1;
434
+ color: var(--color-sph-text-muted);
435
+ font-variant-numeric: tabular-nums;
436
+ }
437
+ .sph-slider[data-size="sm"] .sph-slider__label, .sph-slider[data-size="sm"] .sph-slider__value {
438
+ font-size: 10px;
439
+ }
440
+ .sph-slider[data-size="lg"] .sph-slider__label, .sph-slider[data-size="lg"] .sph-slider__value {
441
+ font-size: var(--text-xs);
442
+ line-height: var(--tw-leading, var(--text-xs--line-height));
443
+ }
444
+ .sph-slider__input {
445
+ margin: 0px;
446
+ width: 100%;
447
+ cursor: pointer;
448
+ border-style: var(--tw-border-style);
449
+ border-width: 0px;
450
+ background-color: transparent;
451
+ padding: 0px;
452
+ appearance: none;
453
+ -webkit-appearance: none;
454
+ box-sizing: border-box;
455
+ height: calc(var(--sph-slider-thumb) + 2px);
456
+ }
457
+ .sph-slider__input::-webkit-slider-runnable-track {
458
+ box-sizing: border-box;
459
+ height: var(--sph-slider-track);
460
+ border-radius: 999px;
461
+ background: linear-gradient( to right, var(--sph-slider-fill, var(--sph-accent)) var(--sph-slider-progress, 0%), var(--sph-border) var(--sph-slider-progress, 0%) );
462
+ }
463
+ .sph-slider__input::-moz-range-track {
464
+ box-sizing: border-box;
465
+ height: var(--sph-slider-track);
466
+ border-radius: 999px;
467
+ background: var(--sph-border);
468
+ }
469
+ .sph-slider__input::-moz-range-progress {
470
+ height: var(--sph-slider-track);
471
+ border-radius: 999px;
472
+ background: var(--sph-slider-fill, var(--sph-accent));
473
+ }
474
+ .sph-slider__input::-webkit-slider-thumb {
475
+ appearance: none;
476
+ -webkit-appearance: none;
477
+ box-sizing: border-box;
478
+ width: var(--sph-slider-thumb);
479
+ height: var(--sph-slider-thumb);
480
+ margin-top: calc((var(--sph-slider-track) - var(--sph-slider-thumb)) / 2);
481
+ border: 0;
482
+ border-radius: 999px;
483
+ background: var(--sph-slider-fill, var(--sph-accent));
484
+ box-shadow: 0 0 0 1px var(--sph-slider-ring, var(--sph-surface)), 0 1px 2px rgb(0 0 0 / 0.28);
485
+ transition: box-shadow var(--sph-motion-fast) var(--sph-ease-standard);
486
+ }
487
+ .sph-slider__input::-moz-range-thumb {
488
+ box-sizing: border-box;
489
+ width: var(--sph-slider-thumb);
490
+ height: var(--sph-slider-thumb);
491
+ border: 0;
492
+ border-radius: 999px;
493
+ background: var(--sph-slider-fill, var(--sph-accent));
494
+ box-shadow: 0 0 0 1px var(--sph-slider-ring, var(--sph-surface)), 0 1px 2px rgb(0 0 0 / 0.28);
495
+ }
496
+ .sph-slider__input:hover::-webkit-slider-thumb, .sph-slider__input:active::-webkit-slider-thumb {
497
+ box-shadow: 0 0 0 1px var(--sph-slider-ring, var(--sph-surface)), 0 0 0 5px var(--sph-accent-soft);
498
+ }
499
+ .sph-slider__input:hover::-moz-range-thumb, .sph-slider__input:active::-moz-range-thumb {
500
+ box-shadow: 0 0 0 1px var(--sph-slider-ring, var(--sph-surface)), 0 0 0 5px var(--sph-accent-soft);
501
+ }
502
+ .sph-slider__input:focus-visible {
503
+ outline: 2px solid var(--sph-focus);
504
+ outline-offset: 4px;
505
+ border-radius: 999px;
506
+ }
507
+ .sph-slider[data-invalid] .sph-slider__input {
508
+ --sph-slider-fill: var(--sph-danger);
509
+ }
510
+ .sph-slider[data-invalid] .sph-slider__value {
511
+ color: var(--sph-danger);
512
+ }
513
+ .sph-slider[data-disabled] .sph-slider__input {
514
+ cursor: not-allowed;
515
+ opacity: 0.45;
516
+ }
517
+ .sph-slider[data-disabled] .sph-slider__label, .sph-slider[data-disabled] .sph-slider__value {
518
+ opacity: 60%;
519
+ }
520
+ @media (prefers-reduced-motion: reduce) {
521
+ .sph-slider__input::-webkit-slider-thumb, .sph-slider__input::-moz-range-thumb {
522
+ transition: none;
523
+ }
524
+ }
525
+ .sph-separator {
526
+ margin: 0px;
527
+ border-style: var(--tw-border-style);
528
+ border-width: 0px;
529
+ background-color: var(--color-sph-border);
530
+ flex: 0 0 auto;
531
+ }
532
+ .sph-separator[data-orientation="horizontal"] {
533
+ height: 1px;
534
+ width: 100%;
535
+ }
536
+ .sph-separator[data-orientation="vertical"] {
537
+ height: 100%;
538
+ width: 1px;
539
+ min-height: 18px;
540
+ }
541
+ .sph-spinner {
542
+ box-sizing: border-box;
543
+ display: inline-block;
544
+ flex-shrink: 0;
545
+ border-radius: calc(infinity * 1px);
546
+ border-style: var(--tw-border-style);
547
+ border-width: 2px;
548
+ border-color: var(--color-sph-border);
549
+ border-top-color: var(--color-sph-accent);
550
+ animation: sph-spin 700ms linear infinite;
551
+ }
552
+ .sph-spinner--sm {
553
+ width: calc(var(--spacing) * 3);
554
+ height: calc(var(--spacing) * 3);
555
+ }
556
+ .sph-spinner--md {
557
+ width: calc(var(--spacing) * 4);
558
+ height: calc(var(--spacing) * 4);
559
+ }
560
+ .sph-spinner--lg {
561
+ width: calc(var(--spacing) * 5);
562
+ height: calc(var(--spacing) * 5);
563
+ }
564
+ @keyframes sph-spin {
565
+ to {
566
+ transform: rotate(360deg);
567
+ }
568
+ }
569
+ @media (prefers-reduced-motion: reduce) {
570
+ .sph-spinner {
571
+ animation: none;
572
+ }
573
+ }
574
+ .sph-surface {
575
+ min-width: 0px;
576
+ border-radius: var(--radius-sph-md);
577
+ color: var(--color-sph-text);
578
+ background: var(--sph-surface);
579
+ font-family: var(--sph-font-sans);
580
+ }
581
+ .sph-surface[data-tone="elevated"] {
582
+ background: var(--sph-surface-elevated);
583
+ }
584
+ .sph-surface[data-tone="raised"] {
585
+ background: var(--sph-raised);
586
+ }
587
+ .sph-surface[data-padding="none"] {
588
+ padding: 0;
589
+ }
590
+ .sph-surface[data-padding="sm"] {
591
+ padding: 10px;
592
+ }
593
+ .sph-surface[data-padding="md"] {
594
+ padding: 16px;
595
+ }
596
+ .sph-surface[data-padding="lg"] {
597
+ padding: 24px;
598
+ }
599
+ .sph-textarea {
600
+ box-sizing: border-box;
601
+ min-height: calc(var(--spacing) * 24);
602
+ width: 100%;
603
+ resize: vertical;
604
+ border-radius: var(--radius-sph-sm);
605
+ background-color: var(--color-sph-surface);
606
+ padding-inline: calc(var(--spacing) * 3);
607
+ padding-block: calc(var(--spacing) * 2.5);
608
+ color: var(--color-sph-text);
609
+ --tw-outline-style: none;
610
+ outline-style: none;
611
+ border: 0.5px solid var(--sph-border);
612
+ @supports (color: color-mix(in lab, red, red)) {
613
+ border: 0.5px solid color-mix(in srgb, var(--sph-border) 86%, transparent);
614
+ }
615
+ font: 13px / 1.5 var(--sph-font-sans);
616
+ transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-fast) var(--sph-ease-standard);
617
+ }
618
+ .sph-textarea[data-size="sm"] {
619
+ min-height: calc(var(--spacing) * 20);
620
+ }
621
+ .sph-textarea[data-size="lg"] {
622
+ min-height: calc(var(--spacing) * 32);
623
+ }
624
+ .sph-textarea:hover:not(:disabled) {
625
+ border-color: var(--sph-border-strong);
626
+ }
627
+ .sph-textarea::placeholder {
628
+ color: var(--color-sph-text-muted);
629
+ }
630
+ .sph-textarea[aria-invalid="true"] {
631
+ border-color: var(--sph-danger);
632
+ }
633
+ .sph-textarea:disabled {
634
+ opacity: 50%;
635
+ cursor: not-allowed;
636
+ }
637
+ .sph-textarea:focus-visible {
638
+ outline: 2px solid var(--sph-focus);
639
+ outline-offset: 2px;
640
+ box-shadow: 0 0 0 4px var(--sph-focus-ring);
641
+ }
642
+ @media (prefers-reduced-motion: reduce) {
643
+ .sph-textarea {
644
+ transition: none;
645
+ }
646
+ }
647
+ .sph-toggle {
648
+ box-sizing: border-box;
649
+ display: inline-flex;
650
+ height: calc(var(--spacing) * 9);
651
+ width: calc(var(--spacing) * 11);
652
+ align-items: center;
653
+ justify-content: center;
654
+ border-style: var(--tw-border-style);
655
+ border-width: 0px;
656
+ background-color: transparent;
657
+ padding: 0px;
658
+ font-family: var(--font-sph-sans);
659
+ --sph-toggle-travel: 16px;
660
+ cursor: pointer;
661
+ }
662
+ .sph-toggle[data-size="sm"] {
663
+ height: calc(var(--spacing) * 8);
664
+ width: calc(var(--spacing) * 10);
665
+ --sph-toggle-travel: 12px;
666
+ }
667
+ .sph-toggle[data-size="lg"] {
668
+ height: calc(var(--spacing) * 10);
669
+ width: calc(var(--spacing) * 12);
670
+ --sph-toggle-travel: 20px;
671
+ }
672
+ .sph-toggle__track {
673
+ position: relative;
674
+ box-sizing: border-box;
675
+ display: block;
676
+ height: calc(var(--spacing) * 5);
677
+ width: calc(var(--spacing) * 9);
678
+ border-radius: calc(infinity * 1px);
679
+ background-color: var(--color-sph-border-strong);
680
+ padding: calc(var(--spacing) * 0.5);
681
+ transition: background-color var(--sph-motion-normal) var(--sph-ease-standard);
682
+ }
683
+ .sph-toggle[data-size="sm"] .sph-toggle__track {
684
+ height: calc(var(--spacing) * 4);
685
+ width: calc(var(--spacing) * 7);
686
+ }
687
+ .sph-toggle[data-size="lg"] .sph-toggle__track {
688
+ height: calc(var(--spacing) * 6);
689
+ width: calc(var(--spacing) * 11);
690
+ }
691
+ .sph-toggle[data-state="checked"] .sph-toggle__track {
692
+ background-color: var(--color-sph-accent);
693
+ }
694
+ .sph-toggle__thumb {
695
+ display: block;
696
+ width: calc(var(--spacing) * 4);
697
+ height: calc(var(--spacing) * 4);
698
+ border-radius: calc(infinity * 1px);
699
+ background-color: var(--color-white);
700
+ box-shadow: 0 0 0 1px var(--sph-text), 0 1px 3px rgb(0 0 0 / 0.3);
701
+ @supports (color: color-mix(in lab, red, red)) {
702
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--sph-text) 16%, transparent), 0 1px 3px rgb(0 0 0 / 0.3);
703
+ }
704
+ transition: transform var(--sph-motion-normal) var(--sph-ease-emphasis);
705
+ }
706
+ .sph-toggle[data-size="sm"] .sph-toggle__thumb {
707
+ width: calc(var(--spacing) * 3);
708
+ height: calc(var(--spacing) * 3);
709
+ }
710
+ .sph-toggle[data-size="lg"] .sph-toggle__thumb {
711
+ width: calc(var(--spacing) * 5);
712
+ height: calc(var(--spacing) * 5);
713
+ }
714
+ .sph-toggle[data-state="checked"] .sph-toggle__thumb {
715
+ transform: translateX(var(--sph-toggle-travel));
716
+ }
717
+ .sph-toggle:active:not(:disabled) .sph-toggle__thumb {
718
+ transform: scale(0.9);
719
+ }
720
+ .sph-toggle[data-state="checked"]:active:not(:disabled) .sph-toggle__thumb {
721
+ transform: translateX(var(--sph-toggle-travel)) scale(0.9);
722
+ }
723
+ .sph-toggle:disabled {
724
+ cursor: not-allowed;
725
+ }
726
+ .sph-toggle:disabled .sph-toggle__track {
727
+ background: var(--sph-border);
728
+ @supports (color: color-mix(in lab, red, red)) {
729
+ background: color-mix(in srgb, var(--sph-border) 65%, var(--sph-surface));
730
+ }
731
+ }
732
+ .sph-toggle:disabled[data-state="checked"] .sph-toggle__track {
733
+ background: var(--sph-accent);
734
+ @supports (color: color-mix(in lab, red, red)) {
735
+ background: color-mix(in srgb, var(--sph-accent) 38%, var(--sph-surface));
736
+ }
737
+ }
738
+ .sph-toggle:disabled .sph-toggle__thumb {
739
+ box-shadow: 0 0 0 1px var(--sph-text);
740
+ @supports (color: color-mix(in lab, red, red)) {
741
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--sph-text) 14%, transparent);
742
+ }
743
+ }
744
+ .sph-toggle:focus-visible {
745
+ outline: 2px solid var(--sph-focus);
746
+ outline-offset: 2px;
747
+ }
748
+ @media (prefers-reduced-motion: reduce) {
749
+ .sph-toggle__track, .sph-toggle__thumb {
750
+ transition: none;
751
+ }
752
+ }
753
+ .sph-field {
754
+ display: grid;
755
+ gap: calc(var(--spacing) * 1.5);
756
+ font-family: var(--sph-font-sans);
757
+ }
758
+ .sph-field__label {
759
+ display: flex;
760
+ align-items: center;
761
+ justify-content: space-between;
762
+ gap: calc(var(--spacing) * 3);
763
+ font-size: var(--text-sm);
764
+ line-height: var(--tw-leading, var(--text-sm--line-height));
765
+ --tw-font-weight: var(--font-weight-medium);
766
+ font-weight: var(--font-weight-medium);
767
+ color: var(--color-sph-text);
768
+ line-height: 1.25;
769
+ }
770
+ .sph-field__required {
771
+ font-size: var(--text-xs);
772
+ line-height: var(--tw-leading, var(--text-xs--line-height));
773
+ --tw-font-weight: var(--font-weight-normal);
774
+ font-weight: var(--font-weight-normal);
775
+ color: var(--color-sph-text-muted);
776
+ }
777
+ .sph-field__description {
778
+ margin: 0px;
779
+ font-size: var(--text-xs);
780
+ line-height: var(--tw-leading, var(--text-xs--line-height));
781
+ color: var(--color-sph-text-muted);
782
+ line-height: 1.4;
783
+ }
784
+ .sph-field__control {
785
+ min-width: 0px;
786
+ }
787
+ .sph-field-message {
788
+ margin: 0px;
789
+ font-size: var(--text-xs);
790
+ line-height: var(--tw-leading, var(--text-xs--line-height));
791
+ color: var(--color-sph-text-muted);
792
+ font-family: var(--sph-font-sans);
793
+ line-height: 1.4;
794
+ }
795
+ .sph-field-message[data-variant="error"] {
796
+ color: var(--sph-danger);
797
+ }
798
+ .sph-field-message[data-variant="success"] {
799
+ color: var(--sph-success);
800
+ }
801
+ .sph-card {
802
+ min-width: 0px;
803
+ overflow: hidden;
804
+ border-radius: var(--radius-sph-md);
805
+ border-style: var(--tw-border-style);
806
+ border-width: 1px;
807
+ border-color: var(--color-sph-border);
808
+ background-color: var(--color-sph-surface);
809
+ color: var(--color-sph-text);
810
+ font-family: var(--sph-font-sans);
811
+ transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), background-color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
812
+ }
813
+ .sph-card[data-interactive="true"] {
814
+ cursor: pointer;
815
+ }
816
+ .sph-card[data-interactive="true"]:hover {
817
+ border-color: var(--sph-border-strong);
818
+ background: var(--sph-surface-elevated);
819
+ }
820
+ .sph-card[data-interactive="true"]:active {
821
+ transform: translateY(1px);
822
+ }
823
+ .sph-card[data-selected="true"] {
824
+ border-color: var(--sph-accent);
825
+ box-shadow: 0 0 0 1px var(--sph-accent-soft);
826
+ }
827
+ .sph-card:focus-within {
828
+ border-color: var(--sph-focus);
829
+ }
830
+ .sph-card__header {
831
+ display: grid;
832
+ gap: var(--spacing);
833
+ border-bottom-style: var(--tw-border-style);
834
+ border-bottom-width: 1px;
835
+ border-color: var(--color-sph-border);
836
+ padding-inline: calc(var(--spacing) * 4);
837
+ padding-block: calc(var(--spacing) * 3.5);
838
+ }
839
+ .sph-card__title {
840
+ margin: 0px;
841
+ font-size: var(--text-sm);
842
+ line-height: var(--tw-leading, var(--text-sm--line-height));
843
+ --tw-font-weight: var(--font-weight-semibold);
844
+ font-weight: var(--font-weight-semibold);
845
+ color: var(--color-sph-text);
846
+ line-height: 1.3;
847
+ }
848
+ .sph-card__description {
849
+ margin: 0px;
850
+ font-size: var(--text-xs);
851
+ line-height: var(--tw-leading, var(--text-xs--line-height));
852
+ color: var(--color-sph-text-muted);
853
+ line-height: 1.45;
854
+ }
855
+ .sph-card__content {
856
+ min-width: 0px;
857
+ padding-inline: calc(var(--spacing) * 4);
858
+ padding-block: calc(var(--spacing) * 4);
859
+ }
860
+ .sph-card__footer {
861
+ display: flex;
862
+ flex-wrap: wrap;
863
+ align-items: center;
864
+ justify-content: flex-end;
865
+ gap: calc(var(--spacing) * 2);
866
+ border-top-style: var(--tw-border-style);
867
+ border-top-width: 1px;
868
+ border-color: var(--color-sph-border);
869
+ padding-inline: calc(var(--spacing) * 4);
870
+ padding-block: calc(var(--spacing) * 3);
871
+ }
872
+ @media (prefers-reduced-motion: reduce) {
873
+ .sph-card {
874
+ transition: none;
875
+ }
876
+ }
877
+ .sph-alert {
878
+ display: flex;
879
+ min-width: 0px;
880
+ align-items: flex-start;
881
+ gap: calc(var(--spacing) * 3);
882
+ border-radius: var(--radius-sph-md);
883
+ border-style: var(--tw-border-style);
884
+ border-width: 1px;
885
+ padding-inline: calc(var(--spacing) * 3.5);
886
+ padding-block: calc(var(--spacing) * 3);
887
+ font-size: var(--text-sm);
888
+ line-height: var(--tw-leading, var(--text-sm--line-height));
889
+ background: var(--sph-surface);
890
+ border-color: var(--sph-border);
891
+ color: var(--sph-text);
892
+ font-family: var(--sph-font-sans);
893
+ }
894
+ .sph-alert[data-variant="info"] {
895
+ background: var(--sph-accent);
896
+ @supports (color: color-mix(in lab, red, red)) {
897
+ background: color-mix(in srgb, var(--sph-accent) 8%, var(--sph-surface));
898
+ }
899
+ border-color: var(--sph-accent);
900
+ @supports (color: color-mix(in lab, red, red)) {
901
+ border-color: color-mix(in srgb, var(--sph-accent) 30%, var(--sph-border));
902
+ }
903
+ }
904
+ .sph-alert[data-variant="success"] {
905
+ background: var(--sph-success-soft);
906
+ border-color: var(--sph-success);
907
+ @supports (color: color-mix(in lab, red, red)) {
908
+ border-color: color-mix(in srgb, var(--sph-success) 34%, var(--sph-border));
909
+ }
910
+ }
911
+ .sph-alert[data-variant="warning"] {
912
+ background: var(--sph-warning-soft);
913
+ border-color: var(--sph-warning);
914
+ @supports (color: color-mix(in lab, red, red)) {
915
+ border-color: color-mix(in srgb, var(--sph-warning) 34%, var(--sph-border));
916
+ }
917
+ }
918
+ .sph-alert[data-variant="danger"] {
919
+ background: var(--sph-danger-soft);
920
+ border-color: var(--sph-danger);
921
+ @supports (color: color-mix(in lab, red, red)) {
922
+ border-color: color-mix(in srgb, var(--sph-danger) 34%, var(--sph-border));
923
+ }
924
+ }
925
+ .sph-alert__icon {
926
+ display: flex;
927
+ width: calc(var(--spacing) * 8);
928
+ height: calc(var(--spacing) * 8);
929
+ flex-shrink: 0;
930
+ align-items: center;
931
+ justify-content: center;
932
+ align-self: center;
933
+ border-radius: var(--radius-sph-md);
934
+ background: var(--sph-accent-soft, var(--sph-raised));
935
+ color: var(--sph-accent);
936
+ }
937
+ .sph-alert__icon svg {
938
+ display: block;
939
+ width: calc(var(--spacing) * 4);
940
+ height: calc(var(--spacing) * 4);
941
+ }
942
+ .sph-alert[data-variant="success"] .sph-alert__icon {
943
+ background: var(--sph-success-soft);
944
+ color: var(--sph-success);
945
+ }
946
+ .sph-alert[data-variant="warning"] .sph-alert__icon {
947
+ background: var(--sph-warning-soft);
948
+ color: var(--sph-warning);
949
+ }
950
+ .sph-alert[data-variant="danger"] .sph-alert__icon {
951
+ background: var(--sph-danger-soft);
952
+ color: var(--sph-danger);
953
+ }
954
+ .sph-alert__body {
955
+ min-width: 0px;
956
+ flex: 1;
957
+ }
958
+ .sph-alert__title {
959
+ margin: 0px;
960
+ --tw-font-weight: var(--font-weight-semibold);
961
+ font-weight: var(--font-weight-semibold);
962
+ line-height: 1.35;
963
+ }
964
+ .sph-alert__content {
965
+ margin-top: calc(var(--spacing) * 0.5);
966
+ font-size: var(--text-xs);
967
+ line-height: var(--tw-leading, var(--text-xs--line-height));
968
+ color: var(--color-sph-text-muted);
969
+ line-height: 1.45;
970
+ }
971
+ .sph-alert__dismiss {
972
+ margin-block: auto;
973
+ display: inline-flex;
974
+ width: calc(var(--spacing) * 6);
975
+ height: calc(var(--spacing) * 6);
976
+ flex-shrink: 0;
977
+ align-items: center;
978
+ justify-content: center;
979
+ border-radius: var(--radius-sph-sm);
980
+ border-style: var(--tw-border-style);
981
+ border-width: 0px;
982
+ background-color: transparent;
983
+ padding: 0px;
984
+ color: var(--color-sph-text-muted);
985
+ cursor: pointer;
986
+ }
987
+ .sph-alert__dismiss:hover {
988
+ background-color: var(--color-sph-raised);
989
+ color: var(--color-sph-text);
990
+ }
991
+ .sph-alert__dismiss:focus-visible {
992
+ outline: 2px solid var(--sph-focus);
993
+ outline-offset: 1px;
994
+ }
995
+ .sph-select {
996
+ position: relative;
997
+ box-sizing: border-box;
998
+ font-family: var(--font-sph-sans);
999
+ }
1000
+ .sph-select__trigger {
1001
+ display: flex;
1002
+ height: calc(var(--spacing) * 9);
1003
+ width: 100%;
1004
+ align-items: center;
1005
+ justify-content: space-between;
1006
+ gap: calc(var(--spacing) * 3);
1007
+ border-radius: var(--radius-sph-sm);
1008
+ background-color: var(--color-sph-surface);
1009
+ padding-inline: calc(var(--spacing) * 3);
1010
+ text-align: left;
1011
+ color: var(--color-sph-text);
1012
+ border: 0.5px solid var(--sph-border);
1013
+ @supports (color: color-mix(in lab, red, red)) {
1014
+ border: 0.5px solid color-mix(in srgb, var(--sph-border) 86%, transparent);
1015
+ }
1016
+ cursor: pointer;
1017
+ font: 13px var(--sph-font-sans);
1018
+ transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), background-color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-fast) var(--sph-ease-standard);
1019
+ }
1020
+ .sph-select[data-size="sm"] .sph-select__trigger {
1021
+ height: calc(var(--spacing) * 8);
1022
+ }
1023
+ .sph-select[data-size="lg"] .sph-select__trigger {
1024
+ height: calc(var(--spacing) * 10);
1025
+ }
1026
+ .sph-select__trigger:hover:not(:disabled) {
1027
+ border-color: var(--sph-border-strong);
1028
+ }
1029
+ .sph-select__trigger:active:not(:disabled) {
1030
+ background-color: var(--color-sph-raised);
1031
+ }
1032
+ .sph-select__value {
1033
+ overflow: hidden;
1034
+ text-overflow: ellipsis;
1035
+ white-space: nowrap;
1036
+ }
1037
+ .sph-select__caret {
1038
+ width: 7px;
1039
+ height: 7px;
1040
+ border-right: 1.5px solid currentColor;
1041
+ border-bottom: 1.5px solid currentColor;
1042
+ transform: translateY(-2px) rotate(45deg);
1043
+ transition: transform var(--sph-motion-fast) var(--sph-ease-standard);
1044
+ }
1045
+ .sph-select__trigger[aria-expanded="true"] .sph-select__caret {
1046
+ transform: translateY(2px) rotate(225deg);
1047
+ }
1048
+ .sph-select__trigger:disabled {
1049
+ opacity: 50%;
1050
+ cursor: not-allowed;
1051
+ }
1052
+ .sph-select__trigger:focus-visible {
1053
+ outline: 2px solid var(--sph-focus);
1054
+ outline-offset: 2px;
1055
+ box-shadow: 0 0 0 4px var(--sph-focus-ring);
1056
+ }
1057
+ .sph-select__listbox {
1058
+ position: absolute;
1059
+ left: 0px;
1060
+ z-index: 100;
1061
+ max-height: calc(var(--spacing) * 60);
1062
+ width: 100%;
1063
+ overflow: auto;
1064
+ border-radius: var(--radius-sph-md);
1065
+ border-style: var(--tw-border-style);
1066
+ border-width: 1px;
1067
+ border-color: var(--color-sph-border);
1068
+ background-color: var(--color-sph-surface);
1069
+ padding: var(--spacing);
1070
+ --tw-shadow: var(--sph-shadow-popover);
1071
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1072
+ top: calc(100% + 4px);
1073
+ }
1074
+ .sph-select__option {
1075
+ display: flex;
1076
+ width: 100%;
1077
+ align-items: center;
1078
+ justify-content: space-between;
1079
+ gap: calc(var(--spacing) * 3);
1080
+ border-radius: var(--radius-sph-xs);
1081
+ border-style: var(--tw-border-style);
1082
+ border-width: 0px;
1083
+ background-color: transparent;
1084
+ padding-inline: calc(var(--spacing) * 2.5);
1085
+ padding-block: calc(var(--spacing) * 2);
1086
+ color: var(--color-sph-text-muted);
1087
+ cursor: pointer;
1088
+ font: 13px var(--sph-font-sans);
1089
+ text-align: left;
1090
+ }
1091
+ .sph-select__option[data-active="true"] {
1092
+ background-color: var(--color-sph-raised);
1093
+ color: var(--color-sph-text);
1094
+ }
1095
+ .sph-select__option:active:not(:disabled) {
1096
+ background-color: var(--color-sph-accent-soft);
1097
+ }
1098
+ .sph-select__option:disabled {
1099
+ opacity: 40%;
1100
+ cursor: not-allowed;
1101
+ }
1102
+ .sph-select__check {
1103
+ width: 10px;
1104
+ height: 6px;
1105
+ border-left: 2px solid var(--sph-accent);
1106
+ border-bottom: 2px solid var(--sph-accent);
1107
+ transform: rotate(-45deg);
1108
+ }
1109
+ @media (prefers-reduced-motion: reduce) {
1110
+ .sph-select__trigger, .sph-select__caret {
1111
+ transition: none;
1112
+ }
1113
+ }
1114
+ .sph-radio-group {
1115
+ display: grid;
1116
+ min-width: 0px;
1117
+ gap: calc(var(--spacing) * 2);
1118
+ border-style: var(--tw-border-style);
1119
+ border-width: 0px;
1120
+ padding: 0px;
1121
+ font-family: var(--font-sph-sans);
1122
+ }
1123
+ .sph-radio-group__legend {
1124
+ padding: 0px;
1125
+ font-size: var(--text-sm);
1126
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1127
+ --tw-font-weight: var(--font-weight-medium);
1128
+ font-weight: var(--font-weight-medium);
1129
+ color: var(--color-sph-text);
1130
+ }
1131
+ .sph-radio-group__description {
1132
+ margin: 0px;
1133
+ font-size: var(--text-xs);
1134
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1135
+ color: var(--color-sph-text-muted);
1136
+ line-height: 1.4;
1137
+ }
1138
+ .sph-radio-group__options {
1139
+ display: grid;
1140
+ gap: var(--spacing);
1141
+ }
1142
+ .sph-radio-group[data-orientation="horizontal"] .sph-radio-group__options {
1143
+ display: flex;
1144
+ flex-wrap: wrap;
1145
+ column-gap: calc(var(--spacing) * 5);
1146
+ row-gap: calc(var(--spacing) * 2);
1147
+ }
1148
+ .sph-radio-group__option {
1149
+ display: inline-flex;
1150
+ min-height: calc(var(--spacing) * 9);
1151
+ min-width: 0px;
1152
+ cursor: pointer;
1153
+ align-items: flex-start;
1154
+ gap: calc(var(--spacing) * 2);
1155
+ font-size: var(--text-sm);
1156
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1157
+ color: var(--color-sph-text);
1158
+ }
1159
+ .sph-radio-group[data-size="sm"] .sph-radio-group__option {
1160
+ min-height: calc(var(--spacing) * 8);
1161
+ font-size: var(--text-xs);
1162
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1163
+ }
1164
+ .sph-radio-group[data-size="lg"] .sph-radio-group__option {
1165
+ min-height: calc(var(--spacing) * 10);
1166
+ }
1167
+ .sph-radio-group__option input {
1168
+ position: absolute;
1169
+ opacity: 0;
1170
+ pointer-events: none;
1171
+ }
1172
+ .sph-radio-group__control {
1173
+ margin-top: calc(var(--spacing) * 0.5);
1174
+ box-sizing: border-box;
1175
+ display: inline-flex;
1176
+ width: calc(var(--spacing) * 4);
1177
+ height: calc(var(--spacing) * 4);
1178
+ flex-shrink: 0;
1179
+ align-items: center;
1180
+ justify-content: center;
1181
+ border-radius: calc(infinity * 1px);
1182
+ border-style: var(--tw-border-style);
1183
+ border-width: 1px;
1184
+ border-color: var(--color-sph-border);
1185
+ background-color: var(--color-sph-surface);
1186
+ transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), background-color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
1187
+ }
1188
+ .sph-radio-group[data-size="sm"] .sph-radio-group__control {
1189
+ width: calc(var(--spacing) * 3.5);
1190
+ height: calc(var(--spacing) * 3.5);
1191
+ }
1192
+ .sph-radio-group[data-size="lg"] .sph-radio-group__control {
1193
+ width: calc(var(--spacing) * 5);
1194
+ height: calc(var(--spacing) * 5);
1195
+ }
1196
+ .sph-radio-group__option input:checked + .sph-radio-group__control {
1197
+ border-color: var(--color-sph-accent);
1198
+ box-shadow: inset 0 0 0 3.5px var(--sph-surface), inset 0 0 0 8px var(--sph-accent);
1199
+ }
1200
+ .sph-radio-group__option:hover:not([data-disabled="true"]) .sph-radio-group__control {
1201
+ border-color: var(--sph-border-strong);
1202
+ }
1203
+ .sph-radio-group__option input:focus-visible + .sph-radio-group__control {
1204
+ outline: 2px solid var(--sph-focus);
1205
+ outline-offset: 2px;
1206
+ }
1207
+ .sph-radio-group__option input:active + .sph-radio-group__control {
1208
+ transform: scale(0.92);
1209
+ }
1210
+ .sph-radio-group__option[data-disabled="true"], .sph-radio-group[disabled] .sph-radio-group__option {
1211
+ cursor: not-allowed;
1212
+ opacity: 50%;
1213
+ }
1214
+ .sph-radio-group__content {
1215
+ display: grid;
1216
+ min-width: 0px;
1217
+ gap: calc(var(--spacing) * 0.5);
1218
+ }
1219
+ .sph-radio-group__label {
1220
+ --tw-leading: calc(var(--spacing) * 5);
1221
+ line-height: calc(var(--spacing) * 5);
1222
+ }
1223
+ .sph-radio-group__option-description {
1224
+ font-size: var(--text-xs);
1225
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1226
+ color: var(--color-sph-text-muted);
1227
+ line-height: 1.35;
1228
+ }
1229
+ @media (prefers-reduced-motion: reduce) {
1230
+ .sph-radio-group__control {
1231
+ transition: none;
1232
+ }
1233
+ }
1234
+ .sph-tabs {
1235
+ min-width: 0px;
1236
+ font-family: var(--font-sph-sans);
1237
+ }
1238
+ .sph-tabs__list {
1239
+ display: flex;
1240
+ min-width: 0px;
1241
+ gap: var(--spacing);
1242
+ border-bottom-style: var(--tw-border-style);
1243
+ border-bottom-width: 1px;
1244
+ border-color: var(--color-sph-border);
1245
+ }
1246
+ .sph-tabs[data-orientation="vertical"] {
1247
+ display: flex;
1248
+ gap: calc(var(--spacing) * 4);
1249
+ }
1250
+ .sph-tabs[data-orientation="vertical"] .sph-tabs__list {
1251
+ width: calc(var(--spacing) * 40);
1252
+ flex-shrink: 0;
1253
+ flex-direction: column;
1254
+ border-right-style: var(--tw-border-style);
1255
+ border-right-width: 1px;
1256
+ border-bottom-style: var(--tw-border-style);
1257
+ border-bottom-width: 0px;
1258
+ }
1259
+ .sph-tabs__tab {
1260
+ position: relative;
1261
+ min-height: calc(var(--spacing) * 9);
1262
+ flex-shrink: 0;
1263
+ border-radius: var(--radius-sph-sm);
1264
+ border-style: var(--tw-border-style);
1265
+ border-width: 0px;
1266
+ background-color: transparent;
1267
+ padding-inline: calc(var(--spacing) * 3);
1268
+ font-size: var(--text-xs);
1269
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1270
+ --tw-font-weight: var(--font-weight-medium);
1271
+ font-weight: var(--font-weight-medium);
1272
+ color: var(--color-sph-text-muted);
1273
+ cursor: pointer;
1274
+ font-family: var(--sph-font-sans);
1275
+ transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard);
1276
+ }
1277
+ .sph-tabs__tab:hover:not(:disabled) {
1278
+ background-color: var(--color-sph-raised);
1279
+ color: var(--color-sph-text);
1280
+ }
1281
+ .sph-tabs__tab[data-selected="true"] {
1282
+ color: var(--color-sph-text);
1283
+ }
1284
+ .sph-tabs__tab[data-selected="true"]::after {
1285
+ content: "";
1286
+ position: absolute;
1287
+ bottom: -1px;
1288
+ left: 5px;
1289
+ right: 5px;
1290
+ height: 2px;
1291
+ border-radius: 2px;
1292
+ background: var(--sph-accent);
1293
+ transition-property: all;
1294
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1295
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1296
+ --tw-duration: 200ms;
1297
+ transition-duration: 200ms;
1298
+ --tw-ease: var(--ease-in-out);
1299
+ transition-timing-function: var(--ease-in-out);
1300
+ }
1301
+ .sph-tabs[data-orientation="vertical"] .sph-tabs__tab {
1302
+ text-align: left;
1303
+ }
1304
+ .sph-tabs[data-orientation="vertical"] .sph-tabs__tab[data-selected="true"]::after {
1305
+ top: 7px;
1306
+ right: -1px;
1307
+ bottom: 7px;
1308
+ left: auto;
1309
+ width: 2px;
1310
+ height: auto;
1311
+ border-radius: 2px 0 0 2px;
1312
+ }
1313
+ .sph-tabs__tab:disabled {
1314
+ opacity: 40%;
1315
+ cursor: not-allowed;
1316
+ }
1317
+ .sph-tabs__tab:focus-visible {
1318
+ outline: 2px solid var(--sph-focus);
1319
+ outline-offset: -2px;
1320
+ }
1321
+ .sph-tabs__panel {
1322
+ min-width: 0px;
1323
+ padding-top: calc(var(--spacing) * 4);
1324
+ color: var(--sph-text);
1325
+ }
1326
+ @media (prefers-reduced-motion: reduce) {
1327
+ .sph-tabs__tab {
1328
+ transition: none;
1329
+ }
1330
+ }
1331
+ .sph-menu {
1332
+ position: relative;
1333
+ display: inline-flex;
1334
+ font-family: var(--font-sph-sans);
1335
+ }
1336
+ .sph-menu__trigger {
1337
+ display: inline-flex;
1338
+ align-items: center;
1339
+ justify-content: center;
1340
+ border-radius: var(--radius-sph-sm);
1341
+ border-style: var(--tw-border-style);
1342
+ border-width: 0px;
1343
+ background-color: transparent;
1344
+ padding: 0px;
1345
+ color: var(--color-sph-text);
1346
+ cursor: pointer;
1347
+ font: inherit;
1348
+ }
1349
+ .sph-menu__trigger:focus-visible {
1350
+ outline: 2px solid var(--sph-focus);
1351
+ outline-offset: 2px;
1352
+ }
1353
+ .sph-menu__trigger:disabled {
1354
+ opacity: 45%;
1355
+ cursor: not-allowed;
1356
+ }
1357
+ .sph-menu__content {
1358
+ position: absolute;
1359
+ top: calc(100% + 4px);
1360
+ z-index: 110;
1361
+ display: grid;
1362
+ min-width: calc(var(--spacing) * 44);
1363
+ gap: calc(var(--spacing) * 0.5);
1364
+ border-radius: var(--radius-sph-md);
1365
+ border-style: var(--tw-border-style);
1366
+ border-width: 1px;
1367
+ border-color: var(--color-sph-border);
1368
+ background-color: var(--color-sph-surface);
1369
+ padding: var(--spacing);
1370
+ --tw-shadow: var(--sph-shadow-popover);
1371
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1372
+ }
1373
+ .sph-menu__content[data-align="end"] {
1374
+ right: 0px;
1375
+ }
1376
+ .sph-menu__item {
1377
+ display: flex;
1378
+ min-height: calc(var(--spacing) * 8);
1379
+ width: 100%;
1380
+ align-items: center;
1381
+ justify-content: space-between;
1382
+ gap: calc(var(--spacing) * 4);
1383
+ border-radius: var(--radius-sph-sm);
1384
+ border-style: var(--tw-border-style);
1385
+ border-width: 0px;
1386
+ background-color: transparent;
1387
+ padding-inline: calc(var(--spacing) * 2.5);
1388
+ text-align: left;
1389
+ font-size: var(--text-xs);
1390
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1391
+ color: var(--color-sph-text-muted);
1392
+ cursor: pointer;
1393
+ font-family: var(--sph-font-sans);
1394
+ }
1395
+ .sph-menu__item:hover:not(:disabled) {
1396
+ background-color: var(--color-sph-raised);
1397
+ color: var(--color-sph-text);
1398
+ }
1399
+ .sph-menu__item:active:not(:disabled) {
1400
+ background-color: var(--color-sph-accent-soft);
1401
+ }
1402
+ .sph-menu__item:focus-visible {
1403
+ outline: 2px solid var(--sph-focus);
1404
+ outline-offset: -2px;
1405
+ }
1406
+ .sph-menu__item[data-danger="true"] {
1407
+ color: var(--sph-danger);
1408
+ }
1409
+ .sph-menu__item:disabled {
1410
+ opacity: 40%;
1411
+ cursor: not-allowed;
1412
+ }
1413
+ .sph-menu__item-label {
1414
+ display: inline-flex;
1415
+ min-width: 0px;
1416
+ align-items: center;
1417
+ gap: calc(var(--spacing) * 2);
1418
+ }
1419
+ .sph-menu__shortcut {
1420
+ font-size: 11px;
1421
+ color: var(--color-sph-text-muted);
1422
+ }
1423
+ .sph-menu__separator {
1424
+ margin-block: var(--spacing);
1425
+ height: 1px;
1426
+ background-color: var(--color-sph-border);
1427
+ }
1428
+ .sph-popover {
1429
+ position: relative;
1430
+ display: inline-flex;
1431
+ min-width: 0px;
1432
+ font-family: var(--font-sph-sans);
1433
+ }
1434
+ .sph-popover__trigger {
1435
+ display: inline-flex;
1436
+ min-width: 0px;
1437
+ align-items: center;
1438
+ justify-content: center;
1439
+ border-style: var(--tw-border-style);
1440
+ border-width: 0px;
1441
+ background-color: transparent;
1442
+ padding: 0px;
1443
+ color: var(--color-sph-text);
1444
+ cursor: pointer;
1445
+ font: inherit;
1446
+ }
1447
+ .sph-popover__trigger:focus-visible {
1448
+ outline: 2px solid var(--sph-focus);
1449
+ outline-offset: 2px;
1450
+ }
1451
+ .sph-popover__trigger:disabled {
1452
+ opacity: 45%;
1453
+ cursor: not-allowed;
1454
+ }
1455
+ .sph-popover__content {
1456
+ position: absolute;
1457
+ top: calc(100% + 6px);
1458
+ z-index: 105;
1459
+ max-width: min(26rem, calc(100vw - 2rem));
1460
+ min-width: calc(var(--spacing) * 48);
1461
+ border-radius: var(--radius-sph-md);
1462
+ border-style: var(--tw-border-style);
1463
+ border-width: 1px;
1464
+ border-color: var(--color-sph-border);
1465
+ background-color: var(--color-sph-surface);
1466
+ padding: calc(var(--spacing) * 4);
1467
+ font-size: var(--text-sm);
1468
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1469
+ color: var(--color-sph-text);
1470
+ --tw-shadow: var(--sph-shadow-popover);
1471
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1472
+ animation: sph-popover-in var(--sph-motion-fast) var(--sph-ease-emphasis) both;
1473
+ }
1474
+ .sph-popover__content[data-placement="end"] {
1475
+ right: 0px;
1476
+ }
1477
+ @keyframes sph-popover-in {
1478
+ from {
1479
+ opacity: 0;
1480
+ transform: translateY(-3px) scale(0.98);
1481
+ }
1482
+ to {
1483
+ opacity: 1;
1484
+ transform: translateY(0) scale(1);
1485
+ }
1486
+ }
1487
+ @media (prefers-reduced-motion: reduce) {
1488
+ .sph-popover__content {
1489
+ animation: none;
1490
+ }
1491
+ }
1492
+ .sph-tooltip {
1493
+ position: relative;
1494
+ display: inline-flex;
1495
+ font-family: var(--font-sph-sans);
1496
+ }
1497
+ .sph-tooltip__trigger {
1498
+ display: inline-flex;
1499
+ min-width: 0px;
1500
+ }
1501
+ .sph-tooltip__content {
1502
+ pointer-events: none;
1503
+ position: absolute;
1504
+ z-index: 140;
1505
+ border-radius: var(--radius-sph-sm);
1506
+ border-style: var(--tw-border-style);
1507
+ border-width: 1px;
1508
+ border-color: var(--color-sph-border);
1509
+ background-color: var(--color-sph-raised);
1510
+ padding-inline: calc(var(--spacing) * 2.5);
1511
+ padding-block: calc(var(--spacing) * 1.5);
1512
+ font-size: var(--text-xs);
1513
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1514
+ color: var(--color-sph-text);
1515
+ --tw-shadow: var(--sph-shadow-popover);
1516
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1517
+ width: max-content;
1518
+ max-width: min(14rem, calc(100vw - 2rem));
1519
+ white-space: normal;
1520
+ animation: sph-tooltip-in var(--sph-motion-fast) var(--sph-ease-emphasis) both;
1521
+ }
1522
+ .sph-tooltip__content[hidden] {
1523
+ display: none;
1524
+ }
1525
+ .sph-tooltip__content[data-side="top"] {
1526
+ bottom: calc(100% + 6px);
1527
+ left: 50%;
1528
+ transform: translateX(-50%);
1529
+ }
1530
+ .sph-tooltip__content[data-side="bottom"] {
1531
+ left: 50%;
1532
+ top: calc(100% + 6px);
1533
+ transform: translateX(-50%);
1534
+ }
1535
+ .sph-tooltip__content[data-side="left"] {
1536
+ right: calc(100% + 6px);
1537
+ top: 50%;
1538
+ transform: translateY(-50%);
1539
+ }
1540
+ .sph-tooltip__content[data-side="right"] {
1541
+ left: calc(100% + 6px);
1542
+ top: 50%;
1543
+ transform: translateY(-50%);
1544
+ }
1545
+ @keyframes sph-tooltip-in {
1546
+ from {
1547
+ opacity: 0;
1548
+ }
1549
+ to {
1550
+ opacity: 1;
1551
+ }
1552
+ }
1553
+ @media (prefers-reduced-motion: reduce) {
1554
+ .sph-tooltip__content {
1555
+ animation: none;
1556
+ }
1557
+ }
1558
+ .sph-dialog__backdrop {
1559
+ position: fixed;
1560
+ inset: 0px;
1561
+ z-index: 200;
1562
+ display: flex;
1563
+ align-items: center;
1564
+ justify-content: center;
1565
+ background-color: color-mix(in srgb, #000 55%, transparent);
1566
+ @supports (color: color-mix(in lab, red, red)) {
1567
+ background-color: color-mix(in oklab, var(--color-black) 55%, transparent);
1568
+ }
1569
+ padding: calc(var(--spacing) * 4);
1570
+ animation: sph-dialog-fade var(--sph-motion-normal) var(--sph-ease-standard) both;
1571
+ }
1572
+ .sph-dialog {
1573
+ display: grid;
1574
+ max-height: min(42rem, calc(100vh - 2rem));
1575
+ width: 100%;
1576
+ max-width: var(--container-lg);
1577
+ overflow: auto;
1578
+ border-radius: var(--radius-sph-md);
1579
+ border-style: var(--tw-border-style);
1580
+ border-width: 1px;
1581
+ border-color: var(--color-sph-border);
1582
+ background-color: var(--color-sph-surface);
1583
+ color: var(--color-sph-text);
1584
+ --tw-shadow: var(--sph-shadow-popover);
1585
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1586
+ animation: sph-dialog-in var(--sph-motion-normal) var(--sph-ease-emphasis) both;
1587
+ font-family: var(--sph-font-sans);
1588
+ }
1589
+ .sph-dialog__header {
1590
+ display: flex;
1591
+ align-items: flex-start;
1592
+ justify-content: space-between;
1593
+ gap: calc(var(--spacing) * 4);
1594
+ border-bottom-style: var(--tw-border-style);
1595
+ border-bottom-width: 1px;
1596
+ border-color: var(--color-sph-border);
1597
+ padding-inline: calc(var(--spacing) * 5);
1598
+ padding-block: calc(var(--spacing) * 4);
1599
+ }
1600
+ .sph-dialog__heading {
1601
+ display: grid;
1602
+ min-width: 0px;
1603
+ gap: var(--spacing);
1604
+ }
1605
+ .sph-dialog__title {
1606
+ margin: 0px;
1607
+ font-size: var(--text-base);
1608
+ line-height: var(--tw-leading, var(--text-base--line-height));
1609
+ --tw-font-weight: var(--font-weight-semibold);
1610
+ font-weight: var(--font-weight-semibold);
1611
+ line-height: 1.3;
1612
+ }
1613
+ .sph-dialog__description {
1614
+ margin: 0px;
1615
+ font-size: var(--text-xs);
1616
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1617
+ color: var(--color-sph-text-muted);
1618
+ line-height: 1.45;
1619
+ }
1620
+ .sph-dialog__close {
1621
+ display: inline-flex;
1622
+ width: calc(var(--spacing) * 7);
1623
+ height: calc(var(--spacing) * 7);
1624
+ flex-shrink: 0;
1625
+ align-items: center;
1626
+ justify-content: center;
1627
+ border-radius: var(--radius-sph-sm);
1628
+ border-style: var(--tw-border-style);
1629
+ border-width: 0px;
1630
+ background-color: transparent;
1631
+ padding: 0px;
1632
+ color: var(--color-sph-text-muted);
1633
+ cursor: pointer;
1634
+ }
1635
+ .sph-dialog__close:hover {
1636
+ background-color: var(--color-sph-raised);
1637
+ color: var(--color-sph-text);
1638
+ }
1639
+ .sph-dialog__close:focus-visible {
1640
+ outline: 2px solid var(--sph-focus);
1641
+ outline-offset: 1px;
1642
+ }
1643
+ .sph-dialog__content {
1644
+ min-width: 0px;
1645
+ padding-inline: calc(var(--spacing) * 5);
1646
+ padding-block: calc(var(--spacing) * 5);
1647
+ }
1648
+ .sph-dialog__footer {
1649
+ display: flex;
1650
+ flex-wrap: wrap;
1651
+ align-items: center;
1652
+ justify-content: flex-end;
1653
+ gap: calc(var(--spacing) * 2);
1654
+ border-top-style: var(--tw-border-style);
1655
+ border-top-width: 1px;
1656
+ border-color: var(--color-sph-border);
1657
+ padding-inline: calc(var(--spacing) * 5);
1658
+ padding-block: calc(var(--spacing) * 3.5);
1659
+ }
1660
+ @keyframes sph-dialog-fade {
1661
+ from {
1662
+ opacity: 0;
1663
+ }
1664
+ to {
1665
+ opacity: 1;
1666
+ }
1667
+ }
1668
+ @keyframes sph-dialog-in {
1669
+ from {
1670
+ opacity: 0;
1671
+ transform: translateY(8px) scale(0.98);
1672
+ }
1673
+ to {
1674
+ opacity: 1;
1675
+ transform: translateY(0) scale(1);
1676
+ }
1677
+ }
1678
+ @media (prefers-reduced-motion: reduce) {
1679
+ .sph-dialog__backdrop, .sph-dialog {
1680
+ animation: none;
1681
+ }
1682
+ }
1683
+ [data-sonner-toaster].sph-toast-viewport {
1684
+ --width: min(380px, calc(100vw - 32px));
1685
+ --offset-right: 16px;
1686
+ --offset-bottom: 16px;
1687
+ font-family: var(--sph-font-sans);
1688
+ }
1689
+ [data-sonner-toast].sph-toast {
1690
+ box-sizing: border-box;
1691
+ display: grid;
1692
+ grid-template-columns: 40px minmax(0, 1fr) auto;
1693
+ align-items: center;
1694
+ gap: 12px;
1695
+ width: var(--width);
1696
+ min-height: 72px;
1697
+ padding: 12px;
1698
+ overflow: visible;
1699
+ border: 1px solid var(--sph-border);
1700
+ border-radius: 16px;
1701
+ background: var(--sph-surface);
1702
+ color: var(--sph-text);
1703
+ box-shadow: 0 14px 32px rgb(0 0 0 / 0.18);
1704
+ font-family: var(--sph-font-sans);
1705
+ }
1706
+ [data-sonner-toast].sph-toast[data-type="success"] {
1707
+ --sph-toast-tone: var(--sph-success);
1708
+ --sph-toast-tone-soft: var(--sph-success-soft);
1709
+ }
1710
+ [data-sonner-toast].sph-toast[data-type="info"] {
1711
+ --sph-toast-tone: var(--sph-accent);
1712
+ --sph-toast-tone-soft: var(--sph-accent-soft);
1713
+ }
1714
+ [data-sonner-toast].sph-toast[data-type="warning"] {
1715
+ --sph-toast-tone: var(--sph-warning);
1716
+ --sph-toast-tone-soft: var(--sph-warning-soft);
1717
+ }
1718
+ [data-sonner-toast].sph-toast[data-type="error"] {
1719
+ --sph-toast-tone: var(--sph-danger);
1720
+ --sph-toast-tone-soft: var(--sph-danger-soft);
1721
+ }
1722
+ [data-sonner-toast].sph-toast [data-icon] {
1723
+ display: flex;
1724
+ width: calc(var(--spacing) * 10);
1725
+ height: calc(var(--spacing) * 10);
1726
+ align-items: center;
1727
+ justify-content: center;
1728
+ border-radius: var(--radius-sph-md);
1729
+ grid-column: 1;
1730
+ grid-row: 1;
1731
+ align-self: center;
1732
+ margin: 0;
1733
+ background: var(--sph-toast-tone-soft, var(--sph-raised));
1734
+ color: var(--sph-toast-tone, var(--sph-text-muted));
1735
+ }
1736
+ .sph-toast__status-icon {
1737
+ display: flex;
1738
+ width: calc(var(--spacing) * 5);
1739
+ height: calc(var(--spacing) * 5);
1740
+ align-items: center;
1741
+ justify-content: center;
1742
+ }
1743
+ .sph-toast__status-icon svg {
1744
+ display: block;
1745
+ width: calc(var(--spacing) * 5);
1746
+ height: calc(var(--spacing) * 5);
1747
+ }
1748
+ [data-sonner-toast].sph-toast [data-content] {
1749
+ display: flex;
1750
+ min-width: 0px;
1751
+ flex-direction: column;
1752
+ gap: calc(var(--spacing) * 0.5);
1753
+ grid-column: 2;
1754
+ grid-row: 1;
1755
+ align-self: center;
1756
+ }
1757
+ [data-sonner-toast].sph-toast [data-title] {
1758
+ margin: 0px;
1759
+ font-size: var(--text-sm);
1760
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1761
+ --tw-font-weight: var(--font-weight-semibold);
1762
+ font-weight: var(--font-weight-semibold);
1763
+ color: var(--color-sph-text);
1764
+ line-height: 1.35;
1765
+ }
1766
+ [data-sonner-toast].sph-toast [data-description] {
1767
+ margin: 0px;
1768
+ font-size: var(--text-xs);
1769
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1770
+ color: var(--color-sph-text-muted);
1771
+ line-height: 1.4;
1772
+ }
1773
+ [data-sonner-toast].sph-toast [data-button] {
1774
+ height: calc(var(--spacing) * 8);
1775
+ border-radius: var(--radius-sph-sm);
1776
+ border-style: var(--tw-border-style);
1777
+ border-width: 0px;
1778
+ background-color: var(--color-sph-raised);
1779
+ padding-inline: calc(var(--spacing) * 2.5);
1780
+ font-size: var(--text-xs);
1781
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1782
+ --tw-font-weight: var(--font-weight-medium);
1783
+ font-weight: var(--font-weight-medium);
1784
+ color: var(--color-sph-text);
1785
+ cursor: pointer;
1786
+ font-family: var(--sph-font-sans);
1787
+ }
1788
+ [data-sonner-toast].sph-toast [data-button]:hover {
1789
+ background: var(--sph-toast-tone-soft, var(--sph-raised));
1790
+ color: var(--sph-toast-tone, var(--sph-text));
1791
+ }
1792
+ [data-sonner-toast].sph-toast [data-button]:focus-visible, [data-sonner-toast].sph-toast [data-close-button]:focus-visible {
1793
+ outline: 2px solid var(--sph-focus);
1794
+ outline-offset: 2px;
1795
+ }
1796
+ [data-sonner-toast].sph-toast [data-close-button] {
1797
+ margin: auto;
1798
+ display: inline-flex;
1799
+ align-items: center;
1800
+ justify-content: center;
1801
+ border-radius: var(--radius-sph-sm);
1802
+ border-style: var(--tw-border-style);
1803
+ border-width: 0px;
1804
+ background-color: transparent;
1805
+ padding: 0px;
1806
+ color: var(--color-sph-text-muted);
1807
+ grid-column: 3;
1808
+ grid-row: 1;
1809
+ align-self: start;
1810
+ width: 28px;
1811
+ height: 28px;
1812
+ cursor: pointer;
1813
+ transform: none;
1814
+ }
1815
+ [data-sonner-toast].sph-toast [data-close-button]:hover {
1816
+ background-color: var(--color-sph-raised);
1817
+ color: var(--color-sph-text);
1818
+ }
1819
+ [data-sonner-toast].sph-toast [data-close-button] svg {
1820
+ width: 13px;
1821
+ height: 13px;
1822
+ stroke-width: 2.5;
1823
+ }
1824
+ [data-sonner-toast].sph-toast[data-expanded="false"][data-front="false"] > * {
1825
+ opacity: 0;
1826
+ }
1827
+ @media (max-width: 600px) {
1828
+ [data-sonner-toaster].sph-toast-viewport {
1829
+ --mobile-offset-left: 12px;
1830
+ --mobile-offset-right: 12px;
1831
+ --mobile-offset-bottom: 12px;
1832
+ }
1833
+ [data-sonner-toast].sph-toast {
1834
+ width: calc(100vw - 24px);
1835
+ }
1836
+ }
1837
+ @media (prefers-reduced-motion: reduce) {
1838
+ [data-sonner-toast].sph-toast {
1839
+ animation: none !important;
1840
+ transition: none !important;
1841
+ }
1842
+ }
1843
+ .sph-empty-state {
1844
+ display: grid;
1845
+ justify-items: center;
1846
+ gap: calc(var(--spacing) * 2);
1847
+ padding-inline: calc(var(--spacing) * 6);
1848
+ padding-block: calc(var(--spacing) * 14);
1849
+ text-align: center;
1850
+ font-family: var(--font-sph-sans);
1851
+ }
1852
+ .sph-empty-state[data-compact="true"] {
1853
+ padding-block: calc(var(--spacing) * 8);
1854
+ }
1855
+ .sph-empty-state__icon {
1856
+ margin-bottom: var(--spacing);
1857
+ display: flex;
1858
+ width: calc(var(--spacing) * 10);
1859
+ height: calc(var(--spacing) * 10);
1860
+ align-items: center;
1861
+ justify-content: center;
1862
+ border-radius: var(--radius-sph-md);
1863
+ background-color: var(--color-sph-raised);
1864
+ color: var(--color-sph-text-muted);
1865
+ }
1866
+ .sph-empty-state__icon svg {
1867
+ display: block;
1868
+ width: calc(var(--spacing) * 5);
1869
+ height: calc(var(--spacing) * 5);
1870
+ }
1871
+ .sph-empty-state__title {
1872
+ margin: 0px;
1873
+ font-size: var(--text-base);
1874
+ line-height: var(--tw-leading, var(--text-base--line-height));
1875
+ --tw-font-weight: var(--font-weight-semibold);
1876
+ font-weight: var(--font-weight-semibold);
1877
+ color: var(--color-sph-text);
1878
+ line-height: 1.3;
1879
+ }
1880
+ .sph-empty-state__description {
1881
+ margin: 0px;
1882
+ max-width: var(--container-md);
1883
+ font-size: var(--text-sm);
1884
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1885
+ color: var(--color-sph-text-muted);
1886
+ line-height: 1.5;
1887
+ }
1888
+ .sph-empty-state__action {
1889
+ margin-top: calc(var(--spacing) * 2);
1890
+ }
1891
+ .sph-table-wrap {
1892
+ max-width: 100%;
1893
+ min-width: 0px;
1894
+ overflow-x: auto;
1895
+ border-radius: var(--radius-sph-md);
1896
+ border-style: var(--tw-border-style);
1897
+ border-width: 1px;
1898
+ border-color: var(--color-sph-border);
1899
+ background-color: var(--color-sph-surface);
1900
+ font-family: var(--font-sph-sans);
1901
+ }
1902
+ .sph-table {
1903
+ width: 100%;
1904
+ border-collapse: collapse;
1905
+ text-align: left;
1906
+ font-size: var(--text-xs);
1907
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1908
+ color: var(--color-sph-text);
1909
+ min-width: 480px;
1910
+ }
1911
+ .sph-table caption {
1912
+ border-bottom-style: var(--tw-border-style);
1913
+ border-bottom-width: 1px;
1914
+ border-color: var(--color-sph-border);
1915
+ padding-inline: calc(var(--spacing) * 4);
1916
+ padding-block: calc(var(--spacing) * 3);
1917
+ text-align: left;
1918
+ font-size: var(--text-sm);
1919
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1920
+ --tw-font-weight: var(--font-weight-semibold);
1921
+ font-weight: var(--font-weight-semibold);
1922
+ color: var(--color-sph-text);
1923
+ caption-side: top;
1924
+ }
1925
+ .sph-table th {
1926
+ border-bottom-style: var(--tw-border-style);
1927
+ border-bottom-width: 1px;
1928
+ border-color: var(--color-sph-border);
1929
+ background-color: var(--color-sph-raised);
1930
+ padding-inline: calc(var(--spacing) * 4);
1931
+ padding-block: calc(var(--spacing) * 2.5);
1932
+ --tw-font-weight: var(--font-weight-medium);
1933
+ font-weight: var(--font-weight-medium);
1934
+ color: var(--color-sph-text-muted);
1935
+ white-space: nowrap;
1936
+ }
1937
+ .sph-table td {
1938
+ border-bottom-style: var(--tw-border-style);
1939
+ border-bottom-width: 1px;
1940
+ border-color: var(--color-sph-border);
1941
+ padding-inline: calc(var(--spacing) * 4);
1942
+ padding-block: calc(var(--spacing) * 3);
1943
+ vertical-align: middle;
1944
+ }
1945
+ .sph-table tbody tr:last-child td {
1946
+ border-bottom: 0;
1947
+ }
1948
+ .sph-table tbody tr:hover {
1949
+ background: var(--sph-raised);
1950
+ @supports (color: color-mix(in lab, red, red)) {
1951
+ background: color-mix(in srgb, var(--sph-raised) 58%, transparent);
1952
+ }
1953
+ }
1954
+ .sph-table[data-striped="true"] tbody tr:nth-child(even) {
1955
+ background: var(--sph-raised);
1956
+ @supports (color: color-mix(in lab, red, red)) {
1957
+ background: color-mix(in srgb, var(--sph-raised) 32%, transparent);
1958
+ }
1959
+ }
1960
+ .sph-table[data-striped="true"] tbody tr:nth-child(even):hover {
1961
+ background: var(--sph-raised);
1962
+ @supports (color: color-mix(in lab, red, red)) {
1963
+ background: color-mix(in srgb, var(--sph-raised) 62%, transparent);
1964
+ }
1965
+ }
1966
+ .sph-table[data-density="compact"] th {
1967
+ padding-inline: calc(var(--spacing) * 3);
1968
+ padding-block: calc(var(--spacing) * 2);
1969
+ }
1970
+ .sph-table[data-density="compact"] td {
1971
+ padding-inline: calc(var(--spacing) * 3);
1972
+ padding-block: calc(var(--spacing) * 2);
1973
+ }
1974
+ .sph-table th[data-align="center"], .sph-table td[data-align="center"] {
1975
+ text-align: center;
1976
+ }
1977
+ .sph-table th[data-align="end"], .sph-table td[data-align="end"] {
1978
+ text-align: right;
1979
+ }
1980
+ .sph-table[data-sticky-header="true"] thead th {
1981
+ position: sticky;
1982
+ top: 0px;
1983
+ z-index: 10;
1984
+ }
1985
+ .sph-table__empty {
1986
+ padding-block: calc(var(--spacing) * 10);
1987
+ text-align: center;
1988
+ color: var(--color-sph-text-muted);
1989
+ }
1990
+ .sph-toolbar {
1991
+ display: flex;
1992
+ min-width: 0px;
1993
+ align-items: center;
1994
+ gap: calc(var(--spacing) * 2);
1995
+ border-radius: var(--radius-sph-md);
1996
+ border-style: var(--tw-border-style);
1997
+ border-width: 1px;
1998
+ border-color: var(--color-sph-border);
1999
+ background-color: var(--color-sph-surface);
2000
+ font-family: var(--font-sph-sans);
2001
+ }
2002
+ .sph-toolbar[data-size="sm"] {
2003
+ gap: calc(var(--spacing) * 1.5);
2004
+ padding-inline: calc(var(--spacing) * 2);
2005
+ padding-block: var(--spacing);
2006
+ min-height: 2.5rem;
2007
+ }
2008
+ .sph-toolbar[data-size="md"] {
2009
+ gap: calc(var(--spacing) * 2);
2010
+ padding-inline: calc(var(--spacing) * 2.5);
2011
+ padding-block: calc(var(--spacing) * 1.5);
2012
+ min-height: 2.75rem;
2013
+ }
2014
+ .sph-toolbar[data-size="lg"] {
2015
+ gap: calc(var(--spacing) * 2);
2016
+ padding-inline: calc(var(--spacing) * 3);
2017
+ padding-block: calc(var(--spacing) * 2);
2018
+ min-height: 3rem;
2019
+ }
2020
+ .sph-toolbar[data-orientation="vertical"] {
2021
+ flex-direction: column;
2022
+ align-items: stretch;
2023
+ }
2024
+ .sph-toolbar__start, .sph-toolbar__content, .sph-toolbar__end {
2025
+ display: flex;
2026
+ min-width: 0px;
2027
+ align-items: center;
2028
+ gap: calc(var(--spacing) * 1.5);
2029
+ }
2030
+ .sph-toolbar__start {
2031
+ flex-shrink: 0;
2032
+ }
2033
+ .sph-toolbar__content {
2034
+ flex: 1;
2035
+ }
2036
+ .sph-toolbar__end {
2037
+ margin-left: auto;
2038
+ flex-shrink: 0;
2039
+ }
2040
+ .sph-toolbar[data-orientation="vertical"] .sph-toolbar__end {
2041
+ margin-left: 0px;
2042
+ }
2043
+ .sph-toolbar:focus-visible {
2044
+ outline: 2px solid var(--sph-focus);
2045
+ outline-offset: 2px;
2046
+ }
2047
+ .sph-toolbar .sph-tabs__list {
2048
+ border-bottom-width: 0;
2049
+ gap: 2px;
2050
+ }
2051
+ .sph-toolbar .sph-tabs__tab {
2052
+ min-height: 2rem;
2053
+ }
2054
+ .sph-toolbar[data-size="md"] .sph-tabs__tab {
2055
+ min-height: 2.25rem;
2056
+ }
2057
+ .sph-toolbar[data-size="lg"] .sph-tabs__tab {
2058
+ min-height: 2.5rem;
2059
+ }
2060
+ .sph-toolbar .sph-tabs__tab[data-selected="true"]::after {
2061
+ bottom: 1px;
2062
+ left: 12px;
2063
+ right: 12px;
2064
+ }
2065
+ @media (max-width: 560px) {
2066
+ .sph-toolbar {
2067
+ flex-wrap: wrap;
2068
+ }
2069
+ .sph-toolbar__content {
2070
+ order: 3;
2071
+ flex-basis: 100%;
2072
+ }
2073
+ }
2074
+ }
2075
+ :where(:root, [data-sephiro-theme="default"]) {
2076
+ --sph-font-sans: var(--font-sph-sans);
2077
+ --sph-bg: #111111;
2078
+ --sph-surface: #191919;
2079
+ --sph-surface-elevated: #1d1d1d;
2080
+ --sph-raised: #242424;
2081
+ --sph-border: #303030;
2082
+ --sph-border-strong: #4a4a4a;
2083
+ --sph-text: #eeeeee;
2084
+ --sph-text-muted: #a4a4a4;
2085
+ --sph-accent: #d71921;
2086
+ --sph-accent-hover: #ea343c;
2087
+ --sph-accent-pressed: #b9151c;
2088
+ --sph-accent-soft: var(--sph-accent);
2089
+ @supports (color: color-mix(in lab, red, red)) {
2090
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 16%, transparent);
2091
+ }
2092
+ --sph-accent-strong: #ff6670;
2093
+ --sph-success: #5fd29a;
2094
+ --sph-success-soft: var(--sph-success);
2095
+ @supports (color: color-mix(in lab, red, red)) {
2096
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 15%, transparent);
2097
+ }
2098
+ --sph-warning: #f2bc68;
2099
+ --sph-warning-soft: var(--sph-warning);
2100
+ @supports (color: color-mix(in lab, red, red)) {
2101
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 15%, transparent);
2102
+ }
2103
+ --sph-danger: #ff7278;
2104
+ --sph-danger-soft: var(--sph-danger);
2105
+ @supports (color: color-mix(in lab, red, red)) {
2106
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 15%, transparent);
2107
+ }
2108
+ --sph-focus: var(--sph-accent);
2109
+ @supports (color: color-mix(in lab, red, red)) {
2110
+ --sph-focus: color-mix(in srgb, var(--sph-accent) 42%, transparent);
2111
+ }
2112
+ --sph-focus-ring: var(--sph-accent);
2113
+ @supports (color: color-mix(in lab, red, red)) {
2114
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 16%, transparent);
2115
+ }
2116
+ --sph-radius-xs: 4px;
2117
+ --sph-radius-sm: 6px;
2118
+ --sph-radius-md: 10px;
2119
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.38);
2120
+ --sph-motion-fast: 120ms;
2121
+ --sph-motion-normal: 180ms;
2122
+ --sph-motion-slow: 280ms;
2123
+ --sph-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
2124
+ --sph-ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);
2125
+ --sph-control-height-sm: 32px;
2126
+ --sph-control-height-md: 36px;
2127
+ --sph-control-height-lg: 40px;
2128
+ color-scheme: dark;
2129
+ }
2130
+ [data-sephiro-theme="light"] {
2131
+ --sph-bg: #f3f3f3;
2132
+ --sph-surface: #ffffff;
2133
+ --sph-surface-elevated: #ffffff;
2134
+ --sph-raised: #ebebeb;
2135
+ --sph-border: #d6d6d6;
2136
+ --sph-border-strong: #a9a9a9;
2137
+ --sph-text: #171717;
2138
+ --sph-text-muted: #5b5b5b;
2139
+ --sph-accent: #c01820;
2140
+ --sph-accent-hover: #a7141b;
2141
+ --sph-accent-pressed: #8c1117;
2142
+ --sph-accent-strong: #a7141b;
2143
+ --sph-accent-soft: var(--sph-accent);
2144
+ @supports (color: color-mix(in lab, red, red)) {
2145
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 12%, transparent);
2146
+ }
2147
+ --sph-success: #14784b;
2148
+ --sph-success-soft: var(--sph-success);
2149
+ @supports (color: color-mix(in lab, red, red)) {
2150
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 12%, transparent);
2151
+ }
2152
+ --sph-warning: #8a5a08;
2153
+ --sph-warning-soft: var(--sph-warning);
2154
+ @supports (color: color-mix(in lab, red, red)) {
2155
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 12%, transparent);
2156
+ }
2157
+ --sph-danger: #a5141b;
2158
+ --sph-danger-soft: var(--sph-danger);
2159
+ @supports (color: color-mix(in lab, red, red)) {
2160
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 12%, transparent);
2161
+ }
2162
+ --sph-focus: var(--sph-accent);
2163
+ @supports (color: color-mix(in lab, red, red)) {
2164
+ --sph-focus: color-mix(in srgb, var(--sph-accent) 42%, transparent);
2165
+ }
2166
+ --sph-focus-ring: var(--sph-accent);
2167
+ @supports (color: color-mix(in lab, red, red)) {
2168
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 14%, transparent);
2169
+ }
2170
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.14);
2171
+ color-scheme: light;
2172
+ }
2173
+ [data-sephiro-theme="asterism"] {
2174
+ --sph-bg: #10121f;
2175
+ --sph-surface: #171a2d;
2176
+ --sph-surface-elevated: #1d2140;
2177
+ --sph-raised: #252b4b;
2178
+ --sph-border: #353c64;
2179
+ --sph-border-strong: #56619a;
2180
+ --sph-text: #f1f3ff;
2181
+ --sph-text-muted: #a9b2d6;
2182
+ --sph-accent: #7c82ff;
2183
+ --sph-accent-hover: #969aff;
2184
+ --sph-accent-pressed: #5f66eb;
2185
+ --sph-accent-strong: #b9bdff;
2186
+ --sph-success: #63d8be;
2187
+ --sph-warning: #f6c56d;
2188
+ --sph-danger: #ff8f9b;
2189
+ color-scheme: dark;
2190
+ }
2191
+ [data-sephiro-theme="soffy"] {
2192
+ --sph-bg: #f8f3ec;
2193
+ --sph-surface: #fffdf9;
2194
+ --sph-surface-elevated: #ffffff;
2195
+ --sph-raised: #f0e7dc;
2196
+ --sph-border: #ddcfc0;
2197
+ --sph-border-strong: #bda996;
2198
+ --sph-text: #302b2a;
2199
+ --sph-text-muted: #756967;
2200
+ --sph-accent: #e36b54;
2201
+ --sph-accent-hover: #c95440;
2202
+ --sph-accent-pressed: #ad4534;
2203
+ --sph-accent-strong: #b74d3b;
2204
+ --sph-success: #3d8062;
2205
+ --sph-warning: #986518;
2206
+ --sph-danger: #bd473b;
2207
+ --sph-shadow-popover: 0 14px 36px rgb(82 55 33 / 0.16);
2208
+ color-scheme: light;
2209
+ }
2210
+ :where(:root, [data-sephiro-theme]) {
2211
+ --color-sph-bg: var(--sph-bg);
2212
+ --color-sph-surface: var(--sph-surface);
2213
+ --color-sph-raised: var(--sph-raised);
2214
+ --color-sph-border: var(--sph-border);
2215
+ --color-sph-border-strong: var(--sph-border-strong);
2216
+ --color-sph-text: var(--sph-text);
2217
+ --color-sph-text-muted: var(--sph-text-muted);
2218
+ --color-sph-accent: var(--sph-accent);
2219
+ --color-sph-accent-hover: var(--sph-accent-hover);
2220
+ --color-sph-accent-pressed: var(--sph-accent-pressed);
2221
+ --color-sph-accent-soft: var(--sph-accent-soft);
2222
+ --radius-sph-sm: var(--sph-radius-sm);
2223
+ --radius-sph-md: var(--sph-radius-md);
2224
+ --shadow-sph-popover: var(--sph-shadow-popover);
2225
+ }
2226
+ @media (prefers-reduced-motion: reduce) {
2227
+ :where(:root, [data-sephiro-theme]) {
2228
+ --sph-motion-fast: 0ms;
2229
+ --sph-motion-normal: 0ms;
2230
+ --sph-motion-slow: 0ms;
2231
+ }
2232
+ }
2233
+ @property --tw-font-weight {
2234
+ syntax: "*";
2235
+ inherits: false;
2236
+ }
2237
+ @property --tw-border-style {
2238
+ syntax: "*";
2239
+ inherits: false;
2240
+ initial-value: solid;
2241
+ }
2242
+ @property --tw-leading {
2243
+ syntax: "*";
2244
+ inherits: false;
2245
+ }
2246
+ @property --tw-shadow {
2247
+ syntax: "*";
2248
+ inherits: false;
2249
+ initial-value: 0 0 #0000;
2250
+ }
2251
+ @property --tw-shadow-color {
2252
+ syntax: "*";
2253
+ inherits: false;
2254
+ }
2255
+ @property --tw-shadow-alpha {
2256
+ syntax: "<percentage>";
2257
+ inherits: false;
2258
+ initial-value: 100%;
2259
+ }
2260
+ @property --tw-inset-shadow {
2261
+ syntax: "*";
2262
+ inherits: false;
2263
+ initial-value: 0 0 #0000;
2264
+ }
2265
+ @property --tw-inset-shadow-color {
2266
+ syntax: "*";
2267
+ inherits: false;
2268
+ }
2269
+ @property --tw-inset-shadow-alpha {
2270
+ syntax: "<percentage>";
2271
+ inherits: false;
2272
+ initial-value: 100%;
2273
+ }
2274
+ @property --tw-ring-color {
2275
+ syntax: "*";
2276
+ inherits: false;
2277
+ }
2278
+ @property --tw-ring-shadow {
2279
+ syntax: "*";
2280
+ inherits: false;
2281
+ initial-value: 0 0 #0000;
2282
+ }
2283
+ @property --tw-inset-ring-color {
2284
+ syntax: "*";
2285
+ inherits: false;
2286
+ }
2287
+ @property --tw-inset-ring-shadow {
2288
+ syntax: "*";
2289
+ inherits: false;
2290
+ initial-value: 0 0 #0000;
2291
+ }
2292
+ @property --tw-ring-inset {
2293
+ syntax: "*";
2294
+ inherits: false;
2295
+ }
2296
+ @property --tw-ring-offset-width {
2297
+ syntax: "<length>";
2298
+ inherits: false;
2299
+ initial-value: 0px;
2300
+ }
2301
+ @property --tw-ring-offset-color {
2302
+ syntax: "*";
2303
+ inherits: false;
2304
+ initial-value: #fff;
2305
+ }
2306
+ @property --tw-ring-offset-shadow {
2307
+ syntax: "*";
2308
+ inherits: false;
2309
+ initial-value: 0 0 #0000;
2310
+ }
2311
+ @property --tw-duration {
2312
+ syntax: "*";
2313
+ inherits: false;
2314
+ }
2315
+ @property --tw-ease {
2316
+ syntax: "*";
2317
+ inherits: false;
2318
+ }
2319
+ @layer properties {
2320
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
2321
+ *, ::before, ::after, ::backdrop {
2322
+ --tw-font-weight: initial;
2323
+ --tw-border-style: solid;
2324
+ --tw-leading: initial;
2325
+ --tw-shadow: 0 0 #0000;
2326
+ --tw-shadow-color: initial;
2327
+ --tw-shadow-alpha: 100%;
2328
+ --tw-inset-shadow: 0 0 #0000;
2329
+ --tw-inset-shadow-color: initial;
2330
+ --tw-inset-shadow-alpha: 100%;
2331
+ --tw-ring-color: initial;
2332
+ --tw-ring-shadow: 0 0 #0000;
2333
+ --tw-inset-ring-color: initial;
2334
+ --tw-inset-ring-shadow: 0 0 #0000;
2335
+ --tw-ring-inset: initial;
2336
+ --tw-ring-offset-width: 0px;
2337
+ --tw-ring-offset-color: #fff;
2338
+ --tw-ring-offset-shadow: 0 0 #0000;
2339
+ --tw-duration: initial;
2340
+ --tw-ease: initial;
2341
+ }
2342
+ }
2343
+ }