/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@layer properties;
@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(97.1% 0.013 17.38);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-950: oklch(27.9% 0.077 45.635);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-950: oklch(26.6% 0.065 152.934);
    --color-emerald-200: oklch(90.5% 0.093 164.15);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-sky-200: oklch(90.1% 0.058 230.902);
    --color-sky-500: oklch(68.5% 0.169 237.323);
    --color-sky-600: oklch(58.8% 0.158 241.966);
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-indigo-500: oklch(58.5% 0.233 277.117);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-pink-500: oklch(65.6% 0.241 354.308);
    --color-rose-200: oklch(89.2% 0.058 10.001);
    --color-rose-700: oklch(51.4% 0.222 16.935);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-slate-950: oklch(12.9% 0.042 264.695);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-neutral-50: oklch(98.5% 0 0);
    --color-neutral-100: oklch(97% 0 0);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-300: oklch(87% 0 0);
    --color-neutral-400: oklch(70.8% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-neutral-600: oklch(43.9% 0 0);
    --color-neutral-700: oklch(37.1% 0 0);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --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-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-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --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;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-base-background: var(--color-white);
    --color-base: var(--color-neutral-50);
    --color-base-airy: var(--color-neutral-100);
    --color-base-border: var(--color-neutral-200);
    --color-base-curb: var(--color-neutral-300);
    --color-base-dense: var(--color-neutral-400);
    --color-base-foreground: var(--color-neutral-600);
    --color-primary: var(--color-neutral-700);
    --color-primary-content: var(--color-neutral-100);
    --color-accent: var(--color-blue-400);
    --color-accent-content: var(--color-blue-50);
    --color-danger: var(--color-red-600);
    --color-danger-content: var(--color-red-50);
    --color-warning: var(--color-amber-400);
    --color-warning-content: var(--color-amber-950);
    --color-success: var(--color-green-600);
    --color-success-content: var(--color-green-50);
    --color-muted: currentColor;
    @supports (color: color-mix(in lab, red, red)) {
      --color-muted: color-mix(in oklab, currentColor, transparent 50%);
    }
    --border-width: var(--border, 1px);
    --radius-container: calc(var(--radius, var(--radius-sm)) / 1);
    --radius-control: calc(var(--radius, var(--radius-sm)) / 1.5);
    --radius-input: calc(var(--radius, var(--radius-sm)) / 2.4);
    --shadow-low: 0 1px 2px 0 rgba(0, 0, 0, 0.1),
        0 0 3px -2px rgba(0, 0, 0, 0.05);
    --shadow-rise: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 3px -1px rgba(0, 0, 0, 0.05);
    --shadow-high: 0 8px 12px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --inset-dent: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    --inset-low: inset 0 1px 2px 0 rgba(0, 0, 0, 0.1),
        inset 0 0px 4px 0 rgba(0, 0, 0, 0.05);
    --tt-duration: 150ms;
    --tt-ease-out: cubic-bezier(0.4, 0, 0.2, 1);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .\@container {
    container-type: inline-size;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .collapse {
    visibility: collapse;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }
  .inset-y-\[calc\(var\(--header-h\)\*2\)_auto\] {
    inset-block: calc(var(--header-h) * 2) auto;
  }
  .inset-y-\[var\(--header-h\)_auto\] {
    inset-block: var(--header-h) auto;
  }
  .end-0 {
    inset-inline-end: calc(var(--spacing) * 0);
  }
  .top-\(--header-h\) {
    top: var(--header-h);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .top-5 {
    top: calc(var(--spacing) * 5);
  }
  .top-7 {
    top: calc(var(--spacing) * 7);
  }
  .top-9 {
    top: calc(var(--spacing) * 9);
  }
  .top-14 {
    top: calc(var(--spacing) * 14);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-2 {
    bottom: calc(var(--spacing) * 2);
  }
  .z-1 {
    z-index: 1;
  }
  .z-2 {
    z-index: 2;
  }
  .z-10 {
    z-index: 10;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  .order-3 {
    order: 3;
  }
  .order-4 {
    order: 4;
  }
  .order-5 {
    order: 5;
  }
  .order-6 {
    order: 6;
  }
  .order-7 {
    order: 7;
  }
  .order-8 {
    order: 8;
  }
  .order-9 {
    order: 9;
  }
  .order-10 {
    order: 10;
  }
  .order-11 {
    order: 11;
  }
  .order-12 {
    order: 12;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .col-start-1 {
    grid-column-start: 1;
  }
  .row-span-2 {
    grid-row: span 2 / span 2;
  }
  .row-start-1 {
    grid-row-start: 1;
  }
  .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;
    }
  }
  .m-0\.5 {
    margin: calc(var(--spacing) * 0.5);
  }
  .m-1 {
    margin: calc(var(--spacing) * 1);
  }
  .m-2 {
    margin: calc(var(--spacing) * 2);
  }
  .m-4 {
    margin: calc(var(--spacing) * 4);
  }
  .m-6 {
    margin: calc(var(--spacing) * 6);
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-64 {
    margin-top: calc(var(--spacing) * 64);
  }
  .-mb-16 {
    margin-bottom: calc(var(--spacing) * -16);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .mb-28 {
    margin-bottom: calc(var(--spacing) * 28);
  }
  .mb-32 {
    margin-bottom: calc(var(--spacing) * 32);
  }
  .mb-40 {
    margin-bottom: calc(var(--spacing) * 40);
  }
  .menu-inline {
    display: flex;
    flex-flow: row wrap;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .table {
    display: table;
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .size-12 {
    width: calc(var(--spacing) * 12);
    height: calc(var(--spacing) * 12);
  }
  .h-\(--header-h\) {
    height: var(--header-h);
  }
  .h-0 {
    height: calc(var(--spacing) * 0);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-24 {
    height: calc(var(--spacing) * 24);
  }
  .h-60 {
    height: calc(var(--spacing) * 60);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-80 {
    height: calc(var(--spacing) * 80);
  }
  .h-84 {
    height: calc(var(--spacing) * 84);
  }
  .h-96 {
    height: calc(var(--spacing) * 96);
  }
  .h-\[420px\] {
    height: 420px;
  }
  .h-\[var\(--header-h\)\] {
    height: var(--header-h);
  }
  .h-fit {
    height: fit-content;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .h-screen {
    height: 100vh;
  }
  .max-h-36 {
    max-height: calc(var(--spacing) * 36);
  }
  .max-h-\[460px\] {
    max-height: 460px;
  }
  .max-h-\[calc\(100dvh-var\(--header-h\)\)\] {
    max-height: calc(100dvh - var(--header-h));
  }
  .max-h-\[calc\(100svh-var\(--header-h\)\)\] {
    max-height: calc(100svh - var(--header-h));
  }
  .min-h-8 {
    min-height: calc(var(--spacing) * 8);
  }
  .min-h-10 {
    min-height: calc(var(--spacing) * 10);
  }
  .min-h-96 {
    min-height: calc(var(--spacing) * 96);
  }
  .min-h-\[560px\] {
    min-height: 560px;
  }
  .min-h-\[1600px\] {
    min-height: 1600px;
  }
  .min-h-dvh {
    min-height: 100dvh;
  }
  .min-h-full {
    min-height: 100%;
  }
  .w-3xs {
    width: var(--container-3xs);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-36 {
    width: calc(var(--spacing) * 36);
  }
  .w-40 {
    width: calc(var(--spacing) * 40);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-72 {
    width: calc(var(--spacing) * 72);
  }
  .w-84 {
    width: calc(var(--spacing) * 84);
  }
  .w-auto {
    width: auto;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .w-lg {
    width: var(--container-lg);
  }
  .w-md {
    width: var(--container-md);
  }
  .w-sm {
    width: var(--container-sm);
  }
  .w-xl {
    width: var(--container-xl);
  }
  .w-xs {
    width: var(--container-xs);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-\[1600px\] {
    max-width: 1600px;
  }
  .min-w-5 {
    min-width: calc(var(--spacing) * 5);
  }
  .flex-1 {
    flex: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .scale-x-90 {
    --tw-scale-x: 90%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-\[0\.82\] {
    scale: 0.82;
  }
  .scale-\[0\.92\] {
    scale: 0.92;
  }
  .scale-\[0\.96\] {
    scale: 0.96;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-bounce {
    animation: var(--animate-bounce);
  }
  .animate-ping {
    animation: var(--animate-ping);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-ew-resize {
    cursor: ew-resize;
  }
  .list-inside {
    list-style-position: inside;
  }
  .list-\[lower-roman\] {
    list-style-type: lower-roman;
  }
  .list-\[upper-alpha\] {
    list-style-type: upper-alpha;
  }
  .list-decimal {
    list-style-type: decimal;
  }
  .list-disc {
    list-style-type: disc;
  }
  .grid-flow-col {
    grid-auto-flow: column;
  }
  .auto-rows-fr {
    grid-auto-rows: minmax(0, 1fr);
  }
  .divider-vertical {
    &.divider {
      grid-template-columns: none;
      grid-template-rows: var(--divider-grid);
      align-items: normal;
      align-self: stretch;
      justify-items: center;
    }
  }
  .form-field-inline {
    grid-template-columns: minmax(calc(var(--container-3xs) / 2), 35%) minmax(var(--container-3xs), 1fr);
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-\[1fr_auto\] {
    grid-template-columns: 1fr auto;
  }
  .grid-cols-\[var\(--container-sm\)_minmax\(0\,1fr\)\] {
    grid-template-columns: var(--container-sm) minmax(0,1fr);
  }
  .grid-rows-\[1fr_auto\] {
    grid-template-rows: 1fr auto;
  }
  .grid-rows-\[auto_1fr\] {
    grid-template-rows: auto 1fr;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .content-center-safe {
    align-content: safe center;
  }
  .items-center {
    align-items: center;
  }
  .items-center-safe {
    align-items: safe center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-around {
    justify-content: space-around;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-center-safe {
    justify-content: safe center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .justify-items-center {
    justify-items: center;
  }
  .justify-items-center-safe {
    justify-items: safe center;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .gap-16 {
    gap: calc(var(--spacing) * 16);
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .justify-self-end {
    justify-self: flex-end;
  }
  .justify-self-start {
    justify-self: flex-start;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-none {
    border-radius: 0;
  }
  .rounded-e-md {
    border-start-end-radius: var(--radius-md);
    border-end-end-radius: var(--radius-md);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-s {
    border-inline-start-style: var(--tw-border-style);
    border-inline-start-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-accent {
    border-color: var(--color-accent);
  }
  .border-base-background {
    border-color: var(--color-base-background);
  }
  .border-base-border {
    border-color: var(--color-base-border);
  }
  .border-base-foreground {
    border-color: var(--color-base-foreground);
  }
  .border-success {
    border-color: var(--color-success);
  }
  .bg-accent {
    background-color: var(--color-accent);
  }
  .bg-base {
    background-color: var(--color-base);
  }
  .bg-base-airy {
    background-color: var(--color-base-airy);
  }
  .bg-base-background {
    background-color: var(--color-base-background);
  }
  .bg-base-border {
    background-color: var(--color-base-border);
  }
  .bg-base-dense {
    background-color: var(--color-base-dense);
  }
  .bg-base-foreground {
    background-color: var(--color-base-foreground);
  }
  .bg-danger {
    background-color: var(--color-danger);
  }
  .bg-green-600\/50 {
    background-color: color-mix(in srgb, oklch(62.7% 0.194 149.214) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-green-600) 50%, transparent);
    }
  }
  .bg-primary {
    background-color: var(--color-primary);
  }
  .bg-success {
    background-color: var(--color-success);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-warning {
    background-color: var(--color-warning);
  }
  .bg-linear-to-r {
    --tw-gradient-position: to right;
    @supports (background-image: linear-gradient(in lab, red, red)) {
      --tw-gradient-position: to right in oklab;
    }
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-linear-to-t {
    --tw-gradient-position: to top;
    @supports (background-image: linear-gradient(in lab, red, red)) {
      --tw-gradient-position: to top in oklab;
    }
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-radial-\[at_50\%_0\%\] {
    --tw-gradient-position: at 50% 0%;
    background-image: radial-gradient(var(--tw-gradient-stops,at 50% 0%));
  }
  .from-\[\#2a2c2d\] {
    --tw-gradient-from: #2a2c2d;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-accent-content {
    --tw-gradient-from: var(--color-accent-content);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-base-airy {
    --tw-gradient-from: var(--color-base-airy);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-500 {
    --tw-gradient-from: var(--color-green-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-success-content {
    --tw-gradient-from: var(--color-success-content);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-transparent {
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-10\% {
    --tw-gradient-from-position: 10%;
  }
  .via-\[\#2a2c2d\]\/30 {
    --tw-gradient-via: color-mix(in oklab, #2a2c2d 30%, transparent);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-500 {
    --tw-gradient-via: var(--color-sky-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-success {
    --tw-gradient-via: var(--color-success);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-80\% {
    --tw-gradient-via-position: 80%;
  }
  .to-indigo-500 {
    --tw-gradient-to: var(--color-indigo-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-50\% {
    --tw-gradient-to-position: 50%;
  }
  .to-60\% {
    --tw-gradient-to-position: 60%;
  }
  .to-80\% {
    --tw-gradient-to-position: 80%;
  }
  .bg-clip-text {
    background-clip: text;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .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);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .ps-4 {
    padding-inline-start: calc(var(--spacing) * 4);
  }
  .ps-8 {
    padding-inline-start: calc(var(--spacing) * 8);
  }
  .pe-5 {
    padding-inline-end: calc(var(--spacing) * 5);
  }
  .pt-\(--header-h\) {
    padding-top: var(--header-h);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }
  .pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .pb-\[calc\(var\(--header-h\)\*2\)\] {
    padding-bottom: calc(var(--header-h) * 2);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .text-center {
    text-align: center;
  }
  .text-end {
    text-align: end;
  }
  .text-justify {
    text-align: justify;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .indent-20 {
    text-indent: calc(var(--spacing) * 20);
  }
  .align-bottom {
    vertical-align: bottom;
  }
  .align-top {
    vertical-align: top;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .font-serif {
    font-family: var(--font-serif);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  .text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
  .text-7xl {
    font-size: var(--text-7xl);
    line-height: var(--tw-leading, var(--text-7xl--line-height));
  }
  .text-8xl {
    font-size: var(--text-8xl);
    line-height: var(--tw-leading, var(--text-8xl--line-height));
  }
  .text-9xl {
    font-size: var(--text-9xl);
    line-height: var(--tw-leading, var(--text-9xl--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));
  }
  .leading-loose {
    --tw-leading: var(--leading-loose);
    line-height: var(--leading-loose);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-normal {
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .font-extralight {
    --tw-font-weight: var(--font-weight-extralight);
    font-weight: var(--font-weight-extralight);
  }
  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .font-thin {
    --tw-font-weight: var(--font-weight-thin);
    font-weight: var(--font-weight-thin);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-nowrap {
    text-wrap: nowrap;
  }
  .text-wrap {
    text-wrap: wrap;
  }
  .text-accent {
    color: var(--color-accent);
  }
  .text-accent-content {
    color: var(--color-accent-content);
  }
  .text-base-dense {
    color: var(--color-base-dense);
  }
  .text-base-foreground {
    color: var(--color-base-foreground);
  }
  .text-base-foreground\/75 {
    color: color-mix(in srgb, oklch(43.9% 0 0) 75%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-base-foreground) 75%, transparent);
    }
  }
  .text-base\/75 {
    color: color-mix(in srgb, oklch(98.5% 0 0) 75%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-base) 75%, transparent);
    }
  }
  .text-danger {
    color: var(--color-danger);
  }
  .text-danger-content {
    color: var(--color-danger-content);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-muted {
    color: var(--color-muted);
  }
  .text-primary {
    color: var(--color-primary);
  }
  .text-primary-content {
    color: var(--color-primary-content);
  }
  .text-success {
    color: var(--color-success);
  }
  .text-success-content {
    color: var(--color-success-content);
  }
  .text-transparent {
    color: transparent;
  }
  .text-warning {
    color: var(--color-warning);
  }
  .text-warning-content {
    color: var(--color-warning-content);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-yellow-400 {
    color: var(--color-yellow-400);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .not-italic {
    font-style: normal;
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .no-underline {
    text-decoration-line: none;
  }
  .overline {
    text-decoration-line: overline;
  }
  .underline {
    text-decoration-line: underline;
  }
  .decoration-danger {
    text-decoration-color: var(--color-danger);
  }
  .decoration-success {
    text-decoration-color: var(--color-success);
  }
  .decoration-warning {
    text-decoration-color: var(--color-warning);
  }
  .decoration-dashed {
    text-decoration-style: dashed;
  }
  .decoration-dotted {
    text-decoration-style: dotted;
  }
  .decoration-double {
    text-decoration-style: double;
  }
  .decoration-solid {
    text-decoration-style: solid;
  }
  .decoration-wavy {
    text-decoration-style: wavy;
  }
  .decoration-2 {
    text-decoration-thickness: 2px;
  }
  .decoration-4 {
    text-decoration-thickness: 4px;
  }
  .scheme-dark {
    color-scheme: dark;
  }
  .opacity-6 {
    opacity: 6%;
  }
  .opacity-10 {
    opacity: 10%;
  }
  .opacity-20 {
    opacity: 20%;
  }
  .opacity-30 {
    opacity: 30%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-80 {
    opacity: 80%;
  }
  .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);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .inset-shadow-sm {
    --tw-inset-shadow: inset 0 2px 4px var(--tw-inset-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .inset-shadow-xs {
    --tw-inset-shadow: inset 0 1px 1px var(--tw-inset-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .inset-ring {
    --tw-inset-ring-shadow: inset 0 0 0 1px var(--tw-inset-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .inset-ring-base-background {
    --tw-inset-ring-color: var(--color-base-background);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .outline-base-border {
    outline-color: var(--color-base-border);
  }
  .blur-\[1px\] {
    --tw-blur: blur(1px);
    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,);
  }
  .blur-\[2px\] {
    --tw-blur: blur(2px);
    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,);
  }
  .blur-\[3px\] {
    --tw-blur: blur(3px);
    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,);
  }
  .blur-\[4px\] {
    --tw-blur: blur(4px);
    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,);
  }
  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-xs {
    --tw-backdrop-blur: blur(var(--blur-xs));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-600 {
    --tw-duration: 600ms;
    transition-duration: 600ms;
  }
  .divider-start-0 {
    --divider-start: calc(var(--spacing) * 0);
  }
  .text-shadow-2xs {
    text-shadow: 0px 1px 0px var(--tw-text-shadow-color, rgb(0 0 0 / 0.15));
  }
  .text-shadow-lg {
    text-shadow: 0px 1px 2px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1)), 0px 3px 2px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1)), 0px 4px 8px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1));
  }
  .text-shadow-md {
    text-shadow: 0px 1px 1px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1)), 0px 1px 2px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1)), 0px 2px 4px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1));
  }
  .text-shadow-sm {
    text-shadow: 0px 1px 0px var(--tw-text-shadow-color, rgb(0 0 0 / 0.075)), 0px 1px 1px var(--tw-text-shadow-color, rgb(0 0 0 / 0.075)), 0px 2px 2px var(--tw-text-shadow-color, rgb(0 0 0 / 0.075));
  }
  .text-shadow-xs {
    text-shadow: 0px 1px 1px var(--tw-text-shadow-color, rgb(0 0 0 / 0.2));
  }
  .not-hover\:text-base-dense {
    &:not(*:hover) {
      color: var(--color-base-dense);
    }
    @media not (hover: hover) {
      color: var(--color-base-dense);
    }
  }
  .group-hover\:bg-accent {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: var(--color-accent);
      }
    }
  }
  .group-hover\:text-accent-content {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-accent-content);
      }
    }
  }
  .group-hover\:text-base-foreground {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-base-foreground);
      }
    }
  }
  .group-hover\:outline-accent {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        outline-color: var(--color-accent);
      }
    }
  }
  .hover\:border-accent {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-accent);
      }
    }
  }
  .hover\:border-base-curb {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-base-curb);
      }
    }
  }
  .hover\:border-base-dense {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-base-dense);
      }
    }
  }
  .hover\:bg-base-airy {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-base-airy);
      }
    }
  }
  .hover\:text-base-foreground\/80 {
    &:hover {
      @media (hover: hover) {
        color: color-mix(in srgb, oklch(43.9% 0 0) 80%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-foreground) 80%, transparent);
        }
      }
    }
  }
  .hover\:shadow-lg {
    &:hover {
      @media (hover: hover) {
        --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);
      }
    }
  }
  .hover\:shadow-xl {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px 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);
      }
    }
  }
  .hover\:outline-accent {
    &:hover {
      @media (hover: hover) {
        outline-color: var(--color-accent);
      }
    }
  }
  .hover\:backdrop-blur-md {
    &:hover {
      @media (hover: hover) {
        --tw-backdrop-blur: blur(var(--blur-md));
        -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
        backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
      }
    }
  }
  .hover\:backdrop-blur-sm {
    &:hover {
      @media (hover: hover) {
        --tw-backdrop-blur: blur(var(--blur-sm));
        -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
        backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
      }
    }
  }
  .active\:border-base-dense {
    &:active {
      border-color: var(--color-base-dense);
    }
  }
  .active\:bg-base-border {
    &:active {
      background-color: var(--color-base-border);
    }
  }
  .active\:inset-ring-2 {
    &:active {
      --tw-inset-ring-shadow: inset 0 0 0 2px var(--tw-inset-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .max-xl\:hidden {
    @media (width < 80rem) {
      display: none;
    }
  }
  .max-md\:hidden {
    @media (width < 48rem) {
      display: none;
    }
  }
  .max-md\:grid-cols-\[minmax\(0\,1fr\)\] {
    @media (width < 48rem) {
      grid-template-columns: minmax(0,1fr);
    }
  }
  .sm\:w-96 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 96);
    }
  }
  .sm\:form-field-inline {
    @media (width >= 40rem) {
      grid-template-columns: minmax(calc(var(--container-3xs) / 2), 35%) minmax(var(--container-3xs), 1fr);
    }
  }
  .sm\:flex-nowrap {
    @media (width >= 40rem) {
      flex-wrap: nowrap;
    }
  }
  .md\:order-4 {
    @media (width >= 48rem) {
      order: 4;
    }
  }
  .md\:order-8 {
    @media (width >= 48rem) {
      order: 8;
    }
  }
  .md\:col-span-1 {
    @media (width >= 48rem) {
      grid-column: span 1 / span 1;
    }
  }
  .md\:menu-inline {
    @media (width >= 48rem) {
      display: flex;
      flex-flow: row wrap;
    }
  }
  .md\:block {
    @media (width >= 48rem) {
      display: block;
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:inline-block {
    @media (width >= 48rem) {
      display: inline-block;
    }
  }
  .md\:min-h-\[1200px\] {
    @media (width >= 48rem) {
      min-height: 1200px;
    }
  }
  .md\:w-96 {
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 96);
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .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\:gap-8 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 8);
    }
  }
  .md\:text-6xl {
    @media (width >= 48rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .md\:text-7xl {
    @media (width >= 48rem) {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  .md\:max-md\:order-3 {
    @media (width >= 48rem) {
      @media (width < 48rem) {
        order: 3;
      }
    }
  }
  .md\:max-md\:order-5 {
    @media (width >= 48rem) {
      @media (width < 48rem) {
        order: 5;
      }
    }
  }
  .md\:max-md\:order-6 {
    @media (width >= 48rem) {
      @media (width < 48rem) {
        order: 6;
      }
    }
  }
  .lg\:order-3 {
    @media (width >= 64rem) {
      order: 3;
    }
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:min-h-\[900px\] {
    @media (width >= 64rem) {
      min-height: 900px;
    }
  }
  .lg\:max-w-7xl {
    @media (width >= 64rem) {
      max-width: var(--container-7xl);
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-\[1fr_auto\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr auto;
    }
  }
  .lg\:gap-12 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 12);
    }
  }
  .\@md\:grid-cols-3 {
    @container (width >= 28rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .theme-dark\:border-base {
    &:where([data-theme=dark], [data-theme=dark] *) {
      border-color: var(--color-base);
    }
  }
  .theme-dark\:bg-base {
    &:where([data-theme=dark], [data-theme=dark] *) {
      background-color: var(--color-base);
    }
  }
  .theme-dark\:from-accent\/40 {
    &:where([data-theme=dark], [data-theme=dark] *) {
      --tw-gradient-from: color-mix(in srgb, oklch(70.7% 0.165 254.624) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-gradient-from: color-mix(in oklab, var(--color-accent) 40%, transparent);
      }
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }
  }
  .theme-dark\:from-green-950 {
    &:where([data-theme=dark], [data-theme=dark] *) {
      --tw-gradient-from: var(--color-green-950);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }
  }
  .theme-dark\:from-success\/40 {
    &:where([data-theme=dark], [data-theme=dark] *) {
      --tw-gradient-from: color-mix(in srgb, oklch(62.7% 0.194 149.214) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-gradient-from: color-mix(in oklab, var(--color-success) 40%, transparent);
      }
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }
  }
  .theme-dark\:text-base-foreground\/75 {
    &:where([data-theme=dark], [data-theme=dark] *) {
      color: color-mix(in srgb, oklch(43.9% 0 0) 75%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-base-foreground) 75%, transparent);
      }
    }
  }
}
html {
  color: var(--color-base-foreground);
}
@layer base {
  h1, .h1 {
    font-size: var(--text-5xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--text-5xl--line-height);
    &:has(+ *) {
      margin-block-end: calc(var(--spacing) * 8);
    }
  }
  h2, .h2 {
    font-size: var(--text-4xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--text-4xl--line-height);
    &:has(+ *) {
      margin-block-end: calc(var(--spacing) * 6);
    }
  }
  h3, .h3 {
    font-size: var(--text-3xl);
    font-weight: var(--font-weight-medium);
    line-height: var(--text-3xl--line-height);
    &:has(+ *) {
      margin-block-end: calc(var(--spacing) * 6);
    }
  }
  h4, .h4 {
    font-size: var(--text-2xl);
    line-height: var(--text-2xl--line-height);
    &:has(+ *) {
      margin-block-end: calc(var(--spacing) * 4);
    }
  }
  h5, .h5 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-light);
    line-height: var(--text-xl--line-height);
    &:has(+ *) {
      margin-block-end: calc(var(--spacing) * 4);
    }
  }
  h6, .h6 {
    font-size: var(--text-lg);
    line-height: var(--text-lg--line-height);
    &:has(+ *) {
      margin-block-end: calc(var(--spacing) * 2);
    }
  }
  blockquote, .blockquote {
    padding-inline-start: calc(var(--spacing) * 12);
    & > p {
      line-height: var(--leading-relaxed);
    }
    & > .blockquote-footer::before {
      content: "— ";
    }
  }
  p {
    line-height: var(--leading-loose);
    margin-block-end: calc(var(--spacing) * 4);
  }
  ul.list-styled {
    list-style-type: disc;
    padding-inline: calc(var(--spacing) * 6);
  }
  ol.list-styled {
    list-style-type: decimal;
    padding-inline: calc(var(--spacing) * 6);
  }
  dl {
    dt {
      font-weight: var(--font-weight-semibold);
    }
    dd {
      margin-block-end: calc(var(--spacing) * 4);
      margin-inline-start: calc(var(--spacing) * 4);
    }
  }
  mark {
    background-color: var(--color-accent);
    color: var(--color-accent-content);
  }
  small {
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
  }
}
@layer components {
  .accordion {
    @media (prefers-reduced-motion: no-preference) {
      interpolate-size: allow-keywords;
    }
    --accordion-bg: var(--accordion-color);
    --accordion-border: var(--color-base-border);
    --accordion-border-width: calc(var(--border-width) * 0);
    --accordion-border-radius: var(--radius-control);
    --accordion-focus-outline: var(--accordion-color, oklch(70.7% 0.165 254.624));
    @supports (color: color-mix(in lab, red, red)) {
      --accordion-focus-outline: color-mix(in oklab, var(--accordion-color, var(--color-accent)) 40%, transparent);
    }
    --accordion-focus-border: var(--accordion-color, var(--color-accent));
    --accordion-soft-bg: light-dark(
            var(--accordion-color, oklch(70.8% 0 0)),
            var(--accordion-color, oklch(70.8% 0 0))
        );
    @supports (color: color-mix(in lab, red, red)) {
      --accordion-soft-bg: light-dark(
            color-mix(in oklab, var(--accordion-color, var(--color-base-dense)) 10%, var(--color-base-background)),
            color-mix(in oklab, var(--accordion-color, var(--color-base-dense)) 40%, var(--color-base-background))
        );
    }
    --join-border-width: var(--accordion-border-width);
    justify-self: stretch;
    background-color: var(--accordion-bg, var(--color-base-background));
    border-width: var(--accordion-border-width);
    border-style: solid;
    border-color: var(--accordion-border);
    border-radius: var(--accordion-border-radius);
    outline: 0px solid var(--accordion-focus-outline);
    outline-offset: 0px;
    box-shadow: var(--accordion-shadow);
    color: var(--accordion-fg, var(--color-base-foreground));
    transition-property: background-color, border-color, box-shadow, color, outline;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    > summary {
      display: flex;
      align-items: center;
      cursor: pointer;
      gap: calc(var(--spacing) * 2);
      overflow: hidden;
      padding-inline: calc(var(--spacing) * 4);
      padding-block: calc(var(--spacing) * 4);
      border-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
      color: currentColor;
      &:is(:focus-visible, :focus) {
        outline: none;
      }
      :where(svg, img, i) {
        block-size: 1.25em;
        min-inline-size: 1.25em;
      }
    }
    > summary::marker {
      content: "";
    }
    &:dir(ltr).accordion-arrow-left > summary::before, &:dir(rtl).accordion-arrow-left > summary::after, &:dir(ltr).accordion-arrow-right > summary::after, &:dir(rtl).accordion-arrow-right > summary::before, &.accordion-arrow-start > summary::before, &.accordion-arrow-end > summary::after {
      content: "";
      mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" /></svg>');
      mask-repeat: no-repeat;
      mask-type: alpha;
      background-color: currentColor;
      flex: none;
      block-size: calc(var(--spacing) * 5);
      inline-size: calc(var(--spacing) * 5);
      transition-property: rotate;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    > summary::after {
      margin-inline-start: auto;
    }
    &:has(> summary:is(:focus-visible)) {
      outline-width: calc(var(--border-width) * 3);
      --accordion-border: var(--accordion-focus-border);
    }
    &[class*="accordion-open\:bg"]:not([open], :open) {
      --accordion-bg: var(--color-base-background);
    }
    &[class*="accordion-open\:fg"]:not([open], :open) {
      --accordion-fg: var(--color-base-foreground);
    }
    &[class*="accordion-open\:outline"]:not([open], :open) {
      --accordion-border: transparent;
    }
    &[class*="accordion-open\:shadow"]:not([open], :open) {
      --accordion-shadow: none;
    }
    &:is([open], :open) {
      > summary {
        border-end-start-radius: 0;
        border-end-end-radius: 0;
      }
      > summary::after, > summary::before {
        rotate: 180deg;
      }
      &::details-content {
        opacity: 1;
        block-size: auto;
        padding-block-end: calc(var(--spacing) * 4);
      }
    }
    &::details-content {
      opacity: 0;
      block-size: 0;
      overflow-y: clip;
      padding-inline: calc(var(--spacing) * 4);
      color: currentColor;
      transition-property: block-size, content-visibility, opacity, padding-block;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-behavior: allow-discrete;
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
  }
  .accordion-primary {
    --accordion-color: var(--color-primary);
    --accordion-fg: var(--color-primary-content);
  }
  .accordion-accent {
    --accordion-color: var(--color-accent);
    --accordion-fg: var(--color-accent-content);
  }
  .accordion-warning {
    --accordion-color: var(--color-warning);
    --accordion-fg: var(--color-warning-content);
  }
  .accordion-danger {
    --accordion-color: var(--color-danger);
    --accordion-fg: var(--color-danger-content);
  }
  .accordion-success {
    --accordion-color: var(--color-success);
    --accordion-fg: var(--color-success-content);
  }
  .accordion-gutter {
    margin-block-end: calc(var(--spacing) * 4);
  }
  .accordion-header {
    background-color: var(--color-base-background);
    color: var(--color-base-foreground);
    --accordion-border: var(--accordion-bg, var(--color-base-background));
    --accordion-border-width: calc(var(--border-width) * 1);
    > summary {
      background-color: var(--accordion-bg, var(--color-base-background));
      color: var(--accordion-fg, var(--color-base-foreground));
    }
    &:is([open], :open) {
      > summary {
        margin-block-end: calc(var(--spacing) * 4);
      }
    }
  }
  .accordion-outline, .accordion-outline-bold {
    --accordion-bg: var(--color-base-background);
    --accordion-fg: var(--accordion-color);
    --accordion-border: var(--accordion-color);
    --accordion-border-width: calc(var(--border-width) * 1);
  }
  .accordion-outline-bold {
    --accordion-border-width: calc(var(--border-width) * 2);
  }
  .accordion-soft {
    --accordion-bg: var(--accordion-soft-bg);
    --accordion-fg: var(--accordion-color);
  }
  .accordion-shadow {
    --accordion-shadow: var(--shadow-rise);
  }
}
@layer components {
  .alert {
    --alert-bg: var(--alert-color, var(--color-base));
    --alert-fg: var(--color-base-foreground);
    --alert-soft-bg: light-dark(
            var(--alert-color),
            var(--alert-color)
        );
    @supports (color: color-mix(in lab, red, red)) {
      --alert-soft-bg: light-dark(
            color-mix(in oklab, var(--alert-color) 10%, var(--color-base-background)),
            color-mix(in oklab, var(--alert-color) 40%, var(--color-base-background))
        );
    }
    --alert-border: var(--alert-color, oklch(92.2% 0 0));
    @supports (color: color-mix(in lab, red, red)) {
      --alert-border: color-mix(in oklab, var(--alert-color, var(--color-base-border)), transparent 15%);
    }
    --alert-border-width: calc(var(--border-width) * 1);
    --alert-size: calc(var(--spacing) * 16);
    display: flex;
    align-items: center;
    justify-self: stretch;
    gap: calc(var(--spacing) * 2);
    min-block-size: var(--alert-size);
    margin-block-end: calc(var(--spacing) * 4);
    padding-inline: calc(var(--spacing) * 4);
    border: var(--alert-border-width) solid var(--alert-border);
    border-radius: var(--radius-control);
    background-color: var(--alert-bg);
    box-shadow: var(--shadow-low);
    color: var(--alert-fg);
    :where(svg, img, i) {
      flex: none;
      block-size: 1.25em;
      min-inline-size: 1.25em;
      color: var(--alert-fg);
    }
    :where(span, div) {
      flex-grow: 1;
      padding-block: calc(var(--spacing) * 4);
    }
    transition-property: background-color, border-color, box-shadow, color, display, opacity;
    transition-behavior: allow-discrete;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    input.alert-close[type="radio"] {
      appearance: none;
      &::after {
        content: "";
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /></svg>');
        mask-repeat: no-repeat;
        mask-type: alpha;
        background-color: currentColor;
        color: var(--alert-fg, var(--color-base-dense));
        flex: none;
        block-size: calc(var(--spacing) * 5);
        inline-size: calc(var(--spacing) * 5);
      }
    }
    &:has(input.alert-close[type="radio"]:checked) {
      display: none;
      opacity: 0;
      visibility: none;
    }
  }
  .alert-primary {
    --alert-color: var(--color-primary);
    --alert-fg: var(--color-primary-content);
  }
  .alert-accent {
    --alert-color: var(--color-accent);
    --alert-fg: var(--color-accent-content);
  }
  .alert-success {
    --alert-color: var(--color-success);
    --alert-fg: var(--color-success-content);
  }
  .alert-warning {
    --alert-color: var(--color-warning);
    --alert-fg: var(--color-warning-content);
  }
  .alert-danger {
    --alert-color: var(--color-danger);
    --alert-fg: var(--color-danger-content);
  }
  .alert-soft {
    --alert-bg: var(--alert-soft-bg, var(--color-base));
    --alert-fg: var(--alert-color, var(--color-base-foreground));
    --alert-border: transparent;
  }
  .alert-outline, .alert-outline-bold, .alert-dashed, .alert-dashed-bold, .alert-dotted, .alert-dotted-bold {
    --alert-fg: var(--alert-color, var(--color-base-foreground));
    --alert-border: var(--alert-color, var(--color-base-border));
    &:not(.alert-soft) {
      box-shadow: none;
      --alert-bg: var(--color-base-background);
    }
  }
  .alert-dashed, .alert-dashed-bold {
    border-style: dashed;
  }
  .alert-dotted, .alert-dotted-bold {
    border-style: dotted;
  }
  .alert-outline-bold, .alert-dashed-bold, .alert-dotted-bold {
    border-width: calc(var(--border-width) * 2);
  }
}
@layer components {
  .avatar {
    --avatar-bg: var(--avatar-color, var(--color-base-airy));
    --avatar-size: calc(var(--spacing) * 10);
    --avatar-border-radius: var(--radius-control);
    --avatar-group-gap: 3;
    --avatar-ring: var(--avatar-color, var(--color-base-border));
    --avatar-ring-width: calc(var(--border-width) * 0);
    --avatar-soft-bg: light-dark(
            var(--avatar-color),
            var(--avatar-color)
        );
    @supports (color: color-mix(in lab, red, red)) {
      --avatar-soft-bg: light-dark(
            color-mix(in oklab, var(--avatar-color) 10%, var(--color-base-background)),
            color-mix(in oklab, var(--avatar-color) 40%, var(--color-base-background))
        );
    }
    align-content: center;
    justify-items: center;
    block-size: var(--avatar-size);
    inline-size: var(--avatar-size);
    min-inline-size: var(--avatar-size);
    border: calc(var(--border-width) * 2) solid var(--color-base-background);
    border-radius: var(--avatar-border-radius);
    background-color: var(--avatar-bg);
    outline: var(--avatar-ring-width) solid var(--avatar-ring);
    color: var(--avatar-fg, var(--color-base-foreground));
    font-weight: var(--font-weight-medium);
    font-size: calc(var(--avatar-size) * 0.4);
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    overflow: hidden;
    transition-property: background-color, border-color, box-shadow, color;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    img {
      block-size: 100%;
      inline-size: 100%;
      object-fit: cover;
      object-position: center;
    }
    :where(svg, i) {
      flex: none;
      block-size: 1.25em;
      min-inline-size: 1.25em;
      margin-inline: auto;
    }
  }
  .avatar-circle {
    --avatar-border-radius: calc(infinity * 1px);
  }
  .avatar-xs {
    --avatar-size: calc(var(--spacing) * 6);
  }
  .avatar-sm {
    --avatar-size: calc(var(--spacing) * 8);
  }
  .avatar-lg {
    --avatar-size: calc(var(--spacing) * 12);
  }
  .avatar-xl {
    --avatar-size: calc(var(--spacing) * 16);
    border-width: calc(var(--border-width) * 3);
  }
  .avatar-ring {
    --avatar-ring-width: calc(var(--border-width) * 1);
  }
  .avatar-ring-bold {
    --avatar-ring-width: calc(var(--border-width) * 2);
  }
  .avatar-ring-primary {
    --avatar-ring: var(--color-primary);
  }
  .avatar-ring-accent {
    --avatar-ring: var(--color-accent);
  }
  .avatar-ring-success {
    --avatar-ring: var(--color-success);
  }
  .avatar-ring-warning {
    --avatar-ring: var(--color-warning);
  }
  .avatar-ring-danger {
    --avatar-ring: var(--color-danger);
  }
  .avatar-primary {
    --avatar-color: var(--color-primary);
    --avatar-fg: var(--color-primary-content);
  }
  .avatar-accent {
    --avatar-color: var(--color-accent);
    --avatar-fg: var(--color-accent-content);
  }
  .avatar-success {
    --avatar-color: var(--color-success);
    --avatar-fg: var(--color-success-content);
  }
  .avatar-warning {
    --avatar-color: var(--color-warning);
    --avatar-fg: var(--color-warning-content);
  }
  .avatar-danger {
    --avatar-color: var(--color-danger);
    --avatar-fg: var(--color-danger-content);
  }
  .avatar-soft {
    --avatar-bg: var(--avatar-soft-bg, var(--color-base));
    --avatar-fg: var(--avatar-color, var(--color-base-foreground));
  }
  .avatar-group, .avatar-group-compact {
    display: flex;
    .avatar {
      margin-inline-start: calc(var(--avatar-size) / var(--avatar-group-gap) * -1);
      &:first-child {
        margin-inline-start: 0;
      }
    }
  }
  .avatar-group-compact {
    .avatar {
      --avatar-group-gap: 1.5;
    }
  }
}
@layer components {
  .badge {
    position: relative;
    inline-size: fit-content;
  }
  .badge-top-left, .badge-top-right, .badge-bottom-left, .badge-bottom-right {
    position: absolute;
    z-index: 1;
  }
  .badge-top-left {
    translate: -50% -50%;
    inset-block-start: 0;
    left: 0;
    &.badge-tight {
      translate: -20% -20%;
    }
  }
  .badge-top-right {
    translate: 50% -50%;
    inset-block-start: 0;
    right: 0;
    &.badge-tight {
      translate: 20% -20%;
    }
  }
  .badge-bottom-left {
    translate: -50% 50%;
    inset-block-end: 0;
    left: 0;
    &.badge-tight {
      translate: -20% 20%;
    }
  }
  .badge-bottom-right {
    translate: 50% 50%;
    inset-block-end: 0;
    right: 0;
    &.badge-tight {
      translate: 20% 20%;
    }
  }
}
@layer components {
  .breadcrumb {
    --breadcrumb-gap: calc(var(--spacing) * 2);
    ol, ul {
      display: flex;
      flex-wrap: wrap;
      gap: var(--breadcrumb-gap);
      li {
        display: flex;
        align-items: center;
        gap: var(--breadcrumb-gap);
        &:not(:first-child)::before {
          content: "/";
        }
      }
    }
  }
}
@layer components {
  .btn {
    --btn-bg: var(--btn-color, var(--color-base));
    --btn-fg: var(--color-base-foreground);
    --btn-soft-bg: light-dark(
            var(--btn-color, oklch(70.8% 0 0)),
            var(--btn-color, oklch(70.8% 0 0))
        );
    @supports (color: color-mix(in lab, red, red)) {
      --btn-soft-bg: light-dark(
            color-mix(in oklab, var(--btn-color, var(--color-base-dense)) 20%, var(--color-base-background)),
            color-mix(in oklab, var(--btn-color, var(--color-base-dense)) 20%, var(--color-base-background))
        );
    }
    --btn-border-width: var(--border-width);
    --btn-border: var(--btn-color, oklch(98.5% 0 0));
    @supports (color: color-mix(in lab, red, red)) {
      --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base)), var(--color-base-foreground) 30%);
    }
    --btn-size: calc(var(--spacing) * 10);
    --btn-ring: inset 0 1px 0 0 light-dark(#fff, var(--btn-color, oklch(98.5% 0 0)));
    @supports (color: color-mix(in lab, red, red)) {
      --btn-ring: inset 0 1px 0 0 color-mix(in oklab, light-dark(var(--color-base-background), var(--btn-color, var(--color-base))) 30%, transparent);
    }
    --join-border-width: var(--btn-border-width);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    block-size: var(--btn-size);
    min-inline-size: var(--btn-size);
    padding-inline: calc(var(--btn-size) / 4);
    overflow: hidden;
    text-wrap: nowrap;
    text-decoration: none;
    font-size: calc(var(--btn-size) * 0.4);
    line-height: 1.25;
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style, solid);
    border-color: var(--btn-border);
    border-radius: var(--btn-radius, var(--radius-control));
    outline: 0px solid var(--btn-focus-outline, var(--color-accent));
    outline-offset: 1px;
    background-color: var(--btn-bg);
    box-shadow: var(--btn-ring) ,var(--btn-shadow, var(--shadow-low));
    color: var(--btn-fg);
    transition-property: background-color, border-color, box-shadow, color, outline;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    @media (hover: hover) {
      &:hover {
        --btn-bg: var(--btn-color, oklch(98.5% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base)), var(--color-base-background) 15%);
        }
      }
    }
    &:focus-visible {
      outline-width: 2px;
    }
    &:is(:active, .btn-active) ,&:is(.tab):has(input:checked):not(:hover) {
      --btn-bg: light-dark(
                var(--btn-color, oklch(98.5% 0 0)),
                var(--btn-color, oklch(98.5% 0 0))
            );
      @supports (color: color-mix(in lab, red, red)) {
        --btn-bg: light-dark(
                color-mix(in oklab, var(--btn-color, var(--color-base)), var(--color-base-foreground) 20%),
                color-mix(in oklab, var(--btn-color, var(--color-base)), var(--color-base-background) 25%)
            );
      }
      box-shadow: none;
    }
    &:where(:disabled, [disabled], .btn-disabled) {
      pointer-events: none;
      --btn-bg: var(--btn-color, oklch(98.5% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base)), var(--color-base-background) 60%);
      }
      border-color: var(--btn-border);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--btn-border), var(--color-base-background) 80%);
      }
      color: var(--btn-fg, oklch(43.9% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--btn-fg, var(--color-base-foreground)), var(--color-base-background) 50%);
      }
    }
  }
  .btn-primary {
    --btn-color: var(--color-primary);
    --btn-fg: var(--color-primary-content);
  }
  .btn-accent {
    --btn-color: var(--color-accent);
    --btn-fg: var(--color-accent-content);
  }
  .btn-danger {
    --btn-color: var(--color-danger);
    --btn-fg: var(--color-danger-content);
  }
  .btn-warning {
    --btn-color: var(--color-warning);
    --btn-fg: var(--color-warning-content);
  }
  .btn-success {
    --btn-color: var(--color-success);
    --btn-fg: var(--color-success-content);
  }
  .btn-icon {
    padding-inline: 0;
  }
  .btn-toggle {
    input {
      appearance: none;
      display: none;
      visibility: hidden;
    }
    &:has(input:not(:checked)) > :is(.btn-toggled-icon), &:has(input:checked) > :not(.btn-toggled-icon) {
      display: none;
      visibility: hidden;
    }
  }
  .btn-pill {
    --btn-radius: calc(infinity * 1px);
  }
  .btn-round {
    inline-size: var(--btn-size);
    --btn-radius: calc(infinity * 1px);
  }
  .btn-link {
    --btn-size: fit-content;
    --btn-bg: none;
    --btn-fg: var(--btn-color, var(--color-base-foreground));
    --btn-border: transparent;
    --btn-shadow: none;
    block-size: fit-content;
    padding-inline: 0;
    @media (hover: hover) {
      &:hover {
        --btn-bg: none;
        --btn-fg: var(--btn-color, oklch(43.9% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-fg: color-mix(in oklab, var(--btn-color, var(--color-base-foreground)), var(--color-black) 10%);
        }
        text-decoration: underline;
      }
    }
    &:is(:active, .btn-active) {
      --btn-bg: none;
      --btn-fg: var(--btn-color, oklch(43.9% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        --btn-fg: color-mix(in oklab, var(--btn-color, var(--color-base-foreground)), var(--color-black) 30%);
      }
      text-decoration: underline;
    }
  }
  .btn-clear {
    --btn-border: transparent;
    --btn-shadow: none;
    @media (hover: hover) {
      &:hover:not(:active) {
        --btn-bg: var(--btn-soft-bg);
        --btn-fg: var(--btn-color, var(--color-base-foreground));
      }
    }
    &:not(:hover, :active, .btn-active) {
      --btn-bg: none;
      --btn-fg: var(--btn-color, var(--color-base-foreground));
    }
    @media (hover: none) {
      &:not(:active, .btn-active) {
        --btn-bg: none;
        --btn-fg: var(--btn-color, var(--color-base-foreground));
      }
    }
  }
  .btn-solid {
    --btn-border: transparent;
    --btn-shadow: none;
  }
  .btn-soft {
    --btn-bg: var(--btn-soft-bg);
    --btn-ring: inset 0 0 0 1px color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --btn-ring: inset 0 0 0 1px color-mix(in oklab, var(--color-base-background) 90%, transparent);
    }
    @media (hover: hover) {
      &:hover:not(:active, .btn-active) {
        --btn-bg: var(--btn-soft-bg);
        --btn-fg: var(--btn-color, var(--color-base-foreground));
        --btn-border: var(--btn-color, oklch(70.8% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-dense)) 60%, var(--color-base-background));
        }
      }
    }
    &:not(:hover, :active, .btn-active) {
      --btn-fg: var(--btn-color, var(--color-base-foreground));
      --btn-border: var(--btn-color, oklch(70.8% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-dense)) 30%, var(--color-base-background));
      }
    }
    @media (hover: none) {
      &:not(:active, .btn-active) {
        --btn-fg: var(--btn-color, var(--color-base-foreground));
        --btn-border: var(--btn-color, oklch(70.8% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-dense)) 30%, var(--color-base-background));
        }
      }
    }
  }
  .btn-outline, .btn-outline-bold, .btn-dash, .btn-dash-bold {
    --btn-shadow: none;
    @media (hover: hover) {
      &:hover:not(:active, .btn-active) {
        --btn-bg: var(--btn-soft-bg);
        --btn-fg: var(--btn-color, var(--color-base-foreground));
        --btn-border: var(--btn-color, var(--color-base-dense));
      }
    }
    &:not(:hover, :active, .btn-active) {
      --btn-bg: var(--color-base-background);
      --btn-fg: var(--btn-color, var(--color-base-foreground));
      --btn-border: var(--btn-color, var(--color-base-dense));
    }
    @media (hover: none) {
      &:not(:active, .btn-active) {
        --btn-bg: var(--color-base-background);
        --btn-fg: var(--btn-color, var(--color-base-foreground));
        --btn-border: var(--btn-color, var(--color-base-dense));
      }
    }
  }
  .btn-outline-bold, .btn-dash-bold {
    --btn-border-width: 2px;
  }
  .btn-dash, .btn-dash-bold {
    --btn-border-style: dashed;
  }
  .btn-xs {
    --btn-size: calc(var(--spacing) * 8);
  }
  .btn-sm {
    --btn-size: calc(var(--spacing) * 9);
  }
  .btn-lg {
    --btn-size: calc(var(--spacing) * 11);
  }
  .btn-xl {
    --btn-size: calc(var(--spacing) * 12);
  }
  .btn-2xl {
    --btn-size: calc(var(--spacing) * 13);
  }
  .btn-wide {
    min-inline-size: calc(var(--spacing) * 64);
  }
  .btn-block {
    inline-size: 100%;
  }
  svg, img, i {
    .btn & {
      flex: none;
      block-size: 1.25em;
      min-inline-size: 1.25em;
    }
  }
  @media (hover: hover) {
    .join-row > .btn:has(+ .btn:is(.btn-outline, .btn-outline-bold, .btn-dashed, .btn-dashed-bold)) {
      &:hover {
        & + .btn {
          border-inline-start-color: transparent;
        }
      }
    }
    .join-col > .btn:has(+ .btn:is(.btn-outline, .btn-outline-bold, .btn-dashed, .btn-dashed-bold)) {
      &:hover {
        & + .btn {
          border-block-start-color: transparent;
        }
      }
    }
  }
}
@layer components {
  .card {
    --card-bg: var(--color-base-background);
    --card-header-bg: var(--color-base);
    --card-footer-bg: var(--color-base);
    --card-border: var(--color-base-border);
    --card-border-width: 0px;
    --card-radius: var(--radius-container);
    --card-shadow: var(--shadow-low);
    --card-header-size: calc(var(--spacing) * 14);
    --card-footer-size: calc(var(--spacing) * 16);
    --join-border-width: var(--card-border-width);
    background-color: var(--card-bg);
    border: var(--card-border-width) solid var(--card-border);
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow);
    color: var(--color-base-foreground);
    transition-property: background-color, border-color, box-shadow;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    & > *:is(:first-child):not(:last-child) {
      border-start-start-radius: calc(var(--card-radius) - var(--card-border-width));
      border-start-end-radius: calc(var(--card-radius) - var(--card-border-width));
    }
    & > *:is(:last-child):not(:first-child) {
      border-end-start-radius: calc(var(--card-radius) - var(--card-border-width));
      border-end-end-radius: calc(var(--card-radius) - var(--card-border-width));
    }
    & > *:is(:only-child) {
      border-radius: calc(var(--card-radius) - var(--card-border-width));
    }
    &.card-border {
      --card-border-width: var(--border-width);
    }
    &.card-gutter {
      margin-block-end: calc(var(--spacing) * 8);
    }
    &:where(.card-scroll) {
      display: flex;
      flex-direction: column;
      .card-body {
        overflow: auto;
        scroll-behavior: contain;
      }
    }
    &.card-flat {
      --card-radius: 0;
      --card-shadow: none;
    }
    .card-header {
      position: relative;
      display: flex;
      align-items: center;
      gap: calc(var(--spacing) * 4);
      min-block-size: var(--card-header-size);
      padding-inline: calc(var(--spacing) * 4);
      border-block-end: 1px solid var(--card-border);
      background-color: var(--card-header-bg);
      &.card-sticky {
        position: sticky;
        inset-block-start: 0;
        z-index: 10;
      }
      h1, h2, h3, h4, h5, h6 {
        margin-block: 0;
      }
    }
    figure {
      position: relative;
      overflow: hidden;
      img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
    .card-body {
      flex: 1;
      padding-block-start: calc(var(--spacing) * 4);
      padding-block-end: calc(var(--spacing) * 8);
      padding-inline: calc(var(--spacing) * 6);
    }
    .card-footer {
      position: relative;
      display: flex;
      align-items: center;
      gap: calc(var(--spacing) * 4);
      min-block-size: var(--card-footer-size);
      padding-inline: calc(var(--spacing) * 4);
      border-block-start: 1px solid var(--card-border);
      background-color: var(--card-footer-bg);
      &.card-sticky {
        position: sticky;
        inset-block-end: 0;
        z-index: 10;
      }
    }
    .card-actions {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: calc(var(--spacing) * 4);
    }
    &.card-center .card-body {
      height: 100%;
      align-content: center;
      justify-items: center;
    }
    > :where(.alert) {
      border-radius: 0;
      box-shadow: none;
    }
  }
  .card-title {
    .card & {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      flex-grow: 1;
      gap: calc(var(--spacing) * 2);
      padding-block-end: calc(var(--spacing) * 4);
    }
    .card :is(.card-header, .card-footer) & {
      padding-block-start: calc(var(--spacing) * 4);
    }
  }
  svg, img, i {
    .card :is(.card-header, .card-footer) & {
      flex: none;
      block-size: 1.25em;
      min-inline-size: 1.25em;
    }
  }
}
@layer components {
  .checkbox {
    --checkbox-size: calc(var(--spacing) * 4.5);
    --checkbox-bg: var(--color-base);
    --checkbox-shadow: var(--shadow-low);
    --checkbox-border-width: var(--border-width);
    --checkbox-focus-outline: color-mix(in srgb, oklch(70.7% 0.165 254.624) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --checkbox-focus-outline: color-mix(in oklab, var(--color-accent) 40%, transparent);
    }
    --checkbox-focus-border: var(--color-accent);
    --checkbox-invalid-bg: color-mix(in srgb, oklch(57.7% 0.245 27.325) 25%, #fff);
    @supports (color: color-mix(in lab, red, red)) {
      --checkbox-invalid-bg: color-mix(in oklab, var(--color-danger) 25%, var(--color-base-background));
    }
    --checkbox-invalid-border: var(--color-danger);
    appearance: none;
    cursor: pointer;
    block-size: var(--checkbox-size);
    min-inline-size: var(--checkbox-size);
    max-inline-size: var(--checkbox-size);
    border: var(--checkbox-border-width) solid var(--checkbox-border, color-mix(in srgb, oklch(70.8% 0 0) 50%, transparent));
    @supports (color: color-mix(in lab, red, red)) {
      border: var(--checkbox-border-width) solid var(--checkbox-border, color-mix(in oklab, var(--color-base-dense) 50%, transparent));
    }
    border-radius: var(--radius-input);
    outline: 0px solid var(--checkbox-focus-outline);
    outline-offset: 0px;
    background-color: var(--checkbox-bg);
    box-shadow: var(--checkbox-shadow);
    transition-property: background-color, border-color, box-shadow, outline;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    &::before {
      content: "";
      clip-path: polygon(90% 26%, 41% 90%, 10% 54%, 21% 42%, 40% 65%, 79% 15%);
      opacity: 0;
      display: block;
      block-size: 100%;
      inline-size: 100%;
      background-color: var(--checkbox-checked-color, var(--color-base-background));
      transition-property: background-color, opacity;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    @media (hover: hover) {
      &:hover {
        background-color: var(--checkbox-bg);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--checkbox-bg), var(--color-base-foreground) 6%);
        }
        --checkbox-checked-outline: color-mix(in srgb, oklch(70.8% 0 0), oklch(98.5% 0 0) 20%);
        @supports (color: color-mix(in lab, red, red)) {
          --checkbox-checked-outline: color-mix(in oklab, var(--color-base-dense), var(--color-base) 20%);
        }
      }
    }
    &:active {
      background-color: var(--checkbox-bg);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--checkbox-bg), var(--color-base-foreground) 12%);
      }
      --checkbox-shadow: none;
      --checkbox-checked-outline: color-mix(in srgb, oklch(70.8% 0 0), oklch(98.5% 0 0) 40%);
      @supports (color: color-mix(in lab, red, red)) {
        --checkbox-checked-outline: color-mix(in oklab, var(--color-base-dense), var(--color-base) 40%);
      }
    }
    &:indeterminate::before {
      clip-path: polygon(10% 40%, 90% 40%, 90% 60%, 10% 60%);
    }
    &:is(:checked, :indeterminate) {
      --checkbox-bg: var(--checkbox-color, var(--color-base-dense));
      --checkbox-checked-outline: var(--checkbox-checked-color);
      &::before {
        opacity: 1;
      }
    }
    &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      background-color: var(--checkbox-bg);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--checkbox-bg) 40%, var(--color-base-background));
      }
      border-color: var(--checkbox-border, oklch(70.8% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--checkbox-border, var(--color-base-dense)) 30%, transparent);
      }
      --checkbox-shadow: none;
      &::before {
        background-color: var(--checkbox-checked-color, oklch(98.5% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--checkbox-checked-color, var(--color-base)) 50%, var(--color-base));
        }
      }
    }
    &:focus-visible {
      outline-width: 2px;
      --checkbox-border: var(--checkbox-focus-border);
    }
    &.checkbox-validate:user-invalid, &.checkbox-invalid:not(:checked) {
      --checkbox-bg: var(--checkbox-invalid-bg);
      --checkbox-border: var(--checkbox-invalid-border);
    }
    label:has(&) {
      cursor: pointer;
      display: inline-flex;
      align-items: start;
      justify-content: start;
      gap: calc(var(--spacing) * 2);
      line-height: var(--text-3xl--line-height);
    }
  }
  .checkbox-inline {
    display: flex;
    flex-direction: row;
    gap: calc(var(--spacing) * 4);
  }
  .checkbox-list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 4);
  }
  .checkbox.checkbox-outline, .checkbox.checkbox-outline-bold {
    --checkbox-bg: none;
    --checkbox-shadow: none;
    --checkbox-checked-color: var(--checkbox-color, var(--color-base-dense));
    --checkbox-border: var(--checkbox-checked-outline, var(--color-base-dense));
  }
  .checkbox-outline-bold {
    border-width: calc(var(--checkbox-border-width) * 2);
  }
  .checkbox-solid {
    --checkbox-bg: var(--color-base-border);
    --checkbox-border: transparent;
    --checkbox-shadow: none;
  }
  .checkbox-primary {
    --checkbox-color: var(--color-primary);
    --checkbox-checked-color: var(--color-primary-content);
  }
  .checkbox-accent {
    --checkbox-color: var(--color-accent);
    --checkbox-checked-color: var(--color-accent-content);
  }
  .checkbox-warning {
    --checkbox-color: var(--color-warning);
    --checkbox-checked-color: var(--color-warning-content);
  }
  .checkbox-success {
    --checkbox-color: var(--color-success);
    --checkbox-checked-color: var(--color-success-content);
  }
  .checkbox-danger {
    --checkbox-color: var(--color-danger);
    --checkbox-checked-color: var(--color-danger-content);
  }
  .checkbox-xs {
    --checkbox-size: calc(var(--spacing) * 3.5);
    label:has(&) {
      font-size: var(--text-xs);
    }
  }
  .checkbox-sm {
    --checkbox-size: calc(var(--spacing) * 4);
    label:has(&) {
      font-size: var(--text-sm);
    }
  }
  .checkbox-lg {
    --checkbox-size: calc(var(--spacing) * 6);
    label:has(&) {
      font-size: var(--text-lg);
      line-height: var(--text-2xl--line-height);
    }
  }
  .checkbox-xl {
    --checkbox-size: calc(var(--spacing) * 7);
    label:has(&) {
      font-size: var(--text-xl);
      line-height: var(--text-xl--line-height);
    }
  }
  .checkbox-2xl {
    --checkbox-size: calc(var(--spacing) * 8);
    label:has(&) {
      font-size: var(--text-2xl);
      line-height: var(--text-2xl--line-height);
    }
  }
}
@layer components {
  .divider {
    --divider-border: var(--divider-color, var(--color-base-border));
    --divider-width: var(--border-width);
    --divider-start: 1fr;
    --divider-end: 1fr;
    --divider-grid: var(--divider-start) auto var(--divider-end);
    display: grid;
    grid-template-columns: var(--divider-grid);
    align-items: center;
    justify-self: stretch;
    gap: calc(var(--spacing) * 4);
    white-space: nowrap;
    color: var(--divider-color, var(--color-base-foreground));
    &::before, &::after {
      content: '';
      border-block-end-width: var(--divider-width);
      border-inline-start-width: var(--divider-width);
      border-color: var(--divider-border);
    }
    &:where(:empty) {
      --divider-grid: var(--divider-start) var(--divider-end);
      gap: calc(var(--spacing) * 0);
    }
  }
  .divider-dashed {
    &::before, &::after {
      border-style: dashed;
    }
  }
  .divider-dotted {
    &::before, &::after {
      border-style: dotted;
    }
  }
  .divider-primary {
    --divider-color: var(--color-primary);
  }
  .divider-accent {
    --divider-color: var(--color-accent);
  }
  .divider-success {
    --divider-color: var(--color-success);
  }
  .divider-warning {
    --divider-color: var(--color-warning);
  }
  .divider-danger {
    --divider-color: var(--color-danger);
  }
  .divider-subtle {
    --divider-border: light-dark(
            var(--divider-color, oklch(92.2% 0 0)),
            var(--divider-color, oklch(92.2% 0 0))
        );
    @supports (color: color-mix(in lab, red, red)) {
      --divider-border: light-dark(
            color-mix(in oklab, var(--divider-color, var(--color-base-border)) 20%, var(--color-base-background)),
            color-mix(in oklab, var(--divider-color, var(--color-base-border)) 40%, var(--color-base-background))
        );
    }
    color: var(--divider-color, oklch(43.9% 0 0));
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--divider-color, var(--color-base-foreground)) 60%, var(--color-base-background));
    }
  }
  .divider-thin {
    --divider-width: calc(var(--border-width) / 2);
  }
  .divider-bold {
    --divider-width: calc(var(--border-width) * 2);
  }
  .divider-thick {
    --divider-width: calc(var(--border-width) * 3);
  }
  .divider-thicker {
    --divider-width: calc(var(--border-width) * 4);
  }
  .divider-start {
    --divider-grid: auto var(--divider-end);
    &::before {
      content: none;
    }
  }
  .divider-end {
    --divider-grid: var(--divider-start) auto;
    &::after {
      content: none;
    }
  }
  .divider-start-xs {
    --divider-start: 5%;
  }
  .divider-start-sm {
    --divider-start: 10%;
  }
  .divider-start-md {
    --divider-start: 20%;
  }
  .divider-start-lg {
    --divider-start: 30%;
  }
  .divider-start-xl {
    --divider-start: 40%;
  }
  .divider-end-xs {
    --divider-end: 5%;
  }
  .divider-end-sm {
    --divider-end: 10%;
  }
  .divider-end-md {
    --divider-end: 20%;
  }
  .divider-end-lg {
    --divider-end: 30%;
  }
  .divider-end-xl {
    --divider-end: 40%;
  }
  svg, img, i {
    .divider & {
      flex: none;
      block-size: 1.25em;
      min-inline-size: 1.25em;
    }
  }
}
@layer components {
  .drawer {
    --drawer-w: var(--container-md);
    --drawer-h: calc(var(--drawer-w) / 2);
    position: fixed;
    z-index: 63;
    visibility: hidden;
    inset-block-start: 0;
    inset-inline-end: 0;
    block-size: 100%;
    inline-size: 100%;
    background-color: transparent;
    .drawer-toggle input[type="checkbox"] {
      appearance: none;
      display: none;
      visibility: hidden;
    }
    &:has(.drawer-toggle input[type="checkbox"]:checked) {
      visibility: visible;
      background-color: color-mix(in srgb, #000, transparent 50%);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-black), transparent 50%);
      }
      .drawer-content {
        transform: none;
      }
      .drawer-toggle {
        display: block;
        block-size: 100%;
        inline-size: 100%;
      }
    }
    transition-property: background-color, visibility;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
  }
  .drawer-content {
    position: absolute;
    scrollbar-color: var(--color-base-dense) var(--color-base-background);
    scrollbar-gutter: stable;
    background-color: var(--color-base-background);
    border-color: var(--color-base-border);
    border-style: solid;
    transition-property: transform;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    .drawer-start & {
      inset-block-start: 0;
      inset-inline-start: 0;
      transform: translateX(-100%);
      block-size: 100%;
      inline-size: var(--drawer-w);
    }
    .drawer-end & {
      inset-block-start: 0;
      inset-inline-end: 0;
      transform: translateX(100%);
      block-size: 100%;
      inline-size: var(--drawer-w);
    }
    .drawer-left & {
      inset-block-start: 0;
      left: 0;
      transform: translateX(-100%);
      block-size: 100%;
      inline-size: var(--drawer-w);
    }
    .drawer-right & {
      inset-block-start: 0;
      right: 0;
      transform: translateX(100%);
      block-size: 100%;
      inline-size: var(--drawer-w);
    }
    .drawer-top & {
      inset-block-start: 0;
      inset-inline-start: 0;
      transform: translateY(-100%);
      block-size: var(--drawer-h);
      inline-size: 100%;
    }
    .drawer-bottom & {
      inset-block-end: 0;
      inset-inline-start: 0;
      transform: translateY(100%);
      block-size: var(--drawer-h);
      inline-size: 100%;
    }
  }
  .drawer-3xs {
    --drawer-w: var(--container-3xs);
  }
  .drawer-2xs {
    --drawer-w: var(--container-2xs);
  }
  .drawer-xs {
    --drawer-w: var(--container-xs);
  }
  .drawer-sm {
    --drawer-w: var(--container-sm);
  }
  .drawer-lg {
    --drawer-w: var(--container-lg);
  }
  .drawer-xl {
    --drawer-w: var(--container-xl);
  }
  .drawer-2xl {
    --drawer-w: var(--container-2xl);
  }
  .drawer-3xl {
    --drawer-w: var(--container-3xl);
  }
  .drawer-4xl {
    --drawer-w: var(--container-4xl);
  }
  .drawer-5xl {
    --drawer-w: var(--container-5xl);
  }
  .drawer-6xl {
    --drawer-w: var(--container-6xl);
  }
  .drawer-7xl {
    --drawer-w: var(--container-7xl);
  }
}
@layer components {
  .dropdown {
    --dropdown-bg: var(--color-base);
    --dropdown-border: var(--color-base-border);
    position: relative;
    > :where(.dropdown-toggle):is(:focus):not(:focus-visible) ~ .dropdown-content {
      height: auto;
      visibility: visible;
    }
    > .dropdown-toggle ~ .dropdown-content {
      height: 0;
      visibility: hidden;
      margin-block: calc(var(--spacing) * 1.5);
      &.dropdown-open, &:has(:focus,:focus-visible) {
        height: auto;
        visibility: visible;
      }
    }
    > .dropdown-content {
      position: absolute;
      inset-block-start: 100%;
      inset-inline-start: 50%;
      z-index: 71;
      overflow: hidden;
      transform: translateX(-50%);
      inline-size: max-content;
      background-color: var(--dropdown-bg);
      border: 1px solid var(--dropdown-border);
      border-radius: var(--radius-control);
      box-shadow: var(--shadow-high);
      @media (prefers-reduced-motion: no-preference) {
        interpolate-size: allow-keywords;
      }
      transition-property: height,visibility;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    &.dropdown-start {
      .dropdown-content {
        inset-inline-start: 0;
        inset-inline-end: auto;
        transform: translateX(0%);
      }
    }
    &.dropdown-end {
      .dropdown-content {
        inset-inline-start: auto;
        inset-inline-end: 0;
        transform: translateX(0%);
      }
    }
    &.dropdown-left {
      .dropdown-content {
        left: 0;
        right: auto;
        inset-inline-start: auto;
        transform: translateX(0%);
      }
    }
    &.dropdown-right {
      .dropdown-content {
        left: auto;
        right: 0;
        inset-inline-start: auto;
        transform: translateX(0%);
      }
    }
    &.dropdown-up {
      .dropdown-content {
        inset-block-start: auto;
        inset-block-end: 100%;
      }
    }
  }
}
@layer components {
  .form {
    --field-gap: calc(var(--spacing) * 8);
    .form-field, .form-field-inline {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-content: start;
      align-items: baseline;
      gap: calc(var(--spacing) * 2);
      &:has(+ &) {
        margin-block-end: var(--field-gap);
      }
    }
    &.form-compact {
      --field-gap: calc(var(--spacing) * 4);
    }
    .form-helper {
      display: block;
      color: currentColor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentColor, var(--color-base-background) 50%);
      }
      &.invalid {
        opacity: 0;
        color: var(--color-danger);
        :where(.form-field:has(:user-invalid, [class*="-invalid"])) & {
          opacity: 1;
        }
        transition-property: opacity;
        transition-duration: var(--tt-duration, var(--default-transition-duration));
        transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
      }
    }
    .fieldset {
      padding-block: calc(var(--spacing) * 4);
      padding-inline: calc(var(--spacing) * 4);
      background-color: var(--color-base-airy);
      border-radius: var(--radius-md);
      border: 1px solid var(--color-base-border);
      box-shadow: var(--shadow-xs);
      legend {
        padding-inline: calc(var(--spacing) * 1);
        color: var(--color-base-content);
        font-weight: var(--font-weight-medium);
        font-size: var(--text-lg);
        line-height: var(--text-lg--line-height);
      }
      &.fieldset-outline {
        background: none;
        box-shadow: none;
        legend {
          padding-inline: calc(var(--spacing) * 0);
        }
      }
      &.fieldset-solid {
        border-width: 0px;
        background-color: var(--color-base);
      }
    }
    .label {
      display: flex;
      align-items: center;
      gap: calc(var(--spacing) * 1);
      font-weight: var(--font-weight-medium);
      svg, img, i {
        flex: none;
        block-size: 1.25em;
        min-inline-size: 1.25em;
      }
    }
  }
  label {
    &:has(:disabled, [disabled]) {
      cursor: not-allowed;
      color: currentColor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentColor, transparent 40%);
      }
    }
  }
}
@layer components {
  .input {
    --input-bg: var(--input-color);
    @supports (color: color-mix(in lab, red, red)) {
      --input-bg: color-mix(in oklab, var(--input-color) 15%, var(--color-base-background));
    }
    --input-border: var(--input-color, var(--color-base-border));
    --input-border-width: var(--border-width);
    --input-focus: var(--input-color, oklch(70.7% 0.165 254.624));
    @supports (color: color-mix(in lab, red, red)) {
      --input-focus: color-mix(in oklab, var(--input-color, var(--color-accent)) 40%, transparent);
    }
    --input-text: var(--color-base-foreground);
    --input-label: var(--color-base-dense);
    --input-size: calc(var(--spacing) * 10);
    --input-gap: calc(var(--input-size) * 0.4);
    --input-radius: var(--radius-control);
    block-size: var(--input-size);
    border-width: var(--input-border-width);
    border-style: solid;
    border-color: var(--input-border);
    border-radius: var(--input-radius);
    outline: 0px solid var(--input-focus);
    background-color: var(--input-bg, var(--color-base));
    box-shadow: var(--shadow-low);
    transition-property: background-color, border-color, box-shadow, color, outline;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    &:is(input), > input {
      overflow: hidden;
      inline-size: 100%;
      min-inline-size: var(--input-size);
      padding-inline: var(--input-gap);
      color: var(--input-text);
      font-size: calc(var(--input-size) * 0.4);
      line-height: 1.25;
      &::placeholder {
        font-style: italic;
        font-weight: var(--font-weight-light);
        color: var(--input-text);
        opacity: .6;
      }
      &:read-only:not(:disabled, [disabled]) {
        background-color: var(--color-base-border);
      }
      &:is([type="file"]) {
        padding-inline-start: 0px;
        &:not(:disabled, [disabled]) {
          background-color: var(--input-bg, var(--color-base));
        }
        &::file-selector-button {
          block-size: 100%;
          min-inline-size: var(--input-size);
          padding-inline: var(--input-gap);
          margin-inline-end: var(--input-gap);
          border-inline-end: var(--input-border-width) solid var(--input-color, var(--color-base-border));
        }
        @media (hover: hover) {
          &::file-selector-button:hover {
            background-color: var(--input-bg);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--input-bg), var(--color-black) 6%);
            }
          }
        }
        &::file-selector-button:active {
          background-color: var(--input-bg);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--input-bg), var(--color-black) 12%);
          }
        }
      }
    }
    &:is(:disabled, [disabled]), &:has(:disabled, [disabled]) {
      cursor: not-allowed;
      background-color: var(--color-base-border);
      box-shadow: none;
      input {
        cursor: not-allowed;
      }
    }
    &:not(.input-nofocus):focus-visible, &:not(.input-nofocus):has(:focus-visible) {
      outline-width: 3px;
      &:not(.input-solid) {
        --input-text: var(--color-base-foreground);
        border-color: var(--input-color, var(--color-accent));
        background-color: var(--input-bg, oklch(98.5% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--input-bg, var(--color-base)), var(--color-base-background) 80%);
        }
      }
    }
    &.input-validate:user-invalid, &.input-validate:has(:user-invalid), &.input-invalid, &:has(.input-invalid) {
      --input-color: var(--color-danger);
      outline-width: 3px;
      outline-style: solid;
    }
    &:not(input) {
      display: flex;
      align-items: center;
      > input {
        flex: 1;
        outline-width: 0;
        block-size: 100%;
        & ~ .btn {
          border-inline-start: var(--input-border-width) solid var(--input-border);
        }
      }
      > :where(:not(input, .btn, .dropdown, .input-prefix, .input-suffix)) {
        padding-inline: var(--input-gap) calc(var(--spacing) * 0);
        color: var(--input-label);
        font-size: calc(var(--input-size) * 0.4);
        -webkit-user-select: none;
        user-select: none;
        &:last-child {
          padding-inline: calc(var(--spacing) * 0) var(--input-gap);
        }
      }
      > .btn, > .dropdown, > .dropdown > .btn {
        block-size: 100%;
        min-inline-size: var(--input-size);
        border: none;
        border-radius: 0;
        box-shadow: none;
        &:has(~ input) {
          border-inline-end: var(--input-border-width) solid var(--input-border);
        }
      }
      > :is(:first-child) {
        border-start-start-radius: calc(var(--input-radius) - var(--input-border-width));
        border-end-start-radius: calc(var(--input-radius) - var(--input-border-width));
      }
      > :is(:last-child) {
        border-start-end-radius: calc(var(--input-radius) - var(--input-border-width));
        border-end-end-radius: calc(var(--input-radius) - var(--input-border-width));
      }
    }
    :where(svg, img, i) {
      flex: none;
      block-size: 1.25em;
      .btn & {
        width: auto;
        min-width: auto;
      }
    }
    &:has(.input-prefix, .input-suffix) {
      .input-prefix, .input-suffix {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        block-size: 100%;
        min-inline-size: var(--input-size);
        padding-inline: calc(var(--spacing) * 2);
        background-color: var(--input-bg, var(--color-base-airy));
        color: var(--input-color, currentColor);
        .input-solid & {
          color: var(--input-text, currentColor);
        }
      }
      .input-prefix {
        border-inline-end: var(--input-border-width) solid var(--input-border);
      }
      .input-suffix {
        border-inline-start: var(--input-border-width) solid var(--input-border);
      }
    }
  }
  .input-clear {
    border: none;
    box-shadow: none;
    background: none;
  }
  .input-solid {
    --input-bg: var(--input-color, var(--color-base));
    border: none;
    box-shadow: none;
  }
  .input.input-outline, .input.input-outline-bold {
    background: none;
    box-shadow: none;
  }
  .input-outline-bold {
    border-width: calc(var(--input-border-width) * 2);
  }
  .input-primary {
    --input-color: var(--color-primary);
    &.input-solid {
      --input-text: var(--color-primary-content);
    }
  }
  .input-accent {
    --input-color: var(--color-accent);
    &.input-solid {
      --input-text: var(--color-accent-content);
    }
  }
  .input-success {
    --input-color: var(--color-success);
    &.input-solid {
      --input-text: var(--color-success-content);
    }
  }
  .input-warning {
    --input-color: var(--color-warning);
    &.input-solid {
      --input-text: var(--color-warning-content);
    }
  }
  .input-danger {
    --input-color: var(--color-danger);
    &.input-solid {
      --input-text: var(--color-danger-content);
    }
  }
  .input-xs {
    --input-size: calc(var(--spacing) * 8);
  }
  .input-sm {
    --input-size: calc(var(--spacing) * 9);
  }
  .input-lg {
    --input-size: calc(var(--spacing) * 11);
  }
  .input-xl {
    --input-size: calc(var(--spacing) * 12);
  }
  .input-2xl {
    --input-size: calc(var(--spacing) * 13);
  }
}
@layer components {
  ul.menu {
    @media (prefers-reduced-motion: no-preference) {
      interpolate-size: allow-keywords;
    }
    &, ul {
      --menu-border: var(--color-base-border);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: calc(var(--spacing) * 1);
      inline-size: var(--menu-size, auto);
      transition-property: height, visibility;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    li {
      display: grid;
      align-content: start;
      .menu-toggle::after {
        content: "";
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" /></svg>');
        mask-repeat: no-repeat;
        mask-type: alpha;
        background-color: currentColor;
        flex: none;
        block-size: 1.2em;
        inline-size: 1.2em;
        transition-property: rotate;
        transition-duration: var(--tt-duration, var(--default-transition-duration));
        transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
      }
      .menu-toggle ~ ul {
        visibility: hidden;
        height: 0;
      }
      &:has(.menu-toggle:focus:not(:focus-visible)) {
        > ul {
          visibility: visible;
          height: auto;
        }
        > .menu-toggle::after {
          rotate: 180deg;
        }
      }
      .menu-title {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        font-weight: var(--font-weight-medium);
        color: currentColor;
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, currentColor, transparent 40%);
        }
        text-wrap: wrap;
        min-block-size: calc(var(--spacing) * 9);
        padding: calc(var(--spacing) * 2.5);
        transition-property: color;
        transition-duration: var(--tt-duration, var(--default-transition-duration));
        transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
        svg, img, i {
          block-size: 1.25em;
          min-inline-size: 1.25em;
        }
      }
      ul {
        --menu-size: auto;
        padding: calc(var(--spacing) * 0);
        li {
          padding-inline-start: calc(var(--spacing) * 2);
          margin-inline-start: calc(var(--spacing) * 5);
          border-inline-start: 1px solid var(--menu-border, var(--color-base-border));
          @media (hover: hover) {
            &:has(> :not(ul):hover) {
              --menu-border: var(--color-accent);
            }
          }
          transition-property: border;
          transition-duration: var(--tt-duration, var(--default-transition-duration));
          transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
        }
        li > :not(ul, :hover) {
          opacity: 0.7;
        }
      }
    }
  }
  ul.menu-3xs {
    --menu-size: calc(var(--container-3xs) / 2);
  }
  ul.menu-2xs {
    --menu-size: calc(var(--container-2xs) / 2);
  }
  ul.menu-xs {
    --menu-size: calc(var(--container-xs) / 2);
  }
  ul.menu-sm {
    --menu-size: calc(var(--container-sm) / 2);
  }
  ul.menu-md {
    --menu-size: calc(var(--container-md) / 2);
  }
  ul.menu-lg {
    --menu-size: calc(var(--container-lg) / 2);
  }
  ul.menu-xl {
    --menu-size: calc(var(--container-xl) / 2);
  }
  ul.menu-2xl {
    --menu-size: calc(var(--container-2xl) / 2);
  }
  ul.menu-3xl {
    --menu-size: calc(var(--container-3xl) / 2);
  }
  ul.menu-4xl {
    --menu-size: calc(var(--container-4xl) / 2);
  }
  ul.menu-5xl {
    --menu-size: calc(var(--container-5xl) / 2);
  }
  ul.menu-6xl {
    --menu-size: calc(var(--container-6xl) / 2);
  }
  ul.menu-7xl {
    --menu-size: calc(var(--container-7xl) / 2);
  }
}
@layer components {
  .modal {
    --modal-size: calc(var(--container-md) / 1.8);
    --modal-inline: calc(var(--modal-size) * 2);
    display: none;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    margin: auto;
    min-block-size: var(--modal-size);
    inline-size: var(--modal-inline);
    max-block-size: calc(100% - 1em);
    max-inline-size: calc(100% - 1em);
    box-shadow: var(--shadow-high);
    transition-property: display, opacity, overlay, scale, transform, visibility;
    transition-behavior: allow-discrete;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    &::backdrop {
      background-color: transparent;
      transition-property: background-color;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    &:is([open], :open) {
      display: flex;
      opacity: 1;
      visibility: visible;
      button:focus-visible {
        background-color: inherit;
      }
      &::backdrop {
        pointer-events: none;
        background-color: color-mix(in srgb, #000 40%, transparent );
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 40%, transparent );
        }
      }
      @starting-style {
        opacity: 0;
        visibility: hidden;
        scale: 80%;
        &::backdrop {
          background-color: transparent;
        }
        &:is( .modal-start, .modal-top-start, .modal-bottom-start, .modal-left, .modal-top-left, .modal-bottom-left ) {
          transform: translateX(-100%);
        }
        &:is( .modal-end, .modal-top-end, .modal-bottom-end, .modal-right, .modal-top-right, .modal-bottom-right ) {
          transform: translateX(100%);
        }
        &:is(.modal-top) {
          transform: translateY(-100%);
        }
        &:is(.modal-bottom) {
          transform: translateY(100%);
        }
      }
    }
    .modal-static, .modal-dismiss-backdrop {
      display: grid;
      position: fixed;
      inset-block-start: 0;
      inset-inline-start: 0;
      block-size: 100%;
      inline-size: 100%;
      opacity: 0;
      z-index: -1;
    }
    &:has(.modal-static:active) {
      scale: 105%;
    }
    &:has(.modal:is([open], :open)) {
      scale: 90%;
      &:not(.modal-focus) {
        transform: translateX(calc(calc(var(--spacing) * 12) * -1));
      }
      &:is( .modal-start, .modal-top-start, .modal-bottom-start, .modal-left, .modal-top-left, .modal-bottom-left ) {
        transform: translateX(calc(calc(var(--spacing) * 12) * 1));
      }
      &.modal-focus {
        scale: 95%;
        inset-block-end: auto;
        .modal.modal-focus:is([open], :open) {
          max-block-size: calc(100% - 2em);
          inset-block-start: auto;
          inset-block-end: calc(var(--spacing) * 2);
        }
      }
    }
  }
  .modal-sm {
    --modal-size: calc(var(--container-sm) / 1.8);
  }
  .modal-lg {
    --modal-size: calc(var(--container-lg) / 1.8);
  }
  .modal-xl {
    --modal-size: calc(var(--container-2xl) / 1.8);
  }
  .modal-2xl {
    --modal-size: calc(var(--container-4xl) / 1.8);
  }
  .modal-focus {
    block-size: 100%;
    inline-size: 100%;
  }
  .modal-top {
    inset-block-start: calc(var(--spacing) * 2);
    inset-block-end: auto;
    &:not([open], :open) {
      transform: translateY(-100%);
    }
  }
  .modal-bottom {
    inset-block-start: auto;
    inset-block-end: calc(var(--spacing) * 2);
    &:not([open], :open) {
      transform: translateY(100%);
    }
  }
  .modal-start {
    inset-inline-start: calc(var(--spacing) * 2);
    inset-inline-end: auto;
    &:not([open], :open) {
      transform: translateX(-100%);
    }
  }
  .modal-end {
    inset-inline-start: auto;
    inset-inline-end: calc(var(--spacing) * 2);
    &:not([open], :open) {
      transform: translateX(100%);
    }
  }
  .modal-top-start {
    inset-block-start: calc(var(--spacing) * 2);
    inset-block-end: auto;
    inset-inline-start: calc(var(--spacing) * 2);
    inset-inline-end: auto;
    &:not([open], :open) {
      transform: translateX(-100%);
    }
  }
  .modal-top-end {
    inset-block-start: calc(var(--spacing) * 2);
    inset-block-end: auto;
    inset-inline-start: auto;
    inset-inline-end: calc(var(--spacing) * 2);
    &:not([open], :open) {
      transform: translateX(100%);
    }
  }
  .modal-bottom-start {
    inset-block-start: auto;
    inset-block-end: calc(var(--spacing) * 2);
    inset-inline-start: calc(var(--spacing) * 2);
    inset-inline-end: auto;
    &:not([open], :open) {
      transform: translateX(-100%);
    }
  }
  .modal-bottom-end {
    inset-block-start: auto;
    inset-block-end: calc(var(--spacing) * 2);
    inset-inline-start: auto;
    inset-inline-end: calc(var(--spacing) * 2);
    &:not([open], :open) {
      transform: translateX(100%);
    }
  }
  .modal-left {
    left: calc(var(--spacing) * 2);
    right: auto;
    &:not([open], :open) {
      transform: translateX(-100%);
    }
  }
  .modal-right {
    left: auto;
    right: calc(var(--spacing) * 2);
    &:not([open], :open) {
      transform: translateX(100%);
    }
  }
  .modal-top-left {
    inset-block-start: calc(var(--spacing) * 2);
    inset-block-end: auto;
    left: calc(var(--spacing) * 2);
    right: auto;
    &:not([open], :open) {
      transform: translateX(-100%);
    }
  }
  .modal-top-right {
    inset-block-start: calc(var(--spacing) * 2);
    inset-block-end: auto;
    left: auto;
    right: calc(var(--spacing) * 2);
    &:not([open], :open) {
      transform: translateX(100%);
    }
  }
  .modal-bottom-left {
    inset-block-start: auto;
    inset-block-end: calc(var(--spacing) * 2);
    left: calc(var(--spacing) * 2);
    right: auto;
    &:not([open], :open) {
      transform: translateX(-100%);
    }
  }
  .modal-bottom-right {
    inset-block-start: auto;
    inset-block-end: calc(var(--spacing) * 2);
    left: auto;
    right: calc(var(--spacing) * 2);
    &:not([open], :open) {
      transform: translateX(100%);
    }
  }
}
@layer components {
  .popover {
    --popover-content-margin: calc(var(--spacing) * 2);
    --popover-bg: var(--popover-color, var(--color-base));
    --popover-soft-bg: light-dark(
            var(--popover-color),
            var(--popover-color)
        );
    @supports (color: color-mix(in lab, red, red)) {
      --popover-soft-bg: light-dark(
            color-mix(in oklab, var(--popover-color) 10%, var(--color-base-background)),
            color-mix(in oklab, var(--popover-color) 40%, var(--color-base-background))
        );
    }
    --popover-border-width: var(--border-width);
    position: relative;
    display: inline-block;
  }
  .popover-toggle {
    .popover &:focus + .popover-content {
      opacity: 1;
      scale: 1;
      visibility: visible;
    }
  }
  .popover-content {
    .popover:is(:not(.open)) & {
      opacity: 0;
      scale: 0;
      visibility: hidden;
    }
    .popover & {
      position: absolute;
      z-index: 21;
      min-width: calc(var(--spacing) * 64);
      padding: calc(var(--spacing) * 4);
      background-color: var(--popover-bg);
      border: var(--popover-border-width) solid var(--popover-color, oklch(92.2% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        border: var(--popover-border-width) solid color-mix(in oklab, var(--popover-color, var(--color-base-border)), var(--color-base-foreground) 10%);
      }
      border-radius: var(--radius-container);
      box-shadow: var(--shadow-rise);
      color: var(--popover-fg, var(--color-base-foreground));
      transition-property: opacity, scale, visibility;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    .popover:not( .popover-top-start, .popover-top-end, .popover-top-left, .popover-top-right, .popover-bottom, .popover-bottom-start, .popover-bottom-end, .popover-bottom-left, .popover-bottom-right, .popover-start, .popover-start-start, .popover-start-end, .popover-end, .popover-end-start, .popover-end-end, .popover-left, .popover-left-start, .popover-left-end, .popover-right, .popover-right-start, .popover-right-end ) & {
      inset-block-end: 100%;
      left: 50%;
      transform: translateX(-50%);
      transform-origin: bottom left;
      margin-block-end: var(--popover-content-margin);
    }
    .popover.popover-top-start & {
      inset-block-end: 100%;
      inset-inline-start: 0;
      &:dir(ltr) {
        transform-origin: bottom left;
      }
      &:dir(rtl) {
        transform-origin: bottom right;
      }
      margin-block-end: var(--popover-content-margin);
    }
    .popover.popover-top-end & {
      inset-block-end: 100%;
      inset-inline-end: 0;
      &:dir(ltr) {
        transform-origin: bottom right;
      }
      &:dir(rtl) {
        transform-origin: bottom left;
      }
      margin-block-end: var(--popover-content-margin);
    }
    .popover.popover-top-left & {
      inset-block-end: 100%;
      left: 0;
      transform-origin: bottom left;
      margin-block-end: var(--popover-content-margin);
    }
    .popover.popover-top-right & {
      inset-block-end: 100%;
      right: 0;
      transform-origin: bottom right;
      margin-block-end: var(--popover-content-margin);
    }
    .popover.popover-bottom & {
      left: 50%;
      transform: translateX(-50%);
      transform-origin: top left;
      margin-block-start: var(--popover-content-margin);
    }
    .popover.popover-bottom-start & {
      inset-inline-start: 0;
      &:dir(ltr) {
        transform-origin: top left;
      }
      &:dir(rtl) {
        transform-origin: top right;
      }
      margin-block-start: var(--popover-content-margin);
    }
    .popover.popover-bottom-end & {
      inset-inline-end: 0;
      &:dir(ltr) {
        transform-origin: top right;
      }
      &:dir(rtl) {
        transform-origin: top left;
      }
      margin-block-start: var(--popover-content-margin);
    }
    .popover.popover-bottom-left & {
      left: 0;
      transform-origin: top left;
      margin-block-start: var(--popover-content-margin);
    }
    .popover.popover-bottom-right & {
      right: 0;
      transform-origin: top right;
      margin-block-start: var(--popover-content-margin);
    }
    .popover.popover-start & {
      inset-block-start: 50%;
      inset-inline-end: 100%;
      transform: translateY(-50%);
      &:dir(ltr) {
        transform-origin: top right;
      }
      &:dir(rtl) {
        transform-origin: top left;
      }
      margin-inline-end: var(--popover-content-margin);
    }
    .popover.popover-start-start & {
      inset-block-start: 0;
      inset-inline-end: 100%;
      &:dir(ltr) {
        transform-origin: top right;
      }
      &:dir(rtl) {
        transform-origin: top left;
      }
      margin-inline-end: var(--popover-content-margin);
    }
    .popover.popover-start-end & {
      inset-block-end: 0;
      inset-inline-end: 100%;
      &:dir(ltr) {
        transform-origin: bottom right;
      }
      &:dir(rtl) {
        transform-origin: bottom left;
      }
      margin-inline-end: var(--popover-content-margin);
    }
    .popover.popover-end & {
      inset-block-start: 50%;
      inset-inline-start: 100%;
      transform: translateY(-50%);
      &:dir(ltr) {
        transform-origin: top left;
      }
      &:dir(rtl) {
        transform-origin: top right;
      }
      margin-inline-start: var(--popover-content-margin);
    }
    .popover.popover-end-start & {
      inset-block-start: 0;
      inset-inline-start: 100%;
      &:dir(ltr) {
        transform-origin: top left;
      }
      &:dir(rtl) {
        transform-origin: top right;
      }
      margin-inline-start: var(--popover-content-margin);
    }
    .popover.popover-end-end & {
      inset-block-end: 0;
      inset-inline-start: 100%;
      &:dir(ltr) {
        transform-origin: bottom left;
      }
      &:dir(rtl) {
        transform-origin: bottom right;
      }
      margin-inline-start: var(--popover-content-margin);
    }
    .popover.popover-left & {
      inset-block-start: 50%;
      right: 100%;
      transform: translateY(-50%);
      transform-origin: top right;
      margin-right: var(--popover-content-margin);
    }
    .popover.popover-left-start & {
      inset-block-start: 0;
      right: 100%;
      transform-origin: top right;
      margin-right: var(--popover-content-margin);
    }
    .popover.popover-left-end & {
      inset-block-end: 0;
      right: 100%;
      transform-origin: bottom right;
      margin-right: var(--popover-content-margin);
    }
    .popover.popover-right & {
      inset-block-start: 50%;
      left: 100%;
      transform: translateY(-50%);
      transform-origin: top left;
      margin-left: var(--popover-content-margin);
    }
    .popover.popover-right-start & {
      inset-block-start: 0;
      left: 100%;
      transform-origin: top left;
      margin-left: var(--popover-content-margin);
    }
    .popover.popover-right-end & {
      inset-block-end: 0;
      left: 100%;
      transform-origin: bottom left;
      margin-left: var(--popover-content-margin);
    }
  }
  .popover-primary {
    --popover-color: var(--color-primary);
    --popover-fg: var(--color-primary-content);
  }
  .popover-accent {
    --popover-color: var(--color-accent);
    --popover-fg: var(--color-accent-content);
  }
  .popover-success {
    --popover-color: var(--color-success);
    --popover-fg: var(--color-success-content);
  }
  .popover-warning {
    --popover-color: var(--color-warning);
    --popover-fg: var(--color-warning-content);
  }
  .popover-danger {
    --popover-color: var(--color-danger);
    --popover-fg: var(--color-danger-content);
  }
  .popover-soft {
    --popover-bg: var(--popover-soft-bg, var(--color-base));
    --popover-fg: var(--popover-color, var(--color-base-foreground));
  }
}
@layer components {
  .radio {
    --radio-size: calc(var(--spacing) * 4.5);
    --radio-bg: var(--color-base);
    --radio-shadow: var(--shadow-low);
    --radio-border-width: var(--border-width);
    --radio-focus-outline: var(--input-color, oklch(70.7% 0.165 254.624));
    @supports (color: color-mix(in lab, red, red)) {
      --radio-focus-outline: color-mix(in oklab, var(--input-color, var(--color-accent)) 40%, transparent);
    }
    --radio-focus-border: var(--color-accent);
    --radio-outline-border: var(--color-base-border);
    --radio-outline-disabled-border: color-mix(in srgb, oklch(92.2% 0 0) 60%, #fff);
    @supports (color: color-mix(in lab, red, red)) {
      --radio-outline-disabled-border: color-mix(in oklab, var(--color-base-border) 60%, var(--color-base-background));
    }
    --radio-invalid-bg: color-mix(in srgb, oklch(57.7% 0.245 27.325) 25%, #fff);
    @supports (color: color-mix(in lab, red, red)) {
      --radio-invalid-bg: color-mix(in oklab, var(--color-danger) 25%, var(--color-base-background));
    }
    --radio-invalid-border: var(--color-danger);
    appearance: none;
    position: relative;
    cursor: pointer;
    block-size: var(--radio-size);
    min-inline-size: var(--radio-size);
    max-inline-size: var(--radio-size);
    border: var(--radio-border-width) solid var(--radio-border, color-mix(in srgb, oklch(70.8% 0 0) 50%, transparent));
    @supports (color: color-mix(in lab, red, red)) {
      border: var(--radio-border-width) solid var(--radio-border, color-mix(in oklab, var(--color-base-dense) 50%, transparent));
    }
    border-radius: calc(infinity * 1px);
    outline: 0px solid var(--radio-focus-outline);
    outline-offset: 0px;
    background-color: var(--radio-bg);
    box-shadow: var(--radio-shadow);
    transition-property: background-color, border-color, box-shadow, outline;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    &::before {
      content: "";
      opacity: 0;
      display: block;
      position: absolute;
      inset-block-start: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      block-size: calc(var(--radio-size) * 0.5);
      inline-size: calc(var(--radio-size) * 0.5);
      border-radius: 50%;
      background-color: var(--radio-checked-color, var(--color-base));
      box-shadow: var(--shadow-low), var(--shadow-low);
      transition-property: background-color, opacity;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    @media (hover: hover) {
      &:hover {
        background-color: var(--radio-bg);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--radio-bg), var(--color-base-foreground) 6%);
        }
        --radio-checked-outline: color-mix(in srgb, oklch(70.8% 0 0), oklch(98.5% 0 0) 20%);
        @supports (color: color-mix(in lab, red, red)) {
          --radio-checked-outline: color-mix(in oklab, var(--color-base-dense), var(--color-base) 20%);
        }
      }
    }
    &:active {
      background-color: var(--radio-bg);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--radio-bg), var(--color-base-foreground) 12%);
      }
      --radio-shadow: none;
      --radio-checked-outline: color-mix(in srgb, oklch(70.8% 0 0), oklch(98.5% 0 0) 40%);
      @supports (color: color-mix(in lab, red, red)) {
        --radio-checked-outline: color-mix(in oklab, var(--color-base-dense), var(--color-base) 40%);
      }
    }
    &:checked {
      --radio-bg: var(--radio-color, var(--color-base-dense));
      --radio-checked-outline: var(--radio-checked-color);
      &::before {
        opacity: 1;
      }
    }
    &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      background-color: var(--radio-bg);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--radio-bg) 40%, var(--color-base-background));
      }
      border-color: var(--radio-border, oklch(70.8% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--radio-border, var(--color-base-dense)) 30%, transparent);
      }
      --radio-shadow: none;
      &::before {
        background-color: var(--radio-checked-color, oklch(98.5% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--radio-checked-color, var(--color-base)) 50%, var(--color-base));
        }
      }
    }
    &:focus-visible {
      outline-width: 2px;
      --radio-border: var(--radio-focus-border);
    }
    &.radio-validate:user-invalid, &.radio-invalid:not(:checked) {
      --radio-bg: var(--radio-invalid-bg);
      --radio-border: var(--radio-invalid-border);
    }
    label:has(&) {
      cursor: pointer;
      display: inline-flex;
      align-items: start;
      justify-content: start;
      gap: calc(var(--spacing) * 2);
      line-height: var(--text-3xl--line-height);
    }
  }
  .radio-inline {
    display: flex;
    flex-direction: row;
    gap: calc(var(--spacing) * 4);
  }
  .radio-list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
  }
  .radio.radio-outline, .radio.radio-outline-bold {
    --radio-bg: none;
    --radio-shadow: none;
    --radio-checked-color: var(--radio-color, var(--color-base-dense));
    --radio-border: var(--radio-checked-outline, var(--color-base-dense));
    &::before {
      box-shadow: none;
    }
  }
  .radio-outline-bold {
    border-width: calc(var(--radio-border-width) * 2);
  }
  .radio-solid {
    --radio-bg: var(--color-base-border);
    --radio-border: transparent;
    --radio-shadow: none;
  }
  .radio-primary {
    --radio-color: var(--color-primary);
    --radio-checked-color: var(--color-primary-content);
  }
  .radio-accent {
    --radio-color: var(--color-accent);
    --radio-checked-color: var(--color-accent-content);
  }
  .radio-warning {
    --radio-color: var(--color-warning);
    --radio-checked-color: var(--color-warning-content);
  }
  .radio-success {
    --radio-color: var(--color-success);
    --radio-checked-color: var(--color-success-content);
  }
  .radio-danger {
    --radio-color: var(--color-danger);
    --radio-checked-color: var(--color-danger-content);
  }
  .radio-xs {
    --radio-size: calc(var(--spacing) * 3.5);
    label:has(&) {
      font-size: var(--text-xs);
    }
  }
  .radio-sm {
    --radio-size: calc(var(--spacing) * 4);
    label:has(&) {
      font-size: var(--text-sm);
    }
  }
  .radio-lg {
    --radio-size: calc(var(--spacing) * 6);
    label:has(&) {
      font-size: var(--text-lg);
      line-height: var(--text-2xl--line-height);
    }
  }
  .radio-xl {
    --radio-size: calc(var(--spacing) * 7);
    label:has(&) {
      font-size: var(--text-xl);
      line-height: var(--text-xl--line-height);
    }
  }
  .radio-2xl {
    --radio-size: calc(var(--spacing) * 8);
    label:has(&) {
      font-size: var(--text-2xl);
      line-height: var(--text-2xl--line-height);
    }
  }
}
@layer components {
  .select {
    --select-size: calc(var(--spacing) * 10);
    --select-bg: var(--select-color, var(--color-base));
    --select-fg: var(--color-base-foreground);
    --select-soft-bg: var(--select-color, oklch(70.8% 0 0));
    @supports (color: color-mix(in lab, red, red)) {
      --select-soft-bg: color-mix(in oklab, var(--select-color, var(--color-base-dense)) 12%, transparent);
    }
    --select-border-width: 1px;
    --select-border: var(--select-color, oklch(92.2% 0 0));
    @supports (color: color-mix(in lab, red, red)) {
      --select-border: color-mix(in oklab, var(--select-color, var(--color-base-border)), var(--color-black) 12%);
    }
    --select-focus-outline: var(--select-color, oklch(70.7% 0.165 254.624));
    @supports (color: color-mix(in lab, red, red)) {
      --select-focus-outline: color-mix(in oklab, var(--select-color, var(--color-accent)) 40%, transparent);
    }
    --select-focus-border: var(--select-color, var(--color-accent));
    --select-invalid-bg: color-mix(in srgb, oklch(57.7% 0.245 27.325) 25%, #fff);
    @supports (color: color-mix(in lab, red, red)) {
      --select-invalid-bg: color-mix(in oklab, var(--color-danger) 25%, var(--color-base-background));
    }
    --select-invalid-border: var(--color-danger);
    --select-placeholder: var(--select-fg);
    @supports (color: color-mix(in lab, red, red)) {
      --select-placeholder: color-mix(in oklab, var(--select-fg), transparent 20%);
    }
    appearance: none;
    cursor: pointer;
    block-size: var(--select-size);
    min-inline-size: var(--select-size);
    padding-inline: calc(var(--spacing) * 4) calc(var(--spacing) * 8);
    background-color: var(--select-bg);
    border-width: var(--select-border-width);
    border-style: var(--select-border-style, solid);
    border-color: var(--select-border);
    border-radius: var(--select-radius, var(--radius-control));
    outline: 0px solid var(--select-focus-outline);
    outline-offset: 0px;
    box-shadow: var(--select-shadow, var(--shadow-low));
    color: var(--select-fg);
    overflow: hidden;
    text-wrap: nowrap;
    font-size: calc(var(--select-size) * 0.4);
    line-height: 1.25;
    transition-property: background-color, border-color, box-shadow, color, outline;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="%23777777"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 15 12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" /></svg>');
    &:dir(ltr) {
      background-position: right 0.5rem center;
    }
    &:dir(rtl) {
      background-position: left 0.5rem center;
    }
    background-repeat: no-repeat;
    background-size: 1.25em;
    @media (hover: hover) {
      &:hover {
        --select-bg: var(--select-color, oklch(98.5% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          --select-bg: color-mix(in oklab, var(--select-color, var(--color-base)), var(--color-black) 6%);
        }
        --select-border: var(--select-color, oklch(92.2% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          --select-border: color-mix(in oklab, var(--select-color, var(--color-base-border)), var(--color-black) 24%);
        }
      }
    }
    &:focus-visible {
      outline-width: 3px;
      --select-border: var(--select-focus-border);
    }
    &.select-validate:user-invalid, &.select-invalid {
      --select-border: var(--select-invalid-border);
      --select-bg: var(--select-invalid-bg);
    }
    &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      pointer-events: none;
      background-color: var(--select-bg);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--select-bg), var(--color-base-background) 60%);
      }
      --select-border: var(--select-color, oklch(70.8% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        --select-border: color-mix(in oklab, var(--select-color, var(--color-base-dense)), transparent 80%);
      }
      color: var(--select-fg, oklch(43.9% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--select-fg, var(--color-base-foreground)), var(--color-base-background) 50%);
      }
    }
    &:not(:disabled, [disabled]):has(option[value=""]:checked) {
      color: var(--select-placeholder);
    }
  }
  .select-pill {
    --select-radius: calc(infinity * 1px);
  }
  .select.select-clear {
    --select-bg: transparent;
    --select-fg: var(--select-color, var(--color-base-foreground));
    --select-border: transparent;
    --select-shadow: none;
  }
  .select.select-outline, .select.select-outline-bold {
    --select-bg: transparent;
    --select-fg: var(--select-color, var(--color-base-foreground));
    --select-shadow: none;
    @media (hover: hover) {
      &:hover {
        --select-bg: var(--select-soft-bg);
      }
    }
  }
  .select-outline-bold {
    --select-border-width: 2px;
  }
  .select.select-soft {
    --select-bg: var(--select-soft-bg);
    --select-fg: var(--select-color, var(--color-base-foreground));
    --select-shadow: none;
  }
  .select-primary {
    --select-color: var(--color-primary);
    --select-fg: var(--color-primary-content);
  }
  .select-accent {
    --select-color: var(--color-accent);
    --select-fg: var(--color-accent-content);
  }
  .select-success {
    --select-color: var(--color-success);
    --select-fg: var(--color-success-content);
  }
  .select-warning {
    --select-color: var(--color-warning);
    --select-fg: var(--color-warning-content);
  }
  .select-danger {
    --select-color: var(--color-danger);
    --select-fg: var(--color-danger-content);
  }
  .select:not( .select-soft, .select-clear, .select-outline, .select-outline-bold ):is( .select-primary, .select-accent, .select-success, .select-warning, .select-danger ) {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="%23DDDDDD"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 15 12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" /></svg>');
  }
  .select-xs {
    --select-size: calc(var(--spacing) * 8);
  }
  .select-sm {
    --select-size: calc(var(--spacing) * 9);
  }
  .select-lg {
    --select-size: calc(var(--spacing) * 11);
  }
  .select-xl {
    --select-size: calc(var(--spacing) * 12);
  }
  .select-2xl {
    --select-size: calc(var(--spacing) * 13);
  }
}
@layer components {
  .sink {
    display: grid;
    gap: calc(var(--spacing) * 1.5);
    block-size: fit-content;
    padding: calc(var(--spacing) * 1.5);
    background-color: var(--color-base-airy);
    border-radius: var(--radius-container);
    box-shadow: var(--inset-low);
  }
}
@layer components {
  .spinner {
    --spinner-size: calc(var(--spacing) * 5);
    --spinner-border-width: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    block-size: var(--spinner-size);
    inline-size: var(--spinner-size);
    border: var(--spinner-border-width) solid var(--spinner-border, var(--color-base-border));
    border-top-color: var(--spinner-accent, var(--color-base-dense));
    border-radius: calc(infinity * 1px);
    animation: spin 0.8s linear infinite;
    label:has(&) {
      display: inline-flex;
      align-items: center;
      gap: calc(var(--spacing) * 2);
    }
  }
  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }
  .spinner-clear {
    --spinner-border: transparent;
  }
  .spinner-solid {
    --spinner-border-width: calc(var(--spinner-size) / 2);
  }
  .spinner-primary {
    --spinner-accent: var(--color-primary);
  }
  .spinner-accent {
    --spinner-accent: var(--color-accent);
  }
  .spinner-success {
    --spinner-accent: var(--color-success);
  }
  .spinner-danger {
    --spinner-accent: var(--color-danger);
  }
  .spinner-warning {
    --spinner-accent: var(--color-warning);
  }
  .spinner-xs {
    --spinner-size: calc(var(--spacing) * 3);
  }
  .spinner-sm {
    --spinner-size: calc(var(--spacing) * 4);
  }
  .spinner-lg {
    --spinner-size: calc(var(--spacing) * 7);
    --spinner-border-width: 3px;
  }
  .spinner-xl {
    --spinner-size: calc(var(--spacing) * 9);
    --spinner-border-width: 4px;
  }
  .spinner-2xl {
    --spinner-size: calc(var(--spacing) * 11);
    --spinner-border-width: 5px;
  }
}
@layer components {
  .status {
    --status-size: calc(var(--spacing) * 3);
    --status-bg: var(--color-base-dense);
    --status-border-width: var(--border-width);
    display: inline-block;
    aspect-ratio: 1;
    block-size: var(--status-size);
    inline-size: var(--status-size);
    border-radius: var(--radius-input);
    background-color: var(--status-bg);
  }
  .status-round {
    border-radius: calc(infinity * 1px);
  }
  .status-outline, .status-outline-bold {
    border: var(--status-border-width) solid var(--status-bg);
    background: none;
  }
  .status-outline-bold {
    border-width: calc(var(--status-border-width) * 2);
  }
  .status-ring {
    outline: 2px solid var(--status-ring, var(--color-base));
  }
  .status-primary {
    --status-bg: var(--color-primary);
  }
  .status-accent {
    --status-bg: var(--color-accent);
  }
  .status-warning {
    --status-bg: var(--color-warning);
  }
  .status-danger {
    --status-bg: var(--color-danger);
  }
  .status-success {
    --status-bg: var(--color-success);
  }
  .status-ring-primary {
    --status-ring: var(--color-primary);
  }
  .status-ring-accent {
    --status-ring: var(--color-accent);
  }
  .status-ring-warning {
    --status-ring: var(--color-warning);
  }
  .status-ring-danger {
    --status-ring: var(--color-danger);
  }
  .status-ring-success {
    --status-ring: var(--color-success);
  }
  .status-xs {
    --status-size: calc(var(--spacing) * 2);
  }
  .status-sm {
    --status-size: calc(var(--spacing) * 2.5);
  }
  .status-lg {
    --status-size: calc(var(--spacing) * 4);
  }
  .status-xl {
    border-radius: var(--radius-control);
    --status-size: calc(var(--spacing) * 5);
  }
  .status-2xl {
    border-radius: var(--radius-control);
    --status-size: calc(var(--spacing) * 6);
  }
}
@layer components {
  .switch {
    --switch-height: calc(var(--spacing) * 4.5);
    --switch-width: calc(var(--switch-height) * 1.8);
    --switch-margin: 0.2em;
    --switch-thumb-start: calc(var(--spacing) * 0.3);
    --switch-thumb-size: calc(var(--switch-height) - calc(var(--spacing) * 1));
    --switch-bg: var(--color-base-border);
    --switch-border-width: var(--border-width);
    --switch-focus-outline: var(--input-color, oklch(70.7% 0.165 254.624));
    @supports (color: color-mix(in lab, red, red)) {
      --switch-focus-outline: color-mix(in oklab, var(--input-color, var(--color-accent)) 40%, transparent);
    }
    --switch-focus-border: var(--color-accent);
    --switch-invalid-bg: color-mix(in srgb, oklch(57.7% 0.245 27.325) 25%, #fff);
    @supports (color: color-mix(in lab, red, red)) {
      --switch-invalid-bg: color-mix(in oklab, var(--color-danger) 25%, var(--color-base-background));
    }
    --switch-invalid-border: var(--color-danger);
    appearance: none;
    cursor: pointer;
    position: relative;
    block-size: var(--switch-height);
    min-inline-size: var(--switch-width);
    inset-block-start: var(--switch-margin);
    border: var(--switch-border-width) solid var(--switch-border, color-mix(in srgb, oklch(70.8% 0 0) 60%, transparent));
    @supports (color: color-mix(in lab, red, red)) {
      border: var(--switch-border-width) solid var(--switch-border, color-mix(in oklab, var(--color-base-dense) 60%, transparent));
    }
    border-radius: var(--switch-height);
    outline: 0px solid var(--switch-focus-outline);
    outline-offset: 0px;
    background-color: var(--switch-bg);
    box-shadow: var(--inset-dent), var(--shadow-low);
    transition-property: background-color, border-color, box-shadow, outline;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    &::before {
      content: "";
      position: absolute;
      inset-block-start: 50%;
      inset-inline-start: var(--switch-thumb-start);
      transform: translateY(-50%);
      block-size: var(--switch-thumb-size);
      inline-size: var(--switch-thumb-size);
      border-radius: calc(infinity * 1px);
      background-color: var(--switch-thumb-bg, var(--color-base));
      box-shadow: var(--shadow-low), var(--shadow-low);
      transition-property: background-color, box-shadow, transform;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    @media (hover: hover) {
      &:hover {
        background-color: var(--switch-bg);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--switch-bg), var(--color-base-foreground) 6%);
        }
        --switch-checked-outline: color-mix(in srgb, oklch(70.8% 0 0), oklch(98.5% 0 0) 20%);
        @supports (color: color-mix(in lab, red, red)) {
          --switch-checked-outline: color-mix(in oklab, var(--color-base-dense), var(--color-base) 20%);
        }
      }
    }
    &:active {
      box-shadow: none;
      --switch-checked-outline: color-mix(in srgb, oklch(70.8% 0 0), oklch(98.5% 0 0) 40%);
      @supports (color: color-mix(in lab, red, red)) {
        --switch-checked-outline: color-mix(in oklab, var(--color-base-dense), var(--color-base) 40%);
      }
      &::before {
        box-shadow: none;
      }
    }
    &:checked {
      --switch-bg: var(--switch-color, var(--color-base-dense));
      --switch-thumb-bg: var(--switch-checked-color, var(--color-base));
      --switch-checked-outline: var(--switch-color, var(--color-base-dense));
      &::before {
        transform: translate(calc(var(--switch-width) - var(--switch-thumb-size) - calc(var(--spacing) * 1)), -50%);
      }
    }
    &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      background-color: var(--switch-bg);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--switch-bg) 40%, transparent);
      }
      border-color: var(--switch-border, oklch(70.8% 0 0));
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--switch-border, var(--color-base-dense)) 30%, transparent);
      }
      box-shadow: none;
      &::before {
        background-color: var(--switch-thumb-bg, oklch(98.5% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--switch-thumb-bg, var(--color-base)) 50%, var(--color-base));
        }
      }
    }
    &:focus-visible {
      outline-width: 2px;
      --switch-border: var(--switch-focus-border);
    }
    &.switch-validate:user-invalid, &.switch-invalid:not(:checked) {
      --switch-border: var(--switch-invalid-border);
      --switch-bg: var(--switch-invalid-bg);
    }
    label:has(&) {
      cursor: pointer;
      display: inline-flex;
      align-items: start;
      justify-content: start;
      gap: calc(var(--spacing) * 2);
    }
  }
  .switch-inline {
    display: flex;
    flex-direction: row;
    gap: calc(var(--spacing) * 4);
  }
  .switch-list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
  }
  .switch.switch-outline, .switch.switch-outline-bold {
    --switch-bg: none;
    --switch-border: var(--switch-checked-outline);
    --switch-thumb-bg: var(--switch-checked-outline, var(--color-base-border));
    box-shadow: none;
    &::before {
      box-shadow: none;
    }
  }
  .switch-outline-bold {
    border-width: calc(var(--switch-border-width) * 2);
    --switch-thumb-start: calc(var(--spacing) * 0.5);
    --switch-thumb-size: calc(var(--switch-height) - calc(var(--spacing) * 2));
    &:checked {
      &::before {
        transform: translate(calc(var(--switch-width) - var(--switch-thumb-size) - calc(var(--spacing) * 2)), -50%);
      }
    }
  }
  .switch-solid {
    --switch-bg: var(--color-base-border);
    --switch-border: transparent;
    box-shadow: none;
  }
  .switch-primary {
    --switch-color: var(--color-primary);
    --switch-checked-color: var(--color-primary-content);
  }
  .switch-accent {
    --switch-color: var(--color-accent);
    --switch-checked-color: var(--color-accent-content);
  }
  .switch-warning {
    --switch-color: var(--color-warning);
    --switch-checked-color: var(--color-warning-content);
  }
  .switch-danger {
    --switch-color: var(--color-danger);
    --switch-checked-color: var(--color-danger-content);
  }
  .switch-success {
    --switch-color: var(--color-success);
    --switch-checked-color: var(--color-success-content);
  }
  .switch-xs {
    --switch-height: calc(var(--spacing) * 3);
    label:has(&) {
      font-size: var(--text-xs);
    }
  }
  .switch-sm {
    --switch-height: calc(var(--spacing) * 3.5);
    label:has(&) {
      font-size: var(--text-sm);
    }
  }
  .switch-lg {
    --switch-height: calc(var(--spacing) * 6);
    --switch-margin: 0.1em;
    label:has(&) {
      font-size: var(--text-lg);
      line-height: var(--text-2xl--line-height);
    }
  }
  .switch-xl {
    --switch-height: calc(var(--spacing) * 7);
    --switch-margin: 0em;
    label:has(&) {
      font-size: var(--text-xl);
      line-height: var(--text-xl--line-height);
    }
  }
  .switch-2xl {
    --switch-height: calc(var(--spacing) * 8);
    --switch-margin: 0em;
    label:has(&) {
      font-size: var(--text-2xl);
      line-height: var(--text-2xl--line-height);
    }
  }
}
@layer components {
  .tabs {
    display: flex;
    flex-wrap: wrap;
    align-content: start;
    gap: calc(var(--spacing) * 2);
    .tab {
      input[type="radio"] {
        display: none;
        visibility: hidden;
      }
      &:has(input:checked) {
        & + .tab-content {
          display: block;
          inline-size: 100%;
        }
      }
    }
    .tab-content {
      display: none;
      order: calc(infinity);
    }
  }
}
@layer components {
  .table {
    --table-header-bg: var(--color-base-airy);
    --table-row-border: var(--border-width) solid var(--color-base-border);
    --table-row-height: calc(var(--spacing) * 14);
    background-color: var(--color-base-background);
    text-align: left;
    color: var(--color-base-foreground);
    thead {
      tr {
        th {
          background-color: var(--table-header-bg);
          font-weight: var(--font-weight-semibold);
          .card:not(.card-flat) &:first-child {
            border-start-start-radius: calc(var(--radius-container) - var(--border-width));
          }
          .card:not(.card-flat) &:last-child {
            border-start-end-radius: calc(var(--radius-container) - var(--border-width));
          }
        }
      }
    }
    tbody {
      tr {
        @media (hover: hover) {
          &:hover {
            background-color: var(--table-row-hover-bg);
          }
        }
        &:nth-of-type(odd):not(:hover) {
          background-color: var(--table-striped-bg);
        }
      }
    }
    :where(thead tr,tbody tr:not(:last-child)) {
      border-bottom: var(--table-row-border);
    }
    :where(th,td) {
      height: var(--table-row-height);
      padding-block: calc(var(--spacing) * 2);
      padding-inline: calc(var(--spacing) * 4);
      vertical-align: middle;
    }
  }
  .table-hover {
    --table-row-hover-bg: var(--color-base);
  }
  .table-striped {
    --table-striped-bg: var(--color-base);
  }
  .table-borderless {
    --table-row-border: none;
    --table-border: none;
  }
  .table-compact {
    :where(th,td) {
      --table-row-height: calc(var(--spacing) * 8);
      padding-block: calc(var(--spacing) * 1);
      padding-inline: calc(var(--spacing) * 2);
    }
  }
}
@layer components {
  .tag {
    --tag-size: calc(var(--spacing) * 6);
    --tag-bg: var(--tag-color, var(--color-base));
    --tag-fg: var(--color-base-foreground);
    --tag-soft-bg: var(--tag-color);
    @supports (color: color-mix(in lab, red, red)) {
      --tag-soft-bg: color-mix(in oklab, var(--tag-color) 12%, var(--color-base-background));
    }
    --tag-border: var(--tag-color, oklch(92.2% 0 0));
    @supports (color: color-mix(in lab, red, red)) {
      --tag-border: color-mix(in oklab, var(--tag-color, var(--color-base-border)), var(--color-black) 12%);
    }
    --tag-border-width: var(--border-width);
    --tag-radius: var(--radius-control);
    --join-border-width: var(--tag-border-width);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--tag-size) * 0.25);
    block-size: var(--tag-size);
    min-inline-size: var(--tag-size);
    padding-inline: calc(var(--tag-size) * 0.25);
    border: var(--tag-border-width) solid var(--tag-border);
    border-radius: var(--tag-radius);
    background-color: var(--tag-bg);
    color: var(--tag-fg);
    font-size: calc(var(--tag-size) * 0.575);
    line-height: var(--tag-size);
  }
  .tag-primary {
    --tag-color: var(--color-primary);
    --tag-fg: var(--color-primary-content);
  }
  .tag-accent {
    --tag-color: var(--color-accent);
    --tag-fg: var(--color-accent-content);
  }
  .tag-danger {
    --tag-color: var(--color-danger);
    --tag-fg: var(--color-danger-content);
  }
  .tag-warning {
    --tag-color: var(--color-warning);
    --tag-fg: var(--color-warning-content);
  }
  .tag-success {
    --tag-color: var(--color-success);
    --tag-fg: var(--color-success-content);
  }
  .tag-solid {
    --tag-border: transparent;
  }
  .tag-soft {
    --tag-bg: var(--tag-soft-bg, var(--color-base));
    --tag-fg: var(--tag-color, var(--color-base-foreground));
    --tag-border: transparent;
  }
  .tag-outline, .tag-outline-bold, .tag-dashed, .tag-dashed-bold {
    --tag-fg: var(--tag-color, var(--color-base-foreground));
    --tag-border: var(--tag-color, var(--color-base-border));
    &:not(.tag-soft) {
      box-shadow: none;
      --tag-bg: transparent;
    }
  }
  .tag-dashed, .tag-dashed-bold {
    border-style: dashed;
  }
  .tag-outline-bold, .tag-dashed-bold {
    --tag-border-width: calc(var(--border-width) * 2);
  }
  .tag-pill {
    --tag-radius: calc(infinity * 1px);
    padding-inline: calc(var(--tag-size) * 0.35);
  }
  .tag-xs {
    --tag-size: calc(var(--spacing) * 4.5);
  }
  .tag-sm {
    --tag-size: calc(var(--spacing) * 5);
  }
  .tag-lg {
    --tag-size: calc(var(--spacing) * 7);
  }
  .tag-xl {
    --tag-size: calc(var(--spacing) * 8);
  }
  .tag-2xl {
    --tag-size: calc(var(--spacing) * 9);
  }
  svg, img, i {
    .tag & {
      flex: none;
      block-size: 1.3em;
      min-inline-size: 1.3em;
    }
    .tag.tag-pill & {
      &:first-child {
        margin-inline-start: calc(var(--tag-size) * -0.15);
      }
      &:last-child {
        margin-inline-end: calc(var(--tag-size) * -0.15);
      }
    }
  }
}
@layer components {
  .textarea {
    --textarea-bg: var(--textarea-color);
    @supports (color: color-mix(in lab, red, red)) {
      --textarea-bg: color-mix(in oklab, var(--textarea-color) 15%, var(--color-base-background));
    }
    --textarea-border: var(--textarea-color, var(--color-base-border));
    --textarea-border-width: var(--border-width);
    --textarea-focus: var(--textarea-color, oklch(70.7% 0.165 254.624));
    @supports (color: color-mix(in lab, red, red)) {
      --textarea-focus: color-mix(in oklab, var(--textarea-color, var(--color-accent)) 40%, transparent);
    }
    --textarea-text: var(--color-base-foreground);
    padding-block: calc(var(--spacing) * 2);
    padding-inline: calc(var(--spacing) * 4);
    border-width: var(--textarea-border-width);
    border-style: solid;
    border-color: var(--textarea-border);
    border-radius: var(--radius-control);
    outline: 0px solid var(--textarea-focus);
    background-color: var(--textarea-bg, var(--color-base));
    box-shadow: var(--shadow-low);
    color: var(--textarea-text);
    &::placeholder {
      font-style: italic;
    }
    &:read-only:not(:disabled, [disabled]) {
      background-color: var(--color-base-border);
    }
    &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      background-color: var(--color-base-border);
      box-shadow: none;
      color: var(--textarea-text);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--textarea-text) 60%, transparent);
      }
    }
    &:focus-visible {
      outline-width: 3px;
      &:not(.textarea-solid) {
        --textarea-text: var(--color-base-foreground);
        border-color: var(--textarea-color, var(--color-accent));
        background-color: var(--textarea-bg, oklch(98.5% 0 0));
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--textarea-bg, var(--color-base)), var(--color-base-background) 80%);
        }
      }
    }
  }
  .textarea-validate:user-invalid, .textarea-invalid {
    --textarea-color: var(--color-danger);
    outline-width: 3px;
  }
  .textarea-clear {
    border: none;
    box-shadow: none;
    background: none;
  }
  .textarea-solid {
    --textarea-bg: var(--textarea-color, var(--color-base));
    border: none;
    box-shadow: none;
  }
  .textarea.textarea-outline, .textarea.textarea-outline-bold {
    background: none;
    box-shadow: none;
  }
  .textarea-outline-bold {
    border-width: calc(var(--textarea-border-width) * 2);
  }
  .textarea-primary {
    --textarea-color: var(--color-primary);
    &.textarea-solid {
      --textarea-text: var(--color-primary-content);
    }
  }
  .textarea-accent {
    --textarea-color: var(--color-accent);
    &.textarea-solid {
      --textarea-text: var(--color-accent-content);
    }
  }
  .textarea-success {
    --textarea-color: var(--color-success);
    &.textarea-solid {
      --textarea-text: var(--color-success-content);
    }
  }
  .textarea-warning {
    --textarea-color: var(--color-warning);
    &.textarea-solid {
      --textarea-text: var(--color-warning-content);
    }
  }
  .textarea-danger {
    --textarea-color: var(--color-danger);
    &.textarea-solid {
      --textarea-text: var(--color-danger-content);
    }
  }
}
@layer components {
  .toast {
    --toast-bg: var(--toast-color, var(--color-base));
    --toast-fg: var(--color-base-foreground);
    --toast-soft-bg: light-dark(
            var(--toast-color),
            var(--toast-color)
        );
    @supports (color: color-mix(in lab, red, red)) {
      --toast-soft-bg: light-dark(
            color-mix(in oklab, var(--toast-color) 10%, var(--color-base-background)),
            color-mix(in oklab, var(--toast-color) 40%, var(--color-base-background))
        );
    }
    --toast-border: var(--toast-color, oklch(92.2% 0 0));
    @supports (color: color-mix(in lab, red, red)) {
      --toast-border: color-mix(in oklab, var(--toast-color, var(--color-base-border)), transparent 15%);
    }
    --toast-border-width: var(--border-width);
    --toast-size: var(--container-md);
    --toast-spacing: calc(var(--spacing) * 4);
    --toast-shadow: var(--shadow-high);
    display: flex;
    opacity: 1;
    visibility: visible;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    min-block-size: calc(var(--spacing) * 16);
    inline-size: var(--toast-size);
    padding-inline: calc(var(--spacing) * 4);
    margin: var(--toast-spacing);
    background-color: var(--toast-bg);
    border: var(--toast-border-width) solid var(--toast-border);
    border-radius: var(--radius-control);
    box-shadow: var(--toast-shadow);
    color: var(--toast-fg);
    transition-property: display, opacity, transform, visibility;
    transition-behavior: allow-discrete;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    &[class*="toast-dismiss-"] {
      animation-name: toastfadeout;
      animation-duration: 1s;
      animation-fill-mode: forwards;
      animation-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
      @media (hover: hover) {
        &:hover {
          animation-play-state: paused;
        }
      }
    }
    &.toast-dismiss-1 {
      animation-delay: 1s;
    }
    &.toast-dismiss-2 {
      animation-delay: 2s;
    }
    &.toast-dismiss-3 {
      animation-delay: 3s;
    }
    &.toast-dismiss-4 {
      animation-delay: 4s;
    }
    &.toast-dismiss-5 {
      animation-delay: 5s;
    }
    &.toast-dismiss-6 {
      animation-delay: 6s;
    }
    &.toast-dismiss-7 {
      animation-delay: 7s;
    }
    &.toast-dismiss-8 {
      animation-delay: 8s;
    }
    &.toast-dismiss-9 {
      animation-delay: 9s;
    }
    &.toast-dismiss-10 {
      animation-delay: 10s;
    }
    &.toast-dismiss-11 {
      animation-delay: 11s;
    }
    &.toast-dismiss-12 {
      animation-delay: 12s;
    }
    &.toast-dismiss-13 {
      animation-delay: 13s;
    }
    &.toast-dismiss-14 {
      animation-delay: 14s;
    }
    &.toast-dismiss-15 {
      animation-delay: 15s;
    }
    &.toast-dismiss-16 {
      animation-delay: 16s;
    }
    &.toast-dismiss-17 {
      animation-delay: 17s;
    }
    &.toast-dismiss-18 {
      animation-delay: 18s;
    }
    &.toast-dismiss-19 {
      animation-delay: 19s;
    }
    &.toast-dismiss-20 {
      animation-delay: 20s;
    }
    &.toast-dismiss-t {
      animation-delay: var(--toast-delay-t);
    }
    input.toast-close[type="radio"] {
      appearance: none;
      &::after {
        content: "";
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /></svg>');
        mask-repeat: no-repeat;
        mask-type: alpha;
        background-color: currentColor;
        color: var(--toast-fg, var(--color-base-dense));
        flex: none;
        block-size: calc(var(--spacing) * 5);
        inline-size: calc(var(--spacing) * 5);
      }
    }
    &:has(input[type="radio"]:checked) {
      display: none;
      opacity: 0;
      visibility: none;
      :where( .toast-bottom, .toast-bottom-left, .toast-bottom-right, .toast-bottom-start, .toast-bottom-end, ) & {
        transform: translateY(100%);
      }
      :where( .toast-top, .toast-top-left, .toast-top-right, .toast-top-start, .toast-top-end ) & {
        transform: translateY(-100%);
      }
    }
    :where(svg, img, i) {
      flex: none;
      block-size: 1.25em;
      min-inline-size: 1.25em;
      color: var(--toast-fg);
    }
    :where(span, div) {
      flex-grow: 1;
      padding-block: calc(var(--spacing) * 4);
    }
  }
  .toast-primary {
    --toast-color: var(--color-primary);
    --toast-fg: var(--color-primary-content);
  }
  .toast-success {
    --toast-color: var(--color-success);
    --toast-fg: var(--color-success-content);
  }
  .toast-accent {
    --toast-color: var(--color-accent);
    --toast-fg: var(--color-accent-content);
  }
  .toast-warning {
    --toast-color: var(--color-warning);
    --toast-fg: var(--color-warning-content);
  }
  .toast-danger {
    --toast-color: var(--color-danger);
    --toast-fg: var(--color-danger-content);
  }
  .toast-soft {
    --toast-bg: var(--toast-soft-bg, var(--color-base));
    --toast-fg: var(--toast-color, var(--color-base-foreground));
    --toast-border: transparent;
  }
  .toast-group {
    position: fixed;
    z-index: 41;
  }
  .toast-top {
    inset-block-start: 0;
    left: 50%;
    transform: translateX(-50%);
    justify-items: center;
  }
  .toast-top-left {
    inset-block-start: 0;
    left: 0;
    justify-items: left;
  }
  .toast-top-right {
    inset-block-start: 0;
    right: 0;
    justify-items: right;
  }
  .toast-top-start {
    inset-block-start: 0;
    inset-inline-start: 0;
    justify-items: start;
  }
  .toast-top-end {
    inset-block-start: 0;
    inset-inline-end: 0;
    justify-items: end;
  }
  .toast-bottom {
    inset-block-end: 0;
    left: 50%;
    transform: translateX(-50%);
    justify-items: center;
  }
  .toast-bottom-left {
    inset-block-end: 0;
    left: 0;
    justify-items: left;
  }
  .toast-bottom-right {
    inset-block-end: 0;
    right: 0;
    justify-items: right;
  }
  .toast-bottom-start {
    inset-block-end: 0;
    inset-inline-start: 0;
    justify-items: start;
  }
  .toast-bottom-end {
    inset-block-end: 0;
    inset-inline-end: 0;
    justify-items: end;
  }
  .toast-sm {
    --toast-size: var(--container-sm);
  }
  .toast-lg {
    --toast-size: var(--container-lg);
  }
  .toast-xl {
    --toast-size: var(--container-xl);
  }
  .toast-2xl {
    --toast-size: var(--container-2xl);
  }
  @keyframes toastfadeout {
    0% {
      opacity: 1;
      visibility: visible;
    }
    100% {
      display: none;
      opacity: 0;
      visibility: hidden;
    }
  }
}
@layer components {
  .tooltip {
    --tooltip-size: calc(var(--spacing) * 6);
    --tooltip-margin: calc(var(--spacing) * 2.7);
    --tooltip-arrow-size: calc(var(--spacing) * 2.5);
    --tooltip-arrow-margin: calc(var(--spacing) * 1.5);
    --tooltip-bg: var(--tooltip-color, var(--color-base));
    --tooltip-soft-bg: light-dark(
            var(--tooltip-color),
            var(--tooltip-color)
        );
    @supports (color: color-mix(in lab, red, red)) {
      --tooltip-soft-bg: light-dark(
            color-mix(in oklab, var(--tooltip-color) 10%, var(--color-base-background)),
            color-mix(in oklab, var(--tooltip-color) 40%, var(--color-base-background))
        );
    }
    --tooltip-border: var(--tooltip-color, oklch(92.2% 0 0));
    @supports (color: color-mix(in lab, red, red)) {
      --tooltip-border: color-mix(in oklab, var(--tooltip-color, var(--color-base-border)), var(--color-base-foreground) 10%);
    }
    --tooltip-border-width: var(--border-width);
    --tooltip-shadow: 0 0 0 var(--tooltip-border-width) var(--tooltip-border), var(--shadow-rise);
    position: relative;
    overflow: visible;
    @media (hover: hover) {
      &:hover {
        &::before, &::after {
          content-visibility: visible;
          opacity: 1;
        }
      }
    }
    &:where(:not(.open))::before, &:where(:not(.open))::after {
      content-visibility: hidden;
      opacity: 0;
    }
    &::before, &::after {
      position: absolute;
      transition-property: content-visibility, opacity;
      transition-duration: var(--tt-duration, var(--default-transition-duration));
      transition-behavior: allow-discrete;
      transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    }
    &::before {
      content: attr(data-tooltip);
      z-index: 31;
      padding-block: calc(var(--spacing) * 1);
      padding-inline: calc(var(--spacing) * 2);
      width: fit-content;
      background-color: var(--tooltip-bg);
      border-radius: var(--radius-input);
      box-shadow: var(--tooltip-shadow);
      color: var(--tooltip-fg, var(--color-base-foreground));
      font-size: calc(var(--tooltip-size) * 0.6);
      line-height: 1;
    }
    &::after {
      content: "";
      z-index: 32;
      display: block;
      rotate: 225deg;
      width: var(--tooltip-arrow-size);
      height: var(--tooltip-arrow-size);
      border: var(--tooltip-border-width) solid var(--tooltip-border);
      background-color: var(--tooltip-bg);
      box-shadow: var(--shadow-rise);
      clip-path: polygon(0 0, 0 100%, 100% 0);
    }
  }
  .tooltip-primary {
    --tooltip-color: var(--color-primary);
    --tooltip-fg: var(--color-primary-content);
  }
  .tooltip-accent {
    --tooltip-color: var(--color-accent);
    --tooltip-fg: var(--color-accent-content);
  }
  .tooltip-success {
    --tooltip-color: var(--color-success);
    --tooltip-fg: var(--color-success-content);
  }
  .tooltip-warning {
    --tooltip-color: var(--color-warning);
    --tooltip-fg: var(--color-warning-content);
  }
  .tooltip-danger {
    --tooltip-color: var(--color-danger);
    --tooltip-fg: var(--color-danger-content);
  }
  .tooltip-soft {
    --tooltip-bg: var(--tooltip-soft-bg, var(--color-base));
    --tooltip-fg: var(--tooltip-color, var(--color-base-foreground));
  }
  .tooltip-xs {
    --tooltip-size: calc(var(--spacing) * 4);
  }
  .tooltip-sm {
    --tooltip-size: calc(var(--spacing) * 5);
  }
  .tooltip-lg {
    --tooltip-size: calc(var(--spacing) * 7);
  }
  .tooltip-xl {
    --tooltip-size: calc(var(--spacing) * 8);
  }
  .tooltip-2xl {
    --tooltip-size: calc(var(--spacing) * 9);
  }
  .tooltip:where( .tooltip-top-left, .tooltip-top-right, .tooltip-top-start, .tooltip-top-end, )::after {
    rotate: 225deg;
  }
  .tooltip:where( .tooltip-bottom, .tooltip-bottom-left, .tooltip-bottom-right, .tooltip-bottom-start, .tooltip-bottom-end, )::after {
    rotate: 45deg;
  }
  .tooltip:where( .tooltip-left, .tooltip-left-start, .tooltip-left-end, .tooltip-start:dir(ltr), .tooltip-start-start:dir(ltr), .tooltip-start-end:dir(ltr), .tooltip-end:dir(rtl), .tooltip-end-start:dir(rtl), .tooltip-end-end:dir(rtl) )::after {
    rotate: 135deg;
  }
  .tooltip:where( .tooltip-right, .tooltip-right-start, .tooltip-right-end, .tooltip-start:dir(rtl), .tooltip-start-start:dir(rtl), .tooltip-start-end:dir(rtl), .tooltip-end:dir(ltr), .tooltip-end-start:dir(ltr), .tooltip-end-end:dir(ltr), )::after {
    rotate: 315deg;
  }
  .tooltip:not( .tooltip-top-left, .tooltip-top-right, .tooltip-top-start, .tooltip-top-end, .tooltip-bottom, .tooltip-bottom-left, .tooltip-bottom-right, .tooltip-bottom-start, .tooltip-bottom-end, .tooltip-left, .tooltip-left-start, .tooltip-left-end, .tooltip-start, .tooltip-start-start, .tooltip-start-end, .tooltip-right, .tooltip-right-start, .tooltip-right-end, .tooltip-end, .tooltip-end-start, .tooltip-end-end ) {
    &::before {
      inset-block-end: calc(100% + var(--tooltip-margin));
      left: 50%;
      transform: translateX(-50%);
    }
    &::after {
      inset-block-end: calc(100% + var(--tooltip-arrow-margin));
      inset-inline: 0;
      margin-inline: auto;
    }
  }
  .tooltip-top-left {
    &::before {
      inset-block-end: calc(100% + var(--tooltip-margin));
      left: 0;
    }
    &::after {
      inset-block-end: calc(100% + var(--tooltip-arrow-margin));
      left: var(--tooltip-margin);
    }
  }
  .tooltip-top-right {
    &::before {
      inset-block-end: calc(100% + var(--tooltip-margin));
      right: 0;
    }
    &::after {
      inset-block-end: calc(100% + var(--tooltip-arrow-margin));
      right: var(--tooltip-margin);
    }
  }
  .tooltip-top-start {
    &::before {
      inset-block-end: calc(100% + var(--tooltip-margin));
      inset-inline-start: 0;
    }
    &::after {
      inset-block-end: calc(100% + var(--tooltip-arrow-margin));
      inset-inline-start: var(--tooltip-margin);
    }
  }
  .tooltip-top-end {
    &::before {
      inset-block-end: calc(100% + var(--tooltip-margin));
      inset-inline-end: 0;
    }
    &::after {
      inset-block-end: calc(100% + var(--tooltip-arrow-margin));
      inset-inline-end: var(--tooltip-margin);
    }
  }
  .tooltip-bottom {
    &::before {
      inset-block-start: calc(100% + var(--tooltip-margin));
      left: 50%;
      transform: translateX(-50%);
    }
    &::after {
      inset-block-start: calc(100% + var(--tooltip-arrow-margin));
      inset-inline: 0;
      margin-inline: auto;
    }
  }
  .tooltip-bottom-left {
    &::before {
      inset-block-start: calc(100% + var(--tooltip-margin));
      left: 0;
    }
    &::after {
      inset-block-start: calc(100% + var(--tooltip-arrow-margin));
      left: var(--tooltip-margin);
    }
  }
  .tooltip-bottom-right {
    &::before {
      inset-block-start: calc(100% + var(--tooltip-margin));
      right: 0;
    }
    &::after {
      inset-block-start: calc(100% + var(--tooltip-arrow-margin));
      right: var(--tooltip-margin);
    }
  }
  .tooltip-bottom-start {
    &::before {
      inset-block-start: calc(100% + var(--tooltip-margin));
      inset-inline-start: 0;
    }
    &::after {
      inset-block-start: calc(100% + var(--tooltip-arrow-margin));
      inset-inline-start: var(--tooltip-margin);
    }
  }
  .tooltip-bottom-end {
    &::before {
      inset-block-start: calc(100% + var(--tooltip-margin));
      inset-inline-end: 0;
    }
    &::after {
      inset-block-start: calc(100% + var(--tooltip-arrow-margin));
      inset-inline-end: var(--tooltip-margin);
    }
  }
  .tooltip-left {
    &::before {
      right: calc(100% + var(--tooltip-margin));
      inset-block-start: 50%;
      transform: translateY(-50%);
    }
    &::after {
      right: calc(100% + var(--tooltip-arrow-margin));
      inset-block: 0;
      margin-block: auto;
    }
  }
  .tooltip-left-start {
    &::before {
      inset-block-start: 0;
      right: calc(100% + var(--tooltip-margin));
    }
    &::after {
      inset-block-start: var(--tooltip-arrow-margin);
      right: calc(100% + var(--tooltip-arrow-margin));
    }
  }
  .tooltip-left-end {
    &::before {
      inset-block-end: 0;
      right: calc(100% + var(--tooltip-margin));
    }
    &::after {
      inset-block-end: var(--tooltip-arrow-margin);
      right: calc(100% + var(--tooltip-arrow-margin));
    }
  }
  .tooltip-right {
    &::before {
      left: calc(100% + var(--tooltip-margin));
      inset-block-start: 50%;
      transform: translateY(-50%);
    }
    &::after {
      left: calc(100% + var(--tooltip-arrow-margin));
      inset-block: 0;
      margin-block: auto;
    }
  }
  .tooltip-right-start {
    &::before {
      inset-block-start: 0;
      left: calc(100% + var(--tooltip-margin));
    }
    &::after {
      inset-block-start: var(--tooltip-arrow-margin);
      left: calc(100% + var(--tooltip-arrow-margin));
    }
  }
  .tooltip-right-end {
    &::before {
      inset-block-end: 0;
      left: calc(100% + var(--tooltip-margin));
    }
    &::after {
      inset-block-end: var(--tooltip-arrow-margin);
      left: calc(100% + var(--tooltip-arrow-margin));
    }
  }
  .tooltip-start {
    &::before {
      inset-inline-end: calc(100% + var(--tooltip-margin));
      inset-block-start: 50%;
      transform: translateY(-50%);
    }
    &::after {
      inset-inline-end: calc(100% + var(--tooltip-arrow-margin));
      inset-block: 0;
      margin-block: auto;
    }
  }
  .tooltip-start-start {
    &::before {
      inset-block-start: 0;
      inset-inline-end: calc(100% + var(--tooltip-margin));
    }
    &::after {
      inset-block-start: var(--tooltip-arrow-margin);
      inset-inline-end: calc(100% + var(--tooltip-arrow-margin));
    }
  }
  .tooltip-start-end {
    &::before {
      inset-block-end: 0;
      inset-inline-end: calc(100% + var(--tooltip-margin));
    }
    &::after {
      inset-block-end: var(--tooltip-arrow-margin);
      inset-inline-end: calc(100% + var(--tooltip-arrow-margin));
    }
  }
  .tooltip-end {
    &::before {
      inset-inline-start: calc(100% + var(--tooltip-margin));
      inset-block-start: 50%;
      transform: translateY(-50%);
    }
    &::after {
      inset-inline-start: calc(100% + var(--tooltip-arrow-margin));
      inset-block: 0;
      margin-block: auto;
    }
  }
  .tooltip-end-start {
    &::before {
      inset-block-start: 0;
      inset-inline-start: calc(100% + var(--tooltip-margin));
    }
    &::after {
      inset-block-start: var(--tooltip-arrow-margin);
      inset-inline-start: calc(100% + var(--tooltip-arrow-margin));
    }
  }
  .tooltip-end-end {
    &::before {
      inset-block-end: 0;
      inset-inline-start: calc(100% + var(--tooltip-margin));
    }
    &::after {
      inset-block-end: var(--tooltip-arrow-margin);
      inset-inline-start: calc(100% + var(--tooltip-arrow-margin));
    }
  }
}
:root, [data-theme=light] {
  color-scheme: light;
  --color-base-background: var(--color-white);
  --color-base: var(--color-neutral-50);
  --color-base-airy: var(--color-neutral-100);
  --color-base-border: var(--color-neutral-200);
  --color-base-dense: var(--color-neutral-400);
  --color-base-foreground: var(--color-neutral-600);
  --color-primary: var(--color-neutral-700);
  --color-primary-content: var(--color-neutral-100);
  --color-accent: var(--color-blue-400);
  --color-accent-content: var(--color-blue-50);
  --color-danger: var(--color-red-600);
  --color-danger-content: var(--color-red-50);
  --color-warning: var(--color-amber-400);
  --color-warning-content: var(--color-amber-950);
  --color-success: var(--color-green-600);
  --color-success-content: var(--color-green-50);
  --border: 1px;
  --radius: 0.5rem;
}
[data-theme="dark"] {
  color-scheme: dark;
  --color-base-background: var(--color-slate-950);
  --color-base: var(--color-slate-900);
  --color-base-airy: var(--color-slate-800);
  --color-base-border: var(--color-slate-700);
  --color-base-dense: var(--color-slate-500);
  --color-base-foreground: var(--color-slate-300);
  --color-primary: var(--color-slate-500);
  --color-primary-content: var(--color-slate-200);
  --color-accent: var(--color-sky-600);
  --color-accent-content: var(--color-sky-200);
  --color-danger: var(--color-rose-700);
  --color-danger-content: var(--color-rose-200);
  --color-warning: var(--color-amber-600);
  --color-warning-content: var(--color-amber-200);
  --color-success: var(--color-emerald-600);
  --color-success-content: var(--color-emerald-200);
  --border: 1px;
  --radius: 0.5rem;
}
@layer utilities {
  .animate-spin-occilate {
    animation: spin-occilate 2.5s ease-in-out infinite;
  }
  @keyframes spin-occilate {
    0% {
      transform: rotate(0deg);
    }
    50% {
      transform: rotate(360deg);
    }
    100% {
      transform: rotate(0deg);
    }
  }
}
@layer utilities {
  .float {
    --float-spacing: calc(var(--spacing) * 8);
    display: block;
    opacity: 1;
    visibility: visible;
    margin: var(--float-spacing);
    transition-property: display, opacity, transform, visibility;
    transition-behavior: allow-discrete;
    transition-duration: var(--tt-duration, var(--default-transition-duration));
    transition-timing-function: var(--tt-ease-out, var(--default-transition-timing-function));
    input.float-close[type="radio"] {
      appearance: none;
      &::after {
        content: "";
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /></svg>');
        mask-repeat: no-repeat;
        mask-type: alpha;
        background-color: currentColor;
        block-size: calc(var(--spacing) * 5);
        inline-size: calc(var(--spacing) * 5);
      }
    }
    &:has(input[type="radio"]:checked) {
      display: none;
      opacity: 0;
      visibility: none;
    }
  }
  .float-shadow > * {
    box-shadow: var(--shadow-high);
  }
  .float-group {
    position: fixed;
    z-index: 51;
  }
  .float-top {
    inset-block-start: 0;
    left: 50%;
    transform: translateX(-50%);
    justify-items: center;
  }
  .float-top-left {
    inset-block-start: 0;
    left: 0;
    justify-items: left;
  }
  .float-top-right {
    inset-block-start: 0;
    right: 0;
    justify-items: right;
  }
  .float-top-start {
    inset-block-start: 0;
    inset-inline-start: 0;
    justify-items: start;
  }
  .float-top-end {
    inset-block-start: 0;
    inset-inline-end: 0;
    justify-items: end;
  }
  .float-bottom {
    inset-block-end: 0;
    left: 50%;
    transform: translateX(-50%);
    justify-items: center;
  }
  .float-bottom-left {
    inset-block-end: 0;
    left: 0;
    justify-items: left;
  }
  .float-bottom-right {
    inset-block-end: 0;
    right: 0;
    justify-items: right;
  }
  .float-bottom-start {
    inset-block-end: 0;
    inset-inline-start: 0;
    justify-items: start;
  }
  .float-bottom-end {
    inset-block-end: 0;
    inset-inline-end: 0;
    justify-items: end;
  }
}
@layer utilities {
  .join {
    display: flex;
    flex-wrap: nowrap;
    gap: calc(var(--spacing) * 0);
  }
  .join-fit {
    block-size: fit-content;
    inline-size: fit-content;
  }
  .join-row {
    flex-direction: row;
    & > :is(:first-child):not(:only-child) {
      &, > * {
        border-start-end-radius: 0;
        border-end-end-radius: 0;
      }
    }
    & > :is(:last-child):not(:only-child) {
      &, > * {
        border-start-start-radius: 0;
        border-end-start-radius: 0;
      }
    }
    & > :not(:first-child,:last-child,:only-child) {
      &, > * {
        border-radius: 0;
      }
    }
    & > :not(:first-child,:only-child) {
      &, > * {
        margin-inline-start: calc(var(--join-border-width) * -1);
      }
    }
  }
  .join-col {
    flex-direction: column;
    & > :is(:first-child):not(:only-child) {
      &, > * {
        border-end-start-radius: 0;
        border-end-end-radius: 0;
      }
    }
    & > :is(:last-child):not(:only-child) {
      &, > * {
        border-start-start-radius: 0;
        border-start-end-radius: 0;
      }
    }
    & > :not(:first-child,:last-child,:only-child) {
      &, > * {
        border-radius: 0;
      }
    }
    & > :not(:first-child,:only-child) {
      &, > * {
        margin-block-start: calc(var(--join-border-width) * -1);
      }
    }
  }
}
@layer utilities {
  .stack {
    display: grid;
    place-content: center;
    > * {
      grid-area: 1 / 1;
    }
  }
}
html {
  --font-inter: "Inter";
  font-family: var(--font-inter, var(--font-sans));
}
.bg-pattern-dots {
  background-image: radial-gradient(currentColor .5px, transparent .5px);
  @supports (color: color-mix(in lab, red, red)) {
    background-image: radial-gradient(color-mix(in oklab, currentColor, transparent 25%) .5px, transparent .5px);
  }
  background-size: calc(20 * .5px) calc(20 * .5px);
}
.bg-rrrepeat {
  background-image: url('../img/rrrepeat.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top right;
  background-color: color-mix(in srgb, #fff 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-base-background) 60%, transparent);
  }
  background-blend-mode: lighten;
}
pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em;
}
code.hljs {
  padding: 3px 5px;
}
.hljs {
  color: #e6e6e6;
  background: #2a2c2d;
}
.hljs-emphasis {
  font-style: italic;
}
.hljs-strong {
  font-weight: 700;
}
.hljs-link {
  text-decoration: underline;
}
.hljs-comment,.hljs-quote {
  color: #bbb;
  font-style: italic;
}
.hljs-params {
  color: #bbb;
}
.hljs-attr,.hljs-punctuation {
  color: #e6e6e6;
}
.hljs-meta,.hljs-name,.hljs-selector-tag {
  color: #ff4b82;
}
.hljs-char.escape_,.hljs-operator {
  color: #b084eb;
}
.hljs-deletion,.hljs-keyword {
  color: #ff75b5;
}
.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-variable.language_ {
  color: #ff9ac1;
}
.hljs-code,.hljs-formula,.hljs-property,.hljs-section,.hljs-subst,.hljs-title.function_ {
  color: #45a9f9;
}
.hljs-addition,.hljs-bullet,.hljs-meta .hljs-string,.hljs-selector-class,.hljs-string,.hljs-symbol,.hljs-title.class_,.hljs-title.class_.inherited__ {
  color: #19f9d8;
}
.hljs-attribute,.hljs-built_in,.hljs-doctag,.hljs-link,.hljs-literal,.hljs-meta .hljs-keyword,.hljs-number,.hljs-punctuation,.hljs-selector-id,.hljs-tag,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable {
  color: #ffb86c;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-text-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-text-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@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);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-text-shadow-color: initial;
      --tw-text-shadow-alpha: 100%;
    }
  }
}
