defuss-shadcn 0.5.0 → 0.6.0

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