/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */ @layer properties; @layer theme, base, components, utilities; @layer theme { :root, :host { --font-sans: 'Inter var', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --color-red-500: oklch(63.7% 0.237 25.331); --color-amber-50: oklch(98.7% 0.022 95.277); --color-amber-100: oklch(96.2% 0.059 95.617); --color-amber-900: oklch(41.4% 0.112 45.904); --color-amber-950: oklch(27.9% 0.077 45.635); --color-green-50: oklch(98.2% 0.018 155.826); --color-green-500: oklch(72.3% 0.219 149.579); --color-green-600: oklch(62.7% 0.194 149.214); --color-green-900: oklch(39.3% 0.095 152.535); --color-green-950: oklch(26.6% 0.065 152.934); --color-blue-50: oklch(97% 0.014 254.604); --color-blue-500: oklch(62.3% 0.214 259.815); --color-blue-600: oklch(54.6% 0.245 262.881); --color-blue-700: oklch(48.8% 0.243 264.376); --color-blue-900: oklch(37.9% 0.146 265.522); --color-blue-950: oklch(28.2% 0.091 267.935); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-700: oklch(37% 0.013 285.805); --color-neutral-900: oklch(20.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 0.25rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --text-xs: 0.75rem; --text-xs--line-height: calc(1 / 0.75); --text-sm: 0.875rem; --text-sm--line-height: calc(1.25 / 0.875); --text-base: 1rem; --text-base--line-height: calc(1.5 / 1); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: calc(2.25 / 1.875); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --tracking-tight: -0.025em; --tracking-widest: 0.1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 0.125rem; --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --shadow-2xs: 0 1px rgb(0 0 0 / 0.05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25); --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; --aspect-video: 16 / 9; --default-transition-duration: 150ms; --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-ring: var(--sidebar-ring); } } @layer base { *, ::after, ::before, ::backdrop, ::file-selector-button { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; } html, :host { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; 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"); font-feature-settings: var(--default-font-feature-settings, normal); font-variation-settings: var(--default-font-variation-settings, normal); -webkit-tap-highlight-color: transparent; } hr { height: 0; color: inherit; border-top-width: 1px; } abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; } a { color: inherit; -webkit-text-decoration: inherit; text-decoration: inherit; } b, strong { font-weight: bolder; } code, kbd, samp, pre { font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings, normal); font-variation-settings: var(--default-mono-font-variation-settings, normal); font-size: 1em; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } table { text-indent: 0; border-color: inherit; border-collapse: collapse; } :-moz-focusring { outline: auto; } progress { vertical-align: baseline; } summary { display: list-item; } ol, ul, menu { list-style: none; } img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; } img, video { max-width: 100%; height: auto; } button, input, select, optgroup, textarea, ::file-selector-button { font: inherit; font-feature-settings: inherit; font-variation-settings: inherit; letter-spacing: inherit; color: inherit; border-radius: 0; background-color: transparent; opacity: 1; } :where(select:is([multiple], [size])) optgroup { font-weight: bolder; } :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; } ::file-selector-button { margin-inline-end: 4px; } ::placeholder { opacity: 1; } @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) { ::placeholder { color: currentcolor; @supports (color: color-mix(in lab, red, red)) { color: color-mix(in oklab, currentcolor 50%, transparent); } } } textarea { resize: vertical; } ::-webkit-search-decoration { -webkit-appearance: none; } ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; } ::-webkit-datetime-edit { display: inline-flex; } ::-webkit-datetime-edit-fields-wrapper { padding: 0; } ::-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 { padding-block: 0; } :-moz-ui-invalid { box-shadow: none; } button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button { appearance: button; } ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; } [hidden]:where(:not([hidden="until-found"])) { display: none !important; } } @layer utilities { .pointer-events-none { pointer-events: none; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .absolute { position: absolute; } .fixed { position: fixed; } .relative { position: relative; } .sticky { position: sticky; } .inset-x-0 { inset-inline: calc(var(--spacing) * 0); } .inset-y-0 { inset-block: calc(var(--spacing) * 0); } .top-0 { top: calc(var(--spacing) * 0); } .top-1\/2 { top: calc(1/2 * 100%); } .top-3 { top: calc(var(--spacing) * 3); } .top-22 { top: calc(var(--spacing) * 22); } .right-3 { right: calc(var(--spacing) * 3); } .left-0 { left: calc(var(--spacing) * 0); } .left-2 { left: calc(var(--spacing) * 2); } .isolate { isolation: isolate; } .z-10 { z-index: 10; } .z-50 { z-index: 50; } .col-span-2 { grid-column: span 2 / span 2; } .container { width: 100%; @media (width >= 40rem) { max-width: 40rem; } @media (width >= 48rem) { max-width: 48rem; } @media (width >= 64rem) { max-width: 64rem; } @media (width >= 80rem) { max-width: 80rem; } @media (width >= 96rem) { max-width: 96rem; } } .mx-auto { margin-inline: auto; } .my-6 { margin-block: calc(var(--spacing) * 6); } .mt-4 { margin-top: calc(var(--spacing) * 4); } .mr-auto { margin-right: auto; } .mb-6 { margin-bottom: calc(var(--spacing) * 6); } .ml-\(--sidebar-width\) { margin-left: var(--sidebar-width); } .ml-auto { margin-left: auto; } .block { display: block; } .flex { display: flex; } .grid { display: grid; } .hidden { display: none; } .inline-block { display: inline-block; } .inline-flex { display: inline-flex; } .table { display: table; } .aspect-square { aspect-ratio: 1 / 1; } .aspect-video { aspect-ratio: var(--aspect-video); } .size-3\.5 { width: calc(var(--spacing) * 3.5); height: calc(var(--spacing) * 3.5); } .size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } .size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); } .size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); } .size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); } .size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); } .h-4 { height: calc(var(--spacing) * 4); } .h-6 { height: calc(var(--spacing) * 6); } .h-8 { height: calc(var(--spacing) * 8); } .h-12 { height: calc(var(--spacing) * 12); } .h-14 { height: calc(var(--spacing) * 14); } .h-svh { height: 100svh; } .max-h-64 { max-height: calc(var(--spacing) * 64); } .max-h-\[612px\] { max-height: 612px; } .max-h-\[650px\] { max-height: 650px; } .min-h-\[350px\] { min-height: 350px; } .scrollbar { scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); &::-webkit-scrollbar { width: var(--scrollbar-width); } &::-webkit-scrollbar-track { background: var(--scrollbar-track); } &::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: var(--scrollbar-radius); } } .w-1\/2 { width: calc(1/2 * 100%); } .w-2\/3 { width: calc(2/3 * 100%); } .w-4 { width: calc(var(--spacing) * 4); } .w-6 { width: calc(var(--spacing) * 6); } .w-48 { width: calc(var(--spacing) * 48); } .w-72 { width: calc(var(--spacing) * 72); } .w-80 { width: calc(var(--spacing) * 80); } .w-\[100px\] { width: 100px; } .w-\[150px\] { width: 150px; } .w-\[180px\] { width: 180px; } .w-\[200px\] { width: 200px; } .w-\[var\(--sidebar-width\)\] { width: var(--sidebar-width); } .w-full { width: 100%; } .max-w-\[300px\] { max-width: 300px; } .max-w-lg { max-width: var(--container-lg); } .max-w-md { max-width: var(--container-md); } .max-w-screen-lg { max-width: var(--breakpoint-lg); } .max-w-screen-md { max-width: var(--breakpoint-md); } .max-w-sm { max-width: var(--container-sm); } .max-w-xl { max-width: var(--container-xl); } .min-w-0 { min-width: calc(var(--spacing) * 0); } .min-w-5 { min-width: calc(var(--spacing) * 5); } .min-w-32 { min-width: calc(var(--spacing) * 32); } .min-w-56 { min-width: calc(var(--spacing) * 56); } .flex-1 { flex: 1; } .shrink-0 { flex-shrink: 0; } .-translate-y-1\/2 { --tw-translate-y: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } .translate-y-0\.5 { --tw-translate-y: calc(var(--spacing) * 0.5); translate: var(--tw-translate-x) var(--tw-translate-y); } .animate-pulse { animation: var(--animate-pulse); } .animate-spin { animation: var(--animate-spin); } .cursor-pointer { cursor: pointer; } .scroll-mt-16 { scroll-margin-top: calc(var(--spacing) * 16); } .list-decimal { list-style-type: decimal; } .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .flex-col { flex-direction: column; } .flex-row { flex-direction: row; } .flex-wrap { flex-wrap: wrap; } .items-center { align-items: center; } .items-start { align-items: flex-start; } .justify-between { justify-content: space-between; } .justify-center { justify-content: center; } .justify-start { justify-content: flex-start; } .gap-0\.5 { gap: calc(var(--spacing) * 0.5); } .gap-1 { gap: calc(var(--spacing) * 1); } .gap-1\.5 { gap: calc(var(--spacing) * 1.5); } .gap-2 { gap: calc(var(--spacing) * 2); } .gap-3 { gap: calc(var(--spacing) * 3); } .gap-4 { gap: calc(var(--spacing) * 4); } .gap-6 { gap: calc(var(--spacing) * 6); } .gap-8 { gap: calc(var(--spacing) * 8); } .space-y-2 { :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); } } .space-y-4 { :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); } } .space-y-6 { :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); } } .gap-x-2 { column-gap: calc(var(--spacing) * 2); } .gap-x-3 { column-gap: calc(var(--spacing) * 3); } .-space-x-2 { :where(& > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse))); } } .space-x-2 { :where(& > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))); } } .gap-y-4 { row-gap: calc(var(--spacing) * 4); } .gap-y-6 { row-gap: calc(var(--spacing) * 6); } .gap-y-10 { row-gap: calc(var(--spacing) * 10); } .self-start { align-self: flex-start; } .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .overflow-x-auto { overflow-x: auto; } .overflow-y-auto { overflow-y: auto; } .rounded-full { border-radius: calc(infinity * 1px); } .rounded-lg { border-radius: var(--radius-lg); } .rounded-md { border-radius: var(--radius-md); } .rounded-sm { border-radius: var(--radius-sm); } .rounded-xl { border-radius: var(--radius-xl); } .border { border-style: var(--tw-border-style); border-width: 1px; } .border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; } .border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; } .border-amber-50 { border-color: var(--color-amber-50); } .\!bg-neutral-900 { background-color: var(--color-neutral-900) !important; } .bg-accent { background-color: var(--color-accent); } .bg-amber-50 { background-color: var(--color-amber-50); } .bg-background { background-color: var(--color-background); } .bg-muted { background-color: var(--color-muted); } .bg-sidebar { background-color: var(--color-sidebar); } .bg-sidebar-primary { background-color: var(--color-sidebar-primary); } .object-cover { object-fit: cover; } .p-0 { padding: calc(var(--spacing) * 0); } .p-2 { padding: calc(var(--spacing) * 2); } .p-3 { padding: calc(var(--spacing) * 3); } .p-4 { padding: calc(var(--spacing) * 4); } .p-10 { padding: calc(var(--spacing) * 10); } .px-0 { padding-inline: calc(var(--spacing) * 0); } .px-1 { padding-inline: calc(var(--spacing) * 1); } .px-2 { padding-inline: calc(var(--spacing) * 2); } .px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); } .px-4 { padding-inline: calc(var(--spacing) * 4); } .py-1\.5 { padding-block: calc(var(--spacing) * 1.5); } .py-3 { padding-block: calc(var(--spacing) * 3); } .py-4 { padding-block: calc(var(--spacing) * 4); } .py-6 { padding-block: calc(var(--spacing) * 6); } .pt-8 { padding-top: calc(var(--spacing) * 8); } .pb-4 { padding-bottom: calc(var(--spacing) * 4); } .pb-12 { padding-bottom: calc(var(--spacing) * 12); } .pl-6 { padding-left: calc(var(--spacing) * 6); } .pl-8 { padding-left: calc(var(--spacing) * 8); } .text-center { text-align: center; } .text-left { text-align: left; } .text-right { text-align: right; } .font-mono { font-family: var(--font-mono); } .text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading, var(--text-3xl--line-height)); } .text-base { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); } .text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); } .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); } .leading-none { --tw-leading: 1; line-height: 1; } .leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); } .leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); } .leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); } .font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); } .font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); } .font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } .tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); } .tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); } .break-words { overflow-wrap: break-word; } .whitespace-nowrap { white-space: nowrap; } .whitespace-pre-wrap { white-space: pre-wrap; } .text-amber-900 { color: var(--color-amber-900); } .text-destructive { color: var(--color-destructive); } .text-foreground { color: var(--color-foreground); } .text-muted-foreground { color: var(--color-muted-foreground); } .text-sidebar-foreground { color: var(--color-sidebar-foreground); } .text-sidebar-foreground\/70 { color: color-mix(in srgb, var(--sidebar-foreground) 70%, transparent); @supports (color: color-mix(in lab, red, red)) { color: color-mix(in oklab, var(--color-sidebar-foreground) 70%, transparent); } } .text-sidebar-primary-foreground { color: var(--color-sidebar-primary-foreground); } .text-transparent { color: transparent; } .text-zinc-50 { color: var(--color-zinc-50); } .tabular-nums { --tw-numeric-spacing: tabular-nums; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); } .underline { text-decoration-line: underline; } .underline-offset-4 { text-underline-offset: 4px; } .opacity-50 { opacity: 50%; } .opacity-60 { opacity: 60%; } .shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } .shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } .ring-sidebar-ring { --tw-ring-color: var(--color-sidebar-ring); } .ring-offset-background { --tw-ring-offset-color: var(--color-background); } .outline-hidden { --tw-outline-style: none; outline-style: none; @media (forced-colors: active) { outline: 2px solid transparent; outline-offset: 2px; } } .outline { outline-style: var(--tw-outline-style); outline-width: 1px; } .filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); } .transition-\[margin-left\] { transition-property: margin-left; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .transition-\[width\,height\,padding\] { transition-property: width,height,padding; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .transition-all { transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .duration-200 { --tw-duration: 200ms; transition-duration: 200ms; } .ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); } .outline-none { --tw-outline-style: none; outline-style: none; } .select-none { -webkit-user-select: none; user-select: none; } .group-open\:rotate-180 { &:is(:where(.group):is([open], :popover-open, :open) *) { rotate: 180deg; } } .peer-aria-hidden\:ml-0 { &:is(:where(.peer)[aria-hidden="true"] ~ *) { margin-left: calc(var(--spacing) * 0); } } .last\:border-b-0 { &:last-child { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; } } .checked\:border-blue-600 { &:checked { border-color: var(--color-blue-600); } } .checked\:border-green-600 { &:checked { border-color: var(--color-green-600); } } .checked\:bg-blue-500 { &:checked { background-color: var(--color-blue-500); } } .checked\:bg-blue-600 { &:checked { background-color: var(--color-blue-600); } } .checked\:bg-green-600 { &:checked { background-color: var(--color-green-600); } } .checked\:before\:bg-background { &:checked { &::before { content: var(--tw-content); background-color: var(--color-background); } } } .checked\:after\:bg-white { &:checked { &::after { content: var(--tw-content); background-color: var(--color-white); } } } .hover\:space-x-1 { &:hover { @media (hover: hover) { :where(& > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse))); } } } } .hover\:bg-accent\/50 { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--accent) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-accent) 50%, transparent); } } } } .hover\:bg-destructive\/10 { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--destructive) 10%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent); } } } } .hover\:bg-sidebar-accent { &:hover { @media (hover: hover) { background-color: var(--color-sidebar-accent); } } } .hover\:bg-zinc-700 { &:hover { @media (hover: hover) { background-color: var(--color-zinc-700); } } } .hover\:text-foreground { &:hover { @media (hover: hover) { color: var(--color-foreground); } } } .hover\:text-sidebar-accent-foreground { &:hover { @media (hover: hover) { color: var(--color-sidebar-accent-foreground); } } } .hover\:text-zinc-50 { &:hover { @media (hover: hover) { color: var(--color-zinc-50); } } } .hover\:underline { &:hover { @media (hover: hover) { text-decoration-line: underline; } } } .focus\:bg-destructive\/10 { &:focus { background-color: color-mix(in srgb, var(--destructive) 10%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent); } } } .focus\:text-destructive { &:focus { color: var(--color-destructive); } } .focus-visible\:border-ring { &:focus-visible { border-color: var(--color-ring); } } .focus-visible\:ring-1 { &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } } .focus-visible\:ring-2 { &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } } .focus-visible\:ring-\[3px\] { &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } } .focus-visible\:ring-ring { &:focus-visible { --tw-ring-color: var(--color-ring); } } .focus-visible\:ring-ring\/50 { &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } } .focus-visible\:ring-offset-2 { &:focus-visible { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); } } .focus-visible\:outline-none { &:focus-visible { --tw-outline-style: none; outline-style: none; } } .disabled\:pointer-events-none { &:disabled { pointer-events: none; } } .disabled\:opacity-50 { &:disabled { opacity: 50%; } } .has-\[input\[type\=\'checkbox\'\]\:checked\]\:border-blue-600 { &:has(*:is(input[type='checkbox']:checked)) { border-color: var(--color-blue-600); } } .has-\[input\[type\=\'checkbox\'\]\:checked\]\:bg-blue-50 { &:has(*:is(input[type='checkbox']:checked)) { background-color: var(--color-blue-50); } } .has-\[input\[type\=\'radio\'\]\:checked\]\:border-green-600 { &:has(*:is(input[type='radio']:checked)) { border-color: var(--color-green-600); } } .has-\[input\[type\=\'radio\'\]\:checked\]\:bg-green-50 { &:has(*:is(input[type='radio']:checked)) { background-color: var(--color-green-50); } } .aria-\[hidden\=true\]\:-translate-x-full { &[aria-hidden="true"] { --tw-translate-x: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); } } .sm\:max-w-\[425px\] { @media (width >= 40rem) { max-width: 425px; } } .sm\:gap-2\.5 { @media (width >= 40rem) { gap: calc(var(--spacing) * 2.5); } } .md\:max-w-\[200px\] { @media (width >= 48rem) { max-width: 200px; } } .md\:flex-row { @media (width >= 48rem) { flex-direction: row; } } .lg\:gap-10 { @media (width >= 64rem) { gap: calc(var(--spacing) * 10); } } .lg\:py-8 { @media (width >= 64rem) { padding-block: calc(var(--spacing) * 8); } } .xl\:block { @media (width >= 80rem) { display: block; } } .\@md\:w-auto { @container (width >= 28rem) { width: auto; } } .\@md\:min-w-sm { @container (width >= 28rem) { min-width: var(--container-sm); } } .dark\:border-amber-950 { &:is(.dark *) { border-color: var(--color-amber-950); } } .dark\:bg-amber-950 { &:is(.dark *) { background-color: var(--color-amber-950); } } .dark\:text-amber-100 { &:is(.dark *) { color: var(--color-amber-100); } } .dark\:checked\:border-blue-700 { &:is(.dark *) { &:checked { border-color: var(--color-blue-700); } } } .dark\:checked\:bg-blue-600 { &:is(.dark *) { &:checked { background-color: var(--color-blue-600); } } } .dark\:checked\:bg-blue-700 { &:is(.dark *) { &:checked { background-color: var(--color-blue-700); } } } .dark\:checked\:bg-input\/30 { &:is(.dark *) { &:checked { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } } } .dark\:checked\:before\:bg-primary { &:is(.dark *) { &:checked { &::before { content: var(--tw-content); background-color: var(--color-primary); } } } } .dark\:hover\:bg-destructive\/20 { &:is(.dark *) { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } } } } .dark\:focus\:bg-destructive\/20 { &:is(.dark *) { &:focus { background-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } } } .dark\:has-\[input\[type\=\'checkbox\'\]\:checked\]\:border-blue-900 { &:is(.dark *) { &:has(*:is(input[type='checkbox']:checked)) { border-color: var(--color-blue-900); } } } .dark\:has-\[input\[type\=\'checkbox\'\]\:checked\]\:bg-blue-950 { &:is(.dark *) { &:has(*:is(input[type='checkbox']:checked)) { background-color: var(--color-blue-950); } } } .dark\:has-\[input\[type\=\'radio\'\]\:checked\]\:border-green-900 { &:is(.dark *) { &:has(*:is(input[type='radio']:checked)) { border-color: var(--color-green-900); } } } .dark\:has-\[input\[type\=\'radio\'\]\:checked\]\:bg-green-950 { &:is(.dark *) { &:has(*:is(input[type='radio']:checked)) { background-color: var(--color-green-950); } } } .\[\&_a\]\:inline-block { & a { display: inline-block; } } .\[\&_a\]\:text-muted-foreground { & a { color: var(--color-muted-foreground); } } .\[\&_a\]\:no-underline { & a { text-decoration-line: none; } } .\[\&_a\]\:transition-colors { & a { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } } .\[\&_a\]\:hover\:text-foreground { & a { &:hover { @media (hover: hover) { color: var(--color-foreground); } } } } .\[\&_a\:not\(\[class\]\)\]\:text-muted-foreground { & a:not([class]) { color: var(--color-muted-foreground); } } .\[\&_a\:not\(\[class\]\)\]\:no-underline { & a:not([class]) { text-decoration-line: none; } } .\[\&_a\:not\(\[class\]\)\]\:transition-colors { & a:not([class]) { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } } .\[\&_a\:not\(\[class\]\)\]\:hover\:text-foreground { & a:not([class]) { &:hover { @media (hover: hover) { color: var(--color-foreground); } } } } .\[\&_img\]\:size-8 { & img { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); } } .\[\&_img\]\:size-12 { & img { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); } } .\[\&_img\]\:shrink-0 { & img { flex-shrink: 0; } } .\[\&_img\]\:rounded-full { & img { border-radius: calc(infinity * 1px); } } .\[\&_img\]\:object-cover { & img { object-fit: cover; } } .\[\&_img\]\:ring-2 { & img { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } } .\[\&_img\]\:ring-background { & img { --tw-ring-color: var(--color-background); } } .\[\&_img\]\:ring-card { & img { --tw-ring-color: var(--color-card); } } .\[\&_img\]\:grayscale { & img { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); } } .\[\&_img\]\:transition-all { & img { transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } } .\[\&_img\]\:duration-300 { & img { --tw-duration: 300ms; transition-duration: 300ms; } } .\[\&_img\]\:ease-in-out { & img { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); } } .\[\&_li\]\:mt-0 { & li { margin-top: calc(var(--spacing) * 0); } } .\[\&_li\]\:pt-2 { & li { padding-top: calc(var(--spacing) * 2); } } .\[\&_svg\]\:pointer-events-none { & svg { pointer-events: none; } } .\[\&_svg\]\:size-4 { & svg { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } } .\[\&_svg\]\:h-3 { & svg { height: calc(var(--spacing) * 3); } } .\[\&_svg\]\:w-3 { & svg { width: calc(var(--spacing) * 3); } } .\[\&_svg\]\:shrink-0 { & svg { flex-shrink: 0; } } .\[\&_svg\]\:\!text-destructive { & svg { color: var(--color-destructive) !important; } } .\[\&_ul\]\:m-0 { & ul { margin: calc(var(--spacing) * 0); } } .\[\&_ul\]\:list-none { & ul { list-style-type: none; } } .\[\&_ul_ul\]\:pl-4 { & ul ul { padding-left: calc(var(--spacing) * 4); } } .md\:\*\:\[\.card\]\:basis-1\/4 { @media (width >= 48rem) { :is(& > *) { &:is(.card) { flex-basis: calc(1/4 * 100%); } } } } .\[\&\>h2\]\:mt-16 { &>h2 { margin-top: calc(var(--spacing) * 16); } } .\[\&\>h2\]\:scroll-m-22 { &>h2 { scroll-margin: calc(var(--spacing) * 22); } } .\[\&\>h2\]\:border-b { &>h2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; } } .\[\&\>h2\]\:pb-4 { &>h2 { padding-bottom: calc(var(--spacing) * 4); } } .\[\&\>h2\]\:text-xl { &>h2 { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); } } .\[\&\>h2\]\:font-semibold { &>h2 { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } } .\[\&\>h2\]\:tracking-tight { &>h2 { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); } } .\[\&\>h2\]\:first\:mt-0 { &>h2 { &:first-child { margin-top: calc(var(--spacing) * 0); } } } .\[\&\>h3\]\:mt-8 { &>h3 { margin-top: calc(var(--spacing) * 8); } } .\[\&\>h3\]\:scroll-m-22 { &>h3 { scroll-margin: calc(var(--spacing) * 22); } } .\[\&\>h3\]\:text-lg { &>h3 { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); } } .\[\&\>h3\]\:font-semibold { &>h3 { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } } .\[\&\>h3\]\:tracking-tight { &>h3 { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); } } .\[\&\>svg\]\:size-4 { &>svg { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } } .\[\&\>svg\]\:shrink-0 { &>svg { flex-shrink: 0; } } } :root { --radius: 0.625rem; --background: oklch(1 0 0); --foreground: oklch(0.145 0 0); --card: oklch(1 0 0); --card-foreground: oklch(0.145 0 0); --popover: oklch(1 0 0); --popover-foreground: oklch(0.145 0 0); --primary: oklch(0.205 0 0); --primary-foreground: oklch(0.985 0 0); --secondary: oklch(0.97 0 0); --secondary-foreground: oklch(0.205 0 0); --muted: oklch(0.97 0 0); --muted-foreground: oklch(0.556 0 0); --accent: oklch(0.97 0 0); --accent-foreground: oklch(0.205 0 0); --destructive: oklch(0.577 0.245 27.325); --border: oklch(0.922 0 0); --input: oklch(0.922 0 0); --ring: oklch(0.708 0 0); --chart-1: oklch(0.646 0.222 41.116); --chart-2: oklch(0.6 0.118 184.704); --chart-3: oklch(0.398 0.07 227.392); --chart-4: oklch(0.828 0.189 84.429); --chart-5: oklch(0.769 0.188 70.08); --sidebar: oklch(0.985 0 0); --sidebar-foreground: oklch(0.145 0 0); --sidebar-primary: oklch(0.205 0 0); --sidebar-primary-foreground: oklch(0.985 0 0); --sidebar-accent: oklch(0.97 0 0); --sidebar-accent-foreground: oklch(0.205 0 0); --sidebar-border: oklch(0.922 0 0); --sidebar-ring: oklch(0.708 0 0); --scrollbar-track: transparent; --scrollbar-thumb: rgba(0, 0, 0, 0.3); --scrollbar-width: 6px; --scrollbar-radius: 6px; --sidebar-width: 16rem; --chevron-down-icon: url('data:image/svg+xml;utf8,'); --check-icon: url('data:image/svg+xml;utf8,'); } .dark { --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); --card: oklch(0.205 0 0); --card-foreground: oklch(0.985 0 0); --popover: oklch(0.269 0 0); --popover-foreground: oklch(0.985 0 0); --primary: oklch(0.922 0 0); --primary-foreground: oklch(0.205 0 0); --secondary: oklch(0.269 0 0); --secondary-foreground: oklch(0.985 0 0); --muted: oklch(0.269 0 0); --muted-foreground: oklch(0.708 0 0); --accent: oklch(0.371 0 0); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); --ring: oklch(0.556 0 0); --chart-1: oklch(0.488 0.243 264.376); --chart-2: oklch(0.696 0.17 162.48); --chart-3: oklch(0.769 0.188 70.08); --chart-4: oklch(0.627 0.265 303.9); --chart-5: oklch(0.645 0.246 16.439); --sidebar: oklch(0.205 0 0); --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.488 0.243 264.376); --sidebar-primary-foreground: oklch(0.985 0 0); --sidebar-accent: oklch(0.269 0 0); --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(1 0 0 / 10%); --sidebar-ring: oklch(0.439 0 0); --scrollbar-track: transparent; --scrollbar-thumb: rgba(255, 255, 255, 0.3); --scrollbar-width: 6px; --scrollbar-radius: 6px; --chevron-down-icon: url('data:image/svg+xml;utf8,'); --check-icon: url('data:image/svg+xml;utf8,'); } @layer base { * { border-color: var(--color-border); outline-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { outline-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } html { scroll-behavior: smooth; } body { overscroll-behavior: none; background-color: var(--color-background); color: var(--color-foreground); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } } @layer utilities { [x-cloak] { display: none !important; } .htmx-indicator { visibility: hidden; opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); transition-behavior: allow-discrete; } .htmx-indicator:not(.htmx-request) { display: none; } .htmx-request, .htmx-request.htmx-indicator { visibility: visible; opacity: 100%; } } @layer components { .alert, .alert-destructive { position: relative; display: grid; width: 100%; grid-template-columns: 0 1fr; align-items: flex-start; row-gap: calc(var(--spacing) * 0.5); border-radius: var(--radius-lg); border-style: var(--tw-border-style); border-width: 1px; padding-inline: calc(var(--spacing) * 4); padding-block: calc(var(--spacing) * 3); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); &:has(>svg) { grid-template-columns: calc(var(--spacing) * 4) 1fr; } &:has(>svg) { column-gap: calc(var(--spacing) * 3); } &>svg { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } &>svg { --tw-translate-y: calc(var(--spacing) * 0.5); translate: var(--tw-translate-x) var(--tw-translate-y); } &>svg { color: currentcolor; } h2 { grid-column-start: 2; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; min-height: calc(var(--spacing) * 4); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); } section { grid-column-start: 2; display: grid; justify-items: start; gap: calc(var(--spacing) * 1); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-muted-foreground); & p { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); } ul { list-style-position: inside; list-style-type: disc; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } } } .alert { background-color: var(--color-card); color: var(--color-card-foreground); } .alert-destructive { background-color: var(--color-card); color: var(--color-destructive); &>svg { color: currentcolor; } section { color: var(--color-destructive); } } } @layer components { .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 { display: inline-flex; flex-shrink: 0; cursor: pointer; align-items: center; justify-content: center; border-radius: var(--radius-md); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); white-space: nowrap; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { pointer-events: none; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } & svg { pointer-events: none; } & svg { flex-shrink: 0; } & svg:not([class*='size-']) { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } } .btn, .btn-primary, .btn-secondary, .btn-outline, .btn-ghost, .btn-link, .btn-destructive { height: calc(var(--spacing) * 9); gap: calc(var(--spacing) * 2); padding-inline: calc(var(--spacing) * 4); padding-block: calc(var(--spacing) * 2); &:has(>svg) { padding-inline: calc(var(--spacing) * 3); } } .btn-icon, .btn-icon-primary, .btn-icon-secondary, .btn-icon-outline, .btn-icon-ghost, .btn-icon-link, .btn-icon-destructive { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); } .btn-sm, .btn-sm-primary, .btn-sm-secondary, .btn-sm-outline, .btn-sm-ghost, .btn-sm-link, .btn-sm-destructive { height: calc(var(--spacing) * 8); gap: calc(var(--spacing) * 1.5); padding-inline: calc(var(--spacing) * 3); &:has(>svg) { padding-inline: calc(var(--spacing) * 2.5); } } .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 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); } .btn-lg, .btn-lg-primary, .btn-lg-secondary, .btn-lg-outline, .btn-lg-ghost, .btn-lg-link, .btn-lg-destructive { height: calc(var(--spacing) * 10); gap: calc(var(--spacing) * 2); padding-inline: calc(var(--spacing) * 6); &:has(>svg) { padding-inline: calc(var(--spacing) * 4); } } .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 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); } .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 { background-color: var(--color-primary); color: var(--color-primary-foreground); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--primary) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-primary) 90%, transparent); } } } &[aria-pressed='true'] { background-color: color-mix(in srgb, var(--primary) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-primary) 90%, transparent); } } } .btn-secondary, .btn-sm-secondary, .btn-lg-secondary, .btn-icon-secondary, .btn-sm-icon-secondary, .btn-lg-icon-secondary { background-color: var(--color-secondary); color: var(--color-secondary-foreground); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:hover, &[aria-pressed='true'] { background-color: color-mix(in srgb, var(--secondary) 80%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent); } } } .btn-outline, .btn-sm-outline, .btn-lg-outline, .btn-icon-outline, .btn-sm-icon-outline, .btn-lg-icon-outline { border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-background); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:is(.dark *) { border-color: var(--color-input); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:hover, &[aria-pressed='true'] { background-color: var(--color-accent); color: var(--color-accent-foreground); &:is(.dark *) { background-color: color-mix(in srgb, var(--accent) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-accent) 50%, transparent); } } } } .btn-ghost, .btn-sm-ghost, .btn-lg-ghost, .btn-icon-ghost, .btn-sm-icon-ghost, .btn-lg-icon-ghost { &:hover, &[aria-pressed='true'] { background-color: var(--color-accent); color: var(--color-accent-foreground); &:is(.dark *) { background-color: color-mix(in srgb, var(--accent) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-accent) 50%, transparent); } } } } .btn-link, .btn-sm-link, .btn-lg-link, .btn-icon-link, .btn-sm-icon-link, .btn-lg-icon-link { color: var(--color-primary); text-underline-offset: 4px; &:hover, &[aria-pressed='true'] { &:hover { @media (hover: hover) { text-decoration-line: underline; } } } } .btn-destructive, .btn-sm-destructive, .btn-lg-destructive, .btn-icon-destructive, .btn-sm-icon-destructive, .btn-lg-icon-destructive { background-color: var(--color-destructive); color: var(--color-white); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--destructive) 60%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent); } } &:is(.dark *) { &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } &:hover, &[aria-pressed='true'] { background-color: color-mix(in srgb, var(--destructive) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent); } &:is(.dark *) { background-color: color-mix(in srgb, var(--destructive) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 50%, transparent); } } } } } @layer components { .badge, .badge-primary, .badge-secondary, .badge-destructive, .badge-outline { display: inline-flex; width: fit-content; flex-shrink: 0; align-items: center; justify-content: center; gap: calc(var(--spacing) * 1); overflow: hidden; border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 0.5); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); white-space: nowrap; transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } &>svg { pointer-events: none; } &>svg { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); } } .badge, .badge-primary { border-color: transparent; background-color: var(--color-primary); color: var(--color-primary-foreground); a& { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--primary) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-primary) 90%, transparent); } } } } } .badge-secondary { border-color: transparent; background-color: var(--color-secondary); color: var(--color-secondary-foreground); a& { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--secondary) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-secondary) 90%, transparent); } } } } } .badge-destructive { border-color: transparent; background-color: var(--color-destructive); color: var(--color-white); &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--destructive) 60%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent); } } &:is(.dark *) { &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } a& { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--destructive) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent); } } } } } .badge-outline { color: var(--color-foreground); a& { &:hover { @media (hover: hover) { background-color: var(--color-accent); } } } a& { &:hover { @media (hover: hover) { color: var(--color-accent-foreground); } } } } } @layer components { .card { display: flex; flex-direction: column; gap: calc(var(--spacing) * 6); border-radius: var(--radius-xl); border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-card); padding-block: calc(var(--spacing) * 6); color: var(--color-card-foreground); --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)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); > header { container-type: inline-size; container-name: card-header; display: grid; grid-auto-rows: min-content; grid-template-rows: auto auto; align-items: flex-start; gap: calc(var(--spacing) * 1.5); padding-inline: calc(var(--spacing) * 6); &:has(*[data-slot="card-action"]) { grid-template-columns: 1fr auto; } &:is(.border-b) { padding-bottom: calc(var(--spacing) * 6); } h2 { --tw-leading: 1; line-height: 1; --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } p { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-muted-foreground); } } > section { padding-inline: calc(var(--spacing) * 6); } > footer { display: flex; align-items: center; padding-inline: calc(var(--spacing) * 6); &:is(.border-t) { padding-top: calc(var(--spacing) * 6); } } } } @layer components { .form input[type='checkbox']:not([role='switch']), .input[type='checkbox']:not([role='switch']) { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; appearance: none; border-radius: 4px; border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:checked { border-color: var(--color-primary); } &:checked { background-color: var(--color-primary); } &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { &:checked { background-color: var(--color-primary); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } &:checked:after { display: block; width: calc(var(--spacing) * 3.5); height: calc(var(--spacing) * 3.5); background-color: var(--color-primary-foreground); --tw-content: ''; content: var(--tw-content); mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZWNrLWljb24gbHVjaWRlLWNoZWNrIj48cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiLz48L3N2Zz4='); mask-size: 0.875rem; mask-position: center; mask-repeat: no-repeat; } } } @layer components { details { &::details-content { block-size: 0; display: block; opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); transition-behavior: allow-discrete; } &[open]::details-content { block-size: auto; block-size: calc-size(auto, size); opacity: 100%; } summary { display: inline-flex; cursor: pointer; align-items: center; } } details > summary::-webkit-details-marker { display: none; } } @layer components { .dialog { [role='dialog'] { visibility: hidden; position: fixed; inset: calc(var(--spacing) * 0); z-index: 50; background-color: color-mix(in srgb, #000 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-black) 50%, transparent); } opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:not([inert]), &[inert='false'] { visibility: visible; opacity: 100%; > article { visibility: visible; --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); opacity: 100%; } } > article { visibility: hidden; position: fixed; top: 50%; left: 50%; z-index: 50; display: flex; max-height: calc(100% - 2rem); width: 100%; max-width: calc(100% - 2rem); --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); flex-direction: column; gap: calc(var(--spacing) * 4); border-radius: var(--radius-lg); border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-background); padding: calc(var(--spacing) * 6); opacity: 0%; --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)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); @media (width >= 40rem) { max-width: var(--container-lg); } > header { display: flex; flex-direction: column; gap: calc(var(--spacing) * 2); text-align: center; @media (width >= 40rem) { text-align: left; } > h2 { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); --tw-leading: 1; line-height: 1; --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } > p { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-muted-foreground); } } > section { margin-inline: calc(var(--spacing) * -6); flex: 1; padding-inline: calc(var(--spacing) * 6); } > footer { display: flex; flex-direction: column-reverse; gap: calc(var(--spacing) * 2); @media (width >= 40rem) { flex-direction: row; } @media (width >= 40rem) { justify-content: flex-end; } } > button { position: absolute; top: calc(var(--spacing) * 4); right: calc(var(--spacing) * 4); border-radius: var(--radius-xs); opacity: 70%; --tw-ring-offset-color: var(--color-background); transition-property: opacity; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:hover { @media (hover: hover) { opacity: 100%; } } &:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus { --tw-ring-color: var(--color-ring); } &:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); } &:focus { --tw-outline-style: none; outline-style: none; @media (forced-colors: active) { outline: 2px solid transparent; outline-offset: 2px; } } &:disabled { pointer-events: none; } &[data-state="open"] { background-color: var(--color-accent); } &[data-state="open"] { color: var(--color-muted-foreground); } & svg { pointer-events: none; } & svg { flex-shrink: 0; } & svg:not([class*='size-']) { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } } } } } } @layer components { .form input[type='text'], .form input[type='email'], .form input[type='password'], .form input[type='number'], .form input[type='file'], .form input[type='tel'], .form input[type='url'], .form input[type='search'], .form input[type='date'], .form input[type='datetime-local'], .form input[type='month'], .form input[type='week'], .form 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'] { display: flex; height: calc(var(--spacing) * 9); width: 100%; min-width: calc(var(--spacing) * 0); appearance: none; border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); background-color: transparent; padding-inline: calc(var(--spacing) * 3); padding-block: calc(var(--spacing) * 1); font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; & *::selection { background-color: var(--color-primary); } &::selection { background-color: var(--color-primary); } & *::selection { color: var(--color-primary-foreground); } &::selection { color: var(--color-primary-foreground); } &::file-selector-button { display: inline-flex; } &::file-selector-button { height: calc(var(--spacing) * 7); } &::file-selector-button { border-style: var(--tw-border-style); border-width: 0px; } &::file-selector-button { background-color: transparent; } &::file-selector-button { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } &::file-selector-button { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); } &::file-selector-button { color: var(--color-foreground); } &::placeholder { color: var(--color-muted-foreground); } &:disabled { pointer-events: none; } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } @media (width >= 48rem) { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } } .form input[type='date'], .form input[type='datetime-local'], .form input[type='month'], .form input[type='week'], .form input[type='time'], .input[type='date'], .input[type='datetime-local'], .input[type='month'], .input[type='week'], .input[type='time'] { &:is(.dark *) { color-scheme: dark; } } } @layer components { .form label, .label { display: flex; align-items: center; gap: calc(var(--spacing) * 2); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-leading: 1; line-height: 1; --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); -webkit-user-select: none; user-select: none; &:is(:where(.peer):disabled ~ *) { pointer-events: none; } &:is(:where(.peer):disabled ~ *) { opacity: 50%; } &:has(>*:disabled), &:has(+*:disabled) { pointer-events: none; opacity: 50%; } } } @layer components { .popover { position: relative; display: inline-flex; > [data-popover] { visibility: visible; position: absolute; z-index: 50; width: max-content; min-width: 100%; --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); overflow-x: hidden; overflow-y: auto; border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-popover); padding: calc(var(--spacing) * 1); color: var(--color-popover-foreground); opacity: 100%; --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)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &[aria-hidden='true'] { visibility: hidden; --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); opacity: 0%; &:not([data-side]), &[data-side='bottom'] { --tw-translate-y: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); } &[data-side='top'] { --tw-translate-y: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); } &[data-side='left'] { --tw-translate-x: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); } &[data-side='right'] { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); } } &:not([data-side]), &[data-side='bottom'] { top: 100%; margin-top: calc(var(--spacing) * 1); } &[data-side='top'] { bottom: 100%; margin-bottom: calc(var(--spacing) * 1); } &[data-side='left'] { right: 100%; margin-right: calc(var(--spacing) * 1); } &[data-side='right'] { left: 100%; margin-left: calc(var(--spacing) * 1); } &:not([data-side]), &[data-side='bottom'], &[data-side='top'] { &:not([data-align]), &[data-align='start'] { left: calc(var(--spacing) * 0); } &[data-align='end'] { right: calc(var(--spacing) * 0); } &[data-align='center'] { left: calc(1/2 * 100%); --tw-translate-x: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } } &[data-side='left'], &[data-side='right'] { &:not([data-align]), &[data-align='start'] { top: calc(var(--spacing) * 0); } &[data-align='end'] { bottom: calc(var(--spacing) * 0); } &[data-align='center'] { top: calc(1/2 * 100%); --tw-translate-y: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } } [role='menuitem'], [role='option'] { position: relative; display: flex; width: 100%; cursor: default; align-items: center; gap: calc(var(--spacing) * 2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: var(--radius-sm); padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 1.5); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-outline-style: none; outline-style: none; @media (forced-colors: active) { outline: 2px solid transparent; outline-offset: 2px; } -webkit-user-select: none; user-select: none; &:disabled { pointer-events: none; } &:disabled { opacity: 50%; } &[aria-disabled="true"] { pointer-events: none; } &[aria-disabled="true"] { opacity: 50%; } &[aria-hidden="true"] { display: none; } & svg { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } & svg { flex-shrink: 0; } & svg { color: var(--color-muted-foreground); } } [role='menuitem'] { &:hover { @media (hover: hover) { background-color: var(--color-accent); } } &:hover { @media (hover: hover) { color: var(--color-accent-foreground); } } &:focus-visible { background-color: var(--color-accent); } &:focus-visible { color: var(--color-accent-foreground); } } [role='option'] { padding-right: calc(var(--spacing) * 7.5); &[data-focus] { background-color: var(--color-accent); } &[data-focus] { color: var(--color-accent-foreground); } &[aria-selected='true'] { background-image: var(--check-icon); background-size: 0.875rem; background-position: center right 0.5rem; background-repeat: no-repeat; } } [role='menu'] [role='heading'] { display: flex; padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 1.5); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); } [role='listbox'] [role='heading'] { display: flex; padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 1.5); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); color: var(--color-muted-foreground); } [role='listbox'] [role='group']:not(:has([role='option']:not([aria-hidden='true']))) { display: none; } [role='separator'] { margin-inline: calc(var(--spacing) * -1); margin-block: calc(var(--spacing) * 1); border-color: var(--color-border); } > header { margin-inline: calc(var(--spacing) * -1); margin-top: calc(var(--spacing) * -1); margin-bottom: calc(var(--spacing) * 1); display: flex; height: calc(var(--spacing) * 9); align-items: center; gap: calc(var(--spacing) * 2); border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; padding-inline: calc(var(--spacing) * 3); svg { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; opacity: 50%; } input[role='combobox'] { display: flex; height: calc(var(--spacing) * 10); width: 100%; min-width: calc(var(--spacing) * 0); flex: 1; border-radius: var(--radius-md); background-color: transparent; padding-block: calc(var(--spacing) * 3); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-outline-style: none; outline-style: none; @media (forced-colors: active) { outline: 2px solid transparent; outline-offset: 2px; } &::placeholder { color: var(--color-muted-foreground); } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } } } [role='listbox']:not(:has([data-value]:not([aria-hidden='true'])))::before { display: flex; align-items: center; justify-content: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: calc(var(--spacing) * 6); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } [role='listbox'][data-empty]:not(:has([data-value]:not([aria-hidden='true'])))::before { --tw-content: attr(data-empty); content: var(--tw-content); } [role='listbox']:not([data-empty]):not(:has([data-value]:not([aria-hidden='true'])))::before { --tw-content: 'No results found'; content: var(--tw-content); } } } } @layer components { .form input[type='radio'], .input[type='radio'] { position: relative; aspect-ratio: 1 / 1; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; appearance: none; border-radius: calc(infinity * 1px); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); color: var(--color-primary); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } &:checked:before { position: absolute; top: calc(1/2 * 100%); left: calc(1/2 * 100%); width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); --tw-translate-x: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); --tw-translate-y: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); border-radius: calc(infinity * 1px); background-color: var(--color-primary); --tw-content: ''; content: var(--tw-content); } } } @layer components { .form input[type='range'], .input[type='range'] { display: flex; appearance: none; align-items: center; padding: calc(var(--spacing) * 0); --tw-outline-style: none; outline-style: none; --slider-value: 20%; &:hover, &:focus-visible { &::-webkit-slider-thumb { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &::-moz-range-thumb { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &::-ms-thumb { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } } &::-webkit-slider-thumb { margin-top: calc(var(--spacing) * -1.25); display: block; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; appearance: none; border-radius: calc(infinity * 1px); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-primary); background-color: var(--color-background); --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)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &::-webkit-slider-runnable-track { height: calc(var(--spacing) * 1.5); width: 100%; appearance: none; border-radius: calc(infinity * 1px); background: linear-gradient(to right, var(--primary) var(--slider-value), var(--muted) var(--slider-value)); } &::-moz-range-thumb { margin-top: calc(var(--spacing) * -1.25); display: block; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; appearance: none; border-radius: calc(infinity * 1px); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-primary); background-color: var(--color-background); --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)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &::-moz-range-track { height: calc(var(--spacing) * 1.5); width: 100%; appearance: none; border-radius: calc(infinity * 1px); background: linear-gradient(to right, var(--primary) var(--slider-value), var(--muted) var(--slider-value)); } &::-ms-thumb { margin-top: calc(var(--spacing) * -1.25); display: block; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; appearance: none; border-radius: calc(infinity * 1px); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-primary); background-color: var(--color-background); --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)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &::-ms-track { height: calc(var(--spacing) * 1.5); width: 100%; appearance: none; border-radius: calc(infinity * 1px); } &::-ms-fill-lower { border-radius: calc(infinity * 1px); background-color: var(--color-primary); } &::-ms-fill-upper { border-radius: calc(infinity * 1px); background-color: var(--color-muted); } } } @layer components { .form select, .select { display: flex; height: calc(var(--spacing) * 9); width: fit-content; appearance: none; align-items: center; justify-content: space-between; gap: calc(var(--spacing) * 2); border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); background-color: transparent; padding-block: calc(var(--spacing) * 2); padding-right: calc(var(--spacing) * 9); padding-left: calc(var(--spacing) * 3); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); white-space: nowrap; --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--input) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 50%, transparent); } } } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } background-image: var(--chevron-down-icon); background-size: 1rem; background-position: center right 0.75rem; background-repeat: no-repeat; } } @layer components { .form input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch'] { display: inline-flex; height: 1.15rem; width: calc(var(--spacing) * 8); flex-shrink: 0; appearance: none; align-items: center; border-radius: calc(infinity * 1px); border-style: var(--tw-border-style); border-width: 1px; border-color: transparent; --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } background-color: var(--color-input); &:checked { background-color: var(--color-primary); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 80%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 80%, transparent); } } &:is(.dark *) { &:checked { background-color: var(--color-primary); } } &::before { content: var(--tw-content); pointer-events: none; } &::before { content: var(--tw-content); display: block; } &::before { content: var(--tw-content); width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } &::before { content: var(--tw-content); border-radius: calc(infinity * 1px); } &::before { content: var(--tw-content); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &::before { content: var(--tw-content); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } &::before { content: var(--tw-content); --tw-content: ''; content: var(--tw-content); } &::before { content: var(--tw-content); background-color: var(--color-background); } &:is(.dark *) { &::before { content: var(--tw-content); background-color: var(--color-foreground); } } &:checked { &::before { content: var(--tw-content); margin-inline-start: calc(var(--spacing) * 3.5); } } &:is(.dark *) { &:checked { &::before { content: var(--tw-content); background-color: var(--color-primary-foreground); } } } } } @layer components { .table { width: 100%; caption-side: bottom; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); thead { & tr { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; } } tbody { & tr:last-child { border-style: var(--tw-border-style); border-width: 0px; } } tfoot { border-top-style: var(--tw-border-style); border-top-width: 1px; background-color: color-mix(in srgb, var(--muted) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-muted) 50%, transparent); } --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); &>tr { &:last-child { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; } } } tr { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--muted) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-muted) 50%, transparent); } } } } th { height: calc(var(--spacing) * 10); padding-inline: calc(var(--spacing) * 2); text-align: left; vertical-align: middle; --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); white-space: nowrap; color: var(--color-foreground); &:has([role=checkbox]) { padding-right: calc(var(--spacing) * 0); } &>[role=checkbox] { --tw-translate-y: 2px; translate: var(--tw-translate-x) var(--tw-translate-y); } } td { padding: calc(var(--spacing) * 2); vertical-align: middle; white-space: nowrap; &:has([role=checkbox]) { padding-right: calc(var(--spacing) * 0); } &>[role=checkbox] { --tw-translate-y: 2px; translate: var(--tw-translate-x) var(--tw-translate-y); } } caption { margin-top: calc(var(--spacing) * 4); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-muted-foreground); } } } @layer components { .tabs { display: flex; flex-direction: column; gap: calc(var(--spacing) * 2); [role='tablist'] { display: inline-flex; height: calc(var(--spacing) * 9); width: fit-content; align-items: center; justify-content: center; border-radius: var(--radius-lg); background-color: var(--color-muted); padding: 3px; color: var(--color-muted-foreground); [role='tab'] { display: inline-flex; height: calc(100% - 1px); flex: 1; align-items: center; justify-content: center; gap: calc(var(--spacing) * 1.5); border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; border-color: transparent; padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 1); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); white-space: nowrap; color: var(--color-foreground); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:focus-visible { outline-style: var(--tw-outline-style); outline-width: 1px; } &:focus-visible { outline-color: var(--color-ring); } &:disabled { pointer-events: none; } &:disabled { opacity: 50%; } &:is(.dark *) { color: var(--color-muted-foreground); } & svg { pointer-events: none; } & svg { flex-shrink: 0; } & svg:not([class*='size-']) { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } &[aria-selected='true'] { background-color: var(--color-background); --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)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:is(.dark *) { border-color: var(--color-input); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { color: var(--color-foreground); } } } } [role='tabpanel'] { flex: 1; --tw-outline-style: none; outline-style: none; } } } @layer components { .form textarea, .textarea { display: flex; field-sizing: content; min-height: calc(var(--spacing) * 16); width: 100%; border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); background-color: transparent; padding-inline: calc(var(--spacing) * 3); padding-block: calc(var(--spacing) * 2); font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &::placeholder { color: var(--color-muted-foreground); } &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } @media (width >= 48rem) { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } } } @layer components { .toaster { pointer-events: none; position: fixed; bottom: calc(var(--spacing) * 0); z-index: 50; display: flex; width: 100%; flex-direction: column-reverse; padding: calc(var(--spacing) * 4); @media (width >= 40rem) { max-width: calc(var(--spacing) * 90); } &:not([data-align]), &[data-align='end'] { right: calc(var(--spacing) * 0); } &[data-align='start'] { left: calc(var(--spacing) * 0); } &[data-align='center'] { left: calc(1/2 * 100%); --tw-translate-x: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } .toast { pointer-events: auto; margin-top: calc(var(--spacing) * 4); display: grid; width: 100%; animation: toast-up 0.3s ease-in-out; grid-template-rows: 1fr; transition-property: grid-template-rows,opacity,margin; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-duration: 300ms; transition-duration: 300ms; --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); .toast-content { overflow: hidden; border-radius: var(--radius-lg); border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-popover); font-size: 13px; color: var(--color-popover-foreground); --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)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &[aria-hidden='true'] { margin: calc(var(--spacing) * 0); grid-template-rows: 0fr; overflow: hidden; border-style: var(--tw-border-style); border-width: 0px; padding: calc(var(--spacing) * 0); opacity: 0%; .toast-content { border-style: var(--tw-border-style); border-width: 0px; } } } } } @keyframes toast-up { from { opacity: 0; transform: translateY(100%); } } @layer components { [data-tooltip] { position: relative; &:before { visibility: hidden; position: absolute; z-index: 50; width: fit-content; max-width: var(--container-xs); --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: var(--radius-md); background-color: var(--color-primary); padding-inline: calc(var(--spacing) * 3); padding-block: calc(var(--spacing) * 1.5); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); color: var(--color-primary-foreground); opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-content: attr(data-tooltip); content: var(--tw-content); } &:hover:before { visibility: visible; --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); opacity: 100%; } &:not([data-side]), &[data-side='top'] { &::before { content: var(--tw-content); bottom: 100%; } &::before { content: var(--tw-content); margin-bottom: calc(var(--spacing) * 1.5); } &::before { content: var(--tw-content); --tw-translate-y: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); } &:hover { @media (hover: hover) { &::before { content: var(--tw-content); --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } &[data-side='bottom'] { &::before { content: var(--tw-content); top: 100%; } &::before { content: var(--tw-content); margin-top: calc(var(--spacing) * 1.5); } &::before { content: var(--tw-content); --tw-translate-y: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); } &:hover { @media (hover: hover) { &::before { content: var(--tw-content); --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } &:not([data-side]), &[data-side='top'], &[data-side='bottom'] { &[data-align='start'] { &::before { content: var(--tw-content); left: calc(var(--spacing) * 0); } } &[data-align='end'] { &::before { content: var(--tw-content); right: calc(var(--spacing) * 0); } } &:not([data-align]), &[data-align='center'] { &::before { content: var(--tw-content); left: calc(1/2 * 100%); } &::before { content: var(--tw-content); --tw-translate-x: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } } } &[data-side='left'] { &::before { content: var(--tw-content); right: 100%; } &::before { content: var(--tw-content); margin-right: calc(var(--spacing) * 1.5); } &::before { content: var(--tw-content); --tw-translate-x: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); } &:hover { @media (hover: hover) { &::before { content: var(--tw-content); --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } &[data-side='right'] { &::before { content: var(--tw-content); left: 100%; } &::before { content: var(--tw-content); margin-left: calc(var(--spacing) * 1.5); } &::before { content: var(--tw-content); --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); } &:hover { @media (hover: hover) { &::before { content: var(--tw-content); --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } &[data-side='left'], &[data-side='right'] { &[data-align='start'] { &::before { content: var(--tw-content); top: calc(var(--spacing) * 0); } } &[data-align='end'] { &::before { content: var(--tw-content); bottom: calc(var(--spacing) * 0); } } &:not([data-align]), &[data-align='center'] { &::before { content: var(--tw-content); top: calc(1/2 * 100%); } &::before { content: var(--tw-content); --tw-translate-y: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } } @layer components { .prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6, .h1, .h2, .h3, .h4, .h5, .h6 { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); } .prose h1, .h1 { font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); } .prose h2, .h2 { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); } .prose h3, .h3 { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); } .prose h4, .prose h5, .prose h6, .h4, .h5, .h6 { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); } .prose a, .link { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); text-decoration-line: underline; text-underline-offset: 4px; } .prose code, .code { position: relative; border-radius: 0.25rem; background-color: var(--color-muted); padding-inline: 0.3rem; padding-block: 0.2rem; font-family: var(--font-mono); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } .prose pre:has(> code), .code-block { border-radius: var(--radius-md); border-color: var(--color-border); background-color: var(--color-muted); } .prose pre code, .code-block code { display: inline-block; padding: calc(var(--spacing) * 4); font-family: var(--font-mono); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } .prose blockquote, .quote { border-left-style: var(--tw-border-style); border-left-width: 4px; border-color: var(--color-border); padding-left: calc(var(--spacing) * 4); } .prose ol, .ordered-list { margin-block: calc(var(--spacing) * 6); margin-left: calc(var(--spacing) * 6); list-style-type: decimal; li { margin-bottom: calc(var(--spacing) * 2); } } .prose ul, .unordered-list { margin-block: calc(var(--spacing) * 6); margin-left: calc(var(--spacing) * 6); list-style-type: disc; li { margin-bottom: calc(var(--spacing) * 2); } } .prose > *:first-child { margin-top: calc(var(--spacing) * 0) !important; } .prose > *:last-child { margin-bottom: calc(var(--spacing) * 0) !important; } .prose h1 { margin-bottom: calc(var(--spacing) * 8); } .prose h2 { margin-top: calc(var(--spacing) * 8); margin-bottom: calc(var(--spacing) * 6); } .prose h3 { margin-top: calc(var(--spacing) * 6); margin-bottom: calc(var(--spacing) * 4); } .prose h4 { margin-block: calc(var(--spacing) * 4); } .prose h5 { margin-block: calc(var(--spacing) * 4); } .prose h6 { margin-block: calc(var(--spacing) * 4); } .prose > p, .prose > blockquote, .prose > ul, .prose > ol, .prose > dl, .prose > table, .prose > pre, .prose > p { margin-block: calc(var(--spacing) * 4); } .prose > *:last-child { margin-bottom: calc(var(--spacing) * 0) !important; } .prose strong, .prose b { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } } @property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; } @property --tw-leading { syntax: "*"; inherits: false; } @property --tw-font-weight { syntax: "*"; inherits: false; } @property --tw-tracking { syntax: "*"; inherits: false; } @property --tw-ordinal { syntax: "*"; inherits: false; } @property --tw-slashed-zero { syntax: "*"; inherits: false; } @property --tw-numeric-figure { syntax: "*"; inherits: false; } @property --tw-numeric-spacing { syntax: "*"; inherits: false; } @property --tw-numeric-fraction { syntax: "*"; inherits: false; } @property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-shadow-color { syntax: "*"; inherits: false; } @property --tw-shadow-alpha { syntax: ""; inherits: false; initial-value: 100%; } @property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-inset-shadow-color { syntax: "*"; inherits: false; } @property --tw-inset-shadow-alpha { syntax: ""; inherits: false; initial-value: 100%; } @property --tw-ring-color { syntax: "*"; inherits: false; } @property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-inset-ring-color { syntax: "*"; inherits: false; } @property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-ring-inset { syntax: "*"; inherits: false; } @property --tw-ring-offset-width { syntax: ""; inherits: false; initial-value: 0px; } @property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; } @property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; } @property --tw-blur { syntax: "*"; inherits: false; } @property --tw-brightness { syntax: "*"; inherits: false; } @property --tw-contrast { syntax: "*"; inherits: false; } @property --tw-grayscale { syntax: "*"; inherits: false; } @property --tw-hue-rotate { syntax: "*"; inherits: false; } @property --tw-invert { syntax: "*"; inherits: false; } @property --tw-opacity { syntax: "*"; inherits: false; } @property --tw-saturate { syntax: "*"; inherits: false; } @property --tw-sepia { syntax: "*"; inherits: false; } @property --tw-drop-shadow { syntax: "*"; inherits: false; } @property --tw-drop-shadow-color { syntax: "*"; inherits: false; } @property --tw-drop-shadow-alpha { syntax: ""; inherits: false; initial-value: 100%; } @property --tw-drop-shadow-size { syntax: "*"; inherits: false; } @property --tw-duration { syntax: "*"; inherits: false; } @property --tw-ease { syntax: "*"; inherits: false; } @property --tw-content { syntax: "*"; initial-value: ""; inherits: false; } @property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; } @property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; } @property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; } @keyframes spin { to { transform: rotate(360deg); } } @keyframes pulse { 50% { opacity: 0.5; } } @layer properties { @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) { *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-border-style: solid; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-duration: initial; --tw-ease: initial; --tw-content: ""; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; } } }