cladux-html 0.1.0 → 0.3.0

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