/*! tailwindcss v4.0.6 | MIT License | https://tailwindcss.com */
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji';
    --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
    --color-red-50: oklch(0.971 0.013 17.38);
    --color-red-100: oklch(0.936 0.032 17.717);
    --color-red-200: oklch(0.885 0.062 18.334);
    --color-red-300: oklch(0.808 0.114 19.571);
    --color-red-400: oklch(0.704 0.191 22.216);
    --color-red-500: oklch(0.637 0.237 25.331);
    --color-red-600: oklch(0.577 0.245 27.325);
    --color-red-700: oklch(0.505 0.213 27.518);
    --color-red-800: oklch(0.444 0.177 26.899);
    --color-red-900: oklch(0.396 0.141 25.723);
    --color-red-950: oklch(0.258 0.092 26.042);
    --color-orange-50: oklch(0.98 0.016 73.684);
    --color-orange-100: oklch(0.954 0.038 75.164);
    --color-orange-200: oklch(0.901 0.076 70.697);
    --color-orange-300: oklch(0.837 0.128 66.29);
    --color-orange-400: oklch(0.75 0.183 55.934);
    --color-orange-500: oklch(0.705 0.213 47.604);
    --color-orange-600: oklch(0.646 0.222 41.116);
    --color-orange-700: oklch(0.553 0.195 38.402);
    --color-orange-800: oklch(0.47 0.157 37.304);
    --color-orange-900: oklch(0.408 0.123 38.172);
    --color-orange-950: oklch(0.266 0.079 36.259);
    --color-amber-50: oklch(0.987 0.022 95.277);
    --color-amber-100: oklch(0.962 0.059 95.617);
    --color-amber-200: oklch(0.924 0.12 95.746);
    --color-amber-300: oklch(0.879 0.169 91.605);
    --color-amber-400: oklch(0.828 0.189 84.429);
    --color-amber-500: oklch(0.769 0.188 70.08);
    --color-amber-600: oklch(0.666 0.179 58.318);
    --color-amber-700: oklch(0.555 0.163 48.998);
    --color-amber-800: oklch(0.473 0.137 46.201);
    --color-amber-900: oklch(0.414 0.112 45.904);
    --color-amber-950: oklch(0.279 0.077 45.635);
    --color-yellow-50: oklch(0.987 0.026 102.212);
    --color-yellow-100: oklch(0.973 0.071 103.193);
    --color-yellow-200: oklch(0.945 0.129 101.54);
    --color-yellow-300: oklch(0.905 0.182 98.111);
    --color-yellow-400: oklch(0.852 0.199 91.936);
    --color-yellow-500: oklch(0.795 0.184 86.047);
    --color-yellow-600: oklch(0.681 0.162 75.834);
    --color-yellow-700: oklch(0.554 0.135 66.442);
    --color-yellow-800: oklch(0.476 0.114 61.907);
    --color-yellow-900: oklch(0.421 0.095 57.708);
    --color-yellow-950: oklch(0.286 0.066 53.813);
    --color-lime-50: oklch(0.986 0.031 120.757);
    --color-lime-100: oklch(0.967 0.067 122.328);
    --color-lime-200: oklch(0.938 0.127 124.321);
    --color-lime-300: oklch(0.897 0.196 126.665);
    --color-lime-400: oklch(0.841 0.238 128.85);
    --color-lime-500: oklch(0.768 0.233 130.85);
    --color-lime-600: oklch(0.648 0.2 131.684);
    --color-lime-700: oklch(0.532 0.157 131.589);
    --color-lime-800: oklch(0.453 0.124 130.933);
    --color-lime-900: oklch(0.405 0.101 131.063);
    --color-lime-950: oklch(0.274 0.072 132.109);
    --color-green-50: oklch(0.982 0.018 155.826);
    --color-green-100: oklch(0.962 0.044 156.743);
    --color-green-200: oklch(0.925 0.084 155.995);
    --color-green-300: oklch(0.871 0.15 154.449);
    --color-green-400: oklch(0.792 0.209 151.711);
    --color-green-500: oklch(0.723 0.219 149.579);
    --color-green-600: oklch(0.627 0.194 149.214);
    --color-green-700: oklch(0.527 0.154 150.069);
    --color-green-800: oklch(0.448 0.119 151.328);
    --color-green-900: oklch(0.393 0.095 152.535);
    --color-green-950: oklch(0.266 0.065 152.934);
    --color-emerald-50: oklch(0.979 0.021 166.113);
    --color-emerald-100: oklch(0.95 0.052 163.051);
    --color-emerald-200: oklch(0.905 0.093 164.15);
    --color-emerald-300: oklch(0.845 0.143 164.978);
    --color-emerald-400: oklch(0.765 0.177 163.223);
    --color-emerald-500: oklch(0.696 0.17 162.48);
    --color-emerald-600: oklch(0.596 0.145 163.225);
    --color-emerald-700: oklch(0.508 0.118 165.612);
    --color-emerald-800: oklch(0.432 0.095 166.913);
    --color-emerald-900: oklch(0.378 0.077 168.94);
    --color-emerald-950: oklch(0.262 0.051 172.552);
    --color-teal-50: oklch(0.984 0.014 180.72);
    --color-teal-100: oklch(0.953 0.051 180.801);
    --color-teal-200: oklch(0.91 0.096 180.426);
    --color-teal-300: oklch(0.855 0.138 181.071);
    --color-teal-400: oklch(0.777 0.152 181.912);
    --color-teal-500: oklch(0.704 0.14 182.503);
    --color-teal-600: oklch(0.6 0.118 184.704);
    --color-teal-700: oklch(0.511 0.096 186.391);
    --color-teal-800: oklch(0.437 0.078 188.216);
    --color-teal-900: oklch(0.386 0.063 188.416);
    --color-teal-950: oklch(0.277 0.046 192.524);
    --color-cyan-50: oklch(0.984 0.019 200.873);
    --color-cyan-100: oklch(0.956 0.045 203.388);
    --color-cyan-200: oklch(0.917 0.08 205.041);
    --color-cyan-300: oklch(0.865 0.127 207.078);
    --color-cyan-400: oklch(0.789 0.154 211.53);
    --color-cyan-500: oklch(0.715 0.143 215.221);
    --color-cyan-600: oklch(0.609 0.126 221.723);
    --color-cyan-700: oklch(0.52 0.105 223.128);
    --color-cyan-800: oklch(0.45 0.085 224.283);
    --color-cyan-900: oklch(0.398 0.07 227.392);
    --color-cyan-950: oklch(0.302 0.056 229.695);
    --color-sky-50: oklch(0.977 0.013 236.62);
    --color-sky-100: oklch(0.951 0.026 236.824);
    --color-sky-200: oklch(0.901 0.058 230.902);
    --color-sky-300: oklch(0.828 0.111 230.318);
    --color-sky-400: oklch(0.746 0.16 232.661);
    --color-sky-500: oklch(0.685 0.169 237.323);
    --color-sky-600: oklch(0.588 0.158 241.966);
    --color-sky-700: oklch(0.5 0.134 242.749);
    --color-sky-800: oklch(0.443 0.11 240.79);
    --color-sky-900: oklch(0.391 0.09 240.876);
    --color-sky-950: oklch(0.293 0.066 243.157);
    --color-blue-50: oklch(0.97 0.014 254.604);
    --color-blue-100: oklch(0.932 0.032 255.585);
    --color-blue-200: oklch(0.882 0.059 254.128);
    --color-blue-300: oklch(0.809 0.105 251.813);
    --color-blue-400: oklch(0.707 0.165 254.624);
    --color-blue-500: oklch(0.623 0.214 259.815);
    --color-blue-600: oklch(0.546 0.245 262.881);
    --color-blue-700: oklch(0.488 0.243 264.376);
    --color-blue-800: oklch(0.424 0.199 265.638);
    --color-blue-900: oklch(0.379 0.146 265.522);
    --color-blue-950: oklch(0.282 0.091 267.935);
    --color-indigo-50: oklch(0.962 0.018 272.314);
    --color-indigo-100: oklch(0.93 0.034 272.788);
    --color-indigo-200: oklch(0.87 0.065 274.039);
    --color-indigo-300: oklch(0.785 0.115 274.713);
    --color-indigo-400: oklch(0.673 0.182 276.935);
    --color-indigo-500: oklch(0.585 0.233 277.117);
    --color-indigo-600: oklch(0.511 0.262 276.966);
    --color-indigo-700: oklch(0.457 0.24 277.023);
    --color-indigo-800: oklch(0.398 0.195 277.366);
    --color-indigo-900: oklch(0.359 0.144 278.697);
    --color-indigo-950: oklch(0.257 0.09 281.288);
    --color-violet-50: oklch(0.969 0.016 293.756);
    --color-violet-100: oklch(0.943 0.029 294.588);
    --color-violet-200: oklch(0.894 0.057 293.283);
    --color-violet-300: oklch(0.811 0.111 293.571);
    --color-violet-400: oklch(0.702 0.183 293.541);
    --color-violet-500: oklch(0.606 0.25 292.717);
    --color-violet-600: oklch(0.541 0.281 293.009);
    --color-violet-700: oklch(0.491 0.27 292.581);
    --color-violet-800: oklch(0.432 0.232 292.759);
    --color-violet-900: oklch(0.38 0.189 293.745);
    --color-violet-950: oklch(0.283 0.141 291.089);
    --color-purple-50: oklch(0.977 0.014 308.299);
    --color-purple-100: oklch(0.946 0.033 307.174);
    --color-purple-200: oklch(0.902 0.063 306.703);
    --color-purple-300: oklch(0.827 0.119 306.383);
    --color-purple-400: oklch(0.714 0.203 305.504);
    --color-purple-500: oklch(0.627 0.265 303.9);
    --color-purple-600: oklch(0.558 0.288 302.321);
    --color-purple-700: oklch(0.496 0.265 301.924);
    --color-purple-800: oklch(0.438 0.218 303.724);
    --color-purple-900: oklch(0.381 0.176 304.987);
    --color-purple-950: oklch(0.291 0.149 302.717);
    --color-fuchsia-50: oklch(0.977 0.017 320.058);
    --color-fuchsia-100: oklch(0.952 0.037 318.852);
    --color-fuchsia-200: oklch(0.903 0.076 319.62);
    --color-fuchsia-300: oklch(0.833 0.145 321.434);
    --color-fuchsia-400: oklch(0.74 0.238 322.16);
    --color-fuchsia-500: oklch(0.667 0.295 322.15);
    --color-fuchsia-600: oklch(0.591 0.293 322.896);
    --color-fuchsia-700: oklch(0.518 0.253 323.949);
    --color-fuchsia-800: oklch(0.452 0.211 324.591);
    --color-fuchsia-900: oklch(0.401 0.17 325.612);
    --color-fuchsia-950: oklch(0.293 0.136 325.661);
    --color-pink-50: oklch(0.971 0.014 343.198);
    --color-pink-100: oklch(0.948 0.028 342.258);
    --color-pink-200: oklch(0.899 0.061 343.231);
    --color-pink-300: oklch(0.823 0.12 346.018);
    --color-pink-400: oklch(0.718 0.202 349.761);
    --color-pink-500: oklch(0.656 0.241 354.308);
    --color-pink-600: oklch(0.592 0.249 0.584);
    --color-pink-700: oklch(0.525 0.223 3.958);
    --color-pink-800: oklch(0.459 0.187 3.815);
    --color-pink-900: oklch(0.408 0.153 2.432);
    --color-pink-950: oklch(0.284 0.109 3.907);
    --color-rose-50: oklch(0.969 0.015 12.422);
    --color-rose-100: oklch(0.941 0.03 12.58);
    --color-rose-200: oklch(0.892 0.058 10.001);
    --color-rose-300: oklch(0.81 0.117 11.638);
    --color-rose-400: oklch(0.712 0.194 13.428);
    --color-rose-500: oklch(0.645 0.246 16.439);
    --color-rose-600: oklch(0.586 0.253 17.585);
    --color-rose-700: oklch(0.514 0.222 16.935);
    --color-rose-800: oklch(0.455 0.188 13.697);
    --color-rose-900: oklch(0.41 0.159 10.272);
    --color-rose-950: oklch(0.271 0.105 12.094);
    --color-slate-50: oklch(0.984 0.003 247.858);
    --color-slate-100: oklch(0.968 0.007 247.896);
    --color-slate-200: oklch(0.929 0.013 255.508);
    --color-slate-300: oklch(0.869 0.022 252.894);
    --color-slate-400: oklch(0.704 0.04 256.788);
    --color-slate-500: oklch(0.554 0.046 257.417);
    --color-slate-600: oklch(0.446 0.043 257.281);
    --color-slate-700: oklch(0.372 0.044 257.287);
    --color-slate-800: oklch(0.279 0.041 260.031);
    --color-slate-900: oklch(0.208 0.042 265.755);
    --color-slate-950: oklch(0.129 0.042 264.695);
    --color-gray-50: oklch(0.985 0.002 247.839);
    --color-gray-100: oklch(0.967 0.003 264.542);
    --color-gray-200: oklch(0.928 0.006 264.531);
    --color-gray-300: oklch(0.872 0.01 258.338);
    --color-gray-400: oklch(0.707 0.022 261.325);
    --color-gray-500: oklch(0.551 0.027 264.364);
    --color-gray-600: oklch(0.446 0.03 256.802);
    --color-gray-700: oklch(0.373 0.034 259.733);
    --color-gray-800: oklch(0.278 0.033 256.848);
    --color-gray-900: oklch(0.21 0.034 264.665);
    --color-gray-950: oklch(0.13 0.028 261.692);
    --color-zinc-50: oklch(0.985 0 0);
    --color-zinc-100: oklch(0.967 0.001 286.375);
    --color-zinc-200: oklch(0.92 0.004 286.32);
    --color-zinc-300: oklch(0.871 0.006 286.286);
    --color-zinc-400: oklch(0.705 0.015 286.067);
    --color-zinc-500: oklch(0.552 0.016 285.938);
    --color-zinc-600: oklch(0.442 0.017 285.786);
    --color-zinc-700: oklch(0.37 0.013 285.805);
    --color-zinc-800: oklch(0.274 0.006 286.033);
    --color-zinc-900: oklch(0.21 0.006 285.885);
    --color-zinc-950: oklch(0.141 0.005 285.823);
    --color-neutral-50: oklch(0.985 0 0);
    --color-neutral-100: oklch(0.97 0 0);
    --color-neutral-200: oklch(0.922 0 0);
    --color-neutral-300: oklch(0.87 0 0);
    --color-neutral-400: oklch(0.708 0 0);
    --color-neutral-500: oklch(0.556 0 0);
    --color-neutral-600: oklch(0.439 0 0);
    --color-neutral-700: oklch(0.371 0 0);
    --color-neutral-800: oklch(0.269 0 0);
    --color-neutral-900: oklch(0.205 0 0);
    --color-neutral-950: oklch(0.145 0 0);
    --color-stone-50: oklch(0.985 0.001 106.423);
    --color-stone-100: oklch(0.97 0.001 106.424);
    --color-stone-200: oklch(0.923 0.003 48.717);
    --color-stone-300: oklch(0.869 0.005 56.366);
    --color-stone-400: oklch(0.709 0.01 56.259);
    --color-stone-500: oklch(0.553 0.013 58.071);
    --color-stone-600: oklch(0.444 0.011 73.639);
    --color-stone-700: oklch(0.374 0.01 67.558);
    --color-stone-800: oklch(0.268 0.007 34.298);
    --color-stone-900: oklch(0.216 0.006 56.043);
    --color-stone-950: oklch(0.147 0.004 49.25);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --breakpoint-sm: 40rem;
    --breakpoint-md: 48rem;
    --breakpoint-lg: 64rem;
    --breakpoint-xl: 80rem;
    --breakpoint-2xl: 96rem;
    --container-3xs: 16rem;
    --container-2xs: 18rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --text-9xl: 8rem;
    --text-9xl--line-height: 1;
    --font-weight-thin: 100;
    --font-weight-extralight: 200;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-normal: 0em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --radius-xs: 0.125rem;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;
    --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
    --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);
    --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
    --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);
    --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);
    --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
    --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
    --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
    --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
    --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-xs: 4px;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;
    --perspective-dramatic: 100px;
    --perspective-near: 300px;
    --perspective-normal: 500px;
    --perspective-midrange: 800px;
    --perspective-distant: 1200px;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-font-feature-settings: var(--font-sans--font-feature-settings);
    --default-font-variation-settings: var(--font-sans--font-variation-settings);
    --default-mono-font-family: var(--font-mono);
    --default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
    --default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji' );
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  body {
    line-height: inherit;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var( --default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace );
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
    color: color-mix(in oklab, currentColor 50%, transparent);
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
  }
}
@layer utilities {
  .diff {
    position: relative;
    display: grid;
    width: 100%;
    overflow: hidden;
    webkit-user-select: none;
    user-select: none;
    direction: ltr;
    container-type: inline-size;
    grid-template-columns: auto 1fr;
    &:focus-visible, &:has(.diff-item-1:focus-visible) {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
      outline-offset: 1px;
      outline-color: var(--color-base-content);
    }
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
      outline-offset: 1px;
      outline-color: var(--color-base-content);
      .diff-resizer {
        min-width: 90cqi;
        max-width: 90cqi;
      }
    }
    &:has(.diff-item-2:focus-visible) {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
      outline-offset: 1px;
      .diff-resizer {
        min-width: 10cqi;
        max-width: 10cqi;
      }
    }
    @supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
      &:focus {
        .diff-resizer {
          min-width: 10cqi;
          max-width: 10cqi;
        }
      }
      &:has(.diff-item-1:focus) {
        .diff-resizer {
          min-width: 90cqi;
          max-width: 90cqi;
        }
      }
    }
  }
  .menu {
    display: flex;
    width: fit-content;
    flex-direction: column;
    flex-wrap: wrap;
    padding: calc(0.25rem * 2);
    --menu-active-fg: var(--color-neutral-content);
    --menu-active-bg: var(--color-neutral);
    font-size: 0.875rem;
    :where(li ul) {
      position: relative;
      margin-inline-start: calc(0.25rem * 4);
      padding-inline-start: calc(0.25rem * 2);
      white-space: nowrap;
      &:before {
        position: absolute;
        inset-inline-start: calc(0.25rem * 0);
        top: calc(0.25rem * 3);
        bottom: calc(0.25rem * 3);
        background-color: var(--color-base-content);
        opacity: 10%;
        width: var(--border);
        content: "";
      }
    }
    :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
      display: none;
    }
    :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
      display: grid;
      grid-auto-flow: column;
      align-content: flex-start;
      align-items: center;
      gap: calc(0.25rem * 2);
      border-radius: var(--radius-field);
      padding-inline: calc(0.25rem * 3);
      padding-block: calc(0.25rem * 1.5);
      text-align: start;
      transition-property: color, background-color, box-shadow;
      transition-duration: 0.2s;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      grid-auto-columns: minmax(auto, max-content) auto max-content;
      text-wrap: balance;
      user-select: none;
    }
    :where(li > details > summary) {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
      &::-webkit-details-marker {
        display: none;
      }
    }
    :where(li > details > summary), :where(li > .menu-dropdown-toggle) {
      &:after {
        justify-self: flex-end;
        display: block;
        height: 0.375rem;
        width: 0.375rem;
        rotate: -135deg;
        translate: 0 -1px;
        transition-property: rotate, translate;
        transition-duration: 0.2s;
        content: "";
        transform-origin: 50% 50%;
        box-shadow: 2px 2px inset;
        pointer-events: none;
      }
    }
    :where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
      rotate: 45deg;
      translate: 0 1px;
    }
    :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) {
      &.menu-focus, &:focus-visible {
        cursor: pointer;
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
        color: var(--color-base-content);
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
    }
    :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover ) {
      cursor: pointer;
      background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
      box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;
    }
    :where(li:empty) {
      background-color: var(--color-base-content);
      opacity: 10%;
      margin: 0.5rem 1rem;
      height: 1px;
    }
    :where(li) {
      position: relative;
      display: flex;
      flex-shrink: 0;
      flex-direction: column;
      flex-wrap: wrap;
      align-items: stretch;
      .badge {
        justify-self: flex-end;
      }
      & > *:not(ul, .menu-title, details, .btn):active, & > *:not(ul, .menu-title, details, .btn).menu-active, & > details > summary:active {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
        color: var(--menu-active-fg);
        background-color: var(--menu-active-bg);
        background-size: auto, calc(var(--noise) * 100%);
        background-image: none, var(--fx-noise);
        &:not(&:active) {
          box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);
        }
      }
      &.menu-disabled {
        pointer-events: none;
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
    }
    .dropdown:focus-within {
      .menu-dropdown-toggle:after {
        rotate: 45deg;
        translate: 0 1px;
      }
    }
    .dropdown-content {
      margin-top: calc(0.25rem * 2);
      padding: calc(0.25rem * 2);
      &:before {
        display: none;
      }
    }
  }
  .btn {
    :where(&) {
      width: unset;
    }
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: calc(0.25rem * 1.5);
    text-align: center;
    vertical-align: middle;
    outline-offset: 2px;
    webkit-user-select: none;
    user-select: none;
    padding-inline: var(--btn-p);
    color: var(--btn-fg);
    --tw-prose-links: var(--btn-fg);
    height: var(--size);
    font-size: var(--fontsize, 0.875rem);
    font-weight: 600;
    outline-color: var(--btn-color, var(--color-base-content));
    transition-property: color, background-color, border-color, box-shadow;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transition-duration: 0.2s;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    background-color: var(--btn-bg);
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--btn-noise);
    border-width: var(--border);
    border-style: solid;
    border-color: var(--btn-border);
    text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));
    touch-action: manipulation;
    box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
    --size: calc(var(--size-field, 0.25rem) * 10);
    --btn-bg: var(--btn-color, var(--color-base-200));
    --btn-fg: var(--color-base-content);
    --btn-p: 1rem;
    --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
    --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),
    0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
    --btn-noise: var(--fx-noise);
    .prose & {
      text-decoration-line: none;
    }
    @media (hover: hover) {
      &:hover {
        --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
      }
    }
    &:focus-visible {
      outline-width: 2px;
      outline-style: solid;
      isolation: isolate;
    }
    &:active:not(.btn-active) {
      translate: 0 0.5px;
      --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
      --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
      --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
    }
    &:is(:disabled, [disabled], .btn-disabled) {
      &:not(.btn-link, .btn-ghost) {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
        box-shadow: none;
      }
      pointer-events: none;
      --btn-border: #0000;
      --btn-noise: none;
      --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
      @media (hover: hover) {
        &:hover {
          pointer-events: none;
          background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);
          --btn-border: #0000;
          --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
        }
      }
    }
    &:is(input[type="checkbox"], input[type="radio"]) {
      appearance: none;
      &::after {
        content: attr(aria-label);
      }
    }
    &:where(input:checked:not(.filter .btn)) {
      --btn-color: var(--color-primary);
      --btn-fg: var(--color-primary-content);
      isolation: isolate;
    }
  }
  .tab {
    position: relative;
    display: inline-flex;
    cursor: pointer;
    appearance: none;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    webkit-user-select: none;
    user-select: none;
    &:hover {
      @media (hover: hover) {
        color: var(--color-base-content);
      }
    }
    --tab-p: 1rem;
    --tab-bg: var(--color-base-100);
    --tab-border-color: var(--color-base-300);
    --tab-radius-ss: 0;
    --tab-radius-se: 0;
    --tab-radius-es: 0;
    --tab-radius-ee: 0;
    --tab-order: 0;
    --tab-radius-min: calc(0.75rem - var(--border));
    border-color: #0000;
    order: var(--tab-order);
    height: var(--tab-height);
    font-size: 0.875rem;
    padding-inline-start: var(--tab-p);
    padding-inline-end: var(--tab-p);
    &:is(input[type="radio"]) {
      min-width: fit-content;
      &:after {
        content: attr(aria-label);
      }
    }
    &:is(label) {
      position: relative;
      input {
        position: absolute;
        inset: calc(0.25rem * 0);
        cursor: pointer;
        appearance: none;
        opacity: 0%;
      }
    }
    &:checked, &:is(label:has(:checked)), &:is(.tab-active, [aria-selected="true"]) {
      & + .tab-content {
        display: block;
        height: calc(100% - var(--tab-height) + var(--border));
      }
    }
    &:not(:checked, label:has(:checked), :hover, .tab-active, [aria-selected="true"]) {
      color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
    }
    &:not(input):empty {
      flex-grow: 1;
      cursor: default;
    }
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
    &:focus-visible, &:is(label:has(:checked:focus-visible)) {
      outline: 2px solid currentColor;
      outline-offset: -5px;
    }
    &[disabled] {
      pointer-events: none;
      opacity: 40%;
    }
  }
  .modal {
    pointer-events: none;
    visibility: hidden;
    position: fixed;
    inset: calc(0.25rem * 0);
    margin: calc(0.25rem * 0);
    display: grid;
    height: 100%;
    max-height: none;
    width: 100%;
    max-width: none;
    align-items: center;
    justify-items: center;
    background-color: transparent;
    padding: calc(0.25rem * 0);
    color: inherit;
    overflow-x: hidden;
    transition: translate 0.3s ease-out, visibility 0.3s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;
    overflow-y: hidden;
    overscroll-behavior: contain;
    z-index: 999;
    &::backdrop {
      display: none;
    }
    &.modal-open, &[open], &:target {
      pointer-events: auto;
      visibility: visible;
      opacity: 100%;
      background-color: oklch(0% 0 0/ 0.4);
      .modal-box {
        translate: 0 0;
        scale: 1;
        opacity: 1;
      }
    }
    @starting-style {
      &.modal-open, &[open], &:target {
        visibility: hidden;
        opacity: 0%;
      }
    }
  }
  .dropdown {
    position: relative;
    display: inline-block;
    position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);
    & > *:not(summary):focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
    .dropdown-content {
      position: absolute;
    }
    &:not(details, .dropdown-open, .dropdown-hover:hover, :focus-within) {
      .dropdown-content {
        display: none;
        transform-origin: top;
        opacity: 0%;
        scale: 95%;
      }
    }
    &[popover], .dropdown-content {
      z-index: 999;
      animation: dropdown 0.2s;
      transition-property: opacity, scale, display;
      transition-behavior: allow-discrete;
      transition-duration: 0.2s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    @starting-style {
      &[popover], .dropdown-content {
        scale: 95%;
        opacity: 0;
      }
    }
    &.dropdown-open, &:not(.dropdown-hover):focus, &:focus-within {
      > [tabindex]:first-child {
        pointer-events: none;
      }
      .dropdown-content {
        opacity: 100%;
      }
    }
    &.dropdown-hover:hover {
      .dropdown-content {
        opacity: 100%;
        scale: 100%;
      }
    }
    &:is(details) {
      summary {
        &::-webkit-details-marker {
          display: none;
        }
      }
    }
    &.dropdown-open, &:focus, &:focus-within {
      .dropdown-content {
        scale: 100%;
      }
    }
    &:where([popover]) {
      background: #0000;
    }
    &[popover] {
      position: fixed;
      color: inherit;
      @supports not (position-area: bottom) {
        margin: auto;
        &.dropdown-open:not(:popover-open) {
          display: none;
          transform-origin: top;
          opacity: 0%;
          scale: 95%;
        }
        &::backdrop {
          background-color: color-mix(in oklab, #000 30%, #0000);
        }
      }
      &:not(.dropdown-open, :popover-open) {
        display: none;
        transform-origin: top;
        opacity: 0%;
        scale: 95%;
      }
    }
  }
  .loading {
    pointer-events: none;
    display: inline-block;
    aspect-ratio: 1 / 1;
    background-color: currentColor;
    vertical-align: middle;
    width: calc(var(--size-selector, 0.25rem) * 6);
    mask-size: 100%;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
  }
  .select {
    border: var(--border) solid #0000;
    position: relative;
    display: inline-flex;
    flex-shrink: 1;
    appearance: none;
    align-items: center;
    gap: calc(0.25rem * 1.5);
    background-color: var(--color-base-100);
    padding-inline-start: calc(0.25rem * 4);
    padding-inline-end: calc(0.25rem * 7);
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    height: var(--size);
    font-size: 0.875rem;
    touch-action: manipulation;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);
    background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%);
    background-size: 4px 4px, 4px 4px;
    background-repeat: no-repeat;
    text-overflow: ellipsis;
    box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    border-color: var(--input-color);
    --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    --size: calc(var(--size-field, 0.25rem) * 10);
    [dir="rtl"] & {
      background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%);
    }
    select {
      margin-inline-start: calc(0.25rem * -4);
      margin-inline-end: calc(0.25rem * -7);
      width: calc(100% + 2.75rem);
      appearance: none;
      padding-inline-start: calc(0.25rem * 4);
      padding-inline-end: calc(0.25rem * 7);
      height: calc(100% - 2px);
      background: inherit;
      border-radius: inherit;
      border-style: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:not(:last-child) {
        margin-inline-end: calc(0.25rem * -5.5);
        background-image: none;
      }
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
      z-index: 1;
    }
    &:has(> select[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      &::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
    }
    &:has(> select[disabled]) > select[disabled] {
      cursor: not-allowed;
    }
  }
  .input {
    cursor: text;
    border: var(--border) solid #0000;
    position: relative;
    display: inline-flex;
    flex-shrink: 1;
    appearance: none;
    align-items: center;
    gap: calc(0.25rem * 2);
    background-color: var(--color-base-100);
    padding-inline: calc(0.25rem * 3);
    vertical-align: middle;
    white-space: nowrap;
    width: clamp(3rem, 20rem, 100%);
    height: var(--size);
    font-size: 0.875rem;
    touch-action: manipulation;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    border-color: var(--input-color);
    box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    --size: calc(var(--size-field, 0.25rem) * 10);
    --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    &:where(input) {
      display: inline-flex;
    }
    :where(input) {
      display: inline-flex;
      height: 100%;
      width: 100%;
      appearance: none;
      background-color: transparent;
      border: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
    }
    :where(input[type="url"]), :where(input[type="email"]) {
      direction: ltr;
    }
    :where(input[type="date"]) {
      display: inline-block;
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
      z-index: 1;
    }
    &:has(> input[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      &::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
      box-shadow: none;
    }
    &:has(> input[disabled]) > input[disabled] {
      cursor: not-allowed;
    }
    &::-webkit-date-and-time-value {
      text-align: inherit;
    }
    &[type="number"] {
      &::-webkit-inner-spin-button {
        margin-block: calc(0.25rem * -3);
        margin-inline-end: calc(0.25rem * -3);
      }
    }
    &::-webkit-calendar-picker-indicator {
      position: absolute;
      inset-inline-end: 0.75em;
    }
  }
  .toggle {
    border: var(--border) solid currentColor;
    color: var(--input-color);
    position: relative;
    display: inline-grid;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    place-content: center;
    vertical-align: middle;
    webkit-user-select: none;
    user-select: none;
    grid-template-columns: 0fr 1fr 1fr;
    --radius-selector-max: calc(
    var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
  );
    border-radius: calc( var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)) );
    padding: var(--toggle-p);
    box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset;
    transition: color 0.3s, grid-template-columns 0.2s;
    --input-color: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    --toggle-p: calc(var(--size) * 0.125);
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);
    height: var(--size);
    > * {
      z-index: 1;
      grid-column: span 1 / span 1;
      grid-column-start: 2;
      grid-row-start: 1;
      height: 100%;
      cursor: pointer;
      appearance: none;
      background-color: transparent;
      padding: calc(0.25rem * 0.5);
      transition: opacity 0.2s, rotate 0.4s;
      border: none;
      &:focus {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:nth-child(2) {
        color: var(--color-base-100);
        rotate: 0deg;
      }
      &:nth-child(3) {
        color: var(--color-base-100);
        opacity: 0%;
        rotate: -15deg;
      }
    }
    &:has(:checked) {
      > :nth-child(2) {
        opacity: 0%;
        rotate: 15deg;
      }
      > :nth-child(3) {
        opacity: 100%;
        rotate: 0deg;
      }
    }
    &:before {
      position: relative;
      inset-inline-start: calc(0.25rem * 0);
      grid-column-start: 2;
      grid-row-start: 1;
      aspect-ratio: 1 / 1;
      height: 100%;
      border-radius: var(--radius-selector);
      background-color: currentColor;
      translate: 0;
      --tw-content: "";
      content: var(--tw-content);
      transition: background-color 0.1s, translate 0.2s, inset-inline-start 0.2s;
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
    }
    @media (forced-colors: active) {
      &:before {
        outline-style: var(--tw-outline-style);
        outline-width: 1px;
        outline-offset: calc(1px * -1);
      }
    }
    @media print {
      &:before {
        outline: 0.25rem solid;
        outline-offset: -1rem;
      }
    }
    &:focus-visible, &:has(:focus-visible) {
      outline: 2px solid currentColor;
      outline-offset: 2px;
    }
    &:checked, &[aria-checked="true"], &:has(> input:checked) {
      grid-template-columns: 1fr 1fr 0fr;
      background-color: var(--color-base-100);
      --input-color: var(--color-base-content);
      &:before {
        background-color: currentColor;
      }
      @starting-style {
        &:before {
          opacity: 0;
        }
      }
    }
    &:indeterminate {
      grid-template-columns: 0.5fr 1fr 0.5fr;
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 30%;
      &:before {
        background-color: transparent;
        border: var(--border) solid currentColor;
      }
    }
  }
  .checkbox {
    border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    border-radius: var(--radius-selector);
    padding: calc(0.25rem * 1);
    vertical-align: middle;
    color: var(--color-base-content);
    box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;
    transition: background-color 0.2s, box-shadow 0.2s;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: var(--size);
    height: var(--size);
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--fx-noise);
    &:before {
      --tw-content: "";
      content: var(--tw-content);
      display: block;
      width: 100%;
      height: 100%;
      rotate: 45deg;
      background-color: currentColor;
      opacity: 0%;
      transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;
      transition-delay: 0.1s;
      clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
      box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
      font-size: 1rem;
      line-height: 0.75;
    }
    &:focus-visible {
      outline: 2px solid var(--input-color, currentColor);
      outline-offset: 2px;
    }
    &:checked, &[aria-checked="true"] {
      background-color: var(--input-color, #0000);
      box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
      &:before {
        clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
        opacity: 100%;
      }
      @media (forced-colors: active) {
        &:before {
          rotate: 0deg;
          background-color: transparent;
          --tw-content: "✔︎";
          clip-path: none;
        }
      }
      @media print {
        &:before {
          rotate: 0deg;
          background-color: transparent;
          --tw-content: "✔︎";
          clip-path: none;
        }
      }
    }
    &:indeterminate {
      &:before {
        rotate: 0deg;
        opacity: 100%;
        translate: 0 -35%;
        clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
      }
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 20%;
    }
  }
  .card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: var(--radius-box);
    outline-width: 2px;
    transition: outline 0.2s ease-in-out;
    outline: 0 solid #0000;
    outline-offset: 2px;
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
    &:focus-visible {
      outline-color: currentColor;
    }
    :where(figure:first-child) {
      overflow: hidden;
      border-start-start-radius: inherit;
      border-start-end-radius: inherit;
      border-end-start-radius: unset;
      border-end-end-radius: unset;
    }
    :where(figure:last-child) {
      overflow: hidden;
      border-start-start-radius: unset;
      border-start-end-radius: unset;
      border-end-start-radius: inherit;
      border-end-end-radius: inherit;
    }
    &:where(.card-border) {
      border: var(--border) solid var(--color-base-200);
    }
    &:where(.card-dash) {
      border: var(--border) dashed var(--color-base-200);
    }
    &.image-full {
      display: grid;
      > * {
        grid-column-start: 1;
        grid-row-start: 1;
      }
      > .card-body {
        position: relative;
        color: var(--color-neutral-content);
      }
      :where(figure) {
        overflow: hidden;
        border-radius: inherit;
      }
      > figure img {
        height: 100%;
        object-fit: cover;
        filter: brightness(28%);
      }
    }
    figure {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    &:has(> input:is(input[type="checkbox"], input[type="radio"])) {
      cursor: pointer;
      user-select: none;
    }
    &:has(> :checked) {
      outline: 2px solid currentColor;
    }
  }
  .radio {
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    border-radius: calc(infinity * 1px);
    padding: calc(0.25rem * 1);
    vertical-align: middle;
    border: var(--border) solid var(--input-color, color-mix(in srgb, currentColor 20%, #0000));
    box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: var(--size);
    height: var(--size);
    color: var(--input-color, currentColor);
    &:before {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: calc(infinity * 1px);
      --tw-content: "";
      content: var(--tw-content);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
    }
    &:focus-visible {
      outline: 2px solid currentColor;
    }
    &:checked, &[aria-checked="true"] {
      animation: radio 0.2s ease-out;
      border-color: currentColor;
      background-color: var(--color-base-100);
      &:before {
        background-color: currentColor;
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
      }
      @media (forced-colors: active) {
        &:before {
          outline-style: var(--tw-outline-style);
          outline-width: 1px;
          outline-offset: calc(1px * -1);
        }
      }
      @media print {
        &:before {
          outline: 0.25rem solid;
          outline-offset: -1rem;
        }
      }
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 20%;
    }
  }
  .range {
    appearance: none;
    webkit-appearance: none;
    --range-thumb: var(--color-base-100);
    --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
    --range-progress: currentColor;
    --range-fill: 1;
    --range-p: 0.25rem;
    --range-bg: color-mix(in oklab, currentColor 10%, #0000);
    cursor: pointer;
    overflow: hidden;
    background-color: transparent;
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    --radius-selector-max: calc(
    var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
  );
    border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
    border: none;
    height: var(--range-thumb-size);
    [dir="rtl"] & {
      --range-dir: -1;
    }
    &:focus {
      outline: none;
    }
    &:focus-visible {
      outline: 2px solid;
      outline-offset: 2px;
    }
    &::-webkit-slider-runnable-track {
      width: 100%;
      background-color: var(--range-bg);
      border-radius: var(--radius-selector);
      height: calc(var(--range-thumb-size) * 0.5);
    }
    @media (forced-colors: active) {
      &::-webkit-slider-runnable-track {
        border: 1px solid;
      }
    }
    @media (forced-colors: active) {
      &::-moz-range-track {
        border: 1px solid;
      }
    }
    &::-webkit-slider-thumb {
      position: relative;
      box-sizing: border-box;
      border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
      background-color: currentColor;
      height: var(--range-thumb-size);
      width: var(--range-thumb-size);
      border: var(--range-p) solid;
      appearance: none;
      webkit-appearance: none;
      top: 50%;
      color: var(--range-progress);
      transform: translateY(-50%);
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100rem * var(--range-fill));
    }
    &::-moz-range-track {
      width: 100%;
      background-color: var(--range-bg);
      border-radius: var(--radius-selector);
      height: calc(var(--range-thumb-size) * 0.5);
    }
    &::-moz-range-thumb {
      position: relative;
      box-sizing: border-box;
      border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
      background-color: currentColor;
      height: var(--range-thumb-size);
      width: var(--range-thumb-size);
      border: var(--range-p) solid;
      top: 50%;
      color: var(--range-progress);
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100rem * var(--range-fill));
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 30%;
    }
  }
  .table {
    font-size: 0.875rem;
    position: relative;
    width: 100%;
    border-radius: var(--radius-box);
    text-align: left;
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      text-align: right;
    }
    tr.row-hover {
      &, &:nth-child(even) {
        &:hover {
          @media (hover: hover) {
            background-color: var(--color-base-200);
          }
        }
      }
    }
    :where(th, td) {
      padding-inline: calc(0.25rem * 4);
      padding-block: calc(0.25rem * 3);
      vertical-align: middle;
    }
    :where(thead, tfoot) {
      white-space: nowrap;
      color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
      font-size: 0.875rem;
      font-weight: 600;
    }
    :where(tfoot) {
      border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
    }
    :where(.table-pin-rows thead tr) {
      position: sticky;
      top: calc(0.25rem * 0);
      z-index: 1;
      background-color: var(--color-base-100);
    }
    :where(.table-pin-rows tfoot tr) {
      position: sticky;
      bottom: calc(0.25rem * 0);
      z-index: 1;
      background-color: var(--color-base-100);
    }
    :where(.table-pin-cols tr th) {
      position: sticky;
      right: calc(0.25rem * 0);
      left: calc(0.25rem * 0);
      background-color: var(--color-base-100);
    }
    :where(thead tr, tbody tr:not(:last-child)) {
      border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
    }
  }
  .list {
    display: flex;
    flex-direction: column;
    font-size: 0.875rem;
    :where(.list-row) {
      --list-grid-cols: minmax(0, auto) 1fr;
      position: relative;
      display: grid;
      grid-auto-flow: column;
      gap: calc(0.25rem * 4);
      border-radius: var(--radius-box);
      padding: calc(0.25rem * 4);
      word-break: break-word;
      grid-template-columns: var(--list-grid-cols);
      &:has(.list-col-grow:nth-child(1)) {
        --list-grid-cols: 1fr;
      }
      &:has(.list-col-grow:nth-child(2)) {
        --list-grid-cols: minmax(0, auto) 1fr;
      }
      &:has(.list-col-grow:nth-child(3)) {
        --list-grid-cols: minmax(0, auto) minmax(0, auto) 1fr;
      }
      &:has(.list-col-grow:nth-child(4)) {
        --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
      }
      &:has(.list-col-grow:nth-child(5)) {
        --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
      }
      &:has(.list-col-grow:nth-child(6)) {
        --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto)
        minmax(0, auto) 1fr;
      }
      :not(.list-col-wrap) {
        grid-row-start: 1;
      }
    }
    & > :not(:last-child) {
      &.list-row, .list-row {
        &:after {
          content: "";
          border-bottom: var(--border) solid;
          inset-inline: var(--radius-box);
          position: absolute;
          bottom: calc(0.25rem * 0);
          border-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
        }
      }
    }
  }
  .toast {
    position: fixed;
    inset-inline-start: auto;
    inset-inline-end: calc(0.25rem * 4);
    top: auto;
    bottom: calc(0.25rem * 4);
    display: flex;
    flex-direction: column;
    gap: calc(0.25rem * 2);
    background-color: transparent;
    translate: var(--toast-x, 0) var(--toast-y, 0);
    width: max-content;
    max-width: calc(100vw - 2rem);
    & > * {
      animation: toast 0.25s ease-out;
    }
    &:where(.toast-start) {
      inset-inline-start: calc(0.25rem * 4);
      inset-inline-end: auto;
      --toast-x: 0;
    }
    &:where(.toast-center) {
      inset-inline-start: calc(1/2 * 100%);
      inset-inline-end: calc(1/2 * 100%);
      --toast-x: -50%;
    }
    &:where(.toast-end) {
      inset-inline-start: auto;
      inset-inline-end: calc(0.25rem * 4);
      --toast-x: 0;
    }
    &:where(.toast-bottom) {
      top: auto;
      bottom: calc(0.25rem * 4);
      --toast-y: 0;
    }
    &:where(.toast-middle) {
      top: calc(1/2 * 100%);
      bottom: auto;
      --toast-y: -50%;
    }
    &:where(.toast-top) {
      top: calc(0.25rem * 4);
      bottom: auto;
      --toast-y: 0;
    }
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .top-12 {
    top: calc(var(--spacing) * 12);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .file-input {
    cursor: pointer;
    cursor: pointer;
    border: var(--border) solid #0000;
    display: inline-flex;
    appearance: none;
    align-items: center;
    background-color: var(--color-base-100);
    vertical-align: middle;
    webkit-user-select: none;
    user-select: none;
    width: clamp(3rem, 20rem, 100%);
    height: var(--size);
    padding-inline-end: 0.75rem;
    font-size: 0.875rem;
    line-height: 2;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    border-color: var(--input-color);
    box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    --size: calc(var(--size-field, 0.25rem) * 10);
    --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    &::file-selector-button {
      margin-inline-end: calc(0.25rem * 4);
      cursor: pointer;
      padding-inline: calc(0.25rem * 4);
      webkit-user-select: none;
      user-select: none;
      height: calc(100% + var(--border) * 2);
      margin-block: calc(var(--border) * -1);
      margin-inline-start: calc(var(--border) * -1);
      font-size: 0.875rem;
      color: var(--btn-fg);
      border-width: var(--border);
      border-style: solid;
      border-color: var(--btn-border);
      border-start-start-radius: calc(var(--join-ss, var(--radius-field) - var(--border)));
      border-end-start-radius: calc(var(--join-es, var(--radius-field) - var(--border)));
      font-weight: 600;
      background-color: var(--btn-bg);
      background-size: calc(var(--noise) * 100%);
      background-image: var(--btn-noise);
      text-shadow: 0 0.5px oklch(1 0 0 / calc(var(--depth) * 0.15));
      box-shadow: 0 0.5px 0 0.5px color-mix( in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000 ) inset, var(--btn-shadow);
      --size: calc(var(--size-field, 0.25rem) * 10);
      --btn-bg: var(--btn-color, var(--color-base-200));
      --btn-fg: var(--color-base-content);
      --btn-border: color-mix(in oklab, var(--btn-bg), #000 5%);
      --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000),
      0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000);
      --btn-noise: var(--fx-noise);
    }
    &:focus {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) 10%, #0000);
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
    }
    &:has(> input[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      &::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
      box-shadow: none;
      color: color-mix(in oklch, var(--color-base-content) 20%, #0000);
      &::file-selector-button {
        cursor: not-allowed;
        border-color: var(--color-base-200);
        background-color: var(--color-base-200);
        --btn-border: #0000;
        --btn-noise: none;
        --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
      }
    }
  }
  .textarea {
    border: var(--border) solid #0000;
    min-height: calc(0.25rem * 20);
    flex-shrink: 1;
    appearance: none;
    border-radius: var(--radius-field);
    background-color: var(--color-base-100);
    padding-block: calc(0.25rem * 2);
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    padding-inline-start: 0.75rem;
    padding-inline-end: 0.75rem;
    font-size: 0.875rem;
    touch-action: manipulation;
    border-color: var(--input-color);
    box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    textarea {
      appearance: none;
      background-color: transparent;
      border: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
    }
    &:has(> textarea[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      &::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
      box-shadow: none;
    }
    &:has(> textarea[disabled]) > textarea[disabled] {
      cursor: not-allowed;
    }
  }
  .modal-backdrop {
    grid-column-start: 1;
    grid-row-start: 1;
    display: grid;
    align-self: stretch;
    justify-self: stretch;
    color: transparent;
    z-index: -1;
    button {
      cursor: pointer;
    }
  }
  .z-1 {
    z-index: 1;
  }
  .z-\[1000\] {
    z-index: 1000;
  }
  .modal-box {
    grid-column-start: 1;
    grid-row-start: 1;
    max-height: 100vh;
    width: calc(11/12 * 100%);
    max-width: 32rem;
    background-color: var(--color-base-100);
    padding: calc(0.25rem * 6);
    transition: translate 0.3s ease-out, scale 0.3s ease-out, opacity 0.2s ease-out 0.05s, box-shadow 0.3s ease-out;
    border-top-left-radius: var(--modal-tl, var(--radius-box));
    border-top-right-radius: var(--modal-tr, var(--radius-box));
    border-bottom-left-radius: var(--modal-bl, var(--radius-box));
    border-bottom-right-radius: var(--modal-br, var(--radius-box));
    scale: 95%;
    opacity: 0;
    box-shadow: oklch(0% 0 0/ 0.25) 0px 25px 50px -12px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .divider {
    display: flex;
    height: calc(0.25rem * 4);
    flex-direction: row;
    align-items: center;
    align-self: stretch;
    white-space: nowrap;
    margin: var(--divider-m, 1rem 0);
    --divider-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
    &:before, &:after {
      content: "";
      height: calc(0.25rem * 0.5);
      width: 100%;
      flex-grow: 1;
      background-color: var(--divider-color);
    }
    @media print {
      &:before, &:after {
        border: 0.5px solid;
      }
    }
    &:not(:empty) {
      gap: calc(0.25rem * 4);
    }
  }
  .m-0 {
    margin: calc(var(--spacing) * 0);
  }
  .filter {
    display: flex;
    flex-wrap: wrap;
    input[type="radio"] {
      width: auto;
    }
    input {
      overflow: hidden;
      opacity: 100%;
      scale: 1;
      transition: margin 0.1s, opacity 0.3s, padding 0.3s, border-width 0.1s;
      &:not(:last-child) {
        margin-inline-end: calc(0.25rem * 1);
      }
      &.filter-reset {
        aspect-ratio: 1 / 1;
        &::after {
          content: "×";
        }
      }
    }
    &:not(:has(input:checked:not(.filter-reset))) {
      .filter-reset, input[type="reset"] {
        scale: 0;
        border-width: 0;
        margin-inline: calc(0.25rem * 0);
        width: calc(0.25rem * 0);
        padding-inline: calc(0.25rem * 0);
        opacity: 0%;
      }
    }
    &:has(input:checked:not(.filter-reset)) {
      input:not(:checked, .filter-reset, input[type="reset"]) {
        scale: 0;
        border-width: 0;
        margin-inline: calc(0.25rem * 0);
        width: calc(0.25rem * 0);
        padding-inline: calc(0.25rem * 0);
        opacity: 0%;
      }
    }
  }
  .mx-12 {
    margin-inline: calc(var(--spacing) * 12);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .input-sm {
    --size: calc(var(--size-field, 0.25rem) * 8);
    font-size: 0.75rem;
    &[type="number"] {
      &::-webkit-inner-spin-button {
        margin-block: calc(0.25rem * -2);
        margin-inline-end: calc(0.25rem * -3);
      }
    }
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .label {
    display: inline-flex;
    align-items: center;
    gap: calc(0.25rem * 1.5);
    white-space: nowrap;
    color: color-mix(in oklab, currentColor 60%, transparent);
    &:has(input) {
      cursor: pointer;
    }
    &:is(.input > *, .select > *) {
      display: flex;
      height: calc(100% - 0.5rem);
      align-items: center;
      padding-inline: calc(0.25rem * 3);
      white-space: nowrap;
      font-size: inherit;
      &:first-child {
        margin-inline-start: calc(0.25rem * -3);
        margin-inline-end: calc(0.25rem * 3);
        border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
      }
      &:last-child {
        margin-inline-start: calc(0.25rem * 3);
        margin-inline-end: calc(0.25rem * -3);
        border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
      }
    }
  }
  .join-item {
    &:where(*:not(:first-child, :disabled, [disabled], .btn-disabled)) {
      margin-inline-start: calc(var(--border, 1px) * -1);
      margin-block-start: 0;
    }
    &:where(*:is(:disabled, [disabled], .btn-disabled)) {
      border-width: var(--border, 1px) 0 var(--border, 1px) var(--border, 1px);
    }
  }
  .modal-action {
    margin-top: calc(0.25rem * 6);
    display: flex;
    justify-content: flex-end;
    gap: calc(0.25rem * 2);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .breadcrumbs {
    max-width: 100%;
    overflow-x: auto;
    padding-block: calc(0.25rem * 2);
    > menu, > ul, > ol {
      display: flex;
      min-height: min-content;
      align-items: center;
      white-space: nowrap;
      > li {
        display: flex;
        align-items: center;
        > * {
          display: flex;
          cursor: pointer;
          align-items: center;
          gap: calc(0.25rem * 2);
          &:hover {
            @media (hover: hover) {
              text-decoration-line: underline;
            }
          }
          &:focus {
            --tw-outline-style: none;
            outline-style: none;
            @media (forced-colors: active) {
              outline: 2px solid transparent;
              outline-offset: 2px;
            }
          }
          &:focus-visible {
            outline: 2px solid currentColor;
            outline-offset: 2px;
          }
        }
        & + *:before {
          content: "";
          margin-right: calc(0.25rem * 3);
          margin-left: calc(0.25rem * 2);
          display: block;
          height: calc(0.25rem * 1.5);
          width: calc(0.25rem * 1.5);
          opacity: 40%;
          rotate: 45deg;
          border-top: 1px solid;
          border-right: 1px solid;
          background-color: #0000;
        }
        [dir="rtl"] & + *:before {
          rotate: -135deg;
        }
      }
    }
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .alert {
    display: grid;
    align-items: center;
    gap: calc(0.25rem * 4);
    border-radius: var(--radius-box);
    padding-inline: calc(0.25rem * 4);
    padding-block: calc(0.25rem * 3);
    color: var(--color-base-content);
    background-color: var(--alert-color, var(--color-base-200));
    justify-content: start;
    justify-items: start;
    grid-auto-flow: column;
    grid-template-columns: auto;
    text-align: start;
    border: var(--border) solid var(--color-base-200);
    font-size: 0.875rem;
    line-height: 1.25rem;
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--fx-noise);
    box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px color-mix( in oklab, color-mix(in oklab, #000 20%, var(--alert-color, var(--color-base-200))) calc(var(--depth) * 20%), #0000 ), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));
    &:has(:nth-child(2)) {
      grid-template-columns: auto minmax(auto, 1fr);
    }
    &.alert-outline {
      background-color: transparent;
      color: var(--alert-color);
      box-shadow: none;
      background-image: none;
    }
    &.alert-dash {
      background-color: transparent;
      color: var(--alert-color);
      border-style: dashed;
      box-shadow: none;
      background-image: none;
    }
    &.alert-soft {
      color: var(--alert-color, var(--color-base-content));
      background: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 8%, var(--color-base-100) );
      border-color: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 10%, var(--color-base-100) );
      box-shadow: none;
      background-image: none;
    }
  }
  .status {
    display: inline-block;
    aspect-ratio: 1 / 1;
    width: calc(0.25rem * 2);
    height: calc(0.25rem * 2);
    border-radius: var(--radius-selector);
    background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
    background-position: center;
    background-repeat: no-repeat;
    vertical-align: middle;
    color: color-mix(in srgb, #000 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
    background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 );
    box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
  }
  .kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-field);
    background-color: var(--color-base-200);
    vertical-align: middle;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border: var(--border) solid color-mix(in srgb, var(--color-base-content) 20%, #0000);
    border-bottom: calc(var(--border) + 1px) solid color-mix(in srgb, var(--color-base-content) 20%, #0000);
    --size: calc(var(--size-selector, 0.25rem) * 6);
    font-size: 0.875rem;
    height: var(--size);
    min-width: var(--size);
  }
  .footer {
    display: grid;
    width: 100%;
    grid-auto-flow: row;
    place-items: start;
    column-gap: calc(0.25rem * 4);
    row-gap: calc(0.25rem * 10);
    font-size: 0.875rem;
    line-height: 1.25rem;
    & > * {
      display: grid;
      place-items: start;
      gap: calc(0.25rem * 2);
    }
    &.footer-center {
      grid-auto-flow: column dense;
      place-items: center;
      text-align: center;
      & > * {
        place-items: center;
      }
    }
  }
  .card-body {
    display: flex;
    flex: auto;
    flex-direction: column;
    gap: calc(0.25rem * 2);
    padding: var(--card-p, 1.5rem);
    font-size: var(--card-fs, 0.875rem);
    :where(p) {
      flex-grow: 1;
    }
  }
  .join {
    display: inline-flex;
    align-items: stretch;
    --join-ss: 0;
    --join-se: 0;
    --join-es: 0;
    --join-ee: 0;
    :where(.join-item) {
      border-start-start-radius: var(--join-ss, 0);
      border-start-end-radius: var(--join-se, 0);
      border-end-start-radius: var(--join-es, 0);
      border-end-end-radius: var(--join-ee, 0);
      * {
        --join-ss: var(--radius-field);
        --join-se: var(--radius-field);
        --join-es: var(--radius-field);
        --join-ee: var(--radius-field);
      }
    }
    > .join-item:where(:first-child) {
      --join-ss: var(--radius-field);
      --join-se: 0;
      --join-es: var(--radius-field);
      --join-ee: 0;
    }
    :first-child:not(:last-child) {
      :where(.join-item) {
        --join-ss: var(--radius-field);
        --join-se: 0;
        --join-es: var(--radius-field);
        --join-ee: 0;
      }
    }
    > .join-item:where(:last-child) {
      --join-ss: 0;
      --join-se: var(--radius-field);
      --join-es: 0;
      --join-ee: var(--radius-field);
    }
    :last-child:not(:first-child) {
      :where(.join-item) {
        --join-ss: 0;
        --join-se: var(--radius-field);
        --join-es: 0;
        --join-ee: var(--radius-field);
      }
    }
    > .join-item:where(:only-child) {
      --join-ss: var(--radius-field);
      --join-se: var(--radius-field);
      --join-es: var(--radius-field);
      --join-ee: var(--radius-field);
    }
    :only-child {
      :where(.join-item) {
        --join-ss: var(--radius-field);
        --join-se: var(--radius-field);
        --join-es: var(--radius-field);
        --join-ee: var(--radius-field);
      }
    }
  }
  .card-title {
    display: flex;
    align-items: center;
    gap: calc(0.25rem * 2);
    font-size: var(--cardtitle-fs, 1.125rem);
    font-weight: 600;
  }
  .navbar {
    display: flex;
    width: 100%;
    align-items: center;
    padding: 0.5rem;
    min-height: 4rem;
  }
  .card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: calc(0.25rem * 2);
  }
  .navbar-end {
    display: inline-flex;
    align-items: center;
    width: 50%;
    justify-content: flex-end;
  }
  .navbar-start {
    display: inline-flex;
    align-items: center;
    width: 50%;
    justify-content: flex-start;
  }
  .tabs {
    display: flex;
    flex-wrap: wrap;
    --tabs-height: auto;
    --tabs-direction: row;
    --tab-height: calc(var(--size-field, 0.25rem) * 10);
    height: var(--tabs-height);
    flex-direction: var(--tabs-direction);
  }
  .navbar-center {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .table-row {
    display: table-row;
  }
  .btn-circle {
    border-radius: calc(infinity * 1px);
    padding-inline: calc(0.25rem * 0);
    width: var(--size);
    height: var(--size);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-full {
    height: 100%;
  }
  .min-h-22 {
    min-height: calc(var(--spacing) * 22);
  }
  .min-h-fit {
    min-height: fit-content;
  }
  .btn-block {
    width: 100%;
  }
  .loading-xs {
    width: calc(var(--size-selector, 0.25rem) * 4);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-\[200px\] {
    width: 200px;
  }
  .w-auto {
    width: auto;
  }
  .w-full {
    width: 100%;
  }
  .min-w-36 {
    min-width: calc(var(--spacing) * 36);
  }
  .min-w-full {
    min-width: 100%;
  }
  .min-w-max {
    min-width: max-content;
  }
  .flex-1 {
    flex: 1;
  }
  .flex-\[0_0_3\.5rem\] {
    flex: 0 0 3.5rem;
  }
  .flex-none {
    flex: none;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .border-spacing-0 {
    --tw-border-spacing-x: calc(var(--spacing) * 0);
    --tw-border-spacing-y: calc(var(--spacing) * 0);
    border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
  }
  .transform {
    transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);
  }
  .skeleton {
    border-radius: var(--radius-box);
    background-color: var(--color-base-300);
    @media (prefers-reduced-motion: reduce) {
      transition-duration: 15s;
    }
    will-change: background-position;
    animation: skeleton 1.8s ease-in-out infinite;
    background-image: linear-gradient( 105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100% );
    background-size: 200% auto;
    background-repeat: no-repeat;
    background-position-x: -50%;
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .link {
    cursor: pointer;
    text-decoration-line: underline;
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
    &:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 2px;
    }
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .cursor-wait {
    cursor: wait;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-nowrap {
    flex-wrap: nowrap;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .self-center {
    align-self: center;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-x-0 {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 0px;
  }
  .border-y-0 {
    border-block-style: var(--tw-border-style);
    border-block-width: 0px;
  }
  .border-t-0 {
    border-top-style: var(--tw-border-style);
    border-top-width: 0px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l-0 {
    border-left-style: var(--tw-border-style);
    border-left-width: 0px;
  }
  .border-solid {
    --tw-border-style: solid;
    border-style: solid;
  }
  .alert-error {
    border-color: var(--color-error);
    color: var(--color-error-content);
    --alert-color: var(--color-error);
  }
  .alert-info {
    border-color: var(--color-info);
    color: var(--color-info-content);
    --alert-color: var(--color-info);
  }
  .border-blue-400 {
    border-color: var(--color-blue-400);
  }
  .bg-\[rgba\(255\,255\,255\,\.7\)\] {
    background-color: rgba(255,255,255,.7);
  }
  .bg-primary {
    background-color: var(--color-primary);
  }
  .fill-current {
    fill: currentColor;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .menu-title {
    padding-inline: calc(0.25rem * 3);
    padding-block: calc(0.25rem * 2);
    color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
    font-size: 0.875rem;
    font-weight: 600;
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-12 {
    padding-inline: calc(var(--spacing) * 12);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .text-center {
    text-align: center;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .kbd-sm {
    --size: calc(var(--size-selector, 0.25rem) * 5);
    font-size: 0.75rem;
  }
  .text-\[14px\] {
    font-size: 14px;
  }
  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .file-input-error {
    --btn-color: var(--color-error);
    &::file-selector-button {
      color: var(--color-error-content);
    }
    &, &:focus, &:focus-within {
      --input-color: var(--color-error);
    }
  }
  .text-\[\#A1A7C4\] {
    color: #A1A7C4;
  }
  .text-base-content {
    color: var(--color-base-content);
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .text-error {
    color: var(--color-error);
  }
  .text-primary {
    color: var(--color-primary);
  }
  .text-primary-content {
    color: var(--color-primary-content);
  }
  .text-teal-400 {
    color: var(--color-teal-400);
  }
  .text-teal-600 {
    color: var(--color-teal-600);
  }
  .text-zinc-600 {
    color: var(--color-zinc-600);
  }
  .link-hover {
    text-decoration-line: none;
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .underline {
    text-decoration-line: underline;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .btn-ghost {
    &:not(.btn-active, :hover, :active:focus, :focus-visible) {
      --btn-shadow: "";
      --btn-bg: #0000;
      --btn-border: #0000;
      --btn-noise: none;
      &:not(:disabled, [disabled], .btn-disabled) {
        outline-color: currentColor;
        --btn-fg: currentColor;
      }
    }
    @media (hover: none) {
      &:hover:not(.btn-active, :active, :focus-visible, :disabled, [disabled], .btn-disabled) {
        --btn-shadow: "";
        --btn-bg: #0000;
        --btn-border: #0000;
        --btn-noise: none;
        --btn-fg: currentColor;
      }
    }
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .btn-primary {
    --btn-color: var(--color-primary);
    --btn-fg: var(--color-primary-content);
  }
  .btn-secondary {
    --btn-color: var(--color-secondary);
    --btn-fg: var(--color-secondary-content);
  }
  .btn-sm {
    --fontsize: 0.75rem;
    --btn-p: 0.75rem;
    --size: calc(var(--size-field, 0.25rem) * 8);
  }
  .btn-xs {
    --fontsize: 0.6875rem;
    --btn-p: 0.5rem;
    --size: calc(var(--size-field, 0.25rem) * 6);
  }
  .input-error {
    &, &:focus, &:focus-within {
      --input-color: var(--color-error);
    }
  }
  .loading-spinner {
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
  }
  .select-error {
    &, &:focus, &:focus-within {
      --input-color: var(--color-error);
    }
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .textarea-error {
    &, &:focus, &:focus-within {
      --input-color: var(--color-error);
    }
  }
  .peer-checked\:flex {
    &:is(:where(.peer):checked ~ *) {
      display: flex;
    }
  }
  .hover\:opacity-50 {
    &:hover {
      @media (hover: hover) {
        opacity: 50%;
      }
    }
  }
  .sm\:w-96 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 96);
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:inline-flex {
    @media (width >= 48rem) {
      display: inline-flex;
    }
  }
  .md\:table-header-group {
    @media (width >= 48rem) {
      display: table-header-group;
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:justify-center {
    @media (width >= 48rem) {
      justify-content: center;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:inline-flex {
    @media (width >= 64rem) {
      display: inline-flex;
    }
  }
}
@layer components {
  .dm-fun-spotlight-search {
    padding: 0;
    background-color: transparent;
    box-shadow: 0 0 2rem 0.5rem var(--color-accent);
    display: none;
    flex-direction: column;
    margin: auto;
    &[open] {
      display: flex;
      &:focus-within {
        box-shadow: 0 0 2rem 1rem var(--color-accent);
      }
      .modal-box {
        display: flex;
        transition: all 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
        translate: 0 0 !important;
        scale: 1 !important;
        opacity: 1 !important;
        @starting-style {
          translate: 0 0 !important;
          scale: 2 !important;
          opacity: 1 !important;
        }
      }
    }
    &::backdrop {
      background-color: var(--color-base-200);
      opacity: 50%;
    }
    .modal-box {
      display: none;
      width: 80vw !important;
      max-width: 42rem !important;
      background: transparent !important;
      box-shadow: none !important;
      .dm-fun-spotlight-input {
        cursor: text;
        border: var(--border) solid #0000;
        position: relative;
        display: inline-flex;
        flex-shrink: 1;
        appearance: none;
        align-items: center;
        gap: calc(0.25rem * 2);
        background-color: var(--color-base-100);
        padding-inline: calc(0.25rem * 3);
        vertical-align: middle;
        white-space: nowrap;
        width: clamp(3rem, 20rem, 100%);
        height: var(--size);
        font-size: 0.875rem;
        touch-action: manipulation;
        border-start-start-radius: var(--join-ss, var(--radius-field));
        border-start-end-radius: var(--join-se, var(--radius-field));
        border-end-start-radius: var(--join-es, var(--radius-field));
        border-end-end-radius: var(--join-ee, var(--radius-field));
        border-color: var(--input-color);
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
        --size: calc(var(--size-field, 0.25rem) * 10);
        --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
        &:where(input) {
          display: inline-flex;
        }
        :where(input) {
          display: inline-flex;
          height: 100%;
          width: 100%;
          appearance: none;
          background-color: transparent;
          border: none;
          &:focus, &:focus-within {
            --tw-outline-style: none;
            outline-style: none;
            @media (forced-colors: active) {
              outline: 2px solid transparent;
              outline-offset: 2px;
            }
          }
        }
        :where(input[type="url"]), :where(input[type="email"]) {
          direction: ltr;
        }
        :where(input[type="date"]) {
          display: inline-block;
        }
        &:focus, &:focus-within {
          --input-color: var(--color-base-content);
          box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
          outline: 2px solid var(--input-color);
          outline-offset: 2px;
          isolation: isolate;
          z-index: 1;
        }
        &:has(> input[disabled]), &:is(:disabled, [disabled]) {
          cursor: not-allowed;
          border-color: var(--color-base-200);
          background-color: var(--color-base-200);
          color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
          &::placeholder {
            color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
          }
          box-shadow: none;
        }
        &:has(> input[disabled]) > input[disabled] {
          cursor: not-allowed;
        }
        &::-webkit-date-and-time-value {
          text-align: inherit;
        }
        &[type="number"] {
          &::-webkit-inner-spin-button {
            margin-block: calc(0.25rem * -3);
            margin-inline-end: calc(0.25rem * -3);
          }
        }
        &::-webkit-calendar-picker-indicator {
          position: absolute;
          inset-inline-end: 0.75em;
        }
        --size: calc(var(--size-field, 0.25rem) * 14);
        font-size: 1.375rem;
        &[type="number"] {
          &::-webkit-inner-spin-button {
            margin-block: calc(0.25rem * -4);
            margin-inline-end: calc(0.25rem * -3);
          }
        }
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        &, &:focus, &:focus-within {
          --input-color: var(--color-primary);
        }
        min-width: 100%;
        border: none !important;
        border-radius: 0 !important;
        outline: none !important;
        &:focus-within {
          outline-width: 0 !important;
          outline-offset: 0 !important;
        }
        input {
          width: 100%;
          color: var(--color-base-content);
          &:focus {
            outline-width: 0;
          }
        }
      }
      .dm-fun-spotlight-loading {
        pointer-events: none;
        display: inline-block;
        aspect-ratio: 1 / 1;
        background-color: currentColor;
        vertical-align: middle;
        width: calc(var(--size-selector, 0.25rem) * 6);
        mask-size: 100%;
        mask-repeat: no-repeat;
        mask-position: center;
        mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
        display: flex;
        height: calc(var(--spacing) * 6);
        width: calc(var(--size-selector, 0.25rem) * 5);
        align-items: center;
        justify-content: center;
        mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E");
        margin: 0 auto;
      }
      .dm-fun-spotlight-suggestion-list {
        display: flex;
        max-height: calc(var(--spacing) * 56);
        flex-direction: column;
        overflow: auto;
        border-radius: 0.25rem;
        background-color: var(--color-base-100);
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        .dm-fun-spotlight-suggestion-list-item {
          display: flex;
          height: calc(var(--spacing) * 8);
          align-items: center;
          background-color: var(--color-base-300);
          padding-inline: calc(var(--spacing) * 4);
          color: var(--color-base-content);
          flex: 0 0 2rem;
          &.autocomplete-active {
            background-color: var(--color-primary);
            color: var(--color-primary-content);
          }
        }
        &:empty {
          display: none;
        }
      }
    }
  }
}
@layer components {
  .dm-fun-signature {
    --size: 5rem;
    --sign-color: #ff0000aa;
    --rotate: -30deg;
    --opacity: 0.618;
    width: var(--size);
    height: var(--size);
    border: calc(var(--size) * 0.05) solid var(--sign-color);
    border-radius: 50%;
    position: absolute;
    opacity: var(--opacity);
    transform: rotate(var(--rotate));
    right: var(--right, 2rem);
    top: var(--top, 2rem);
  }
  .dm-fun-signature::before {
    position: absolute;
    inset: 2%;
    border: calc(var(--size) * 0.01) solid var(--sign-color);
    border-radius: 50%;
    content: " ";
  }
  .dm-fun-signature::after {
    position: absolute;
    inset: 5%;
    border-radius: 50%;
    content: attr(data-content);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--sign-color);
    font-size: calc(var(--size) * 0.3);
  }
}
@layer components {
  .dm-fun-eclipse {
    --bg-color: #09090b;
    --size: 600px;
    width: var(--size);
    height: var(--size);
    position: relative;
    overflow: hidden;
    .layer {
      position: absolute;
      inset: 0;
    }
    .layer-1 {
      animation: 30s linear dm-fun-eclipse-rotate infinite;
      transform-origin: 66% 40%;
      background: repeating-conic-gradient(from 0deg at 50% 50%, rgba(255,255,255,0) 0%, rgba(255,248,176,0.46) 3.96%, rgba(69,168,255,0) 8.33%, rgba(69,168,255,0) 8.33%) 69.5% 37.7% / 17.2% 17.2% no-repeat, radial-gradient(ellipse at 50% 50%, rgba(255,248,176,1) 0%, rgba(69,168,255,0) 47.22%) 74.1% 35.6% / 33.6% 36.6% no-repeat;
    }
    .layer-2 {
      animation: 20s linear dm-fun-eclipse-rotate infinite reverse;
      transform-origin: 66% 40%;
      background: radial-gradient(ellipse at 50% 50%, rgba(69,168,255,0) 20%, var(--bg-color) 29%) 77.4% 33.8% / 40% 40% no-repeat, repeating-conic-gradient(from 15deg at 50% 50%, rgba(255,255,255,0) 0%, rgba(255,248,176,0.51) 2.64%, rgba(69,168,255,0) 5.56%, rgba(69,168,255,0) 5.56%) 69.5% 37.7% / 17.2% 17.2% no-repeat;
    }
    .layer-3 {
      animation: 20s linear dm-fun-eclipse-rotate infinite;
      background: repeating-conic-gradient(from 355deg at 50% 50%, rgba(255,255,255,0) 0%, rgba(255,198,69,0.26) 8.1%, rgba(69,168,255,0) 16.67%, rgba(69,168,255,0) 16.67%) 0 0 / 100% 100% no-repeat;
    }
    .layer-4 {
      animation: 40s linear dm-fun-eclipse-rotate infinite reverse;
      background: repeating-conic-gradient(from 355deg at 50% 50%, rgba(255,255,255,0) 0%, rgba(255,198,69,0.26) 2.86%, rgba(69,168,255,0) 5.88%, rgba(69,168,255,0) 5.88%) 0% 0% / 100% 100% no-repeat;
    }
    .layer-5 {
      animation: 40s linear dm-fun-eclipse-rotate infinite;
      background: repeating-conic-gradient(from 0deg at 50% 50%, rgba(255,255,255,0) 0%, rgba(255,198,69,0.26) 6.62%, rgba(69,168,255,0) 7.69%, rgba(69,168,255,0) 7.69%) 0% 0% / 100% 100% no-repeat;
    }
    .layer-6 {
      background: radial-gradient(ellipse at 50% 50%, rgba(255,248,176,0.27) 0%, rgba(69,168,255,0) 63.54%) 67% 39.3% / 5.8% 5.8% no-repeat, radial-gradient(ellipse at 50% 50%, rgba(69,168,255,0) 40.28%, rgba(255,183,163,0.05) 52.43%, rgba(69,168,255,0) 63.54%) 68% 38.6% / 13% 13% no-repeat, radial-gradient(ellipse at 50% 50%, rgba(255,248,176,0.55) 0%, rgba(69,168,255,0) 63.54%) 66.9% 39.3% / 3.4% 3.4% no-repeat, radial-gradient(ellipse at 50% 50%, rgba(255,248,176,0.2) 0%, rgba(69,168,255,0) 66.67%) 70.7% 36.5% / 25.6% 25.6% no-repeat, radial-gradient(ellipse at 50% 50%, var(--bg-color) 26%, rgba(69,168,255,0) 26.4%) 0% 0% / 100% 100% no-repeat, radial-gradient(ellipse at 50% 50%, rgba(255,212,148,0.04) 0%, rgba(69,168,255,0) 69.79%) 0% 0% / 100% 100% no-repeat, radial-gradient(ellipse at 50% 50%, rgba(255,240,148,0.11) 0%, rgba(69,168,255,0) 52.43%) 0% 0% / 100% 100% no-repeat, radial-gradient(ellipse at 51% 49%, rgba(69,168,255,0) 23.96%, var(--bg-color) 40.63%) 0% 0% / 100% 100% no-repeat, repeating-conic-gradient(from 0deg at 50% 50%, rgba(255,255,255,0) 0%, rgba(255,239,69,0.14) 11.04%, rgba(69,168,255,0) 20%, rgba(69,168,255,0) 20%) 0% 0% / 100% 100% no-repeat, radial-gradient(ellipse at 52% 48%, rgba(69,168,255,0) 23.96%, var(--bg-color) 34.03%) 0% 0% / 100% 100% no-repeat, radial-gradient(ellipse at 50% 50%, rgba(255,185,147,0.29) 28%, rgba(69,168,255,0) 30%) 0% 0% / 100% 100% no-repeat;
    }
  }
  @keyframes dm-fun-eclipse-rotate {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
}
@layer components {
  .dm-fun-plasma-ball {
    --size: 350px;
    --base-color: #222222;
    --switch-size: calc(var(--size) * 37 / 350);
    position: relative;
    margin: 0 auto;
    width: var(--size);
    height: var(--size);
    box-sizing: border-box;
    * {
      box-sizing: border-box;
    }
    .base {
      position: absolute;
      background: var(--base-color);
      width: calc(var(--size) * 6 / 7);
      height: calc(var(--size) * 4 / 7);
      margin: calc(var(--size) * 48 / 350) auto;
      top: calc(var(--size) * 286 / 350);
      left: calc(var(--size) * 25 / 350);
    }
    .base:before {
      position: absolute;
      top: calc(var(--size) * -44 / 350);
      width: calc(var(--size) * 300 / 350);
      height: calc(var(--size) * 80 / 350);
      border-radius: 100%;
      content: "";
      background: radial-gradient(#222 20%, #353535);
      background: conic-gradient(from 167deg, #666666, #232323, #232323, #666666);
      border: 2px solid #597481;
      box-sizing: border-box;
      left: 0;
      z-index: 0;
    }
    .base:after {
      position: absolute;
      left: calc(var(--size) * -35 / 350);
      bottom: calc(var(--size) * -65 / 350);
      width: calc(var(--size) * 370 / 350);
      height: calc(var(--size) * 110 / 350);
      border-radius: 30% 30% 50% 50%;
      content: "";
      background: var(--base-color);
      z-index: -1;
    }
    .base div {
      background: var(--base-color);
      height: calc(var(--size) * 100 / 350);
      margin-top: calc(var(--size) * 48 / 350);
      float: left;
      margin-left: calc(var(--size) * -53 / 350);
      width: 63%;
      transform: rotate(-85deg);
      z-index: -1;
      position: relative;
    }
    .base div + div {
      margin-top: calc(var(--size) * -99 / 350);
      margin-left: calc(var(--size) * 164 / 350);
      transform: rotate(85deg);
    }
    .base span {
      position: absolute;
      left: calc(var(--size) * -51 / 350);
      bottom: calc(var(--size) * -4 / 350);
      width: calc(var(--size) * 402 / 350);
      height: calc(var(--size) * 160 / 350);
      border-radius: 0% 0% 80% 80%;
      content: "";
      background: #242f3400;
      z-index: 0;
      border: 2px solid transparent;
      border-bottom-color: #435761;
    }
    input.switcher {
      width: calc(var(--size) * 48 / 350);
      height: calc(var(--size) * 48 / 350);
      opacity: 0;
      position: absolute;
      z-index: 3333;
      margin: 0;
      cursor: pointer;
      outline: none;
      border-radius: calc(var(--size) * 50 / 350) !important;
      top: calc(var(--size) * 425 / 350);
      left: calc(var(--size) * 151 / 350);
    }
    .glassball {
      position: relative;
      overflow: hidden;
      margin: 0 auto;
      width: 100%;
      height: 100%;
      border-radius: 100%;
      background-color: rgb(255 255 255 / 0.15);
      top: 0%;
      box-shadow: 0 20px 30px rgba(0, 0, 0, 0.2), inset 0px 10px 30px 5px rgba(255, 255, 255, 1);
      position: absolute;
    }
    .glassball:after {
      background: radial-gradient( ellipse at center, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 70% );
      border-radius: 50%;
      box-shadow: inset 0 20px 30px rgb(255 255 255 / 30%);
      content: "";
      height: 96%;
      left: 2%;
      position: absolute;
      width: 96%;
      top: 2%;
      z-index: 1;
    }
    .glassball:hover {
      cursor: grab;
    }
    .glassball:before {
      position: absolute;
      left: 48%;
      top: 50%;
      width: 0px;
      height: 0px;
      background: radial-gradient(circle closest-side, #9c27b0, transparent);
      transform: translate(-45%, -48%);
      transition: width 0.2s ease, height 0.2s ease;
      animation: spark 5ms ease 0s infinite alternate;
      border: 8px dotted #24e6ff;
      filter: blur(15px);
      border-radius: 100%;
      z-index: 2;
      font-size: 10em;
      color: #d6faff;
      text-align: center;
      line-height: 1;
      content: "s";
      display: none;
      opacity: 0.75;
    }
    .glassball:hover:before {
      width: calc(var(--size) * 120 / 350);
      height: calc(var(--size) * 150 / 350);
    }
    input.switcher:checked + .glassball:before, input.switcher:checked + .glassball:after {
      display: block;
    }
    input.switcher:checked + .glassball:after {
      width: 97%;
      height: 97%;
      left: 1.5%;
      top: 1.5%;
    }
    input.switcher:checked + .glassball:hover:after {
      animation: rotation 3s ease 0s infinite alternate;
      background: radial-gradient( ellipse at center, #ffffff7d 0%, #54ecff94 10%, transparent 100% );
      filter: brightness(1.75);
      opacity: 0.5;
    }
    input.switcher:checked + .glassball {
      transform: translate3d(0, 0, 0);
      backface-visibility: hidden;
      perspective: calc(var(--size) * 1000 / 350);
      background: radial-gradient( circle, #ff5affb8 0%, #ff5affb8 20%, #5493d2a8 70%, #5493d2a8 100% );
      animation: innerlight 5s linear 0s infinite, shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
      transition: background 0.4s ease 0s;
      box-shadow: 0 0 15px 5px #5493d2a8;
      border: 1px solid transparent;
    }
    .switch {
      background: #1b1b1b;
      width: var(--switch-size);
      height: var(--switch-size);
      position: absolute;
      left: calc(50% - var(--switch-size) / 2);
      top: calc(var(--size) * 430 / 350);
      border: 3px solid #4e4e4e;
      z-index: 5;
      border-radius: 100%;
      box-shadow: 0 0 10px 0px #000000, 0 0 5px 1px #2d2d2d, 0 0 3px 1px #000 inset;
    }
    .switch::before {
      content: "";
      position: absolute;
      width: calc(var(--switch-size) * 16 / 37);
      height: calc(var(--switch-size) * 16 / 37);
      bottom: calc(var(--switch-size) * 6 / 37);
      border: calc(var(--switch-size) * 3 / 37) solid #4e4e4e;
      border-top-color: transparent;
      border-radius: 100%;
      left: calc(var(--switch-size) * 5.5 / 37);
    }
    .switch::after {
      content: "";
      position: absolute;
      width: calc(var(--switch-size) * 3 / 37);
      height: calc(var(--switch-size) * 9 / 37);
      bottom: calc(var(--switch-size) * 14 / 37);
      left: calc(var(--switch-size) * 11.5 / 37);
      background: #4e4e4e;
    }
    input:checked + div + div + .switch {
      background: linear-gradient(to bottom, #171717, #404040);
      color: #fff;
      box-shadow: 0 0 10px 0px #03a9f4, 0 0 5px 1px #03a9f4;
      border-color: #222222d1;
    }
    input:checked + div + div + .switch:before {
      border-color: transparent #03a9f4 #03a9f4 #03a9f4;
    }
    input:checked + div + div + .switch:after {
      background: #03a9f4;
    }
    .electrode {
      width: calc(var(--size) * 16 / 350);
      height: calc(var(--size) * 140 / 350);
      bottom: calc(var(--size) * 20 / 350);
      left: calc(50% - 0.5em);
      position: absolute;
      overflow: visible;
    }
    .electrode:not(.hide-electrode) {
      background: linear-gradient(75deg, #3a3a3a 20%, #2d2d2d);
      border-bottom: 1px solid #657882;
      border-radius: 0 0 6px 5px;
    }
    .electrode:before {
      position: absolute;
      left: calc(var(--size) * -16 / 350);
      top: calc(var(--size) * -40 / 350);
      width: calc(var(--size) * 48 / 350);
      height: calc(var(--size) * 48 / 350);
      border-radius: 100%;
      content: "";
      background: radial-gradient(at top left, #4a4949 20%, #2d2d2d);
      border: 1px solid #758e99;
      box-sizing: border-box;
    }
    .electrode:not(.hide-electrode):after {
      position: absolute;
      left: calc(var(--size) * -3 / 350);
      bottom: calc(var(--size) * -11 / 350);
      width: calc(var(--size) * 22 / 350);
      height: calc(var(--size) * 16 / 350);
      border-radius: calc(var(--size) * 140 / 350) / calc(var(--size) * 50 / 350);
      content: "";
      background: linear-gradient(-263deg, #191919 20%, #0a0a0a);
      z-index: -1;
    }
    input.switcher:checked + .glassball .electrode:after {
      background: linear-gradient(-263deg, #3a3a3a 20%, #2d2d2d);
    }
    input.switcher:checked + .glassball .electrode:before {
      background: radial-gradient( ellipse farthest-corner at calc(var(--size) * 30 / 350) calc(var(--size) * 30 / 350), #999, #e449ff, #e449ff, #9763ff, #62edff, #fff );
      box-shadow: 0 0 10px 2px #e449ffb3, 0 0 10px 2px #fff, 0 0 50px -10px #fff inset;
      border-color: #ffffff94;
    }
    input.switcher + .glassball .rays {
      display: none;
    }
    input.switcher:checked + .glassball .rays {
      display: block;
      float: left;
      width: 100%;
      height: 100%;
      position: absolute;
    }
    .ray {
      width: calc(var(--size) * 160 / 350);
      height: calc(var(--size) * 32 / 350);
      position: absolute;
      bottom: calc(var(--size) * 144 / 350);
      filter: drop-shadow(0px 0px 7px #9660f7) drop-shadow(0px 0px 2px #fff);
    }
    .ray:before {
      content: "";
      width: calc(var(--size) * 8 / 350);
      height: calc(var(--size) * 7.2 / 350);
      border: 2px dashed #03a9f4;
      position: absolute;
      border-width: 3px 3px 1px 1px;
      transform: rotate(87deg);
      top: calc(var(--size) * 4.8 / 350);
      left: calc(var(--size) * 3 / 350);
      border-radius: 10px 5px 8px 7px;
      filter: blur(2px);
      box-shadow: 0 0 10px -1px black;
    }
    .ray:after {
      content: "s";
      float: left;
      width: calc(var(--size) * 32 / 350);
      height: calc(var(--size) * 96 / 350);
      margin-top: calc(var(--size) * 20 / 350);
      margin-left: 0px;
      animation: blink 1s linear 0s infinite alternate;
      background: radial-gradient(circle closest-side, #9c27b0, transparent);
      transform: translate(-45%, -48%);
      transition: width 0.2s ease, height 0.2s ease;
      border: calc(var(--size) * 8 / 350) dotted #24e6ff;
      filter: blur(5px);
      border-radius: 100%;
      z-index: 2;
      font-size: calc(var(--size) * 64 / 350);
      color: #d6faff;
      text-align: center;
      line-height: 1;
    }
    .ray span {
      width: calc(var(--size) * 64 / 350);
      height: calc(var(--size) * 16 / 350);
      border: solid calc(var(--size) * 4 / 350) #000;
      border-radius: 238%/50px 50px 0 0;
      position: absolute;
      top: calc(var(--size) * 8 / 350);
      left: 0;
      border-color: #6bbdff transparent transparent transparent;
    }
    .ray span + span {
      left: 30%;
      transform: rotate(180deg);
      top: calc(var(--size) * 2.4 / 350);
    }
    .ray span + span + span {
      left: 60%;
      transform: rotate(0deg);
      top: calc(var(--size) * 8 / 350);
    }
    .ray span:last-of-type:before {
      content: "";
      float: right;
      width: calc(var(--size) * 8 / 350);
      height: calc(var(--size) * 8 / 350);
      background: #d1eefb;
      border-radius: 100%;
      box-shadow: 0 0 4px 3px #fff;
      filter: blur(1px);
      margin-top: calc(var(--size) * -2 / 350);
      left: calc(var(--size) * 3 / 350);
      position: relative;
    }
    .ray.bigwave span:last-of-type:before {
      content: "";
      float: left;
      width: calc(var(--size) * 8 / 350);
      height: calc(var(--size) * 8 / 350);
      background: #d1eefb;
      border-radius: 100%;
      box-shadow: 0 0 4px 3px #fff;
      filter: blur(1px);
      margin-top: calc(var(--size) * -3 / 350);
      left: calc(var(--size) * -2 / 350);
      position: relative;
    }
    .ray.bigwave span {
      width: 55%;
      border-width: calc(var(--size) * 4 / 350);
    }
    .ray.bigwave span + span {
      width: 60%;
      left: 40%;
      border-width: calc(var(--size) * 5 / 350);
      margin-left: calc(var(--size) * 4 / 350);
      margin-top: calc(var(--size) * 2 / 350);
    }
    .rays + .rays {
      transform: rotate(180deg);
    }
    .rays + .rays + .rays {
      transform: rotate(90deg);
    }
    .rays + .rays + .rays + .rays {
      transform: rotate(270deg);
    }
    .rays + .rays + .rays + .rays + .rays {
      transform: skew(-187deg, 0deg) scale(0.675) rotate(0deg);
      display: none;
      animation: touchray1 2.5s ease 0.1s infinite alternate;
    }
    .rays + .rays + .rays + .rays + .rays + .rays {
      transform: skew(-140deg, -40deg) scale(0.675) rotate(180deg);
      display: none;
      animation: touchray2 1s ease 0.25s infinite;
    }
    input.switcher:checked + .glassball:hover .rays + .rays + .rays + .rays + .rays {
      display: block;
    }
    .rays + .rays + .rays + .rays + .rays .ray {
      width: calc(var(--size) * 136 / 350);
      animation: ray1 0.5s linear 0s infinite alternate;
    }
    .rays + .rays + .rays + .rays + .rays .ray span {
      border-top-width: calc(var(--size) * 8 / 350);
    }
    .ray:nth-of-type(1) {
      animation: ray1 0.5s linear 0s infinite;
    }
    .ray:nth-of-type(2) {
      animation: ray1 0.75s linear 0s infinite alternate;
    }
    .ray:nth-of-type(3) {
      animation: ray1 0.65s linear 0s infinite reverse;
    }
    .ray:nth-of-type(4) {
      animation: ray1 0.95s linear 0s infinite alternate;
    }
    .ray:nth-of-type(5) {
      animation: ray1 0.85s linear 0s infinite reverse;
    }
    .rays + .rays .ray:nth-of-type(1) {
      animation-duration: 1.55s;
    }
    .rays + .rays .ray:nth-of-type(2) {
      animation-duration: 1.75s;
    }
    .rays + .rays .ray:nth-of-type(3) {
      animation-duration: 0.65s;
    }
    .rays + .rays .ray:nth-of-type(4) {
      animation-duration: 1.85s;
    }
    .rays + .rays .ray:nth-of-type(5) {
      animation-duration: 1.6s;
    }
    .rays + .rays + .rays .ray:nth-of-type(1) {
      animation-duration: 1.15s;
    }
    .rays + .rays + .rays .ray:nth-of-type(2) {
      animation-duration: 1.5s;
    }
    .rays + .rays + .rays .ray:nth-of-type(3) {
      animation-duration: 1.35s;
    }
    .rays + .rays + .rays .ray:nth-of-type(4) {
      animation-duration: 1s;
    }
    .rays + .rays + .rays .ray:nth-of-type(5) {
      animation-duration: 1.25s;
    }
    .rays + .rays + .rays + .rays .ray:nth-of-type(1) {
      animation-duration: 1.05s;
    }
    .rays + .rays + .rays + .rays .ray:nth-of-type(2) {
      animation-duration: 1.35s;
    }
    .rays + .rays + .rays + .rays .ray:nth-of-type(3) {
      animation-duration: 1.25s;
    }
    .rays + .rays + .rays + .rays .ray:nth-of-type(4) {
      animation-duration: 1.15s;
    }
    .rays + .rays + .rays + .rays .ray:nth-of-type(5) {
      animation-duration: 1.45s;
    }
    .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(1) {
      animation-duration: 0.85s;
    }
    .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(2) {
      animation-duration: 0.95s;
    }
    .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(3) {
      animation-duration: 0.75s;
    }
    .rays + .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(1) {
      animation-duration: 1.1s;
    }
    .rays + .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(2) {
      animation-duration: 1.25s;
    }
    .rays + .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(3) {
      animation-duration: 1.35s;
    }
  }
  @keyframes rotation {
    50% {
      transform: rotate(360deg);
    }
  }
  @keyframes blink {
    0% {
      background: radial-gradient(circle closest-side, #ff5affb8, #5493d2a8);
      transform: translate(-50%, -50%) scale(0.75) rotate(6deg);
    }
    50% {
      background: radial-gradient(circle closest-side, #5493d2a8, #ff5affb8);
      transform: translate(-50%, -50%) scale(0.5) rotate(2deg);
    }
    100% {
      background: radial-gradient(circle closest-side, #ffffffa8, #5493d2a8);
      transform: translate(-50%, -50%) scale(0.35) rotate(11deg);
    }
  }
  @keyframes innerlight {
    0% {
      background-size: 105% 105%;
      background-position: center center;
      box-shadow: 0 0 15px 5px #5493d2a8;
    }
    25% {
      box-shadow: 0 0 15px 5px #ff5aff30;
    }
    50% {
      background-size: 85% 85%;
      background-position: center center;
      box-shadow: 0 0 15px 5px #5493d2a8;
    }
    75% {
      box-shadow: 0 0 15px 5px #ff5aff30;
    }
    100% {
      background-size: 105% 105%;
      background-position: center center;
      box-shadow: 0 0 15px 5px #5493d2a8;
    }
  }
  @keyframes touchray1 {
    0% {
      transform: skew(-187deg, 0deg) scale(0.675) rotate(0deg);
    }
    50% {
      transform: skew(-185deg, 2deg) scale(0.525) rotate(180deg);
      opacity: 1;
    }
    51% {
      opacity: 0;
    }
    52% {
      opacity: 1;
    }
    100% {
      transform: skew(-188deg, -2deg) scale(0.625) rotate(360deg);
    }
  }
  @keyframes touchray2 {
    0% {
      transform: skew(-140deg, -40deg) scale(0.675) rotate(140deg);
    }
    50% {
      transform: skew(-143deg, -42deg) scale(0.525) rotate(0deg);
      opacity: 1;
    }
    51% {
      opacity: 0;
    }
    52% {
      opacity: 1;
    }
    100% {
      transform: skew(-145deg, -38deg) scale(0.625) rotate(210deg);
    }
  }
  @keyframes spark {
    0% {
      background: radial-gradient(circle closest-side, #ff5affb8, #5493d2a8);
      transform: translate(-50%, -50%) scale(0.75) rotate(0deg);
    }
    50% {
      background: radial-gradient(circle closest-side, #5493d2a8, #ff5affb8);
      transform: translate(-50%, -50%) scale(0.5) rotate(180deg);
    }
    100% {
      background: radial-gradient(circle closest-side, #ffffffa8, #5493d2a8);
      transform: translate(-50%, -50%) scale(1) rotate(360deg);
    }
  }
  @keyframes ray1 {
    0% {
      opacity: 0;
      transform: rotate(0deg) translate(0px, 0px);
    }
    12% {
      opacity: 1;
      transform: rotate(22deg) translate(0px, calc(var(--size) * -35 / 350));
      filter: brightness(1.75);
    }
    25% {
      opacity: 0;
      transform: rotate(45deg) translate(calc(var(--size) * -33 / 350), calc(var(--size) * -69 / 350));
    }
    37% {
      opacity: 1;
      transform: rotate(67deg) translate(calc(var(--size) * -64 / 350), calc(var(--size) * -86 / 350));
      filter: brightness(1.15);
    }
    50% {
      opacity: 0;
      transform: rotate(90deg) translate(calc(var(--size) * -108 / 350), calc(var(--size) * -93 / 350));
    }
    62% {
      opacity: 1;
      transform: rotate(112deg) translate(calc(var(--size) * -140 / 350), calc(var(--size) * -90 / 350));
      filter: brightness(1.25);
    }
    75% {
      opacity: 0;
      transform: rotate(135deg) translate(calc(var(--size) * -169 / 350), calc(var(--size) * -69 / 350));
    }
    87% {
      opacity: 1;
      transform: rotate(157deg) translate(calc(var(--size) * -185 / 350), calc(var(--size) * -36 / 350));
      filter: brightness(1.75);
    }
    100% {
      opacity: 0;
      transform: rotate(180deg) translate(calc(var(--size) * -192 / 350), calc(var(--size) * 6 / 350));
    }
  }
}
@layer components {
  .dm-fun-atom {
    --atom-size: 360px;
    --atom-color: #00d8ff;
    --nucleus-size: calc(var(--atom-size) / 5);
    --electron-color: #99f8ff;
    --electron-size: calc(var(--atom-size) / 25);
    --electron-orbit-size: calc(var(--atom-size) / 2.5);
    --electron-speed: 1.2s;
    --electron-speed-alpha: 1s;
    --electron-speed-omega: .8s;
    position: relative;
    width: var(--atom-size);
    height: var(--atom-size);
    animation: 8s dm-fun-atom infinite cubic-bezier(1, .25, 0, .75);
    box-sizing: border-box;
    overflow: hidden;
    *, *:before, *::after {
      box-sizing: border-box;
    }
    &::before {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: var(--nucleus-size);
      height: var(--nucleus-size);
      margin-top: calc(var(--nucleus-size) / -2);
      margin-left: calc(var(--nucleus-size) / -2);
      background: color-mix(in srgb, var(--atom-color) 70%, transparent);
      border-radius: 100%;
      box-shadow: 0 0 3px 0 color-mix(in srgb, var(--atom-color) 70%, transparent);
      animation: 2s dm-fun-nucleus infinite cubic-bezier(.65, 0, .35, 1);
    }
    & > [class^="electron"] {
      border-top: solid color-mix(in srgb, var(--atom-color) 50%, transparent) 1px;
      border-right: solid color-mix(in srgb, var(--atom-color) 35%, transparent) 2px;
      border-bottom: solid color-mix(in srgb, var(--atom-color) 20%, transparent) 4px;
      border-left: solid color-mix(in srgb, var(--atom-color) 0%, transparent) 2px;
      border-radius: 100%;
      width: 100%;
      height: var(--electron-orbit-size);
      position: absolute;
      top: 50%;
      margin-top: calc(var(--electron-orbit-size) / -2);
      animation: var(--electron-speed) dm-fun-electron-orbit infinite linear;
    }
    & > .electron-alpha {
      transform: rotate(60deg);
      animation: var(--electron-speed-alpha) dm-fun-electron-orbit infinite linear;
    }
    & > .electron-omega {
      transform: rotate(-60deg);
      animation: var(--electron-speed-omega) dm-fun-electron-orbit infinite linear;
    }
    [class^="electron"]::after {
      content: '';
      display: block;
      width: var(--electron-size);
      height: var(--electron-size);
      background: var(--electron-color);
      border-radius: 50%;
      margin-top: calc(var(--electron-size) / -2);
      position: absolute;
      top: 50%;
      left: calc(var(--electron-size) / -1);
      transform: scale(1);
      animation: calc(var(--electron-speed) * 2) dm-fun-electron infinite ease-in-out;
    }
    .electron-alpha::after {
      animation: calc(var(--electron-speed-alpha) * 2) dm-fun-electron infinite ease-in-out;
    }
    .electron-omega::after {
      animation: calc(var(--electron-speed-omega) * 2) dm-fun-electron infinite ease-in-out;
    }
  }
  @keyframes dm-fun-electron-orbit {
    0% {
      border-top: solid color-mix(in srgb, var(--atom-color) 50%, transparent) 1px;
      border-right: solid color-mix(in srgb, var(--atom-color) 35%, transparent) 2px;
      border-bottom: solid color-mix(in srgb, var(--atom-color) 20%, transparent) 4px;
      border-left: solid color-mix(in srgb, var(--atom-color) 0%, transparent) 2px;
    }
    25% {
      border-top: solid color-mix(in srgb, var(--atom-color) 35%, transparent) 1px;
      border-right: solid color-mix(in srgb, var(--atom-color) 20%, transparent) 2px;
      border-bottom: solid color-mix(in srgb, var(--atom-color) 0%, transparent) 4px;
      border-left: solid color-mix(in srgb, var(--atom-color) 50%, transparent) 2px;
    }
    50% {
      border-top: solid color-mix(in srgb, var(--atom-color) 20%, transparent) 1px;
      border-right: solid color-mix(in srgb, var(--atom-color) 0%, transparent) 2px;
      border-bottom: solid color-mix(in srgb, var(--atom-color) 50%, transparent) 4px;
      border-left: solid color-mix(in srgb, var(--atom-color) 35%, transparent) 2px;
    }
    75% {
      border-top: solid color-mix(in srgb, var(--atom-color) 0%, transparent) 1px;
      border-right: solid color-mix(in srgb, var(--atom-color) 50%, transparent) 2px;
      border-bottom: solid color-mix(in srgb, var(--atom-color) 35%, transparent) 4px;
      border-left: solid color-mix(in srgb, var(--atom-color) 20%, transparent) 2px;
    }
    100% {
      border-top: solid color-mix(in srgb, var(--atom-color) 50%, transparent) 1px;
      border-right: solid color-mix(in srgb, var(--atom-color) 35%, transparent) 2px;
      border-bottom: solid color-mix(in srgb, var(--atom-color) 20%, transparent) 4px;
      border-left: solid color-mix(in srgb, var(--atom-color) 0%, transparent) 2px;
    }
  }
  @keyframes dm-fun-atom {
    0% {
      transform: rotate(0deg) scale(1);
    }
    12.5% {
      transform: rotate(-45deg) scale(.9);
    }
    25% {
      transform: rotate(-90deg) scale(1);
    }
    37.5% {
      transform: rotate(-135deg) scale(.9);
    }
    50% {
      transform: rotate(-180deg) scale(1);
    }
    62.5% {
      transform: rotate(-225deg) scale(.9);
    }
    75% {
      transform: rotate(-270deg) scale(1);
    }
    87.5% {
      transform: rotate(-315deg) scale(.9);
    }
    100% {
      transform: rotate(-360deg) scale(1);
    }
  }
  @keyframes dm-fun-nucleus {
    0% {
      transform: scale(1);
    }
    25% {
      transform: scale(.9);
    }
    50% {
      transform: scale(1);
    }
    75% {
      transform: scale(.85);
    }
    100% {
      transform: scale(1);
    }
  }
  @keyframes dm-fun-electron {
    0% {
      left: calc(var(--electron-size) / -1);
      transform: scale(1);
    }
    12.5% {
      top: 100%;
      transform: scale(1.5);
    }
    25% {
      left: 100%;
      transform: scale(1);
    }
    37.5% {
      top: 0%;
      transform: scale(.25);
    }
    50% {
      left: calc(var(--electron-size) / -1);
      transform: scale(1);
    }
    62.5% {
      top: 100%;
      transform: scale(1.5);
    }
    75% {
      left: 100%;
      transform: scale(1);
    }
    87.5% {
      top: 0%;
      transform: scale(.25);
    }
    100% {
      left: calc(var(--electron-size) / -1);
      transform: scale(1);
    }
  }
}
@layer components {
  .dm-fun-snowflake {
    position: absolute;
    width: var(--snowflake-size, 10px);
    height: var(--snowflake-size, 10px);
    border-radius: 50%;
    pointer-events: none;
    &:not(.snowflake-unicode) {
      background: var(--snowflake-color, #FFFFFF);
      filter: drop-shadow(0 0 var(--snowflake-size, 10px) var(--snowflake-color, #FFFFFF));
    }
  }
  .dm-fun-snowflake.snowflake-unicode::after {
    content: "\2746";
    color: var(--snowflake-color, #FFFFFF);
    font-size: var(--snowflake-size, 10px);
    filter: drop-shadow(0 0 var(--snowflake-size, 10px) var(--snowflake-color, #FFFFFF));
  }
}
@layer components {
  .dm-fun-footer-bubbles {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1rem;
    background: var(--footer-bg-color);
    .dm-fun-footer-bubble {
      position: absolute;
      left: var(--position, 50%);
      background: var(--footer-bg-color);
      border-radius: 100%;
      animation: dm-fun-bubble-size var(--time, 4s) ease-in infinite var(--delay, 0s), dm-fun-bubble-move var(--time, 4s) ease-in infinite var(--delay, 0s);
      transform: translate(-50%, 100%);
    }
  }
  @keyframes dm-fun-bubble-size {
    0%, 75% {
      width: var(--size, 4rem);
      height: var(--size, 4rem);
    }
    100% {
      width: 0rem;
      height: 0rem;
    }
  }
  @keyframes dm-fun-bubble-move {
    0% {
      bottom: -4rem;
    }
    100% {
      bottom: var(--distance, 10rem);
    }
  }
}
@layer components {
  .btn-noise {
    position: relative;
    width: 287px;
    height: 36px;
    background: none;
    font-family: "Josefin Sans", sans-serif;
    font-size: 24px;
    cursor: pointer;
    border: none;
    --sy: 1;
    --aps: running;
    --op: 0;
    &::after {
      content: attr(data-content);
      opacity: var(--op, 1);
      transition: opacity 0.4s;
    }
    & > i {
      position: absolute;
      left: var(--left, 0);
      top: 50%;
      width: 3px;
      height: 72px;
      transform: translateY(-50%) scaleY(var(--sy, 0));
      transition: transform var(--duration) ease-out;
      &::after {
        content: " ";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(#fff, hsl(var(--hue, 0), 75%, 75%));
        border-radius: 50%;
        animation: btn-noise var(--duration) infinite ease-in-out alternate;
        animation-play-state: var(--aps, paused);
      }
      &:nth-child(1) {
        --left: 0px;
        --duration: 387ms;
        --size: 0.053;
        --hue: 0;
      }
      &:nth-child(2) {
        --left: 4px;
        --duration: 320ms;
        --size: 0.857;
        --hue: 5;
      }
      &:nth-child(3) {
        --left: 8px;
        --duration: 231ms;
        --size: 0.183;
        --hue: 10;
      }
      &:nth-child(4) {
        --left: 12px;
        --duration: 231ms;
        --size: 0.699;
        --hue: 15;
      }
      &:nth-child(5) {
        --left: 16px;
        --duration: 397ms;
        --size: 0.634;
        --hue: 20;
      }
      &:nth-child(6) {
        --left: 20px;
        --duration: 315ms;
        --size: 0.152;
        --hue: 25;
      }
      &:nth-child(7) {
        --left: 24px;
        --duration: 360ms;
        --size: 0.552;
        --hue: 30;
      }
      &:nth-child(8) {
        --left: 28px;
        --duration: 379ms;
        --size: 0.02;
        --hue: 35;
      }
      &:nth-child(9) {
        --left: 32px;
        --duration: 337ms;
        --size: 0.039;
        --hue: 40;
      }
      &:nth-child(10) {
        --left: 36px;
        --duration: 267ms;
        --size: 0.531;
        --hue: 45;
      }
      &:nth-child(11) {
        --left: 40px;
        --duration: 385ms;
        --size: 0.199;
        --hue: 50;
      }
      &:nth-child(12) {
        --left: 44px;
        --duration: 268ms;
        --size: 0.863;
        --hue: 55;
      }
      &:nth-child(13) {
        --left: 48px;
        --duration: 370ms;
        --size: 0.334;
        --hue: 60;
      }
      &:nth-child(14) {
        --left: 52px;
        --duration: 266ms;
        --size: 0.951;
        --hue: 65;
      }
      &:nth-child(15) {
        --left: 56px;
        --duration: 340ms;
        --size: 0.841;
        --hue: 70;
      }
      &:nth-child(16) {
        --left: 60px;
        --duration: 255ms;
        --size: 0.388;
        --hue: 75;
      }
      &:nth-child(17) {
        --left: 64px;
        --duration: 222ms;
        --size: 0.184;
        --hue: 80;
      }
      &:nth-child(18) {
        --left: 68px;
        --duration: 390ms;
        --size: 0.383;
        --hue: 85;
      }
      &:nth-child(19) {
        --left: 72px;
        --duration: 370ms;
        --size: 0.974;
        --hue: 90;
      }
      &:nth-child(20) {
        --left: 76px;
        --duration: 285ms;
        --size: 0.478;
        --hue: 95;
      }
      &:nth-child(21) {
        --left: 80px;
        --duration: 252ms;
        --size: 0.402;
        --hue: 100;
      }
      &:nth-child(22) {
        --left: 84px;
        --duration: 298ms;
        --size: 0.567;
        --hue: 105;
      }
      &:nth-child(23) {
        --left: 88px;
        --duration: 389ms;
        --size: 0.926;
        --hue: 110;
      }
      &:nth-child(24) {
        --left: 92px;
        --duration: 368ms;
        --size: 0.137;
        --hue: 115;
      }
      &:nth-child(25) {
        --left: 96px;
        --duration: 219ms;
        --size: 0.111;
        --hue: 120;
      }
      &:nth-child(26) {
        --left: 100px;
        --duration: 344ms;
        --size: 0.12;
        --hue: 125;
      }
      &:nth-child(27) {
        --left: 104px;
        --duration: 329ms;
        --size: 0.368;
        --hue: 130;
      }
      &:nth-child(28) {
        --left: 108px;
        --duration: 241ms;
        --size: 0.316;
        --hue: 135;
      }
      &:nth-child(29) {
        --left: 112px;
        --duration: 393ms;
        --size: 0.463;
        --hue: 140;
      }
      &:nth-child(30) {
        --left: 116px;
        --duration: 304ms;
        --size: 0.372;
        --hue: 145;
      }
      &:nth-child(31) {
        --left: 120px;
        --duration: 300ms;
        --size: 0.39;
        --hue: 150;
      }
      &:nth-child(32) {
        --left: 124px;
        --duration: 366ms;
        --size: 0.785;
        --hue: 155;
      }
      &:nth-child(33) {
        --left: 128px;
        --duration: 337ms;
        --size: 0.499;
        --hue: 160;
      }
      &:nth-child(34) {
        --left: 132px;
        --duration: 262ms;
        --size: 0.724;
        --hue: 165;
      }
      &:nth-child(35) {
        --left: 136px;
        --duration: 230ms;
        --size: 0.406;
        --hue: 170;
      }
      &:nth-child(36) {
        --left: 140px;
        --duration: 333ms;
        --size: 0.057;
        --hue: 175;
      }
      &:nth-child(37) {
        --left: 144px;
        --duration: 348ms;
        --size: 0.347;
        --hue: 180;
      }
      &:nth-child(38) {
        --left: 148px;
        --duration: 229ms;
        --size: 0.683;
        --hue: 185;
      }
      &:nth-child(39) {
        --left: 152px;
        --duration: 240ms;
        --size: 0.072;
        --hue: 190;
      }
      &:nth-child(40) {
        --left: 156px;
        --duration: 325ms;
        --size: 0.557;
        --hue: 195;
      }
      &:nth-child(41) {
        --left: 160px;
        --duration: 304ms;
        --size: 0.42;
        --hue: 200;
      }
      &:nth-child(42) {
        --left: 164px;
        --duration: 202ms;
        --size: 0.406;
        --hue: 205;
      }
      &:nth-child(43) {
        --left: 168px;
        --duration: 383ms;
        --size: 0.818;
        --hue: 210;
      }
      &:nth-child(44) {
        --left: 172px;
        --duration: 362ms;
        --size: 0.09;
        --hue: 215;
      }
      &:nth-child(45) {
        --left: 176px;
        --duration: 393ms;
        --size: 0.61;
        --hue: 220;
      }
      &:nth-child(46) {
        --left: 180px;
        --duration: 287ms;
        --size: 0.166;
        --hue: 225;
      }
      &:nth-child(47) {
        --left: 184px;
        --duration: 333ms;
        --size: 0.472;
        --hue: 230;
      }
      &:nth-child(48) {
        --left: 188px;
        --duration: 223ms;
        --size: 0.035;
        --hue: 235;
      }
      &:nth-child(49) {
        --left: 192px;
        --duration: 310ms;
        --size: 0.117;
        --hue: 240;
      }
      &:nth-child(50) {
        --left: 196px;
        --duration: 220ms;
        --size: 0.943;
        --hue: 245;
      }
      &:nth-child(51) {
        --left: 200px;
        --duration: 219ms;
        --size: 0.221;
        --hue: 250;
      }
      &:nth-child(52) {
        --left: 204px;
        --duration: 274ms;
        --size: 0.555;
        --hue: 255;
      }
      &:nth-child(53) {
        --left: 208px;
        --duration: 339ms;
        --size: 0.712;
        --hue: 260;
      }
      &:nth-child(54) {
        --left: 212px;
        --duration: 214ms;
        --size: 0.857;
        --hue: 265;
      }
      &:nth-child(55) {
        --left: 216px;
        --duration: 215ms;
        --size: 0.565;
        --hue: 270;
      }
      &:nth-child(56) {
        --left: 220px;
        --duration: 247ms;
        --size: 0.684;
        --hue: 275;
      }
      &:nth-child(57) {
        --left: 224px;
        --duration: 283ms;
        --size: 0.134;
        --hue: 280;
      }
      &:nth-child(58) {
        --left: 228px;
        --duration: 362ms;
        --size: 0.734;
        --hue: 285;
      }
      &:nth-child(59) {
        --left: 232px;
        --duration: 363ms;
        --size: 0.622;
        --hue: 290;
      }
      &:nth-child(60) {
        --left: 236px;
        --duration: 396ms;
        --size: 0.095;
        --hue: 295;
      }
      &:nth-child(61) {
        --left: 240px;
        --duration: 245ms;
        --size: 0.847;
        --hue: 300;
      }
      &:nth-child(62) {
        --left: 244px;
        --duration: 278ms;
        --size: 0.169;
        --hue: 305;
      }
      &:nth-child(63) {
        --left: 248px;
        --duration: 375ms;
        --size: 0.185;
        --hue: 310;
      }
      &:nth-child(64) {
        --left: 252px;
        --duration: 392ms;
        --size: 0.357;
        --hue: 315;
      }
      &:nth-child(65) {
        --left: 256px;
        --duration: 315ms;
        --size: 0.284;
        --hue: 320;
      }
      &:nth-child(66) {
        --left: 260px;
        --duration: 215ms;
        --size: 0.508;
        --hue: 325;
      }
      &:nth-child(67) {
        --left: 264px;
        --duration: 372ms;
        --size: 0.019;
        --hue: 330;
      }
      &:nth-child(68) {
        --left: 268px;
        --duration: 232ms;
        --size: 0.906;
        --hue: 335;
      }
      &:nth-child(69) {
        --left: 272px;
        --duration: 262ms;
        --size: 0.974;
        --hue: 340;
      }
      &:nth-child(70) {
        --left: 276px;
        --duration: 349ms;
        --size: 0.302;
        --hue: 345;
      }
      &:nth-child(71) {
        --left: 280px;
        --duration: 293ms;
        --size: 1;
        --hue: 350;
      }
      &:nth-child(72) {
        --left: 284px;
        --duration: 315ms;
        --size: 0.186;
        --hue: 355;
      }
    }
    &:hover {
      border: none;
      --sy: 1;
      --aps: running;
      --op: 0;
    }
  }
  @keyframes btn-noise {
    0% {
      transform: scaleY(calc(1 - (var(--size, 0))));
    }
    100% {
      transform: scaleY(calc(1 + (var(--size, 0))));
    }
  }
}
:root {
  --neumorphic-color: hsl(0, 0%, 66.7%);
  --neumorphic-color: #aaa;
  --neumorphic-text-color: #444;
  --neumorphic-light: #fff8;
  --neumorphic-dark: #3338;
  --neumorphic-concave: linear-gradient(145deg, #999999, #b6b6b6);
  --neumorphic-convex: linear-gradient(145deg, #b6b6b6, #999999);
  --neumorphic-size: 1;
  --neumorphic-shadow: calc(1em * var(--neumorphic-size))
      calc(1em * var(--neumorphic-size))
      calc(1em * var(--neumorphic-size) * 1.5) var(--neumorphic-dark),
    calc(1em * var(--neumorphic-size) * -1)
      calc(1em * var(--neumorphic-size) * -1)
      calc(1em * var(--neumorphic-size) * 1.5) var(--neumorphic-light);
  --neumorphic-shadow-inset: inset calc(1em * var(--neumorphic-size))
      calc(1em * var(--neumorphic-size))
      calc(1em * var(--neumorphic-size) * 1.5) var(--neumorphic-dark),
    inset calc(1em * var(--neumorphic-size) * -1)
      calc(1em * var(--neumorphic-size) * -1)
      calc(1em * var(--neumorphic-size) * 1.5) var(--neumorphic-light);
  --neumorphic-filter: drop-shadow(
      calc(1em * var(--neumorphic-size)) calc(1em * var(--neumorphic-size))
        calc(1em * var(--neumorphic-size) * 1.5) var(--neumorphic-dark)
    )
    drop-shadow(
      calc(1em * var(--neumorphic-size) * -1)
        calc(1em * var(--neumorphic-size) * -1)
        calc(1em * var(--neumorphic-size) * 1.5) var(--neumorphic-light)
    );
  --text-dark-shadow: 0.1em 0.1em 0.12em var(--neumorphic-dark);
  --text-light-shadow: -0.1em -0.1em 0.12em var(--neumorphic-light);
}
@layer components {
  .neumorphic-tabel {
    thead {
      tr {
        th {
          box-shadow: calc(1rem * 12 * 0.01) calc(1rem * 12 * 0.01) calc(1rem * 12 * 0.01 * 1.5) var(--neumorphic-dark), calc(1rem * 12 * 0.01 * -1) calc(1rem * 12 * 0.01 * -1) calc(1rem * 12 * 0.01 * 1.5) var(--neumorphic-light);
          color: var(--neumorphic-text-color);
          padding: 0.5rem;
          text-align: left;
        }
      }
    }
    tbody {
      tr {
        &:hover {
          box-shadow: calc(1rem * 6 * 0.01) calc(1rem * 6 * 0.01) calc(1rem * 6 * 0.01 * 1.5) var(--neumorphic-dark), calc(1rem * 6 * 0.01 * -1) calc(1rem * 6 * 0.01 * -1) calc(1rem * 6 * 0.01 * 1.5) var(--neumorphic-light);
        }
        td {
          box-shadow: inset calc(1rem * 6 * 0.01) calc(1rem * 6 * 0.01) calc(1rem * 6 * 0.01 * 1.5) var(--neumorphic-dark), inset calc(1rem * 6 * 0.01 * -1) calc(1rem * 6 * 0.01 * -1) calc(1rem * 6 * 0.01 * 1.5) var(--neumorphic-light);
          padding: 0.25rem 0.5rem;
          td:hover {
            background-image: radial-gradient( circle at center, color-mix(in srgb, var(--neumorphic-color) 80%, #fff), color-mix(in srgb, var(--neumorphic-color) 90%, #fff), var(--neumorphic-color), color-mix(in srgb, var(--neumorphic-color) 90%, #000), color-mix(in srgb, var(--neumorphic-color) 80%, #000) );
          }
        }
      }
    }
  }
}
@layer components {
  .neumorphic-button {
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 1.5);
    text-align: center;
    vertical-align: middle;
    text-decoration-line: none;
    -webkit-user-select: none;
    user-select: none;
    padding-inline: var(--btn-p);
    height: var(--size);
    font-size: 0.875rem;
    font-weight: 600;
    transition-property: color, background-color, border-color, box-shadow;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transition-duration: 0.2s;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    --size: calc(var(--size-field, 0.25rem) * 10);
    --btn-bg: var(--btn-color, var(--neumorphic-color));
    --btn-fg: var(--neumorphic-text-color);
    --btn-p: 1rem;
    --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
    --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),
      0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
    --btn-noise: var(--fx-noise);
    --btn-color: var(--neumorphic-color);
    color: var(--btn-fg);
    background-color: var(--btn-bg);
    box-shadow: calc(1rem * 16 * 0.01) calc(1rem * 16 * 0.01) calc(1rem * 16 * 0.01 * 1.5) var(--neumorphic-dark), calc(1rem * 16 * 0.01 * -1) calc(1rem * 16 * 0.01 * -1) calc(1rem * 16 * 0.01 * 1.5) var(--neumorphic-light);
    text-shadow: calc(1rem * 0.01 * 4) calc(1rem * 0.01 * 4) calc(1rem * 0.01 * 4) var(--neumorphic-dark), calc(1rem * 0.01 * 4 * -1) calc(1rem * 0.01 * 4 * -1) calc(1rem * 0.01 * 4) var(--neumorphic-light);
    @media (hover: hover) {
      &:hover {
        --btn-bg: color-mix(in oklab, var(--btn-color, var(--neumorphic-color)), #000 7%);
        color: transparent;
        background-clip: text;
        text-shadow: calc(1rem * 0.01 * 4) calc(1rem * 0.01 * 4) calc(1rem * 0.01 * 4) var(--neumorphic-dark), calc(1rem * 0.01 * 4 * -1) calc(1rem * 0.01 * 4 * -1) calc(1rem * 0.01 * 4) var(--neumorphic-light);
        box-shadow: calc(1rem * 12 * 0.01) calc(1rem * 12 * 0.01) calc(1rem * 12 * 0.01 * 1.5) var(--neumorphic-dark), calc(1rem * 12 * 0.01 * -1) calc(1rem * 12 * 0.01 * -1) calc(1rem * 12 * 0.01 * 1.5) var(--neumorphic-light);
      }
    }
    &.btn-active {
      --btn-bg: color-mix(in oklab, var(--btn-color, var(--neumorphic-color)), #000 7%);
      --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
      isolation: isolate;
      box-shadow: inset calc(1rem * 12 * 0.01) calc(1rem * 12 * 0.01) calc(1rem * 12 * 0.01 * 1.5) var(--neumorphic-dark), inset calc(1rem * 12 * 0.01 * -1) calc(1rem * 12 * 0.01 * -1) calc(1rem * 12 * 0.01 * 1.5) var(--neumorphic-light);
    }
    &:focus-visible {
      outline-width: 2px;
      outline-style: solid;
    }
    &:active:not(.btn-active) {
      box-shadow: inset calc(1rem * 12 * 0.01) calc(1rem * 12 * 0.01) calc(1rem * 12 * 0.01 * 1.5) var(--neumorphic-dark), inset calc(1rem * 12 * 0.01 * -1) calc(1rem * 12 * 0.01 * -1) calc(1rem * 12 * 0.01 * 1.5) var(--neumorphic-light);
      translate: 0 0.5px;
      --btn-bg: color-mix(in oklab, var(--btn-color, var(--neumorphic-color)), #000 5%);
      --btn-border: color-mix(in oklab, var(--btn-color, var(--neumorphic-color)), #000 7%);
      --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
    }
    &:is(:disabled, [disabled], .btn-disabled) {
      &:not(.btn-link, .btn-ghost) {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
        box-shadow: none;
      }
      pointer-events: none;
      --btn-border: #0000;
      --btn-noise: none;
      --btn-fg: color-mix(in oklch, var(--neumorphic-text-color) 20%, #0000);
      @media (hover: hover) {
        &:hover {
          pointer-events: none;
          background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);
          --btn-border: #0000;
          --btn-fg: color-mix(in oklch, var(--neumorphic-text-color) 20%, #0000);
        }
      }
    }
    &:is(input[type="checkbox"], input[type="radio"]) {
      appearance: none;
      &::after {
        content: attr(aria-label);
      }
      &:checked {
        outline-width: 2px;
        outline-style: solid;
        --btn-bg: color-mix(in oklab, var(--btn-color, var(--neumorphic-color)), #000 7%);
        --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
        isolation: isolate;
      }
    }
  }
  .btn-primary {
    --btn-color: var(--color-primary);
    --btn-fg: var(--color-primary-content);
  }
  .btn-secondary {
    --btn-color: var(--color-secondary);
    --btn-fg: var(--color-secondary-content);
  }
  .btn-accent {
    --btn-color: var(--color-accent);
    --btn-fg: var(--color-accent-content);
  }
  .btn-neutral {
    --btn-color: var(--color-neutral);
    --btn-fg: var(--color-neutral-content);
  }
  .btn-info {
    --btn-color: var(--color-info);
    --btn-fg: var(--color-info-content);
  }
  .btn-success {
    --btn-color: var(--color-success);
    --btn-fg: var(--color-success-content);
  }
  .btn-warning {
    --btn-color: var(--color-warning);
    --btn-fg: var(--color-warning-content);
  }
  .btn-error {
    --btn-color: var(--color-error);
    --btn-fg: var(--color-error-content);
  }
  .btn-ghost {
    &:not(.btn-active, :hover, :active:focus, :focus-visible) {
      --btn-shadow: "";
      --btn-bg: #0000;
      --btn-border: #0000;
      --btn-noise: none;
      &:not(:disabled, [disabled], .btn-disabled) {
        outline-color: currentColor;
        --btn-fg: currentColor;
      }
    }
  }
  .neumorphic-btn-ghost {
    &:not(.btn-active, :active:focus, :focus-visible) {
      --btn-shadow: "";
      --btn-bg: #0000;
      --btn-border: #0000;
      --btn-noise: none;
      box-shadow: none;
      &:not(:disabled, [disabled], .btn-disabled) {
        outline-color: currentColor;
        --btn-fg: currentColor;
      }
    }
  }
  .btn-link {
    text-decoration-line: underline;
    outline-color: currentColor;
    --btn-border: #0000;
    --btn-bg: #0000;
    --btn-fg: var(--color-primary);
    --btn-noise: none;
    --btn-shadow: "";
    &:is(.btn-active, :hover, :active:focus, :focus-visible) {
      text-decoration-line: underline;
      --btn-border: #0000;
      --btn-bg: #0000;
    }
  }
  .btn-outline {
    &:not(.btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled, :checked, [checked]) {
      --btn-shadow: "";
      --btn-bg: #0000;
      --btn-fg: var(--btn-color);
      --btn-border: var(--btn-color);
      --btn-noise: none;
    }
  }
  .btn-dash {
    &:not(.btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled) {
      --btn-shadow: "";
      border-style: dashed;
      --btn-bg: #0000;
      --btn-fg: var(--btn-color);
      --btn-border: var(--btn-color);
      --btn-noise: none;
    }
  }
  .btn-soft {
    &:not(.btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled) {
      --btn-shadow: "";
      --btn-fg: var(--btn-color, var(--neumorphic-text-color));
      --btn-bg: color-mix(
        in oklab,
        var(--btn-color, var(--neumorphic-text-color)) 8%,
        var(--color-base-100)
      );
      --btn-border: color-mix(
        in oklab,
        var(--btn-color, var(--neumorphic-text-color)) 10%,
        var(--color-base-100)
      );
      --btn-noise: none;
    }
  }
  .btn-xs {
    font-size: 0.6875rem;
    --btn-p: 0.5rem;
    --size: calc(var(--size-field, 0.25rem) * 6);
  }
  .btn-sm {
    font-size: 0.75rem;
    --btn-p: 0.75rem;
    --size: calc(var(--size-field, 0.25rem) * 8);
  }
  .btn-md {
    font-size: 0.875rem;
    --btn-p: 1rem;
    --size: calc(var(--size-field, 0.25rem) * 10);
  }
  .btn-lg {
    font-size: 1.125rem;
    --btn-p: 1.25rem;
    --size: calc(var(--size-field, 0.25rem) * 12);
  }
  .btn-xl {
    font-size: 1.375rem;
    --btn-p: 1.5rem;
    --size: calc(var(--size-field, 0.25rem) * 14);
  }
  .btn-square {
    padding-inline: calc(var(--spacing) * 0);
    width: var(--size);
    height: var(--size);
  }
  .btn-circle {
    border-radius: calc(infinity * 1px);
    padding-inline: calc(var(--spacing) * 0);
    width: var(--size);
    height: var(--size);
  }
  .btn-wide {
    width: 100%;
    max-width: calc(var(--spacing) * 64);
  }
  .btn-block {
    width: 100%;
  }
}
@layer components {
  .neumorphic-range {
    appearance: none;
    -webkit-appearance: none;
    --range-thumb: var(--neumorphic-color);
    --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
    --range-progress: currentColor;
    --range-fill: 1;
    --range-p: 0.25rem;
    --range-bg: color-mix(in oklab, currentColor 20%, #0000);
    cursor: pointer;
    overflow: hidden;
    background-color: transparent;
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    --radius-selector-max: calc(
      var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
    );
    border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
    border: none;
    height: var(--range-thumb-size);
    [dir="rtl"] & {
      --range-dir: -1;
    }
    &:focus {
      outline: none;
    }
    &:focus-visible {
      outline: 2px solid;
      outline-offset: 2px;
    }
    &::-webkit-slider-runnable-track {
      width: 100%;
      background-color: var(--range-bg);
      border-radius: var(--radius-selector);
      height: calc(var(--range-thumb-size) * 0.5);
      @media (forced-colors: active) {
        border: 1px solid;
      }
    }
    &::-webkit-slider-thumb {
      position: relative;
      box-sizing: border-box;
      border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
      background-color: currentColor;
      height: var(--range-thumb-size);
      width: var(--range-thumb-size);
      border: var(--range-p) solid;
      appearance: none;
      -webkit-appearance: none;
      top: 50%;
      color: var(--range-progress);
      transform: translateY(-50%);
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100rem * var(--range-fill));
    }
    &::-moz-range-track {
      width: 100%;
      background-color: var(--range-bg);
      border-radius: var(--radius-selector);
      height: calc(var(--range-thumb-size) * 0.5);
      @media (forced-colors: active) {
        border: 1px solid;
      }
    }
    &::-moz-range-thumb {
      position: relative;
      box-sizing: border-box;
      border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
      background-color: currentColor;
      height: var(--range-thumb-size);
      width: var(--range-thumb-size);
      border: var(--range-p) solid;
      top: 50%;
      color: var(--range-progress);
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100rem * var(--range-fill));
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 30%;
    }
  }
}
@layer components {
  .neumorphic-checkbox {
    display: inline-grid;
    place-items: center;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    border-radius: var(--radius-selector);
    padding: calc(0.25rem * 1);
    vertical-align: middle;
    color: var(--color-base-content);
    box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;
    transition: background-color 0.2s, box-shadow 0.2s;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: var(--size);
    height: var(--size);
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--fx-noise);
    &:before {
      --tw-content: "";
      content: var(--tw-content);
      display: block;
      width: 100%;
      height: 100%;
      rotate: 45deg;
      background-color: currentColor;
      opacity: 0%;
      transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;
      transition-delay: 0.1s;
      clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
      box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
      font-size: 1rem;
      line-height: 0.75;
    }
    &:focus-visible {
      outline: 2px solid var(--input-color, currentColor);
      outline-offset: 2px;
    }
    &:checked, &[aria-checked="true"] {
      background-color: var(--input-color, #0000);
      box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
      &:before {
        clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
        opacity: 100%;
        @media print {
          rotate: 0deg;
        }
        @media print {
          background-color: transparent;
        }
        @media print {
          --tw-content: "✔︎";
        }
        @media print {
          clip-path: none;
        }
        @media (forced-colors: active) {
          rotate: 0deg;
          background-color: transparent;
          --tw-content: "✔︎";
          clip-path: none;
        }
      }
    }
    &:indeterminate {
      &:before {
        rotate: 0deg;
        opacity: 100%;
        translate: 0 -35%;
        clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
      }
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 20%;
    }
  }
}
@layer components {
  .neumorphic-radio {
    display: inline-grid;
    place-items: center;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    border-radius: calc(infinity * 1px);
    padding: calc(0.25rem * 1);
    vertical-align: middle;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: var(--size);
    height: var(--size);
    color: var(--input-color, currentColor);
    &:before {
      display: block;
      width: 100%;
      aspect-ratio: 1 / 1;
      border-radius: calc(infinity * 1px);
      --tw-content: "";
      content: var(--tw-content);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
    }
    &:focus-visible {
      outline: 2px solid currentColor;
    }
    &:checked, &[aria-checked="true"] {
      animation: radio 0.2s ease-out;
      border-color: currentColor;
      background-color: var(--neumorphic-text-color);
      &:before {
        background-color: currentColor;
        @media print {
          outline: .25rem solid;
        }
        @media print {
          outline-offset: -1rem;
        }
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
        @media (forced-colors: active) {
          outline-style: var(--tw-outline-style);
          outline-width: 1px;
          outline-offset: calc(1px * -1);
        }
      }
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 20%;
    }
  }
}
@layer base {
  :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    color-scheme: light;
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(98% 0 0);
    --color-base-300: oklch(95% 0 0);
    --color-base-content: oklch(21% 0.006 285.885);
    --color-primary: oklch(45% 0.24 277.023);
    --color-primary-content: oklch(93% 0.034 272.788);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
    --color-success: oklch(76% 0.177 163.223);
    --color-success-content: oklch(37% 0.077 168.94);
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }
}
@layer base {
  @media (prefers-color-scheme: dark) {
    :root {
      color-scheme: dark;
      --color-base-100: oklch(25.33% 0.016 252.42);
      --color-base-200: oklch(23.26% 0.014 253.1);
      --color-base-300: oklch(21.15% 0.012 254.09);
      --color-base-content: oklch(97.807% 0.029 256.847);
      --color-primary: oklch(58% 0.233 277.117);
      --color-primary-content: oklch(96% 0.018 272.314);
      --color-secondary: oklch(65% 0.241 354.308);
      --color-secondary-content: oklch(94% 0.028 342.258);
      --color-accent: oklch(77% 0.152 181.912);
      --color-accent-content: oklch(38% 0.063 188.416);
      --color-neutral: oklch(14% 0.005 285.823);
      --color-neutral-content: oklch(92% 0.004 286.32);
      --color-info: oklch(74% 0.16 232.661);
      --color-info-content: oklch(29% 0.066 243.157);
      --color-success: oklch(76% 0.177 163.223);
      --color-success-content: oklch(37% 0.077 168.94);
      --color-warning: oklch(82% 0.189 84.429);
      --color-warning-content: oklch(41% 0.112 45.904);
      --color-error: oklch(71% 0.194 13.428);
      --color-error-content: oklch(27% 0.105 12.094);
      --radius-selector: 0.5rem;
      --radius-field: 0.25rem;
      --radius-box: 0.5rem;
      --size-selector: 0.25rem;
      --size-field: 0.25rem;
      --border: 1px;
      --depth: 1;
      --noise: 0;
    }
  }
}
@layer base {
  :root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    color-scheme: light;
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(98% 0 0);
    --color-base-300: oklch(95% 0 0);
    --color-base-content: oklch(21% 0.006 285.885);
    --color-primary: oklch(45% 0.24 277.023);
    --color-primary-content: oklch(93% 0.034 272.788);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
    --color-success: oklch(76% 0.177 163.223);
    --color-success-content: oklch(37% 0.077 168.94);
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }
}
@layer base {
  :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    color-scheme: dark;
    --color-base-100: oklch(25.33% 0.016 252.42);
    --color-base-200: oklch(23.26% 0.014 253.1);
    --color-base-300: oklch(21.15% 0.012 254.09);
    --color-base-content: oklch(97.807% 0.029 256.847);
    --color-primary: oklch(58% 0.233 277.117);
    --color-primary-content: oklch(96% 0.018 272.314);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
    --color-success: oklch(76% 0.177 163.223);
    --color-success-content: oklch(37% 0.077 168.94);
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }
}
@layer base {
  @property --radialprogress {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 0%;
  }
}
@layer base {
  :root {
    scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;
  }
}
@layer base {
  :root {
    --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");
  }
}
@layer base {
  :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not([class*="drawer-open"]) > .drawer-toggle:checked ) {
    overflow: hidden;
  }
}
@layer base {
  :where( :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not(.drawer-open) > .drawer-toggle:checked ) ) {
    scrollbar-gutter: stable;
    background-image: linear-gradient(var(--color-base-100), var(--color-base-100));
    --root-bg: color-mix(in srgb, var(--color-base-100), oklch(0% 0 0) 40%);
  }
  :where(.modal[open], .modal-open, .modal-toggle:checked + .modal):not(.modal-start, .modal-end) {
    scrollbar-gutter: stable;
  }
}
@layer base {
  :root, [data-theme] {
    background-color: var(--root-bg, var(--color-base-100));
    color: var(--color-base-content);
  }
}
@keyframes radio {
  0% {
    padding: 5px;
  }
  50% {
    padding: 3px;
  }
}
@keyframes skeleton {
  0% {
    background-position: 150%;
  }
  100% {
    background-position: -50%;
  }
}
@keyframes progress {
  50% {
    background-position-x: -115%;
  }
}
@keyframes toast {
  0% {
    scale: 0.9;
    opacity: 0;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@keyframes dropdown {
  0% {
    opacity: 0;
  }
}
@keyframes rating {
  0%, 40% {
    scale: 1.1;
    filter: brightness(1.05) contrast(1.05);
  }
}
@layer base {
  :where(:root),:root:has(input.theme-controller[value=sunshine]:checked),[data-theme="sunshine"] {
    color-scheme: light;
    --color-base-100: oklch(100% 0.1 255);
    --color-base-200: oklch(85% 0.1 255);
    --color-base-300: oklch(70% 0.1 255);
    --color-base-content: oklch(10% 0 255);
    --color-primary: oklch(95.86% 0.0693 95.91);
    --color-primary-content: oklch(20% 0 0);
    --color-secondary: oklch(87.42% 0.143 87.01);
    --color-secondary-content: oklch(27.42% 0.143 87.01);
    --color-accent: oklch(85.23% 0.14 327);
    --color-accent-content: oklch(41% 0.112 45.904);
    --color-neutral: oklch(0% 0 0);
    --color-neutral-content: oklch(80% 0.1 50);
    --color-info: oklch(41.94% 0.114 254.39);
    --color-info-content: oklch(91.94% 0.114 254.39);
    --color-success: oklch(67.21% 0.19 133.55);
    --color-success-content: oklch(27.21% 0.19 133.55);
    --color-warning: oklch(68.19% 0.203 42.44);
    --color-warning-content: oklch(18.19% 0.6 42);
    --color-error: oklch(61.17% 0.237 28.15);
    --color-error-content: oklch(90.01% 0.153 84.78);
    --radius-selector: 0rem;
    --radius-field: 0.5rem;
    --radius-box: 2rem;
    --size-selector: 0.1875rem;
    --size-field: 0.1875rem;
    --border: 0.5px;
    --depth: 1;
    --noise: 1;
  }
}
@layer base {
  @media (prefers-color-scheme: dark) {
    :root {
      color-scheme: dark;
      --color-base-100: oklch(22% 0.019 237.69);
      --color-base-200: oklch(20% 0.019 237.69);
      --color-base-300: oklch(18% 0.019 237.69);
      --color-base-content: oklch(77.383% 0.043 245.096);
      --color-primary: oklch(85.45% 0 0);
      --color-primary-content: oklch(14.94% 0.031 39.947);
      --color-secondary: oklch(83.33% 0.0981 73.78);
      --color-secondary-content: oklch(14.507% 0.035 2.72);
      --color-accent: oklch(75.65% 0.1303 335.51);
      --color-accent-content: oklch(14.258% 0.033 299.844);
      --color-neutral: oklch(23% 0 0);
      --color-neutral-content: oklch(52.43% 0 0);
      --color-info: oklch(82.42% 0.09757279812867503 240.7677443360475);
      --color-info-content: oklch(17.111% 0.017 206.015);
      --color-success: oklch(82.19% 0.0621 133.3);
      --color-success-content: oklch(17.112% 0.017 144.778);
      --color-warning: oklch(76.36% 0.1752731353930708 61.96388739129725);
      --color-warning-content: oklch(17.113% 0.016 74.427);
      --color-error: oklch(46.38% 0.1898 29.17);
      --color-error-content: oklch(86.38% 0.298 39.17);
      --radius-selector: 0rem;
      --radius-field: 0.5rem;
      --radius-box: 2rem;
      --size-selector: 0.1875rem;
      --size-field: 0.1875rem;
      --border: 0.5px;
      --depth: 1;
      --noise: 1;
    }
  }
}
@layer base {
  :root:has(input.theme-controller[value=moonlight]:checked),[data-theme="moonlight"] {
    color-scheme: dark;
    --color-base-100: oklch(22% 0.019 237.69);
    --color-base-200: oklch(20% 0.019 237.69);
    --color-base-300: oklch(18% 0.019 237.69);
    --color-base-content: oklch(77.383% 0.043 245.096);
    --color-primary: oklch(85.45% 0 0);
    --color-primary-content: oklch(14.94% 0.031 39.947);
    --color-secondary: oklch(83.33% 0.0981 73.78);
    --color-secondary-content: oklch(14.507% 0.035 2.72);
    --color-accent: oklch(75.65% 0.1303 335.51);
    --color-accent-content: oklch(14.258% 0.033 299.844);
    --color-neutral: oklch(23% 0 0);
    --color-neutral-content: oklch(52.43% 0 0);
    --color-info: oklch(82.42% 0.09757279812867503 240.7677443360475);
    --color-info-content: oklch(17.111% 0.017 206.015);
    --color-success: oklch(82.19% 0.0621 133.3);
    --color-success-content: oklch(17.112% 0.017 144.778);
    --color-warning: oklch(76.36% 0.1752731353930708 61.96388739129725);
    --color-warning-content: oklch(17.113% 0.016 74.427);
    --color-error: oklch(46.38% 0.1898 29.17);
    --color-error-content: oklch(86.38% 0.298 39.17);
    --radius-selector: 0rem;
    --radius-field: 0.5rem;
    --radius-box: 2rem;
    --size-selector: 0.1875rem;
    --size-field: 0.1875rem;
    --border: 0.5px;
    --depth: 1;
    --noise: 1;
  }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}
@property --tw-border-spacing-x {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-spacing-y {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
  initial-value: rotateX(0);
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
  initial-value: rotateY(0);
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
  initial-value: rotateZ(0);
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
  initial-value: skewX(0);
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
  initial-value: skewY(0);
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
