/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-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-scroll-snap-strictness: proximity;
      --tw-space-y-reverse: 0;
      --tw-space-x-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;
    }
  }
}

@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-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-orange-400: oklch(75% .183 55.934);
    --color-yellow-400: oklch(85.2% .199 91.936);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-green-300: oklch(87.1% .15 154.449);
    --color-green-400: oklch(79.2% .209 151.711);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-cyan-400: oklch(78.9% .154 211.53);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-950: oklch(13% .028 261.692);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-light: 300;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --drop-shadow-lg: 0 4px 4px #00000026;
    --drop-shadow-xl: 0 9px 7px #0000001a;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-xl: 24px;
    --blur-3xl: 64px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --animate-spin-slow: spin 20s linear infinite;
    --color-magenta-400: #e879f9;
    --color-magenta-500: #d946ef;
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    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;
    -webkit-text-decoration: 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 {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.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 {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :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)) {
      ::placeholder {
        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 {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  html {
    background: #000;
    font-family: Courier New, Courier, monospace;
  }

  :where(:root), :root:has(input.theme-controller[value="light"]:checked), [data-theme="light"] {
    color-scheme: light;
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(98% 0 0);
    --color-base-300: oklch(95% 0 0);
    --color-base-content: oklch(21% .006 285.885);
    --color-primary: oklch(45% .24 277.023);
    --color-primary-content: oklch(93% .034 272.788);
    --color-secondary: oklch(65% .241 354.308);
    --color-secondary-content: oklch(94% .028 342.258);
    --color-accent: oklch(77% .152 181.912);
    --color-accent-content: oklch(38% .063 188.416);
    --color-neutral: oklch(14% .005 285.823);
    --color-neutral-content: oklch(92% .004 286.32);
    --color-info: oklch(74% .16 232.661);
    --color-info-content: oklch(29% .066 243.157);
    --color-success: oklch(76% .177 163.223);
    --color-success-content: oklch(37% .077 168.94);
    --color-warning: oklch(82% .189 84.429);
    --color-warning-content: oklch(41% .112 45.904);
    --color-error: oklch(71% .194 13.428);
    --color-error-content: oklch(27% .105 12.094);
    --radius-selector: .5rem;
    --radius-field: .25rem;
    --radius-box: .5rem;
    --size-selector: .25rem;
    --size-field: .25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }

  @media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
      color-scheme: dark;
      --color-base-100: oklch(25.33% .016 252.42);
      --color-base-200: oklch(23.26% .014 253.1);
      --color-base-300: oklch(21.15% .012 254.09);
      --color-base-content: oklch(97.807% .029 256.847);
      --color-primary: oklch(58% .233 277.117);
      --color-primary-content: oklch(96% .018 272.314);
      --color-secondary: oklch(65% .241 354.308);
      --color-secondary-content: oklch(94% .028 342.258);
      --color-accent: oklch(77% .152 181.912);
      --color-accent-content: oklch(38% .063 188.416);
      --color-neutral: oklch(14% .005 285.823);
      --color-neutral-content: oklch(92% .004 286.32);
      --color-info: oklch(74% .16 232.661);
      --color-info-content: oklch(29% .066 243.157);
      --color-success: oklch(76% .177 163.223);
      --color-success-content: oklch(37% .077 168.94);
      --color-warning: oklch(82% .189 84.429);
      --color-warning-content: oklch(41% .112 45.904);
      --color-error: oklch(71% .194 13.428);
      --color-error-content: oklch(27% .105 12.094);
      --radius-selector: .5rem;
      --radius-field: .25rem;
      --radius-box: .5rem;
      --size-selector: .25rem;
      --size-field: .25rem;
      --border: 1px;
      --depth: 1;
      --noise: 0;
    }
  }

  :root:has(input.theme-controller[value="light"]:checked), [data-theme="light"] {
    color-scheme: light;
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(98% 0 0);
    --color-base-300: oklch(95% 0 0);
    --color-base-content: oklch(21% .006 285.885);
    --color-primary: oklch(45% .24 277.023);
    --color-primary-content: oklch(93% .034 272.788);
    --color-secondary: oklch(65% .241 354.308);
    --color-secondary-content: oklch(94% .028 342.258);
    --color-accent: oklch(77% .152 181.912);
    --color-accent-content: oklch(38% .063 188.416);
    --color-neutral: oklch(14% .005 285.823);
    --color-neutral-content: oklch(92% .004 286.32);
    --color-info: oklch(74% .16 232.661);
    --color-info-content: oklch(29% .066 243.157);
    --color-success: oklch(76% .177 163.223);
    --color-success-content: oklch(37% .077 168.94);
    --color-warning: oklch(82% .189 84.429);
    --color-warning-content: oklch(41% .112 45.904);
    --color-error: oklch(71% .194 13.428);
    --color-error-content: oklch(27% .105 12.094);
    --radius-selector: .5rem;
    --radius-field: .25rem;
    --radius-box: .5rem;
    --size-selector: .25rem;
    --size-field: .25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }

  :root:has(input.theme-controller[value="dark"]:checked), [data-theme="dark"] {
    color-scheme: dark;
    --color-base-100: oklch(25.33% .016 252.42);
    --color-base-200: oklch(23.26% .014 253.1);
    --color-base-300: oklch(21.15% .012 254.09);
    --color-base-content: oklch(97.807% .029 256.847);
    --color-primary: oklch(58% .233 277.117);
    --color-primary-content: oklch(96% .018 272.314);
    --color-secondary: oklch(65% .241 354.308);
    --color-secondary-content: oklch(94% .028 342.258);
    --color-accent: oklch(77% .152 181.912);
    --color-accent-content: oklch(38% .063 188.416);
    --color-neutral: oklch(14% .005 285.823);
    --color-neutral-content: oklch(92% .004 286.32);
    --color-info: oklch(74% .16 232.661);
    --color-info-content: oklch(29% .066 243.157);
    --color-success: oklch(76% .177 163.223);
    --color-success-content: oklch(37% .077 168.94);
    --color-warning: oklch(82% .189 84.429);
    --color-warning-content: oklch(41% .112 45.904);
    --color-error: oklch(71% .194 13.428);
    --color-error-content: oklch(27% .105 12.094);
    --radius-selector: .5rem;
    --radius-field: .25rem;
    --radius-box: .5rem;
    --size-selector: .25rem;
    --size-field: .25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }

  :root {
    --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");
    scrollbar-color: currentColor #0000;
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root {
      scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;
    }
  }

  @property --radialprogress {
    syntax: "<percentage>"; inherits: true; initial-value: 0%;
  }

  :root:not(span) {
    overflow: var(--page-overflow);
  }

  :root {
    background: var(--page-scroll-bg, var(--root-bg));
    --page-scroll-bg-on: linear-gradient(var(--root-bg, #0000), var(--root-bg, #0000)) var(--root-bg, #0000);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root {
      --page-scroll-bg-on: linear-gradient(var(--root-bg, #0000), var(--root-bg, #0000)) color-mix(in srgb, var(--root-bg, #0000), oklch(0% 0 0) calc(var(--page-has-backdrop, 0) * 40%));
    }
  }

  :root {
    --page-scroll-transition-on: background-color .3s ease-out;
    transition: var(--page-scroll-transition);
    scrollbar-gutter: var(--page-scroll-gutter, unset);
    scrollbar-gutter: if(style(--page-has-scroll: 1) : var(--page-scroll-gutter, unset) ; else: unset);
  }

  @keyframes set-page-has-scroll {
    0%, to {
      --page-has-scroll: 1;
    }
  }

  :root, [data-theme] {
    background: var(--page-scroll-bg, var(--root-bg));
    color: var(--color-base-content);
  }

  :where(:root, [data-theme]) {
    --root-bg: var(--color-base-100);
  }
}

@layer components;

@layer utilities {
  @layer daisyui.l1.l2.l3 {
    .modal {
      pointer-events: none;
      visibility: hidden;
      width: 100%;
      max-width: none;
      height: 100%;
      max-height: none;
      color: inherit;
      transition: visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;
      overscroll-behavior: contain;
      z-index: 999;
      scrollbar-gutter: auto;
      background-color: #0000;
      place-items: center;
      margin: 0;
      padding: 0;
      display: grid;
      position: fixed;
      inset: 0;
      overflow: clip;
    }

    .modal::backdrop {
      display: none;
    }

    :where(.drawer-side) {
      overflow: hidden;
    }

    .drawer-side {
      pointer-events: none;
      visibility: hidden;
      z-index: 10;
      overscroll-behavior: contain;
      opacity: 0;
      width: 100%;
      transition: opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;
      inset-inline-start: 0;
      background-color: #0000;
      grid-template-rows: repeat(1, minmax(0, 1fr));
      grid-template-columns: repeat(1, minmax(0, 1fr));
      grid-row-start: 1;
      grid-column-start: 1;
      place-items: flex-start start;
      height: 100dvh;
      display: grid;
      position: fixed;
      top: 0;
    }

    .drawer-side > .drawer-overlay {
      cursor: pointer;
      background-color: oklch(0% 0 0 / .4);
      place-self: stretch stretch;
      position: sticky;
      top: 0;
    }

    .drawer-side > * {
      grid-row-start: 1;
      grid-column-start: 1;
    }

    .drawer-side > :not(.drawer-overlay) {
      will-change: transform;
      transition: translate .3s ease-out, width .2s ease-out;
      translate: -100%;
    }

    [dir="rtl"] :is(.drawer-side > :not(.drawer-overlay)) {
      translate: 100%;
    }

    .drawer-toggle {
      appearance: none;
      opacity: 0;
      width: 0;
      height: 0;
      position: fixed;
    }

    :where(.drawer-toggle:checked ~ .drawer-side) {
      scrollbar-color: currentColor oklch(0 0 0 / calc(var(--page-has-backdrop, 0) * .4));
    }

    @supports (color: color-mix(in lab, red, red)) {
      :where(.drawer-toggle:checked ~ .drawer-side) {
        scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop, 0) * .4));
      }
    }

    :where(:root:has(.drawer-toggle:checked)) {
      --page-has-backdrop: 1;
      --page-overflow: hidden;
      --page-scroll-bg: var(--page-scroll-bg-on);
      --page-scroll-gutter: stable;
      --page-scroll-transition: var(--page-scroll-transition-on);
      animation: forwards set-page-has-scroll;
      animation-timeline: scroll();
    }

    .tooltip {
      --tt-bg: var(--color-neutral);
      --tt-off: calc(100% + .5rem);
      --tt-tail: calc(100% + 1px + .25rem);
      display: inline-block;
      position: relative;
    }

    .tooltip > .tooltip-content, .tooltip[data-tip]:before {
      border-radius: var(--radius-field);
      text-align: center;
      white-space: normal;
      max-width: 20rem;
      color: var(--color-neutral-content);
      opacity: 0;
      background-color: var(--tt-bg);
      pointer-events: none;
      z-index: 2;
      --tw-content: attr(data-tip);
      content: var(--tw-content);
      width: max-content;
      padding-block: .25rem;
      padding-inline: .5rem;
      font-size: .875rem;
      line-height: 1.25;
      position: absolute;
    }

    .tooltip:after {
      opacity: 0;
      background-color: var(--tt-bg);
      content: "";
      pointer-events: none;
      --mask-tooltip: url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");
      width: .625rem;
      height: .25rem;
      -webkit-mask-position: -1px 0;
      mask-position: -1px 0;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-image: var(--mask-tooltip);
      -webkit-mask-image: var(--mask-tooltip);
      mask-image: var(--mask-tooltip);
      display: block;
      position: absolute;
    }

    @media (prefers-reduced-motion: no-preference) {
      .tooltip > .tooltip-content, .tooltip[data-tip]:before, .tooltip:after {
        transition: opacity .2s cubic-bezier(.4, 0, .2, 1) 75ms, transform .2s cubic-bezier(.4, 0, .2, 1) 75ms;
      }
    }

    :is(.tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))).tooltip-open, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):hover, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):has(:focus-visible)) > .tooltip-content, :is(.tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))).tooltip-open, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):hover, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before, :is(.tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))).tooltip-open, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):hover, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):has(:focus-visible)):after {
      opacity: 1;
      --tt-pos: 0rem;
    }

    @media (prefers-reduced-motion: no-preference) {
      :is(.tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))).tooltip-open, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):hover, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):has(:focus-visible)) > .tooltip-content, :is(.tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))).tooltip-open, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):hover, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before, :is(.tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))).tooltip-open, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):hover, .tooltip:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))):has(:focus-visible)):after {
        transition: opacity .2s cubic-bezier(.4, 0, .2, 1), transform .2s cubic-bezier(.4, 0, .2, 1);
      }
    }

    .menu {
      --menu-active-fg: var(--color-neutral-content);
      --menu-active-bg: var(--color-neutral);
      flex-flow: column wrap;
      width: fit-content;
      padding: .5rem;
      font-size: .875rem;
      display: flex;
    }

    .menu :where(li ul) {
      white-space: nowrap;
      margin-inline-start: 1rem;
      padding-inline-start: .5rem;
      position: relative;
    }

    .menu :where(li ul):before {
      background-color: var(--color-base-content);
      opacity: .1;
      width: var(--border);
      content: "";
      inset-inline-start: 0;
      position: absolute;
      top: .75rem;
      bottom: .75rem;
    }

    .menu :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
      display: none;
    }

    .menu :where(li:not(.menu-title) > :not(ul, details, .menu-title, .btn)), .menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
      border-radius: var(--radius-field);
      text-align: start;
      text-wrap: balance;
      -webkit-user-select: none;
      user-select: none;
      grid-auto-columns: minmax(auto, max-content) auto max-content;
      grid-auto-flow: column;
      align-content: flex-start;
      align-items: center;
      gap: .5rem;
      padding-block: .375rem;
      padding-inline: .75rem;
      transition-property: color, background-color, box-shadow;
      transition-duration: .2s;
      transition-timing-function: cubic-bezier(0, 0, .2, 1);
      display: grid;
    }

    .menu :where(li > details > summary) {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .menu :where(li > details > summary) {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .menu :where(li > details > summary)::-webkit-details-marker {
      display: none;
    }

    :is(.menu :where(li > details > summary), .menu :where(li > .menu-dropdown-toggle)):after {
      content: "";
      transform-origin: 50%;
      pointer-events: none;
      justify-self: flex-end;
      width: .375rem;
      height: .375rem;
      transition-property: rotate, translate;
      transition-duration: .2s;
      display: block;
      translate: 0 -1px;
      rotate: -135deg;
      box-shadow: inset 2px 2px;
    }

    .menu details {
      interpolate-size: allow-keywords;
      overflow: hidden;
    }

    .menu details::details-content {
      block-size: 0;
    }

    @media (prefers-reduced-motion: no-preference) {
      .menu details::details-content {
        transition-behavior: allow-discrete;
        transition-property: block-size, content-visibility;
        transition-duration: .2s;
        transition-timing-function: cubic-bezier(0, 0, .2, 1);
      }
    }

    .menu details[open]::details-content {
      block-size: auto;
    }

    .menu :where(li > details[open] > summary):after, .menu :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
      translate: 0 1px;
      rotate: 45deg;
    }

    .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.menu-active, :active, .btn).menu-focus, .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.menu-active, :active, .btn):focus-visible {
      cursor: pointer;
      background-color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.menu-active, :active, .btn).menu-focus, .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.menu-active, :active, .btn):focus-visible {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
      }
    }

    .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.menu-active, :active, .btn).menu-focus, .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.menu-active, :active, .btn):focus-visible {
      color: var(--color-base-content);
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.menu-active, :active, .btn).menu-focus, .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.menu-active, :active, .btn):focus-visible {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover) {
      cursor: pointer;
      background-color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover) {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
      }
    }

    .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover) {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover) {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .menu :where(li:not(.menu-title, .disabled) > :not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover) {
      box-shadow: inset 0 1px oklch(0% 0 0 / .01), inset 0 -1px oklch(100% 0 0 / .01);
    }

    .menu :where(li:empty) {
      background-color: var(--color-base-content);
      opacity: .1;
      height: 1px;
      margin: .5rem 1rem;
    }

    .menu :where(li) {
      flex-flow: column wrap;
      flex-shrink: 0;
      align-items: stretch;
      display: flex;
      position: relative;
    }

    .menu :where(li) .badge {
      justify-self: flex-end;
    }

    .menu :where(li) > :not(ul, .menu-title, details, .btn):active, .menu :where(li) > :not(ul, .menu-title, details, .btn).menu-active, .menu :where(li) > details > summary:active {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .menu :where(li) > :not(ul, .menu-title, details, .btn):active, .menu :where(li) > :not(ul, .menu-title, details, .btn).menu-active, .menu :where(li) > details > summary:active {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .menu :where(li) > :not(ul, .menu-title, details, .btn):active, .menu :where(li) > :not(ul, .menu-title, details, .btn).menu-active, .menu :where(li) > details > summary:active {
      color: var(--menu-active-fg);
      background-color: var(--menu-active-bg);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
    }

    :is(.menu :where(li) > :not(ul, .menu-title, details, .btn):active, .menu :where(li) > :not(ul, .menu-title, details, .btn).menu-active, .menu :where(li) > details > summary:active):not(:is(.menu :where(li) > :not(ul, .menu-title, details, .btn):active, .menu :where(li) > :not(ul, .menu-title, details, .btn).menu-active, .menu :where(li) > details > summary:active):active) {
      box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);
    }

    .menu :where(li).menu-disabled {
      pointer-events: none;
      color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .menu :where(li).menu-disabled {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
    }

    .menu .dropdown:focus-within .menu-dropdown-toggle:after {
      translate: 0 1px;
      rotate: 45deg;
    }

    .menu .dropdown-content {
      margin-top: .5rem;
      padding: .5rem;
    }

    .menu .dropdown-content:before {
      display: none;
    }

    :where(.btn) {
      width: unset;
    }

    .btn {
      cursor: pointer;
      text-align: center;
      vertical-align: middle;
      outline-offset: 2px;
      webkit-user-select: none;
      -webkit-user-select: none;
      user-select: none;
      padding-inline: var(--btn-p);
      color: var(--btn-fg);
      --tw-prose-links: var(--btn-fg);
      height: var(--size);
      font-size: var(--fontsize, .875rem);
      outline-color: var(--btn-color, var(--color-base-content));
      background-color: var(--btn-bg);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--btn-noise);
      border-width: var(--border);
      border-style: solid;
      border-color: var(--btn-border);
      text-shadow: 0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));
      touch-action: manipulation;
      box-shadow: 0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
      --size: calc(var(--size-field, .25rem) * 10);
      --btn-bg: var(--btn-color, var(--color-base-200));
      --btn-fg: var(--color-base-content);
      --btn-p: 1rem;
      --btn-border: var(--btn-bg);
      border-start-start-radius: var(--join-ss, var(--radius-field));
      border-start-end-radius: var(--join-se, var(--radius-field));
      border-end-end-radius: var(--join-ee, var(--radius-field));
      border-end-start-radius: var(--join-es, var(--radius-field));
      flex-wrap: nowrap;
      flex-shrink: 0;
      justify-content: center;
      align-items: center;
      gap: .375rem;
      font-weight: 600;
      transition-property: color, background-color, border-color, box-shadow;
      transition-duration: .2s;
      transition-timing-function: cubic-bezier(0, 0, .2, 1);
      display: inline-flex;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .btn {
        --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
      }
    }

    .btn {
      --btn-shadow: 0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .btn {
        --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
      }
    }

    .btn {
      --btn-noise: var(--fx-noise);
    }

    @media (hover: hover) {
      .btn:hover {
        --btn-bg: var(--btn-color, var(--color-base-200));
      }

      @supports (color: color-mix(in lab, red, red)) {
        .btn:hover {
          --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
        }
      }
    }

    .btn:focus-visible, .btn:has(:focus-visible) {
      isolation: isolate;
      outline-width: 2px;
      outline-style: solid;
    }

    .btn:active:not(.btn-active) {
      --btn-bg: var(--btn-color, var(--color-base-200));
      translate: 0 .5px;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .btn:active:not(.btn-active) {
        --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
      }
    }

    .btn:active:not(.btn-active) {
      --btn-border: var(--btn-color, var(--color-base-200));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .btn:active:not(.btn-active) {
        --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
      }
    }

    .btn:active:not(.btn-active) {
      --btn-shadow: 0 0 0 0 oklch(0% 0 0 / 0), 0 0 0 0 oklch(0% 0 0 / 0);
    }

    .btn:is(input[type="checkbox"], input[type="radio"]) {
      appearance: none;
    }

    .btn:is(input[type="checkbox"], input[type="radio"])[aria-label]:after {
      --tw-content: attr(aria-label);
      content: var(--tw-content);
    }

    .btn:where(input:checked:not(.filter .btn)) {
      --btn-color: var(--color-primary);
      --btn-fg: var(--color-primary-content);
      isolation: isolate;
    }

    .loading {
      pointer-events: none;
      aspect-ratio: 1;
      vertical-align: middle;
      width: calc(var(--size-selector, .25rem) * 6);
      background-color: currentColor;
      display: inline-block;
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
      -webkit-mask-position: center;
      mask-position: center;
      -webkit-mask-size: 100%;
      mask-size: 100%;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
    }

    .list {
      flex-direction: column;
      font-size: .875rem;
      display: flex;
    }

    .list .list-row {
      --list-grid-cols: minmax(0, auto) 1fr;
      border-radius: var(--radius-box);
      word-break: break-word;
      grid-auto-flow: column;
      grid-template-columns: var(--list-grid-cols);
      gap: 1rem;
      padding: 1rem;
      display: grid;
      position: relative;
    }

    :is(.list > :not(:last-child).list-row, .list > :not(:last-child) .list-row):after {
      content: "";
      border-bottom: var(--border) solid;
      inset-inline: var(--radius-box);
      border-color: var(--color-base-content);
      position: absolute;
      bottom: 0;
    }

    @supports (color: color-mix(in lab, red, red)) {
      :is(.list > :not(:last-child).list-row, .list > :not(:last-child) .list-row):after {
        border-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
      }
    }

    .input {
      cursor: text;
      border: var(--border) solid #0000;
      appearance: none;
      background-color: var(--color-base-100);
      vertical-align: middle;
      white-space: nowrap;
      width: clamp(3rem, 20rem, 100%);
      height: var(--size);
      font-size: max(var(--font-size, .875rem), .875rem);
      touch-action: manipulation;
      border-color: var(--input-color);
      box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;
      border-start-start-radius: var(--join-ss, var(--radius-field));
      border-start-end-radius: var(--join-se, var(--radius-field));
      border-end-end-radius: var(--join-ee, var(--radius-field));
      border-end-start-radius: var(--join-es, var(--radius-field));
      flex-shrink: 1;
      align-items: center;
      gap: .5rem;
      padding-inline: .75rem;
      display: inline-flex;
      position: relative;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .input {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;
      }
    }

    .input {
      --size: calc(var(--size-field, .25rem) * 10);
      --input-color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .input {
        --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
      }
    }

    .input:where(input) {
      display: inline-flex;
    }

    .input :where(input) {
      appearance: none;
      background-color: #0000;
      border: none;
      width: 100%;
      height: 100%;
      display: inline-flex;
    }

    .input :where(input):focus, .input :where(input):focus-within {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .input :where(input):focus, .input :where(input):focus-within {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .input :where(input[type="url"]), .input :where(input[type="email"]) {
      direction: ltr;
    }

    .input :where(input[type="date"]) {
      display: inline-flex;
    }

    .input:focus, .input:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px var(--input-color);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .input:focus, .input:focus-within {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      }
    }

    .input:focus, .input:focus-within {
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
    }

    @media (pointer: coarse) {
      @supports (-webkit-touch-callout: none) {
        .input:focus, .input:focus-within {
          --font-size: 1rem;
        }
      }
    }

    .input:has( > input[disabled]), .input:is(:disabled, [disabled]), fieldset:disabled .input {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .input:has( > input[disabled]), .input:is(:disabled, [disabled]), fieldset:disabled .input {
        color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      }
    }

    :is(.input:has( > input[disabled]), .input:is(:disabled, [disabled]), fieldset:disabled .input)::placeholder {
      color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      :is(.input:has( > input[disabled]), .input:is(:disabled, [disabled]), fieldset:disabled .input)::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
    }

    .input:has( > input[disabled]), .input:is(:disabled, [disabled]), fieldset:disabled .input {
      box-shadow: none;
    }

    .input:has( > input[disabled]) > input[disabled] {
      cursor: not-allowed;
    }

    .input::-webkit-date-and-time-value {
      text-align: inherit;
    }

    .input[type="number"]::-webkit-inner-spin-button {
      margin-block: -.75rem;
      margin-inline-end: -.75rem;
    }

    .input::-webkit-calendar-picker-indicator {
      position: absolute;
      inset-inline-end: .75em;
    }

    .input:has( > input[type="date"]) :where(input[type="date"]) {
      webkit-appearance: none;
      appearance: none;
      display: inline-flex;
    }

    .input:has( > input[type="date"]) input[type="date"]::-webkit-calendar-picker-indicator {
      cursor: pointer;
      width: 1em;
      height: 1em;
      position: absolute;
      inset-inline-end: .75em;
    }

    .table {
      border-collapse: separate;
      --tw-border-spacing-x: calc(.25rem * 0);
      --tw-border-spacing-y: calc(.25rem * 0);
      width: 100%;
      border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
      border-radius: var(--radius-box);
      text-align: left;
      font-size: .875rem;
      position: relative;
    }

    .table:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      text-align: right;
    }

    @media (hover: hover) {
      :is(.table tr.row-hover, .table tr.row-hover:nth-child(2n)):hover {
        background-color: var(--color-base-200);
      }
    }

    .table :where(th, td) {
      vertical-align: middle;
      padding-block: .75rem;
      padding-inline: 1rem;
    }

    .table :where(thead, tfoot) {
      white-space: nowrap;
      color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .table :where(thead, tfoot) {
        color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
      }
    }

    .table :where(thead, tfoot) {
      font-size: .875rem;
      font-weight: 600;
    }

    .table :where(tfoot tr:first-child :is(td, th)) {
      border-top: var(--border) solid var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .table :where(tfoot tr:first-child :is(td, th)) {
        border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
      }
    }

    .table :where(.table-pin-rows thead tr) {
      z-index: 1;
      background-color: var(--color-base-100);
      position: sticky;
      top: 0;
    }

    .table :where(.table-pin-rows tfoot tr) {
      z-index: 1;
      background-color: var(--color-base-100);
      position: sticky;
      bottom: 0;
    }

    .table :where(.table-pin-cols tr th) {
      background-color: var(--color-base-100);
      position: sticky;
      left: 0;
      right: 0;
    }

    .table :where(thead tr :is(td, th), tbody tr:not(:last-child) :is(td, th)) {
      border-bottom: var(--border) solid var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .table :where(thead tr :is(td, th), tbody tr:not(:last-child) :is(td, th)) {
        border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
      }
    }

    .range {
      appearance: none;
      webkit-appearance: none;
      --range-thumb: var(--color-base-100);
      --range-thumb-size: calc(var(--size-selector, .25rem) * 6);
      --range-progress: currentColor;
      --range-fill: 1;
      --range-p: .25rem;
      --range-bg: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .range {
        --range-bg: color-mix(in oklab, currentColor 10%, #0000);
      }
    }

    .range {
      cursor: pointer;
      vertical-align: middle;
      --radius-selector-max: calc(var(--radius-selector)  + var(--radius-selector)  + var(--radius-selector));
      border-radius: calc(var(--radius-selector)  + min(var(--range-p), var(--radius-selector-max)));
      width: clamp(3rem, 20rem, 100%);
      height: var(--range-thumb-size);
      background-color: #0000;
      border: none;
      overflow: hidden;
    }

    [dir="rtl"] .range {
      --range-dir: -1;
    }

    .range:focus {
      outline: none;
    }

    .range:focus-visible {
      outline-offset: 2px;
      outline: 2px solid;
    }

    .range::-webkit-slider-runnable-track {
      background-color: var(--range-bg);
      border-radius: var(--radius-selector);
      width: 100%;
      height: calc(var(--range-thumb-size) * .5);
    }

    @media (forced-colors: active) {
      .range::-webkit-slider-runnable-track {
        border: 1px solid;
      }

      .range::-moz-range-track {
        border: 1px solid;
      }
    }

    .range::-webkit-slider-thumb {
      box-sizing: border-box;
      border-radius: calc(var(--radius-selector)  + min(var(--range-p), var(--radius-selector-max)));
      background-color: var(--range-thumb);
      height: var(--range-thumb-size);
      width: var(--range-thumb-size);
      border: var(--range-p) solid;
      appearance: none;
      webkit-appearance: none;
      color: var(--range-progress);
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw)  - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
      position: relative;
      top: 50%;
      transform: translateY(-50%);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .range::-webkit-slider-thumb {
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw)  - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
      }
    }

    .range::-moz-range-track {
      background-color: var(--range-bg);
      border-radius: var(--radius-selector);
      width: 100%;
      height: calc(var(--range-thumb-size) * .5);
    }

    .range::-moz-range-thumb {
      box-sizing: border-box;
      border-radius: calc(var(--radius-selector)  + min(var(--range-p), var(--radius-selector-max)));
      height: var(--range-thumb-size);
      width: var(--range-thumb-size);
      border: var(--range-p) solid;
      color: var(--range-progress);
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw)  - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
      background-color: currentColor;
      position: relative;
      top: 50%;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .range::-moz-range-thumb {
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw)  - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
      }
    }

    .range:disabled {
      cursor: not-allowed;
      opacity: .3;
    }

    .select {
      border: var(--border) solid #0000;
      appearance: none;
      background-color: var(--color-base-100);
      vertical-align: middle;
      width: clamp(3rem, 20rem, 100%);
      height: var(--size);
      touch-action: manipulation;
      white-space: nowrap;
      text-overflow: ellipsis;
      box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;
      background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);
      background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%);
      background-repeat: no-repeat;
      background-size: 4px 4px, 4px 4px;
      border-start-start-radius: var(--join-ss, var(--radius-field));
      border-start-end-radius: var(--join-se, var(--radius-field));
      border-end-end-radius: var(--join-ee, var(--radius-field));
      border-end-start-radius: var(--join-es, var(--radius-field));
      flex-shrink: 1;
      align-items: center;
      gap: .375rem;
      padding-inline: .75rem 1.75rem;
      font-size: .875rem;
      display: inline-flex;
      position: relative;
      overflow: hidden;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .select {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;
      }
    }

    .select {
      border-color: var(--input-color);
      --input-color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .select {
        --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
      }
    }

    .select {
      --size: calc(var(--size-field, .25rem) * 10);
    }

    [dir="rtl"] .select {
      background-position: 12px calc(1px + 50%), 16px calc(1px + 50%);
    }

    [dir="rtl"] .select::picker(select) {
      translate: .5rem;
    }

    [dir="rtl"] .select select::picker(select) {
      translate: .5rem;
    }

    .select[multiple] {
      background-image: none;
      height: auto;
      padding-block: .75rem;
      padding-inline-end: .75rem;
      overflow: auto;
    }

    .select select {
      appearance: none;
      width: calc(100% + 2.75rem);
      height: calc(100% - calc(var(--border) * 2));
      background: inherit;
      border-radius: inherit;
      border-style: none;
      align-items: center;
      margin-inline: -.75rem -1.75rem;
      padding-inline: .75rem 1.75rem;
    }

    .select select:focus, .select select:focus-within {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .select select:focus, .select select:focus-within {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .select select:not(:last-child) {
      background-image: none;
      margin-inline-end: -1.375rem;
    }

    .select:focus, .select:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px var(--input-color);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .select:focus, .select:focus-within {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      }
    }

    .select:focus, .select:focus-within {
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
    }

    .select:has( > select[disabled]), .select:is(:disabled, [disabled]), fieldset:disabled .select {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .select:has( > select[disabled]), .select:is(:disabled, [disabled]), fieldset:disabled .select {
        color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      }
    }

    :is(.select:has( > select[disabled]), .select:is(:disabled, [disabled]), fieldset:disabled .select)::placeholder {
      color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      :is(.select:has( > select[disabled]), .select:is(:disabled, [disabled]), fieldset:disabled .select)::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
    }

    .select:has( > select[disabled]) > select[disabled] {
      cursor: not-allowed;
    }

    @supports (appearance: base-select) {
      .select, .select select {
        appearance: base-select;
      }

      :is(.select, .select select)::picker(select) {
        appearance: base-select;
      }
    }

    :is(.select, .select select)::picker(select) {
      color: inherit;
      border: var(--border) solid var(--color-base-200);
      border-radius: var(--radius-box);
      background-color: inherit;
      max-height: min(24rem, 70dvh);
      box-shadow: 0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0 / .2);
      box-shadow: 0 20px 25px -5px rgb(0 0 0 / calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0 / calc(var(--depth) * .1));
      margin-block: .5rem;
      margin-inline: .5rem;
      padding: .5rem;
      translate: -.5rem;
    }

    :is(.select, .select select)::picker-icon {
      display: none;
    }

    :is(.select, .select select) optgroup {
      padding-top: .5em;
    }

    :is(.select, .select select) optgroup option:first-child {
      margin-top: .5em;
    }

    :is(.select, .select select) option {
      border-radius: var(--radius-field);
      white-space: normal;
      padding-block: .375rem;
      padding-inline: .75rem;
      transition-property: color, background-color;
      transition-duration: .2s;
      transition-timing-function: cubic-bezier(0, 0, .2, 1);
    }

    :is(.select, .select select) option:not(:disabled):hover, :is(.select, .select select) option:not(:disabled):focus-visible {
      cursor: pointer;
      background-color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      :is(.select, .select select) option:not(:disabled):hover, :is(.select, .select select) option:not(:disabled):focus-visible {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
      }
    }

    :is(.select, .select select) option:not(:disabled):hover, :is(.select, .select select) option:not(:disabled):focus-visible {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      :is(.select, .select select) option:not(:disabled):hover, :is(.select, .select select) option:not(:disabled):focus-visible {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    :is(.select, .select select) option:not(:disabled):active {
      background-color: var(--color-neutral);
      color: var(--color-neutral-content);
      box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--color-neutral);
    }

    .timeline {
      display: flex;
      position: relative;
    }

    .timeline > li {
      grid-template-rows: var(--timeline-row-start, minmax(0, 1fr)) auto var(--timeline-row-end, minmax(0, 1fr));
      grid-template-columns: var(--timeline-col-start, minmax(0, 1fr)) auto var(--timeline-col-end, minmax(0, 1fr));
      flex-shrink: 0;
      align-items: center;
      display: grid;
      position: relative;
    }

    .timeline > li > hr {
      border: none;
      width: 100%;
    }

    .timeline > li > hr:first-child {
      grid-row-start: 2;
      grid-column-start: 1;
    }

    .timeline > li > hr:last-child {
      grid-area: 2 / 3 / auto / none;
    }

    @media print {
      .timeline > li > hr {
        border: .1px solid var(--color-base-300);
      }
    }

    .timeline :where(hr) {
      background-color: var(--color-base-300);
      height: .25rem;
    }

    .timeline:has(.timeline-middle hr):first-child {
      border-start-start-radius: 0;
      border-start-end-radius: var(--radius-selector);
      border-end-end-radius: var(--radius-selector);
      border-end-start-radius: 0;
    }

    .timeline:has(.timeline-middle hr):last-child, .timeline:not(:has(.timeline-middle)) :first-child hr:last-child {
      border-start-start-radius: var(--radius-selector);
      border-start-end-radius: 0;
      border-end-end-radius: 0;
      border-end-start-radius: var(--radius-selector);
    }

    .timeline:not(:has(.timeline-middle)) :last-child hr:first-child {
      border-start-start-radius: 0;
      border-start-end-radius: var(--radius-selector);
      border-end-end-radius: var(--radius-selector);
      border-end-start-radius: 0;
    }

    .avatar {
      vertical-align: middle;
      display: inline-flex;
      position: relative;
    }

    .avatar > div {
      aspect-ratio: 1;
      display: block;
      overflow: hidden;
    }

    .avatar img {
      object-fit: cover;
      width: 100%;
      height: 100%;
    }

    .checkbox {
      border: var(--border) solid var(--input-color, var(--color-base-content));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .checkbox {
        border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));
      }
    }

    .checkbox {
      cursor: pointer;
      appearance: none;
      border-radius: var(--radius-selector);
      vertical-align: middle;
      color: var(--color-base-content);
      box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;
      --size: calc(var(--size-selector, .25rem) * 6);
      width: var(--size);
      height: var(--size);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
      flex-shrink: 0;
      padding: .25rem;
      transition: background-color .2s, box-shadow .2s;
      display: inline-block;
      position: relative;
    }

    .checkbox:before {
      --tw-content: "";
      content: var(--tw-content);
      opacity: 0;
      clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
      width: 100%;
      height: 100%;
      box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;
      background-color: currentColor;
      font-size: 1rem;
      line-height: .75;
      transition: clip-path .3s .1s, opacity .1s .1s, rotate .3s .1s, translate .3s .1s;
      display: block;
      rotate: 45deg;
    }

    .checkbox:focus-visible {
      outline: 2px solid var(--input-color, currentColor);
      outline-offset: 2px;
    }

    .checkbox:checked, .checkbox[aria-checked="true"] {
      background-color: var(--input-color, #0000);
      box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));
    }

    :is(.checkbox:checked, .checkbox[aria-checked="true"]):before {
      clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
      opacity: 1;
    }

    @media (forced-colors: active) {
      :is(.checkbox:checked, .checkbox[aria-checked="true"]):before {
        --tw-content: "✔︎";
        clip-path: none;
        background-color: #0000;
        rotate: none;
      }
    }

    @media print {
      :is(.checkbox:checked, .checkbox[aria-checked="true"]):before {
        --tw-content: "✔︎";
        clip-path: none;
        background-color: #0000;
        rotate: none;
      }
    }

    .checkbox:indeterminate {
      background-color: var(--input-color, var(--color-base-content));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .checkbox:indeterminate {
        background-color: var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));
      }
    }

    .checkbox:indeterminate:before {
      opacity: 1;
      clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
      translate: 0 -35%;
      rotate: none;
    }

    .rating {
      vertical-align: middle;
      display: inline-flex;
      position: relative;
    }

    .rating input {
      appearance: none;
      border: none;
    }

    .rating :where(*) {
      background-color: var(--color-base-content);
      opacity: .2;
      border-radius: 0;
      width: 1.5rem;
      height: 1.5rem;
    }

    @media (prefers-reduced-motion: no-preference) {
      .rating :where(*) {
        animation: .25s ease-out rating;
      }
    }

    .rating :where(*):is(input) {
      cursor: pointer;
    }

    .rating .rating-hidden {
      background-color: #0000;
      width: .5rem;
    }

    .rating input[type="radio"]:checked {
      background-image: none;
    }

    .rating :checked, .rating [aria-checked="true"], .rating [aria-current="true"], .rating :has( ~ :checked,  ~ [aria-checked="true"],  ~ [aria-current="true"]) {
      opacity: 1;
    }

    .rating :focus-visible {
      scale: 1.1;
    }

    @media (prefers-reduced-motion: no-preference) {
      .rating :focus-visible {
        transition: scale .2s ease-out;
      }
    }

    .rating :active:focus {
      animation: none;
      scale: 1.1;
    }

    .navbar {
      align-items: center;
      width: 100%;
      min-height: 4rem;
      padding: .5rem;
      display: flex;
    }

    .drawer {
      grid-auto-columns: max-content auto;
      width: 100%;
      display: grid;
      position: relative;
    }

    .card {
      border-radius: var(--radius-box);
      outline-offset: 2px;
      outline: 0 solid #0000;
      flex-direction: column;
      transition: outline .2s ease-in-out;
      display: flex;
      position: relative;
    }

    .card:focus {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .card:focus {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .card:focus-visible {
      outline-color: currentColor;
    }

    .card :where(figure:first-child) {
      border-start-start-radius: inherit;
      border-start-end-radius: inherit;
      border-end-end-radius: unset;
      border-end-start-radius: unset;
      overflow: hidden;
    }

    .card :where(figure:last-child) {
      border-start-start-radius: unset;
      border-start-end-radius: unset;
      border-end-end-radius: inherit;
      border-end-start-radius: inherit;
      overflow: hidden;
    }

    .card figure {
      justify-content: center;
      align-items: center;
      display: flex;
    }

    .card:has( > input:is(input[type="checkbox"], input[type="radio"])) {
      cursor: pointer;
      -webkit-user-select: none;
      user-select: none;
    }

    .card:has( > :checked) {
      outline: 2px solid;
    }

    .hero-content {
      isolation: isolate;
      justify-content: center;
      align-items: center;
      gap: 1rem;
      max-width: 80rem;
      padding: 1rem;
      display: flex;
    }

    .textarea {
      border: var(--border) solid #0000;
      appearance: none;
      border-radius: var(--radius-field);
      background-color: var(--color-base-100);
      vertical-align: middle;
      width: clamp(3rem, 20rem, 100%);
      min-height: 5rem;
      font-size: max(var(--font-size, .875rem), .875rem);
      touch-action: manipulation;
      border-color: var(--input-color);
      box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;
      flex-shrink: 1;
      padding-block: .5rem;
      padding-inline: .75rem;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .textarea {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;
      }
    }

    .textarea {
      --input-color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .textarea {
        --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
      }
    }

    .textarea textarea {
      appearance: none;
      background-color: #0000;
      border: none;
    }

    .textarea textarea:focus, .textarea textarea:focus-within {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .textarea textarea:focus, .textarea textarea:focus-within {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .textarea:focus, .textarea:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px var(--input-color);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .textarea:focus, .textarea:focus-within {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      }
    }

    .textarea:focus, .textarea:focus-within {
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
    }

    @media (pointer: coarse) {
      @supports (-webkit-touch-callout: none) {
        .textarea:focus, .textarea:focus-within {
          --font-size: 1rem;
        }
      }
    }

    .textarea:has( > textarea[disabled]), .textarea:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .textarea:has( > textarea[disabled]), .textarea:is(:disabled, [disabled]) {
        color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      }
    }

    :is(.textarea:has( > textarea[disabled]), .textarea:is(:disabled, [disabled]))::placeholder {
      color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      :is(.textarea:has( > textarea[disabled]), .textarea:is(:disabled, [disabled]))::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
    }

    .textarea:has( > textarea[disabled]), .textarea:is(:disabled, [disabled]) {
      box-shadow: none;
    }

    .textarea:has( > textarea[disabled]) > textarea[disabled] {
      cursor: not-allowed;
    }

    .stack {
      grid-template-rows: 3px 4px 1fr 4px 3px;
      grid-template-columns: 3px 4px 1fr 4px 3px;
      display: inline-grid;
    }

    .stack > * {
      width: 100%;
      height: 100%;
    }

    .stack > :nth-child(n+2) {
      opacity: .7;
      width: 100%;
    }

    .stack > :nth-child(2) {
      z-index: 2;
      opacity: .9;
    }

    .stack > :first-child {
      z-index: 3;
      width: 100%;
    }

    .hero {
      background-position: center;
      background-size: cover;
      place-items: center;
      width: 100%;
      display: grid;
    }

    .hero > * {
      grid-row-start: 1;
      grid-column-start: 1;
    }

    .modal-box {
      background-color: var(--color-base-100);
      border-top-left-radius: var(--modal-tl, var(--radius-box));
      border-top-right-radius: var(--modal-tr, var(--radius-box));
      border-bottom-left-radius: var(--modal-bl, var(--radius-box));
      border-bottom-right-radius: var(--modal-br, var(--radius-box));
      opacity: 0;
      overscroll-behavior: contain;
      grid-row-start: 1;
      grid-column-start: 1;
      width: 91.6667%;
      max-width: 32rem;
      max-height: 100vh;
      padding: 1.5rem;
      transition: translate .3s ease-out, scale .3s ease-out, opacity .2s ease-out 50ms, box-shadow .3s ease-out;
      overflow-y: auto;
      scale: 95%;
      box-shadow: 0 25px 50px -12px oklch(0% 0 0 / .25);
    }

    .drawer-content {
      grid-row-start: 1;
      grid-column-start: 2;
      min-width: 0;
    }

    .divider {
      white-space: nowrap;
      height: 1rem;
      margin: var(--divider-m, 1rem 0);
      --divider-color: var(--color-base-content);
      flex-direction: row;
      align-self: stretch;
      align-items: center;
      display: flex;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .divider {
        --divider-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
      }
    }

    .divider:before, .divider:after {
      content: "";
      background-color: var(--divider-color);
      flex-grow: 1;
      width: 100%;
      height: .125rem;
    }

    @media print {
      .divider:before, .divider:after {
        border: .5px solid;
      }
    }

    .divider:not(:empty) {
      gap: 1rem;
    }

    .filter {
      flex-wrap: wrap;
      display: flex;
    }

    .filter input[type="radio"] {
      width: auto;
    }

    .filter input {
      opacity: 1;
      transition: margin .1s, opacity .3s, padding .3s, border-width .1s;
      overflow: hidden;
      scale: 1;
    }

    .filter input:not(:last-child) {
      margin-inline-end: .25rem;
    }

    .filter input.filter-reset {
      aspect-ratio: 1;
    }

    .filter input.filter-reset:after {
      --tw-content: "×";
      content: var(--tw-content);
    }

    .filter:not(:has(input:checked:not(.filter-reset))) .filter-reset, .filter:not(:has(input:checked:not(.filter-reset))) input[type="reset"], .filter:has(input:checked:not(.filter-reset)) input:not(:checked, .filter-reset, input[type="reset"]) {
      opacity: 0;
      border-width: 0;
      width: 0;
      margin-inline: 0;
      padding-inline: 0;
      scale: 0;
    }

    .label {
      white-space: nowrap;
      color: currentColor;
      align-items: center;
      gap: .375rem;
      display: inline-flex;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .label {
        color: color-mix(in oklab, currentcolor 60%, transparent);
      }
    }

    .label:has(input) {
      cursor: pointer;
    }

    .label:is(.input > *, .select > *) {
      white-space: nowrap;
      height: calc(100% - .5rem);
      font-size: inherit;
      align-items: center;
      padding-inline: .75rem;
      display: flex;
    }

    .label:is(.input > *, .select > *):first-child {
      border-inline-end: var(--border) solid currentColor;
      margin-inline: -.75rem .75rem;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .label:is(.input > *, .select > *):first-child {
        border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
      }
    }

    .label:is(.input > *, .select > *):last-child {
      border-inline-start: var(--border) solid currentColor;
      margin-inline: .75rem -.75rem;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .label:is(.input > *, .select > *):last-child {
        border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
      }
    }

    .carousel-item {
      box-sizing: content-box;
      scroll-snap-align: start;
      flex: none;
      display: flex;
    }

    .status {
      aspect-ratio: 1;
      border-radius: var(--radius-selector);
      background-color: var(--color-base-content);
      width: .5rem;
      height: .5rem;
      display: inline-block;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .status {
        background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
    }

    .status {
      vertical-align: middle;
      color: #0000004d;
      background-position: center;
      background-repeat: no-repeat;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .status {
        color: color-mix(in oklab, var(--color-black) 30%, transparent);
      }
    }

    .status {
      background-image: radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);
      box-shadow: 0 2px 3px -1px;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .status {
        box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
      }
    }

    .badge {
      border-radius: var(--radius-selector);
      vertical-align: middle;
      color: var(--badge-fg);
      border: var(--border) solid var(--badge-color, var(--color-base-200));
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
      background-color: var(--badge-bg);
      --badge-bg: var(--badge-color, var(--color-base-100));
      --badge-fg: var(--color-base-content);
      --size: calc(var(--size-selector, .25rem) * 6);
      width: fit-content;
      height: var(--size);
      padding-inline: calc(var(--size) / 2 - var(--border));
      justify-content: center;
      align-items: center;
      gap: .5rem;
      font-size: .875rem;
      display: inline-flex;
    }

    .footer {
      grid-auto-flow: row;
      place-items: start;
      gap: 2.5rem 1rem;
      width: 100%;
      font-size: .875rem;
      line-height: 1.25rem;
      display: grid;
    }

    .footer > * {
      place-items: start;
      gap: .5rem;
      display: grid;
    }

    .footer.footer-center {
      text-align: center;
      grid-auto-flow: column dense;
      place-items: center;
    }

    .footer.footer-center > * {
      place-items: center;
    }

    .navbar-end {
      justify-content: flex-end;
      align-items: center;
      width: 50%;
      display: inline-flex;
    }

    .navbar-start {
      justify-content: flex-start;
      align-items: center;
      width: 50%;
      display: inline-flex;
    }

    .card-body {
      padding: var(--card-p, 1.5rem);
      font-size: var(--card-fs, .875rem);
      flex-direction: column;
      flex: auto;
      gap: .5rem;
      display: flex;
    }

    .card-body :where(p) {
      flex-grow: 1;
    }

    .navbar-center {
      flex-shrink: 0;
      align-items: center;
      display: inline-flex;
    }

    .carousel {
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      display: inline-flex;
      overflow-x: scroll;
    }

    @media (prefers-reduced-motion: no-preference) {
      .carousel {
        scroll-behavior: smooth;
      }
    }

    .carousel::-webkit-scrollbar {
      display: none;
    }

    .card-actions {
      flex-wrap: wrap;
      align-items: flex-start;
      gap: .5rem;
      display: flex;
    }

    .card-title {
      font-size: var(--cardtitle-fs, 1.125rem);
      align-items: center;
      gap: .5rem;
      font-weight: 600;
      display: flex;
    }

    .link {
      cursor: pointer;
      text-decoration-line: underline;
    }

    .link:focus {
      --tw-outline-style: none;
      outline-style: none;
    }

    @media (forced-colors: active) {
      .link:focus {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .link:focus-visible {
      outline-offset: 2px;
      outline: 2px solid;
    }

    .btn-accent {
      --btn-color: var(--color-accent);
      --btn-fg: var(--color-accent-content);
    }

    .btn-primary {
      --btn-color: var(--color-primary);
      --btn-fg: var(--color-primary-content);
    }

    .btn-secondary {
      --btn-color: var(--color-secondary);
      --btn-fg: var(--color-secondary-content);
    }
  }

  @layer daisyui.l1.l2 {
    .modal.modal-open, .modal[open], .modal:target, .modal-toggle:checked + .modal {
      pointer-events: auto;
      visibility: visible;
      opacity: 1;
      transition: visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;
      background-color: oklch(0% 0 0 / .4);
    }

    :is(.modal.modal-open, .modal[open], .modal:target, .modal-toggle:checked + .modal) .modal-box {
      opacity: 1;
      translate: 0;
      scale: 1;
    }

    :root:has(:is(.modal.modal-open, .modal[open], .modal:target, .modal-toggle:checked + .modal)) {
      --page-has-backdrop: 1;
      --page-overflow: hidden;
      --page-scroll-bg: var(--page-scroll-bg-on);
      --page-scroll-gutter: stable;
      --page-scroll-transition: var(--page-scroll-transition-on);
      animation: forwards set-page-has-scroll;
      animation-timeline: scroll();
    }

    @starting-style {
      .modal.modal-open, .modal[open], .modal:target, .modal-toggle:checked + .modal {
        opacity: 0;
      }
    }

    :where(.drawer-toggle:checked ~ .drawer-side) {
      pointer-events: auto;
      visibility: visible;
      opacity: 1;
      overflow-y: auto;
    }

    :where(.drawer-toggle:checked ~ .drawer-side) > :not(.drawer-overlay) {
      translate: 0%;
    }

    .drawer-toggle:focus-visible ~ .drawer-content label.drawer-button {
      outline-offset: 2px;
      outline: 2px solid;
    }

    .tooltip > .tooltip-content, .tooltip[data-tip]:before {
      transform: translateX(-50%) translateY(var(--tt-pos, .25rem));
      inset: auto auto var(--tt-off) 50%;
    }

    .tooltip:after {
      transform: translateX(-50%) translateY(var(--tt-pos, .25rem));
      inset: auto auto var(--tt-tail) 50%;
    }

    .btn:disabled:not(.btn-link, .btn-ghost) {
      background-color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .btn:disabled:not(.btn-link, .btn-ghost) {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
      }
    }

    .btn:disabled:not(.btn-link, .btn-ghost) {
      box-shadow: none;
    }

    .btn:disabled {
      pointer-events: none;
      --btn-border: #0000;
      --btn-noise: none;
      --btn-fg: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .btn:disabled {
        --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
      }
    }

    .btn[disabled]:not(.btn-link, .btn-ghost) {
      background-color: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .btn[disabled]:not(.btn-link, .btn-ghost) {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
      }
    }

    .btn[disabled]:not(.btn-link, .btn-ghost) {
      box-shadow: none;
    }

    .btn[disabled] {
      pointer-events: none;
      --btn-border: #0000;
      --btn-noise: none;
      --btn-fg: var(--color-base-content);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .btn[disabled] {
        --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
      }
    }

    .list .list-row:has(.list-col-grow:first-child) {
      --list-grid-cols: 1fr;
    }

    .list .list-row:has(.list-col-grow:nth-child(2)) {
      --list-grid-cols: minmax(0, auto) 1fr;
    }

    .list .list-row:has(.list-col-grow:nth-child(3)) {
      --list-grid-cols: minmax(0, auto) minmax(0, auto) 1fr;
    }

    .list .list-row:has(.list-col-grow:nth-child(4)) {
      --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
    }

    .list .list-row:has(.list-col-grow:nth-child(5)) {
      --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
    }

    .list .list-row:has(.list-col-grow:nth-child(6)) {
      --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
    }

    .list .list-row > * {
      grid-row-start: 1;
    }

    .menu-horizontal {
      flex-direction: row;
      display: inline-flex;
    }

    .menu-horizontal > li:not(.menu-title) > details > ul {
      transform-origin: top;
      border-radius: var(--radius-box);
      background-color: var(--color-base-100);
      opacity: 0;
      margin-inline-start: 0;
      margin-top: 1rem;
      padding-block: .5rem;
      padding-inline-end: .5rem;
      position: absolute;
      scale: 95%;
      box-shadow: 0 1px 3px oklch(0% 0 0 / .1), 0 1px 2px -1px oklch(0% 0 0 / .1);
    }

    @media (prefers-reduced-motion: no-preference) {
      @starting-style {
        .menu-horizontal > li:not(.menu-title) > details > ul {
          opacity: 0;
          scale: 95%;
        }
      }

      .menu-horizontal > li:not(.menu-title) > details > ul {
        transition-behavior: allow-discrete;
        transition-property: opacity, scale, display;
        transition-duration: .2s;
        transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        animation: .2s menu;
      }
    }

    .menu-horizontal > li:not(.menu-title) > details[open] > ul {
      opacity: 1;
      scale: 100%;
    }

    .menu-horizontal > li > details > ul:before {
      --tw-content: none;
      content: var(--tw-content);
    }

    .checkbox:disabled {
      cursor: not-allowed;
      opacity: .2;
    }

    .rating.rating-xs :where(:not(.rating-hidden)) {
      width: 1rem;
      height: 1rem;
    }

    .rating.rating-sm :where(:not(.rating-hidden)) {
      width: 1.25rem;
      height: 1.25rem;
    }

    .rating.rating-md :where(:not(.rating-hidden)) {
      width: 1.5rem;
      height: 1.5rem;
    }

    .rating.rating-lg :where(:not(.rating-hidden)) {
      width: 1.75rem;
      height: 1.75rem;
    }

    .rating.rating-xl :where(:not(.rating-hidden)) {
      width: 2rem;
      height: 2rem;
    }

    :where(.navbar) {
      position: relative;
    }

    :is(.stack, .stack.stack-bottom) > * {
      grid-area: 3 / 3 / 6 / 4;
    }

    :is(.stack, .stack.stack-bottom) > :nth-child(2) {
      grid-area: 2 / 2 / 5 / 5;
    }

    :is(.stack, .stack.stack-bottom) > :first-child {
      grid-area: 1 / 1 / 4 / 6;
    }

    .stack.stack-top > * {
      grid-area: 1 / 3 / 4 / 4;
    }

    .stack.stack-top > :nth-child(2) {
      grid-area: 2 / 2 / 5 / 5;
    }

    .stack.stack-top > :first-child {
      grid-area: 3 / 1 / 6 / 6;
    }

    .stack.stack-start > * {
      grid-area: 3 / 1 / 4 / 4;
    }

    .stack.stack-start > :nth-child(2) {
      grid-area: 2 / 2 / 5 / 5;
    }

    .stack.stack-start > :first-child {
      grid-area: 1 / 3 / 6 / 6;
    }

    .stack.stack-end > * {
      grid-area: 3 / 3 / 4 / 6;
    }

    .stack.stack-end > :nth-child(2) {
      grid-area: 2 / 2 / 5 / 5;
    }

    .stack.stack-end > :first-child {
      grid-area: 1 / 1 / 6 / 4;
    }

    .btn-circle {
      width: var(--size);
      height: var(--size);
      border-radius: 3.40282e38px;
      padding-inline: 0;
    }

    .btn-square {
      width: var(--size);
      height: var(--size);
      padding-inline: 0;
    }

    .carousel-center .carousel-item {
      scroll-snap-align: center;
    }

    .badge-ghost {
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: var(--color-base-content);
      background-image: none;
    }

    .badge-outline {
      color: var(--badge-color);
      --badge-bg: #0000;
      background-image: none;
      border-color: currentColor;
    }

    .loading-spinner {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
    }

    .badge-lg {
      --size: calc(var(--size-selector, .25rem) * 7);
      font-size: 1rem;
    }

    .badge-md {
      --size: calc(var(--size-selector, .25rem) * 6);
      font-size: .875rem;
    }

    .badge-sm {
      --size: calc(var(--size-selector, .25rem) * 5);
      font-size: .75rem;
    }

    .btn-lg {
      --fontsize: 1.125rem;
      --btn-p: 1.25rem;
      --size: calc(var(--size-field, .25rem) * 12);
    }

    .btn-md {
      --fontsize: .875rem;
      --btn-p: 1rem;
      --size: calc(var(--size-field, .25rem) * 10);
    }

    .btn-sm {
      --fontsize: .75rem;
      --btn-p: .75rem;
      --size: calc(var(--size-field, .25rem) * 8);
    }

    .btn-xs {
      --fontsize: .6875rem;
      --btn-p: .5rem;
      --size: calc(var(--size-field, .25rem) * 6);
    }

    .badge-accent {
      --badge-color: var(--color-accent);
      --badge-fg: var(--color-accent-content);
    }

    .badge-neutral {
      --badge-color: var(--color-neutral);
      --badge-fg: var(--color-neutral-content);
    }

    .badge-primary {
      --badge-color: var(--color-primary);
      --badge-fg: var(--color-primary-content);
    }

    .badge-secondary {
      --badge-color: var(--color-secondary);
      --badge-fg: var(--color-secondary-content);
    }
  }

  .pointer-events-auto {
    pointer-events: auto;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .-inset-4 {
    inset: calc(var(--spacing) * -4);
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-1\/4 {
    top: 25%;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-3 {
    top: calc(var(--spacing) * 3);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-6 {
    top: calc(var(--spacing) * 6);
  }

  .top-10 {
    top: calc(var(--spacing) * 10);
  }

  .top-12 {
    top: calc(var(--spacing) * 12);
  }

  .top-20 {
    top: calc(var(--spacing) * 20);
  }

  .top-full {
    top: 100%;
  }

  .-right-2 {
    right: calc(var(--spacing) * -2);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .right-10 {
    right: calc(var(--spacing) * 10);
  }

  .right-\[16\%\] {
    right: 16%;
  }

  .-bottom-2 {
    bottom: calc(var(--spacing) * -2);
  }

  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }

  .bottom-1\/3 {
    bottom: 33.3333%;
  }

  .bottom-2 {
    bottom: calc(var(--spacing) * 2);
  }

  .bottom-8 {
    bottom: calc(var(--spacing) * 8);
  }

  .bottom-10 {
    bottom: calc(var(--spacing) * 10);
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .left-1\/2 {
    left: 50%;
  }

  .left-3 {
    left: calc(var(--spacing) * 3);
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .left-10 {
    left: calc(var(--spacing) * 10);
  }

  .left-\[-1\.5rem\] {
    left: -1.5rem;
  }

  .left-\[16\%\] {
    left: 16%;
  }

  .join {
    --join-ss: 0;
    --join-se: 0;
    --join-es: 0;
    --join-ee: 0;
    align-items: stretch;
    display: inline-flex;
  }

  .join :where(.join-item) {
    border-start-start-radius: var(--join-ss, 0);
    border-start-end-radius: var(--join-se, 0);
    border-end-end-radius: var(--join-ee, 0);
    border-end-start-radius: var(--join-es, 0);
  }

  .join :where(.join-item) * {
    --join-ss: var(--radius-field);
    --join-se: var(--radius-field);
    --join-es: var(--radius-field);
    --join-ee: var(--radius-field);
  }

  .join > .join-item:where(:first-child), .join :first-child:not(:last-child) :where(.join-item) {
    --join-ss: var(--radius-field);
    --join-se: 0;
    --join-es: var(--radius-field);
    --join-ee: 0;
  }

  .join > .join-item:where(:last-child), .join :last-child:not(:first-child) :where(.join-item) {
    --join-ss: 0;
    --join-se: var(--radius-field);
    --join-es: 0;
    --join-ee: var(--radius-field);
  }

  .join > .join-item:where(:only-child), .join :only-child :where(.join-item) {
    --join-ss: var(--radius-field);
    --join-se: var(--radius-field);
    --join-es: var(--radius-field);
    --join-ee: var(--radius-field);
  }

  .join > :where(:focus, :has(:focus)) {
    z-index: 1;
  }

  @media (hover: hover) {
    .join > :where(.btn:hover, :has(.btn:hover)) {
      isolation: isolate;
    }
  }

  .-z-10 {
    z-index: calc(10 * -1);
  }

  .z-0 {
    z-index: 0;
  }

  .z-10 {
    z-index: 10;
  }

  .z-40 {
    z-index: 40;
  }

  .z-50 {
    z-index: 50;
  }

  .col-span-6 {
    grid-column: span 6 / span 6;
  }

  .col-span-12 {
    grid-column: span 12 / span 12;
  }

  .col-span-full {
    grid-column: 1 / -1;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }

  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }

  .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-20 {
    margin-top: calc(var(--spacing) * -20);
  }

  .-mt-24 {
    margin-top: calc(var(--spacing) * -24);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }

  .mt-auto {
    margin-top: auto;
  }

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .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);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  :root .prose {
    --tw-prose-body: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root .prose {
      --tw-prose-body: color-mix(in oklab, var(--color-base-content) 80%, #0000);
    }
  }

  :root .prose {
    --tw-prose-headings: var(--color-base-content);
    --tw-prose-lead: var(--color-base-content);
    --tw-prose-links: var(--color-base-content);
    --tw-prose-bold: var(--color-base-content);
    --tw-prose-counters: var(--color-base-content);
    --tw-prose-bullets: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root .prose {
      --tw-prose-bullets: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    }
  }

  :root .prose {
    --tw-prose-hr: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root .prose {
      --tw-prose-hr: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    }
  }

  :root .prose {
    --tw-prose-quotes: var(--color-base-content);
    --tw-prose-quote-borders: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root .prose {
      --tw-prose-quote-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    }
  }

  :root .prose {
    --tw-prose-captions: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root .prose {
      --tw-prose-captions: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    }
  }

  :root .prose {
    --tw-prose-code: var(--color-base-content);
    --tw-prose-pre-code: var(--color-neutral-content);
    --tw-prose-pre-bg: var(--color-neutral);
    --tw-prose-th-borders: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root .prose {
      --tw-prose-th-borders: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    }
  }

  :root .prose {
    --tw-prose-td-borders: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root .prose {
      --tw-prose-td-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    }
  }

  :root .prose {
    --tw-prose-kbd: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :root .prose {
      --tw-prose-kbd: color-mix(in oklab, var(--color-base-content) 80%, #0000);
    }
  }

  :root .prose :where(code):not(pre > code) {
    background-color: var(--color-base-200);
    border-radius: var(--radius-selector);
    border: var(--border) solid var(--color-base-300);
    font-weight: inherit;
    padding-block: .2em;
    padding-inline: .5em;
  }

  :root .prose :where(code):not(pre > code):before, :root .prose :where(code):not(pre > code):after {
    display: none;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .table {
    display: table;
  }

  .h-0\.5 {
    height: calc(var(--spacing) * .5);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-24 {
    height: calc(var(--spacing) * 24);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-48 {
    height: calc(var(--spacing) * 48);
  }

  .h-56 {
    height: calc(var(--spacing) * 56);
  }

  .h-64 {
    height: calc(var(--spacing) * 64);
  }

  .h-96 {
    height: calc(var(--spacing) * 96);
  }

  .h-\[300px\] {
    height: 300px;
  }

  .h-\[350px\] {
    height: 350px;
  }

  .h-\[400px\] {
    height: 400px;
  }

  .h-\[500px\] {
    height: 500px;
  }

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .max-h-60 {
    max-height: calc(var(--spacing) * 60);
  }

  .max-h-\[90vh\] {
    max-height: 90vh;
  }

  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }

  .min-h-15 {
    min-height: calc(var(--spacing) * 15);
  }

  .min-h-\[44px\] {
    min-height: 44px;
  }

  .min-h-\[85vh\] {
    min-height: 85vh;
  }

  .min-h-full {
    min-height: 100%;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-0\.5 {
    width: calc(var(--spacing) * .5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-40 {
    width: calc(var(--spacing) * 40);
  }

  .w-48 {
    width: calc(var(--spacing) * 48);
  }

  .w-64 {
    width: calc(var(--spacing) * 64);
  }

  .w-80 {
    width: calc(var(--spacing) * 80);
  }

  .w-96 {
    width: calc(var(--spacing) * 96);
  }

  .w-auto {
    width: auto;
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .max-w-full {
    max-width: 100%;
  }

  .max-w-none {
    max-width: none;
  }

  .min-w-\[44px\] {
    min-width: 44px;
  }

  .min-w-\[200px\] {
    min-width: 200px;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-none {
    flex: none;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .flex-grow, .grow {
    flex-grow: 1;
  }

  .origin-right {
    transform-origin: 100%;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-1\/2 {
    --tw-translate-x: calc(1 / 2 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-1 {
    --tw-translate-y: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-1\/2 {
    --tw-translate-y: calc(1 / 2 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .scale-90 {
    --tw-scale-x: 90%;
    --tw-scale-y: 90%;
    --tw-scale-z: 90%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .-rotate-12 {
    rotate: -12deg;
  }

  .rotate-6 {
    rotate: 6deg;
  }

  .rotate-12 {
    rotate: 12deg;
  }

  .rotate-\[-15deg\] {
    rotate: -15deg;
  }

  .rotate-\[15deg\] {
    rotate: 15deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-\[dash_20s_linear_infinite\] {
    animation: 20s linear infinite dash;
  }

  .animate-\[fly_20s_linear_infinite\] {
    animation: 20s linear infinite fly;
  }

  .animate-\[spin_12s_linear_infinite\] {
    animation: 12s linear infinite spin;
  }

  .animate-bounce {
    animation: var(--animate-bounce);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin-slow {
    animation: var(--animate-spin-slow);
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
  }

  .snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
  }

  .snap-start {
    scroll-snap-align: start;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-7 {
    gap: calc(var(--spacing) * 7);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :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)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-4 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }

  .self-center {
    align-self: center;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-visible {
    overflow: visible;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-box {
    border-radius: var(--radius-box);
    border-radius: var(--radius-box);
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .rounded-l-none {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .rounded-r-none {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-4 {
    border-style: var(--tw-border-style);
    border-width: 4px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-t-2 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px;
  }

  .border-t-4 {
    border-top-style: var(--tw-border-style);
    border-top-width: 4px;
  }

  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-none {
    --tw-border-style: none;
    border-style: none;
  }

  .border-base-100 {
    border-color: var(--color-base-100);
  }

  .border-base-200 {
    border-color: var(--color-base-200);
  }

  .border-base-300 {
    border-color: var(--color-base-300);
  }

  .border-black {
    border-color: var(--color-black);
  }

  .border-cyan-400 {
    border-color: var(--color-cyan-400);
  }

  .border-gray-800 {
    border-color: var(--color-gray-800);
  }

  .border-green-400 {
    border-color: var(--color-green-400);
  }

  .border-green-400\/30 {
    border-color: #05df724d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-green-400\/30 {
      border-color: color-mix(in oklab, var(--color-green-400) 30%, transparent);
    }
  }

  .border-green-500 {
    border-color: var(--color-green-500);
  }

  .border-magenta-400 {
    border-color: var(--color-magenta-400);
  }

  .border-magenta-500 {
    border-color: var(--color-magenta-500);
  }

  .border-orange-400 {
    border-color: var(--color-orange-400);
  }

  .border-white {
    border-color: var(--color-white);
  }

  .border-white\/10 {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/10 {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .border-yellow-400 {
    border-color: var(--color-yellow-400);
  }

  .border-yellow-400\/30 {
    border-color: #fac8004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-yellow-400\/30 {
      border-color: color-mix(in oklab, var(--color-yellow-400) 30%, transparent);
    }
  }

  .bg-accent\/10 {
    background-color: var(--color-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-accent\/10 {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .bg-base-100, .bg-base-100\/10 {
    background-color: var(--color-base-100);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-base-100\/10 {
      background-color: color-mix(in oklab, var(--color-base-100) 10%, transparent);
    }
  }

  .bg-base-100\/95 {
    background-color: var(--color-base-100);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-base-100\/95 {
      background-color: color-mix(in oklab, var(--color-base-100) 95%, transparent);
    }
  }

  .bg-base-200, .bg-base-200\/50 {
    background-color: var(--color-base-200);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-base-200\/50 {
      background-color: color-mix(in oklab, var(--color-base-200) 50%, transparent);
    }
  }

  .bg-base-300 {
    background-color: var(--color-base-300);
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-black\/30 {
    background-color: #0000004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/30 {
      background-color: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
  }

  .bg-black\/50 {
    background-color: #00000080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/50 {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }

  .bg-black\/60 {
    background-color: #0009;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/60 {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }

  .bg-cyan-400\/10 {
    background-color: #00d2ef1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-400\/10 {
      background-color: color-mix(in oklab, var(--color-cyan-400) 10%, transparent);
    }
  }

  .bg-gray-950 {
    background-color: var(--color-gray-950);
  }

  .bg-green-400\/10 {
    background-color: #05df721a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-green-400\/10 {
      background-color: color-mix(in oklab, var(--color-green-400) 10%, transparent);
    }
  }

  .bg-green-500 {
    background-color: var(--color-green-500);
  }

  .bg-green-700 {
    background-color: var(--color-green-700);
  }

  .bg-magenta-400\/10 {
    background-color: #e879f91a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-magenta-400\/10 {
      background-color: color-mix(in oklab, var(--color-magenta-400) 10%, transparent);
    }
  }

  .bg-magenta-500\/10 {
    background-color: #d946ef1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-magenta-500\/10 {
      background-color: color-mix(in oklab, var(--color-magenta-500) 10%, transparent);
    }
  }

  .bg-neutral {
    background-color: var(--color-neutral);
  }

  .bg-orange-400\/10 {
    background-color: #ff8b1a1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-orange-400\/10 {
      background-color: color-mix(in oklab, var(--color-orange-400) 10%, transparent);
    }
  }

  .bg-primary, .bg-primary\/10 {
    background-color: var(--color-primary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/10 {
      background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
    }
  }

  .bg-primary\/20 {
    background-color: var(--color-primary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/20 {
      background-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
    }
  }

  .bg-red-500 {
    background-color: var(--color-red-500);
  }

  .bg-secondary, .bg-secondary\/10 {
    background-color: var(--color-secondary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-secondary\/10 {
      background-color: color-mix(in oklab, var(--color-secondary) 10%, transparent);
    }
  }

  .bg-secondary\/20 {
    background-color: var(--color-secondary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-secondary\/20 {
      background-color: color-mix(in oklab, var(--color-secondary) 20%, transparent);
    }
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-white\/95 {
    background-color: #fffffff2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/95 {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }

  .bg-yellow-400\/5 {
    background-color: #fac8000d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-yellow-400\/5 {
      background-color: color-mix(in oklab, var(--color-yellow-400) 5%, transparent);
    }
  }

  .bg-yellow-400\/10 {
    background-color: #fac8001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-yellow-400\/10 {
      background-color: color-mix(in oklab, var(--color-yellow-400) 10%, transparent);
    }
  }

  .bg-yellow-500 {
    background-color: var(--color-yellow-500);
  }

  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right 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-\[url\(\'https\:\/\/images\.unsplash\.com\/photo-1489749798305-4fea3ae63d43\?q\=80\&w\=2067\&auto\=format\&fit\=crop\'\)\] {
    background-image: url("https://images.unsplash.com/photo-1489749798305-4fea3ae63d43?q=80&w=2067&auto=format&fit=crop");
  }

  .from-black\/50 {
    --tw-gradient-from: #00000080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/50 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }

  .from-black\/50 {
    --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-black\/60 {
    --tw-gradient-from: #0009;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/60 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }

  .from-black\/60 {
    --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-black\/70 {
    --tw-gradient-from: #000000b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/70 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);
    }
  }

  .from-black\/70 {
    --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-primary {
    --tw-gradient-from: var(--color-primary);
    --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-primary\/90 {
    --tw-gradient-from: var(--color-primary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-primary\/90 {
      --tw-gradient-from: color-mix(in oklab, var(--color-primary) 90%, transparent);
    }
  }

  .from-primary\/90 {
    --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));
  }

  .via-black\/20 {
    --tw-gradient-via: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-black\/20 {
      --tw-gradient-via: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }

  .via-black\/20 {
    --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-black\/40 {
    --tw-gradient-via: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-black\/40 {
      --tw-gradient-via: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }

  .via-black\/40 {
    --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-secondary {
    --tw-gradient-via: var(--color-secondary);
    --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);
  }

  .to-accent {
    --tw-gradient-to: var(--color-accent);
    --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-accent\/80 {
    --tw-gradient-to: var(--color-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-accent\/80 {
      --tw-gradient-to: color-mix(in oklab, var(--color-accent) 80%, transparent);
    }
  }

  .to-accent\/80 {
    --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-secondary {
    --tw-gradient-to: var(--color-secondary);
    --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));
  }

  .bg-cover {
    background-size: cover;
  }

  .bg-fixed {
    background-attachment: fixed;
  }

  .bg-center {
    background-position: center;
  }

  .fill-base-100 {
    fill: var(--color-base-100);
  }

  .object-cover {
    object-fit: cover;
  }

  .object-center {
    object-position: center;
  }

  .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-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }

  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }

  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }

  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }

  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }

  .pl-10 {
    padding-left: calc(var(--spacing) * 10);
  }

  .text-center {
    text-align: center;
  }

  .text-right {
    text-align: right;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

  .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-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-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-\[1\.1\] {
    --tw-leading: 1.1;
    line-height: 1.1;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .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-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-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .wrap-break-word {
    overflow-wrap: break-word;
  }

  .break-all {
    word-break: break-all;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-accent {
    color: var(--color-accent);
  }

  .text-accent-content {
    color: var(--color-accent-content);
  }

  .text-base-content, .text-base-content\/30 {
    color: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-base-content\/30 {
      color: color-mix(in oklab, var(--color-base-content) 30%, transparent);
    }
  }

  .text-base-content\/50 {
    color: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-base-content\/50 {
      color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
    }
  }

  .text-base-content\/60 {
    color: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-base-content\/60 {
      color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
    }
  }

  .text-base-content\/70 {
    color: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-base-content\/70 {
      color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
    }
  }

  .text-base-content\/80 {
    color: var(--color-base-content);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-base-content\/80 {
      color: color-mix(in oklab, var(--color-base-content) 80%, transparent);
    }
  }

  .text-black {
    color: var(--color-black);
  }

  .text-cyan-400 {
    color: var(--color-cyan-400);
  }

  .text-error {
    color: var(--color-error);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-green-300 {
    color: var(--color-green-300);
  }

  .text-green-400 {
    color: var(--color-green-400);
  }

  .text-magenta-400 {
    color: var(--color-magenta-400);
  }

  .text-neutral-content {
    color: var(--color-neutral-content);
  }

  .text-orange-400 {
    color: var(--color-orange-400);
  }

  .text-primary {
    color: var(--color-primary);
  }

  .text-primary-content {
    color: var(--color-primary-content);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-secondary {
    color: var(--color-secondary);
  }

  .text-secondary-content {
    color: var(--color-secondary-content);
  }

  .text-warning {
    color: var(--color-warning);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/80 {
    color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .text-white\/90 {
    color: #ffffffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/90 {
      color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }

  .text-yellow-400 {
    color: var(--color-yellow-400);
  }

  .normal-case {
    text-transform: none;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .prose :where(a.btn:not(.btn-link)):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    text-decoration-line: none;
  }

  .decoration-primary {
    -webkit-text-decoration-color: var(--color-primary);
    -webkit-text-decoration-color: var(--color-primary);
    text-decoration-color: var(--color-primary);
  }

  .decoration-2 {
    text-decoration-thickness: 2px;
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .placeholder-gray-500::placeholder {
    color: var(--color-gray-500);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-10 {
    opacity: .1;
  }

  .opacity-20 {
    opacity: .2;
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-80 {
    opacity: .8;
  }

  .opacity-\[0\.03\] {
    opacity: .03;
  }

  .mix-blend-multiply {
    mix-blend-mode: multiply;
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_20px_rgba\(34\,197\,94\,0\.2\)\] {
    --tw-shadow: 0 0 20px var(--tw-shadow-color, #22c55e33);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_20px_rgba\(34\,197\,94\,0\.5\)\] {
    --tw-shadow: 0 0 20px var(--tw-shadow-color, #22c55e80);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_20px_rgba\(234\,179\,8\,0\.2\)\] {
    --tw-shadow: 0 0 20px var(--tw-shadow-color, #eab30833);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_30px_rgba\(34\,197\,94\,0\.3\)\] {
    --tw-shadow: 0 0 30px var(--tw-shadow-color, #22c55e4d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    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);
  }

  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-4 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-accent\/30 {
    --tw-shadow-color: var(--color-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-accent\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-accent) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-primary\/30 {
    --tw-shadow-color: var(--color-primary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-primary\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-primary) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-secondary\/30 {
    --tw-shadow-color: var(--color-secondary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-secondary\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-base-100 {
    --tw-ring-color: var(--color-base-100);
  }

  .ring-base-300 {
    --tw-ring-color: var(--color-base-300);
  }

  .ring-primary {
    --tw-ring-color: var(--color-primary);
  }

  .ring-offset-2 {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .ring-offset-base-100 {
    --tw-ring-offset-color: var(--color-base-100);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  @layer daisyui.l1 {
    .btn-ghost:not(.btn-active, :hover, :active:focus, :focus-visible, input:checked:not(.filter .btn)) {
      --btn-shadow: "";
      --btn-bg: #0000;
      --btn-border: #0000;
      --btn-noise: none;
    }

    .btn-ghost:not(.btn-active, :hover, :active:focus, :focus-visible, input:checked:not(.filter .btn)):not(:disabled, [disabled], .btn-disabled) {
      --btn-fg: var(--btn-color, currentColor);
      outline-color: currentColor;
    }

    @media (hover: none) {
      .btn-ghost:not(.btn-active, :active, :focus-visible, input:checked:not(.filter .btn)):hover {
        --btn-shadow: "";
        --btn-bg: #0000;
        --btn-fg: var(--btn-color, currentColor);
        --btn-border: #0000;
        --btn-noise: none;
        outline-color: currentColor;
      }
    }

    .btn-outline:not(.btn-active, :hover, :active:focus, :focus-visible, input:checked:not(.filter .btn), :disabled, [disabled], .btn-disabled) {
      --btn-shadow: "";
      --btn-bg: #0000;
      --btn-fg: var(--btn-color);
      --btn-border: var(--btn-color);
      --btn-noise: none;
    }

    @media (hover: none) {
      .btn-outline:not(.btn-active, :active, :focus-visible, input:checked:not(.filter .btn)):hover {
        --btn-shadow: "";
        --btn-bg: #0000;
        --btn-fg: var(--btn-color);
        --btn-border: var(--btn-color);
        --btn-noise: none;
      }
    }
  }

  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    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-xl {
    --tw-blur: blur(var(--blur-xl));
    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, );
  }

  .drop-shadow-lg {
    --tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, #00000026));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));
    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, );
  }

  .drop-shadow-xl {
    --tw-drop-shadow-size: drop-shadow(0 9px 7px var(--tw-drop-shadow-color, #0000001a));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-xl));
    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-md {
    --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, );
  }

  .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, );
  }

  .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));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .duration-\[4s\] {
    --tw-duration: 4s;
    transition-duration: 4s;
  }

  .duration-\[20s\] {
    --tw-duration: 20s;
    transition-duration: 20s;
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .\[apps\:vars\] {
    apps: vars;
  }

  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:-rotate-3:is(:where(.group):hover *) {
      rotate: -3deg;
    }

    .group-hover\:rotate-3:is(:where(.group):hover *) {
      rotate: 3deg;
    }

    .group-hover\:rotate-45:is(:where(.group):hover *) {
      rotate: 45deg;
    }

    .group-hover\:animate-\[spin_3s_linear_infinite\]:is(:where(.group):hover *) {
      animation: 3s linear infinite spin;
    }

    .group-hover\:bg-accent\/20:is(:where(.group):hover *) {
      background-color: var(--color-accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-accent\/20:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
      }
    }

    .group-hover\:bg-primary\/20:is(:where(.group):hover *) {
      background-color: var(--color-primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-primary\/20:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
      }
    }

    .group-hover\:bg-secondary\/20:is(:where(.group):hover *) {
      background-color: var(--color-secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-secondary\/20:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-secondary) 20%, transparent);
      }
    }

    .group-hover\:text-yellow-400:is(:where(.group):hover *) {
      color: var(--color-yellow-400);
    }

    .group-hover\:opacity-90:is(:where(.group):hover *) {
      opacity: .9;
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }

    .group-hover\:ring-2:is(:where(.group):hover *) {
      --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .group-hover\/img\:scale-110:is(:where(.group\/img):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:-translate-y-0\.5:hover {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:-translate-y-1:hover {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:-translate-y-2:hover {
      --tw-translate-y: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-110:hover {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-\[1\.01\]:hover {
      scale: 1.01;
    }

    .hover\:border-cyan-400:hover {
      border-color: var(--color-cyan-400);
    }

    .hover\:border-primary:hover {
      border-color: var(--color-primary);
    }

    .hover\:bg-base-100\/15:hover {
      background-color: var(--color-base-100);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-base-100\/15:hover {
        background-color: color-mix(in oklab, var(--color-base-100) 15%, transparent);
      }
    }

    .hover\:bg-base-200:hover, .hover\:bg-base-200\/50:hover {
      background-color: var(--color-base-200);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-base-200\/50:hover {
        background-color: color-mix(in oklab, var(--color-base-200) 50%, transparent);
      }
    }

    .hover\:bg-cyan-400:hover {
      background-color: var(--color-cyan-400);
    }

    .hover\:bg-error\/10:hover {
      background-color: var(--color-error);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-error\/10:hover {
        background-color: color-mix(in oklab, var(--color-error) 10%, transparent);
      }
    }

    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }

    .hover\:bg-green-400:hover {
      background-color: var(--color-green-400);
    }

    .hover\:bg-magenta-400:hover {
      background-color: var(--color-magenta-400);
    }

    .hover\:bg-orange-400:hover {
      background-color: var(--color-orange-400);
    }

    .hover\:bg-primary:hover, .hover\:bg-primary\/10:hover {
      background-color: var(--color-primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/10:hover {
        background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
      }
    }

    .hover\:bg-transparent:hover {
      background-color: #0000;
    }

    .hover\:bg-white:hover {
      background-color: var(--color-white);
    }

    .hover\:bg-white\/20:hover {
      background-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/20:hover {
        background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .hover\:bg-yellow-400:hover {
      background-color: var(--color-yellow-400);
    }

    .hover\:text-base-content:hover {
      color: var(--color-base-content);
    }

    .hover\:text-black:hover {
      color: var(--color-black);
    }

    .hover\:text-error:hover {
      color: var(--color-error);
    }

    .hover\:text-info:hover {
      color: var(--color-info);
    }

    .hover\:text-primary:hover {
      color: var(--color-primary);
    }

    .hover\:text-secondary:hover {
      color: var(--color-secondary);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:text-yellow-400:hover {
      color: var(--color-yellow-400);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:opacity-100:hover {
      opacity: 1;
    }

    .hover\:shadow-2xl:hover {
      --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
      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-\[0_0_20px_rgba\(34\,197\,94\,0\.3\)\]:hover {
      --tw-shadow: 0 0 20px var(--tw-shadow-color, #22c55e4d);
      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 {
      --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
      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-accent\/50:hover {
      --tw-shadow-color: var(--color-accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-accent\/50:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-accent) 50%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-primary\/50:hover {
      --tw-shadow-color: var(--color-primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-primary\/50:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-primary) 50%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-secondary\/50:hover {
      --tw-shadow-color: var(--color-secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-secondary\/50:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 50%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (min-width: 40rem) {
    .sm\:ml-4 {
      margin-left: calc(var(--spacing) * 4);
    }

    .sm\:block {
      display: block;
    }

    .sm\:hidden {
      display: none;
    }

    .sm\:h-40 {
      height: calc(var(--spacing) * 40);
    }

    .sm\:w-40 {
      width: calc(var(--spacing) * 40);
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }

    .sm\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }

    .sm\:border-4 {
      border-style: var(--tw-border-style);
      border-width: 4px;
    }

    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }

    .sm\:px-3 {
      padding-inline: calc(var(--spacing) * 3);
    }

    .sm\:px-4 {
      padding-inline: calc(var(--spacing) * 4);
    }

    .sm\:py-20 {
      padding-block: calc(var(--spacing) * 20);
    }

    .sm\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }

    .sm\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .sm\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }

    .sm\:text-lg {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }

    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:left-8 {
      left: calc(var(--spacing) * 8);
    }

    .md\:col-span-3 {
      grid-column: span 3 / span 3;
    }

    .md\:mx-0 {
      margin-inline: calc(var(--spacing) * 0);
    }

    .md\:-mt-20 {
      margin-top: calc(var(--spacing) * -20);
    }

    .md\:mt-0 {
      margin-top: calc(var(--spacing) * 0);
    }

    .md\:block {
      display: block;
    }

    .md\:flex {
      display: flex;
    }

    .md\:grid {
      display: grid;
    }

    .md\:hidden {
      display: none;
    }

    .md\:h-20 {
      height: calc(var(--spacing) * 20);
    }

    .md\:h-24 {
      height: calc(var(--spacing) * 24);
    }

    .md\:h-64 {
      height: calc(var(--spacing) * 64);
    }

    .md\:w-20 {
      width: calc(var(--spacing) * 20);
    }

    .md\:w-44 {
      width: calc(var(--spacing) * 44);
    }

    .md\:w-auto {
      width: auto;
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .md\:flex-row {
      flex-direction: row;
    }

    .md\:items-end {
      align-items: flex-end;
    }

    .md\:justify-start {
      justify-content: flex-start;
    }

    .md\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }

    .md\:self-auto {
      align-self: auto;
    }

    .md\:border-t-0 {
      border-top-style: var(--tw-border-style);
      border-top-width: 0;
    }

    .md\:border-l {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }

    .md\:px-0 {
      padding-inline: calc(var(--spacing) * 0);
    }

    .md\:py-24 {
      padding-block: calc(var(--spacing) * 24);
    }

    .md\:py-32 {
      padding-block: calc(var(--spacing) * 32);
    }

    .md\:pt-0 {
      padding-top: calc(var(--spacing) * 0);
    }

    .md\:pt-8 {
      padding-top: calc(var(--spacing) * 8);
    }

    .md\:pb-0 {
      padding-bottom: calc(var(--spacing) * 0);
    }

    .md\:pl-6 {
      padding-left: calc(var(--spacing) * 6);
    }

    .md\:pl-20 {
      padding-left: calc(var(--spacing) * 20);
    }

    .md\:text-left {
      text-align: left;
    }

    .md\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .md\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .md\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }

    .md\:text-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }

    .md\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
  }

  @media (min-width: 64rem) {
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .lg\:block {
      display: block;
    }

    .lg\:h-32 {
      height: calc(var(--spacing) * 32);
    }

    .lg\:h-48 {
      height: calc(var(--spacing) * 48);
    }

    .lg\:h-\[600px\] {
      height: 600px;
    }

    .lg\:h-auto {
      height: auto;
    }

    .lg\:h-full {
      height: 100%;
    }

    .lg\:w-48 {
      width: calc(var(--spacing) * 48);
    }

    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .lg\:object-bottom {
      object-position: bottom;
    }

    .lg\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .lg\:p-12 {
      padding: calc(var(--spacing) * 12);
    }

    .lg\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }

    .lg\:py-24 {
      padding-block: calc(var(--spacing) * 24);
    }

    .lg\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .lg\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }

    .lg\:text-7xl {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }

    .lg\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
  }

  @media (min-width: 80rem) {
    .xl\:text-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
}

.matrix-bg {
  background-image: repeating-linear-gradient(0deg, #22c55e08 0, #0000 1px 2px, #22c55e08 3px), repeating-linear-gradient(90deg, #22c55e08 0, #0000 1px 2px, #22c55e08 3px);
  animation: 20s linear infinite matrix-fall;
}

@keyframes matrix-fall {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 100px;
  }
}

.scanlines {
  pointer-events: none;
  background: repeating-linear-gradient(0deg, #00000026, #00000026 1px, #0000 1px 2px);
  animation: 8s linear infinite scan;
}

@keyframes scan {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 100%;
  }
}

.glitch {
  animation: 3s infinite glitch-anim;
  position: relative;
}

@keyframes glitch-anim {
  0%, 90%, 100% {
    transform: translate(0);
  }

  92% {
    transform: translate(-2px, 2px);
  }

  94% {
    transform: translate(2px, -2px);
  }

  96% {
    transform: translate(-2px, -2px);
  }
}

.glitch:before {
  content: attr(data-text);
  text-shadow: 1px 0 #0ff;
  color: #22d3ee;
  clip: rect(0, 900px, 0, 0);
  background: #000;
  animation: 3s linear infinite alternate-reverse glitch-anim-2;
  position: absolute;
  top: 0;
  left: -2px;
  overflow: hidden;
}

@keyframes glitch-anim-2 {
  0% {
    clip: rect(30px, 9999px, 60px, 0);
  }

  20% {
    clip: rect(90px, 9999px, 20px, 0);
  }

  40% {
    clip: rect(50px, 9999px, 100px, 0);
  }

  60% {
    clip: rect(10px, 9999px, 80px, 0);
  }

  80% {
    clip: rect(70px, 9999px, 40px, 0);
  }

  100% {
    clip: rect(20px, 9999px, 90px, 0);
  }
}

.terminal-cursor:after {
  content: "█";
  color: #22c55e;
  animation: 1s step-end infinite blink;
}

@keyframes blink {
  0%, 50% {
    opacity: 1;
  }

  51%, 100% {
    opacity: 0;
  }
}

.hero-gradient {
  background: radial-gradient(circle at 20%, #7877c64d 0%, #0000 50%), radial-gradient(circle at 80% 80%, #ff646433 0%, #0000 50%), radial-gradient(circle at 40% 20%, #48bf9133 0%, #0000 50%);
  width: 200%;
  height: 200%;
  animation: 20s linear infinite rotate;
  position: absolute;
  top: -50%;
  left: -50%;
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.hero-content {
  z-index: 1;
  text-align: center;
  max-width: 800px;
  position: relative;
}

.hero-image-wrapper {
  width: 180px;
  height: 180px;
  margin: 0 auto 2rem;
  position: relative;
}

.hero-image-ring {
  background: linear-gradient(135deg, #7877c6, #ff6464, #48bf91);
  border-radius: 50%;
  animation: 3s ease-in-out infinite pulse-ring;
  position: absolute;
  inset: -10px;
}

@keyframes pulse-ring {
  0%, 100% {
    opacity: .5;
    transform: scale(1);
  }

  50% {
    opacity: .8;
    transform: scale(1.1);
  }
}

.hero-image {
  object-fit: cover;
  border: 5px solid #1a1a2e;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  position: relative;
}

.hero-title {
  flex-direction: column;
  gap: .5rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.hero-name-first {
  letter-spacing: .5rem;
  color: #7877c6;
  font-size: clamp(2.5rem, 8vw, 5rem);
  font-weight: 300;
  animation: .8s ease-out fade-in-up;
}

.hero-name-last {
  letter-spacing: .5rem;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(135deg, #7877c6, #ff6464, #48bf91);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: clamp(2.5rem, 8vw, 5rem);
  font-weight: 700;
  animation: .8s ease-out .2s backwards fade-in-up;
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-role {
  margin-bottom: 1.5rem;
  font-size: clamp(1.2rem, 4vw, 1.8rem);
  font-weight: 400;
  animation: .8s ease-out .4s backwards fade-in-up;
}

.code-bracket {
  color: #48bf91;
  font-family: Courier New, monospace;
  font-weight: 700;
}

.role-text {
  color: #e0e0e0;
  margin: 0 .5rem;
}

.hero-tagline {
  color: #b0b0b0;
  margin-bottom: 2.5rem;
  font-size: clamp(1rem, 3vw, 1.3rem);
  animation: .8s ease-out .6s backwards fade-in-up;
}

.highlight-prolific {
  color: #ff6464;
  font-weight: 700;
  position: relative;
}

.highlight-prolific:after {
  content: "";
  background: linear-gradient(90deg, #ff6464, #48bf91);
  height: 2px;
  animation: 1s ease-out 1s backwards expand;
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
}

@keyframes expand {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

.social-links {
  justify-content: center;
  gap: 1.5rem;
  animation: .8s ease-out .8s backwards fade-in-up;
  display: flex;
}

.social-link {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: all .3s;
  display: flex;
}

.social-link svg {
  fill: #e0e0e0;
  width: 20px;
  height: 20px;
  transition: all .3s;
}

.social-link:hover {
  background: #ffffff1a;
  border-color: #7877c6;
  transform: translateY(-4px);
}

.social-link:hover svg {
  fill: #7877c6;
}

.about-section {
  background: linear-gradient(#0000 0%, #0003 100%);
  padding: 5rem 2rem;
}

.container-modern {
  max-width: 1200px;
  margin: 0 auto;
}

.section-header {
  text-align: center;
  margin-bottom: 3rem;
}

.section-title {
  color: #fff;
  margin-bottom: 1rem;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
}

.title-accent {
  color: #48bf91;
  font-family: Courier New, monospace;
}

.section-subtitle {
  color: #b0b0b0;
  font-size: 1.1rem;
}

.about-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.about-text {
  color: #d0d0d0;
  margin-bottom: 1.5rem;
  font-size: 1.1rem;
  line-height: 1.8;
}

.about-text strong {
  color: #7877c6;
  font-weight: 600;
}

.tech-stack {
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 3rem;
  display: flex;
}

.tech-badge {
  color: #7877c6;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #7877c61a;
  border: 1px solid #7877c64d;
  border-radius: 999px;
  padding: .75rem 1.5rem;
  font-weight: 600;
  transition: all .3s;
}

.tech-badge:hover {
  background: #7877c633;
  border-color: #7877c6;
  transform: translateY(-4px);
}

.projects-section {
  background: #0003;
  padding: 5rem 2rem;
}

.projects-grid {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
  display: grid;
}

.project-card {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem;
  transition: all .3s;
  display: flex;
}

.project-card:hover {
  background: #ffffff0f;
  border-color: #7877c666;
  transform: translateY(-8px);
  box-shadow: 0 20px 40px #0000004d;
}

.project-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.project-name {
  color: #fff;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
}

.project-badges {
  flex-wrap: wrap;
  flex-shrink: 0;
  gap: .5rem;
  display: flex;
}

.project-badge {
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 999px;
  padding: .25rem .75rem;
  font-size: .75rem;
  font-weight: 600;
}

.project-badge.solo {
  color: #48bf91;
  background: #48bf9133;
  border: 1px solid #48bf914d;
}

.project-badge.team {
  color: #7877c6;
  background: #7877c633;
  border: 1px solid #7877c64d;
}

.project-badge.personal {
  color: #ff6464;
  background: #ff646433;
  border: 1px solid #ff64644d;
}

.project-badge.professional {
  color: #ffc107;
  background: #ffc10733;
  border: 1px solid #ffc1074d;
}

.project-description {
  color: #b0b0b0;
  flex-grow: 1;
  margin: 0;
  line-height: 1.6;
}

.project-link {
  color: #7877c6;
  align-items: center;
  gap: .5rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  display: inline-flex;
}

.project-link svg {
  width: 16px;
  height: 16px;
  transition: all .3s;
}

.project-link:hover {
  color: #ff6464;
  gap: .75rem;
}

.project-tech {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.tech-tag {
  color: #d0d0d0;
  white-space: nowrap;
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 6px;
  padding: .4rem .8rem;
  font-size: .85rem;
}

.tech-tag.more {
  color: #7877c6;
  background: #7877c633;
  border-color: #7877c64d;
  font-weight: 600;
}

.footer-modern {
  text-align: center;
  border-top: 1px solid #ffffff1a;
  padding: 3rem 2rem;
}

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
}

.footer-content p {
  color: #b0b0b0;
  font-size: 1rem;
}

.footer-heart {
  animation: 1.5s ease-in-out infinite heartbeat;
  display: inline-block;
}

.footer-heart svg {
  fill: #ff6464;
  vertical-align: middle;
  width: 20px;
  height: 20px;
}

@keyframes heartbeat {
  0%, 100% {
    transform: scale(1);
  }

  10%, 30% {
    transform: scale(1.1);
  }

  20%, 40% {
    transform: scale(1);
  }
}

.footer-content strong {
  color: #7877c6;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .hero-section {
    min-height: auto;
    padding: 4rem 1.5rem;
  }

  .hero-image-wrapper {
    width: 140px;
    height: 140px;
  }

  .hero-name-first, .hero-name-last {
    letter-spacing: .2rem;
  }

  .about-section, .projects-section {
    padding: 3rem 1rem;
  }

  .section-header {
    margin-bottom: 2rem;
  }

  .tech-stack {
    margin-top: 2rem;
  }

  .projects-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .project-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .social-links {
    gap: 1rem;
  }

  .social-link {
    width: 44px;
    height: 44px;
  }
}

@media screen and (max-width: 480px) {
  .hero-section {
    padding: 3rem 1rem;
  }

  .hero-image-wrapper {
    width: 120px;
    height: 120px;
  }

  .project-card {
    padding: 1.5rem;
  }

  .tech-badge {
    padding: .6rem 1.2rem;
    font-size: .9rem;
  }
}

@keyframes rating {
  0%, 40% {
    filter: brightness(1.05) contrast(1.05);
    scale: 1.1;
  }
}

@keyframes dropdown {
  0% {
    opacity: 0;
  }
}

@keyframes radio {
  0% {
    padding: 5px;
  }

  50% {
    padding: 3px;
  }
}

@keyframes toast {
  0% {
    opacity: 0;
    scale: .9;
  }

  100% {
    opacity: 1;
    scale: 1;
  }
}

@keyframes rotator {
  89.9999%, 100% {
    --first-item-position: 0 0%;
  }

  90%, 99.9999% {
    --first-item-position: 0 calc(var(--items) * 100%);
  }

  100% {
    translate: 0 -100%;
  }
}

@keyframes skeleton {
  0% {
    background-position: 150%;
  }

  100% {
    background-position: -50%;
  }
}

@keyframes menu {
  0% {
    opacity: 0;
  }
}

@keyframes progress {
  50% {
    background-position-x: -115%;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-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-scroll-snap-strictness {
  syntax: "*";
  inherits: false;
  initial-value: proximity;
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-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: 0;
}

@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
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}
