@pathscale/ui 0.0.157 → 0.0.158

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,2517 @@
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
+ .input,
328
+ .select,
329
+ .textarea,
330
+ .file-input {
331
+ --field-bg: var(--color-base-100);
332
+ --field-border: color-mix(in oklch, var(--color-base-content) 18%, transparent);
333
+ --field-color: var(--color-base-content);
334
+ --field-placeholder: color-mix(in oklch, var(--color-base-content) 50%, transparent);
335
+ --field-focus: color-mix(in oklch, var(--color-base-content) 28%, transparent);
336
+ --field-file-bg: color-mix(in oklch, var(--color-base-content) 10%, var(--color-base-100));
337
+ --field-file-color: var(--color-base-content);
338
+ }
339
+
340
+ .input {
341
+ align-items: center;
342
+ background: var(--field-bg);
343
+ border: 1px solid var(--field-border);
344
+ border-radius: var(--radius-field, 0.5rem);
345
+ color: var(--field-color);
346
+ display: inline-flex;
347
+ gap: 0.5rem;
348
+ min-height: 2.5rem;
349
+ padding: 0 0.75rem;
350
+ transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
351
+ width: 100%;
352
+ }
353
+
354
+ .input input {
355
+ background: transparent;
356
+ border: 0;
357
+ color: inherit;
358
+ flex: 1;
359
+ min-width: 0;
360
+ outline: none;
361
+ }
362
+
363
+ .input input::placeholder {
364
+ color: var(--field-placeholder);
365
+ }
366
+
367
+ .input:focus-within {
368
+ border-color: var(--field-focus);
369
+ box-shadow: 0 0 0 2px color-mix(in oklch, var(--field-focus) 22%, transparent);
370
+ }
371
+
372
+ .input:has(input:disabled),
373
+ .input.input-disabled {
374
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
375
+ cursor: not-allowed;
376
+ opacity: 0.65;
377
+ }
378
+
379
+ .input:has(input:disabled) input {
380
+ cursor: not-allowed;
381
+ }
382
+
383
+ .select,
384
+ .textarea,
385
+ .file-input {
386
+ background: var(--field-bg);
387
+ border: 1px solid var(--field-border);
388
+ border-radius: var(--radius-field, 0.5rem);
389
+ color: var(--field-color);
390
+ min-height: 2.5rem;
391
+ transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
392
+ }
393
+
394
+ .select:focus-visible,
395
+ .textarea:focus-visible,
396
+ .file-input:focus-visible {
397
+ border-color: var(--field-focus);
398
+ box-shadow: 0 0 0 2px color-mix(in oklch, var(--field-focus) 22%, transparent);
399
+ outline: none;
400
+ }
401
+
402
+ .select:disabled,
403
+ .textarea:disabled,
404
+ .file-input:disabled {
405
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
406
+ cursor: not-allowed;
407
+ opacity: 0.65;
408
+ }
409
+
410
+ .select {
411
+ appearance: none;
412
+ background-image:
413
+ linear-gradient(45deg, transparent 50%, currentColor 50%),
414
+ linear-gradient(135deg, currentColor 50%, transparent 50%);
415
+ background-position:
416
+ calc(100% - 1rem) calc(50% - 2px),
417
+ calc(100% - 0.7rem) calc(50% - 2px);
418
+ background-repeat: no-repeat;
419
+ background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
420
+ padding: 0 2rem 0 0.75rem;
421
+ width: 100%;
422
+ }
423
+
424
+ .select option {
425
+ background: var(--color-base-100);
426
+ color: var(--color-base-content);
427
+ }
428
+
429
+ .textarea {
430
+ padding: 0.625rem 0.75rem;
431
+ width: 100%;
432
+ }
433
+
434
+ .textarea::placeholder {
435
+ color: var(--field-placeholder);
436
+ }
437
+
438
+ .file-input {
439
+ padding: 0;
440
+ width: 100%;
441
+ }
442
+
443
+ .file-input::file-selector-button {
444
+ background: var(--field-file-bg);
445
+ border: 0;
446
+ border-inline-end: 1px solid var(--field-border);
447
+ color: var(--field-file-color);
448
+ cursor: pointer;
449
+ font-weight: 600;
450
+ height: 100%;
451
+ margin-inline-end: 0.75rem;
452
+ padding: 0 0.875rem;
453
+ transition: background-color 0.15s ease;
454
+ }
455
+
456
+ .file-input:hover::file-selector-button {
457
+ background: color-mix(in oklch, var(--field-file-bg) 85%, black);
458
+ }
459
+
460
+ .file-input:disabled::file-selector-button {
461
+ cursor: not-allowed;
462
+ }
463
+
464
+ .input.input-ghost,
465
+ .select.select-ghost,
466
+ .textarea.textarea-ghost,
467
+ .file-input.file-input-ghost {
468
+ --field-bg: transparent;
469
+ --field-border: transparent;
470
+ }
471
+
472
+ .input.input-bordered,
473
+ .file-input.file-input-bordered {
474
+ --field-border: color-mix(in oklch, var(--color-base-content) 22%, transparent);
475
+ }
476
+
477
+ .input.input-primary,
478
+ .select.select-primary,
479
+ .textarea.textarea-primary,
480
+ .file-input.file-input-primary {
481
+ --field-focus: var(--color-primary);
482
+ --field-border: color-mix(in oklch, var(--color-primary) 35%, var(--color-base-100));
483
+ --field-file-bg: color-mix(in oklch, var(--color-primary) 16%, var(--color-base-100));
484
+ }
485
+
486
+ .input.input-secondary,
487
+ .select.select-secondary,
488
+ .textarea.textarea-secondary,
489
+ .file-input.file-input-secondary {
490
+ --field-focus: var(--color-secondary);
491
+ --field-border: color-mix(in oklch, var(--color-secondary) 35%, var(--color-base-100));
492
+ --field-file-bg: color-mix(in oklch, var(--color-secondary) 16%, var(--color-base-100));
493
+ }
494
+
495
+ .input.input-accent,
496
+ .select.select-accent,
497
+ .textarea.textarea-accent,
498
+ .file-input.file-input-accent {
499
+ --field-focus: var(--color-accent);
500
+ --field-border: color-mix(in oklch, var(--color-accent) 35%, var(--color-base-100));
501
+ --field-file-bg: color-mix(in oklch, var(--color-accent) 16%, var(--color-base-100));
502
+ }
503
+
504
+ .input.input-info,
505
+ .select.select-info,
506
+ .textarea.textarea-info,
507
+ .file-input.file-input-info {
508
+ --field-focus: var(--color-info);
509
+ --field-border: color-mix(in oklch, var(--color-info) 35%, var(--color-base-100));
510
+ --field-file-bg: color-mix(in oklch, var(--color-info) 16%, var(--color-base-100));
511
+ }
512
+
513
+ .input.input-success,
514
+ .select.select-success,
515
+ .textarea.textarea-success,
516
+ .file-input.file-input-success {
517
+ --field-focus: var(--color-success);
518
+ --field-border: color-mix(in oklch, var(--color-success) 35%, var(--color-base-100));
519
+ --field-file-bg: color-mix(in oklch, var(--color-success) 16%, var(--color-base-100));
520
+ }
521
+
522
+ .input.input-warning,
523
+ .select.select-warning,
524
+ .textarea.textarea-warning,
525
+ .file-input.file-input-warning {
526
+ --field-focus: var(--color-warning);
527
+ --field-border: color-mix(in oklch, var(--color-warning) 35%, var(--color-base-100));
528
+ --field-file-bg: color-mix(in oklch, var(--color-warning) 16%, var(--color-base-100));
529
+ }
530
+
531
+ .input.input-error,
532
+ .select.select-error,
533
+ .textarea.textarea-error,
534
+ .file-input.file-input-error {
535
+ --field-focus: var(--color-error);
536
+ --field-border: color-mix(in oklch, var(--color-error) 35%, var(--color-base-100));
537
+ --field-file-bg: color-mix(in oklch, var(--color-error) 16%, var(--color-base-100));
538
+ }
539
+
540
+ .input.input-xs,
541
+ .select.select-xs,
542
+ .textarea.textarea-xs,
543
+ .file-input.file-input-xs {
544
+ font-size: 0.75rem;
545
+ min-height: 1.75rem;
546
+ }
547
+
548
+ .input.input-sm,
549
+ .select.select-sm,
550
+ .textarea.textarea-sm,
551
+ .file-input.file-input-sm {
552
+ font-size: 0.8125rem;
553
+ min-height: 2rem;
554
+ }
555
+
556
+ .input.input-md,
557
+ .select.select-md,
558
+ .textarea.textarea-md,
559
+ .file-input.file-input-md {
560
+ min-height: 2.5rem;
561
+ }
562
+
563
+ .input.input-lg,
564
+ .select.select-lg,
565
+ .textarea.textarea-lg,
566
+ .file-input.file-input-lg {
567
+ font-size: 1rem;
568
+ min-height: 3rem;
569
+ }
570
+
571
+ .input.input-xl,
572
+ .select.select-xl,
573
+ .textarea.textarea-xl,
574
+ .file-input.file-input-xl {
575
+ font-size: 1.125rem;
576
+ min-height: 3.25rem;
577
+ }
578
+
579
+ .checkbox,
580
+ .radio {
581
+ --control-accent: var(--color-primary);
582
+ appearance: none;
583
+ background: var(--color-base-100);
584
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 30%, transparent);
585
+ box-shadow: inset 0 0 0 0 color-mix(in oklch, var(--control-accent) 75%, transparent);
586
+ color: var(--color-base-content);
587
+ cursor: pointer;
588
+ display: inline-block;
589
+ flex-shrink: 0;
590
+ height: 1.25rem;
591
+ transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
592
+ width: 1.25rem;
593
+ }
594
+
595
+ .checkbox {
596
+ --size: calc(var(--size-selector, 0.25rem) * 6);
597
+ --input-color: var(--control-accent);
598
+ --checkbox-content: var(--color-primary-content);
599
+ background-size: auto, calc(var(--noise) * 100%);
600
+ background-image: none, var(--fx-noise);
601
+ box-shadow:
602
+ 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset,
603
+ 0 0 #0000 inset,
604
+ 0 0 #0000;
605
+ height: var(--size);
606
+ padding: 0.25rem;
607
+ position: relative;
608
+ transition: background-color 0.2s, box-shadow 0.2s;
609
+ border-radius: 0.25rem;
610
+ width: var(--size);
611
+ }
612
+
613
+ .checkbox::before {
614
+ background: currentColor;
615
+ box-shadow: 0 3px 0 0 oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
616
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
617
+ content: "";
618
+ display: block;
619
+ font-size: 1rem;
620
+ height: 100%;
621
+ line-height: 0.75;
622
+ opacity: 0;
623
+ rotate: 45deg;
624
+ transition: clip-path 0.3s 0.1s, opacity 0.1s 0.1s, rotate 0.3s 0.1s, translate 0.3s 0.1s;
625
+ width: 100%;
626
+ }
627
+
628
+ .checkbox:checked,
629
+ .checkbox[aria-checked="true"] {
630
+ background-color: var(--input-color, #0000);
631
+ border-color: var(--input-color, color-mix(in oklch, var(--color-base-content) 20%, transparent));
632
+ box-shadow:
633
+ 0 0 #0000 inset,
634
+ 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset,
635
+ 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
636
+ color: var(--checkbox-content);
637
+ }
638
+
639
+ .checkbox:checked::before,
640
+ .checkbox[aria-checked="true"]::before {
641
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
642
+ opacity: 100%;
643
+ }
644
+
645
+ .checkbox:indeterminate,
646
+ .checkbox[aria-checked="mixed"] {
647
+ background: color-mix(in oklch, var(--control-accent) 88%, black);
648
+ border-color: color-mix(in oklch, var(--control-accent) 78%, black);
649
+ box-shadow: inset 0 0 0 999px color-mix(in oklch, var(--control-accent) 88%, black);
650
+ color: var(--color-primary-content);
651
+ }
652
+
653
+ .checkbox:indeterminate::before,
654
+ .checkbox[aria-checked="mixed"]::before {
655
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
656
+ opacity: 1;
657
+ rotate: none;
658
+ translate: 0 -35%;
659
+ }
660
+
661
+ .radio {
662
+ border-radius: 9999px;
663
+ }
664
+
665
+ .radio:checked {
666
+ border-color: color-mix(in oklch, var(--control-accent) 78%, black);
667
+ box-shadow:
668
+ inset 0 0 0 3px var(--color-base-100),
669
+ inset 0 0 0 999px color-mix(in oklch, var(--control-accent) 88%, black);
670
+ }
671
+
672
+ .checkbox:focus-visible,
673
+ .radio:focus-visible {
674
+ outline: 2px solid color-mix(in oklch, var(--control-accent) 55%, transparent);
675
+ outline-offset: 2px;
676
+ }
677
+
678
+ .checkbox:disabled,
679
+ .radio:disabled {
680
+ cursor: not-allowed;
681
+ opacity: 0.5;
682
+ }
683
+
684
+ .checkbox.checkbox-xs,
685
+ .radio.radio-xs {
686
+ height: 0.875rem;
687
+ width: 0.875rem;
688
+ }
689
+
690
+ .checkbox.checkbox-sm,
691
+ .radio.radio-sm {
692
+ height: 1rem;
693
+ width: 1rem;
694
+ }
695
+
696
+ .checkbox.checkbox-md,
697
+ .radio.radio-md {
698
+ height: 1.25rem;
699
+ width: 1.25rem;
700
+ }
701
+
702
+ .checkbox.checkbox-lg,
703
+ .radio.radio-lg {
704
+ height: 1.5rem;
705
+ width: 1.5rem;
706
+ }
707
+
708
+ .checkbox.checkbox-xl,
709
+ .radio.radio-xl {
710
+ height: 1.75rem;
711
+ width: 1.75rem;
712
+ }
713
+
714
+ .checkbox.checkbox-xs {
715
+ --size: calc(var(--size-selector, 0.25rem) * 4);
716
+ padding: 0.125rem;
717
+ }
718
+
719
+ .checkbox.checkbox-sm {
720
+ --size: calc(var(--size-selector, 0.25rem) * 5);
721
+ padding: 0.1875rem;
722
+ }
723
+
724
+ .checkbox.checkbox-md {
725
+ --size: calc(var(--size-selector, 0.25rem) * 6);
726
+ padding: 0.25rem;
727
+ }
728
+
729
+ .checkbox.checkbox-lg {
730
+ --size: calc(var(--size-selector, 0.25rem) * 7);
731
+ padding: 0.3125rem;
732
+ }
733
+
734
+ .checkbox.checkbox-xl {
735
+ --size: calc(var(--size-selector, 0.25rem) * 8);
736
+ padding: 0.375rem;
737
+ }
738
+
739
+ .checkbox.checkbox-neutral {
740
+ --checkbox-content: var(--color-neutral-content);
741
+ --control-accent: var(--color-neutral);
742
+ }
743
+
744
+ .checkbox.checkbox-primary,
745
+ .radio.radio-primary {
746
+ --checkbox-content: var(--color-primary-content);
747
+ --control-accent: var(--color-primary);
748
+ }
749
+
750
+ .checkbox.checkbox-secondary,
751
+ .radio.radio-secondary {
752
+ --checkbox-content: var(--color-secondary-content);
753
+ --control-accent: var(--color-secondary);
754
+ }
755
+
756
+ .checkbox.checkbox-accent,
757
+ .radio.radio-accent {
758
+ --checkbox-content: var(--color-accent-content);
759
+ --control-accent: var(--color-accent);
760
+ }
761
+
762
+ .checkbox.checkbox-info,
763
+ .radio.radio-info {
764
+ --checkbox-content: var(--color-info-content);
765
+ --control-accent: var(--color-info);
766
+ }
767
+
768
+ .checkbox.checkbox-success,
769
+ .radio.radio-success {
770
+ --checkbox-content: var(--color-success-content);
771
+ --control-accent: var(--color-success);
772
+ }
773
+
774
+ .checkbox.checkbox-warning,
775
+ .radio.radio-warning {
776
+ --checkbox-content: var(--color-warning-content);
777
+ --control-accent: var(--color-warning);
778
+ }
779
+
780
+ .checkbox.checkbox-error,
781
+ .radio.radio-error {
782
+ --checkbox-content: var(--color-error-content);
783
+ --control-accent: var(--color-error);
784
+ }
785
+
786
+ .range {
787
+ -webkit-appearance: none;
788
+ appearance: none;
789
+ --range-thumb: var(--color-base-100);
790
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
791
+ --range-progress: currentColor;
792
+ --range-fill: 1;
793
+ --range-p: 0.25rem;
794
+ --range-bg: color-mix(in oklab, currentColor 10%, #0000);
795
+ --radius-selector-max: calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));
796
+ background-color: #0000;
797
+ border: none;
798
+ border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
799
+ color: var(--color-primary);
800
+ cursor: pointer;
801
+ height: var(--range-thumb-size);
802
+ overflow: hidden;
803
+ vertical-align: middle;
804
+ width: clamp(3rem, 20rem, 100%);
805
+ }
806
+
807
+ [dir="rtl"] .range {
808
+ --range-dir: -1;
809
+ }
810
+
811
+ .range:focus {
812
+ outline: none;
813
+ }
814
+
815
+ .range:focus-visible {
816
+ outline: 2px solid;
817
+ outline-offset: 2px;
818
+ }
819
+
820
+ .range::-webkit-slider-runnable-track {
821
+ background-color: var(--range-bg);
822
+ border-radius: var(--radius-selector);
823
+ height: calc(var(--range-thumb-size) * 0.5);
824
+ width: 100%;
825
+ }
826
+
827
+ .range::-webkit-slider-thumb {
828
+ box-sizing: border-box;
829
+ border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
830
+ height: var(--range-thumb-size);
831
+ width: var(--range-thumb-size);
832
+ border: var(--range-p) solid;
833
+ -webkit-appearance: none;
834
+ appearance: none;
835
+ color: var(--range-progress);
836
+ box-shadow:
837
+ 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset,
838
+ 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset,
839
+ 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000),
840
+ 0 0 0 2rem var(--range-thumb) inset,
841
+ calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2))
842
+ 0
843
+ 0
844
+ calc(100rem * var(--range-fill));
845
+ background-color: currentColor;
846
+ position: relative;
847
+ top: 50%;
848
+ transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
849
+ transform: translateY(-50%);
850
+ }
851
+
852
+ .range::-moz-range-track {
853
+ background-color: var(--range-bg);
854
+ border-radius: var(--radius-selector);
855
+ height: calc(var(--range-thumb-size) * 0.5);
856
+ width: 100%;
857
+ }
858
+
859
+ .range::-moz-range-thumb {
860
+ box-sizing: border-box;
861
+ border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
862
+ height: var(--range-thumb-size);
863
+ width: var(--range-thumb-size);
864
+ border: var(--range-p) solid;
865
+ color: var(--range-progress);
866
+ box-shadow:
867
+ 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset,
868
+ 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset,
869
+ 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000),
870
+ 0 0 0 2rem var(--range-thumb) inset,
871
+ calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2))
872
+ 0
873
+ 0
874
+ calc(100rem * var(--range-fill));
875
+ background-color: currentColor;
876
+ position: relative;
877
+ top: 50%;
878
+ transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
879
+ }
880
+
881
+ .range:active::-webkit-slider-thumb {
882
+ transform: translateY(-50%) scale(1.03);
883
+ }
884
+
885
+ .range:active::-moz-range-thumb {
886
+ transform: scale(1.03);
887
+ }
888
+
889
+ .range:disabled {
890
+ cursor: not-allowed;
891
+ opacity: 0.3;
892
+ }
893
+
894
+ .range.range-xs {
895
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 4);
896
+ }
897
+
898
+ .range.range-sm {
899
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 5);
900
+ }
901
+
902
+ .range.range-md {
903
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
904
+ }
905
+
906
+ .range.range-lg {
907
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 7);
908
+ }
909
+
910
+ .range.range-xl {
911
+ --range-thumb-size: calc(var(--size-selector, 0.25rem) * 8);
912
+ }
913
+
914
+ .range.range-neutral {
915
+ --range-thumb: var(--color-neutral-content);
916
+ color: var(--color-neutral);
917
+ }
918
+
919
+ .range.range-primary {
920
+ --range-thumb: var(--color-primary-content);
921
+ color: var(--color-primary);
922
+ }
923
+
924
+ .range.range-secondary {
925
+ --range-thumb: var(--color-secondary-content);
926
+ color: var(--color-secondary);
927
+ }
928
+
929
+ .range.range-accent {
930
+ --range-thumb: var(--color-accent-content);
931
+ color: var(--color-accent);
932
+ }
933
+
934
+ .range.range-info {
935
+ --range-thumb: var(--color-info-content);
936
+ color: var(--color-info);
937
+ }
938
+
939
+ .range.range-success {
940
+ --range-thumb: var(--color-success-content);
941
+ color: var(--color-success);
942
+ }
943
+
944
+ .range.range-warning {
945
+ --range-thumb: var(--color-warning-content);
946
+ color: var(--color-warning);
947
+ }
948
+
949
+ .range.range-error {
950
+ --range-thumb: var(--color-error-content);
951
+ color: var(--color-error);
952
+ }
953
+
954
+ .menu {
955
+ background: var(--color-base-100);
956
+ border-radius: var(--radius-box, 0.75rem);
957
+ color: var(--color-base-content);
958
+ display: flex;
959
+ flex-direction: column;
960
+ gap: 0.125rem;
961
+ list-style: none;
962
+ margin: 0;
963
+ padding: 0.375rem;
964
+ }
965
+
966
+ .menu :where(li) {
967
+ list-style: none;
968
+ margin: 0;
969
+ padding: 0;
970
+ }
971
+
972
+ .menu :where(li > *) {
973
+ align-items: center;
974
+ border-radius: calc(var(--radius-field, 0.5rem) - 2px);
975
+ color: inherit;
976
+ display: flex;
977
+ gap: 0.5rem;
978
+ min-height: 2.25rem;
979
+ padding: 0.5rem 0.625rem;
980
+ text-decoration: none;
981
+ }
982
+
983
+ .menu :where(li > *:hover) {
984
+ background: color-mix(in oklch, var(--color-base-content) 10%, transparent);
985
+ }
986
+
987
+ .menu :where(li.menu-focus > *),
988
+ .menu :where(li > *.menu-focus),
989
+ .menu :where(li > *:focus-visible) {
990
+ background: color-mix(in oklch, var(--color-base-content) 12%, transparent);
991
+ }
992
+
993
+ .menu :where(li > *.menu-active),
994
+ .menu :where(li.menu-active > *),
995
+ .menu :where(li > *.active) {
996
+ background: color-mix(in oklch, var(--color-primary) 85%, var(--color-base-100));
997
+ color: var(--color-primary-content);
998
+ }
999
+
1000
+ .menu :where(li > *.menu-disabled),
1001
+ .menu :where(li.menu-disabled > *),
1002
+ .menu :where(li > *:disabled),
1003
+ .menu :where(li[aria-disabled="true"] > *) {
1004
+ cursor: not-allowed;
1005
+ opacity: 0.5;
1006
+ pointer-events: none;
1007
+ }
1008
+
1009
+ .menu :where(.menu-dropdown-toggle) {
1010
+ cursor: pointer;
1011
+ user-select: none;
1012
+ }
1013
+
1014
+ .menu :where(.menu-dropdown-toggle)::after {
1015
+ border-bottom: 1.5px solid currentColor;
1016
+ border-right: 1.5px solid currentColor;
1017
+ content: "";
1018
+ display: inline-block;
1019
+ height: 0.45rem;
1020
+ margin-left: auto;
1021
+ transform: rotate(45deg);
1022
+ transition: transform 0.15s ease;
1023
+ width: 0.45rem;
1024
+ }
1025
+
1026
+ .menu :where(.menu-dropdown-toggle.menu-dropdown-show)::after {
1027
+ transform: rotate(225deg);
1028
+ }
1029
+
1030
+ .menu :where(.menu-dropdown) {
1031
+ border-left: 1px solid color-mix(in oklch, var(--color-base-content) 18%, transparent);
1032
+ display: none;
1033
+ flex-direction: column;
1034
+ gap: 0.125rem;
1035
+ margin: 0.25rem 0 0.25rem 0.75rem;
1036
+ padding: 0.125rem 0 0.125rem 0.5rem;
1037
+ }
1038
+
1039
+ .menu :where(.menu-dropdown.menu-dropdown-show),
1040
+ .menu :where(.menu-dropdown-toggle.menu-dropdown-show + .menu-dropdown) {
1041
+ display: flex;
1042
+ }
1043
+
1044
+ .menu.menu-vertical {
1045
+ flex-direction: column;
1046
+ }
1047
+
1048
+ .menu.menu-horizontal {
1049
+ align-items: center;
1050
+ flex-direction: row;
1051
+ flex-wrap: wrap;
1052
+ gap: 0.25rem;
1053
+ }
1054
+
1055
+ .menu.menu-horizontal :where(li) {
1056
+ width: auto;
1057
+ }
1058
+
1059
+ .menu.menu-responsive {
1060
+ flex-direction: column;
1061
+ }
1062
+
1063
+ .menu.menu-xs :where(li > *) {
1064
+ font-size: 0.75rem;
1065
+ min-height: 1.75rem;
1066
+ padding: 0.25rem 0.5rem;
1067
+ }
1068
+
1069
+ .menu.menu-sm :where(li > *) {
1070
+ font-size: 0.8125rem;
1071
+ min-height: 2rem;
1072
+ padding: 0.375rem 0.625rem;
1073
+ }
1074
+
1075
+ .menu.menu-md :where(li > *) {
1076
+ font-size: 0.875rem;
1077
+ min-height: 2.25rem;
1078
+ }
1079
+
1080
+ .menu.menu-lg :where(li > *) {
1081
+ font-size: 1rem;
1082
+ min-height: 2.5rem;
1083
+ padding: 0.625rem 0.75rem;
1084
+ }
1085
+
1086
+ .menu.menu-xl :where(li > *) {
1087
+ font-size: 1.125rem;
1088
+ min-height: 2.75rem;
1089
+ padding: 0.75rem 0.875rem;
1090
+ }
1091
+
1092
+ @media (min-width: 1024px) {
1093
+ .menu.menu-responsive {
1094
+ align-items: center;
1095
+ flex-direction: row;
1096
+ flex-wrap: wrap;
1097
+ gap: 0.25rem;
1098
+ }
1099
+
1100
+ .menu.menu-responsive :where(li) {
1101
+ width: auto;
1102
+ }
1103
+ }
1104
+
1105
+ .table {
1106
+ border-collapse: separate;
1107
+ border-spacing: 0;
1108
+ color: var(--color-base-content);
1109
+ width: 100%;
1110
+ }
1111
+
1112
+ .table :where(th, td) {
1113
+ border-bottom: 1px solid color-mix(in oklch, var(--color-base-content) 12%, transparent);
1114
+ padding: 0.75rem 0.875rem;
1115
+ text-align: left;
1116
+ vertical-align: middle;
1117
+ }
1118
+
1119
+ .table :where(thead th) {
1120
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
1121
+ font-size: 0.75rem;
1122
+ font-weight: 700;
1123
+ letter-spacing: 0.02em;
1124
+ text-transform: uppercase;
1125
+ }
1126
+
1127
+ .table :where(tbody tr:last-child td) {
1128
+ border-bottom: none;
1129
+ }
1130
+
1131
+ .table.table-zebra :where(tbody tr:nth-child(even)) {
1132
+ background: color-mix(in oklch, var(--color-base-content) 4%, transparent);
1133
+ }
1134
+
1135
+ .table.table-hover :where(tbody tr:hover) {
1136
+ background: color-mix(in oklch, var(--color-base-content) 8%, transparent);
1137
+ }
1138
+
1139
+ .toggle {
1140
+ appearance: none;
1141
+ background: color-mix(in oklch, var(--color-base-content) 16%, transparent);
1142
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 22%, transparent);
1143
+ border-radius: 9999px;
1144
+ cursor: pointer;
1145
+ display: inline-block;
1146
+ height: 1.5rem;
1147
+ position: relative;
1148
+ transition: background-color 0.15s ease, border-color 0.15s ease;
1149
+ width: 2.75rem;
1150
+ }
1151
+
1152
+ .toggle::after {
1153
+ background: var(--color-base-100);
1154
+ border-radius: 9999px;
1155
+ content: "";
1156
+ height: 1.125rem;
1157
+ left: 0.125rem;
1158
+ position: absolute;
1159
+ top: 0.125rem;
1160
+ transition: transform 0.15s ease;
1161
+ width: 1.125rem;
1162
+ }
1163
+
1164
+ .toggle:checked {
1165
+ background: var(--color-primary);
1166
+ border-color: var(--color-primary);
1167
+ }
1168
+
1169
+ .toggle:checked::after {
1170
+ transform: translateX(1.25rem);
1171
+ }
1172
+
1173
+ .toggle:disabled {
1174
+ cursor: not-allowed;
1175
+ opacity: 0.5;
1176
+ }
1177
+
1178
+ .toggle.toggle-xs {
1179
+ height: 1rem;
1180
+ width: 1.75rem;
1181
+ }
1182
+
1183
+ .toggle.toggle-xs::after {
1184
+ height: 0.625rem;
1185
+ width: 0.625rem;
1186
+ }
1187
+
1188
+ .toggle.toggle-sm {
1189
+ height: 1.25rem;
1190
+ width: 2.25rem;
1191
+ }
1192
+
1193
+ .toggle.toggle-sm::after {
1194
+ height: 0.875rem;
1195
+ width: 0.875rem;
1196
+ }
1197
+
1198
+ .toggle.toggle-lg {
1199
+ height: 1.75rem;
1200
+ width: 3.25rem;
1201
+ }
1202
+
1203
+ .toggle.toggle-lg::after {
1204
+ height: 1.375rem;
1205
+ width: 1.375rem;
1206
+ }
1207
+
1208
+ .toggle.toggle-xl {
1209
+ height: 2rem;
1210
+ width: 3.75rem;
1211
+ }
1212
+
1213
+ .toggle.toggle-xl::after {
1214
+ height: 1.625rem;
1215
+ width: 1.625rem;
1216
+ }
1217
+
1218
+ .toggle.toggle-primary:checked {
1219
+ background: var(--color-primary);
1220
+ border-color: var(--color-primary);
1221
+ }
1222
+
1223
+ .toggle.toggle-secondary:checked {
1224
+ background: var(--color-secondary);
1225
+ border-color: var(--color-secondary);
1226
+ }
1227
+
1228
+ .toggle.toggle-accent:checked {
1229
+ background: var(--color-accent);
1230
+ border-color: var(--color-accent);
1231
+ }
1232
+
1233
+ .toggle.toggle-neutral:checked {
1234
+ background: var(--color-neutral);
1235
+ border-color: var(--color-neutral);
1236
+ }
1237
+
1238
+ .toggle.toggle-info:checked {
1239
+ background: var(--color-info);
1240
+ border-color: var(--color-info);
1241
+ }
1242
+
1243
+ .toggle.toggle-success:checked {
1244
+ background: var(--color-success);
1245
+ border-color: var(--color-success);
1246
+ }
1247
+
1248
+ .toggle.toggle-warning:checked {
1249
+ background: var(--color-warning);
1250
+ border-color: var(--color-warning);
1251
+ }
1252
+
1253
+ .toggle.toggle-error:checked {
1254
+ background: var(--color-error);
1255
+ border-color: var(--color-error);
1256
+ }
1257
+
1258
+ .modal {
1259
+ align-items: center;
1260
+ background: transparent;
1261
+ border: 0;
1262
+ height: 100dvh;
1263
+ justify-items: center;
1264
+ margin: 0;
1265
+ max-height: none;
1266
+ max-width: none;
1267
+ padding: 1rem;
1268
+ width: 100vw;
1269
+ }
1270
+
1271
+ .modal::backdrop {
1272
+ background: color-mix(in oklch, var(--color-base-content) 48%, transparent);
1273
+ backdrop-filter: blur(2px);
1274
+ }
1275
+
1276
+ .modal.modal-top {
1277
+ align-items: start;
1278
+ }
1279
+
1280
+ .modal.modal-middle {
1281
+ align-items: center;
1282
+ }
1283
+
1284
+ .modal.modal-bottom {
1285
+ align-items: end;
1286
+ }
1287
+
1288
+ .modal.modal-start {
1289
+ justify-items: start;
1290
+ }
1291
+
1292
+ .modal.modal-end {
1293
+ justify-items: end;
1294
+ }
1295
+
1296
+ @media (min-width: 640px) {
1297
+ .modal.sm\:modal-middle {
1298
+ align-items: center;
1299
+ }
1300
+
1301
+ .modal.modal-responsive-middle {
1302
+ align-items: center;
1303
+ }
1304
+ }
1305
+
1306
+ .modal-box {
1307
+ background: var(--color-base-100);
1308
+ border: 1px solid color-mix(in oklch, var(--color-base-content) 12%, transparent);
1309
+ border-radius: var(--radius-box, 0.75rem);
1310
+ box-shadow: 0 18px 40px color-mix(in oklch, var(--color-base-content) 30%, transparent);
1311
+ color: var(--color-base-content);
1312
+ max-height: calc(100dvh - 3rem);
1313
+ overflow: auto;
1314
+ padding: 1rem;
1315
+ }
1316
+
1317
+ .modal-backdrop {
1318
+ cursor: pointer;
1319
+ inset: 0;
1320
+ position: fixed;
1321
+ }
1322
+
1323
+ .drawer {
1324
+ display: grid;
1325
+ grid-template-columns: minmax(0, 1fr);
1326
+ position: relative;
1327
+ width: 100%;
1328
+ }
1329
+
1330
+ .drawer-toggle {
1331
+ block-size: 0;
1332
+ inline-size: 0;
1333
+ opacity: 0;
1334
+ pointer-events: none;
1335
+ position: absolute;
1336
+ }
1337
+
1338
+ .drawer-content {
1339
+ min-height: 100%;
1340
+ min-width: 0;
1341
+ z-index: 1;
1342
+ }
1343
+
1344
+ .drawer-side {
1345
+ inset: 0;
1346
+ opacity: 0;
1347
+ pointer-events: none;
1348
+ position: fixed;
1349
+ z-index: 80;
1350
+ }
1351
+
1352
+ .drawer-overlay {
1353
+ background: color-mix(in oklch, var(--color-base-content) 45%, transparent);
1354
+ cursor: pointer;
1355
+ inset: 0;
1356
+ opacity: 0;
1357
+ position: absolute;
1358
+ transition: opacity 0.2s ease;
1359
+ }
1360
+
1361
+ .drawer-side > :not(.drawer-overlay) {
1362
+ background: var(--color-base-100);
1363
+ border-inline-end: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
1364
+ box-shadow: 0 16px 40px color-mix(in oklch, var(--color-base-content) 24%, transparent);
1365
+ height: 100%;
1366
+ max-width: calc(100vw - 2rem);
1367
+ overflow-y: auto;
1368
+ pointer-events: auto;
1369
+ position: relative;
1370
+ transform: translateX(-102%);
1371
+ transition: transform 0.24s ease;
1372
+ width: min(24rem, 100vw);
1373
+ }
1374
+
1375
+ .drawer.drawer-end .drawer-side > :not(.drawer-overlay) {
1376
+ border-inline-end: 0;
1377
+ border-inline-start: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
1378
+ margin-left: auto;
1379
+ transform: translateX(102%);
1380
+ }
1381
+
1382
+ .drawer > .drawer-toggle:checked ~ .drawer-side,
1383
+ .drawer.drawer-open .drawer-side {
1384
+ opacity: 1;
1385
+ pointer-events: auto;
1386
+ }
1387
+
1388
+ .drawer > .drawer-toggle:checked ~ .drawer-side > .drawer-overlay,
1389
+ .drawer.drawer-open .drawer-side > .drawer-overlay {
1390
+ opacity: 1;
1391
+ }
1392
+
1393
+ .drawer > .drawer-toggle:checked ~ .drawer-side > :not(.drawer-overlay),
1394
+ .drawer.drawer-open .drawer-side > :not(.drawer-overlay) {
1395
+ transform: translateX(0);
1396
+ }
1397
+
1398
+ .dropdown {
1399
+ display: inline-flex;
1400
+ position: relative;
1401
+ }
1402
+
1403
+ .dropdown.w-full {
1404
+ display: block;
1405
+ width: 100%;
1406
+ }
1407
+
1408
+ .dropdown > .dropdown-content {
1409
+ left: 0;
1410
+ margin-top: 0.375rem;
1411
+ opacity: 0;
1412
+ pointer-events: none;
1413
+ position: absolute;
1414
+ top: 100%;
1415
+ transform: translateY(0.25rem) scale(0.98);
1416
+ transform-origin: top left;
1417
+ transition: opacity 0.16s ease, transform 0.16s ease;
1418
+ visibility: hidden;
1419
+ z-index: 90;
1420
+ }
1421
+
1422
+ .dropdown.dropdown-top > .dropdown-content {
1423
+ bottom: 100%;
1424
+ left: 0;
1425
+ margin-bottom: 0.375rem;
1426
+ margin-top: 0;
1427
+ top: auto;
1428
+ transform-origin: bottom left;
1429
+ }
1430
+
1431
+ .dropdown.dropdown-left > .dropdown-content {
1432
+ left: auto;
1433
+ right: 0;
1434
+ }
1435
+
1436
+ .dropdown.dropdown-right > .dropdown-content {
1437
+ left: 0;
1438
+ right: auto;
1439
+ }
1440
+
1441
+ .dropdown.dropdown-end > .dropdown-content {
1442
+ left: auto;
1443
+ right: 0;
1444
+ transform-origin: top right;
1445
+ }
1446
+
1447
+ .dropdown.dropdown-top.dropdown-end > .dropdown-content {
1448
+ transform-origin: bottom right;
1449
+ }
1450
+
1451
+ .dropdown.dropdown-open > .dropdown-content,
1452
+ .dropdown.dropdown-hover:hover > .dropdown-content,
1453
+ .dropdown:focus-within > .dropdown-content {
1454
+ opacity: 1;
1455
+ pointer-events: auto;
1456
+ transform: translateY(0) scale(1);
1457
+ visibility: visible;
1458
+ }
1459
+
1460
+ .max-h-50 {
1461
+ max-height: 12.5rem;
1462
+ }
1463
+
1464
+ .tabs {
1465
+ --tab-border-color: color-mix(in oklch, var(--color-base-content) 20%, transparent);
1466
+ --tab-bg: var(--color-primary);
1467
+ align-items: center;
1468
+ display: flex;
1469
+ flex-wrap: wrap;
1470
+ gap: 0.25rem;
1471
+ }
1472
+
1473
+ .tab {
1474
+ align-items: center;
1475
+ border: 1px solid transparent;
1476
+ border-radius: var(--radius-field, 0.5rem);
1477
+ color: color-mix(in oklch, var(--color-base-content) 82%, transparent);
1478
+ cursor: pointer;
1479
+ display: inline-flex;
1480
+ font-size: 0.875rem;
1481
+ font-weight: 500;
1482
+ justify-content: center;
1483
+ min-height: 2.25rem;
1484
+ padding: 0 0.875rem;
1485
+ text-decoration: none;
1486
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
1487
+ user-select: none;
1488
+ white-space: nowrap;
1489
+ }
1490
+
1491
+ .tabs > input.tab {
1492
+ appearance: none;
1493
+ }
1494
+
1495
+ .tabs > input.tab::after {
1496
+ content: attr(aria-label);
1497
+ }
1498
+
1499
+ .tab:hover {
1500
+ background: color-mix(in oklch, var(--color-base-content) 8%, transparent);
1501
+ }
1502
+
1503
+ .tab:focus-visible {
1504
+ outline: 2px solid color-mix(in oklch, var(--color-primary) 55%, transparent);
1505
+ outline-offset: 2px;
1506
+ }
1507
+
1508
+ .tab.tab-active,
1509
+ .tabs > input.tab:checked {
1510
+ background: var(--tab-bg);
1511
+ border-color: var(--tab-border-color, var(--tab-bg));
1512
+ color: var(--color-primary-content);
1513
+ }
1514
+
1515
+ .tab.tab-disabled,
1516
+ .tab:disabled,
1517
+ .tabs > input.tab:disabled {
1518
+ cursor: not-allowed;
1519
+ opacity: 0.5;
1520
+ }
1521
+
1522
+ .tabs.tabs-boxed {
1523
+ background: color-mix(in oklch, var(--color-base-content) 6%, var(--color-base-100));
1524
+ border-radius: calc(var(--radius-field, 0.5rem) + 0.25rem);
1525
+ padding: 0.25rem;
1526
+ }
1527
+
1528
+ .tabs.tabs-bordered {
1529
+ border-bottom: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
1530
+ padding-bottom: 0.25rem;
1531
+ }
1532
+
1533
+ .tabs.tabs-bordered .tab {
1534
+ border-bottom-color: transparent;
1535
+ border-radius: var(--radius-field, 0.5rem) var(--radius-field, 0.5rem) 0 0;
1536
+ }
1537
+
1538
+ .tabs.tabs-bordered .tab.tab-active,
1539
+ .tabs.tabs-bordered > input.tab:checked {
1540
+ background: transparent;
1541
+ border-color: transparent;
1542
+ border-bottom-color: var(--tab-border-color, var(--color-primary));
1543
+ color: var(--tab-bg);
1544
+ }
1545
+
1546
+ .tabs.tabs-lift {
1547
+ align-items: end;
1548
+ gap: 0.125rem;
1549
+ }
1550
+
1551
+ .tabs.tabs-lift .tab {
1552
+ background: color-mix(in oklch, var(--color-base-content) 4%, var(--color-base-100));
1553
+ border-color: color-mix(in oklch, var(--color-base-content) 16%, transparent);
1554
+ border-bottom: 0;
1555
+ border-radius: var(--radius-field, 0.5rem) var(--radius-field, 0.5rem) 0 0;
1556
+ }
1557
+
1558
+ .tabs.tabs-lift .tab.tab-active,
1559
+ .tabs.tabs-lift > input.tab:checked {
1560
+ background: var(--color-base-100);
1561
+ color: var(--color-base-content);
1562
+ }
1563
+
1564
+ .tabs.tabs-bottom {
1565
+ align-items: start;
1566
+ }
1567
+
1568
+ .tabs.tabs-bottom.tabs-bordered {
1569
+ border-bottom: 0;
1570
+ border-top: 1px solid color-mix(in oklch, var(--color-base-content) 14%, transparent);
1571
+ padding-bottom: 0;
1572
+ padding-top: 0.25rem;
1573
+ }
1574
+
1575
+ .tabs.tabs-bottom.tabs-bordered .tab {
1576
+ border-radius: 0 0 var(--radius-field, 0.5rem) var(--radius-field, 0.5rem);
1577
+ }
1578
+
1579
+ .tabs.tabs-bottom.tabs-bordered .tab.tab-active,
1580
+ .tabs.tabs-bottom.tabs-bordered > input.tab:checked {
1581
+ border-bottom-color: transparent;
1582
+ border-top-color: var(--tab-border-color, var(--color-primary));
1583
+ }
1584
+
1585
+ .tabs.tabs-xs .tab,
1586
+ .tabs .tab.tab-xs {
1587
+ font-size: 0.75rem;
1588
+ min-height: 1.75rem;
1589
+ padding: 0 0.5rem;
1590
+ }
1591
+
1592
+ .tabs.tabs-sm .tab,
1593
+ .tabs .tab.tab-sm {
1594
+ font-size: 0.8125rem;
1595
+ min-height: 2rem;
1596
+ padding: 0 0.75rem;
1597
+ }
1598
+
1599
+ .tabs.tabs-md .tab,
1600
+ .tabs .tab.tab-md {
1601
+ min-height: 2.25rem;
1602
+ }
1603
+
1604
+ .tabs.tabs-lg .tab,
1605
+ .tabs .tab.tab-lg {
1606
+ font-size: 1rem;
1607
+ min-height: 2.75rem;
1608
+ padding: 0 1rem;
1609
+ }
1610
+
1611
+ .tabs.tabs-xl .tab,
1612
+ .tabs .tab.tab-xl {
1613
+ font-size: 1.125rem;
1614
+ min-height: 3rem;
1615
+ padding: 0 1.25rem;
1616
+ }
1617
+
1618
+ .tab-content {
1619
+ display: none;
1620
+ flex-basis: 100%;
1621
+ order: 100;
1622
+ padding-top: 0.75rem;
1623
+ }
1624
+
1625
+ .tabs > input.tab:checked + .tab-content {
1626
+ display: block;
1627
+ }
1628
+
1629
+ .tabs.tabs-bottom > input.tab:checked + .tab-content {
1630
+ order: -1;
1631
+ padding-bottom: 0.75rem;
1632
+ padding-top: 0;
1633
+ }
1634
+
1635
+ .badge {
1636
+ --badge-color: var(--color-base-200);
1637
+ --badge-bg: var(--color-base-100);
1638
+ --badge-fg: var(--color-base-content);
1639
+ --size: calc(var(--size-selector, 0.25rem) * 6);
1640
+ align-items: center;
1641
+ background-color: var(--badge-bg);
1642
+ border: var(--border, 1px) solid var(--badge-color);
1643
+ border-radius: var(--radius-selector, 0.5rem);
1644
+ color: var(--badge-fg);
1645
+ display: inline-flex;
1646
+ font-size: 0.875rem;
1647
+ gap: 0.5rem;
1648
+ height: var(--size);
1649
+ justify-content: center;
1650
+ padding-inline: calc(0.25rem * 3 - var(--border, 1px));
1651
+ vertical-align: middle;
1652
+ white-space: nowrap;
1653
+ width: fit-content;
1654
+ }
1655
+
1656
+ .badge.badge-outline {
1657
+ --badge-bg: #0000;
1658
+ --badge-fg: var(--badge-color);
1659
+ border-color: currentColor;
1660
+ }
1661
+
1662
+ .badge.badge-dash {
1663
+ --badge-bg: #0000;
1664
+ --badge-fg: var(--badge-color);
1665
+ border-color: currentColor;
1666
+ border-style: dashed;
1667
+ }
1668
+
1669
+ .badge.badge-soft {
1670
+ --badge-fg: var(--badge-color, var(--color-base-content));
1671
+ --badge-bg: color-mix(in oklab, var(--badge-color, var(--color-base-content)) 8%, var(--color-base-100));
1672
+ border-color: color-mix(in oklab, var(--badge-color, var(--color-base-content)) 10%, var(--color-base-100));
1673
+ }
1674
+
1675
+ .badge.badge-xs {
1676
+ --size: calc(var(--size-selector, 0.25rem) * 4);
1677
+ font-size: 0.625rem;
1678
+ padding-inline: calc(0.25rem * 2 - var(--border, 1px));
1679
+ }
1680
+
1681
+ .badge.badge-sm {
1682
+ --size: calc(var(--size-selector, 0.25rem) * 5);
1683
+ font-size: 0.75rem;
1684
+ padding-inline: calc(0.25rem * 2.5 - var(--border, 1px));
1685
+ }
1686
+
1687
+ .badge.badge-md {
1688
+ --size: calc(var(--size-selector, 0.25rem) * 6);
1689
+ font-size: 0.875rem;
1690
+ padding-inline: calc(0.25rem * 3 - var(--border, 1px));
1691
+ }
1692
+
1693
+ .badge.badge-lg {
1694
+ --size: calc(var(--size-selector, 0.25rem) * 7);
1695
+ font-size: 1rem;
1696
+ padding-inline: calc(0.25rem * 3.5 - var(--border, 1px));
1697
+ }
1698
+
1699
+ .badge.badge-xl {
1700
+ --size: calc(var(--size-selector, 0.25rem) * 8);
1701
+ font-size: 1.125rem;
1702
+ padding-inline: calc(0.25rem * 4 - var(--border, 1px));
1703
+ }
1704
+
1705
+ .badge.badge-responsive {
1706
+ --size: calc(var(--size-selector, 0.25rem) * 4);
1707
+ font-size: 0.625rem;
1708
+ padding-inline: calc(0.25rem * 2 - var(--border, 1px));
1709
+ }
1710
+
1711
+ .badge.badge-neutral {
1712
+ --badge-color: var(--color-neutral);
1713
+ --badge-bg: var(--color-neutral);
1714
+ --badge-fg: var(--color-neutral-content);
1715
+ }
1716
+
1717
+ .badge.badge-primary {
1718
+ --badge-color: var(--color-primary);
1719
+ --badge-bg: var(--color-primary);
1720
+ --badge-fg: var(--color-primary-content);
1721
+ }
1722
+
1723
+ .badge.badge-secondary {
1724
+ --badge-color: var(--color-secondary);
1725
+ --badge-bg: var(--color-secondary);
1726
+ --badge-fg: var(--color-secondary-content);
1727
+ }
1728
+
1729
+ .badge.badge-accent {
1730
+ --badge-color: var(--color-accent);
1731
+ --badge-bg: var(--color-accent);
1732
+ --badge-fg: var(--color-accent-content);
1733
+ }
1734
+
1735
+ .badge.badge-info {
1736
+ --badge-color: var(--color-info);
1737
+ --badge-bg: var(--color-info);
1738
+ --badge-fg: var(--color-info-content);
1739
+ }
1740
+
1741
+ .badge.badge-success {
1742
+ --badge-color: var(--color-success);
1743
+ --badge-bg: var(--color-success);
1744
+ --badge-fg: var(--color-success-content);
1745
+ }
1746
+
1747
+ .badge.badge-warning {
1748
+ --badge-color: var(--color-warning);
1749
+ --badge-bg: var(--color-warning);
1750
+ --badge-fg: var(--color-warning-content);
1751
+ }
1752
+
1753
+ .badge.badge-error {
1754
+ --badge-color: var(--color-error);
1755
+ --badge-bg: var(--color-error);
1756
+ --badge-fg: var(--color-error-content);
1757
+ }
1758
+
1759
+ .badge.badge-ghost {
1760
+ --badge-color: var(--color-base-200);
1761
+ --badge-bg: var(--color-base-200);
1762
+ --badge-fg: var(--color-base-content);
1763
+ }
1764
+
1765
+ @media (min-width: 768px) {
1766
+ .badge.badge-responsive {
1767
+ --size: calc(var(--size-selector, 0.25rem) * 5);
1768
+ font-size: 0.75rem;
1769
+ padding-inline: calc(0.25rem * 2.5 - var(--border, 1px));
1770
+ }
1771
+ }
1772
+
1773
+ @media (min-width: 1024px) {
1774
+ .badge.badge-responsive {
1775
+ --size: calc(var(--size-selector, 0.25rem) * 6);
1776
+ font-size: 0.875rem;
1777
+ padding-inline: calc(0.25rem * 3 - var(--border, 1px));
1778
+ }
1779
+ }
1780
+
1781
+ @media (min-width: 1280px) {
1782
+ .badge.badge-responsive {
1783
+ --size: calc(var(--size-selector, 0.25rem) * 7);
1784
+ font-size: 1rem;
1785
+ padding-inline: calc(0.25rem * 3.5 - var(--border, 1px));
1786
+ }
1787
+ }
1788
+
1789
+ .alert {
1790
+ --alert-color: var(--color-base-200);
1791
+ align-items: center;
1792
+ background-color: var(--alert-color);
1793
+ border: var(--border, 1px) solid var(--color-base-300);
1794
+ border-radius: var(--radius-box, 0.75rem);
1795
+ color: var(--color-base-content);
1796
+ display: grid;
1797
+ font-size: 0.875rem;
1798
+ gap: 1rem;
1799
+ grid-auto-flow: column;
1800
+ grid-template-columns: auto;
1801
+ justify-content: start;
1802
+ line-height: 1.25rem;
1803
+ padding-block: 0.75rem;
1804
+ padding-inline: 1rem;
1805
+ place-items: center start;
1806
+ text-align: start;
1807
+ }
1808
+
1809
+ .alert:has(:nth-child(2)) {
1810
+ grid-template-columns: auto minmax(auto, 1fr);
1811
+ }
1812
+
1813
+ .alert.alert-outline {
1814
+ background-color: #0000;
1815
+ border-color: currentColor;
1816
+ box-shadow: none;
1817
+ color: var(--alert-color);
1818
+ }
1819
+
1820
+ .alert.alert-dash {
1821
+ background-color: #0000;
1822
+ border-color: currentColor;
1823
+ border-style: dashed;
1824
+ box-shadow: none;
1825
+ color: var(--alert-color);
1826
+ }
1827
+
1828
+ .alert.alert-soft {
1829
+ background: color-mix(in oklab, var(--alert-color, var(--color-base-content)) 8%, var(--color-base-100));
1830
+ border-color: color-mix(in oklab, var(--alert-color, var(--color-base-content)) 10%, var(--color-base-100));
1831
+ color: var(--alert-color, var(--color-base-content));
1832
+ }
1833
+
1834
+ .alert.alert-info {
1835
+ --alert-color: var(--color-info);
1836
+ border-color: var(--color-info);
1837
+ color: var(--color-info-content);
1838
+ }
1839
+
1840
+ .alert.alert-success {
1841
+ --alert-color: var(--color-success);
1842
+ border-color: var(--color-success);
1843
+ color: var(--color-success-content);
1844
+ }
1845
+
1846
+ .alert.alert-warning {
1847
+ --alert-color: var(--color-warning);
1848
+ border-color: var(--color-warning);
1849
+ color: var(--color-warning-content);
1850
+ }
1851
+
1852
+ .alert.alert-error {
1853
+ --alert-color: var(--color-error);
1854
+ border-color: var(--color-error);
1855
+ color: var(--color-error-content);
1856
+ }
1857
+
1858
+ .alert.alert-vertical {
1859
+ grid-auto-flow: row;
1860
+ grid-template-columns: auto;
1861
+ justify-content: center;
1862
+ justify-items: center;
1863
+ text-align: center;
1864
+ }
1865
+
1866
+ .alert.alert-horizontal {
1867
+ grid-auto-flow: column;
1868
+ grid-template-columns: auto;
1869
+ justify-content: start;
1870
+ justify-items: start;
1871
+ text-align: start;
1872
+ }
1873
+
1874
+ .alert.alert-horizontal:has(:nth-child(2)) {
1875
+ grid-template-columns: auto minmax(auto, 1fr);
1876
+ }
1877
+
1878
+ .card {
1879
+ --card-p: 1.5rem;
1880
+ --card-fs: 0.875rem;
1881
+ --cardtitle-fs: 1.125rem;
1882
+ border-radius: var(--radius-box, 0.75rem);
1883
+ display: flex;
1884
+ flex-direction: column;
1885
+ outline: 0 solid #0000;
1886
+ outline-offset: 2px;
1887
+ position: relative;
1888
+ transition: outline-color 0.2s ease-in-out;
1889
+ }
1890
+
1891
+ .card:focus-visible {
1892
+ outline-color: currentColor;
1893
+ }
1894
+
1895
+ .card figure {
1896
+ align-items: center;
1897
+ display: flex;
1898
+ justify-content: center;
1899
+ }
1900
+
1901
+ .card :where(figure:first-child) {
1902
+ border-end-end-radius: unset;
1903
+ border-end-start-radius: unset;
1904
+ border-start-end-radius: inherit;
1905
+ border-start-start-radius: inherit;
1906
+ overflow: hidden;
1907
+ }
1908
+
1909
+ .card :where(figure:last-child) {
1910
+ border-end-end-radius: inherit;
1911
+ border-end-start-radius: inherit;
1912
+ border-start-end-radius: unset;
1913
+ border-start-start-radius: unset;
1914
+ overflow: hidden;
1915
+ }
1916
+
1917
+ .card.card-border {
1918
+ border: var(--border, 1px) solid var(--color-base-200);
1919
+ }
1920
+
1921
+ .card.card-dash {
1922
+ border: var(--border, 1px) dashed var(--color-base-200);
1923
+ }
1924
+
1925
+ .card.image-full {
1926
+ display: grid;
1927
+ }
1928
+
1929
+ .card.image-full > * {
1930
+ grid-column-start: 1;
1931
+ grid-row-start: 1;
1932
+ }
1933
+
1934
+ .card.image-full > .card-body {
1935
+ color: var(--color-neutral-content);
1936
+ position: relative;
1937
+ }
1938
+
1939
+ .card.image-full > figure {
1940
+ border-radius: inherit;
1941
+ overflow: hidden;
1942
+ }
1943
+
1944
+ .card.image-full > figure img {
1945
+ filter: brightness(28%);
1946
+ height: 100%;
1947
+ object-fit: cover;
1948
+ }
1949
+
1950
+ .card-title {
1951
+ align-items: center;
1952
+ display: flex;
1953
+ font-size: var(--cardtitle-fs);
1954
+ font-weight: 600;
1955
+ gap: 0.5rem;
1956
+ }
1957
+
1958
+ .card-body {
1959
+ display: flex;
1960
+ flex: auto;
1961
+ flex-direction: column;
1962
+ font-size: var(--card-fs);
1963
+ gap: 0.5rem;
1964
+ padding: var(--card-p);
1965
+ }
1966
+
1967
+ .card-body :where(p) {
1968
+ flex-grow: 1;
1969
+ }
1970
+
1971
+ .card-actions {
1972
+ align-items: flex-start;
1973
+ display: flex;
1974
+ flex-wrap: wrap;
1975
+ gap: 0.5rem;
1976
+ }
1977
+
1978
+ .card.card-xs {
1979
+ --card-p: 0.5rem;
1980
+ --card-fs: 0.6875rem;
1981
+ --cardtitle-fs: 0.875rem;
1982
+ }
1983
+
1984
+ .card.card-sm {
1985
+ --card-p: 1rem;
1986
+ --card-fs: 0.75rem;
1987
+ --cardtitle-fs: 1rem;
1988
+ }
1989
+
1990
+ .card.card-md {
1991
+ --card-p: 1.5rem;
1992
+ --card-fs: 0.875rem;
1993
+ --cardtitle-fs: 1.125rem;
1994
+ }
1995
+
1996
+ .card.card-lg {
1997
+ --card-p: 2rem;
1998
+ --card-fs: 1rem;
1999
+ --cardtitle-fs: 1.25rem;
2000
+ }
2001
+
2002
+ .card.card-xl {
2003
+ --card-p: 2.5rem;
2004
+ --card-fs: 1.125rem;
2005
+ --cardtitle-fs: 1.375rem;
2006
+ }
2007
+
2008
+ .card.card-side {
2009
+ align-items: stretch;
2010
+ flex-direction: row;
2011
+ }
2012
+
2013
+ .card.card-side :where(figure:first-child) {
2014
+ border-end-end-radius: unset;
2015
+ border-end-start-radius: inherit;
2016
+ border-start-end-radius: unset;
2017
+ border-start-start-radius: inherit;
2018
+ }
2019
+
2020
+ .card.card-side :where(figure:last-child) {
2021
+ border-end-end-radius: inherit;
2022
+ border-end-start-radius: unset;
2023
+ border-start-end-radius: inherit;
2024
+ border-start-start-radius: unset;
2025
+ }
2026
+
2027
+ .card.card-side :where(figure > *) {
2028
+ height: 100%;
2029
+ object-fit: cover;
2030
+ width: 100%;
2031
+ }
2032
+
2033
+ .card.card-side-xs {
2034
+ align-items: stretch;
2035
+ flex-direction: row;
2036
+ }
2037
+
2038
+ .card.card-side-xs :where(figure:first-child) {
2039
+ border-end-end-radius: unset;
2040
+ border-end-start-radius: inherit;
2041
+ border-start-end-radius: unset;
2042
+ border-start-start-radius: inherit;
2043
+ }
2044
+
2045
+ .card.card-side-xs :where(figure:last-child) {
2046
+ border-end-end-radius: inherit;
2047
+ border-end-start-radius: unset;
2048
+ border-start-end-radius: inherit;
2049
+ border-start-start-radius: unset;
2050
+ }
2051
+
2052
+ .card.card-side-xs :where(figure > *) {
2053
+ height: 100%;
2054
+ object-fit: cover;
2055
+ width: 100%;
2056
+ }
2057
+
2058
+ @media (min-width: 640px) {
2059
+ .card.card-side-sm {
2060
+ align-items: stretch;
2061
+ flex-direction: row;
2062
+ }
2063
+
2064
+ .card.card-side-sm :where(figure:first-child) {
2065
+ border-end-end-radius: unset;
2066
+ border-end-start-radius: inherit;
2067
+ border-start-end-radius: unset;
2068
+ border-start-start-radius: inherit;
2069
+ }
2070
+
2071
+ .card.card-side-sm :where(figure:last-child) {
2072
+ border-end-end-radius: inherit;
2073
+ border-end-start-radius: unset;
2074
+ border-start-end-radius: inherit;
2075
+ border-start-start-radius: unset;
2076
+ }
2077
+
2078
+ .card.card-side-sm :where(figure > *) {
2079
+ height: 100%;
2080
+ object-fit: cover;
2081
+ width: 100%;
2082
+ }
2083
+ }
2084
+
2085
+ @media (min-width: 768px) {
2086
+ .card.card-side-md {
2087
+ align-items: stretch;
2088
+ flex-direction: row;
2089
+ }
2090
+
2091
+ .card.card-side-md :where(figure:first-child) {
2092
+ border-end-end-radius: unset;
2093
+ border-end-start-radius: inherit;
2094
+ border-start-end-radius: unset;
2095
+ border-start-start-radius: inherit;
2096
+ }
2097
+
2098
+ .card.card-side-md :where(figure:last-child) {
2099
+ border-end-end-radius: inherit;
2100
+ border-end-start-radius: unset;
2101
+ border-start-end-radius: inherit;
2102
+ border-start-start-radius: unset;
2103
+ }
2104
+
2105
+ .card.card-side-md :where(figure > *) {
2106
+ height: 100%;
2107
+ object-fit: cover;
2108
+ width: 100%;
2109
+ }
2110
+ }
2111
+
2112
+ @media (min-width: 1024px) {
2113
+ .card.card-side-lg {
2114
+ align-items: stretch;
2115
+ flex-direction: row;
2116
+ }
2117
+
2118
+ .card.card-side-lg :where(figure:first-child) {
2119
+ border-end-end-radius: unset;
2120
+ border-end-start-radius: inherit;
2121
+ border-start-end-radius: unset;
2122
+ border-start-start-radius: inherit;
2123
+ }
2124
+
2125
+ .card.card-side-lg :where(figure:last-child) {
2126
+ border-end-end-radius: inherit;
2127
+ border-end-start-radius: unset;
2128
+ border-start-end-radius: inherit;
2129
+ border-start-start-radius: unset;
2130
+ }
2131
+
2132
+ .card.card-side-lg :where(figure > *) {
2133
+ height: 100%;
2134
+ object-fit: cover;
2135
+ width: 100%;
2136
+ }
2137
+ }
2138
+
2139
+ .tooltip {
2140
+ --tt-bg: var(--color-neutral);
2141
+ --tt-content: var(--color-neutral-content);
2142
+ --tt-off: calc(100% + 0.5rem);
2143
+ --tt-tail: calc(100% + 1px + 0.25rem);
2144
+ display: inline-block;
2145
+ position: relative;
2146
+ }
2147
+
2148
+ .tooltip::before {
2149
+ background-color: var(--tt-bg);
2150
+ border-radius: var(--radius-field, 0.5rem);
2151
+ color: var(--tt-content);
2152
+ content: attr(data-tip);
2153
+ font-size: 0.875rem;
2154
+ line-height: 1.25;
2155
+ max-width: 20rem;
2156
+ opacity: 0;
2157
+ padding-block: 0.25rem;
2158
+ padding-inline: 0.5rem;
2159
+ pointer-events: none;
2160
+ position: absolute;
2161
+ text-align: center;
2162
+ transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
2163
+ 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;
2164
+ white-space: normal;
2165
+ width: max-content;
2166
+ z-index: 1;
2167
+ }
2168
+
2169
+ .tooltip::after {
2170
+ background-color: var(--tt-bg);
2171
+ content: "";
2172
+ height: 0.25rem;
2173
+ 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"));
2174
+ mask-position: -1px 0;
2175
+ mask-repeat: no-repeat;
2176
+ opacity: 0;
2177
+ pointer-events: none;
2178
+ position: absolute;
2179
+ transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
2180
+ 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;
2181
+ width: 0.625rem;
2182
+ z-index: 1;
2183
+ }
2184
+
2185
+ .tooltip::before,
2186
+ .tooltip.tooltip-top::before {
2187
+ inset: auto auto var(--tt-off) 50%;
2188
+ }
2189
+
2190
+ .tooltip::after,
2191
+ .tooltip.tooltip-top::after {
2192
+ inset: auto auto var(--tt-tail) 50%;
2193
+ }
2194
+
2195
+ .tooltip.tooltip-bottom::before {
2196
+ inset: var(--tt-off) auto auto 50%;
2197
+ transform: translateX(-50%) translateY(var(--tt-pos, -0.25rem));
2198
+ }
2199
+
2200
+ .tooltip.tooltip-bottom::after {
2201
+ inset: var(--tt-tail) auto auto 50%;
2202
+ transform: translateX(-50%) translateY(var(--tt-pos, -0.25rem)) rotate(180deg);
2203
+ }
2204
+
2205
+ .tooltip.tooltip-left::before {
2206
+ inset: 50% var(--tt-off) auto auto;
2207
+ transform: translateX(calc(var(--tt-pos, 0.25rem) - 0.25rem)) translateY(-50%);
2208
+ }
2209
+
2210
+ .tooltip.tooltip-left::after {
2211
+ inset: 50% calc(var(--tt-tail) + 1px) auto auto;
2212
+ transform: translateX(var(--tt-pos, 0.25rem)) translateY(-50%) rotate(-90deg);
2213
+ }
2214
+
2215
+ .tooltip.tooltip-right::before {
2216
+ inset: 50% auto auto var(--tt-off);
2217
+ transform: translateX(calc(var(--tt-pos, -0.25rem) + 0.25rem)) translateY(-50%);
2218
+ }
2219
+
2220
+ .tooltip.tooltip-right::after {
2221
+ inset: 50% auto auto calc(var(--tt-tail) + 1px);
2222
+ transform: translateX(var(--tt-pos, -0.25rem)) translateY(-50%) rotate(90deg);
2223
+ }
2224
+
2225
+ .tooltip.tooltip-open::before,
2226
+ .tooltip.tooltip-open::after,
2227
+ .tooltip[data-tip]:not([data-tip=""]):hover::before,
2228
+ .tooltip[data-tip]:not([data-tip=""]):hover::after,
2229
+ .tooltip:focus-within::before,
2230
+ .tooltip:focus-within::after {
2231
+ --tt-pos: 0rem;
2232
+ opacity: 1;
2233
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
2234
+ }
2235
+
2236
+ .tooltip.tooltip-primary {
2237
+ --tt-bg: var(--color-primary);
2238
+ --tt-content: var(--color-primary-content);
2239
+ }
2240
+
2241
+ .tooltip.tooltip-secondary {
2242
+ --tt-bg: var(--color-secondary);
2243
+ --tt-content: var(--color-secondary-content);
2244
+ }
2245
+
2246
+ .tooltip.tooltip-accent {
2247
+ --tt-bg: var(--color-accent);
2248
+ --tt-content: var(--color-accent-content);
2249
+ }
2250
+
2251
+ .tooltip.tooltip-info {
2252
+ --tt-bg: var(--color-info);
2253
+ --tt-content: var(--color-info-content);
2254
+ }
2255
+
2256
+ .tooltip.tooltip-success {
2257
+ --tt-bg: var(--color-success);
2258
+ --tt-content: var(--color-success-content);
2259
+ }
2260
+
2261
+ .tooltip.tooltip-warning {
2262
+ --tt-bg: var(--color-warning);
2263
+ --tt-content: var(--color-warning-content);
2264
+ }
2265
+
2266
+ .tooltip.tooltip-error {
2267
+ --tt-bg: var(--color-error);
2268
+ --tt-content: var(--color-error-content);
2269
+ }
2270
+
2271
+ .collapse:not(td, tr, colgroup) {
2272
+ visibility: visible;
2273
+ }
2274
+
2275
+ .collapse {
2276
+ border-radius: var(--radius-box, 1rem);
2277
+ display: grid;
2278
+ grid-template-rows: max-content 0fr;
2279
+ isolation: isolate;
2280
+ overflow: hidden;
2281
+ position: relative;
2282
+ transition: grid-template-rows 0.2s;
2283
+ width: 100%;
2284
+ }
2285
+
2286
+ .collapse > input:is([type="checkbox"], [type="radio"]) {
2287
+ appearance: none;
2288
+ grid-column-start: 1;
2289
+ grid-row-start: 1;
2290
+ opacity: 0;
2291
+ padding: 1rem;
2292
+ padding-inline-end: 3rem;
2293
+ transition: background-color 0.2s ease-out;
2294
+ width: 100%;
2295
+ z-index: 1;
2296
+ }
2297
+
2298
+ .collapse-title,
2299
+ .collapse-content {
2300
+ grid-column-start: 1;
2301
+ grid-row-start: 1;
2302
+ }
2303
+
2304
+ .collapse-title {
2305
+ min-height: 1lh;
2306
+ padding: 1rem;
2307
+ padding-inline-end: 3rem;
2308
+ position: relative;
2309
+ transition: background-color 0.2s ease-out;
2310
+ width: 100%;
2311
+ }
2312
+
2313
+ .collapse-content {
2314
+ cursor: unset;
2315
+ grid-row-start: 2;
2316
+ min-height: 0;
2317
+ padding-inline: 1rem;
2318
+ transition: visibility 0.2s, padding 0.2s ease-out, background-color 0.2s ease-out;
2319
+ visibility: hidden;
2320
+ }
2321
+
2322
+ .collapse:where([open], :focus:not(.collapse-close)),
2323
+ .collapse:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked),
2324
+ .collapse.collapse-open {
2325
+ grid-template-rows: max-content 1fr;
2326
+ }
2327
+
2328
+ .collapse:where([open], :focus:not(.collapse-close)) > .collapse-content,
2329
+ .collapse:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) > .collapse-content,
2330
+ .collapse.collapse-open > .collapse-content {
2331
+ min-height: fit-content;
2332
+ padding-bottom: 1rem;
2333
+ visibility: visible;
2334
+ }
2335
+
2336
+ .collapse:focus-visible,
2337
+ .collapse:has(> input:is([type="checkbox"], [type="radio"]):focus-visible) {
2338
+ outline: 2px solid var(--color-base-content);
2339
+ outline-offset: 2px;
2340
+ }
2341
+
2342
+ .collapse:not(.collapse-close) > .collapse-title,
2343
+ .collapse:not(.collapse-close) > input[type="checkbox"],
2344
+ .collapse:not(.collapse-close) > input[type="radio"]:not(:checked) {
2345
+ cursor: pointer;
2346
+ }
2347
+
2348
+ .collapse.collapse-arrow > .collapse-title::after {
2349
+ box-shadow: 2px 2px;
2350
+ content: "";
2351
+ height: 0.5rem;
2352
+ inset-inline-end: 1.4rem;
2353
+ pointer-events: none;
2354
+ position: absolute;
2355
+ top: 1.9rem;
2356
+ transform: translateY(-100%) rotate(45deg);
2357
+ transform-origin: 75% 75%;
2358
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
2359
+ width: 0.5rem;
2360
+ }
2361
+
2362
+ .collapse.collapse-arrow:where([open], .collapse-open, :focus:not(.collapse-close)) > .collapse-title::after,
2363
+ .collapse.collapse-arrow:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) > .collapse-title::after {
2364
+ transform: translateY(-50%) rotate(225deg);
2365
+ }
2366
+
2367
+ .collapse.collapse-plus > .collapse-title::after {
2368
+ content: "+";
2369
+ height: 0.5rem;
2370
+ inset-inline-end: 1.4rem;
2371
+ pointer-events: none;
2372
+ position: absolute;
2373
+ top: 0.9rem;
2374
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2375
+ width: 0.5rem;
2376
+ }
2377
+
2378
+ .collapse.collapse-plus:where([open], .collapse-open, :focus:not(.collapse-close)) > .collapse-title::after,
2379
+ .collapse.collapse-plus:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) > .collapse-title::after {
2380
+ content: "−";
2381
+ }
2382
+
2383
+ .collapse:is(details) {
2384
+ width: 100%;
2385
+ }
2386
+
2387
+ .collapse:is(details) summary {
2388
+ display: block;
2389
+ outline: none;
2390
+ position: relative;
2391
+ }
2392
+
2393
+ .collapse:is(details) summary::-webkit-details-marker {
2394
+ display: none;
2395
+ }
2396
+
2397
+ .breadcrumbs {
2398
+ max-width: 100%;
2399
+ overflow-x: auto;
2400
+ padding-block: 0.5rem;
2401
+ }
2402
+
2403
+ .breadcrumbs > menu,
2404
+ .breadcrumbs > ul,
2405
+ .breadcrumbs > ol {
2406
+ align-items: center;
2407
+ display: flex;
2408
+ min-height: min-content;
2409
+ white-space: nowrap;
2410
+ }
2411
+
2412
+ .breadcrumbs > menu > li,
2413
+ .breadcrumbs > ul > li,
2414
+ .breadcrumbs > ol > li {
2415
+ align-items: center;
2416
+ display: flex;
2417
+ }
2418
+
2419
+ .breadcrumbs > menu > li > *,
2420
+ .breadcrumbs > ul > li > *,
2421
+ .breadcrumbs > ol > li > * {
2422
+ align-items: center;
2423
+ cursor: pointer;
2424
+ display: flex;
2425
+ gap: 0.5rem;
2426
+ }
2427
+
2428
+ .breadcrumbs > menu > li > *:hover,
2429
+ .breadcrumbs > ul > li > *:hover,
2430
+ .breadcrumbs > ol > li > *:hover {
2431
+ text-decoration: underline;
2432
+ }
2433
+
2434
+ .breadcrumbs > menu > li + li::before,
2435
+ .breadcrumbs > ul > li + li::before,
2436
+ .breadcrumbs > ol > li + li::before {
2437
+ background-color: #0000;
2438
+ border-right: 1px solid;
2439
+ border-top: 1px solid;
2440
+ content: "";
2441
+ display: block;
2442
+ height: 0.375rem;
2443
+ margin-left: 0.5rem;
2444
+ margin-right: 0.75rem;
2445
+ opacity: 0.4;
2446
+ rotate: 45deg;
2447
+ width: 0.375rem;
2448
+ }
2449
+
2450
+ [dir="rtl"] .breadcrumbs > menu > li + li::before,
2451
+ [dir="rtl"] .breadcrumbs > ul > li + li::before,
2452
+ [dir="rtl"] .breadcrumbs > ol > li + li::before {
2453
+ rotate: -135deg;
2454
+ }
2455
+
2456
+ .navbar {
2457
+ align-items: center;
2458
+ display: flex;
2459
+ min-height: 4rem;
2460
+ padding: 0.5rem;
2461
+ width: 100%;
2462
+ }
2463
+
2464
+ .navbar-start {
2465
+ align-items: center;
2466
+ display: inline-flex;
2467
+ justify-content: flex-start;
2468
+ width: 50%;
2469
+ }
2470
+
2471
+ .navbar-center {
2472
+ align-items: center;
2473
+ display: inline-flex;
2474
+ flex-shrink: 0;
2475
+ }
2476
+
2477
+ .navbar-end {
2478
+ align-items: center;
2479
+ display: inline-flex;
2480
+ justify-content: flex-end;
2481
+ width: 50%;
2482
+ }
2483
+
2484
+ .navbar-stack {
2485
+ display: flex;
2486
+ flex-direction: column;
2487
+ width: 100%;
2488
+ }
2489
+
2490
+ .rounded-box {
2491
+ border-radius: var(--radius-box, 0.75rem);
2492
+ }
2493
+
2494
+ .rounded-field {
2495
+ border-radius: var(--radius-field, 0.5rem);
2496
+ }
2497
+
2498
+ .rounded-btn {
2499
+ border-radius: var(--radius-field, 0.5rem);
2500
+ }
2501
+
2502
+ .bg-primary-focus {
2503
+ background-color: color-mix(in oklch, var(--color-primary) 90%, black);
2504
+ }
2505
+
2506
+ }
2507
+
2508
+ @layer utilities {
2509
+ @media (hover: hover) {
2510
+ .btn.btn:hover {
2511
+ --btn-bg: var(--btn-hover-bg);
2512
+ --btn-color: var(--btn-hover-color);
2513
+ --btn-fg: var(--btn-hover-color);
2514
+ --btn-border: var(--btn-hover-border);
2515
+ }
2516
+ }
2517
+ }