@pathscale/ui 0.0.157 → 0.0.159

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3960 @@
1
+ @layer components {
2
+ .btn.btn {
3
+ --btn-bg: var(--color-base-200);
4
+ --btn-color: var(--color-base-content);
5
+ --btn-fg: var(--btn-color);
6
+ --btn-border: var(--color-base-300);
7
+ --btn-tone: var(--color-base-content);
8
+ --btn-hover-bg: var(--color-base-300);
9
+ --btn-hover-color: var(--btn-color);
10
+ --btn-hover-border: color-mix(in oklch, var(--color-base-content) 18%, var(--color-base-200));
11
+ align-items: center;
12
+ background: var(--btn-bg);
13
+ border: 1px solid var(--btn-border);
14
+ border-radius: var(--radius-field, 0.5rem);
15
+ color: var(--btn-color);
16
+ cursor: pointer;
17
+ display: inline-flex;
18
+ font-size: 0.875rem;
19
+ font-weight: 600;
20
+ gap: 0.5rem;
21
+ justify-content: center;
22
+ line-height: 1.25rem;
23
+ min-height: 2.5rem;
24
+ padding: 0 1rem;
25
+ text-decoration: none;
26
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
27
+ user-select: none;
28
+ vertical-align: middle;
29
+ white-space: nowrap;
30
+ }
31
+
32
+ .btn.btn:hover {
33
+ --btn-bg: var(--btn-hover-bg);
34
+ --btn-color: var(--btn-hover-color);
35
+ --btn-fg: var(--btn-hover-color);
36
+ --btn-border: var(--btn-hover-border);
37
+ }
38
+
39
+ .btn.btn:focus-visible {
40
+ outline: 2px solid color-mix(in oklch, var(--color-primary) 55%, transparent);
41
+ outline-offset: 2px;
42
+ }
43
+
44
+ .btn.btn:disabled,
45
+ .btn.btn.btn-disabled {
46
+ cursor: not-allowed;
47
+ opacity: 0.45;
48
+ pointer-events: none;
49
+ }
50
+
51
+ .btn.btn:disabled:hover,
52
+ .btn.btn.btn-disabled:hover {
53
+ --btn-bg: var(--btn-bg);
54
+ --btn-fg: var(--btn-color);
55
+ --btn-border: var(--btn-border);
56
+ }
57
+
58
+ .btn.btn-ghost {
59
+ --btn-bg: transparent;
60
+ --btn-border: transparent;
61
+ --btn-color: var(--color-base-content);
62
+ --btn-hover-color: var(--color-base-content);
63
+ }
64
+
65
+ .btn.btn-ghost:hover {
66
+ --btn-hover-bg: var(--color-base-300);
67
+ --btn-hover-border: transparent;
68
+ }
69
+
70
+ .btn.btn-outline {
71
+ --btn-bg: transparent;
72
+ --btn-border: color-mix(in oklch, var(--color-base-content) 28%, transparent);
73
+ --btn-hover-bg: var(--color-base-200);
74
+ --btn-hover-border: color-mix(in oklch, var(--color-base-content) 38%, transparent);
75
+ }
76
+
77
+ .btn.btn-link {
78
+ --btn-bg: transparent;
79
+ --btn-border: transparent;
80
+ --btn-tone: var(--color-primary);
81
+ color: var(--color-primary);
82
+ min-height: 0;
83
+ padding: 0;
84
+ text-decoration: underline;
85
+ text-underline-offset: 0.2em;
86
+ }
87
+
88
+ .btn.btn-soft {
89
+ --btn-bg: color-mix(in oklch, var(--btn-tone) 16%, var(--color-base-100));
90
+ --btn-border: color-mix(in oklch, var(--btn-tone) 34%, transparent);
91
+ --btn-color: color-mix(in oklch, var(--btn-tone) 72%, var(--color-base-content));
92
+ --btn-hover-bg: color-mix(in oklch, var(--btn-tone) 24%, var(--color-base-100));
93
+ --btn-hover-border: color-mix(in oklch, var(--btn-tone) 45%, transparent);
94
+ --btn-hover-color: color-mix(in oklch, var(--btn-tone) 82%, var(--color-base-content));
95
+ }
96
+
97
+ .btn.btn-dash {
98
+ --btn-bg: transparent;
99
+ --btn-border: color-mix(in oklch, var(--btn-tone) 55%, transparent);
100
+ --btn-color: color-mix(in oklch, var(--btn-tone) 82%, var(--color-base-content));
101
+ --btn-hover-bg: color-mix(in oklch, var(--btn-tone) 12%, transparent);
102
+ --btn-hover-border: color-mix(in oklch, var(--btn-tone) 82%, transparent);
103
+ --btn-hover-color: color-mix(in oklch, var(--btn-tone) 92%, var(--color-base-content));
104
+ border-style: dashed;
105
+ }
106
+
107
+ .btn.btn-dash:hover {
108
+ border-style: dashed;
109
+ }
110
+
111
+ .btn.btn-active,
112
+ .btn.btn:active:not(:disabled):not(.btn-disabled) {
113
+ --btn-bg: var(--btn-hover-bg);
114
+ --btn-color: var(--btn-hover-color);
115
+ --btn-fg: var(--btn-hover-color);
116
+ --btn-border: var(--btn-hover-border);
117
+ }
118
+
119
+ .btn.btn-primary {
120
+ --btn-bg: var(--color-primary);
121
+ --btn-border: var(--color-primary);
122
+ --btn-tone: var(--color-primary);
123
+ --btn-color: var(--color-primary-content);
124
+ --btn-hover-bg: color-mix(in oklch, var(--color-primary) 85%, black);
125
+ --btn-hover-border: color-mix(in oklch, var(--color-primary) 85%, black);
126
+ --btn-hover-color: var(--color-primary-content);
127
+ }
128
+
129
+ .btn.btn-secondary {
130
+ --btn-bg: var(--color-secondary);
131
+ --btn-border: var(--color-secondary);
132
+ --btn-tone: var(--color-secondary);
133
+ --btn-color: var(--color-secondary-content);
134
+ --btn-hover-bg: color-mix(in oklch, var(--color-secondary) 85%, black);
135
+ --btn-hover-border: color-mix(in oklch, var(--color-secondary) 85%, black);
136
+ --btn-hover-color: var(--color-secondary-content);
137
+ }
138
+
139
+ .btn.btn-accent {
140
+ --btn-bg: var(--color-accent);
141
+ --btn-border: var(--color-accent);
142
+ --btn-tone: var(--color-accent);
143
+ --btn-color: var(--color-accent-content);
144
+ --btn-hover-bg: color-mix(in oklch, var(--color-accent) 85%, black);
145
+ --btn-hover-border: color-mix(in oklch, var(--color-accent) 85%, black);
146
+ --btn-hover-color: var(--color-accent-content);
147
+ }
148
+
149
+ .btn.btn-neutral {
150
+ --btn-bg: var(--color-neutral);
151
+ --btn-border: var(--color-neutral);
152
+ --btn-tone: var(--color-neutral);
153
+ --btn-color: var(--color-neutral-content);
154
+ --btn-hover-bg: color-mix(in oklch, var(--color-neutral) 85%, black);
155
+ --btn-hover-border: color-mix(in oklch, var(--color-neutral) 85%, black);
156
+ --btn-hover-color: var(--color-neutral-content);
157
+ }
158
+
159
+ .btn.btn-info {
160
+ --btn-bg: var(--color-info);
161
+ --btn-border: var(--color-info);
162
+ --btn-tone: var(--color-info);
163
+ --btn-color: var(--color-info-content);
164
+ --btn-hover-bg: color-mix(in oklch, var(--color-info) 85%, black);
165
+ --btn-hover-border: color-mix(in oklch, var(--color-info) 85%, black);
166
+ --btn-hover-color: var(--color-info-content);
167
+ }
168
+
169
+ .btn.btn-success {
170
+ --btn-bg: var(--color-success);
171
+ --btn-border: var(--color-success);
172
+ --btn-tone: var(--color-success);
173
+ --btn-color: var(--color-success-content);
174
+ --btn-hover-bg: color-mix(in oklch, var(--color-success) 85%, black);
175
+ --btn-hover-border: color-mix(in oklch, var(--color-success) 85%, black);
176
+ --btn-hover-color: var(--color-success-content);
177
+ }
178
+
179
+ .btn.btn-warning {
180
+ --btn-bg: var(--color-warning);
181
+ --btn-border: var(--color-warning);
182
+ --btn-tone: var(--color-warning);
183
+ --btn-color: var(--color-warning-content);
184
+ --btn-hover-bg: color-mix(in oklch, var(--color-warning) 85%, black);
185
+ --btn-hover-border: color-mix(in oklch, var(--color-warning) 85%, black);
186
+ --btn-hover-color: var(--color-warning-content);
187
+ }
188
+
189
+ .btn.btn-error {
190
+ --btn-bg: var(--color-error);
191
+ --btn-border: var(--color-error);
192
+ --btn-tone: var(--color-error);
193
+ --btn-color: var(--color-error-content);
194
+ --btn-hover-bg: color-mix(in oklch, var(--color-error) 85%, black);
195
+ --btn-hover-border: color-mix(in oklch, var(--color-error) 85%, black);
196
+ --btn-hover-color: var(--color-error-content);
197
+ }
198
+
199
+ .btn.btn-xs {
200
+ font-size: 0.75rem;
201
+ min-height: 1.75rem;
202
+ padding: 0 0.5rem;
203
+ }
204
+
205
+ .btn.btn-sm {
206
+ font-size: 0.8125rem;
207
+ min-height: 2rem;
208
+ padding: 0 0.75rem;
209
+ }
210
+
211
+ .btn.btn-md {
212
+ min-height: 2.5rem;
213
+ }
214
+
215
+ .btn.btn-lg {
216
+ font-size: 1rem;
217
+ min-height: 3rem;
218
+ padding: 0 1.25rem;
219
+ }
220
+
221
+ .btn.btn-xl {
222
+ font-size: 1.125rem;
223
+ min-height: 3.25rem;
224
+ padding: 0 1.5rem;
225
+ }
226
+
227
+ .btn.btn-responsive {
228
+ font-size: 0.75rem;
229
+ min-height: 1.75rem;
230
+ padding: 0 0.5rem;
231
+ }
232
+
233
+ .btn.btn-circle,
234
+ .btn.btn-square {
235
+ padding: 0;
236
+ width: 2.5rem;
237
+ }
238
+
239
+ .btn.btn-circle {
240
+ border-radius: 9999px;
241
+ }
242
+
243
+ .btn.btn-square {
244
+ border-radius: var(--radius-field, 0.5rem);
245
+ }
246
+
247
+ .btn.btn-block {
248
+ display: flex;
249
+ width: 100%;
250
+ }
251
+
252
+ .btn.btn-wide {
253
+ min-width: 10rem;
254
+ }
255
+
256
+ @media (min-width: 640px) {
257
+ .btn.btn-responsive {
258
+ font-size: 0.8125rem;
259
+ min-height: 2rem;
260
+ padding: 0 0.75rem;
261
+ }
262
+ }
263
+
264
+ @media (min-width: 768px) {
265
+ .btn.btn-responsive {
266
+ font-size: 0.875rem;
267
+ min-height: 2.5rem;
268
+ padding: 0 1rem;
269
+ }
270
+ }
271
+
272
+ @media (min-width: 1024px) {
273
+ .btn.btn-responsive {
274
+ font-size: 1rem;
275
+ min-height: 3rem;
276
+ padding: 0 1.25rem;
277
+ }
278
+ }
279
+
280
+ .join {
281
+ align-items: stretch;
282
+ display: inline-flex;
283
+ }
284
+
285
+ .join.join-vertical {
286
+ flex-direction: column;
287
+ }
288
+
289
+ .join.join-horizontal {
290
+ flex-direction: row;
291
+ }
292
+
293
+ .join .join-item {
294
+ border-radius: 0;
295
+ }
296
+
297
+ .join.join-horizontal .join-item:first-child {
298
+ border-radius: var(--radius-field, 0.5rem) 0 0 var(--radius-field, 0.5rem);
299
+ }
300
+
301
+ .join.join-horizontal .join-item:last-child {
302
+ border-radius: 0 var(--radius-field, 0.5rem) var(--radius-field, 0.5rem) 0;
303
+ }
304
+
305
+ .join.join-vertical .join-item:first-child {
306
+ border-radius: var(--radius-field, 0.5rem) var(--radius-field, 0.5rem) 0 0;
307
+ }
308
+
309
+ .join.join-vertical .join-item:last-child {
310
+ border-radius: 0 0 var(--radius-field, 0.5rem) var(--radius-field, 0.5rem);
311
+ }
312
+
313
+ .label {
314
+ align-items: center;
315
+ display: flex;
316
+ gap: 0.5rem;
317
+ padding: 0.5rem 0.25rem;
318
+ width: 100%;
319
+ }
320
+
321
+ .label-text {
322
+ color: color-mix(in oklch, var(--color-base-content) 88%, transparent);
323
+ font-size: 0.875rem;
324
+ line-height: 1.25rem;
325
+ }
326
+
327
+ .link {
328
+ cursor: pointer;
329
+ text-decoration-line: underline;
330
+ text-decoration-thickness: 1px;
331
+ text-underline-offset: 0.2em;
332
+ }
333
+
334
+ .link.link-primary {
335
+ color: var(--color-primary);
336
+ }
337
+
338
+ .link.link-accent {
339
+ color: var(--color-accent);
340
+ }
341
+
342
+ .hover\:link-primary:hover {
343
+ color: var(--color-primary);
344
+ }
345
+
346
+ .hover\:link-accent:hover {
347
+ color: var(--color-accent);
348
+ }
349
+
350
+ .loading {
351
+ animation: daisy-loading-spin 1s linear infinite;
352
+ aspect-ratio: 1 / 1;
353
+ border-radius: 9999px;
354
+ color: currentColor;
355
+ display: inline-block;
356
+ vertical-align: middle;
357
+ width: 1.5rem;
358
+ }
359
+
360
+ .loading.loading-spinner {
361
+ border: 2px solid currentColor;
362
+ border-right-color: transparent;
363
+ }
364
+
365
+ .loading.loading-xs {
366
+ width: 1rem;
367
+ }
368
+
369
+ .loading.loading-sm {
370
+ width: 1.25rem;
371
+ }
372
+
373
+ .loading.loading-md {
374
+ width: 1.5rem;
375
+ }
376
+
377
+ .loading.loading-lg {
378
+ width: 2rem;
379
+ }
380
+
381
+ .loading.loading-xl {
382
+ width: 2.5rem;
383
+ }
384
+
385
+ .swap {
386
+ cursor: pointer;
387
+ display: inline-grid;
388
+ place-items: center;
389
+ position: relative;
390
+ user-select: none;
391
+ }
392
+
393
+ .swap > input {
394
+ appearance: none;
395
+ cursor: pointer;
396
+ inset: 0;
397
+ margin: 0;
398
+ opacity: 0;
399
+ position: absolute;
400
+ z-index: 1;
401
+ }
402
+
403
+ .swap > .swap-on,
404
+ .swap > .swap-off {
405
+ grid-area: 1 / 1;
406
+ transition: opacity 0.2s ease, transform 0.2s ease;
407
+ }
408
+
409
+ .swap > .swap-on {
410
+ opacity: 0;
411
+ transform: rotate(-12deg) scale(0.85);
412
+ }
413
+
414
+ .swap > .swap-off {
415
+ opacity: 1;
416
+ transform: rotate(0deg) scale(1);
417
+ }
418
+
419
+ .swap.swap-active > .swap-on,
420
+ .swap > input:checked ~ .swap-on {
421
+ opacity: 1;
422
+ transform: rotate(0deg) scale(1);
423
+ }
424
+
425
+ .swap.swap-active > .swap-off,
426
+ .swap > input:checked ~ .swap-off {
427
+ opacity: 0;
428
+ transform: rotate(12deg) scale(0.85);
429
+ }
430
+
431
+ .swap.swap-flip > .swap-on,
432
+ .swap.swap-flip > .swap-off {
433
+ backface-visibility: hidden;
434
+ transform-style: preserve-3d;
435
+ }
436
+
437
+ .swap.swap-flip > .swap-on {
438
+ transform: rotateY(180deg);
439
+ }
440
+
441
+ .swap.swap-flip.swap-active > .swap-on,
442
+ .swap.swap-flip > input:checked ~ .swap-on {
443
+ transform: rotateY(0deg);
444
+ }
445
+
446
+ .swap.swap-flip.swap-active > .swap-off,
447
+ .swap.swap-flip > input:checked ~ .swap-off {
448
+ transform: rotateY(-180deg);
449
+ }
450
+
451
+ .countdown {
452
+ display: inline-flex;
453
+ font-variant-numeric: tabular-nums;
454
+ line-height: 1;
455
+ }
456
+
457
+ .countdown > * {
458
+ display: inline-flex;
459
+ justify-content: center;
460
+ min-width: 1ch;
461
+ position: relative;
462
+ }
463
+
464
+ .countdown > *::before {
465
+ content: attr(data-content);
466
+ }
467
+
468
+ @keyframes daisy-loading-spin {
469
+ from {
470
+ transform: rotate(0deg);
471
+ }
472
+ to {
473
+ transform: rotate(360deg);
474
+ }
475
+ }
476
+
477
+ .input,
478
+ .select,
479
+ .textarea,
480
+ .file-input {
481
+ --field-bg: var(--color-base-100);
482
+ --field-border: color-mix(in oklch, var(--color-base-content) 18%, transparent);
483
+ --field-color: var(--color-base-content);
484
+ --field-placeholder: color-mix(in oklch, var(--color-base-content) 50%, transparent);
485
+ --field-focus: color-mix(in oklch, var(--color-base-content) 28%, transparent);
486
+ --field-file-bg: color-mix(in oklch, var(--color-base-content) 10%, var(--color-base-100));
487
+ --field-file-color: var(--color-base-content);
488
+ }
489
+
490
+ .input {
491
+ align-items: center;
492
+ background: var(--field-bg);
493
+ border: 1px solid var(--field-border);
494
+ border-radius: var(--radius-field, 0.5rem);
495
+ color: var(--field-color);
496
+ display: inline-flex;
497
+ gap: 0.5rem;
498
+ min-height: 2.5rem;
499
+ padding: 0 0.75rem;
500
+ transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
501
+ width: 100%;
502
+ }
503
+
504
+ .input input {
505
+ background: transparent;
506
+ border: 0;
507
+ color: inherit;
508
+ flex: 1;
509
+ min-width: 0;
510
+ outline: none;
511
+ }
512
+
513
+ .input input::placeholder {
514
+ color: var(--field-placeholder);
515
+ }
516
+
517
+ .input:focus-within {
518
+ border-color: var(--field-focus);
519
+ box-shadow: 0 0 0 2px color-mix(in oklch, var(--field-focus) 22%, transparent);
520
+ }
521
+
522
+ .input:has(input:disabled),
523
+ .input.input-disabled {
524
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
525
+ cursor: not-allowed;
526
+ opacity: 0.65;
527
+ }
528
+
529
+ .input:has(input:disabled) input {
530
+ cursor: not-allowed;
531
+ }
532
+
533
+ .select,
534
+ .textarea,
535
+ .file-input {
536
+ background: var(--field-bg);
537
+ border: 1px solid var(--field-border);
538
+ border-radius: var(--radius-field, 0.5rem);
539
+ color: var(--field-color);
540
+ min-height: 2.5rem;
541
+ transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
542
+ }
543
+
544
+ .select:focus-visible,
545
+ .textarea:focus-visible,
546
+ .file-input:focus-visible {
547
+ border-color: var(--field-focus);
548
+ box-shadow: 0 0 0 2px color-mix(in oklch, var(--field-focus) 22%, transparent);
549
+ outline: none;
550
+ }
551
+
552
+ .select:disabled,
553
+ .textarea:disabled,
554
+ .file-input:disabled {
555
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
556
+ cursor: not-allowed;
557
+ opacity: 0.65;
558
+ }
559
+
560
+ .select {
561
+ appearance: none;
562
+ background-image:
563
+ linear-gradient(45deg, transparent 50%, currentColor 50%),
564
+ linear-gradient(135deg, currentColor 50%, transparent 50%);
565
+ background-position:
566
+ calc(100% - 1rem) calc(50% - 2px),
567
+ calc(100% - 0.7rem) calc(50% - 2px);
568
+ background-repeat: no-repeat;
569
+ background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
570
+ padding: 0 2rem 0 0.75rem;
571
+ width: 100%;
572
+ }
573
+
574
+ .select option {
575
+ background: var(--color-base-100);
576
+ color: var(--color-base-content);
577
+ }
578
+
579
+ .textarea {
580
+ padding: 0.625rem 0.75rem;
581
+ width: 100%;
582
+ }
583
+
584
+ .textarea::placeholder {
585
+ color: var(--field-placeholder);
586
+ }
587
+
588
+ .file-input {
589
+ padding: 0;
590
+ width: 100%;
591
+ }
592
+
593
+ .file-input::file-selector-button {
594
+ background: var(--field-file-bg);
595
+ border: 0;
596
+ border-inline-end: 1px solid var(--field-border);
597
+ color: var(--field-file-color);
598
+ cursor: pointer;
599
+ font-weight: 600;
600
+ height: 100%;
601
+ margin-inline-end: 0.75rem;
602
+ padding: 0 0.875rem;
603
+ transition: background-color 0.15s ease;
604
+ }
605
+
606
+ .file-input:hover::file-selector-button {
607
+ background: color-mix(in oklch, var(--field-file-bg) 85%, black);
608
+ }
609
+
610
+ .file-input:disabled::file-selector-button {
611
+ cursor: not-allowed;
612
+ }
613
+
614
+ .input.input-ghost,
615
+ .select.select-ghost,
616
+ .textarea.textarea-ghost,
617
+ .file-input.file-input-ghost {
618
+ --field-bg: transparent;
619
+ --field-border: transparent;
620
+ }
621
+
622
+ .input.input-bordered,
623
+ .file-input.file-input-bordered {
624
+ --field-border: color-mix(in oklch, var(--color-base-content) 22%, transparent);
625
+ }
626
+
627
+ .input.input-primary,
628
+ .select.select-primary,
629
+ .textarea.textarea-primary,
630
+ .file-input.file-input-primary {
631
+ --field-focus: var(--color-primary);
632
+ --field-border: color-mix(in oklch, var(--color-primary) 35%, var(--color-base-100));
633
+ --field-file-bg: color-mix(in oklch, var(--color-primary) 16%, var(--color-base-100));
634
+ }
635
+
636
+ .input.input-secondary,
637
+ .select.select-secondary,
638
+ .textarea.textarea-secondary,
639
+ .file-input.file-input-secondary {
640
+ --field-focus: var(--color-secondary);
641
+ --field-border: color-mix(in oklch, var(--color-secondary) 35%, var(--color-base-100));
642
+ --field-file-bg: color-mix(in oklch, var(--color-secondary) 16%, var(--color-base-100));
643
+ }
644
+
645
+ .input.input-accent,
646
+ .select.select-accent,
647
+ .textarea.textarea-accent,
648
+ .file-input.file-input-accent {
649
+ --field-focus: var(--color-accent);
650
+ --field-border: color-mix(in oklch, var(--color-accent) 35%, var(--color-base-100));
651
+ --field-file-bg: color-mix(in oklch, var(--color-accent) 16%, var(--color-base-100));
652
+ }
653
+
654
+ .input.input-info,
655
+ .select.select-info,
656
+ .textarea.textarea-info,
657
+ .file-input.file-input-info {
658
+ --field-focus: var(--color-info);
659
+ --field-border: color-mix(in oklch, var(--color-info) 35%, var(--color-base-100));
660
+ --field-file-bg: color-mix(in oklch, var(--color-info) 16%, var(--color-base-100));
661
+ }
662
+
663
+ .input.input-success,
664
+ .select.select-success,
665
+ .textarea.textarea-success,
666
+ .file-input.file-input-success {
667
+ --field-focus: var(--color-success);
668
+ --field-border: color-mix(in oklch, var(--color-success) 35%, var(--color-base-100));
669
+ --field-file-bg: color-mix(in oklch, var(--color-success) 16%, var(--color-base-100));
670
+ }
671
+
672
+ .input.input-warning,
673
+ .select.select-warning,
674
+ .textarea.textarea-warning,
675
+ .file-input.file-input-warning {
676
+ --field-focus: var(--color-warning);
677
+ --field-border: color-mix(in oklch, var(--color-warning) 35%, var(--color-base-100));
678
+ --field-file-bg: color-mix(in oklch, var(--color-warning) 16%, var(--color-base-100));
679
+ }
680
+
681
+ .input.input-error,
682
+ .select.select-error,
683
+ .textarea.textarea-error,
684
+ .file-input.file-input-error {
685
+ --field-focus: var(--color-error);
686
+ --field-border: color-mix(in oklch, var(--color-error) 35%, var(--color-base-100));
687
+ --field-file-bg: color-mix(in oklch, var(--color-error) 16%, var(--color-base-100));
688
+ }
689
+
690
+ .input.input-xs,
691
+ .select.select-xs,
692
+ .textarea.textarea-xs,
693
+ .file-input.file-input-xs {
694
+ font-size: 0.75rem;
695
+ min-height: 1.75rem;
696
+ }
697
+
698
+ .input.input-sm,
699
+ .select.select-sm,
700
+ .textarea.textarea-sm,
701
+ .file-input.file-input-sm {
702
+ font-size: 0.8125rem;
703
+ min-height: 2rem;
704
+ }
705
+
706
+ .input.input-md,
707
+ .select.select-md,
708
+ .textarea.textarea-md,
709
+ .file-input.file-input-md {
710
+ min-height: 2.5rem;
711
+ }
712
+
713
+ .input.input-lg,
714
+ .select.select-lg,
715
+ .textarea.textarea-lg,
716
+ .file-input.file-input-lg {
717
+ font-size: 1rem;
718
+ min-height: 3rem;
719
+ }
720
+
721
+ .input.input-xl,
722
+ .select.select-xl,
723
+ .textarea.textarea-xl,
724
+ .file-input.file-input-xl {
725
+ font-size: 1.125rem;
726
+ min-height: 3.25rem;
727
+ }
728
+
729
+ .checkbox,
730
+ .radio {
731
+ --control-accent: var(--color-primary);
732
+ appearance: none;
733
+ background: var(--color-base-100);
734
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 30%, transparent);
735
+ box-shadow: inset 0 0 0 0 color-mix(in oklch, var(--control-accent) 75%, transparent);
736
+ color: var(--color-base-content);
737
+ cursor: pointer;
738
+ display: inline-block;
739
+ flex-shrink: 0;
740
+ height: 1.25rem;
741
+ transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
742
+ width: 1.25rem;
743
+ }
744
+
745
+ .checkbox {
746
+ --size: calc(var(--size-selector, 0.25rem) * 6);
747
+ --input-color: var(--control-accent);
748
+ --checkbox-content: var(--color-primary-content);
749
+ background-size: auto, calc(var(--noise) * 100%);
750
+ background-image: none, var(--fx-noise);
751
+ box-shadow:
752
+ 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset,
753
+ 0 0 #0000 inset,
754
+ 0 0 #0000;
755
+ height: var(--size);
756
+ padding: 0.25rem;
757
+ position: relative;
758
+ transition: background-color 0.2s, box-shadow 0.2s;
759
+ border-radius: 0.25rem;
760
+ width: var(--size);
761
+ }
762
+
763
+ .checkbox::before {
764
+ background: currentColor;
765
+ box-shadow: 0 3px 0 0 oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
766
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
767
+ content: "";
768
+ display: block;
769
+ font-size: 1rem;
770
+ height: 100%;
771
+ line-height: 0.75;
772
+ opacity: 0;
773
+ rotate: 45deg;
774
+ transition: clip-path 0.3s 0.1s, opacity 0.1s 0.1s, rotate 0.3s 0.1s, translate 0.3s 0.1s;
775
+ width: 100%;
776
+ }
777
+
778
+ .checkbox:checked,
779
+ .checkbox[aria-checked="true"] {
780
+ background-color: var(--input-color, #0000);
781
+ border-color: var(--input-color, color-mix(in oklch, var(--color-base-content) 20%, transparent));
782
+ box-shadow:
783
+ 0 0 #0000 inset,
784
+ 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset,
785
+ 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
786
+ color: var(--checkbox-content);
787
+ }
788
+
789
+ .checkbox:checked::before,
790
+ .checkbox[aria-checked="true"]::before {
791
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
792
+ opacity: 100%;
793
+ }
794
+
795
+ .checkbox:indeterminate,
796
+ .checkbox[aria-checked="mixed"] {
797
+ background: color-mix(in oklch, var(--control-accent) 88%, black);
798
+ border-color: color-mix(in oklch, var(--control-accent) 78%, black);
799
+ box-shadow: inset 0 0 0 999px color-mix(in oklch, var(--control-accent) 88%, black);
800
+ color: var(--color-primary-content);
801
+ }
802
+
803
+ .checkbox:indeterminate::before,
804
+ .checkbox[aria-checked="mixed"]::before {
805
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
806
+ opacity: 1;
807
+ rotate: none;
808
+ translate: 0 -35%;
809
+ }
810
+
811
+ .radio {
812
+ border-radius: 9999px;
813
+ }
814
+
815
+ .radio:checked {
816
+ border-color: color-mix(in oklch, var(--control-accent) 78%, black);
817
+ box-shadow:
818
+ inset 0 0 0 3px var(--color-base-100),
819
+ inset 0 0 0 999px color-mix(in oklch, var(--control-accent) 88%, black);
820
+ }
821
+
822
+ .checkbox:focus-visible,
823
+ .radio:focus-visible {
824
+ outline: 2px solid color-mix(in oklch, var(--control-accent) 55%, transparent);
825
+ outline-offset: 2px;
826
+ }
827
+
828
+ .checkbox:disabled,
829
+ .radio:disabled {
830
+ cursor: not-allowed;
831
+ opacity: 0.5;
832
+ }
833
+
834
+ .checkbox.checkbox-xs,
835
+ .radio.radio-xs {
836
+ height: 0.875rem;
837
+ width: 0.875rem;
838
+ }
839
+
840
+ .checkbox.checkbox-sm,
841
+ .radio.radio-sm {
842
+ height: 1rem;
843
+ width: 1rem;
844
+ }
845
+
846
+ .checkbox.checkbox-md,
847
+ .radio.radio-md {
848
+ height: 1.25rem;
849
+ width: 1.25rem;
850
+ }
851
+
852
+ .checkbox.checkbox-lg,
853
+ .radio.radio-lg {
854
+ height: 1.5rem;
855
+ width: 1.5rem;
856
+ }
857
+
858
+ .checkbox.checkbox-xl,
859
+ .radio.radio-xl {
860
+ height: 1.75rem;
861
+ width: 1.75rem;
862
+ }
863
+
864
+ .checkbox.checkbox-xs {
865
+ --size: calc(var(--size-selector, 0.25rem) * 4);
866
+ padding: 0.125rem;
867
+ }
868
+
869
+ .checkbox.checkbox-sm {
870
+ --size: calc(var(--size-selector, 0.25rem) * 5);
871
+ padding: 0.1875rem;
872
+ }
873
+
874
+ .checkbox.checkbox-md {
875
+ --size: calc(var(--size-selector, 0.25rem) * 6);
876
+ padding: 0.25rem;
877
+ }
878
+
879
+ .checkbox.checkbox-lg {
880
+ --size: calc(var(--size-selector, 0.25rem) * 7);
881
+ padding: 0.3125rem;
882
+ }
883
+
884
+ .checkbox.checkbox-xl {
885
+ --size: calc(var(--size-selector, 0.25rem) * 8);
886
+ padding: 0.375rem;
887
+ }
888
+
889
+ .checkbox.checkbox-neutral {
890
+ --checkbox-content: var(--color-neutral-content);
891
+ --control-accent: var(--color-neutral);
892
+ }
893
+
894
+ .checkbox.checkbox-primary,
895
+ .radio.radio-primary {
896
+ --checkbox-content: var(--color-primary-content);
897
+ --control-accent: var(--color-primary);
898
+ }
899
+
900
+ .checkbox.checkbox-secondary,
901
+ .radio.radio-secondary {
902
+ --checkbox-content: var(--color-secondary-content);
903
+ --control-accent: var(--color-secondary);
904
+ }
905
+
906
+ .checkbox.checkbox-accent,
907
+ .radio.radio-accent {
908
+ --checkbox-content: var(--color-accent-content);
909
+ --control-accent: var(--color-accent);
910
+ }
911
+
912
+ .checkbox.checkbox-info,
913
+ .radio.radio-info {
914
+ --checkbox-content: var(--color-info-content);
915
+ --control-accent: var(--color-info);
916
+ }
917
+
918
+ .checkbox.checkbox-success,
919
+ .radio.radio-success {
920
+ --checkbox-content: var(--color-success-content);
921
+ --control-accent: var(--color-success);
922
+ }
923
+
924
+ .checkbox.checkbox-warning,
925
+ .radio.radio-warning {
926
+ --checkbox-content: var(--color-warning-content);
927
+ --control-accent: var(--color-warning);
928
+ }
929
+
930
+ .checkbox.checkbox-error,
931
+ .radio.radio-error {
932
+ --checkbox-content: var(--color-error-content);
933
+ --control-accent: var(--color-error);
934
+ }
935
+
936
+ .range {
937
+ -webkit-appearance: none;
938
+ appearance: none;
939
+ --range-thumb: var(--color-base-100);
940
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
941
+ --range-progress: currentColor;
942
+ --range-fill: 1;
943
+ --range-p: 0.25rem;
944
+ --range-bg: color-mix(in oklab, currentColor 10%, #0000);
945
+ --radius-selector-max: calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));
946
+ background-color: #0000;
947
+ border: none;
948
+ border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
949
+ color: var(--color-primary);
950
+ cursor: pointer;
951
+ height: var(--range-thumb-size);
952
+ overflow: hidden;
953
+ vertical-align: middle;
954
+ width: clamp(3rem, 20rem, 100%);
955
+ }
956
+
957
+ [dir="rtl"] .range {
958
+ --range-dir: -1;
959
+ }
960
+
961
+ .range:focus {
962
+ outline: none;
963
+ }
964
+
965
+ .range:focus-visible {
966
+ outline: 2px solid;
967
+ outline-offset: 2px;
968
+ }
969
+
970
+ .range::-webkit-slider-runnable-track {
971
+ background-color: var(--range-bg);
972
+ border-radius: var(--radius-selector);
973
+ height: calc(var(--range-thumb-size) * 0.5);
974
+ width: 100%;
975
+ }
976
+
977
+ .range::-webkit-slider-thumb {
978
+ box-sizing: border-box;
979
+ border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
980
+ height: var(--range-thumb-size);
981
+ width: var(--range-thumb-size);
982
+ border: var(--range-p) solid;
983
+ -webkit-appearance: none;
984
+ appearance: none;
985
+ color: var(--range-progress);
986
+ box-shadow:
987
+ 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset,
988
+ 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset,
989
+ 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000),
990
+ 0 0 0 2rem var(--range-thumb) inset,
991
+ calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2))
992
+ 0
993
+ 0
994
+ calc(100rem * var(--range-fill));
995
+ background-color: currentColor;
996
+ position: relative;
997
+ top: 50%;
998
+ transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
999
+ transform: translateY(-50%);
1000
+ }
1001
+
1002
+ .range::-moz-range-track {
1003
+ background-color: var(--range-bg);
1004
+ border-radius: var(--radius-selector);
1005
+ height: calc(var(--range-thumb-size) * 0.5);
1006
+ width: 100%;
1007
+ }
1008
+
1009
+ .range::-moz-range-thumb {
1010
+ box-sizing: border-box;
1011
+ border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
1012
+ height: var(--range-thumb-size);
1013
+ width: var(--range-thumb-size);
1014
+ border: var(--range-p) solid;
1015
+ color: var(--range-progress);
1016
+ box-shadow:
1017
+ 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset,
1018
+ 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset,
1019
+ 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000),
1020
+ 0 0 0 2rem var(--range-thumb) inset,
1021
+ calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2))
1022
+ 0
1023
+ 0
1024
+ calc(100rem * var(--range-fill));
1025
+ background-color: currentColor;
1026
+ position: relative;
1027
+ top: 50%;
1028
+ transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
1029
+ }
1030
+
1031
+ .range:active::-webkit-slider-thumb {
1032
+ transform: translateY(-50%) scale(1.03);
1033
+ }
1034
+
1035
+ .range:active::-moz-range-thumb {
1036
+ transform: scale(1.03);
1037
+ }
1038
+
1039
+ .range:disabled {
1040
+ cursor: not-allowed;
1041
+ opacity: 0.3;
1042
+ }
1043
+
1044
+ .range.range-xs {
1045
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 4);
1046
+ }
1047
+
1048
+ .range.range-sm {
1049
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 5);
1050
+ }
1051
+
1052
+ .range.range-md {
1053
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
1054
+ }
1055
+
1056
+ .range.range-lg {
1057
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 7);
1058
+ }
1059
+
1060
+ .range.range-xl {
1061
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 8);
1062
+ }
1063
+
1064
+ .range.range-neutral {
1065
+ --range-thumb: var(--color-neutral-content);
1066
+ color: var(--color-neutral);
1067
+ }
1068
+
1069
+ .range.range-primary {
1070
+ --range-thumb: var(--color-primary-content);
1071
+ color: var(--color-primary);
1072
+ }
1073
+
1074
+ .range.range-secondary {
1075
+ --range-thumb: var(--color-secondary-content);
1076
+ color: var(--color-secondary);
1077
+ }
1078
+
1079
+ .range.range-accent {
1080
+ --range-thumb: var(--color-accent-content);
1081
+ color: var(--color-accent);
1082
+ }
1083
+
1084
+ .range.range-info {
1085
+ --range-thumb: var(--color-info-content);
1086
+ color: var(--color-info);
1087
+ }
1088
+
1089
+ .range.range-success {
1090
+ --range-thumb: var(--color-success-content);
1091
+ color: var(--color-success);
1092
+ }
1093
+
1094
+ .range.range-warning {
1095
+ --range-thumb: var(--color-warning-content);
1096
+ color: var(--color-warning);
1097
+ }
1098
+
1099
+ .range.range-error {
1100
+ --range-thumb: var(--color-error-content);
1101
+ color: var(--color-error);
1102
+ }
1103
+
1104
+ .menu {
1105
+ background: var(--color-base-100);
1106
+ border-radius: var(--radius-box, 0.75rem);
1107
+ color: var(--color-base-content);
1108
+ display: flex;
1109
+ flex-direction: column;
1110
+ gap: 0.125rem;
1111
+ list-style: none;
1112
+ margin: 0;
1113
+ padding: 0.375rem;
1114
+ }
1115
+
1116
+ .menu :where(li) {
1117
+ list-style: none;
1118
+ margin: 0;
1119
+ padding: 0;
1120
+ }
1121
+
1122
+ .menu :where(li > *) {
1123
+ align-items: center;
1124
+ border-radius: calc(var(--radius-field, 0.5rem) - 2px);
1125
+ color: inherit;
1126
+ display: flex;
1127
+ gap: 0.5rem;
1128
+ min-height: 2.25rem;
1129
+ padding: 0.5rem 0.625rem;
1130
+ text-decoration: none;
1131
+ }
1132
+
1133
+ .menu :where(li > *:hover) {
1134
+ background: color-mix(in oklch, var(--color-base-content) 10%, transparent);
1135
+ }
1136
+
1137
+ .menu :where(li.menu-focus > *),
1138
+ .menu :where(li > *.menu-focus),
1139
+ .menu :where(li > *:focus-visible) {
1140
+ background: color-mix(in oklch, var(--color-base-content) 12%, transparent);
1141
+ }
1142
+
1143
+ .menu :where(li > *.menu-active),
1144
+ .menu :where(li.menu-active > *),
1145
+ .menu :where(li > *.active) {
1146
+ background: color-mix(in oklch, var(--color-primary) 85%, var(--color-base-100));
1147
+ color: var(--color-primary-content);
1148
+ }
1149
+
1150
+ .menu :where(li > *.menu-disabled),
1151
+ .menu :where(li.menu-disabled > *),
1152
+ .menu :where(li > *:disabled),
1153
+ .menu :where(li[aria-disabled="true"] > *) {
1154
+ cursor: not-allowed;
1155
+ opacity: 0.5;
1156
+ pointer-events: none;
1157
+ }
1158
+
1159
+ .menu :where(.menu-dropdown-toggle) {
1160
+ cursor: pointer;
1161
+ user-select: none;
1162
+ }
1163
+
1164
+ .menu :where(.menu-dropdown-toggle)::after {
1165
+ border-bottom: 1.5px solid currentColor;
1166
+ border-right: 1.5px solid currentColor;
1167
+ content: "";
1168
+ display: inline-block;
1169
+ height: 0.45rem;
1170
+ margin-left: auto;
1171
+ transform: rotate(45deg);
1172
+ transition: transform 0.15s ease;
1173
+ width: 0.45rem;
1174
+ }
1175
+
1176
+ .menu :where(.menu-dropdown-toggle.menu-dropdown-show)::after {
1177
+ transform: rotate(225deg);
1178
+ }
1179
+
1180
+ .menu :where(.menu-dropdown) {
1181
+ border-left: 1px solid color-mix(in oklch, var(--color-base-content) 18%, transparent);
1182
+ display: none;
1183
+ flex-direction: column;
1184
+ gap: 0.125rem;
1185
+ margin: 0.25rem 0 0.25rem 0.75rem;
1186
+ padding: 0.125rem 0 0.125rem 0.5rem;
1187
+ }
1188
+
1189
+ .menu :where(.menu-dropdown.menu-dropdown-show),
1190
+ .menu :where(.menu-dropdown-toggle.menu-dropdown-show + .menu-dropdown) {
1191
+ display: flex;
1192
+ }
1193
+
1194
+ .menu.menu-vertical {
1195
+ flex-direction: column;
1196
+ }
1197
+
1198
+ .menu.menu-horizontal {
1199
+ align-items: center;
1200
+ flex-direction: row;
1201
+ flex-wrap: wrap;
1202
+ gap: 0.25rem;
1203
+ }
1204
+
1205
+ .menu.menu-horizontal :where(li) {
1206
+ width: auto;
1207
+ }
1208
+
1209
+ .menu.menu-responsive {
1210
+ flex-direction: column;
1211
+ }
1212
+
1213
+ .menu.menu-xs :where(li > *) {
1214
+ font-size: 0.75rem;
1215
+ min-height: 1.75rem;
1216
+ padding: 0.25rem 0.5rem;
1217
+ }
1218
+
1219
+ .menu.menu-sm :where(li > *) {
1220
+ font-size: 0.8125rem;
1221
+ min-height: 2rem;
1222
+ padding: 0.375rem 0.625rem;
1223
+ }
1224
+
1225
+ .menu.menu-md :where(li > *) {
1226
+ font-size: 0.875rem;
1227
+ min-height: 2.25rem;
1228
+ }
1229
+
1230
+ .menu.menu-lg :where(li > *) {
1231
+ font-size: 1rem;
1232
+ min-height: 2.5rem;
1233
+ padding: 0.625rem 0.75rem;
1234
+ }
1235
+
1236
+ .menu.menu-xl :where(li > *) {
1237
+ font-size: 1.125rem;
1238
+ min-height: 2.75rem;
1239
+ padding: 0.75rem 0.875rem;
1240
+ }
1241
+
1242
+ @media (min-width: 1024px) {
1243
+ .menu.menu-responsive {
1244
+ align-items: center;
1245
+ flex-direction: row;
1246
+ flex-wrap: wrap;
1247
+ gap: 0.25rem;
1248
+ }
1249
+
1250
+ .menu.menu-responsive :where(li) {
1251
+ width: auto;
1252
+ }
1253
+ }
1254
+
1255
+ .table {
1256
+ border-collapse: separate;
1257
+ border-spacing: 0;
1258
+ color: var(--color-base-content);
1259
+ width: 100%;
1260
+ }
1261
+
1262
+ .table :where(th, td) {
1263
+ border-bottom: 1px solid color-mix(in oklch, var(--color-base-content) 12%, transparent);
1264
+ padding: 0.75rem 0.875rem;
1265
+ text-align: left;
1266
+ vertical-align: middle;
1267
+ }
1268
+
1269
+ .table :where(thead th) {
1270
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
1271
+ font-size: 0.75rem;
1272
+ font-weight: 700;
1273
+ letter-spacing: 0.02em;
1274
+ text-transform: uppercase;
1275
+ }
1276
+
1277
+ .table :where(tbody tr:last-child td) {
1278
+ border-bottom: none;
1279
+ }
1280
+
1281
+ .table.table-zebra :where(tbody tr:nth-child(even)) {
1282
+ background: color-mix(in oklch, var(--color-base-content) 4%, transparent);
1283
+ }
1284
+
1285
+ .table.table-hover :where(tbody tr:hover) {
1286
+ background: color-mix(in oklch, var(--color-base-content) 8%, transparent);
1287
+ }
1288
+
1289
+ .toggle {
1290
+ appearance: none;
1291
+ background: color-mix(in oklch, var(--color-base-content) 16%, transparent);
1292
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 22%, transparent);
1293
+ border-radius: 9999px;
1294
+ cursor: pointer;
1295
+ display: inline-block;
1296
+ height: 1.5rem;
1297
+ position: relative;
1298
+ transition: background-color 0.15s ease, border-color 0.15s ease;
1299
+ width: 2.75rem;
1300
+ }
1301
+
1302
+ .toggle::after {
1303
+ background: var(--color-base-100);
1304
+ border-radius: 9999px;
1305
+ content: "";
1306
+ height: 1.125rem;
1307
+ left: 0.125rem;
1308
+ position: absolute;
1309
+ top: 0.125rem;
1310
+ transition: transform 0.15s ease;
1311
+ width: 1.125rem;
1312
+ }
1313
+
1314
+ .toggle:checked {
1315
+ background: var(--color-primary);
1316
+ border-color: var(--color-primary);
1317
+ }
1318
+
1319
+ .toggle:checked::after {
1320
+ transform: translateX(1.25rem);
1321
+ }
1322
+
1323
+ .toggle:disabled {
1324
+ cursor: not-allowed;
1325
+ opacity: 0.5;
1326
+ }
1327
+
1328
+ .toggle.toggle-xs {
1329
+ height: 1rem;
1330
+ width: 1.75rem;
1331
+ }
1332
+
1333
+ .toggle.toggle-xs::after {
1334
+ height: 0.625rem;
1335
+ width: 0.625rem;
1336
+ }
1337
+
1338
+ .toggle.toggle-sm {
1339
+ height: 1.25rem;
1340
+ width: 2.25rem;
1341
+ }
1342
+
1343
+ .toggle.toggle-sm::after {
1344
+ height: 0.875rem;
1345
+ width: 0.875rem;
1346
+ }
1347
+
1348
+ .toggle.toggle-lg {
1349
+ height: 1.75rem;
1350
+ width: 3.25rem;
1351
+ }
1352
+
1353
+ .toggle.toggle-lg::after {
1354
+ height: 1.375rem;
1355
+ width: 1.375rem;
1356
+ }
1357
+
1358
+ .toggle.toggle-xl {
1359
+ height: 2rem;
1360
+ width: 3.75rem;
1361
+ }
1362
+
1363
+ .toggle.toggle-xl::after {
1364
+ height: 1.625rem;
1365
+ width: 1.625rem;
1366
+ }
1367
+
1368
+ .toggle.toggle-primary:checked {
1369
+ background: var(--color-primary);
1370
+ border-color: var(--color-primary);
1371
+ }
1372
+
1373
+ .toggle.toggle-secondary:checked {
1374
+ background: var(--color-secondary);
1375
+ border-color: var(--color-secondary);
1376
+ }
1377
+
1378
+ .toggle.toggle-accent:checked {
1379
+ background: var(--color-accent);
1380
+ border-color: var(--color-accent);
1381
+ }
1382
+
1383
+ .toggle.toggle-neutral:checked {
1384
+ background: var(--color-neutral);
1385
+ border-color: var(--color-neutral);
1386
+ }
1387
+
1388
+ .toggle.toggle-info:checked {
1389
+ background: var(--color-info);
1390
+ border-color: var(--color-info);
1391
+ }
1392
+
1393
+ .toggle.toggle-success:checked {
1394
+ background: var(--color-success);
1395
+ border-color: var(--color-success);
1396
+ }
1397
+
1398
+ .toggle.toggle-warning:checked {
1399
+ background: var(--color-warning);
1400
+ border-color: var(--color-warning);
1401
+ }
1402
+
1403
+ .toggle.toggle-error:checked {
1404
+ background: var(--color-error);
1405
+ border-color: var(--color-error);
1406
+ }
1407
+
1408
+ .modal {
1409
+ align-items: center;
1410
+ background: transparent;
1411
+ border: 0;
1412
+ height: 100dvh;
1413
+ justify-items: center;
1414
+ margin: 0;
1415
+ max-height: none;
1416
+ max-width: none;
1417
+ padding: 1rem;
1418
+ width: 100vw;
1419
+ }
1420
+
1421
+ .modal::backdrop {
1422
+ background: color-mix(in oklch, var(--color-base-content) 48%, transparent);
1423
+ backdrop-filter: blur(2px);
1424
+ }
1425
+
1426
+ .modal.modal-top {
1427
+ align-items: start;
1428
+ }
1429
+
1430
+ .modal.modal-middle {
1431
+ align-items: center;
1432
+ }
1433
+
1434
+ .modal.modal-bottom {
1435
+ align-items: end;
1436
+ }
1437
+
1438
+ .modal.modal-start {
1439
+ justify-items: start;
1440
+ }
1441
+
1442
+ .modal.modal-end {
1443
+ justify-items: end;
1444
+ }
1445
+
1446
+ @media (min-width: 640px) {
1447
+ .modal.sm\:modal-middle {
1448
+ align-items: center;
1449
+ }
1450
+
1451
+ .modal.modal-responsive-middle {
1452
+ align-items: center;
1453
+ }
1454
+ }
1455
+
1456
+ .modal-box {
1457
+ background: var(--color-base-100);
1458
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 12%, transparent);
1459
+ border-radius: var(--radius-box, 0.75rem);
1460
+ box-shadow: 0 18px 40px color-mix(in oklch, var(--color-base-content) 30%, transparent);
1461
+ color: var(--color-base-content);
1462
+ max-height: calc(100dvh - 3rem);
1463
+ overflow: auto;
1464
+ padding: 1rem;
1465
+ }
1466
+
1467
+ .modal-backdrop {
1468
+ cursor: pointer;
1469
+ inset: 0;
1470
+ position: fixed;
1471
+ }
1472
+
1473
+ .drawer {
1474
+ display: grid;
1475
+ grid-template-columns: minmax(0, 1fr);
1476
+ position: relative;
1477
+ width: 100%;
1478
+ }
1479
+
1480
+ .drawer-toggle {
1481
+ block-size: 0;
1482
+ inline-size: 0;
1483
+ opacity: 0;
1484
+ pointer-events: none;
1485
+ position: absolute;
1486
+ }
1487
+
1488
+ .drawer-content {
1489
+ min-height: 100%;
1490
+ min-width: 0;
1491
+ z-index: 1;
1492
+ }
1493
+
1494
+ .drawer-side {
1495
+ inset: 0;
1496
+ opacity: 0;
1497
+ pointer-events: none;
1498
+ position: fixed;
1499
+ z-index: 80;
1500
+ }
1501
+
1502
+ .drawer-overlay {
1503
+ background: color-mix(in oklch, var(--color-base-content) 45%, transparent);
1504
+ cursor: pointer;
1505
+ inset: 0;
1506
+ opacity: 0;
1507
+ position: absolute;
1508
+ transition: opacity 0.2s ease;
1509
+ }
1510
+
1511
+ .drawer-side > :not(.drawer-overlay) {
1512
+ background: var(--color-base-100);
1513
+ border-inline-end: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
1514
+ box-shadow: 0 16px 40px color-mix(in oklch, var(--color-base-content) 24%, transparent);
1515
+ height: 100%;
1516
+ max-width: calc(100vw - 2rem);
1517
+ overflow-y: auto;
1518
+ pointer-events: auto;
1519
+ position: relative;
1520
+ transform: translateX(-102%);
1521
+ transition: transform 0.24s ease;
1522
+ width: min(24rem, 100vw);
1523
+ }
1524
+
1525
+ .drawer.drawer-end .drawer-side > :not(.drawer-overlay) {
1526
+ border-inline-end: 0;
1527
+ border-inline-start: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
1528
+ margin-left: auto;
1529
+ transform: translateX(102%);
1530
+ }
1531
+
1532
+ .drawer > .drawer-toggle:checked ~ .drawer-side,
1533
+ .drawer.drawer-open .drawer-side {
1534
+ opacity: 1;
1535
+ pointer-events: auto;
1536
+ }
1537
+
1538
+ .drawer > .drawer-toggle:checked ~ .drawer-side > .drawer-overlay,
1539
+ .drawer.drawer-open .drawer-side > .drawer-overlay {
1540
+ opacity: 1;
1541
+ }
1542
+
1543
+ .drawer > .drawer-toggle:checked ~ .drawer-side > :not(.drawer-overlay),
1544
+ .drawer.drawer-open .drawer-side > :not(.drawer-overlay) {
1545
+ transform: translateX(0);
1546
+ }
1547
+
1548
+ .dropdown {
1549
+ display: inline-flex;
1550
+ position: relative;
1551
+ }
1552
+
1553
+ .dropdown.w-full {
1554
+ display: block;
1555
+ width: 100%;
1556
+ }
1557
+
1558
+ .dropdown > .dropdown-content {
1559
+ left: 0;
1560
+ margin-top: 0.375rem;
1561
+ opacity: 0;
1562
+ pointer-events: none;
1563
+ position: absolute;
1564
+ top: 100%;
1565
+ transform: translateY(0.25rem) scale(0.98);
1566
+ transform-origin: top left;
1567
+ transition: opacity 0.16s ease, transform 0.16s ease;
1568
+ visibility: hidden;
1569
+ z-index: 90;
1570
+ }
1571
+
1572
+ .dropdown.dropdown-top > .dropdown-content {
1573
+ bottom: 100%;
1574
+ left: 0;
1575
+ margin-bottom: 0.375rem;
1576
+ margin-top: 0;
1577
+ top: auto;
1578
+ transform-origin: bottom left;
1579
+ }
1580
+
1581
+ .dropdown.dropdown-left > .dropdown-content {
1582
+ left: auto;
1583
+ right: 0;
1584
+ }
1585
+
1586
+ .dropdown.dropdown-right > .dropdown-content {
1587
+ left: 0;
1588
+ right: auto;
1589
+ }
1590
+
1591
+ .dropdown.dropdown-end > .dropdown-content {
1592
+ left: auto;
1593
+ right: 0;
1594
+ transform-origin: top right;
1595
+ }
1596
+
1597
+ .dropdown.dropdown-top.dropdown-end > .dropdown-content {
1598
+ transform-origin: bottom right;
1599
+ }
1600
+
1601
+ .dropdown.dropdown-open > .dropdown-content,
1602
+ .dropdown.dropdown-hover:hover > .dropdown-content,
1603
+ .dropdown:focus-within > .dropdown-content {
1604
+ opacity: 1;
1605
+ pointer-events: auto;
1606
+ transform: translateY(0) scale(1);
1607
+ visibility: visible;
1608
+ }
1609
+
1610
+ .max-h-50 {
1611
+ max-height: 12.5rem;
1612
+ }
1613
+
1614
+ .tabs {
1615
+ --tab-border-color: color-mix(in oklch, var(--color-base-content) 20%, transparent);
1616
+ --tab-bg: var(--color-primary);
1617
+ align-items: center;
1618
+ display: flex;
1619
+ flex-wrap: wrap;
1620
+ gap: 0.25rem;
1621
+ }
1622
+
1623
+ .tab {
1624
+ align-items: center;
1625
+ border: 1px solid transparent;
1626
+ border-radius: var(--radius-field, 0.5rem);
1627
+ color: color-mix(in oklch, var(--color-base-content) 82%, transparent);
1628
+ cursor: pointer;
1629
+ display: inline-flex;
1630
+ font-size: 0.875rem;
1631
+ font-weight: 500;
1632
+ justify-content: center;
1633
+ min-height: 2.25rem;
1634
+ padding: 0 0.875rem;
1635
+ text-decoration: none;
1636
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
1637
+ user-select: none;
1638
+ white-space: nowrap;
1639
+ }
1640
+
1641
+ .tabs > input.tab {
1642
+ appearance: none;
1643
+ }
1644
+
1645
+ .tabs > input.tab::after {
1646
+ content: attr(aria-label);
1647
+ }
1648
+
1649
+ .tab:hover {
1650
+ background: color-mix(in oklch, var(--color-base-content) 8%, transparent);
1651
+ }
1652
+
1653
+ .tab:focus-visible {
1654
+ outline: 2px solid color-mix(in oklch, var(--color-primary) 55%, transparent);
1655
+ outline-offset: 2px;
1656
+ }
1657
+
1658
+ .tab.tab-active,
1659
+ .tabs > input.tab:checked {
1660
+ background: var(--tab-bg);
1661
+ border-color: var(--tab-border-color, var(--tab-bg));
1662
+ color: var(--color-primary-content);
1663
+ }
1664
+
1665
+ .tab.tab-disabled,
1666
+ .tab:disabled,
1667
+ .tabs > input.tab:disabled {
1668
+ cursor: not-allowed;
1669
+ opacity: 0.5;
1670
+ }
1671
+
1672
+ .tabs.tabs-boxed {
1673
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
1674
+ border-radius: calc(var(--radius-field, 0.5rem) + 0.25rem);
1675
+ padding: 0.25rem;
1676
+ }
1677
+
1678
+ .tabs.tabs-bordered {
1679
+ border-bottom: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
1680
+ padding-bottom: 0.25rem;
1681
+ }
1682
+
1683
+ .tabs.tabs-bordered .tab {
1684
+ border-bottom-color: transparent;
1685
+ border-radius: var(--radius-field, 0.5rem) var(--radius-field, 0.5rem) 0 0;
1686
+ }
1687
+
1688
+ .tabs.tabs-bordered .tab.tab-active,
1689
+ .tabs.tabs-bordered > input.tab:checked {
1690
+ background: transparent;
1691
+ border-color: transparent;
1692
+ border-bottom-color: var(--tab-border-color, var(--color-primary));
1693
+ color: var(--tab-bg);
1694
+ }
1695
+
1696
+ .tabs.tabs-lift {
1697
+ align-items: end;
1698
+ gap: 0.125rem;
1699
+ }
1700
+
1701
+ .tabs.tabs-lift .tab {
1702
+ background: color-mix(in oklch, var(--color-base-content) 4%, var(--color-base-100));
1703
+ border-color: color-mix(in oklch, var(--color-base-content) 16%, transparent);
1704
+ border-bottom: 0;
1705
+ border-radius: var(--radius-field, 0.5rem) var(--radius-field, 0.5rem) 0 0;
1706
+ }
1707
+
1708
+ .tabs.tabs-lift .tab.tab-active,
1709
+ .tabs.tabs-lift > input.tab:checked {
1710
+ background: var(--color-base-100);
1711
+ color: var(--color-base-content);
1712
+ }
1713
+
1714
+ .tabs.tabs-bottom {
1715
+ align-items: start;
1716
+ }
1717
+
1718
+ .tabs.tabs-bottom.tabs-bordered {
1719
+ border-bottom: 0;
1720
+ border-top: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
1721
+ padding-bottom: 0;
1722
+ padding-top: 0.25rem;
1723
+ }
1724
+
1725
+ .tabs.tabs-bottom.tabs-bordered .tab {
1726
+ border-radius: 0 0 var(--radius-field, 0.5rem) var(--radius-field, 0.5rem);
1727
+ }
1728
+
1729
+ .tabs.tabs-bottom.tabs-bordered .tab.tab-active,
1730
+ .tabs.tabs-bottom.tabs-bordered > input.tab:checked {
1731
+ border-bottom-color: transparent;
1732
+ border-top-color: var(--tab-border-color, var(--color-primary));
1733
+ }
1734
+
1735
+ .tabs.tabs-xs .tab,
1736
+ .tabs .tab.tab-xs {
1737
+ font-size: 0.75rem;
1738
+ min-height: 1.75rem;
1739
+ padding: 0 0.5rem;
1740
+ }
1741
+
1742
+ .tabs.tabs-sm .tab,
1743
+ .tabs .tab.tab-sm {
1744
+ font-size: 0.8125rem;
1745
+ min-height: 2rem;
1746
+ padding: 0 0.75rem;
1747
+ }
1748
+
1749
+ .tabs.tabs-md .tab,
1750
+ .tabs .tab.tab-md {
1751
+ min-height: 2.25rem;
1752
+ }
1753
+
1754
+ .tabs.tabs-lg .tab,
1755
+ .tabs .tab.tab-lg {
1756
+ font-size: 1rem;
1757
+ min-height: 2.75rem;
1758
+ padding: 0 1rem;
1759
+ }
1760
+
1761
+ .tabs.tabs-xl .tab,
1762
+ .tabs .tab.tab-xl {
1763
+ font-size: 1.125rem;
1764
+ min-height: 3rem;
1765
+ padding: 0 1.25rem;
1766
+ }
1767
+
1768
+ .tab-content {
1769
+ display: none;
1770
+ flex-basis: 100%;
1771
+ order: 100;
1772
+ padding-top: 0.75rem;
1773
+ }
1774
+
1775
+ .tabs > input.tab:checked + .tab-content {
1776
+ display: block;
1777
+ }
1778
+
1779
+ .tabs.tabs-bottom > input.tab:checked + .tab-content {
1780
+ order: -1;
1781
+ padding-bottom: 0.75rem;
1782
+ padding-top: 0;
1783
+ }
1784
+
1785
+ .badge {
1786
+ --badge-color: var(--color-base-200);
1787
+ --badge-bg: var(--color-base-100);
1788
+ --badge-fg: var(--color-base-content);
1789
+ --size: calc(var(--size-selector, 0.25rem) * 6);
1790
+ align-items: center;
1791
+ background-color: var(--badge-bg);
1792
+ border: var(--border, 1px) solid var(--badge-color);
1793
+ border-radius: var(--radius-selector, 0.5rem);
1794
+ color: var(--badge-fg);
1795
+ display: inline-flex;
1796
+ font-size: 0.875rem;
1797
+ gap: 0.5rem;
1798
+ height: var(--size);
1799
+ justify-content: center;
1800
+ padding-inline: calc(0.25rem * 3 - var(--border, 1px));
1801
+ vertical-align: middle;
1802
+ white-space: nowrap;
1803
+ width: fit-content;
1804
+ }
1805
+
1806
+ .badge.badge-outline {
1807
+ --badge-bg: #0000;
1808
+ --badge-fg: var(--badge-color);
1809
+ border-color: currentColor;
1810
+ }
1811
+
1812
+ .badge.badge-dash {
1813
+ --badge-bg: #0000;
1814
+ --badge-fg: var(--badge-color);
1815
+ border-color: currentColor;
1816
+ border-style: dashed;
1817
+ }
1818
+
1819
+ .badge.badge-soft {
1820
+ --badge-fg: var(--badge-color, var(--color-base-content));
1821
+ --badge-bg: color-mix(in oklab, var(--badge-color, var(--color-base-content)) 8%, var(--color-base-100));
1822
+ border-color: color-mix(in oklab, var(--badge-color, var(--color-base-content)) 10%, var(--color-base-100));
1823
+ }
1824
+
1825
+ .badge.badge-xs {
1826
+ --size: calc(var(--size-selector, 0.25rem) * 4);
1827
+ font-size: 0.625rem;
1828
+ padding-inline: calc(0.25rem * 2 - var(--border, 1px));
1829
+ }
1830
+
1831
+ .badge.badge-sm {
1832
+ --size: calc(var(--size-selector, 0.25rem) * 5);
1833
+ font-size: 0.75rem;
1834
+ padding-inline: calc(0.25rem * 2.5 - var(--border, 1px));
1835
+ }
1836
+
1837
+ .badge.badge-md {
1838
+ --size: calc(var(--size-selector, 0.25rem) * 6);
1839
+ font-size: 0.875rem;
1840
+ padding-inline: calc(0.25rem * 3 - var(--border, 1px));
1841
+ }
1842
+
1843
+ .badge.badge-lg {
1844
+ --size: calc(var(--size-selector, 0.25rem) * 7);
1845
+ font-size: 1rem;
1846
+ padding-inline: calc(0.25rem * 3.5 - var(--border, 1px));
1847
+ }
1848
+
1849
+ .badge.badge-xl {
1850
+ --size: calc(var(--size-selector, 0.25rem) * 8);
1851
+ font-size: 1.125rem;
1852
+ padding-inline: calc(0.25rem * 4 - var(--border, 1px));
1853
+ }
1854
+
1855
+ .badge.badge-responsive {
1856
+ --size: calc(var(--size-selector, 0.25rem) * 4);
1857
+ font-size: 0.625rem;
1858
+ padding-inline: calc(0.25rem * 2 - var(--border, 1px));
1859
+ }
1860
+
1861
+ .badge.badge-neutral {
1862
+ --badge-color: var(--color-neutral);
1863
+ --badge-bg: var(--color-neutral);
1864
+ --badge-fg: var(--color-neutral-content);
1865
+ }
1866
+
1867
+ .badge.badge-primary {
1868
+ --badge-color: var(--color-primary);
1869
+ --badge-bg: var(--color-primary);
1870
+ --badge-fg: var(--color-primary-content);
1871
+ }
1872
+
1873
+ .badge.badge-secondary {
1874
+ --badge-color: var(--color-secondary);
1875
+ --badge-bg: var(--color-secondary);
1876
+ --badge-fg: var(--color-secondary-content);
1877
+ }
1878
+
1879
+ .badge.badge-accent {
1880
+ --badge-color: var(--color-accent);
1881
+ --badge-bg: var(--color-accent);
1882
+ --badge-fg: var(--color-accent-content);
1883
+ }
1884
+
1885
+ .badge.badge-info {
1886
+ --badge-color: var(--color-info);
1887
+ --badge-bg: var(--color-info);
1888
+ --badge-fg: var(--color-info-content);
1889
+ }
1890
+
1891
+ .badge.badge-success {
1892
+ --badge-color: var(--color-success);
1893
+ --badge-bg: var(--color-success);
1894
+ --badge-fg: var(--color-success-content);
1895
+ }
1896
+
1897
+ .badge.badge-warning {
1898
+ --badge-color: var(--color-warning);
1899
+ --badge-bg: var(--color-warning);
1900
+ --badge-fg: var(--color-warning-content);
1901
+ }
1902
+
1903
+ .badge.badge-error {
1904
+ --badge-color: var(--color-error);
1905
+ --badge-bg: var(--color-error);
1906
+ --badge-fg: var(--color-error-content);
1907
+ }
1908
+
1909
+ .badge.badge-ghost {
1910
+ --badge-color: var(--color-base-200);
1911
+ --badge-bg: var(--color-base-200);
1912
+ --badge-fg: var(--color-base-content);
1913
+ }
1914
+
1915
+ @media (min-width: 768px) {
1916
+ .badge.badge-responsive {
1917
+ --size: calc(var(--size-selector, 0.25rem) * 5);
1918
+ font-size: 0.75rem;
1919
+ padding-inline: calc(0.25rem * 2.5 - var(--border, 1px));
1920
+ }
1921
+ }
1922
+
1923
+ @media (min-width: 1024px) {
1924
+ .badge.badge-responsive {
1925
+ --size: calc(var(--size-selector, 0.25rem) * 6);
1926
+ font-size: 0.875rem;
1927
+ padding-inline: calc(0.25rem * 3 - var(--border, 1px));
1928
+ }
1929
+ }
1930
+
1931
+ @media (min-width: 1280px) {
1932
+ .badge.badge-responsive {
1933
+ --size: calc(var(--size-selector, 0.25rem) * 7);
1934
+ font-size: 1rem;
1935
+ padding-inline: calc(0.25rem * 3.5 - var(--border, 1px));
1936
+ }
1937
+ }
1938
+
1939
+ .alert {
1940
+ --alert-color: var(--color-base-200);
1941
+ align-items: center;
1942
+ background-color: var(--alert-color);
1943
+ border: var(--border, 1px) solid var(--color-base-300);
1944
+ border-radius: var(--radius-box, 0.75rem);
1945
+ color: var(--color-base-content);
1946
+ display: grid;
1947
+ font-size: 0.875rem;
1948
+ gap: 1rem;
1949
+ grid-auto-flow: column;
1950
+ grid-template-columns: auto;
1951
+ justify-content: start;
1952
+ line-height: 1.25rem;
1953
+ padding-block: 0.75rem;
1954
+ padding-inline: 1rem;
1955
+ place-items: center start;
1956
+ text-align: start;
1957
+ }
1958
+
1959
+ .alert:has(:nth-child(2)) {
1960
+ grid-template-columns: auto minmax(auto, 1fr);
1961
+ }
1962
+
1963
+ .alert.alert-outline {
1964
+ background-color: #0000;
1965
+ border-color: currentColor;
1966
+ box-shadow: none;
1967
+ color: var(--alert-color);
1968
+ }
1969
+
1970
+ .alert.alert-dash {
1971
+ background-color: #0000;
1972
+ border-color: currentColor;
1973
+ border-style: dashed;
1974
+ box-shadow: none;
1975
+ color: var(--alert-color);
1976
+ }
1977
+
1978
+ .alert.alert-soft {
1979
+ background: color-mix(in oklab, var(--alert-color, var(--color-base-content)) 8%, var(--color-base-100));
1980
+ border-color: color-mix(in oklab, var(--alert-color, var(--color-base-content)) 10%, var(--color-base-100));
1981
+ color: var(--alert-color, var(--color-base-content));
1982
+ }
1983
+
1984
+ .alert.alert-info {
1985
+ --alert-color: var(--color-info);
1986
+ border-color: var(--color-info);
1987
+ color: var(--color-info-content);
1988
+ }
1989
+
1990
+ .alert.alert-success {
1991
+ --alert-color: var(--color-success);
1992
+ border-color: var(--color-success);
1993
+ color: var(--color-success-content);
1994
+ }
1995
+
1996
+ .alert.alert-warning {
1997
+ --alert-color: var(--color-warning);
1998
+ border-color: var(--color-warning);
1999
+ color: var(--color-warning-content);
2000
+ }
2001
+
2002
+ .alert.alert-error {
2003
+ --alert-color: var(--color-error);
2004
+ border-color: var(--color-error);
2005
+ color: var(--color-error-content);
2006
+ }
2007
+
2008
+ .alert.alert-vertical {
2009
+ grid-auto-flow: row;
2010
+ grid-template-columns: auto;
2011
+ justify-content: center;
2012
+ justify-items: center;
2013
+ text-align: center;
2014
+ }
2015
+
2016
+ .alert.alert-horizontal {
2017
+ grid-auto-flow: column;
2018
+ grid-template-columns: auto;
2019
+ justify-content: start;
2020
+ justify-items: start;
2021
+ text-align: start;
2022
+ }
2023
+
2024
+ .alert.alert-horizontal:has(:nth-child(2)) {
2025
+ grid-template-columns: auto minmax(auto, 1fr);
2026
+ }
2027
+
2028
+ .card {
2029
+ --card-p: 1.5rem;
2030
+ --card-fs: 0.875rem;
2031
+ --cardtitle-fs: 1.125rem;
2032
+ border-radius: var(--radius-box, 0.75rem);
2033
+ display: flex;
2034
+ flex-direction: column;
2035
+ outline: 0 solid #0000;
2036
+ outline-offset: 2px;
2037
+ position: relative;
2038
+ transition: outline-color 0.2s ease-in-out;
2039
+ }
2040
+
2041
+ .card:focus-visible {
2042
+ outline-color: currentColor;
2043
+ }
2044
+
2045
+ .card figure {
2046
+ align-items: center;
2047
+ display: flex;
2048
+ justify-content: center;
2049
+ }
2050
+
2051
+ .card :where(figure:first-child) {
2052
+ border-end-end-radius: unset;
2053
+ border-end-start-radius: unset;
2054
+ border-start-end-radius: inherit;
2055
+ border-start-start-radius: inherit;
2056
+ overflow: hidden;
2057
+ }
2058
+
2059
+ .card :where(figure:last-child) {
2060
+ border-end-end-radius: inherit;
2061
+ border-end-start-radius: inherit;
2062
+ border-start-end-radius: unset;
2063
+ border-start-start-radius: unset;
2064
+ overflow: hidden;
2065
+ }
2066
+
2067
+ .card.card-border {
2068
+ border: var(--border, 1px) solid var(--color-base-200);
2069
+ }
2070
+
2071
+ .card.card-dash {
2072
+ border: var(--border, 1px) dashed var(--color-base-200);
2073
+ }
2074
+
2075
+ .card.image-full {
2076
+ display: grid;
2077
+ }
2078
+
2079
+ .card.image-full > * {
2080
+ grid-column-start: 1;
2081
+ grid-row-start: 1;
2082
+ }
2083
+
2084
+ .card.image-full > .card-body {
2085
+ color: var(--color-neutral-content);
2086
+ position: relative;
2087
+ }
2088
+
2089
+ .card.image-full > figure {
2090
+ border-radius: inherit;
2091
+ overflow: hidden;
2092
+ }
2093
+
2094
+ .card.image-full > figure img {
2095
+ filter: brightness(28%);
2096
+ height: 100%;
2097
+ object-fit: cover;
2098
+ }
2099
+
2100
+ .card-title {
2101
+ align-items: center;
2102
+ display: flex;
2103
+ font-size: var(--cardtitle-fs);
2104
+ font-weight: 600;
2105
+ gap: 0.5rem;
2106
+ }
2107
+
2108
+ .card-body {
2109
+ display: flex;
2110
+ flex: auto;
2111
+ flex-direction: column;
2112
+ font-size: var(--card-fs);
2113
+ gap: 0.5rem;
2114
+ padding: var(--card-p);
2115
+ }
2116
+
2117
+ .card-body :where(p) {
2118
+ flex-grow: 1;
2119
+ }
2120
+
2121
+ .card-actions {
2122
+ align-items: flex-start;
2123
+ display: flex;
2124
+ flex-wrap: wrap;
2125
+ gap: 0.5rem;
2126
+ }
2127
+
2128
+ .card.card-xs {
2129
+ --card-p: 0.5rem;
2130
+ --card-fs: 0.6875rem;
2131
+ --cardtitle-fs: 0.875rem;
2132
+ }
2133
+
2134
+ .card.card-sm {
2135
+ --card-p: 1rem;
2136
+ --card-fs: 0.75rem;
2137
+ --cardtitle-fs: 1rem;
2138
+ }
2139
+
2140
+ .card.card-md {
2141
+ --card-p: 1.5rem;
2142
+ --card-fs: 0.875rem;
2143
+ --cardtitle-fs: 1.125rem;
2144
+ }
2145
+
2146
+ .card.card-lg {
2147
+ --card-p: 2rem;
2148
+ --card-fs: 1rem;
2149
+ --cardtitle-fs: 1.25rem;
2150
+ }
2151
+
2152
+ .card.card-xl {
2153
+ --card-p: 2.5rem;
2154
+ --card-fs: 1.125rem;
2155
+ --cardtitle-fs: 1.375rem;
2156
+ }
2157
+
2158
+ .card.card-side {
2159
+ align-items: stretch;
2160
+ flex-direction: row;
2161
+ }
2162
+
2163
+ .card.card-side :where(figure:first-child) {
2164
+ border-end-end-radius: unset;
2165
+ border-end-start-radius: inherit;
2166
+ border-start-end-radius: unset;
2167
+ border-start-start-radius: inherit;
2168
+ }
2169
+
2170
+ .card.card-side :where(figure:last-child) {
2171
+ border-end-end-radius: inherit;
2172
+ border-end-start-radius: unset;
2173
+ border-start-end-radius: inherit;
2174
+ border-start-start-radius: unset;
2175
+ }
2176
+
2177
+ .card.card-side :where(figure > *) {
2178
+ height: 100%;
2179
+ object-fit: cover;
2180
+ width: 100%;
2181
+ }
2182
+
2183
+ .card.card-side-xs {
2184
+ align-items: stretch;
2185
+ flex-direction: row;
2186
+ }
2187
+
2188
+ .card.card-side-xs :where(figure:first-child) {
2189
+ border-end-end-radius: unset;
2190
+ border-end-start-radius: inherit;
2191
+ border-start-end-radius: unset;
2192
+ border-start-start-radius: inherit;
2193
+ }
2194
+
2195
+ .card.card-side-xs :where(figure:last-child) {
2196
+ border-end-end-radius: inherit;
2197
+ border-end-start-radius: unset;
2198
+ border-start-end-radius: inherit;
2199
+ border-start-start-radius: unset;
2200
+ }
2201
+
2202
+ .card.card-side-xs :where(figure > *) {
2203
+ height: 100%;
2204
+ object-fit: cover;
2205
+ width: 100%;
2206
+ }
2207
+
2208
+ @media (min-width: 640px) {
2209
+ .card.card-side-sm {
2210
+ align-items: stretch;
2211
+ flex-direction: row;
2212
+ }
2213
+
2214
+ .card.card-side-sm :where(figure:first-child) {
2215
+ border-end-end-radius: unset;
2216
+ border-end-start-radius: inherit;
2217
+ border-start-end-radius: unset;
2218
+ border-start-start-radius: inherit;
2219
+ }
2220
+
2221
+ .card.card-side-sm :where(figure:last-child) {
2222
+ border-end-end-radius: inherit;
2223
+ border-end-start-radius: unset;
2224
+ border-start-end-radius: inherit;
2225
+ border-start-start-radius: unset;
2226
+ }
2227
+
2228
+ .card.card-side-sm :where(figure > *) {
2229
+ height: 100%;
2230
+ object-fit: cover;
2231
+ width: 100%;
2232
+ }
2233
+ }
2234
+
2235
+ @media (min-width: 768px) {
2236
+ .card.card-side-md {
2237
+ align-items: stretch;
2238
+ flex-direction: row;
2239
+ }
2240
+
2241
+ .card.card-side-md :where(figure:first-child) {
2242
+ border-end-end-radius: unset;
2243
+ border-end-start-radius: inherit;
2244
+ border-start-end-radius: unset;
2245
+ border-start-start-radius: inherit;
2246
+ }
2247
+
2248
+ .card.card-side-md :where(figure:last-child) {
2249
+ border-end-end-radius: inherit;
2250
+ border-end-start-radius: unset;
2251
+ border-start-end-radius: inherit;
2252
+ border-start-start-radius: unset;
2253
+ }
2254
+
2255
+ .card.card-side-md :where(figure > *) {
2256
+ height: 100%;
2257
+ object-fit: cover;
2258
+ width: 100%;
2259
+ }
2260
+ }
2261
+
2262
+ @media (min-width: 1024px) {
2263
+ .card.card-side-lg {
2264
+ align-items: stretch;
2265
+ flex-direction: row;
2266
+ }
2267
+
2268
+ .card.card-side-lg :where(figure:first-child) {
2269
+ border-end-end-radius: unset;
2270
+ border-end-start-radius: inherit;
2271
+ border-start-end-radius: unset;
2272
+ border-start-start-radius: inherit;
2273
+ }
2274
+
2275
+ .card.card-side-lg :where(figure:last-child) {
2276
+ border-end-end-radius: inherit;
2277
+ border-end-start-radius: unset;
2278
+ border-start-end-radius: inherit;
2279
+ border-start-start-radius: unset;
2280
+ }
2281
+
2282
+ .card.card-side-lg :where(figure > *) {
2283
+ height: 100%;
2284
+ object-fit: cover;
2285
+ width: 100%;
2286
+ }
2287
+ }
2288
+
2289
+ .tooltip {
2290
+ --tt-bg: var(--color-neutral);
2291
+ --tt-content: var(--color-neutral-content);
2292
+ --tt-off: calc(100% + 0.5rem);
2293
+ --tt-tail: calc(100% + 1px + 0.25rem);
2294
+ display: inline-block;
2295
+ position: relative;
2296
+ }
2297
+
2298
+ .tooltip::before {
2299
+ background-color: var(--tt-bg);
2300
+ border-radius: var(--radius-field, 0.5rem);
2301
+ color: var(--tt-content);
2302
+ content: attr(data-tip);
2303
+ font-size: 0.875rem;
2304
+ line-height: 1.25;
2305
+ max-width: 20rem;
2306
+ opacity: 0;
2307
+ padding-block: 0.25rem;
2308
+ padding-inline: 0.5rem;
2309
+ pointer-events: none;
2310
+ position: absolute;
2311
+ text-align: center;
2312
+ transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
2313
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;
2314
+ white-space: normal;
2315
+ width: max-content;
2316
+ z-index: 1;
2317
+ }
2318
+
2319
+ .tooltip::after {
2320
+ background-color: var(--tt-bg);
2321
+ content: "";
2322
+ height: 0.25rem;
2323
+ mask-image: var(--mask-tooltip, url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E"));
2324
+ mask-position: -1px 0;
2325
+ mask-repeat: no-repeat;
2326
+ opacity: 0;
2327
+ pointer-events: none;
2328
+ position: absolute;
2329
+ transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
2330
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;
2331
+ width: 0.625rem;
2332
+ z-index: 1;
2333
+ }
2334
+
2335
+ .tooltip::before,
2336
+ .tooltip.tooltip-top::before {
2337
+ inset: auto auto var(--tt-off) 50%;
2338
+ }
2339
+
2340
+ .tooltip::after,
2341
+ .tooltip.tooltip-top::after {
2342
+ inset: auto auto var(--tt-tail) 50%;
2343
+ }
2344
+
2345
+ .tooltip.tooltip-bottom::before {
2346
+ inset: var(--tt-off) auto auto 50%;
2347
+ transform: translateX(-50%) translateY(var(--tt-pos, -0.25rem));
2348
+ }
2349
+
2350
+ .tooltip.tooltip-bottom::after {
2351
+ inset: var(--tt-tail) auto auto 50%;
2352
+ transform: translateX(-50%) translateY(var(--tt-pos, -0.25rem)) rotate(180deg);
2353
+ }
2354
+
2355
+ .tooltip.tooltip-left::before {
2356
+ inset: 50% var(--tt-off) auto auto;
2357
+ transform: translateX(calc(var(--tt-pos, 0.25rem) - 0.25rem)) translateY(-50%);
2358
+ }
2359
+
2360
+ .tooltip.tooltip-left::after {
2361
+ inset: 50% calc(var(--tt-tail) + 1px) auto auto;
2362
+ transform: translateX(var(--tt-pos, 0.25rem)) translateY(-50%) rotate(-90deg);
2363
+ }
2364
+
2365
+ .tooltip.tooltip-right::before {
2366
+ inset: 50% auto auto var(--tt-off);
2367
+ transform: translateX(calc(var(--tt-pos, -0.25rem) + 0.25rem)) translateY(-50%);
2368
+ }
2369
+
2370
+ .tooltip.tooltip-right::after {
2371
+ inset: 50% auto auto calc(var(--tt-tail) + 1px);
2372
+ transform: translateX(var(--tt-pos, -0.25rem)) translateY(-50%) rotate(90deg);
2373
+ }
2374
+
2375
+ .tooltip.tooltip-open::before,
2376
+ .tooltip.tooltip-open::after,
2377
+ .tooltip[data-tip]:not([data-tip=""]):hover::before,
2378
+ .tooltip[data-tip]:not([data-tip=""]):hover::after,
2379
+ .tooltip:focus-within::before,
2380
+ .tooltip:focus-within::after {
2381
+ --tt-pos: 0rem;
2382
+ opacity: 1;
2383
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
2384
+ }
2385
+
2386
+ .tooltip.tooltip-primary {
2387
+ --tt-bg: var(--color-primary);
2388
+ --tt-content: var(--color-primary-content);
2389
+ }
2390
+
2391
+ .tooltip.tooltip-secondary {
2392
+ --tt-bg: var(--color-secondary);
2393
+ --tt-content: var(--color-secondary-content);
2394
+ }
2395
+
2396
+ .tooltip.tooltip-accent {
2397
+ --tt-bg: var(--color-accent);
2398
+ --tt-content: var(--color-accent-content);
2399
+ }
2400
+
2401
+ .tooltip.tooltip-info {
2402
+ --tt-bg: var(--color-info);
2403
+ --tt-content: var(--color-info-content);
2404
+ }
2405
+
2406
+ .tooltip.tooltip-success {
2407
+ --tt-bg: var(--color-success);
2408
+ --tt-content: var(--color-success-content);
2409
+ }
2410
+
2411
+ .tooltip.tooltip-warning {
2412
+ --tt-bg: var(--color-warning);
2413
+ --tt-content: var(--color-warning-content);
2414
+ }
2415
+
2416
+ .tooltip.tooltip-error {
2417
+ --tt-bg: var(--color-error);
2418
+ --tt-content: var(--color-error-content);
2419
+ }
2420
+
2421
+ .collapse:not(td, tr, colgroup) {
2422
+ visibility: visible;
2423
+ }
2424
+
2425
+ .collapse {
2426
+ border-radius: var(--radius-box, 1rem);
2427
+ display: grid;
2428
+ grid-template-rows: max-content 0fr;
2429
+ isolation: isolate;
2430
+ overflow: hidden;
2431
+ position: relative;
2432
+ transition: grid-template-rows 0.2s;
2433
+ width: 100%;
2434
+ }
2435
+
2436
+ .collapse > input:is([type="checkbox"], [type="radio"]) {
2437
+ appearance: none;
2438
+ grid-column-start: 1;
2439
+ grid-row-start: 1;
2440
+ opacity: 0;
2441
+ padding: 1rem;
2442
+ padding-inline-end: 3rem;
2443
+ transition: background-color 0.2s ease-out;
2444
+ width: 100%;
2445
+ z-index: 1;
2446
+ }
2447
+
2448
+ .collapse-title,
2449
+ .collapse-content {
2450
+ grid-column-start: 1;
2451
+ grid-row-start: 1;
2452
+ }
2453
+
2454
+ .collapse-title {
2455
+ min-height: 1lh;
2456
+ padding: 1rem;
2457
+ padding-inline-end: 3rem;
2458
+ position: relative;
2459
+ transition: background-color 0.2s ease-out;
2460
+ width: 100%;
2461
+ }
2462
+
2463
+ .collapse-content {
2464
+ cursor: unset;
2465
+ grid-row-start: 2;
2466
+ min-height: 0;
2467
+ padding-inline: 1rem;
2468
+ transition: visibility 0.2s, padding 0.2s ease-out, background-color 0.2s ease-out;
2469
+ visibility: hidden;
2470
+ }
2471
+
2472
+ .collapse:where([open], :focus:not(.collapse-close)),
2473
+ .collapse:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked),
2474
+ .collapse.collapse-open {
2475
+ grid-template-rows: max-content 1fr;
2476
+ }
2477
+
2478
+ .collapse:where([open], :focus:not(.collapse-close)) > .collapse-content,
2479
+ .collapse:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) > .collapse-content,
2480
+ .collapse.collapse-open > .collapse-content {
2481
+ min-height: fit-content;
2482
+ padding-bottom: 1rem;
2483
+ visibility: visible;
2484
+ }
2485
+
2486
+ .collapse:focus-visible,
2487
+ .collapse:has(> input:is([type="checkbox"], [type="radio"]):focus-visible) {
2488
+ outline: 2px solid var(--color-base-content);
2489
+ outline-offset: 2px;
2490
+ }
2491
+
2492
+ .collapse:not(.collapse-close) > .collapse-title,
2493
+ .collapse:not(.collapse-close) > input[type="checkbox"],
2494
+ .collapse:not(.collapse-close) > input[type="radio"]:not(:checked) {
2495
+ cursor: pointer;
2496
+ }
2497
+
2498
+ .collapse.collapse-arrow > .collapse-title::after {
2499
+ box-shadow: 2px 2px;
2500
+ content: "";
2501
+ height: 0.5rem;
2502
+ inset-inline-end: 1.4rem;
2503
+ pointer-events: none;
2504
+ position: absolute;
2505
+ top: 1.9rem;
2506
+ transform: translateY(-100%) rotate(45deg);
2507
+ transform-origin: 75% 75%;
2508
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
2509
+ width: 0.5rem;
2510
+ }
2511
+
2512
+ .collapse.collapse-arrow:where([open], .collapse-open, :focus:not(.collapse-close)) > .collapse-title::after,
2513
+ .collapse.collapse-arrow:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) > .collapse-title::after {
2514
+ transform: translateY(-50%) rotate(225deg);
2515
+ }
2516
+
2517
+ .collapse.collapse-plus > .collapse-title::after {
2518
+ content: "+";
2519
+ height: 0.5rem;
2520
+ inset-inline-end: 1.4rem;
2521
+ pointer-events: none;
2522
+ position: absolute;
2523
+ top: 0.9rem;
2524
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2525
+ width: 0.5rem;
2526
+ }
2527
+
2528
+ .collapse.collapse-plus:where([open], .collapse-open, :focus:not(.collapse-close)) > .collapse-title::after,
2529
+ .collapse.collapse-plus:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) > .collapse-title::after {
2530
+ content: "−";
2531
+ }
2532
+
2533
+ .collapse:is(details) {
2534
+ width: 100%;
2535
+ }
2536
+
2537
+ .collapse:is(details) summary {
2538
+ display: block;
2539
+ outline: none;
2540
+ position: relative;
2541
+ }
2542
+
2543
+ .collapse:is(details) summary::-webkit-details-marker {
2544
+ display: none;
2545
+ }
2546
+
2547
+ .breadcrumbs {
2548
+ max-width: 100%;
2549
+ overflow-x: auto;
2550
+ padding-block: 0.5rem;
2551
+ }
2552
+
2553
+ .breadcrumbs > menu,
2554
+ .breadcrumbs > ul,
2555
+ .breadcrumbs > ol {
2556
+ align-items: center;
2557
+ display: flex;
2558
+ min-height: min-content;
2559
+ white-space: nowrap;
2560
+ }
2561
+
2562
+ .breadcrumbs > menu > li,
2563
+ .breadcrumbs > ul > li,
2564
+ .breadcrumbs > ol > li {
2565
+ align-items: center;
2566
+ display: flex;
2567
+ }
2568
+
2569
+ .breadcrumbs > menu > li > *,
2570
+ .breadcrumbs > ul > li > *,
2571
+ .breadcrumbs > ol > li > * {
2572
+ align-items: center;
2573
+ cursor: pointer;
2574
+ display: flex;
2575
+ gap: 0.5rem;
2576
+ }
2577
+
2578
+ .breadcrumbs > menu > li > *:hover,
2579
+ .breadcrumbs > ul > li > *:hover,
2580
+ .breadcrumbs > ol > li > *:hover {
2581
+ text-decoration: underline;
2582
+ }
2583
+
2584
+ .breadcrumbs > menu > li + li::before,
2585
+ .breadcrumbs > ul > li + li::before,
2586
+ .breadcrumbs > ol > li + li::before {
2587
+ background-color: #0000;
2588
+ border-right: 1px solid;
2589
+ border-top: 1px solid;
2590
+ content: "";
2591
+ display: block;
2592
+ height: 0.375rem;
2593
+ margin-left: 0.5rem;
2594
+ margin-right: 0.75rem;
2595
+ opacity: 0.4;
2596
+ rotate: 45deg;
2597
+ width: 0.375rem;
2598
+ }
2599
+
2600
+ [dir="rtl"] .breadcrumbs > menu > li + li::before,
2601
+ [dir="rtl"] .breadcrumbs > ul > li + li::before,
2602
+ [dir="rtl"] .breadcrumbs > ol > li + li::before {
2603
+ rotate: -135deg;
2604
+ }
2605
+
2606
+ .navbar {
2607
+ align-items: center;
2608
+ display: flex;
2609
+ min-height: 4rem;
2610
+ padding: 0.5rem;
2611
+ width: 100%;
2612
+ }
2613
+
2614
+ .navbar-start {
2615
+ align-items: center;
2616
+ display: inline-flex;
2617
+ justify-content: flex-start;
2618
+ width: 50%;
2619
+ }
2620
+
2621
+ .navbar-center {
2622
+ align-items: center;
2623
+ display: inline-flex;
2624
+ flex-shrink: 0;
2625
+ }
2626
+
2627
+ .navbar-end {
2628
+ align-items: center;
2629
+ display: inline-flex;
2630
+ justify-content: flex-end;
2631
+ width: 50%;
2632
+ }
2633
+
2634
+ .navbar-stack {
2635
+ display: flex;
2636
+ flex-direction: column;
2637
+ width: 100%;
2638
+ }
2639
+
2640
+ .artboard {
2641
+ background: var(--color-base-100);
2642
+ border-radius: var(--radius-box, 0.75rem);
2643
+ color: var(--color-base-content);
2644
+ display: grid;
2645
+ overflow: hidden;
2646
+ place-items: center;
2647
+ position: relative;
2648
+ }
2649
+
2650
+ .artboard.artboard-demo {
2651
+ box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--color-base-content) 12%, transparent);
2652
+ }
2653
+
2654
+ .artboard.phone-1 {
2655
+ height: 35.5rem;
2656
+ width: 20rem;
2657
+ }
2658
+
2659
+ .artboard.phone-2 {
2660
+ height: 41.75rem;
2661
+ width: 23.5rem;
2662
+ }
2663
+
2664
+ .artboard.phone-3 {
2665
+ height: 45.75rem;
2666
+ width: 25.5rem;
2667
+ }
2668
+
2669
+ .artboard.phone-4 {
2670
+ height: 50rem;
2671
+ width: 28rem;
2672
+ }
2673
+
2674
+ .artboard.phone-5 {
2675
+ height: 55rem;
2676
+ width: 31rem;
2677
+ }
2678
+
2679
+ .artboard.phone-6 {
2680
+ height: 60rem;
2681
+ width: 34rem;
2682
+ }
2683
+
2684
+ .artboard.horizontal.phone-1 {
2685
+ height: 20rem;
2686
+ width: 35.5rem;
2687
+ }
2688
+
2689
+ .artboard.horizontal.phone-2 {
2690
+ height: 23.5rem;
2691
+ width: 41.75rem;
2692
+ }
2693
+
2694
+ .artboard.horizontal.phone-3 {
2695
+ height: 25.5rem;
2696
+ width: 45.75rem;
2697
+ }
2698
+
2699
+ .artboard.horizontal.phone-4 {
2700
+ height: 28rem;
2701
+ width: 50rem;
2702
+ }
2703
+
2704
+ .artboard.horizontal.phone-5 {
2705
+ height: 31rem;
2706
+ width: 55rem;
2707
+ }
2708
+
2709
+ .artboard.horizontal.phone-6 {
2710
+ height: 34rem;
2711
+ width: 60rem;
2712
+ }
2713
+
2714
+ .avatar {
2715
+ display: inline-flex;
2716
+ position: relative;
2717
+ vertical-align: middle;
2718
+ }
2719
+
2720
+ .avatar > div {
2721
+ background: color-mix(in oklch, var(--color-base-content) 10%, var(--color-base-100));
2722
+ border-radius: 9999px;
2723
+ color: var(--color-base-content);
2724
+ display: grid;
2725
+ overflow: hidden;
2726
+ place-items: center;
2727
+ }
2728
+
2729
+ .avatar img {
2730
+ display: block;
2731
+ height: 100%;
2732
+ object-fit: cover;
2733
+ width: 100%;
2734
+ }
2735
+
2736
+ .avatar.avatar-placeholder > div {
2737
+ background: var(--color-neutral);
2738
+ color: var(--color-neutral-content);
2739
+ }
2740
+
2741
+ .avatar.avatar-online::before,
2742
+ .avatar.avatar-offline::before {
2743
+ border: 2px solid var(--color-base-100);
2744
+ border-radius: 9999px;
2745
+ bottom: 0;
2746
+ content: "";
2747
+ height: 0.875rem;
2748
+ position: absolute;
2749
+ right: 0;
2750
+ width: 0.875rem;
2751
+ z-index: 2;
2752
+ }
2753
+
2754
+ .avatar.avatar-online::before {
2755
+ background: var(--color-success);
2756
+ }
2757
+
2758
+ .avatar.avatar-offline::before {
2759
+ background: color-mix(in oklch, var(--color-base-content) 34%, transparent);
2760
+ }
2761
+
2762
+ .avatar-group {
2763
+ align-items: center;
2764
+ display: inline-flex;
2765
+ isolation: isolate;
2766
+ }
2767
+
2768
+ .avatar-group .avatar {
2769
+ position: relative;
2770
+ }
2771
+
2772
+ .mockup-browser {
2773
+ background: var(--color-base-100);
2774
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
2775
+ border-radius: var(--radius-box, 0.75rem);
2776
+ overflow: hidden;
2777
+ }
2778
+
2779
+ .mockup-browser-toolbar {
2780
+ align-items: center;
2781
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
2782
+ border-bottom: 1px solid color-mix(in oklch, var(--color-base-content) 12%, transparent);
2783
+ display: flex;
2784
+ gap: 0.75rem;
2785
+ min-height: 2.5rem;
2786
+ padding: 0.5rem 0.75rem;
2787
+ }
2788
+
2789
+ .mockup-browser-toolbar::before {
2790
+ background:
2791
+ radial-gradient(circle at 0.25rem center, color-mix(in oklch, var(--color-base-content) 40%, transparent) 0.21rem, transparent 0.22rem),
2792
+ radial-gradient(circle at 0.95rem center, color-mix(in oklch, var(--color-base-content) 28%, transparent) 0.21rem, transparent 0.22rem),
2793
+ radial-gradient(circle at 1.65rem center, color-mix(in oklch, var(--color-base-content) 18%, transparent) 0.21rem, transparent 0.22rem);
2794
+ content: "";
2795
+ flex: none;
2796
+ height: 0.5rem;
2797
+ width: 2.2rem;
2798
+ }
2799
+
2800
+ .mockup-browser-toolbar > .input {
2801
+ flex: 1;
2802
+ min-height: 2rem;
2803
+ }
2804
+
2805
+ .mockup-browser-toolbar > .input input {
2806
+ font-size: 0.75rem;
2807
+ line-height: 1rem;
2808
+ opacity: 0.75;
2809
+ }
2810
+
2811
+ .carousel {
2812
+ -ms-overflow-style: none;
2813
+ display: block;
2814
+ overflow: auto;
2815
+ scrollbar-width: none;
2816
+ scroll-behavior: smooth;
2817
+ scroll-snap-type: x mandatory;
2818
+ width: 100%;
2819
+ }
2820
+
2821
+ .carousel::-webkit-scrollbar {
2822
+ display: none;
2823
+ }
2824
+
2825
+ .carousel-content {
2826
+ display: flex;
2827
+ gap: 1rem;
2828
+ min-width: 100%;
2829
+ width: max-content;
2830
+ }
2831
+
2832
+ .carousel-item {
2833
+ flex: none;
2834
+ scroll-snap-align: start;
2835
+ }
2836
+
2837
+ .carousel.carousel-center .carousel-item {
2838
+ scroll-snap-align: center;
2839
+ }
2840
+
2841
+ .carousel.carousel-end .carousel-item {
2842
+ scroll-snap-align: end;
2843
+ }
2844
+
2845
+ .carousel.carousel-vertical {
2846
+ max-height: 100%;
2847
+ scroll-snap-type: y mandatory;
2848
+ }
2849
+
2850
+ .carousel.carousel-vertical .carousel-content {
2851
+ flex-direction: column;
2852
+ }
2853
+
2854
+ .chat {
2855
+ display: grid;
2856
+ gap: 0.25rem;
2857
+ justify-items: start;
2858
+ width: 100%;
2859
+ }
2860
+
2861
+ .chat.chat-end {
2862
+ justify-items: end;
2863
+ }
2864
+
2865
+ .chat-image {
2866
+ align-self: end;
2867
+ }
2868
+
2869
+ .chat-header,
2870
+ .chat-footer {
2871
+ font-size: 0.75rem;
2872
+ line-height: 1rem;
2873
+ opacity: 0.7;
2874
+ }
2875
+
2876
+ .chat-bubble {
2877
+ background: color-mix(in oklch, var(--color-base-content) 8%, var(--color-base-100));
2878
+ border-radius: var(--radius-field, 0.5rem);
2879
+ color: var(--color-base-content);
2880
+ max-width: min(100%, 42rem);
2881
+ padding: 0.625rem 0.875rem;
2882
+ position: relative;
2883
+ }
2884
+
2885
+ .chat-start .chat-bubble {
2886
+ border-end-start-radius: 0.25rem;
2887
+ }
2888
+
2889
+ .chat-end .chat-bubble {
2890
+ border-end-end-radius: 0.25rem;
2891
+ }
2892
+
2893
+ .chat-bubble-neutral {
2894
+ background: var(--color-neutral);
2895
+ color: var(--color-neutral-content);
2896
+ }
2897
+
2898
+ .chat-bubble-primary {
2899
+ background: var(--color-primary);
2900
+ color: var(--color-primary-content);
2901
+ }
2902
+
2903
+ .chat-bubble-secondary {
2904
+ background: var(--color-secondary);
2905
+ color: var(--color-secondary-content);
2906
+ }
2907
+
2908
+ .chat-bubble-accent {
2909
+ background: var(--color-accent);
2910
+ color: var(--color-accent-content);
2911
+ }
2912
+
2913
+ .chat-bubble-info {
2914
+ background: var(--color-info);
2915
+ color: var(--color-info-content);
2916
+ }
2917
+
2918
+ .chat-bubble-success {
2919
+ background: var(--color-success);
2920
+ color: var(--color-success-content);
2921
+ }
2922
+
2923
+ .chat-bubble-warning {
2924
+ background: var(--color-warning);
2925
+ color: var(--color-warning-content);
2926
+ }
2927
+
2928
+ .chat-bubble-error {
2929
+ background: var(--color-error);
2930
+ color: var(--color-error-content);
2931
+ }
2932
+
2933
+ .mockup-code {
2934
+ background: var(--color-neutral);
2935
+ border-radius: var(--radius-box, 0.75rem);
2936
+ color: var(--color-neutral-content);
2937
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
2938
+ font-size: 0.8125rem;
2939
+ line-height: 1.35;
2940
+ overflow: auto;
2941
+ padding: 1rem;
2942
+ }
2943
+
2944
+ .mockup-code pre {
2945
+ align-items: center;
2946
+ display: grid;
2947
+ gap: 0.75rem;
2948
+ grid-template-columns: auto minmax(0, 1fr);
2949
+ margin: 0;
2950
+ min-height: 1.5rem;
2951
+ white-space: pre-wrap;
2952
+ }
2953
+
2954
+ .mockup-code pre::before {
2955
+ content: attr(data-prefix);
2956
+ opacity: 0.5;
2957
+ user-select: none;
2958
+ }
2959
+
2960
+ .mockup-code pre:not([data-prefix])::before,
2961
+ .mockup-code pre[data-prefix=""]::before {
2962
+ content: "";
2963
+ }
2964
+
2965
+ .mockup-code code {
2966
+ min-width: 0;
2967
+ }
2968
+
2969
+ .diff {
2970
+ border-radius: var(--radius-box, 0.75rem);
2971
+ display: grid;
2972
+ isolation: isolate;
2973
+ overflow: hidden;
2974
+ position: relative;
2975
+ }
2976
+
2977
+ .diff-item-1,
2978
+ .diff-item-2,
2979
+ .diff-resizer {
2980
+ grid-area: 1 / 1;
2981
+ }
2982
+
2983
+ .diff-item-1 {
2984
+ clip-path: inset(0 50% 0 0);
2985
+ }
2986
+
2987
+ .diff-item-2 {
2988
+ clip-path: inset(0 0 0 50%);
2989
+ }
2990
+
2991
+ .diff-resizer {
2992
+ align-self: stretch;
2993
+ background: color-mix(in oklch, var(--color-base-content) 32%, transparent);
2994
+ justify-self: center;
2995
+ width: 2px;
2996
+ }
2997
+
2998
+ .dock {
2999
+ --dock-h: 3.5rem;
3000
+ align-items: stretch;
3001
+ background: color-mix(in oklch, var(--color-base-content) 5%, var(--color-base-100));
3002
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
3003
+ border-radius: var(--radius-box, 0.75rem);
3004
+ display: flex;
3005
+ overflow: hidden;
3006
+ }
3007
+
3008
+ .dock > * {
3009
+ align-items: center;
3010
+ display: flex;
3011
+ flex: 1 1 0;
3012
+ flex-direction: column;
3013
+ gap: 0.125rem;
3014
+ justify-content: center;
3015
+ min-height: var(--dock-h);
3016
+ padding: 0.25rem 0.75rem;
3017
+ position: relative;
3018
+ }
3019
+
3020
+ .dock > .active {
3021
+ background: color-mix(in oklch, var(--color-primary) 14%, var(--color-base-100));
3022
+ color: var(--color-primary);
3023
+ }
3024
+
3025
+ .dock > .disabled {
3026
+ opacity: 0.45;
3027
+ pointer-events: none;
3028
+ }
3029
+
3030
+ .dock-label {
3031
+ font-size: 0.6875rem;
3032
+ line-height: 1;
3033
+ opacity: 0.8;
3034
+ }
3035
+
3036
+ .dock.dock-xs {
3037
+ --dock-h: 2.5rem;
3038
+ }
3039
+
3040
+ .dock.dock-sm {
3041
+ --dock-h: 3rem;
3042
+ }
3043
+
3044
+ .dock.dock-md {
3045
+ --dock-h: 3.5rem;
3046
+ }
3047
+
3048
+ .dock.dock-lg {
3049
+ --dock-h: 4rem;
3050
+ }
3051
+
3052
+ .footer {
3053
+ display: grid;
3054
+ gap: 2rem;
3055
+ grid-auto-columns: minmax(0, 1fr);
3056
+ grid-auto-flow: column;
3057
+ }
3058
+
3059
+ .footer.footer-vertical {
3060
+ grid-auto-flow: row;
3061
+ }
3062
+
3063
+ .footer.footer-horizontal {
3064
+ grid-auto-flow: column;
3065
+ }
3066
+
3067
+ .footer.footer-center {
3068
+ place-items: center;
3069
+ text-align: center;
3070
+ }
3071
+
3072
+ .footer-title {
3073
+ font-size: 0.75rem;
3074
+ font-weight: 700;
3075
+ letter-spacing: 0.08em;
3076
+ margin-bottom: 0.5rem;
3077
+ opacity: 0.65;
3078
+ text-transform: uppercase;
3079
+ }
3080
+
3081
+ .hero {
3082
+ border-radius: var(--radius-box, 0.75rem);
3083
+ display: grid;
3084
+ isolation: isolate;
3085
+ overflow: hidden;
3086
+ place-items: center;
3087
+ position: relative;
3088
+ width: 100%;
3089
+ }
3090
+
3091
+ .hero-content {
3092
+ align-items: center;
3093
+ display: grid;
3094
+ gap: 1rem;
3095
+ max-width: 80rem;
3096
+ padding: 2rem;
3097
+ position: relative;
3098
+ z-index: 1;
3099
+ }
3100
+
3101
+ .hero-overlay {
3102
+ background: color-mix(in oklch, var(--color-base-content) 35%, transparent);
3103
+ inset: 0;
3104
+ position: absolute;
3105
+ z-index: 0;
3106
+ }
3107
+
3108
+ .indicator {
3109
+ display: inline-flex;
3110
+ position: relative;
3111
+ width: fit-content;
3112
+ }
3113
+
3114
+ .indicator-item {
3115
+ --indicator-left: auto;
3116
+ --indicator-right: 0;
3117
+ --indicator-top: 0;
3118
+ --indicator-x: 50%;
3119
+ --indicator-y: -50%;
3120
+ left: var(--indicator-left);
3121
+ position: absolute;
3122
+ right: var(--indicator-right);
3123
+ top: var(--indicator-top);
3124
+ transform: translate(var(--indicator-x), var(--indicator-y));
3125
+ z-index: 2;
3126
+ }
3127
+
3128
+ .indicator-start {
3129
+ --indicator-left: 0;
3130
+ --indicator-right: auto;
3131
+ --indicator-x: -50%;
3132
+ }
3133
+
3134
+ .indicator-center {
3135
+ --indicator-left: 50%;
3136
+ --indicator-right: auto;
3137
+ --indicator-x: -50%;
3138
+ }
3139
+
3140
+ .indicator-end {
3141
+ --indicator-left: auto;
3142
+ --indicator-right: 0;
3143
+ --indicator-x: 50%;
3144
+ }
3145
+
3146
+ .indicator-top {
3147
+ --indicator-top: 0;
3148
+ --indicator-y: -50%;
3149
+ }
3150
+
3151
+ .indicator-middle {
3152
+ --indicator-top: 50%;
3153
+ --indicator-y: -50%;
3154
+ }
3155
+
3156
+ .indicator-bottom {
3157
+ --indicator-top: 100%;
3158
+ --indicator-y: 50%;
3159
+ }
3160
+
3161
+ .kbd {
3162
+ align-items: center;
3163
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
3164
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 18%, transparent);
3165
+ border-bottom-width: 2px;
3166
+ border-radius: calc(var(--radius-field, 0.5rem) - 0.1rem);
3167
+ box-shadow: 0 1px 0 color-mix(in oklch, var(--color-base-content) 12%, transparent);
3168
+ display: inline-flex;
3169
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
3170
+ font-size: 0.75rem;
3171
+ font-weight: 600;
3172
+ justify-content: center;
3173
+ min-height: 1.5rem;
3174
+ min-width: 1.5rem;
3175
+ padding: 0 0.375rem;
3176
+ vertical-align: middle;
3177
+ }
3178
+
3179
+ .mask {
3180
+ --mask-image: none;
3181
+ background-color: currentColor;
3182
+ display: inline-block;
3183
+ height: 1.5rem;
3184
+ object-fit: cover;
3185
+ vertical-align: middle;
3186
+ width: 1.5rem;
3187
+ -webkit-mask: var(--mask-image) center / contain no-repeat;
3188
+ mask: var(--mask-image) center / contain no-repeat;
3189
+ }
3190
+
3191
+ img.mask {
3192
+ background-color: transparent;
3193
+ }
3194
+
3195
+ .mask-squircle {
3196
+ --mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='8' y='8' width='84' height='84' rx='30' ry='30' fill='black'/%3E%3C/svg%3E");
3197
+ }
3198
+
3199
+ .mask-heart {
3200
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M50 89C22 70 6 51 6 31C6 17 17 6 31 6C39 6 46 10 50 17C54 10 61 6 69 6C83 6 94 17 94 31C94 51 78 70 50 89Z'/%3E%3C/svg%3E\");
3201
+ }
3202
+
3203
+ .mask-hexagon {
3204
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='25,6 75,6 96,50 75,94 25,94 4,50' fill='black'/%3E%3C/svg%3E\");
3205
+ }
3206
+
3207
+ .mask-hexagon-2 {
3208
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,4 93,27 93,73 50,96 7,73 7,27' fill='black'/%3E%3C/svg%3E\");
3209
+ }
3210
+
3211
+ .mask-decagon {
3212
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,3 74,10 90,26 97,50 90,74 74,90 50,97 26,90 10,74 3,50 10,26 26,10' fill='black'/%3E%3C/svg%3E\");
3213
+ }
3214
+
3215
+ .mask-pentagon {
3216
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,4 96,38 78,94 22,94 4,38' fill='black'/%3E%3C/svg%3E\");
3217
+ }
3218
+
3219
+ .mask-diamond {
3220
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,3 97,50 50,97 3,50' fill='black'/%3E%3C/svg%3E\");
3221
+ }
3222
+
3223
+ .mask-square {
3224
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='6' y='6' width='88' height='88' fill='black'/%3E%3C/svg%3E\");
3225
+ }
3226
+
3227
+ .mask-circle {
3228
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='47' fill='black'/%3E%3C/svg%3E\");
3229
+ }
3230
+
3231
+ .mask-star {
3232
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,4 62,36 96,36 68,56 78,92 50,72 22,92 32,56 4,36 38,36' fill='black'/%3E%3C/svg%3E\");
3233
+ }
3234
+
3235
+ .mask-star-2 {
3236
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,2 58,31 86,14 69,42 98,50 69,58 86,86 58,69 50,98 42,69 14,86 31,58 2,50 31,42 14,14 42,31' fill='black'/%3E%3C/svg%3E\");
3237
+ }
3238
+
3239
+ .mask-triangle {
3240
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,6 96,90 4,90' fill='black'/%3E%3C/svg%3E\");
3241
+ }
3242
+
3243
+ .mask-triangle-2 {
3244
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='8,10 94,50 8,90' fill='black'/%3E%3C/svg%3E\");
3245
+ }
3246
+
3247
+ .mask-triangle-3 {
3248
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='6,50 90,6 90,94' fill='black'/%3E%3C/svg%3E\");
3249
+ }
3250
+
3251
+ .mask-triangle-4 {
3252
+ --mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,94 4,10 96,10' fill='black'/%3E%3C/svg%3E\");
3253
+ }
3254
+
3255
+ .mask-half-1,
3256
+ .mask-half-2 {
3257
+ -webkit-mask-size: 200% 100%;
3258
+ mask-size: 200% 100%;
3259
+ }
3260
+
3261
+ .mask-half-1 {
3262
+ -webkit-mask-position: left center;
3263
+ mask-position: left center;
3264
+ }
3265
+
3266
+ .mask-half-2 {
3267
+ -webkit-mask-position: right center;
3268
+ mask-position: right center;
3269
+ }
3270
+
3271
+ .mockup-phone {
3272
+ background: var(--color-neutral);
3273
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 24%, transparent);
3274
+ border-radius: 2.5rem;
3275
+ box-shadow: 0 16px 40px color-mix(in oklch, var(--color-base-content) 25%, transparent);
3276
+ display: inline-flex;
3277
+ padding: 0.6rem;
3278
+ position: relative;
3279
+ }
3280
+
3281
+ .mockup-phone-camera {
3282
+ background: color-mix(in oklch, black 80%, var(--color-neutral));
3283
+ border-radius: 9999px;
3284
+ height: 0.65rem;
3285
+ left: 50%;
3286
+ position: absolute;
3287
+ top: 0.85rem;
3288
+ transform: translateX(-50%);
3289
+ width: 4.4rem;
3290
+ z-index: 2;
3291
+ }
3292
+
3293
+ .mockup-phone-display {
3294
+ background: var(--color-base-100);
3295
+ border-radius: 1.95rem;
3296
+ overflow: hidden;
3297
+ position: relative;
3298
+ z-index: 1;
3299
+ }
3300
+
3301
+ .mockup-phone-display > .artboard {
3302
+ border-radius: 0;
3303
+ }
3304
+
3305
+ .progress {
3306
+ --progress-color: var(--color-primary);
3307
+ appearance: none;
3308
+ background: color-mix(in oklch, var(--color-base-content) 14%, transparent);
3309
+ border: 0;
3310
+ border-radius: 9999px;
3311
+ color: var(--progress-color);
3312
+ height: 0.55rem;
3313
+ overflow: hidden;
3314
+ width: 100%;
3315
+ }
3316
+
3317
+ .progress::-webkit-progress-bar {
3318
+ background: color-mix(in oklch, var(--color-base-content) 14%, transparent);
3319
+ border-radius: 9999px;
3320
+ }
3321
+
3322
+ .progress::-webkit-progress-value {
3323
+ background: currentColor;
3324
+ border-radius: 9999px;
3325
+ transition: width 0.2s ease;
3326
+ }
3327
+
3328
+ .progress::-moz-progress-bar {
3329
+ background: currentColor;
3330
+ border-radius: 9999px;
3331
+ transition: width 0.2s ease;
3332
+ }
3333
+
3334
+ .progress.progress-primary {
3335
+ --progress-color: var(--color-primary);
3336
+ }
3337
+
3338
+ .progress.progress-secondary {
3339
+ --progress-color: var(--color-secondary);
3340
+ }
3341
+
3342
+ .progress.progress-accent {
3343
+ --progress-color: var(--color-accent);
3344
+ }
3345
+
3346
+ .progress.progress-info {
3347
+ --progress-color: var(--color-info);
3348
+ }
3349
+
3350
+ .progress.progress-success {
3351
+ --progress-color: var(--color-success);
3352
+ }
3353
+
3354
+ .progress.progress-warning {
3355
+ --progress-color: var(--color-warning);
3356
+ }
3357
+
3358
+ .progress.progress-error {
3359
+ --progress-color: var(--color-error);
3360
+ }
3361
+
3362
+ .progress.progress-ghost {
3363
+ --progress-color: color-mix(in oklch, var(--color-base-content) 48%, transparent);
3364
+ }
3365
+
3366
+ .radial-progress {
3367
+ --size: 4rem;
3368
+ --thickness: 4px;
3369
+ --value: 0;
3370
+ background:
3371
+ radial-gradient(farthest-side, var(--color-base-100) calc(100% - var(--thickness)), #0000 calc(100% - var(--thickness) + 1px)),
3372
+ conic-gradient(currentColor calc(var(--value) * 1%), color-mix(in oklch, var(--color-base-content) 14%, transparent) 0);
3373
+ border-radius: 9999px;
3374
+ display: inline-grid;
3375
+ height: var(--size);
3376
+ place-content: center;
3377
+ position: relative;
3378
+ width: var(--size);
3379
+ }
3380
+
3381
+ .rating {
3382
+ align-items: center;
3383
+ display: inline-flex;
3384
+ gap: 0.25rem;
3385
+ }
3386
+
3387
+ .rating .mask {
3388
+ height: 1.5rem;
3389
+ opacity: 0.35;
3390
+ transition: opacity 0.15s ease, transform 0.15s ease;
3391
+ width: 1.5rem;
3392
+ }
3393
+
3394
+ .rating input.mask {
3395
+ appearance: none;
3396
+ border: 0;
3397
+ cursor: pointer;
3398
+ }
3399
+
3400
+ .rating input.mask:hover {
3401
+ opacity: 0.8;
3402
+ transform: scale(1.06);
3403
+ }
3404
+
3405
+ .rating input.mask:checked,
3406
+ .rating input.mask:focus-visible {
3407
+ opacity: 1;
3408
+ }
3409
+
3410
+ .rating .rating-hidden {
3411
+ display: none;
3412
+ }
3413
+
3414
+ .rating.rating-xs .mask {
3415
+ height: 1rem;
3416
+ width: 1rem;
3417
+ }
3418
+
3419
+ .rating.rating-sm .mask {
3420
+ height: 1.25rem;
3421
+ width: 1.25rem;
3422
+ }
3423
+
3424
+ .rating.rating-md .mask {
3425
+ height: 1.5rem;
3426
+ width: 1.5rem;
3427
+ }
3428
+
3429
+ .rating.rating-lg .mask {
3430
+ height: 1.75rem;
3431
+ width: 1.75rem;
3432
+ }
3433
+
3434
+ .rating.rating-xl .mask {
3435
+ height: 2rem;
3436
+ width: 2rem;
3437
+ }
3438
+
3439
+ .rating.rating-half .mask {
3440
+ width: 0.75rem;
3441
+ }
3442
+
3443
+ .skeleton {
3444
+ background: color-mix(in oklch, var(--color-base-content) 12%, var(--color-base-100));
3445
+ border-radius: var(--radius-field, 0.5rem);
3446
+ overflow: hidden;
3447
+ position: relative;
3448
+ }
3449
+
3450
+ .skeleton::after {
3451
+ animation: daisy-skeleton-shimmer 1.4s ease-in-out infinite;
3452
+ background: linear-gradient(90deg, transparent, color-mix(in oklch, white 45%, transparent), transparent);
3453
+ content: "";
3454
+ inset: 0;
3455
+ position: absolute;
3456
+ transform: translateX(-100%);
3457
+ }
3458
+
3459
+ @keyframes daisy-skeleton-shimmer {
3460
+ 100% {
3461
+ transform: translateX(100%);
3462
+ }
3463
+ }
3464
+
3465
+ .stack {
3466
+ --stack-x: 0;
3467
+ --stack-y: -0.5rem;
3468
+ display: inline-grid;
3469
+ place-items: center;
3470
+ position: relative;
3471
+ }
3472
+
3473
+ .stack > * {
3474
+ grid-area: 1 / 1;
3475
+ transition: transform 0.2s ease;
3476
+ }
3477
+
3478
+ .stack > *:nth-child(1) {
3479
+ z-index: 3;
3480
+ }
3481
+
3482
+ .stack > *:nth-child(2) {
3483
+ transform: translate(var(--stack-x), var(--stack-y)) scale(0.97);
3484
+ z-index: 2;
3485
+ }
3486
+
3487
+ .stack > *:nth-child(3) {
3488
+ transform: translate(calc(var(--stack-x) * 2), calc(var(--stack-y) * 2)) scale(0.94);
3489
+ z-index: 1;
3490
+ }
3491
+
3492
+ .stack.stack-start {
3493
+ --stack-x: -0.5rem;
3494
+ --stack-y: 0;
3495
+ }
3496
+
3497
+ .stack.stack-end {
3498
+ --stack-x: 0.5rem;
3499
+ --stack-y: 0;
3500
+ }
3501
+
3502
+ .stack.stack-top {
3503
+ --stack-x: 0;
3504
+ --stack-y: -0.5rem;
3505
+ }
3506
+
3507
+ .stack.stack-bottom {
3508
+ --stack-x: 0;
3509
+ --stack-y: 0.5rem;
3510
+ }
3511
+
3512
+ .stack.stack-reverse {
3513
+ --stack-y: 0.5rem;
3514
+ }
3515
+
3516
+ .stats {
3517
+ background: var(--color-base-100);
3518
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 12%, transparent);
3519
+ border-radius: var(--radius-box, 0.75rem);
3520
+ display: inline-grid;
3521
+ grid-auto-flow: column;
3522
+ overflow: hidden;
3523
+ }
3524
+
3525
+ .stats.stats-vertical {
3526
+ grid-auto-flow: row;
3527
+ }
3528
+
3529
+ .stat {
3530
+ align-content: start;
3531
+ display: grid;
3532
+ gap: 0.25rem;
3533
+ min-width: 10rem;
3534
+ padding: 1rem 1.25rem;
3535
+ }
3536
+
3537
+ .stats.stats-horizontal .stat + .stat {
3538
+ border-left: 1px solid color-mix(in oklch, var(--color-base-content) 12%, transparent);
3539
+ }
3540
+
3541
+ .stats.stats-vertical .stat + .stat {
3542
+ border-top: 1px solid color-mix(in oklch, var(--color-base-content) 12%, transparent);
3543
+ }
3544
+
3545
+ .stat-title {
3546
+ color: color-mix(in oklch, var(--color-base-content) 68%, transparent);
3547
+ font-size: 0.75rem;
3548
+ text-transform: uppercase;
3549
+ }
3550
+
3551
+ .stat-value {
3552
+ font-size: 1.5rem;
3553
+ font-weight: 700;
3554
+ line-height: 1.1;
3555
+ }
3556
+
3557
+ .stat-desc {
3558
+ color: color-mix(in oklch, var(--color-base-content) 62%, transparent);
3559
+ font-size: 0.8125rem;
3560
+ }
3561
+
3562
+ .stat-figure {
3563
+ margin-bottom: 0.25rem;
3564
+ }
3565
+
3566
+ .stat-actions {
3567
+ margin-top: 0.5rem;
3568
+ }
3569
+
3570
+ .status {
3571
+ --status-color: color-mix(in oklch, var(--color-base-content) 44%, transparent);
3572
+ background: var(--status-color);
3573
+ border-radius: 9999px;
3574
+ display: inline-block;
3575
+ height: 0.75rem;
3576
+ width: 0.75rem;
3577
+ }
3578
+
3579
+ .status.status-neutral {
3580
+ --status-color: var(--color-neutral);
3581
+ }
3582
+
3583
+ .status.status-primary {
3584
+ --status-color: var(--color-primary);
3585
+ }
3586
+
3587
+ .status.status-secondary {
3588
+ --status-color: var(--color-secondary);
3589
+ }
3590
+
3591
+ .status.status-accent {
3592
+ --status-color: var(--color-accent);
3593
+ }
3594
+
3595
+ .status.status-info {
3596
+ --status-color: var(--color-info);
3597
+ }
3598
+
3599
+ .status.status-success {
3600
+ --status-color: var(--color-success);
3601
+ }
3602
+
3603
+ .status.status-warning {
3604
+ --status-color: var(--color-warning);
3605
+ }
3606
+
3607
+ .status.status-error {
3608
+ --status-color: var(--color-error);
3609
+ }
3610
+
3611
+ .status.status-ghost {
3612
+ --status-color: color-mix(in oklch, var(--color-base-content) 35%, transparent);
3613
+ }
3614
+
3615
+ .status.status-xs {
3616
+ height: 0.375rem;
3617
+ width: 0.375rem;
3618
+ }
3619
+
3620
+ .status.status-sm {
3621
+ height: 0.5rem;
3622
+ width: 0.5rem;
3623
+ }
3624
+
3625
+ .status.status-md {
3626
+ height: 0.75rem;
3627
+ width: 0.75rem;
3628
+ }
3629
+
3630
+ .status.status-lg {
3631
+ height: 1rem;
3632
+ width: 1rem;
3633
+ }
3634
+
3635
+ .status.status-xl {
3636
+ height: 1.25rem;
3637
+ width: 1.25rem;
3638
+ }
3639
+
3640
+ .steps {
3641
+ --step-size: 1.6rem;
3642
+ align-items: flex-start;
3643
+ display: flex;
3644
+ gap: 0;
3645
+ list-style: none;
3646
+ margin: 0;
3647
+ padding: 0;
3648
+ width: 100%;
3649
+ }
3650
+
3651
+ .steps.steps-vertical {
3652
+ flex-direction: column;
3653
+ width: auto;
3654
+ }
3655
+
3656
+ .steps.steps-horizontal {
3657
+ flex-direction: row;
3658
+ }
3659
+
3660
+ .step {
3661
+ align-items: center;
3662
+ color: color-mix(in oklch, var(--color-base-content) 58%, transparent);
3663
+ display: grid;
3664
+ flex: 1 1 0;
3665
+ gap: 0.45rem;
3666
+ justify-items: center;
3667
+ min-width: calc(var(--step-size) + 1rem);
3668
+ position: relative;
3669
+ text-align: center;
3670
+ }
3671
+
3672
+ .step::before {
3673
+ align-items: center;
3674
+ background: color-mix(in oklch, var(--color-base-content) 16%, transparent);
3675
+ border-radius: 9999px;
3676
+ color: var(--color-base-content);
3677
+ content: attr(data-content);
3678
+ display: inline-flex;
3679
+ font-size: 0.75rem;
3680
+ font-weight: 700;
3681
+ height: var(--step-size);
3682
+ justify-content: center;
3683
+ width: var(--step-size);
3684
+ z-index: 1;
3685
+ }
3686
+
3687
+ .step::after {
3688
+ background: color-mix(in oklch, var(--color-base-content) 16%, transparent);
3689
+ content: "";
3690
+ position: absolute;
3691
+ }
3692
+
3693
+ .steps.steps-horizontal .step {
3694
+ padding-inline: 0.25rem;
3695
+ }
3696
+
3697
+ .steps.steps-horizontal .step:not(:last-child)::after {
3698
+ height: 2px;
3699
+ left: calc(50% + (var(--step-size) / 2));
3700
+ right: calc(-50% + (var(--step-size) / 2));
3701
+ top: calc((var(--step-size) / 2) - 1px);
3702
+ }
3703
+
3704
+ .steps.steps-horizontal .step:last-child::after {
3705
+ display: none;
3706
+ }
3707
+
3708
+ .steps.steps-vertical .step {
3709
+ justify-items: start;
3710
+ min-height: calc(var(--step-size) + 1rem);
3711
+ padding-left: calc(var(--step-size) + 0.75rem);
3712
+ }
3713
+
3714
+ .steps.steps-vertical .step::before {
3715
+ left: 0;
3716
+ position: absolute;
3717
+ top: 0;
3718
+ }
3719
+
3720
+ .steps.steps-vertical .step:not(:last-child)::after {
3721
+ height: calc(100% - var(--step-size));
3722
+ left: calc((var(--step-size) / 2) - 1px);
3723
+ top: var(--step-size);
3724
+ width: 2px;
3725
+ }
3726
+
3727
+ .steps.steps-vertical .step:last-child::after {
3728
+ display: none;
3729
+ }
3730
+
3731
+ .step.step-neutral::before,
3732
+ .step.step-neutral::after {
3733
+ background: var(--color-neutral);
3734
+ color: var(--color-neutral-content);
3735
+ }
3736
+
3737
+ .step.step-primary::before,
3738
+ .step.step-primary::after {
3739
+ background: var(--color-primary);
3740
+ color: var(--color-primary-content);
3741
+ }
3742
+
3743
+ .step.step-secondary::before,
3744
+ .step.step-secondary::after {
3745
+ background: var(--color-secondary);
3746
+ color: var(--color-secondary-content);
3747
+ }
3748
+
3749
+ .step.step-accent::before,
3750
+ .step.step-accent::after {
3751
+ background: var(--color-accent);
3752
+ color: var(--color-accent-content);
3753
+ }
3754
+
3755
+ .step.step-info::before,
3756
+ .step.step-info::after {
3757
+ background: var(--color-info);
3758
+ color: var(--color-info-content);
3759
+ }
3760
+
3761
+ .step.step-success::before,
3762
+ .step.step-success::after {
3763
+ background: var(--color-success);
3764
+ color: var(--color-success-content);
3765
+ }
3766
+
3767
+ .step.step-warning::before,
3768
+ .step.step-warning::after {
3769
+ background: var(--color-warning);
3770
+ color: var(--color-warning-content);
3771
+ }
3772
+
3773
+ .step.step-error::before,
3774
+ .step.step-error::after {
3775
+ background: var(--color-error);
3776
+ color: var(--color-error-content);
3777
+ }
3778
+
3779
+ .timeline {
3780
+ display: flex;
3781
+ list-style: none;
3782
+ margin: 0;
3783
+ padding: 0;
3784
+ }
3785
+
3786
+ .timeline.timeline-vertical {
3787
+ flex-direction: column;
3788
+ gap: 0;
3789
+ }
3790
+
3791
+ .timeline.timeline-horizontal {
3792
+ flex-direction: row;
3793
+ overflow-x: auto;
3794
+ width: 100%;
3795
+ }
3796
+
3797
+ .timeline > li {
3798
+ align-items: center;
3799
+ display: grid;
3800
+ gap: 0.75rem;
3801
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
3802
+ position: relative;
3803
+ }
3804
+
3805
+ .timeline.timeline-horizontal > li {
3806
+ grid-template-rows: minmax(0, auto) auto minmax(0, auto);
3807
+ min-width: 12rem;
3808
+ place-items: center;
3809
+ }
3810
+
3811
+ .timeline.timeline-vertical > li {
3812
+ grid-template-columns: minmax(0, auto) auto minmax(0, 1fr);
3813
+ padding: 0.5rem 0;
3814
+ }
3815
+
3816
+ .timeline > li > hr {
3817
+ background: color-mix(in oklch, var(--color-base-content) 16%, transparent);
3818
+ border: 0;
3819
+ }
3820
+
3821
+ .timeline.timeline-horizontal > li > hr {
3822
+ height: 2px;
3823
+ width: 100%;
3824
+ }
3825
+
3826
+ .timeline.timeline-vertical > li > hr {
3827
+ height: 2rem;
3828
+ justify-self: center;
3829
+ width: 2px;
3830
+ }
3831
+
3832
+ .timeline-middle {
3833
+ color: var(--color-primary);
3834
+ display: grid;
3835
+ place-items: center;
3836
+ z-index: 1;
3837
+ }
3838
+
3839
+ .timeline-start {
3840
+ justify-self: end;
3841
+ text-align: end;
3842
+ }
3843
+
3844
+ .timeline-end {
3845
+ justify-self: start;
3846
+ text-align: start;
3847
+ }
3848
+
3849
+ .timeline-box {
3850
+ background: var(--color-base-100);
3851
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
3852
+ border-radius: var(--radius-field, 0.5rem);
3853
+ padding: 0.5rem 0.75rem;
3854
+ }
3855
+
3856
+ .timeline.timeline-compact > li {
3857
+ gap: 0.4rem;
3858
+ }
3859
+
3860
+ .toast {
3861
+ --toast-x: 0;
3862
+ --toast-y: 0;
3863
+ display: flex;
3864
+ flex-direction: column;
3865
+ gap: 0.5rem;
3866
+ max-width: min(100vw, 28rem);
3867
+ pointer-events: none;
3868
+ position: fixed;
3869
+ transform: translate(var(--toast-x), var(--toast-y));
3870
+ z-index: 120;
3871
+ }
3872
+
3873
+ .toast > * {
3874
+ pointer-events: auto;
3875
+ }
3876
+
3877
+ .toast.toast-start {
3878
+ left: 0.75rem;
3879
+ }
3880
+
3881
+ .toast.toast-center {
3882
+ --toast-x: -50%;
3883
+ left: 50%;
3884
+ }
3885
+
3886
+ .toast.toast-end {
3887
+ right: 0.75rem;
3888
+ }
3889
+
3890
+ .toast.toast-top {
3891
+ top: 0.75rem;
3892
+ }
3893
+
3894
+ .toast.toast-middle {
3895
+ --toast-y: -50%;
3896
+ top: 50%;
3897
+ }
3898
+
3899
+ .toast.toast-bottom {
3900
+ bottom: 0.75rem;
3901
+ }
3902
+
3903
+ .mockup-window {
3904
+ background: var(--color-base-200);
3905
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
3906
+ border-radius: var(--radius-box, 0.75rem);
3907
+ overflow: hidden;
3908
+ position: relative;
3909
+ }
3910
+
3911
+ .mockup-window::before {
3912
+ background: color-mix(in oklch, var(--color-base-content) 8%, var(--color-base-100));
3913
+ border-bottom: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
3914
+ content: "";
3915
+ display: block;
3916
+ height: 1.85rem;
3917
+ }
3918
+
3919
+ .mockup-window::after {
3920
+ background: color-mix(in oklch, var(--color-base-content) 38%, transparent);
3921
+ border-radius: 9999px;
3922
+ box-shadow:
3923
+ 0.85rem 0 0 color-mix(in oklch, var(--color-base-content) 28%, transparent),
3924
+ 1.7rem 0 0 color-mix(in oklch, var(--color-base-content) 20%, transparent);
3925
+ content: "";
3926
+ height: 0.5rem;
3927
+ left: 0.75rem;
3928
+ position: absolute;
3929
+ top: 0.67rem;
3930
+ width: 0.5rem;
3931
+ }
3932
+
3933
+ .rounded-box {
3934
+ border-radius: var(--radius-box, 0.75rem);
3935
+ }
3936
+
3937
+ .rounded-field {
3938
+ border-radius: var(--radius-field, 0.5rem);
3939
+ }
3940
+
3941
+ .rounded-btn {
3942
+ border-radius: var(--radius-field, 0.5rem);
3943
+ }
3944
+
3945
+ .bg-primary-focus {
3946
+ background-color: color-mix(in oklch, var(--color-primary) 90%, black);
3947
+ }
3948
+
3949
+ }
3950
+
3951
+ @layer utilities {
3952
+ @media (hover: hover) {
3953
+ .btn.btn:hover {
3954
+ --btn-bg: var(--btn-hover-bg);
3955
+ --btn-color: var(--btn-hover-color);
3956
+ --btn-fg: var(--btn-hover-color);
3957
+ --btn-border: var(--btn-hover-border);
3958
+ }
3959
+ }
3960
+ }