/*! 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-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --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-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-contain-size: initial;
      --tw-contain-layout: initial;
      --tw-contain-paint: initial;
      --tw-contain-style: initial;
    }
  }
}

.mobile-mode *, .webview-optimized * {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.pc-mode * {
  -webkit-user-select: auto;
  user-select: auto;
}

input, textarea, [contenteditable] {
  -webkit-user-select: text;
  user-select: text;
}

.scrollable-container, .library-container, .dropdown-menu, .option-list, .character-library, .banner-library, .artifact-library, .animated-character-library {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y manipulation;
}

.animate-fade-in-fast {
  will-change: transform, opacity;
  transform: translateZ(0);
}

.transition-opacity {
  will-change: opacity;
}

.animate-spin, .animate-spin-slow, .animate-spin-fast {
  will-change: transform;
}

@media (hover: none) and (pointer: coarse) {
  .hover\:scale-102:hover, .hover\:scale-105:hover {
    transition: none !important;
    transform: none !important;
  }

  button, [role="button"], .cursor-pointer {
    touch-action: manipulation;
    -webkit-tap-highlight-color: #0000001a;
  }
}

@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-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-900: oklch(39.6% .141 25.723);
    --color-orange-400: oklch(75% .183 55.934);
    --color-orange-500: oklch(70.5% .213 47.604);
    --color-orange-600: oklch(64.6% .222 41.116);
    --color-orange-700: oklch(55.3% .195 38.402);
    --color-orange-900: oklch(40.8% .123 38.172);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-900: oklch(41.4% .112 45.904);
    --color-yellow-100: oklch(97.3% .071 103.193);
    --color-yellow-200: oklch(94.5% .129 101.54);
    --color-yellow-300: oklch(90.5% .182 98.111);
    --color-yellow-400: oklch(85.2% .199 91.936);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-yellow-600: oklch(68.1% .162 75.834);
    --color-yellow-700: oklch(55.4% .135 66.442);
    --color-yellow-900: oklch(42.1% .095 57.708);
    --color-green-100: oklch(96.2% .044 156.743);
    --color-green-200: oklch(92.5% .084 155.995);
    --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-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-green-900: oklch(39.3% .095 152.535);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-emerald-700: oklch(50.8% .118 165.612);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-cyan-200: oklch(91.7% .08 205.041);
    --color-cyan-300: oklch(86.5% .127 207.078);
    --color-cyan-400: oklch(78.9% .154 211.53);
    --color-cyan-500: oklch(71.5% .143 215.221);
    --color-cyan-600: oklch(60.9% .126 221.723);
    --color-cyan-700: oklch(52% .105 223.128);
    --color-cyan-900: oklch(39.8% .07 227.392);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-300: oklch(80.9% .105 251.813);
    --color-blue-400: oklch(70.7% .165 254.624);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-900: oklch(37.9% .146 265.522);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-700: oklch(45.7% .24 277.023);
    --color-violet-300: oklch(81.1% .111 293.571);
    --color-purple-300: oklch(82.7% .119 306.383);
    --color-purple-400: oklch(71.4% .203 305.504);
    --color-purple-500: oklch(62.7% .265 303.9);
    --color-purple-600: oklch(55.8% .288 302.321);
    --color-purple-700: oklch(49.6% .265 301.924);
    --color-purple-900: oklch(38.1% .176 304.987);
    --color-pink-300: oklch(82.3% .12 346.018);
    --color-pink-400: oklch(71.8% .202 349.761);
    --color-pink-500: oklch(65.6% .241 354.308);
    --color-pink-600: oklch(59.2% .249 .584);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-800: oklch(45.5% .188 13.697);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --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-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-gray-950: oklch(13% .028 261.692);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --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;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wide: .025em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-xs: .125rem;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --drop-shadow-md: 0 3px 3px #0000001f;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-xs: 4px;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --aspect-video: 16 / 9;
    --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);
  }
}

@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;
  }
}

@layer components;

@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }

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

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .fixed\! {
    position: fixed !important;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

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

  .inset-\[1px\] {
    inset: 1px;
  }

  .inset-\[2px\] {
    inset: 2px;
  }

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

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

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

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

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

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

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

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

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

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

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

  .top-\[72px\] {
    top: 72px;
  }

  .top-\[80px\] {
    top: 80px;
  }

  .top-\[88px\] {
    top: 88px;
  }

  .top-\[184px\] {
    top: 184px;
  }

  .top-\[188px\] {
    top: 188px;
  }

  .top-\[340px\] {
    top: 340px;
  }

  .top-\[360px\] {
    top: 360px;
  }

  .top-\[390px\] {
    top: 390px;
  }

  .top-\[420px\] {
    top: 420px;
  }

  .top-\[436px\] {
    top: 436px;
  }

  .top-\[520px\] {
    top: 520px;
  }

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

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

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

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

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

  .right-\[-5px\] {
    right: -5px;
  }

  .right-\[10px\] {
    right: 10px;
  }

  .right-\[15px\] {
    right: 15px;
  }

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

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

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

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

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

  .bottom-\[9px\] {
    bottom: 9px;
  }

  .bottom-full {
    bottom: 100%;
  }

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

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

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

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

  .left-2\.5 {
    left: calc(var(--spacing) * 2.5);
  }

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

  .isolate {
    isolation: isolate;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .z-\[1\] {
    z-index: 1;
  }

  .z-\[60\] {
    z-index: 60;
  }

  .z-\[9998\] {
    z-index: 9998;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .z-\[10000\] {
    z-index: 10000;
  }

  .z-\[10001\] {
    z-index: 10001;
  }

  .z-\[10002\] {
    z-index: 10002;
  }

  .z-\[10009\] {
    z-index: 10009;
  }

  .z-\[10010\] {
    z-index: 10010;
  }

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

  .\!container {
    width: 100% !important;
  }

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

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

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

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

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

  .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-auto {
    margin-inline: auto;
  }

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

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

  .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-px {
    margin-top: 1px;
  }

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

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

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

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

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

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

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

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

  .mb-\[54px\] {
    margin-bottom: 54px;
  }

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

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

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

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

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

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .list-item {
    display: list-item;
  }

  .table {
    display: table;
  }

  .aspect-4\/3 {
    aspect-ratio: 4 / 3;
  }

  .aspect-\[3\/4\.7\] {
    aspect-ratio: 3 / 4.7;
  }

  .aspect-\[3\/4\] {
    aspect-ratio: 3 / 4;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .h-full {
    height: 100%;
  }

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

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

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

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

  .max-h-\[32rem\] {
    max-height: 32rem;
  }

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

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

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

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

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

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

  .min-h-\[8rem\] {
    min-height: 8rem;
  }

  .min-h-\[12rem\] {
    min-height: 12rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-11\/12 {
    width: 91.6667%;
  }

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

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

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

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

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

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

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

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

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

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

  .w-full {
    width: 100%;
  }

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

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

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

  .max-w-\[20rem\] {
    max-width: 20rem;
  }

  .max-w-\[280px\] {
    max-width: 280px;
  }

  .max-w-\[400px\] {
    max-width: 400px;
  }

  .max-w-\[1200px\] {
    max-width: 1200px;
  }

  .max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .flex-1 {
    flex: 1;
  }

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

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

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

  .origin-bottom {
    transform-origin: bottom;
  }

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

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

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

  .translate-x-6 {
    --tw-translate-x: calc(var(--spacing) * 6);
    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-2 {
    --tw-translate-y: calc(var(--spacing) * -2);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

  .translate-y-full {
    --tw-translate-y: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

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

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

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

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

  .rotate-90 {
    rotate: 90deg;
  }

  .rotate-180 {
    rotate: 180deg;
  }

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

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

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

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

  .cursor-default {
    cursor: default;
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-wait {
    cursor: wait;
  }

  .touch-pan-y {
    --tw-pan-y: pan-y;
    touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, );
  }

  .touch-manipulation {
    touch-action: manipulation;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .list-none {
    list-style-type: none;
  }

  .appearance-none {
    appearance: none;
  }

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

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

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

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

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

  .grid-cols-8 {
    grid-template-columns: repeat(8, 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-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

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

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

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

  .gap-px {
    gap: 1px;
  }

  :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-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * 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-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :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-1 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :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-3 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
  }

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

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-visible {
    overflow: visible;
  }

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

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

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

  .rounded {
    border-radius: .25rem;
  }

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

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

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

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

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

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

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

  .rounded-t-xl {
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
  }

  .rounded-b-lg {
    border-bottom-right-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
  }

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

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

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

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

  .border-\[0\.75px\] {
    border-style: var(--tw-border-style);
    border-width: .75px;
  }

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

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

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

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

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

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

  .border-\(--theme-border\) {
    border-color: var(--theme-border);
  }

  .border-\[\#4CAF50\] {
    border-color: #4caf50;
  }

  .border-\[\#f44336\] {
    border-color: #f44336;
  }

  .border-\[var\(--theme-border\)\] {
    border-color: var(--theme-border);
  }

  .border-amber-500\/30 {
    border-color: #f99c004d;
  }

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

  .border-amber-500\/50 {
    border-color: #f99c0080;
  }

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

  .border-black\/80 {
    border-color: #000c;
  }

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

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

  .border-blue-500\/30 {
    border-color: #3080ff4d;
  }

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

  .border-blue-500\/50 {
    border-color: #3080ff80;
  }

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

  .border-current {
    border-color: currentColor;
  }

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

  .border-cyan-400\/50 {
    border-color: #00d2ef80;
  }

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

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

  .border-cyan-500\/10 {
    border-color: #00b7d71a;
  }

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

  .border-cyan-500\/20 {
    border-color: #00b7d733;
  }

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

  .border-cyan-500\/30 {
    border-color: #00b7d74d;
  }

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

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

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

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

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

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

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

  .border-green-300\/40 {
    border-color: #7bf1a866;
  }

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

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

  .border-green-500\/30 {
    border-color: #00c7584d;
  }

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

  .border-green-500\/50 {
    border-color: #00c75880;
  }

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

  .border-green-600\/50 {
    border-color: #00a54480;
  }

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

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

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

  .border-purple-300\/40 {
    border-color: #d9b3ff66;
  }

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

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

  .border-purple-400\/30 {
    border-color: #c07eff4d;
  }

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

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

  .border-purple-500\/20 {
    border-color: #ac4bff33;
  }

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

  .border-purple-500\/30 {
    border-color: #ac4bff4d;
  }

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

  .border-red-500\/30 {
    border-color: #fb2c364d;
  }

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

  .border-red-500\/50 {
    border-color: #fb2c3680;
  }

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

  .border-red-700 {
    border-color: var(--color-red-700);
  }

  .border-red-700\/50 {
    border-color: #bf000f80;
  }

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

  .border-transparent {
    border-color: #0000;
  }

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

  .border-white\/5 {
    border-color: #ffffff0d;
  }

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

  .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-white\/20 {
    border-color: #fff3;
  }

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

  .border-white\/25 {
    border-color: #ffffff40;
  }

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

  .border-yellow-300\/40 {
    border-color: #ffe02a66;
  }

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

  .border-yellow-500\/30 {
    border-color: #edb2004d;
  }

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

  .border-yellow-500\/50 {
    border-color: #edb20080;
  }

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

  .border-yellow-600\/50 {
    border-color: #cd890080;
  }

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

  .border-t-current {
    border-top-color: currentColor;
  }

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

  .border-t-transparent {
    border-top-color: #0000;
  }

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

  .bg-\(--theme-surface\) {
    background-color: var(--theme-surface);
  }

  .bg-\[\#1a1a1a\] {
    background-color: #1a1a1a;
  }

  .bg-\[\#2a2a2a\] {
    background-color: #2a2a2a;
  }

  .bg-\[\#4CAF50\] {
    background-color: #4caf50;
  }

  .bg-\[\#333\] {
    background-color: #333;
  }

  .bg-\[\#666\] {
    background-color: #666;
  }

  .bg-\[\#2196F3\] {
    background-color: #2196f3;
  }

  .bg-\[\#111827\] {
    background-color: #111827;
  }

  .bg-\[\#f44336\] {
    background-color: #f44336;
  }

  .bg-\[var\(--theme-bg\)\] {
    background-color: var(--theme-bg);
  }

  .bg-\[var\(--theme-surface\)\] {
    background-color: var(--theme-surface);
  }

  .bg-\[var\(--theme-surface-hover\)\] {
    background-color: var(--theme-surface-hover);
  }

  .bg-\[var\(--theme-surface-opaque\)\] {
    background-color: var(--theme-surface-opaque);
  }

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

  .bg-amber-500\/20 {
    background-color: #f99c0033;
  }

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

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

  .bg-amber-600\/90 {
    background-color: #dd7400e6;
  }

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

  .bg-amber-900\/30 {
    background-color: #7b33064d;
  }

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

  .bg-amber-900\/80 {
    background-color: #7b3306cc;
  }

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

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

  .bg-black\/10 {
    background-color: #0000001a;
  }

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

  .bg-black\/20 {
    background-color: #0003;
  }

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

  .bg-black\/25 {
    background-color: #00000040;
  }

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

  .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\/40 {
    background-color: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/40 {
      background-color: color-mix(in oklab, var(--color-black) 40%, 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-black\/70 {
    background-color: #000000b3;
  }

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

  .bg-black\/80 {
    background-color: #000c;
  }

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

  .bg-black\/90 {
    background-color: #000000e6;
  }

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

  .bg-black\/95 {
    background-color: #000000f2;
  }

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

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

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

  .bg-blue-500\/10 {
    background-color: #3080ff1a;
  }

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

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

  .bg-blue-600\/20 {
    background-color: #155dfc33;
  }

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

  .bg-blue-600\/90 {
    background-color: #155dfce6;
  }

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

  .bg-blue-900\/20 {
    background-color: #1c398e33;
  }

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

  .bg-blue-900\/30 {
    background-color: #1c398e4d;
  }

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

  .bg-blue-900\/90 {
    background-color: #1c398ee6;
  }

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

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

  .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-cyan-500 {
    background-color: var(--color-cyan-500);
  }

  .bg-cyan-500\/20 {
    background-color: #00b7d733;
  }

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

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

  .bg-cyan-600\/20 {
    background-color: #0092b533;
  }

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

  .bg-cyan-600\/90 {
    background-color: #0092b5e6;
  }

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

  .bg-cyan-900\/30 {
    background-color: #104e644d;
  }

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

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

  .bg-emerald-900\/30 {
    background-color: #004e3b4d;
  }

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

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

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

  .bg-gray-600\/50 {
    background-color: #4a556580;
  }

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

  .bg-gray-600\/90 {
    background-color: #4a5565e6;
  }

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

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

  .bg-gray-700\/50 {
    background-color: #36415380;
  }

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

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

  .bg-gray-800\/30 {
    background-color: #1e29394d;
  }

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

  .bg-gray-800\/50 {
    background-color: #1e293980;
  }

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

  .bg-gray-800\/80 {
    background-color: #1e2939cc;
  }

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

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

  .bg-gray-900\/50 {
    background-color: #10182880;
  }

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

  .bg-gray-900\/80 {
    background-color: #101828cc;
  }

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

  .bg-gray-900\/90 {
    background-color: #101828e6;
  }

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

  .bg-gray-900\/95 {
    background-color: #101828f2;
  }

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

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

  .bg-gray-950\/60 {
    background-color: #03071299;
  }

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

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

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

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

  .bg-green-900\/20 {
    background-color: #0d542b33;
  }

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

  .bg-green-900\/30 {
    background-color: #0d542b4d;
  }

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

  .bg-green-900\/40 {
    background-color: #0d542b66;
  }

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

  .bg-green-900\/50 {
    background-color: #0d542b80;
  }

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

  .bg-green-900\/90 {
    background-color: #0d542be6;
  }

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

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

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

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

  .bg-pink-600\/90 {
    background-color: #e30076e6;
  }

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

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

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

  .bg-purple-500\/10 {
    background-color: #ac4bff1a;
  }

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

  .bg-purple-500\/20 {
    background-color: #ac4bff33;
  }

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

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

  .bg-purple-900\/20 {
    background-color: #59168b33;
  }

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

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

  .bg-red-500\/10 {
    background-color: #fb2c361a;
  }

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

  .bg-red-500\/20 {
    background-color: #fb2c3633;
  }

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

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

  .bg-red-600\/20 {
    background-color: #e4001433;
  }

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

  .bg-red-600\/90 {
    background-color: #e40014e6;
  }

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

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

  .bg-red-900\/20 {
    background-color: #82181a33;
  }

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

  .bg-red-900\/30 {
    background-color: #82181a4d;
  }

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

  .bg-red-900\/40 {
    background-color: #82181a66;
  }

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

  .bg-red-900\/50 {
    background-color: #82181a80;
  }

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

  .bg-rose-800\/90 {
    background-color: #a30037e6;
  }

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

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

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

  .bg-white\/3 {
    background-color: #ffffff08;
  }

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

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

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

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

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

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

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

  .bg-yellow-600\/90 {
    background-color: #cd8900e6;
  }

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

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

  .bg-yellow-900\/20 {
    background-color: #733e0a33;
  }

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

  .bg-yellow-900\/30 {
    background-color: #733e0a4d;
  }

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

  .bg-yellow-900\/90 {
    background-color: #733e0ae6;
  }

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

  .bg-linear-to-t {
    --tw-gradient-position: to top;
  }

  @supports (background-image: linear-gradient(in lab, red, red)) {
    .bg-linear-to-t {
      --tw-gradient-position: to top in oklab;
    }
  }

  .bg-linear-to-t {
    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));
  }

  .from-black\/80 {
    --tw-gradient-from: #000c;
  }

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

  .from-black\/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));
  }

  .from-cyan-500 {
    --tw-gradient-from: var(--color-cyan-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-gray-900 {
    --tw-gradient-from: var(--color-gray-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-green-500 {
    --tw-gradient-from: var(--color-green-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-green-500\/15 {
    --tw-gradient-from: #00c75826;
  }

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

  .from-green-500\/15 {
    --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-purple-500\/15 {
    --tw-gradient-from: #ac4bff26;
  }

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

  .from-purple-500\/15 {
    --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-purple-500\/20 {
    --tw-gradient-from: #ac4bff33;
  }

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

  .from-purple-500\/20 {
    --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-purple-600 {
    --tw-gradient-from: var(--color-purple-600);
    --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-yellow-500\/15 {
    --tw-gradient-from: #edb20026;
  }

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

  .from-yellow-500\/15 {
    --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-yellow-900\/30 {
    --tw-gradient-from: #733e0a4d;
  }

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

  .from-yellow-900\/30 {
    --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\/50 {
    --tw-gradient-via: #00000080;
  }

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

  .via-black\/50 {
    --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-gray-800 {
    --tw-gradient-via: var(--color-gray-800);
    --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-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-amber-500\/15 {
    --tw-gradient-to: #f99c0026;
  }

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

  .to-amber-500\/15 {
    --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-black {
    --tw-gradient-to: var(--color-black);
    --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-blue-500 {
    --tw-gradient-to: var(--color-blue-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-500\/15 {
    --tw-gradient-to: #3080ff26;
  }

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

  .to-blue-500\/15 {
    --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-blue-500\/20 {
    --tw-gradient-to: #3080ff33;
  }

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

  .to-blue-500\/20 {
    --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-blue-600 {
    --tw-gradient-to: var(--color-blue-600);
    --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-emerald-500 {
    --tw-gradient-to: var(--color-emerald-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-emerald-500\/15 {
    --tw-gradient-to: #00bb7f26;
  }

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

  .to-emerald-500\/15 {
    --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-orange-900\/30 {
    --tw-gradient-to: #7e2a0c4d;
  }

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

  .to-orange-900\/30 {
    --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-center {
    background-position: center;
  }

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

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

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

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

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

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

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

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

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-\[8px\] {
    font-size: 8px;
  }

  .text-\[9px\] {
    font-size: 9px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

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

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

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

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

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

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

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

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

  .text-\(--theme-color-d20\) {
    color: var(--theme-color-d20);
  }

  .text-\(--theme-text\) {
    color: var(--theme-text);
  }

  .text-\(--theme-text-muted\) {
    color: var(--theme-text-muted);
  }

  .text-\[\#4CAF50\] {
    color: #4caf50;
  }

  .text-\[\#888\] {
    color: #888;
  }

  .text-\[\#2196F3\] {
    color: #2196f3;
  }

  .text-\[\#b0b0b0\] {
    color: #b0b0b0;
  }

  .text-\[\#f44336\] {
    color: #f44336;
  }

  .text-\[var\(--theme-color-d20\)\] {
    color: var(--theme-color-d20);
  }

  .text-\[var\(--theme-text\)\] {
    color: var(--theme-text);
  }

  .text-\[var\(--theme-text-muted\)\] {
    color: var(--theme-text-muted);
  }

  .text-amber-200 {
    color: var(--color-amber-200);
  }

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

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

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

  .text-amber-900 {
    color: var(--color-amber-900);
  }

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

  .text-blue-100 {
    color: var(--color-blue-100);
  }

  .text-blue-200 {
    color: var(--color-blue-200);
  }

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

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

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

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

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

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

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

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

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

  .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-100 {
    color: var(--color-green-100);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-red-500\/50 {
    color: #fb2c3680;
  }

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

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

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

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

  .text-white\/30 {
    color: #ffffff4d;
  }

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

  .text-white\/70 {
    color: #ffffffb3;
  }

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

  .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-yellow-100 {
    color: var(--color-yellow-100);
  }

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

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

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

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

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline {
    text-decoration-line: underline;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

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

  .accent-cyan-500 {
    accent-color: var(--color-cyan-500);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-20 {
    opacity: .2;
  }

  .opacity-25 {
    opacity: .25;
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

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

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
    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-0 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-1 {
    --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-3 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-black\/20 {
    --tw-shadow-color: #0003;
  }

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

  .shadow-black\/50 {
    --tw-shadow-color: #00000080;
  }

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

  .shadow-cyan-400\/50 {
    --tw-shadow-color: #00d2ef80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-400\/50 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-400) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-green-500\/50 {
    --tw-shadow-color: #00c75880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-green-500\/50 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-red-500\/50 {
    --tw-shadow-color: #fb2c3680;
  }

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

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

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

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

  .ring-red-600 {
    --tw-ring-color: var(--color-red-600);
  }

  .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-gray-900 {
    --tw-ring-offset-color: var(--color-gray-900);
  }

  .outline-hidden {
    --tw-outline-style: none;
    outline-style: none;
  }

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

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

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-md {
    --tw-blur: blur(var(--blur-md));
    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-sm {
    --tw-blur: blur(var(--blur-sm));
    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-xs {
    --tw-blur: blur(var(--blur-xs));
    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 {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
    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-md {
    --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, #0000001f));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
    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, );
  }

  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .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 {
    --tw-backdrop-blur: blur(8px);
    -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-\[1px\] {
    --tw-backdrop-blur: blur(1px);
    -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-\[2px\] {
    --tw-backdrop-blur: blur(2px);
    -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-\[4px\] {
    --tw-backdrop-blur: blur(4px);
    -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-lg {
    --tw-backdrop-blur: blur(var(--blur-lg));
    -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-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, );
  }

  .backdrop-blur-xl {
    --tw-backdrop-blur: blur(var(--blur-xl));
    -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-filter {
    -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-filter-\(--theme-panel-blur\), .backdrop-filter-\[var\(--theme-panel-blur\)\] {
    -webkit-backdrop-filter: var(--theme-panel-blur);
    backdrop-filter: var(--theme-panel-blur);
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[box-shadow\,transform\,filter\,opacity\,border-color\] {
    transition-property: box-shadow, transform, filter, opacity, border-color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[box-shadow\,transform\,filter\,opacity\] {
    transition-property: box-shadow, transform, filter, opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[object-position\,transform\] {
    transition-property: object-position, transform;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[object-position\] {
    transition-property: object-position;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[opacity\,border-color\] {
    transition-property: opacity, border-color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-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-0 {
    --tw-duration: 0s;
    transition-duration: 0s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-400 {
    --tw-duration: .4s;
    transition-duration: .4s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .duration-600 {
    --tw-duration: .6s;
    transition-duration: .6s;
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .duration-800 {
    --tw-duration: .8s;
    transition-duration: .8s;
  }

  .duration-1000 {
    --tw-duration: 1s;
    transition-duration: 1s;
  }

  .duration-\[800ms\] {
    --tw-duration: .8s;
    transition-duration: .8s;
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .will-change-\[transform\,opacity\] {
    will-change: transform, opacity;
  }

  .will-change-transform {
    will-change: transform;
  }

  .contain-layout {
    --tw-contain-layout: layout;
    contain: var(--tw-contain-size, ) var(--tw-contain-layout, ) var(--tw-contain-paint, ) var(--tw-contain-style, );
  }

  .contain-strict {
    contain: strict;
  }

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

  .select-auto {
    -webkit-user-select: auto;
    user-select: auto;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .backface-hidden {
    backface-visibility: hidden;
  }

  @media (hover: hover) {
    .group-hover\:scale-105:is(:where(.group):hover *) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  @media (hover: hover) {
    .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-\[1\.01\]:hover {
      scale: 1.01;
    }

    .hover\:border-\[var\(--theme-accent\)\]:hover {
      border-color: var(--theme-accent);
    }

    .hover\:border-amber-500\/50:hover {
      border-color: #f99c0080;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-amber-500\/50:hover {
        border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
      }
    }

    .hover\:border-blue-400:hover {
      border-color: var(--color-blue-400);
    }

    .hover\:border-cyan-400\/30:hover {
      border-color: #00d2ef4d;
    }

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

    .hover\:border-cyan-500:hover {
      border-color: var(--color-cyan-500);
    }

    .hover\:border-cyan-500\/50:hover {
      border-color: #00b7d780;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-cyan-500\/50:hover {
        border-color: color-mix(in oklab, var(--color-cyan-500) 50%, transparent);
      }
    }

    .hover\:border-emerald-500\/50:hover {
      border-color: #00bb7f80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-emerald-500\/50:hover {
        border-color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);
      }
    }

    .hover\:border-gray-500:hover {
      border-color: var(--color-gray-500);
    }

    .hover\:border-gray-600:hover {
      border-color: var(--color-gray-600);
    }

    .hover\:border-white\/20:hover {
      border-color: #fff3;
    }

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

    .hover\:border-white\/30:hover {
      border-color: #ffffff4d;
    }

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

    .hover\:bg-\(--theme-surface-hover\):hover {
      background-color: var(--theme-surface-hover);
    }

    .hover\:bg-\[\#45a049\]:hover {
      background-color: #45a049;
    }

    .hover\:bg-\[\#555\]:hover {
      background-color: #555;
    }

    .hover\:bg-\[\#1976D2\]:hover {
      background-color: #1976d2;
    }

    .hover\:bg-\[var\(--theme-surface-hover\)\]:hover {
      background-color: var(--theme-surface-hover);
    }

    .hover\:bg-amber-500:hover {
      background-color: var(--color-amber-500);
    }

    .hover\:bg-amber-900:hover {
      background-color: var(--color-amber-900);
    }

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

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

    .hover\:bg-black\/70:hover {
      background-color: #000000b3;
    }

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

    .hover\:bg-black\/80:hover {
      background-color: #000c;
    }

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

    .hover\:bg-black\/90:hover {
      background-color: #000000e6;
    }

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

    .hover\:bg-blue-500:hover {
      background-color: var(--color-blue-500);
    }

    .hover\:bg-blue-600\/30:hover {
      background-color: #155dfc4d;
    }

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

    .hover\:bg-blue-700:hover {
      background-color: var(--color-blue-700);
    }

    .hover\:bg-cyan-500:hover {
      background-color: var(--color-cyan-500);
    }

    .hover\:bg-cyan-600:hover {
      background-color: var(--color-cyan-600);
    }

    .hover\:bg-cyan-600\/30:hover {
      background-color: #0092b54d;
    }

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

    .hover\:bg-cyan-700:hover {
      background-color: var(--color-cyan-700);
    }

    .hover\:bg-emerald-700:hover {
      background-color: var(--color-emerald-700);
    }

    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }

    .hover\:bg-gray-500:hover {
      background-color: var(--color-gray-500);
    }

    .hover\:bg-gray-600:hover {
      background-color: var(--color-gray-600);
    }

    .hover\:bg-gray-700:hover {
      background-color: var(--color-gray-700);
    }

    .hover\:bg-gray-700\/50:hover {
      background-color: #36415380;
    }

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

    .hover\:bg-gray-800:hover {
      background-color: var(--color-gray-800);
    }

    .hover\:bg-gray-800\/80:hover {
      background-color: #1e2939cc;
    }

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

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

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

    .hover\:bg-indigo-700:hover {
      background-color: var(--color-indigo-700);
    }

    .hover\:bg-orange-500:hover {
      background-color: var(--color-orange-500);
    }

    .hover\:bg-orange-500\/20:hover {
      background-color: #fe6e0033;
    }

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

    .hover\:bg-orange-700:hover {
      background-color: var(--color-orange-700);
    }

    .hover\:bg-pink-500:hover {
      background-color: var(--color-pink-500);
    }

    .hover\:bg-purple-700:hover {
      background-color: var(--color-purple-700);
    }

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

    .hover\:bg-red-600:hover {
      background-color: var(--color-red-600);
    }

    .hover\:bg-red-600\/30:hover {
      background-color: #e400144d;
    }

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

    .hover\:bg-red-700:hover {
      background-color: var(--color-red-700);
    }

    .hover\:bg-red-900\/30:hover {
      background-color: #82181a4d;
    }

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

    .hover\:bg-white\/5:hover {
      background-color: #ffffff0d;
    }

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

    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

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

    .hover\:bg-yellow-700:hover {
      background-color: var(--color-yellow-700);
    }

    .hover\:from-cyan-600:hover {
      --tw-gradient-from: var(--color-cyan-600);
      --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));
    }

    .hover\:from-green-500\/25:hover {
      --tw-gradient-from: #00c75840;
    }

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

    .hover\:from-green-500\/25:hover {
      --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));
    }

    .hover\:from-green-600:hover {
      --tw-gradient-from: var(--color-green-600);
      --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));
    }

    .hover\:from-purple-500\/25:hover {
      --tw-gradient-from: #ac4bff40;
    }

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

    .hover\:from-purple-500\/25:hover {
      --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));
    }

    .hover\:from-purple-700:hover {
      --tw-gradient-from: var(--color-purple-700);
      --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));
    }

    .hover\:from-yellow-500\/25:hover {
      --tw-gradient-from: #edb20040;
    }

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

    .hover\:from-yellow-500\/25:hover {
      --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));
    }

    .hover\:to-amber-500\/25:hover {
      --tw-gradient-to: #f99c0040;
    }

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

    .hover\:to-amber-500\/25:hover {
      --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));
    }

    .hover\:to-blue-500\/25:hover {
      --tw-gradient-to: #3080ff40;
    }

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

    .hover\:to-blue-500\/25:hover {
      --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));
    }

    .hover\:to-blue-600:hover {
      --tw-gradient-to: var(--color-blue-600);
      --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));
    }

    .hover\:to-blue-700:hover {
      --tw-gradient-to: var(--color-blue-700);
      --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));
    }

    .hover\:to-emerald-500\/25:hover {
      --tw-gradient-to: #00bb7f40;
    }

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

    .hover\:to-emerald-500\/25:hover {
      --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));
    }

    .hover\:to-emerald-600:hover {
      --tw-gradient-to: var(--color-emerald-600);
      --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));
    }

    .hover\:text-amber-200:hover {
      color: var(--color-amber-200);
    }

    .hover\:text-amber-300:hover {
      color: var(--color-amber-300);
    }

    .hover\:text-blue-200:hover {
      color: var(--color-blue-200);
    }

    .hover\:text-blue-400:hover {
      color: var(--color-blue-400);
    }

    .hover\:text-cyan-200:hover {
      color: var(--color-cyan-200);
    }

    .hover\:text-cyan-300:hover {
      color: var(--color-cyan-300);
    }

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

    .hover\:text-gray-200:hover {
      color: var(--color-gray-200);
    }

    .hover\:text-gray-300:hover {
      color: var(--color-gray-300);
    }

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

    .hover\:text-red-300:hover {
      color: var(--color-red-300);
    }

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

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

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:opacity-75:hover {
      opacity: .75;
    }

    .hover\:opacity-100:hover {
      opacity: 1;
    }

    .hover\:shadow-lg:hover {
      --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);
    }

    .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-blue-500\/25:hover {
      --tw-shadow-color: #3080ff40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-blue-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-cyan-500\/25:hover {
      --tw-shadow-color: #00b7d740;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-cyan-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-gray-500\/25:hover {
      --tw-shadow-color: #6a728240;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-gray-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-pink-500\/25:hover {
      --tw-shadow-color: #f6339a40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-pink-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-pink-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-red-500\/25:hover {
      --tw-shadow-color: #fb2c3640;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-red-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }

  .focus\:border-blue-500:focus {
    border-color: var(--color-blue-500);
  }

  .focus\:border-cyan-500:focus {
    border-color: var(--color-cyan-500);
  }

  .focus\:border-cyan-500\/50:focus {
    border-color: #00b7d780;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-cyan-500\/50:focus {
      border-color: color-mix(in oklab, var(--color-cyan-500) 50%, transparent);
    }
  }

  .focus\:border-orange-500:focus {
    border-color: var(--color-orange-500);
  }

  .focus\:bg-white\/10:focus {
    background-color: #ffffff1a;
  }

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

  .focus\:ring-1:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-cyan-500\/20:focus {
    --tw-ring-color: #00b7d733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-cyan-500\/20:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-500) 20%, transparent);
    }
  }

  .focus\:ring-cyan-500\/80:focus {
    --tw-ring-color: #00b7d7cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-cyan-500\/80:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-500) 80%, transparent);
    }
  }

  .focus\:ring-green-500:focus {
    --tw-ring-color: var(--color-green-500);
  }

  .focus\:ring-red-500:focus {
    --tw-ring-color: var(--color-red-500);
  }

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

  .active\:scale-95:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:bg-gray-600:disabled {
    background-color: var(--color-gray-600);
  }

  .disabled\:bg-gray-700:disabled {
    background-color: var(--color-gray-700);
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  @media (hover: hover) {
    .disabled\:hover\:bg-black\/50:disabled:hover {
      background-color: #00000080;
    }

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

  @media (min-width: 40rem) {
    .sm\:h-48 {
      height: calc(var(--spacing) * 48);
    }

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

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

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

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

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

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

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

    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

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

    .sm\:pb-2 {
      padding-bottom: calc(var(--spacing) * 2);
    }

    .sm\:pb-6 {
      padding-bottom: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 48rem) {
    .md\:h-48 {
      height: calc(var(--spacing) * 48);
    }

    .md\:h-52 {
      height: calc(var(--spacing) * 52);
    }

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

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

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

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

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

  @media (min-width: 64rem) {
    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

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

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

  @media (min-width: 80rem) {
    .xl\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }
  }
}

video::-webkit-media-controls {
  -webkit-appearance: none;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  display: none !important;
}

video::-webkit-media-controls-start-playback-button {
  -webkit-appearance: none;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  display: none !important;
}

video::-webkit-media-controls-overlay-play-button {
  -webkit-appearance: none;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  display: none !important;
}

video::-webkit-media-controls-enclosure {
  -webkit-appearance: none;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  display: none !important;
}

video::-webkit-media-controls-panel {
  -webkit-appearance: none;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  display: none !important;
}

video::-webkit-media-controls-play-button {
  -webkit-appearance: none;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  display: none !important;
}

.scrollbar-thin::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
  display: none;
}

.scrollbar-thin::-webkit-scrollbar-track {
  background: none;
  display: none;
}

.scrollbar-thin::-webkit-scrollbar-thumb {
  background: none;
  display: none;
}

.scrollbar-thin::-webkit-scrollbar-corner {
  background: none;
  display: none;
}

.scrollbar-thin {
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scroll-snap-type: y proximity;
}

* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

@media (max-width: 768px) {
  * {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  ::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  .scrollbar-thin::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  .scrollbar-thin::-webkit-scrollbar-track {
    display: none !important;
  }

  .scrollbar-thin::-webkit-scrollbar-thumb {
    display: none !important;
  }

  .scrollbar-thin::-webkit-scrollbar-corner {
    display: none !important;
  }
}

.scrollbar-thin:focus-within {
  outline-offset: 2px;
  outline: 2px solid #06b6d480;
}

.scrollbar-thin > :last-child {
  margin-bottom: .5rem;
}

html, body, div, section, article, aside, nav, main, header, footer {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

body::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

div::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

section::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

article::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

aside::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

nav::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

main::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

header::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

footer::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

[style*="overflow"]::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.overflow-auto::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.overflow-scroll::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.overflow-y-auto::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.overflow-x-auto::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.overflow-auto, .overflow-scroll, .overflow-y-auto, .overflow-x-auto {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.app-container {
  -webkit-tap-highlight-color: transparent;
}

.main-content {
  z-index: 1;
  will-change: auto;
  -webkit-overflow-scrolling: touch;
  contain: none;
  position: relative;
}

.display-area-wrapper {
  z-index: 1;
  position: relative;
}

@keyframes fadeInFastBanner {
  from {
    opacity: 0;
    transform: translateY(-20px)translateX(-50%);
  }

  to {
    opacity: 1;
    transform: translateY(0)translateX(-50%);
  }
}

.animate-fade-in-fast-banner {
  animation: .9s cubic-bezier(.22, 1, .36, 1) forwards fadeInFastBanner;
}

@keyframes slide-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-slide-up {
  animation: .9s cubic-bezier(.22, 1, .36, 1) forwards slide-up;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: .9s cubic-bezier(.22, 1, .36, 1) forwards fadeIn;
}

@keyframes fadeOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(10px);
  }
}

@keyframes section-content-enter {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.details-content-wrapper.animating.expanded > div > div {
  animation: .45s cubic-bezier(.22, 1, .36, 1) .12s both section-content-enter;
}

.details-content-wrapper.suppress-content-enter.animating.expanded > div > div {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

@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-pan-x {
  syntax: "*";
  inherits: false
}

@property --tw-pan-y {
  syntax: "*";
  inherits: false
}

@property --tw-pinch-zoom {
  syntax: "*";
  inherits: false
}

@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-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<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
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-contain-size {
  syntax: "*";
  inherits: false
}

@property --tw-contain-layout {
  syntax: "*";
  inherits: false
}

@property --tw-contain-paint {
  syntax: "*";
  inherits: false
}

@property --tw-contain-style {
  syntax: "*";
  inherits: false
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}
/* Age Gate Styles */

.age-gate-logo-container {
  margin-bottom: 24px;
}

.age-gate-logo {
  width: 80px;
  height: 80px;
  margin: 0 auto;
  background: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
}

.age-gate-title {
  font-size: 30px;
  font-weight: bold;
  color: white;
  margin: 0 0 16px 0;
}

.age-gate-description {
  color: #d1d5db;
  margin-bottom: 24px;
}

.age-gate-description p {
  margin: 0 0 12px 0;
}

.age-gate-list {
  text-align: left;
  list-style-type: disc;
  list-style-position: inside;
  font-size: 14px;
  margin: 0;
  padding: 0;
}

.age-gate-list li {
  margin-bottom: 4px;
}

.age-gate-warning-box {
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(234, 179, 8, 0.5);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 24px;
}

.age-gate-warning-title {
  color: #fbbf24;
  font-weight: 600;
  margin: 0 0 8px 0;
}

.age-gate-warning-text {
  color: #d1d5db;
  font-size: 14px;
  margin: 0;
}

.age-gate-certification {
  color: #9ca3af;
  font-size: 14px;
  margin: 0 0 24px 0;
}

.age-gate-link {
  color: #22d3ee;
  text-decoration: underline;
}

.age-gate-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.age-gate-confirm-button {
  width: 100%;
  padding: 16px 24px;
  background: linear-gradient(90deg, #0891b2 0%, #2563eb 100%);
  color: white;
  border-radius: 8px;
  border: none;
  font-weight: bold;
  font-size: 18px;
  min-height: 48px;
  cursor: pointer;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transform: none;
  transition: none;
  animation: none;
}

.age-gate-decline-button {
  width: 100%;
  padding: 12px 24px;
  background: #374151;
  color: #d1d5db;
  border-radius: 8px;
  border: none;
  font-weight: 500;
  font-size: 16px;
  min-height: 44px;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transform: none;
  transition: none;
  animation: none;
}

.age-gate-back-button {
  min-height: 44px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.age-gate-strong-text {
  color: white;
}
/* Icons.css */

.icon-animating {
  animation: spin 1s linear infinite;
  will-change: transform, opacity;
  transform: translateZ(0);
  /* ANDROID FIX: Removed backface-visibility: hidden — layer eviction trigger */
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.artifact-banner-container {
  /* No specific styles needed from inline yet, just semantic grouping */
}

.artifact-banner-trigger {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: transparent;
  appearance: none;
  outline: none;
  z-index: 30;
  -webkit-tap-highlight-color: transparent;
  touch-action: pan-y pinch-zoom;
}

.artifact-banner-trigger:focus {
  box-shadow: none;
}

.artifact-banner-trigger.active {
  cursor: pointer;
}
/* ProgressiveMedia.css */

.progressive-media-base {
  /* will-change: opacity; - Reduced to just opacity, removed transform to save memory */
  /* ANDROID FIX: Removed backface-visibility: hidden — layer eviction trigger */
  /* contain: layout style paint; - REMOVED: Causes resizing bugs and aggressive unloading on Android */
  /* content-visibility: auto; - REMOVED per user request to prevent unloading off-screen media */
  image-rendering: high-quality;
  image-orientation: from-image;
  /* transform: translateZ(0); - Removed global hardware acceleration to prevent OOM */
}

.progressive-image-transform {
  transform: translate3d(0, 0, 0);
}

.progressive-video-base {
  /* ANDROID FIX: Removed backface-visibility: hidden — layer eviction trigger */
  /* contain: layout style paint; - REMOVED: Causes resizing bugs and aggressive unloading on Android */
  /* content-visibility: auto; - REMOVED per user request to prevent unloading off-screen videos */
  image-rendering: high-quality;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* PERF FIX: Removed perspective + preserve-3d — unnecessary 3D context for flat 2D video,
     forces compositor to allocate 3D transform matrix per layer with zero benefit. */
  background-color: transparent;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/* PERFORMANCE: Scroll optimization for smooth Android experience */
.scrollable-container {
  -webkit-overflow-scrolling: touch;
  /* PERF FIX: Removed scroll-behavior: smooth — fights native Android fling physics,
     introduces input latency, and makes lists feel sluggish and jittery. */
  overscroll-behavior: contain;
  touch-action: pan-y;
}

/* PERFORMANCE: Card containers optimized for GPU compositing */
/*
.character-card,
.library-item,
.banner-item,
.artifact-item {
  contain: layout style paint; - REMOVED per user request to prevent unloading off-screen thumbnails
  contain-intrinsic-size: auto 150px; - REMOVED: Useless without content-visibility
  MEMORY OPTIMIZATION: Removed aggressive GPU layering (will-change/translateZ) from static items 
     to prevent WebView running out of memory and blanking off-screen content.
}
*/

/* ANDROID-SPECIFIC PERFORMANCE CLASSES */
.contain-paint {
  contain: paint;
}

.contain-layout {
  contain: layout;
}

.contain-strict {
  contain: strict;
}

/* Optimization for the main preview area to prevent partial re-renders */
.preview-isolation-layer {
  /* ANDROID FIX: Removed contain: layout style paint and backface-visibility: hidden —
     both cause Android WebView compositor layer eviction. When the artifact window scrolls
     off-screen, WebView drops the layer and renders it blank when scrolled back. */
  contain: none;
  transform: translateZ(0);
  isolation: isolate;
  visibility: visible !important;
}

.gpu-promoted {
  transform: translate3d(0, 0, 0);
}

/* CROSS-WINDOW FADE CONSISTENCY: Enforce 700ms video fade out/in (matches image targets) */
.video-transition-fade {
  transition: opacity 700ms cubic-bezier(0.4, 0, 0.2, 1);
}

.video-entry-fade {
  opacity: 0;
}
.ad-container {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.ad-background {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.ad-close-button {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: auto;
}

.ad-placeholder {
  background: linear-gradient(135deg, #1a0b2e 0%, #2d1b4e 50%, #1a0b2e 100%);
  border-top: 2px solid rgba(139, 92, 246, 0.4);
  overflow: hidden;
  box-shadow: 0 -4px 20px rgba(139, 92, 246, 0.3);
  pointer-events: auto;
}

.ad-pulse-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 50% 50%, rgba(139, 92, 246, 0.15) 0%, transparent 70%);
  animation: pulse 3s ease-in-out infinite;
  pointer-events: none;
}

.ad-content-container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.ad-loading-text {
  font-size: 16px;
  font-weight: bold;
  background: linear-gradient(135deg, #a78bfa 0%, #c4b5fd 50%, #a78bfa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 1px;
}

.ad-subtitle {
  font-size: 12px;
  color: #c4b5fd;
  opacity: 0.8;
  font-weight: 500;
  letter-spacing: 0.5px;
}

.ad-corner-accent-tl {
  position: absolute;
  top: 4px;
  left: 8px;
  width: 16px;
  height: 16px;
  border-top: 2px solid rgba(167, 139, 250, 0.5);
  border-left: 2px solid rgba(167, 139, 250, 0.5);
  border-radius: 4px 0 0 0;
}

.ad-corner-accent-br {
  position: absolute;
  bottom: 4px;
  right: 8px;
  width: 16px;
  height: 16px;
  border-bottom: 2px solid rgba(167, 139, 250, 0.5);
  border-right: 2px solid rgba(167, 139, 250, 0.5);
  border-radius: 0 0 4px 0;
}

@keyframes pulse {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}

.consent-banner-header {
  padding: 24px;
  border-bottom: 1px solid #374151;
}

.consent-banner-title {
  font-size: 24px;
  font-weight: bold;
  color: white;
  margin: 0 0 12px 0;
}

.consent-banner-description {
  color: #d1d5db;
  font-size: 14px;
  margin: 0 0 16px 0;
  line-height: 1.6;
}

.consent-features-list {
  margin-bottom: 16px;
}

.consent-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
}

.consent-feature-item-last {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.consent-feature-icon {
  font-size: 16px;
}

.consent-feature-title {
  color: #fff;
  font-size: 13px;
  font-weight: bold;
}

.consent-feature-description {
  color: #9ca3af;
  font-size: 12px;
  margin: 2px 0 0 0;
}

.consent-notes-container {
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 16px;
}

.consent-notes-title {
  color: #93c5fd;
  font-size: 12px;
  margin: 0 0 8px 0;
  font-weight: 600;
}

.consent-notes-list {
  color: #d1d5db;
  font-size: 11px;
  margin: 0;
  padding-left: 20px;
  line-height: 1.5;
  list-style: disc;
}

.consent-notes-list li {
  margin-bottom: 4px;
}

.consent-notes-list li:last-child {
  margin-bottom: 0;
}

.character-level-badge {
  z-index: 55;
}

.character-menu-container {
  z-index: 60;
}

.progressive-video-style {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.progressive-image-style {
  object-position: 50% top;
}

.dynamic-gradient-background {
  background: var(--gradient-background);
}

.rarity-text-color {
  color: var(--rarity-color);
}

.character-image-position {
  object-position: var(--object-position);
  transform: var(--object-transform);
}
@keyframes fadeInFast {
  from {
    opacity: 0;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
  }
  to {
    opacity: 1;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }
}

.animate-fade-in-fast {
  animation: fadeInFast 0.2s ease-in-out forwards;
}

@keyframes fadeOutFast {
  from {
    opacity: 1;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }
  to {
    opacity: 0;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
  }
}

.animate-fade-out-fast {
  animation: fadeOutFast 0.2s ease-in-out forwards;
}

.z-10 {
  z-index: 10;
}
.z-30 {
  z-index: 30;
}

.banner-header-container {
  /* ANDROID FIX: Removed contain: layout paint — this CSS containment tells the browser
     it can skip painting this container when off-screen, causing WebView to render it
     blank when scrolled back into view. will-change: transform removed for same reason. */
  contain: none;
  transform: translate3d(0, 0, 0);
  isolation: isolate;
  visibility: visible !important;
}

.banner-menu-toggle {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.native-ad-html-container {
  background-color: var(--theme-surface);
  -webkit-backdrop-filter: var(--theme-panel-blur);
  backdrop-filter: var(--theme-panel-blur);
  border-radius: 12px;
  padding: 8px; /* Reduced from 12px for narrower vertical profile */
  margin: 0;
  border: 1px solid var(--theme-border);
  display: flex;
  flex-direction: column;
  gap: 6px; /* Reduced gap */
  cursor: pointer;
  transition:
    transform 0.1s ease,
    background-color 0.2s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  min-height: 145px; /* Match wrapper height */
  justify-content: center; /* Center content vertically */
}

.native-ad-html-container:active {
  transform: scale(0.98);
  background-color: var(--theme-surface-hover);
}

.native-ad-header {
  display: flex;
  align-items: center;
  gap: 8px; /* Reduced from 12px */
}

.native-ad-icon {
  width: 40px; /* Reduced from 48px */
  height: 40px;
  border-radius: 8px;
  object-fit: cover;
  background-color: var(--theme-border);

  /* ANDROID FIX: Ensure icon stays visible when scrolled off/on screen */
  visibility: visible !important;
}

.native-ad-text-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

.native-ad-headline {
  color: var(--theme-text);
  font-weight: 600;
  font-size: 15px; /* Slightly smaller */
  line-height: 1.2;
  margin-bottom: 1px;
}

.native-ad-advertiser {
  color: var(--theme-text-muted);
  font-size: 11px;
}

.native-ad-body {
  color: var(--theme-text-muted);
  font-size: 13px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.native-ad-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2px;
}

.native-ad-cta {
  background-color: var(--theme-accent);
  color: var(--theme-bg);
  border: none;
  padding: 6px 14px; /* Slightly smaller */
  border-radius: 16px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.native-ad-cta:hover {
  background-color: var(--theme-accent-focus);
}

.native-ad-badge {
  background-color: var(--theme-accent);
  color: var(--theme-bg);
  font-size: 9px;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 3px;
  text-transform: uppercase;
}

.native-ad-wrapper {
  width: 100%;
  max-width: 100%;
  padding: 0; /* Removed padding to match menu width */
  display: block;
  margin: 0 0 6px 0; /* Reduced bottom margin for gap below ad */
  position: relative;
  min-height: 145px; /* Adjusted height for taller look but not too tall */
  box-sizing: border-box;
  overflow: hidden;

  /* ANDROID FIX: Prevent compositor layer eviction when scrolled off-screen */
  isolation: isolate;
  contain: none;
  visibility: visible !important;
}

.native-ad-wrapper * {
  box-sizing: border-box;
}

/* Hidden container for SDK tracking - moved from inline styles */
.native-ad-container-hidden {
  visibility: visible !important; /* Must be visible for SDK */
  width: 1px;
  height: 1px;
  opacity: 0.01;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.native-ad-placeholder-hidden {
  display: none;
}

.native-ad-loading-placeholder {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--theme-surface);
  -webkit-backdrop-filter: var(--theme-panel-blur);
  backdrop-filter: var(--theme-panel-blur);
  border: 1px solid var(--theme-border);
  min-height: 145px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

.native-ad-loading-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.native-ad-loading-spinner {
  width: 24px;
  height: 24px;
  border-width: 2px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.3);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.native-ad-loading-text {
  font-size: 12px;
  color: #9ca3af; /* gray-400 */
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Fallback Ad Styles */
.native-ad-html-container.fallback-ad {
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, transparent 100%);
  border-color: var(--theme-border-highlight);
}

.native-ad-html-container.fallback-ad .native-ad-badge {
  background-color: var(--theme-primary);
  color: white;
}
/*! 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-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --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-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-contain-size: initial;
      --tw-contain-layout: initial;
      --tw-contain-paint: initial;
      --tw-contain-style: initial;
      --angle: 0deg;
    }
  }
}

@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-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-900: oklch(39.6% .141 25.723);
    --color-orange-400: oklch(75% .183 55.934);
    --color-orange-500: oklch(70.5% .213 47.604);
    --color-orange-600: oklch(64.6% .222 41.116);
    --color-orange-700: oklch(55.3% .195 38.402);
    --color-orange-900: oklch(40.8% .123 38.172);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-900: oklch(41.4% .112 45.904);
    --color-yellow-100: oklch(97.3% .071 103.193);
    --color-yellow-200: oklch(94.5% .129 101.54);
    --color-yellow-300: oklch(90.5% .182 98.111);
    --color-yellow-400: oklch(85.2% .199 91.936);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-yellow-600: oklch(68.1% .162 75.834);
    --color-yellow-700: oklch(55.4% .135 66.442);
    --color-yellow-900: oklch(42.1% .095 57.708);
    --color-green-100: oklch(96.2% .044 156.743);
    --color-green-200: oklch(92.5% .084 155.995);
    --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-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-green-900: oklch(39.3% .095 152.535);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-emerald-700: oklch(50.8% .118 165.612);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-cyan-200: oklch(91.7% .08 205.041);
    --color-cyan-300: oklch(86.5% .127 207.078);
    --color-cyan-400: var(--theme-accent);
    --color-cyan-500: var(--theme-accent-focus);
    --color-cyan-600: oklch(60.9% .126 221.723);
    --color-cyan-700: oklch(52% .105 223.128);
    --color-cyan-900: oklch(39.8% .07 227.392);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-300: oklch(80.9% .105 251.813);
    --color-blue-400: oklch(70.7% .165 254.624);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-900: oklch(37.9% .146 265.522);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-700: oklch(45.7% .24 277.023);
    --color-violet-300: oklch(81.1% .111 293.571);
    --color-purple-300: oklch(82.7% .119 306.383);
    --color-purple-400: oklch(71.4% .203 305.504);
    --color-purple-500: oklch(62.7% .265 303.9);
    --color-purple-600: oklch(55.8% .288 302.321);
    --color-purple-700: oklch(49.6% .265 301.924);
    --color-purple-900: oklch(38.1% .176 304.987);
    --color-pink-300: oklch(82.3% .12 346.018);
    --color-pink-400: oklch(71.8% .202 349.761);
    --color-pink-500: oklch(65.6% .241 354.308);
    --color-pink-600: oklch(59.2% .249 .584);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-800: oklch(45.5% .188 13.697);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: var(--theme-text-muted);
    --color-gray-500: var(--theme-text-muted);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: var(--theme-border);
    --color-gray-800: var(--theme-surface-hover);
    --color-gray-900: var(--theme-surface);
    --color-gray-950: var(--theme-bg);
    --color-black: #000;
    --color-white: var(--theme-text);
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --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;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wide: .025em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-xs: .125rem;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --drop-shadow-md: 0 3px 3px #0000001f;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-xs: 4px;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --aspect-video: 16 / 9;
    --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);
    --font-orbitron: "Orbitron", sans-serif;
    --animate-spin-slow: spin 2s linear infinite;
    --animate-spin-fast: spin .5s linear infinite;
    --motion-ease-steady: cubic-bezier(.22, 1, .36, 1);
    --motion-duration-fade: .9s;
    --motion-duration-menu: .9s;
    --animate-fade-in-fast: fadeInFast var(--motion-duration-fade) var(--motion-ease-steady) forwards;
    --animate-fade-out-fast: fadeOutFast var(--motion-duration-fade) var(--motion-ease-steady) forwards;
    --animate-slide-up-menu: slideUpMenu var(--motion-duration-menu) var(--motion-ease-steady) forwards;
    --animate-slide-down-menu: slideDownMenu var(--motion-duration-menu) var(--motion-ease-steady) forwards;
  }
}

@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 {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  #root {
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    touch-action: manipulation;
    scrollbar-gutter: stable;
    flex-direction: column;
    width: 100%;
    height: 100%;
    display: flex;
    overflow: hidden auto;
  }

  .webview-mode .loading-spinner {
    backface-visibility: hidden !important;
    animation: 1s linear infinite spin !important;
  }

  body {
    background-color: var(--theme-bg);
    width: 100%;
    height: 100%;
    color: var(--theme-text);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: manipulation;
    font-family: Rajdhani, sans-serif;
    position: relative;
    inset: 0;
    overflow: hidden;
  }

  h1, h2, h3, .font-orbitron {
    font-family: Orbitron, sans-serif;
  }

  img, video {
    transform: translateZ(0);
  }

  video {
    -webkit-media-controls: none !important;
    -moz-media-controls: none !important;
    -webkit-media-controls-overlay-play-button: none !important;
    -webkit-media-controls-play-button: none !important;
    -webkit-media-controls-start-playback-button: none !important;
    background: none !important;
  }

  video::-webkit-media-controls {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-enclosure {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-panel {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-play-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-overlay-play-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-start-playback-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-timeline {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-current-time-display {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-time-remaining-display {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-seek-back-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-seek-forward-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-fullscreen-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-rewind-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-return-to-realtime-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-toggle-closed-captions-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-volume-slider {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-webkit-media-controls-mute-button {
    -webkit-appearance: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video::-moz-media-controls {
    display: none !important;
  }

  video:before, video:after {
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
  }

  video:paused:before {
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
  }

  video:paused:after {
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
  }

  video:paused {
    background: none !important;
  }

  video > * {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  video:focus, video:focus-visible {
    box-shadow: none !important;
    outline: none !important;
  }

  body {
    --animation-speed-multiplier: 1;
  }
}

@layer components {
  .scrollbar-thin {
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .scrollbar-thin::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .interactive-border {
    border-width: 0;
    position: relative;
  }

  .interactive-border:before {
    content: "";
    z-index: 10;
    border-radius: inherit;
    background: var(--rarity-border-background, conic-gradient(from var(--angle), var(--rarity-color, #22d3ee), var(--rarity-color-light, var(--rarity-color, #a855f7)), var(--rarity-color, #22d3ee)));
    -webkit-mask-composite: xor;
    animation: var(--border-animation, var(--rarity-animation, none));
    pointer-events: none;
    -webkit-mask-composite: xor;
    -webkit-mask-source-type: auto, auto;
    padding: 1px;
    position: absolute;
    inset: 0;
    -webkit-mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
    mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
    -webkit-mask-position: 0 0, 0 0;
    mask-position: 0 0, 0 0;
    -webkit-mask-size: auto, auto;
    mask-size: auto, auto;
    -webkit-mask-repeat: repeat, repeat;
    mask-repeat: repeat, repeat;
    -webkit-mask-clip: content-box, border-box;
    mask-clip: content-box, border-box;
    -webkit-mask-origin: content-box, border-box;
    mask-origin: content-box, border-box;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    -webkit-mask-source-type: auto, auto;
    mask-mode: match-source, match-source;
  }

  .theme-button-hover {
    transition: background-color .2s ease-in-out, border-color .2s ease-in-out, box-shadow .2s ease-in-out;
  }

  @media (hover: hover) {
    .theme-button-hover:hover {
      box-shadow: 0 0 10px var(--theme-accent-focus), inset 0 0 5px var(--theme-accent-focus);
      background-color: var(--theme-surface-hover) !important;
      border-color: var(--theme-accent) !important;
    }
  }
}

@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }

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

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .fixed\! {
    position: fixed !important;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

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

  .inset-\[1px\] {
    inset: 1px;
  }

  .inset-\[2px\] {
    inset: 2px;
  }

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

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

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

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

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

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

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

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

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

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

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

  .top-\[72px\] {
    top: 72px;
  }

  .top-\[80px\] {
    top: 80px;
  }

  .top-\[88px\] {
    top: 88px;
  }

  .top-\[184px\] {
    top: 184px;
  }

  .top-\[188px\] {
    top: 188px;
  }

  .top-\[340px\] {
    top: 340px;
  }

  .top-\[360px\] {
    top: 360px;
  }

  .top-\[390px\] {
    top: 390px;
  }

  .top-\[420px\] {
    top: 420px;
  }

  .top-\[436px\] {
    top: 436px;
  }

  .top-\[520px\] {
    top: 520px;
  }

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

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

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

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

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

  .right-\[-5px\] {
    right: -5px;
  }

  .right-\[10px\] {
    right: 10px;
  }

  .right-\[15px\] {
    right: 15px;
  }

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

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

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

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

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

  .bottom-\[9px\] {
    bottom: 9px;
  }

  .bottom-full {
    bottom: 100%;
  }

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

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

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

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

  .left-2\.5 {
    left: calc(var(--spacing) * 2.5);
  }

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

  .isolate {
    isolation: isolate;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .z-\[1\] {
    z-index: 1;
  }

  .z-\[60\] {
    z-index: 60;
  }

  .z-\[9998\] {
    z-index: 9998;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .z-\[10000\] {
    z-index: 10000;
  }

  .z-\[10001\] {
    z-index: 10001;
  }

  .z-\[10002\] {
    z-index: 10002;
  }

  .z-\[10009\] {
    z-index: 10009;
  }

  .z-\[10010\] {
    z-index: 10010;
  }

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

  .\!container {
    width: 100% !important;
  }

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

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

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

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

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

  .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-auto {
    margin-inline: auto;
  }

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

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

  .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-px {
    margin-top: 1px;
  }

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

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

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

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

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

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

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

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

  .mb-\[54px\] {
    margin-bottom: 54px;
  }

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

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

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

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

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

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .list-item {
    display: list-item;
  }

  .table {
    display: table;
  }

  .aspect-4\/3 {
    aspect-ratio: 4 / 3;
  }

  .aspect-\[3\/4\.7\] {
    aspect-ratio: 3 / 4.7;
  }

  .aspect-\[3\/4\] {
    aspect-ratio: 3 / 4;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .h-full {
    height: 100%;
  }

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

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

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

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

  .max-h-\[32rem\] {
    max-height: 32rem;
  }

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

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

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

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

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

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

  .min-h-\[8rem\] {
    min-height: 8rem;
  }

  .min-h-\[12rem\] {
    min-height: 12rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-11\/12 {
    width: 91.6667%;
  }

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

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

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

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

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

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

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

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

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

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

  .w-full {
    width: 100%;
  }

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

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

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

  .max-w-\[20rem\] {
    max-width: 20rem;
  }

  .max-w-\[280px\] {
    max-width: 280px;
  }

  .max-w-\[400px\] {
    max-width: 400px;
  }

  .max-w-\[1200px\] {
    max-width: 1200px;
  }

  .max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .flex-1 {
    flex: 1;
  }

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

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

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

  .origin-bottom {
    transform-origin: bottom;
  }

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

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

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

  .translate-x-6 {
    --tw-translate-x: calc(var(--spacing) * 6);
    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-2 {
    --tw-translate-y: calc(var(--spacing) * -2);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

  .translate-y-full {
    --tw-translate-y: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

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

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

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

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

  .rotate-90 {
    rotate: 90deg;
  }

  .rotate-180 {
    rotate: 180deg;
  }

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

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

  .animate-fade-in-fast {
    animation: var(--animate-fade-in-fast);
  }

  .animate-fade-out-fast {
    animation: var(--animate-fade-out-fast);
  }

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

  .animate-slide-down-menu {
    animation: var(--animate-slide-down-menu);
  }

  .animate-slide-up-menu {
    animation: var(--animate-slide-up-menu);
  }

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

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

  .cursor-default {
    cursor: default;
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-wait {
    cursor: wait;
  }

  .touch-pan-y {
    --tw-pan-y: pan-y;
    touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, );
  }

  .touch-manipulation {
    touch-action: manipulation;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .list-none {
    list-style-type: none;
  }

  .appearance-none {
    appearance: none;
  }

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

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

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

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

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

  .grid-cols-8 {
    grid-template-columns: repeat(8, 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-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

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

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

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

  .gap-px {
    gap: 1px;
  }

  :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-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * 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-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :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-1 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :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-3 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
  }

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

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-visible {
    overflow: visible;
  }

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

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

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

  .rounded {
    border-radius: .25rem;
  }

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

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

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

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

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

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

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

  .rounded-t-xl {
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
  }

  .rounded-b-lg {
    border-bottom-right-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
  }

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

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

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

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

  .border-\[0\.75px\] {
    border-style: var(--tw-border-style);
    border-width: .75px;
  }

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

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

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

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

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

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

  .border-\(--theme-border\) {
    border-color: var(--theme-border);
  }

  .border-\[\#4CAF50\] {
    border-color: #4caf50;
  }

  .border-\[\#f44336\] {
    border-color: #f44336;
  }

  .border-\[var\(--theme-border\)\] {
    border-color: var(--theme-border);
  }

  .border-amber-500\/30 {
    border-color: #f99c004d;
  }

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

  .border-amber-500\/50 {
    border-color: #f99c0080;
  }

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

  .border-black\/80 {
    border-color: #000c;
  }

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

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

  .border-blue-500\/30 {
    border-color: #3080ff4d;
  }

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

  .border-blue-500\/50 {
    border-color: #3080ff80;
  }

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

  .border-current {
    border-color: currentColor;
  }

  .border-cyan-400, .border-cyan-400\/50 {
    border-color: var(--color-cyan-400);
  }

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

  .border-cyan-500, .border-cyan-500\/10 {
    border-color: var(--color-cyan-500);
  }

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

  .border-cyan-500\/20 {
    border-color: var(--color-cyan-500);
  }

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

  .border-cyan-500\/30 {
    border-color: var(--color-cyan-500);
  }

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

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

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

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

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

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

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

  .border-green-300\/40 {
    border-color: #7bf1a866;
  }

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

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

  .border-green-500\/30 {
    border-color: #00c7584d;
  }

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

  .border-green-500\/50 {
    border-color: #00c75880;
  }

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

  .border-green-600\/50 {
    border-color: #00a54480;
  }

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

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

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

  .border-purple-300\/40 {
    border-color: #d9b3ff66;
  }

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

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

  .border-purple-400\/30 {
    border-color: #c07eff4d;
  }

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

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

  .border-purple-500\/20 {
    border-color: #ac4bff33;
  }

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

  .border-purple-500\/30 {
    border-color: #ac4bff4d;
  }

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

  .border-red-500\/30 {
    border-color: #fb2c364d;
  }

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

  .border-red-500\/50 {
    border-color: #fb2c3680;
  }

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

  .border-red-700 {
    border-color: var(--color-red-700);
  }

  .border-red-700\/50 {
    border-color: #bf000f80;
  }

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

  .border-transparent {
    border-color: #0000;
  }

  .border-white, .border-white\/5 {
    border-color: var(--color-white);
  }

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

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

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

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

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

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

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

  .border-yellow-300\/40 {
    border-color: #ffe02a66;
  }

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

  .border-yellow-500\/30 {
    border-color: #edb2004d;
  }

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

  .border-yellow-500\/50 {
    border-color: #edb20080;
  }

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

  .border-yellow-600\/50 {
    border-color: #cd890080;
  }

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

  .border-t-current {
    border-top-color: currentColor;
  }

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

  .border-t-transparent {
    border-top-color: #0000;
  }

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

  .bg-\(--theme-surface\) {
    background-color: var(--theme-surface);
  }

  .bg-\[\#1a1a1a\] {
    background-color: #1a1a1a;
  }

  .bg-\[\#2a2a2a\] {
    background-color: #2a2a2a;
  }

  .bg-\[\#4CAF50\] {
    background-color: #4caf50;
  }

  .bg-\[\#333\] {
    background-color: #333;
  }

  .bg-\[\#666\] {
    background-color: #666;
  }

  .bg-\[\#2196F3\] {
    background-color: #2196f3;
  }

  .bg-\[\#111827\] {
    background-color: #111827;
  }

  .bg-\[\#f44336\] {
    background-color: #f44336;
  }

  .bg-\[var\(--theme-bg\)\] {
    background-color: var(--theme-bg);
  }

  .bg-\[var\(--theme-surface\)\] {
    background-color: var(--theme-surface);
  }

  .bg-\[var\(--theme-surface-hover\)\] {
    background-color: var(--theme-surface-hover);
  }

  .bg-\[var\(--theme-surface-opaque\)\] {
    background-color: var(--theme-surface-opaque);
  }

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

  .bg-amber-500\/20 {
    background-color: #f99c0033;
  }

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

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

  .bg-amber-600\/90 {
    background-color: #dd7400e6;
  }

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

  .bg-amber-900\/30 {
    background-color: #7b33064d;
  }

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

  .bg-amber-900\/80 {
    background-color: #7b3306cc;
  }

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

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

  .bg-black\/10 {
    background-color: #0000001a;
  }

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

  .bg-black\/20 {
    background-color: #0003;
  }

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

  .bg-black\/25 {
    background-color: #00000040;
  }

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

  .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\/40 {
    background-color: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/40 {
      background-color: color-mix(in oklab, var(--color-black) 40%, 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-black\/70 {
    background-color: #000000b3;
  }

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

  .bg-black\/80 {
    background-color: #000c;
  }

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

  .bg-black\/90 {
    background-color: #000000e6;
  }

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

  .bg-black\/95 {
    background-color: #000000f2;
  }

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

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

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

  .bg-blue-500\/10 {
    background-color: #3080ff1a;
  }

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

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

  .bg-blue-600\/20 {
    background-color: #155dfc33;
  }

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

  .bg-blue-600\/90 {
    background-color: #155dfce6;
  }

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

  .bg-blue-900\/20 {
    background-color: #1c398e33;
  }

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

  .bg-blue-900\/30 {
    background-color: #1c398e4d;
  }

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

  .bg-blue-900\/90 {
    background-color: #1c398ee6;
  }

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

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

  @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-cyan-500, .bg-cyan-500\/20 {
    background-color: var(--color-cyan-500);
  }

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

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

  .bg-cyan-600\/20 {
    background-color: #0092b533;
  }

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

  .bg-cyan-600\/90 {
    background-color: #0092b5e6;
  }

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

  .bg-cyan-900\/30 {
    background-color: #104e644d;
  }

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

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

  .bg-emerald-900\/30 {
    background-color: #004e3b4d;
  }

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

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

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

  .bg-gray-600\/50 {
    background-color: #4a556580;
  }

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

  .bg-gray-600\/90 {
    background-color: #4a5565e6;
  }

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

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

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

  .bg-gray-800, .bg-gray-800\/30 {
    background-color: var(--color-gray-800);
  }

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

  .bg-gray-800\/50 {
    background-color: var(--color-gray-800);
  }

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

  .bg-gray-800\/80 {
    background-color: var(--color-gray-800);
  }

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

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

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

  .bg-gray-900\/80 {
    background-color: var(--color-gray-900);
  }

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

  .bg-gray-900\/90 {
    background-color: var(--color-gray-900);
  }

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

  .bg-gray-900\/95 {
    background-color: var(--color-gray-900);
  }

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

  .bg-gray-950, .bg-gray-950\/60 {
    background-color: var(--color-gray-950);
  }

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

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

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

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

  .bg-green-900\/20 {
    background-color: #0d542b33;
  }

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

  .bg-green-900\/30 {
    background-color: #0d542b4d;
  }

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

  .bg-green-900\/40 {
    background-color: #0d542b66;
  }

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

  .bg-green-900\/50 {
    background-color: #0d542b80;
  }

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

  .bg-green-900\/90 {
    background-color: #0d542be6;
  }

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

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

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

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

  .bg-pink-600\/90 {
    background-color: #e30076e6;
  }

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

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

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

  .bg-purple-500\/10 {
    background-color: #ac4bff1a;
  }

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

  .bg-purple-500\/20 {
    background-color: #ac4bff33;
  }

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

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

  .bg-purple-900\/20 {
    background-color: #59168b33;
  }

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

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

  .bg-red-500\/10 {
    background-color: #fb2c361a;
  }

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

  .bg-red-500\/20 {
    background-color: #fb2c3633;
  }

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

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

  .bg-red-600\/20 {
    background-color: #e4001433;
  }

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

  .bg-red-600\/90 {
    background-color: #e40014e6;
  }

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

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

  .bg-red-900\/20 {
    background-color: #82181a33;
  }

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

  .bg-red-900\/30 {
    background-color: #82181a4d;
  }

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

  .bg-red-900\/40 {
    background-color: #82181a66;
  }

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

  .bg-red-900\/50 {
    background-color: #82181a80;
  }

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

  .bg-rose-800\/90 {
    background-color: #a30037e6;
  }

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

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

  .bg-white, .bg-white\/3 {
    background-color: var(--color-white);
  }

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

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

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

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

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

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

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

  .bg-yellow-600\/90 {
    background-color: #cd8900e6;
  }

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

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

  .bg-yellow-900\/20 {
    background-color: #733e0a33;
  }

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

  .bg-yellow-900\/30 {
    background-color: #733e0a4d;
  }

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

  .bg-yellow-900\/90 {
    background-color: #733e0ae6;
  }

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

  .bg-linear-to-t {
    --tw-gradient-position: to top;
  }

  @supports (background-image: linear-gradient(in lab, red, red)) {
    .bg-linear-to-t {
      --tw-gradient-position: to top in oklab;
    }
  }

  .bg-linear-to-t {
    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));
  }

  .from-black\/80 {
    --tw-gradient-from: #000c;
  }

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

  .from-black\/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));
  }

  .from-cyan-500 {
    --tw-gradient-from: var(--color-cyan-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-gray-900 {
    --tw-gradient-from: var(--color-gray-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-green-500 {
    --tw-gradient-from: var(--color-green-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-green-500\/15 {
    --tw-gradient-from: #00c75826;
  }

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

  .from-green-500\/15 {
    --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-purple-500\/15 {
    --tw-gradient-from: #ac4bff26;
  }

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

  .from-purple-500\/15 {
    --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-purple-500\/20 {
    --tw-gradient-from: #ac4bff33;
  }

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

  .from-purple-500\/20 {
    --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-purple-600 {
    --tw-gradient-from: var(--color-purple-600);
    --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-yellow-500\/15 {
    --tw-gradient-from: #edb20026;
  }

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

  .from-yellow-500\/15 {
    --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-yellow-900\/30 {
    --tw-gradient-from: #733e0a4d;
  }

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

  .from-yellow-900\/30 {
    --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\/50 {
    --tw-gradient-via: #00000080;
  }

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

  .via-black\/50 {
    --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-gray-800 {
    --tw-gradient-via: var(--color-gray-800);
    --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-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-amber-500\/15 {
    --tw-gradient-to: #f99c0026;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-amber-500\/15 {
      --tw-gradient-to: color-mix(in oklab, var(--color-amber-500) 15%, transparent);
    }
  }

  .to-amber-500\/15 {
    --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-black {
    --tw-gradient-to: var(--color-black);
    --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-blue-500 {
    --tw-gradient-to: var(--color-blue-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-500\/15 {
    --tw-gradient-to: #3080ff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-blue-500\/15 {
      --tw-gradient-to: color-mix(in oklab, var(--color-blue-500) 15%, transparent);
    }
  }

  .to-blue-500\/15 {
    --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-blue-500\/20 {
    --tw-gradient-to: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-blue-500\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
    }
  }

  .to-blue-500\/20 {
    --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-blue-600 {
    --tw-gradient-to: var(--color-blue-600);
    --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-emerald-500 {
    --tw-gradient-to: var(--color-emerald-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-emerald-500\/15 {
    --tw-gradient-to: #00bb7f26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-emerald-500\/15 {
      --tw-gradient-to: color-mix(in oklab, var(--color-emerald-500) 15%, transparent);
    }
  }

  .to-emerald-500\/15 {
    --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-orange-900\/30 {
    --tw-gradient-to: #7e2a0c4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-orange-900\/30 {
      --tw-gradient-to: color-mix(in oklab, var(--color-orange-900) 30%, transparent);
    }
  }

  .to-orange-900\/30 {
    --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-center {
    background-position: center;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0 {
    padding: calc(var(--spacing) * 0);
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

  .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-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .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-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-0 {
    padding-block: calc(var(--spacing) * 0);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }

  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }

  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }

  .pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }

  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }

  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-orbitron {
    font-family: var(--font-orbitron);
  }

  .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));
  }

  .text-\[8px\] {
    font-size: 8px;
  }

  .text-\[9px\] {
    font-size: 9px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .break-words {
    overflow-wrap: break-word;
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-\(--theme-accent\) {
    color: var(--theme-accent);
  }

  .text-\(--theme-color-d20\) {
    color: var(--theme-color-d20);
  }

  .text-\(--theme-text\) {
    color: var(--theme-text);
  }

  .text-\(--theme-text-muted\) {
    color: var(--theme-text-muted);
  }

  .text-\[\#4CAF50\] {
    color: #4caf50;
  }

  .text-\[\#888\] {
    color: #888;
  }

  .text-\[\#2196F3\] {
    color: #2196f3;
  }

  .text-\[\#b0b0b0\] {
    color: #b0b0b0;
  }

  .text-\[\#f44336\] {
    color: #f44336;
  }

  .text-\[var\(--theme-color-d20\)\] {
    color: var(--theme-color-d20);
  }

  .text-\[var\(--theme-text\)\] {
    color: var(--theme-text);
  }

  .text-\[var\(--theme-text-muted\)\] {
    color: var(--theme-text-muted);
  }

  .text-amber-200 {
    color: var(--color-amber-200);
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-amber-400 {
    color: var(--color-amber-400);
  }

  .text-amber-500 {
    color: var(--color-amber-500);
  }

  .text-amber-900 {
    color: var(--color-amber-900);
  }

  .text-black {
    color: var(--color-black);
  }

  .text-blue-100 {
    color: var(--color-blue-100);
  }

  .text-blue-200 {
    color: var(--color-blue-200);
  }

  .text-blue-300 {
    color: var(--color-blue-300);
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-cyan-200 {
    color: var(--color-cyan-200);
  }

  .text-cyan-300 {
    color: var(--color-cyan-300);
  }

  .text-cyan-400 {
    color: var(--color-cyan-400);
  }

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-gray-100 {
    color: var(--color-gray-100);
  }

  .text-gray-200 {
    color: var(--color-gray-200);
  }

  .text-gray-300 {
    color: var(--color-gray-300);
  }

  .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-100 {
    color: var(--color-green-100);
  }

  .text-green-200 {
    color: var(--color-green-200);
  }

  .text-green-300 {
    color: var(--color-green-300);
  }

  .text-green-400 {
    color: var(--color-green-400);
  }

  .text-green-500 {
    color: var(--color-green-500);
  }

  .text-orange-400 {
    color: var(--color-orange-400);
  }

  .text-orange-500 {
    color: var(--color-orange-500);
  }

  .text-pink-300 {
    color: var(--color-pink-300);
  }

  .text-pink-400 {
    color: var(--color-pink-400);
  }

  .text-purple-300 {
    color: var(--color-purple-300);
  }

  .text-purple-400 {
    color: var(--color-purple-400);
  }

  .text-red-200 {
    color: var(--color-red-200);
  }

  .text-red-300 {
    color: var(--color-red-300);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-red-500\/50 {
    color: #fb2c3680;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-red-500\/50 {
      color: color-mix(in oklab, var(--color-red-500) 50%, transparent);
    }
  }

  .text-rose-500 {
    color: var(--color-rose-500);
  }

  .text-violet-300 {
    color: var(--color-violet-300);
  }

  .text-white, .text-white\/30 {
    color: var(--color-white);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/30 {
      color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .text-white\/70 {
    color: var(--color-white);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .text-white\/80 {
    color: var(--color-white);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .text-yellow-100 {
    color: var(--color-yellow-100);
  }

  .text-yellow-200 {
    color: var(--color-yellow-200);
  }

  .text-yellow-300 {
    color: var(--color-yellow-300);
  }

  .text-yellow-400 {
    color: var(--color-yellow-400);
  }

  .text-yellow-500 {
    color: var(--color-yellow-500);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline {
    text-decoration-line: underline;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .placeholder-gray-400::placeholder {
    color: var(--color-gray-400);
  }

  .accent-cyan-500 {
    accent-color: var(--color-cyan-500);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-20 {
    opacity: .2;
  }

  .opacity-25 {
    opacity: .25;
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow {
    --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-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-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);
  }

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
    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-0 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-1 {
    --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-3 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-black\/20 {
    --tw-shadow-color: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-black\/50 {
    --tw-shadow-color: #00000080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black\/50 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-cyan-400\/50 {
    --tw-shadow-color: var(--color-cyan-400);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-400\/50 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-400) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-green-500\/50 {
    --tw-shadow-color: #00c75880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-green-500\/50 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-red-500\/50 {
    --tw-shadow-color: #fb2c3680;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-red-500\/50 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-cyan-400 {
    --tw-ring-color: var(--color-cyan-400);
  }

  .ring-green-500 {
    --tw-ring-color: var(--color-green-500);
  }

  .ring-red-500 {
    --tw-ring-color: var(--color-red-500);
  }

  .ring-red-600 {
    --tw-ring-color: var(--color-red-600);
  }

  .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-gray-900 {
    --tw-ring-offset-color: var(--color-gray-900);
  }

  .outline-hidden {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .outline-hidden {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-md {
    --tw-blur: blur(var(--blur-md));
    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-sm {
    --tw-blur: blur(var(--blur-sm));
    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-xs {
    --tw-blur: blur(var(--blur-xs));
    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 {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
    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-md {
    --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, #0000001f));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
    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, );
  }

  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .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 {
    --tw-backdrop-blur: blur(8px);
    -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-\[1px\] {
    --tw-backdrop-blur: blur(1px);
    -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-\[2px\] {
    --tw-backdrop-blur: blur(2px);
    -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-\[4px\] {
    --tw-backdrop-blur: blur(4px);
    -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-lg {
    --tw-backdrop-blur: blur(var(--blur-lg));
    -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-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, );
  }

  .backdrop-blur-xl {
    --tw-backdrop-blur: blur(var(--blur-xl));
    -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-filter {
    -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-filter-\(--theme-panel-blur\), .backdrop-filter-\[var\(--theme-panel-blur\)\] {
    -webkit-backdrop-filter: var(--theme-panel-blur);
    backdrop-filter: var(--theme-panel-blur);
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[box-shadow\,transform\,filter\,opacity\,border-color\] {
    transition-property: box-shadow, transform, filter, opacity, border-color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[box-shadow\,transform\,filter\,opacity\] {
    transition-property: box-shadow, transform, filter, opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[object-position\,transform\] {
    transition-property: object-position, transform;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[object-position\] {
    transition-property: object-position;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[opacity\,border-color\] {
    transition-property: opacity, border-color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-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-0 {
    --tw-duration: 0s;
    transition-duration: 0s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-400 {
    --tw-duration: .4s;
    transition-duration: .4s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .duration-600 {
    --tw-duration: .6s;
    transition-duration: .6s;
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .duration-800 {
    --tw-duration: .8s;
    transition-duration: .8s;
  }

  .duration-1000 {
    --tw-duration: 1s;
    transition-duration: 1s;
  }

  .duration-\[800ms\] {
    --tw-duration: .8s;
    transition-duration: .8s;
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .will-change-\[transform\,opacity\] {
    will-change: transform, opacity;
  }

  .will-change-transform {
    will-change: transform;
  }

  .contain-layout {
    --tw-contain-layout: layout;
    contain: var(--tw-contain-size, ) var(--tw-contain-layout, ) var(--tw-contain-paint, ) var(--tw-contain-style, );
  }

  .contain-strict {
    contain: strict;
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-auto {
    -webkit-user-select: auto;
    user-select: auto;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .backface-hidden {
    backface-visibility: hidden;
  }

  @media (hover: hover) {
    .group-hover\:scale-105:is(:where(.group):hover *) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  @media (hover: hover) {
    .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-\[1\.01\]:hover {
      scale: 1.01;
    }

    .hover\:border-\[var\(--theme-accent\)\]:hover {
      border-color: var(--theme-accent);
    }

    .hover\:border-amber-500\/50:hover {
      border-color: #f99c0080;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-amber-500\/50:hover {
        border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
      }
    }

    .hover\:border-blue-400:hover {
      border-color: var(--color-blue-400);
    }

    .hover\:border-cyan-400\/30:hover {
      border-color: var(--color-cyan-400);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-cyan-400\/30:hover {
        border-color: color-mix(in oklab, var(--color-cyan-400) 30%, transparent);
      }
    }

    .hover\:border-cyan-500:hover, .hover\:border-cyan-500\/50:hover {
      border-color: var(--color-cyan-500);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-cyan-500\/50:hover {
        border-color: color-mix(in oklab, var(--color-cyan-500) 50%, transparent);
      }
    }

    .hover\:border-emerald-500\/50:hover {
      border-color: #00bb7f80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-emerald-500\/50:hover {
        border-color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);
      }
    }

    .hover\:border-gray-500:hover {
      border-color: var(--color-gray-500);
    }

    .hover\:border-gray-600:hover {
      border-color: var(--color-gray-600);
    }

    .hover\:border-white\/20:hover {
      border-color: var(--color-white);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/20:hover {
        border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .hover\:border-white\/30:hover {
      border-color: var(--color-white);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/30:hover {
        border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
      }
    }

    .hover\:bg-\(--theme-surface-hover\):hover {
      background-color: var(--theme-surface-hover);
    }

    .hover\:bg-\[\#45a049\]:hover {
      background-color: #45a049;
    }

    .hover\:bg-\[\#555\]:hover {
      background-color: #555;
    }

    .hover\:bg-\[\#1976D2\]:hover {
      background-color: #1976d2;
    }

    .hover\:bg-\[var\(--theme-surface-hover\)\]:hover {
      background-color: var(--theme-surface-hover);
    }

    .hover\:bg-amber-500:hover {
      background-color: var(--color-amber-500);
    }

    .hover\:bg-amber-900:hover {
      background-color: var(--color-amber-900);
    }

    .hover\:bg-black\/60:hover {
      background-color: #0009;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/60:hover {
        background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
      }
    }

    .hover\:bg-black\/70:hover {
      background-color: #000000b3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/70:hover {
        background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
      }
    }

    .hover\:bg-black\/80:hover {
      background-color: #000c;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/80:hover {
        background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
      }
    }

    .hover\:bg-black\/90:hover {
      background-color: #000000e6;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/90:hover {
        background-color: color-mix(in oklab, var(--color-black) 90%, transparent);
      }
    }

    .hover\:bg-blue-500:hover {
      background-color: var(--color-blue-500);
    }

    .hover\:bg-blue-600\/30:hover {
      background-color: #155dfc4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-blue-600\/30:hover {
        background-color: color-mix(in oklab, var(--color-blue-600) 30%, transparent);
      }
    }

    .hover\:bg-blue-700:hover {
      background-color: var(--color-blue-700);
    }

    .hover\:bg-cyan-500:hover {
      background-color: var(--color-cyan-500);
    }

    .hover\:bg-cyan-600:hover {
      background-color: var(--color-cyan-600);
    }

    .hover\:bg-cyan-600\/30:hover {
      background-color: #0092b54d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-600\/30:hover {
        background-color: color-mix(in oklab, var(--color-cyan-600) 30%, transparent);
      }
    }

    .hover\:bg-cyan-700:hover {
      background-color: var(--color-cyan-700);
    }

    .hover\:bg-emerald-700:hover {
      background-color: var(--color-emerald-700);
    }

    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }

    .hover\:bg-gray-500:hover {
      background-color: var(--color-gray-500);
    }

    .hover\:bg-gray-600:hover {
      background-color: var(--color-gray-600);
    }

    .hover\:bg-gray-700:hover, .hover\:bg-gray-700\/50:hover {
      background-color: var(--color-gray-700);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-gray-700\/50:hover {
        background-color: color-mix(in oklab, var(--color-gray-700) 50%, transparent);
      }
    }

    .hover\:bg-gray-800:hover, .hover\:bg-gray-800\/80:hover {
      background-color: var(--color-gray-800);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-gray-800\/80:hover {
        background-color: color-mix(in oklab, var(--color-gray-800) 80%, transparent);
      }
    }

    .hover\:bg-green-500:hover {
      background-color: var(--color-green-500);
    }

    .hover\:bg-green-700:hover {
      background-color: var(--color-green-700);
    }

    .hover\:bg-indigo-700:hover {
      background-color: var(--color-indigo-700);
    }

    .hover\:bg-orange-500:hover {
      background-color: var(--color-orange-500);
    }

    .hover\:bg-orange-500\/20:hover {
      background-color: #fe6e0033;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-orange-500\/20:hover {
        background-color: color-mix(in oklab, var(--color-orange-500) 20%, transparent);
      }
    }

    .hover\:bg-orange-700:hover {
      background-color: var(--color-orange-700);
    }

    .hover\:bg-pink-500:hover {
      background-color: var(--color-pink-500);
    }

    .hover\:bg-purple-700:hover {
      background-color: var(--color-purple-700);
    }

    .hover\:bg-red-500:hover {
      background-color: var(--color-red-500);
    }

    .hover\:bg-red-600:hover {
      background-color: var(--color-red-600);
    }

    .hover\:bg-red-600\/30:hover {
      background-color: #e400144d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-red-600\/30:hover {
        background-color: color-mix(in oklab, var(--color-red-600) 30%, transparent);
      }
    }

    .hover\:bg-red-700:hover {
      background-color: var(--color-red-700);
    }

    .hover\:bg-red-900\/30:hover {
      background-color: #82181a4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-red-900\/30:hover {
        background-color: color-mix(in oklab, var(--color-red-900) 30%, transparent);
      }
    }

    .hover\:bg-white\/5:hover {
      background-color: var(--color-white);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/5:hover {
        background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }

    .hover\:bg-white\/10:hover {
      background-color: var(--color-white);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/10:hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

    .hover\:bg-yellow-700:hover {
      background-color: var(--color-yellow-700);
    }

    .hover\:from-cyan-600:hover {
      --tw-gradient-from: var(--color-cyan-600);
      --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));
    }

    .hover\:from-green-500\/25:hover {
      --tw-gradient-from: #00c75840;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:from-green-500\/25:hover {
        --tw-gradient-from: color-mix(in oklab, var(--color-green-500) 25%, transparent);
      }
    }

    .hover\:from-green-500\/25:hover {
      --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));
    }

    .hover\:from-green-600:hover {
      --tw-gradient-from: var(--color-green-600);
      --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));
    }

    .hover\:from-purple-500\/25:hover {
      --tw-gradient-from: #ac4bff40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:from-purple-500\/25:hover {
        --tw-gradient-from: color-mix(in oklab, var(--color-purple-500) 25%, transparent);
      }
    }

    .hover\:from-purple-500\/25:hover {
      --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));
    }

    .hover\:from-purple-700:hover {
      --tw-gradient-from: var(--color-purple-700);
      --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));
    }

    .hover\:from-yellow-500\/25:hover {
      --tw-gradient-from: #edb20040;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:from-yellow-500\/25:hover {
        --tw-gradient-from: color-mix(in oklab, var(--color-yellow-500) 25%, transparent);
      }
    }

    .hover\:from-yellow-500\/25:hover {
      --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));
    }

    .hover\:to-amber-500\/25:hover {
      --tw-gradient-to: #f99c0040;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:to-amber-500\/25:hover {
        --tw-gradient-to: color-mix(in oklab, var(--color-amber-500) 25%, transparent);
      }
    }

    .hover\:to-amber-500\/25:hover {
      --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));
    }

    .hover\:to-blue-500\/25:hover {
      --tw-gradient-to: #3080ff40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:to-blue-500\/25:hover {
        --tw-gradient-to: color-mix(in oklab, var(--color-blue-500) 25%, transparent);
      }
    }

    .hover\:to-blue-500\/25:hover {
      --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));
    }

    .hover\:to-blue-600:hover {
      --tw-gradient-to: var(--color-blue-600);
      --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));
    }

    .hover\:to-blue-700:hover {
      --tw-gradient-to: var(--color-blue-700);
      --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));
    }

    .hover\:to-emerald-500\/25:hover {
      --tw-gradient-to: #00bb7f40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:to-emerald-500\/25:hover {
        --tw-gradient-to: color-mix(in oklab, var(--color-emerald-500) 25%, transparent);
      }
    }

    .hover\:to-emerald-500\/25:hover {
      --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));
    }

    .hover\:to-emerald-600:hover {
      --tw-gradient-to: var(--color-emerald-600);
      --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));
    }

    .hover\:text-amber-200:hover {
      color: var(--color-amber-200);
    }

    .hover\:text-amber-300:hover {
      color: var(--color-amber-300);
    }

    .hover\:text-blue-200:hover {
      color: var(--color-blue-200);
    }

    .hover\:text-blue-400:hover {
      color: var(--color-blue-400);
    }

    .hover\:text-cyan-200:hover {
      color: var(--color-cyan-200);
    }

    .hover\:text-cyan-300:hover {
      color: var(--color-cyan-300);
    }

    .hover\:text-cyan-400:hover {
      color: var(--color-cyan-400);
    }

    .hover\:text-gray-200:hover {
      color: var(--color-gray-200);
    }

    .hover\:text-gray-300:hover {
      color: var(--color-gray-300);
    }

    .hover\:text-gray-400:hover {
      color: var(--color-gray-400);
    }

    .hover\:text-red-300:hover {
      color: var(--color-red-300);
    }

    .hover\:text-red-400:hover {
      color: var(--color-red-400);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:opacity-75:hover {
      opacity: .75;
    }

    .hover\:opacity-100:hover {
      opacity: 1;
    }

    .hover\:shadow-lg:hover {
      --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);
    }

    .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-blue-500\/25:hover {
      --tw-shadow-color: #3080ff40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-blue-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-cyan-500\/25:hover {
      --tw-shadow-color: var(--color-cyan-500);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-cyan-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-gray-500\/25:hover {
      --tw-shadow-color: var(--color-gray-500);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-gray-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-pink-500\/25:hover {
      --tw-shadow-color: #f6339a40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-pink-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-pink-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:shadow-red-500\/25:hover {
      --tw-shadow-color: #fb2c3640;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-red-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }

  .focus\:border-blue-500:focus {
    border-color: var(--color-blue-500);
  }

  .focus\:border-cyan-500:focus, .focus\:border-cyan-500\/50:focus {
    border-color: var(--color-cyan-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-cyan-500\/50:focus {
      border-color: color-mix(in oklab, var(--color-cyan-500) 50%, transparent);
    }
  }

  .focus\:border-orange-500:focus {
    border-color: var(--color-orange-500);
  }

  .focus\:bg-white\/10:focus {
    background-color: var(--color-white);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:bg-white\/10:focus {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .focus\:ring-1:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-cyan-500\/20:focus {
    --tw-ring-color: var(--color-cyan-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-cyan-500\/20:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-500) 20%, transparent);
    }
  }

  .focus\:ring-cyan-500\/80:focus {
    --tw-ring-color: var(--color-cyan-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-cyan-500\/80:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-500) 80%, transparent);
    }
  }

  .focus\:ring-green-500:focus {
    --tw-ring-color: var(--color-green-500);
  }

  .focus\:ring-red-500:focus {
    --tw-ring-color: var(--color-red-500);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:scale-95:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:bg-gray-600:disabled {
    background-color: var(--color-gray-600);
  }

  .disabled\:bg-gray-700:disabled {
    background-color: var(--color-gray-700);
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  @media (hover: hover) {
    .disabled\:hover\:bg-black\/50:disabled:hover {
      background-color: #00000080;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .disabled\:hover\:bg-black\/50:disabled:hover {
        background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
      }
    }
  }

  @media (min-width: 40rem) {
    .sm\:h-48 {
      height: calc(var(--spacing) * 48);
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .sm\:grid-cols-9 {
      grid-template-columns: repeat(9, minmax(0, 1fr));
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }

    .sm\:px-2 {
      padding-inline: calc(var(--spacing) * 2);
    }

    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

    .sm\:pt-3 {
      padding-top: calc(var(--spacing) * 3);
    }

    .sm\:pb-2 {
      padding-bottom: calc(var(--spacing) * 2);
    }

    .sm\:pb-6 {
      padding-bottom: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 48rem) {
    .md\:h-48 {
      height: calc(var(--spacing) * 48);
    }

    .md\:h-52 {
      height: calc(var(--spacing) * 52);
    }

    .md\:h-56 {
      height: calc(var(--spacing) * 56);
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .md\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .md\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .lg\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .lg\:grid-cols-9 {
      grid-template-columns: repeat(9, minmax(0, 1fr));
    }
  }

  @media (min-width: 80rem) {
    .xl\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }
  }

  .animate-spin {
    animation: 1s linear infinite spin !important;
  }

  .ease-premium {
    transition-timing-function: var(--motion-ease-steady) !important;
    animation-timing-function: var(--motion-ease-steady) !important;
  }

  .duration-400 {
    transition-duration: .9s !important;
    animation-duration: .9s !important;
  }

  .ease-in-out-animation {
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
  }

  .gpu-accelerated {
    isolation: isolate;
    transform: translateZ(0);
  }

  .webview-optimized {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    -khtml-user-select: none;
  }
}

@property --angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

:root {
  --library-section-transition-ms: .9s;
  color-scheme: dark;
}

.animated-character-library div[data-rarity="C"], .character-card[data-rarity="C"] {
  border: 1px solid var(--rarity-color, #fff);
  box-shadow: none;
}

.animated-character-library > div[data-rarity="UC"] {
  box-shadow: none;
  border: 1px solid #22c55e;
}

.animated-character-library > div[data-rarity="R"] {
  box-shadow: none;
  border: 1px solid #3b82f6;
}

.animated-character-library > div[data-rarity="UR"] {
  box-shadow: none;
  border: 1px solid #eab308;
}

.animated-character-library > div[data-rarity="XR"] {
  box-shadow: none;
  border: 1px solid #ef4444;
}

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.use-gpu-layers .gpu-promoted {
  transform: translate3d(0, 0, 0);
}

.gpu-profile-high * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gpu-profile-high img, .gpu-profile-high video, .gpu-profile-high .gpu-promoted {
  image-rendering: high-quality;
  -webkit-overflow-scrolling: touch;
}

.gpu-accelerated {
  isolation: isolate;
  transform: translateZ(0);
}

html, body {
  touch-action: pan-y;
  overscroll-behavior-y: var(--overscroll-behavior, contain);
  -webkit-overflow-scrolling: touch;
}

@supports (-webkit-touch-callout: none) {
  .smooth-scroll, .smooth-scroll-container, .scrollable-container {
    scroll-behavior: auto !important;
  }
}

@media (pointer: coarse) {
  .smooth-scroll, .smooth-scroll-container, .scrollable-container, .animated-character-library-container {
    scroll-behavior: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
  }
}

.heavy-scroll {
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  transform: translate3d(0, 0, 0);
  scroll-behavior: var(--scroll-behavior, auto) !important;
}

.smooth-scroll-item {
  touch-action: manipulation;
  scroll-snap-align: var(--scroll-snap-align, none);
  transform: translateZ(0);
}

.smooth-scroll-container {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: var(--overscroll-behavior, contain);
  touch-action: pan-y;
  scrollbar-width: thin;
  scrollbar-color: var(--theme-accent) transparent;
  scroll-snap-type: var(--scroll-snap-type, none);
  scroll-padding-top: 1rem;
  scroll-padding-bottom: 5rem;
  overflow: hidden auto;
}

.is-scrolling .smooth-scroll-item {
  pointer-events: var(--scroll-lock-pointer-events, none) !important;
}

.smooth-scroll-container::-webkit-scrollbar {
  background: none;
  width: 6px;
}

.ease-premium {
  transition-timing-function: var(--motion-ease-steady);
}

.smooth-scroll-container::-webkit-scrollbar-thumb {
  background: var(--theme-accent);
  border-radius: 2px;
}

.smooth-scroll {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: var(--scroll-behavior, auto);
  touch-action: pan-y;
  overscroll-behavior-y: var(--overscroll-behavior, contain);
  scroll-snap-type: var(--scroll-snap-type, none);
  scrollbar-width: none;
  -ms-overflow-style: none;
  overflow: hidden auto;
  transform: translateZ(0);
}

.smooth-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.smooth-scroll-bar {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: var(--scroll-behavior, auto);
  touch-action: pan-y;
  overscroll-behavior-y: var(--overscroll-behavior, contain);
  scroll-snap-type: var(--scroll-snap-type, none);
  scrollbar-width: thin;
  scrollbar-color: #fff3 transparent;
  overflow: hidden auto;
  transform: translateZ(0);
}

.scrollable-container, .smooth-scroll-container {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: var(--scroll-behavior, auto);
  touch-action: pan-y;
  overscroll-behavior-y: var(--overscroll-behavior, contain);
  scrollbar-width: thin;
  scrollbar-color: var(--theme-accent) transparent;
  scroll-padding-top: 1rem;
  scroll-padding-bottom: 5rem;
  overflow: hidden auto;
  transform: translateZ(0);
  scroll-snap-type: none !important;
  overflow-anchor: none !important;
}

.smooth-scroll-bar::-webkit-scrollbar {
  background: none;
  width: 4px;
}

.smooth-scroll-bar::-webkit-scrollbar-thumb {
  background: linear-gradient(#ffffff4d 0%, #ffffff1a 100%);
  border-radius: 4px;
}

.smooth-scroll-bar::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(#ffffff80 0%, #fff3 100%);
}

.smooth-scroll-x {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: var(--scroll-behavior, auto);
  touch-action: pan-x;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overflow: auto hidden;
  transform: translateZ(0);
}

.smooth-scroll-x::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.scroll-snap-start {
  scroll-snap-align: var(--scroll-snap-align, start);
}

.scroll-snap-center {
  scroll-snap-align: var(--scroll-snap-align, center);
}

#main-content, .main-content {
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  transform: translate3d(0, 0, 0);
}

.webview-mode .details-content-wrapper {
  max-height: 0;
  transition: max-height var(--library-section-transition-ms) cubic-bezier(.22, 1, .36, 1);
  will-change: max-height;
  transform: none;
  display: block !important;
  overflow: hidden !important;
}

.webview-mode .details-content-wrapper.expanded {
  max-height: clamp(200px, 100vh, 800px);
  overflow: hidden !important;
}

.webview-mode .details-content-wrapper.animating.expanded > div > div {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

:has( > .details-content-wrapper.animating) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

:has( > .details-content-wrapper) {
  transition: -webkit-backdrop-filter .2s ease-out, backdrop-filter .2s ease-out;
}

@keyframes libFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes libStackIn {
  0% {
    opacity: 0;
    transform: translateY(40px)scale(.95);
  }

  100% {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

@keyframes libSlideIn {
  0% {
    opacity: 0;
    transform: translateX(30px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes libMagicIn {
  0% {
    opacity: 0;
    transform: scale(.6)rotate(-5deg);
  }

  100% {
    opacity: 1;
    transform: scale(1)rotate(0);
  }
}

@keyframes libClassicIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.lib-anim-staggered {
  animation: .5s cubic-bezier(.2, .8, .2, 1) both libClassicIn;
}

.lib-anim-fade-stagger {
  animation: .6s ease-out both libFadeIn;
}

.lib-anim-fade {
  animation: .4s ease-out both libFadeIn;
}

.lib-anim-stack {
  animation: .6s cubic-bezier(.2, .8, .2, 1) both libStackIn;
}

.lib-anim-slide {
  animation: .5s cubic-bezier(.2, .8, .2, 1) both libSlideIn;
}

.lib-anim-magic {
  animation: .7s cubic-bezier(.34, 1.56, .64, 1) both libMagicIn;
}

:root {
  --scroll-behavior: smooth;
  --scroll-snap-type: y proximity;
  --scroll-snap-align: start;
  --overscroll-behavior: contain;
  --scroll-lock-pointer-events: none;
  --smooth-easing: cubic-bezier(.16, 1, .3, 1);
  --theme-bg: #050508;
  --theme-surface: #111827;
  --theme-surface-opaque: #111827;
  --theme-surface-hover: #1f2937;
  --theme-text: #fff;
  --theme-text-muted: #9ca3af;
  --theme-border: #374151;
  --theme-accent: #22d3ee;
  --theme-accent-focus: #06b6d4;
  --theme-accent-text: #fff;
  --theme-panel-blur: none;
  --theme-backdrop: #0006;
  --theme-gradient-d6: linear-gradient(180deg, #1f2937d9 0%, #111827d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #374151d9 0%, #1f2937d9 100%);
  --theme-border-d6: #4b556366;
  --theme-gradient-d20: linear-gradient(180deg, #f59e0bd9 0%, #78350fd9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #fbbf24d9 0%, #92400ed9 100%);
  --theme-border-d20: #f59e0b66;
  --theme-gradient-gen: linear-gradient(180deg, #1f2937d9 0%, #111827d9 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #374151d9 0%, #1f2937d9 100%);
  --theme-border-gen: #4b556366;
  --theme-color-d6: #9ca3af;
  --theme-color-d20: #f59e0b;
  --theme-gradient-token-emerald: linear-gradient(180deg, #34d399d9 0%, #059669d9 100%);
  --theme-gradient-token-blue: linear-gradient(180deg, #60a5fad9 0%, #2563ebd9 100%);
  --theme-gradient-token-purple: linear-gradient(180deg, #c084fcd9 0%, #9333ead9 100%);
  --theme-gradient-token-gray: linear-gradient(180deg, #6b7280cc 0%, #374151cc 100%);
}

.button-swap .d6-button {
  background: var(--swp-d6-grad) !important;
}

.button-swap .d6-button:hover {
  background: var(--swp-d6-hover) !important;
  box-shadow: 0 0 12px var(--swp-d6-border) !important;
}

.button-swap .d20-button {
  background: var(--swp-d20-grad) !important;
}

.button-swap .d20-button:hover {
  background: var(--swp-d20-hover) !important;
  box-shadow: 0 0 12px var(--swp-d20-border) !important;
}

.button-swap .generate-button {
  background: var(--swp-gen-grad) !important;
}

.button-swap .generate-button:hover {
  background: var(--swp-gen-hover) !important;
  box-shadow: 0 0 12px var(--swp-gen-border) !important;
}

.button-swap .token-button-10 {
  background: var(--swp-d6-grad) !important;
}

.button-swap .token-button-60, .button-swap .token-button-install {
  background: var(--swp-gen-grad) !important;
}

.button-swap .token-button-watch {
  background: var(--swp-d20-grad) !important;
}

.button-swap [role="status"], .button-swap .loading-overlay {
  --theme-color-d6: var(--swp-d6-color) !important;
  --theme-color-d20: var(--swp-d20-color) !important;
}

.classic-theme {
  --theme-bg: #050508;
  --theme-surface: #111827d9;
  --theme-surface-opaque: #111827e6;
  --theme-surface-hover: #1f2937cc;
  --theme-text: #d1d5db;
  --theme-text-muted: #9ca3af;
  --theme-border: #37415180;
  --theme-accent: #22d3ee;
  --theme-accent-focus: #06b6d4;
  --theme-accent-text: #fff;
  --theme-panel-blur: blur(12px);
  --theme-backdrop: #0006;
  --theme-gradient-d6: linear-gradient(180deg, #1f2937d9 0%, #111827d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #374151d9 0%, #1f2937d9 100%);
  --theme-border-d6: #4b556366;
  --theme-gradient-d20: linear-gradient(180deg, #f59e0bd9 0%, #78350fd9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #fbbf24d9 0%, #92400ed9 100%);
  --theme-border-d20: #f59e0b66;
  --theme-gradient-gen: linear-gradient(180deg, #1f2937d9 0%, #111827d9 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #374151d9 0%, #1f2937d9 100%);
  --theme-border-gen: #4b556366;
  --theme-color-d6: #172554;
  --theme-color-d20: #f59e0b;
}

.clean-theme {
  --theme-bg: #000;
  --theme-surface: #0a0a0ad9;
  --theme-surface-opaque: #0a0a0ae6;
  --theme-surface-hover: #171717cc;
  --theme-text: #fff;
  --theme-text-muted: #a3a3a3;
  --theme-border: #fff;
  --theme-accent: #fff;
  --theme-accent-focus: #d4d4d4;
  --theme-accent-text: #1a1a1a;
  --theme-panel-blur: none;
  --theme-backdrop: #000000b3;
  --theme-gradient-d6: linear-gradient(180deg, #262626d9 0%, #000000d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #404040d9 0%, #0a0a0ad9 100%);
  --theme-border-d6: #ffffff1a;
  --theme-gradient-d20: linear-gradient(180deg, #a3a3a3d9 0%, #404040d9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #d4d4d4d9 0%, #525252d9 100%);
  --theme-border-d20: #ffffff1a;
  --theme-gradient-gen: linear-gradient(180deg, #262626d9 0%, #000000d9 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #404040d9 0%, #0a0a0ad9 100%);
  --theme-border-gen: #fff3;
  --theme-color-d6: #fff;
  --theme-color-d20: #fff;
}

.dark-theme {
  --theme-bg: #050508;
  --theme-surface: #111827;
  --theme-surface-opaque: #111827;
  --theme-surface-hover: #1f2937;
  --theme-text: #fff;
  --theme-text-muted: #9ca3af;
  --theme-border: #374151;
  --theme-accent: #22d3ee;
  --theme-accent-focus: #06b6d4;
  --theme-accent-text: #fff;
  --theme-panel-blur: none;
  --theme-backdrop: #0006;
  --theme-gradient-d6: linear-gradient(180deg, #1f2937f2 0%, #111827f2 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #374151f2 0%, #1f2937f2 100%);
  --theme-border-d6: #37415166;
  --theme-gradient-d20: linear-gradient(180deg, #f59e0bd9 0%, #78350fd9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #fbbf24d9 0%, #92400ed9 100%);
  --theme-border-d20: #f59e0b66;
  --theme-gradient-gen: linear-gradient(180deg, #1f2937f2 0%, #111827f2 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #374151f2 0%, #1f2937f2 100%);
  --theme-border-gen: #37415166;
  --theme-color-d6: #374151;
  --theme-color-d20: #f59e0b;
}

.material-theme {
  --theme-bg: #121212;
  --theme-surface: #1e1e1ee6;
  --theme-surface-opaque: #1e1e1e;
  --theme-surface-hover: #2c2c2ce6;
  --theme-text: #e1e1e1;
  --theme-text-muted: #b0b0b0;
  --theme-border: #3339;
  --theme-accent: #bb86fc;
  --theme-accent-focus: #9965f4;
  --theme-accent-text: #fff;
  --theme-panel-blur: blur(8px);
  --theme-backdrop: #00000080;
  --theme-gradient-d6: linear-gradient(180deg, #212121d9 0%, #121212d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #333333d9 0%, #1a1a1ad9 100%);
  --theme-border-d6: #4242424d;
  --theme-gradient-d20: linear-gradient(180deg, #7e57c2d9 0%, #311b92d9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #9575cdd9 0%, #4527a0d9 100%);
  --theme-border-d20: #7e57c24d;
  --theme-gradient-gen: linear-gradient(180deg, #212121d9 0%, #121212d9 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #333333d9 0%, #1a1a1ad9 100%);
  --theme-border-gen: #4242424d;
  --theme-color-d6: #616161;
  --theme-color-d20: #7e57c2;
}

.glass-theme {
  --theme-bg: #020617;
  --theme-surface: #0f172aa6;
  --theme-surface-opaque: #0f172ad9;
  --theme-surface-hover: #1e293bb3;
  --theme-text: #f8fafc;
  --theme-text-muted: #f8fafcb3;
  --theme-border: #ffffff26;
  --theme-accent: #38bdf8;
  --theme-accent-focus: #0ea5e9;
  --theme-accent-text: #fff;
  --theme-panel-blur: none;
  --theme-backdrop: #0000004d;
  --theme-gradient-d6: linear-gradient(180deg, #143250cc 0%, #081932cc 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #1e4164cc 0%, #0f2641cc 100%);
  --theme-border-d6: #38bdf826;
  --theme-gradient-d20: linear-gradient(180deg, #0284c7cc 0%, #0c4a6ecc 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #38bdf8cc 0%, #0369a1cc 100%);
  --theme-border-d20: #38bdf840;
  --theme-gradient-gen: linear-gradient(180deg, #143250cc 0%, #081932cc 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #1e4164cc 0%, #0f2641cc 100%);
  --theme-border-gen: #38bdf826;
  --theme-color-d6: #475569;
  --theme-color-d20: #0284c7;
}

.matte-theme {
  --theme-bg: #121212;
  --theme-surface: #1a1a1af2;
  --theme-surface-opaque: #1a1a1a;
  --theme-surface-hover: #242424f2;
  --theme-text: #d4d4d4;
  --theme-text-muted: #737373;
  --theme-border: #262626cc;
  --theme-accent: #525252;
  --theme-accent-focus: #404040;
  --theme-accent-text: #fff;
  --theme-panel-blur: blur(4px);
  --theme-backdrop: #0009;
  --theme-gradient-d6: linear-gradient(180deg, #2d2d2dd9 0%, #121212d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #404040d9 0%, #1e1e1ed9 100%);
  --theme-border-d6: #ffffff1a;
  --theme-gradient-d20: linear-gradient(180deg, #a855f7d9 0%, #581c87d9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #c084fcd9 0%, #7e22ced9 100%);
  --theme-border-d20: #9333ea80;
  --theme-gradient-gen: linear-gradient(180deg, #2d2d2dd9 0%, #121212d9 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #404040d9 0%, #1e1e1ed9 100%);
  --theme-border-gen: #ffffff1a;
  --theme-color-d6: #525252;
  --theme-color-d20: #a855f7;
}

.neon-theme {
  --theme-bg: #000;
  --theme-surface: #141419e6;
  --theme-surface-opaque: #141419;
  --theme-surface-hover: #282832e6;
  --theme-text: #fff;
  --theme-text-muted: #a1a1aa;
  --theme-border: #d946ef;
  --theme-accent: #d946ef;
  --theme-accent-focus: #c026d3;
  --theme-accent-text: #fff;
  --theme-panel-blur: none;
  --theme-backdrop: #000000b3;
  --theme-gradient-d6: var(--theme-color-d6);
  --theme-gradient-d6-hover: linear-gradient(180deg, #3f3f46d9 0%, #18181bd9 100%);
  --theme-border-d6: #a1a1aa33;
  --theme-gradient-d20: linear-gradient(180deg, #d946efd9 0%, #701a75d9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #e879f9d9 0%, #a21cafd9 100%);
  --theme-border-d20: #d946ef80;
  --theme-gradient-gen: var(--theme-color-d6);
  --theme-gradient-gen-hover: linear-gradient(180deg, #3f3f46d9 0%, #18181bd9 100%);
  --theme-border-gen: #a1a1aa33;
  --theme-color-d6: #52525b;
  --theme-color-d20: #d946ef;
}

.forest-theme {
  --theme-bg: #020604;
  --theme-surface: #06140cf2;
  --theme-surface-opaque: #06140c;
  --theme-surface-hover: #0a1e14f2;
  --theme-text: #ecfdf5;
  --theme-text-muted: #6ee7b7;
  --theme-border: #047857;
  --theme-accent: #10b981;
  --theme-accent-focus: #059669;
  --theme-accent-text: #fff;
  --theme-panel-blur: none;
  --theme-backdrop: #0009;
  --theme-gradient-d6: linear-gradient(180deg, #064e3bd9 0%, #020604d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #065f46d9 0%, #064e3bd9 100%);
  --theme-border-d6: #34d39933;
  --theme-gradient-d20: linear-gradient(180deg, #059669d9 0%, #064e3bd9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #10b981d9 0%, #065f46d9 100%);
  --theme-border-d20: #05966966;
  --theme-gradient-gen: linear-gradient(180deg, #064e3bd9 0%, #020604d9 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #065f46d9 0%, #064e3bd9 100%);
  --theme-border-gen: #34d39933;
  --theme-color-d6: #065f46;
  --theme-color-d20: #059669;
}

.royal-theme {
  --theme-bg: #02020a;
  --theme-surface: #0a081ef2;
  --theme-surface-opaque: #0a081e;
  --theme-surface-hover: #141032f2;
  --theme-text: #fff;
  --theme-text-muted: #c7d2fe;
  --theme-border: #facc15;
  --theme-accent: #facc15;
  --theme-accent-focus: #eab308;
  --theme-accent-text: #1a1a1a;
  --theme-panel-blur: none;
  --theme-backdrop: #000000b3;
  --theme-gradient-d6: linear-gradient(180deg, #1e1b4bd9 0%, #02020ad9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #312e81d9 0%, #1e1b4bd9 100%);
  --theme-border-d6: #6366f14d;
  --theme-gradient-d20: linear-gradient(180deg, #eab308d9 0%, #854d0ed9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #facc15d9 0%, #a16207d9 100%);
  --theme-border-d20: #eab30866;
  --theme-gradient-gen: linear-gradient(180deg, #1e1b4bd9 0%, #02020ad9 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #312e81d9 0%, #1e1b4bd9 100%);
  --theme-border-gen: #6366f14d;
  --theme-color-d6: #312e81;
  --theme-color-d20: #eab308;
}

.crimson-theme {
  --theme-bg: #0f0202;
  --theme-surface: #190404f2;
  --theme-surface-opaque: #190404;
  --theme-surface-hover: #280606f2;
  --theme-text: #ffe4e6;
  --theme-text-muted: #fca5a5;
  --theme-border: #b91c1c;
  --theme-accent: #ef4444;
  --theme-accent-focus: #dc2626;
  --theme-accent-text: #fff;
  --theme-panel-blur: none;
  --theme-backdrop: #000000b3;
  --theme-gradient-d6: linear-gradient(180deg, #450a0ad9 0%, #0f0202d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #7f1d1dd9 0%, #450a0ad9 100%);
  --theme-border-d6: #f8717133;
  --theme-gradient-d20: linear-gradient(180deg, #b45309d9 0%, #431407d9 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #d97706d9 0%, #7c2d12d9 100%);
  --theme-border-d20: #f59e0b66;
  --theme-gradient-gen: linear-gradient(180deg, #450a0ad9 0%, #0f0202d9 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #7f1d1dd9 0%, #450a0ad9 100%);
  --theme-border-gen: #f8717133;
  --theme-color-d6: #7f1d1d;
  --theme-color-d20: #d97706;
}

.vanilla-theme {
  --theme-bg: #1a1814;
  --theme-surface: #2e2c26bf;
  --theme-surface-opaque: #2e2c26;
  --theme-surface-hover: #3d3a33d9;
  --theme-text: #fff8e1;
  --theme-text-muted: #d7ccc8;
  --theme-border: #ffd54f33;
  --theme-accent: #ffd54f;
  --theme-accent-focus: #ffca28;
  --theme-accent-text: #1a1a1a;
  --theme-panel-blur: blur(16px);
  --theme-backdrop: #0009;
  --theme-gradient-d6: linear-gradient(180deg, #8d6e63d9 0%, #5d4037d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #a1887fe6 0%, #735448e6 100%);
  --theme-gradient-d20: linear-gradient(180deg, #facc15cc 0%, #a16207cc 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #fde047e0 0%, #b4740ae0 100%);
  --theme-gradient-gen: var(--theme-gradient-d6);
  --theme-gradient-gen-hover: var(--theme-gradient-d6-hover);
  --theme-border-d6: #a1887f66;
  --theme-border-d20: #ffd54f66;
  --theme-border-gen: #a1887f66;
  --theme-color-d6: #a1887f;
  --theme-color-d20: #ffd54f;
}

.strawberry-theme {
  --theme-bg: #1a0f12;
  --theme-surface: #3c141ebf;
  --theme-surface-opaque: #3c141e;
  --theme-surface-hover: #501928d9;
  --theme-text: #fce4ec;
  --theme-text-muted: #f8bbd0;
  --theme-border: #f0629240;
  --theme-accent: #f06292;
  --theme-accent-focus: #ec407a;
  --theme-accent-text: #fff;
  --theme-panel-blur: blur(16px);
  --theme-backdrop: #000000a6;
  --theme-gradient-d6: linear-gradient(180deg, #c2185bd9 0%, #580530d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #d82a6ce6 0%, #700a3ee6 100%);
  --theme-gradient-d20: linear-gradient(180deg, #f48fb1cc 0%, #ad1457cc 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #ffaac6e0 0%, #c82369e0 100%);
  --theme-gradient-gen: var(--theme-gradient-d20);
  --theme-gradient-gen-hover: var(--theme-gradient-d20-hover);
  --theme-border-d6: #e5737366;
  --theme-border-d20: #ad145766;
  --theme-border-gen: #e5737366;
  --theme-color-d6: #e57373;
  --theme-color-d20: #f06292;
}

.cookie-theme {
  --theme-bg: #0d0908;
  --theme-surface: #281a18cc;
  --theme-surface-opaque: #281a18;
  --theme-surface-hover: #362320e6;
  --theme-text: #efebe9;
  --theme-text-muted: #d7ccc8;
  --theme-border: #6d4c414d;
  --theme-accent: #ffab40;
  --theme-accent-focus: #ff9100;
  --theme-accent-text: #1a1a1a;
  --theme-panel-blur: blur(12px);
  --theme-backdrop: #000000b3;
  --theme-gradient-d6: linear-gradient(180deg, #5d4037cc 0%, #212121cc 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #735448e0 0%, #373737e0 100%);
  --theme-gradient-d20: linear-gradient(180deg, #8d6e63cc 0%, #3e2723cc 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #a58476e0 0%, #523832e0 100%);
  --theme-gradient-gen: var(--theme-gradient-d20);
  --theme-gradient-gen-hover: var(--theme-gradient-d20-hover);
  --theme-border-d6: #5d403766;
  --theme-border-d20: #8d6e6366;
  --theme-border-gen: #5d403766;
  --theme-color-d6: #5d4037;
  --theme-color-d20: #ffab40;
}

.macadamia-theme {
  --theme-bg: #14120f;
  --theme-surface: #2c2820bf;
  --theme-surface-opaque: #2c2820;
  --theme-surface-hover: #3c362cd9;
  --theme-text: #faf3e0;
  --theme-text-muted: #d4c4a8;
  --theme-border: #b09b7133;
  --theme-accent: #b09b71;
  --theme-accent-focus: #9d8461;
  --theme-accent-text: #fff;
  --theme-panel-blur: blur(16px);
  --theme-backdrop: #0009;
  --theme-gradient-d6: linear-gradient(180deg, #a1887fd9 0%, #6d4c41d9 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #b9a094e6 0%, #846052e6 100%);
  --theme-gradient-d20: linear-gradient(180deg, #b4a078cc 0%, #786446cc 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #ccb88ee0 0%, #917a58e0 100%);
  --theme-gradient-gen: var(--theme-gradient-d6);
  --theme-gradient-gen-hover: var(--theme-gradient-d6-hover);
  --theme-border-d6: #bea6a066;
  --theme-border-d20: #b09b7166;
  --theme-border-gen: #bea6a066;
  --theme-color-d6: #bea6a0;
  --theme-color-d20: #b09b71;
}

.chip-theme {
  --theme-bg: #0a0e0c;
  --theme-surface: #142d23bf;
  --theme-surface-opaque: #142d23;
  --theme-surface-hover: #1e3c2dd9;
  --theme-text: #e8f5e9;
  --theme-text-muted: #a5d6a7;
  --theme-border: #3e272366;
  --theme-accent: #6d4c41;
  --theme-accent-focus: #5d4037;
  --theme-accent-text: #fff;
  --theme-panel-blur: blur(12px);
  --theme-backdrop: #000000b3;
  --theme-gradient-d6: linear-gradient(180deg, #5d4037cc 0%, #3e2723cc 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #735448e0 0%, #523832e0 100%);
  --theme-gradient-d20: linear-gradient(180deg, #424242cc 0%, #212121cc 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #5a5a5ae0 0%, #373737e0 100%);
  --theme-gradient-gen: var(--theme-gradient-d6);
  --theme-gradient-gen-hover: var(--theme-gradient-d6-hover);
  --theme-border-d6: #6d4c4166;
  --theme-border-d20: #42424266;
  --theme-border-gen: #6d4c4166;
  --theme-color-d6: #6d4c41;
  --theme-color-d20: #757575;
}

.swirl-theme {
  --theme-bg: #0f0a07;
  --theme-surface: #321e14bf;
  --theme-surface-opaque: #321e14;
  --theme-surface-hover: #462819d9;
  --theme-text: #fffaf0;
  --theme-text-muted: #e5d6c3;
  --theme-border: #f5e6d333;
  --theme-accent: #f5e6d3;
  --theme-accent-focus: #e5d6c3;
  --theme-accent-text: #1a1a1a;
  --theme-panel-blur: blur(20px);
  --theme-backdrop: #000000a6;
  --theme-gradient-d6: linear-gradient(180deg, #5d4037cc 0%, #212121cc 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #735448e0 0%, #373737e0 100%);
  --theme-gradient-d20: linear-gradient(180deg, #d7beaacc 0%, #5d4037cc 100%);
  --theme-gradient-d20-hover: linear-gradient(180deg, #ebd4c2e0 0%, #735448e0 100%);
  --theme-gradient-gen: var(--theme-gradient-d6);
  --theme-gradient-gen-hover: var(--theme-gradient-d6-hover);
  --theme-border-d6: #5d403766;
  --theme-border-d20: #f5e6d366;
  --theme-border-gen: #5d403766;
  --theme-color-d6: #5d4037;
  --theme-color-d20: #f5e6d3;
}

.magical-theme {
  --theme-bg: #050010;
  --theme-surface: #12082db8;
  --theme-surface-opaque: #12082d;
  --theme-surface-hover: #1e0c46d9;
  --theme-text: #f3eeff;
  --theme-text-muted: #b89ed4;
  --theme-border: #f5c84238;
  --theme-accent: #f5c842;
  --theme-accent-focus: #e2a800;
  --theme-accent-text: #1a1a1a;
  --theme-panel-blur: none;
  --theme-backdrop: #020014bf;
  --theme-gradient-d6: linear-gradient(180deg, #46198ce0 0%, #19083ceb 100%);
  --theme-gradient-d6-hover: linear-gradient(180deg, #5f23afeb 0%, #280f50eb 100%);
  --theme-border-d6: #b478ff59;
  --theme-gradient-d20: linear-gradient(160deg, #f5b428eb 0%, #c83c8ce0 50%, #5014b4e6 100%);
  --theme-gradient-d20-hover: linear-gradient(160deg, #ffd250f2 0%, #e650a0eb 50%, #6e28d2f2 100%);
  --theme-border-d20: #f5c8428c;
  --theme-gradient-gen: linear-gradient(180deg, #8c3cdce0 0%, #370f6eeb 100%);
  --theme-gradient-gen-hover: linear-gradient(180deg, #aa55f5eb 0%, #4b1996f2 100%);
  --theme-border-gen: #c878ff73;
  --theme-color-d6: #2d0f5e;
  --theme-color-d20: #f5c842;
}

@media (prefers-reduced-motion: no-preference) {
  .magical-theme body:before {
    content: "";
    pointer-events: none;
    z-index: 0;
    will-change: transform;
    opacity: .85;
    background-image: radial-gradient(1.5px 1.5px at 12% 18%, #f5c84299 0%, #0000 100%), radial-gradient(1px 1px at 28% 72%, #c88cff80 0%, #0000 100%), radial-gradient(2px 2px at 44% 38%, #ffffff59 0%, #0000 100%), radial-gradient(1.5px 1.5px at 60% 85%, #f5c84273 0%, #0000 100%), radial-gradient(1px 1px at 76% 25%, #a064ff8c 0%, #0000 100%), radial-gradient(2px 2px at 88% 60%, #ffffff4d 0%, #0000 100%), radial-gradient(1px 1px at 5% 55%, #ffdc6466 0%, #0000 100%), radial-gradient(1px 1px at 22% 42%, #b478ff59 0%, #0000 100%), radial-gradient(1px 1px at 36% 90%, #f5c84280 0%, #0000 100%), radial-gradient(1px 1px at 52% 14%, #ffffff47 0%, #0000 100%), radial-gradient(1px 1px at 68% 47%, #dca0ff6b 0%, #0000 100%), radial-gradient(1px 1px at 82% 78%, #f5c84261 0%, #0000 100%), radial-gradient(1px 1px at 94% 33%, #c88cff70 0%, #0000 100%), radial-gradient(.8px .8px at 8% 80%, #ffffff73 0%, #0000 100%), radial-gradient(.8px .8px at 32% 28%, #f5c8428c 0%, #0000 100%), radial-gradient(.8px .8px at 56% 62%, #b464ff7a 0%, #0000 100%), radial-gradient(.8px .8px at 74% 8%, #ffffff59 0%, #0000 100%), radial-gradient(.8px .8px at 90% 92%, #f5c84280 0%, #0000 100%);
    background-size: 100% 100%;
    width: 140%;
    height: 140%;
    animation: 90s linear infinite magical-star-drift;
    position: fixed;
    inset: -20%;
  }

  .magical-theme .bg-gray-900 {
    animation: 6s ease-in-out infinite magical-shimmer;
  }

  .magical-theme .d20-button {
    isolation: isolate;
    position: relative;
    box-shadow: 0 6px 15px -5px #0000004d, 0 4px 6px -4px #0003, 0 0 14px 4px #f5c84261, 0 0 28px 10px #c83c8c38;
  }

  .magical-theme .d20-button:after {
    content: "";
    border-radius: inherit;
    pointer-events: none;
    z-index: -1;
    will-change: opacity;
    background: radial-gradient(#f5c84273 0%, #c83c8c4d 50%, #0000 75%);
    animation: 4s ease-in-out infinite magical-glow-opacity;
    position: absolute;
    inset: -4px;
  }

  .magical-theme .generate-button {
    isolation: isolate;
    position: relative;
    box-shadow: 0 6px 15px -5px #0000004d, 0 4px 6px -4px #0003, 0 0 12px 3px #7832c852;
  }

  .magical-theme .generate-button:after {
    content: "";
    border-radius: inherit;
    pointer-events: none;
    z-index: -1;
    will-change: opacity;
    background: radial-gradient(#9646e680 0%, #5014b440 55%, #0000 78%);
    animation: 5s ease-in-out -2.5s infinite magical-glow-opacity;
    position: absolute;
    inset: -4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .magical-theme body:before {
    content: "";
    pointer-events: none;
    z-index: 0;
    opacity: .7;
    background-image: radial-gradient(1.5px 1.5px at 12% 18%, #f5c84266 0%, #0000 100%), radial-gradient(1px 1px at 28% 72%, #c88cff59 0%, #0000 100%), radial-gradient(2px 2px at 44% 38%, #fff3 0%, #0000 100%), radial-gradient(1.5px 1.5px at 60% 85%, #f5c8424d 0%, #0000 100%), radial-gradient(1px 1px at 76% 25%, #a064ff61 0%, #0000 100%), radial-gradient(2px 2px at 88% 60%, #ffffff2e 0%, #0000 100%);
    background-size: 100% 100%;
    position: fixed;
    inset: 0;
  }
}

.glass-theme .bg-gray-900, .glass-theme .bg-gray-800\/50, .glass-theme .bg-white\/5, .classic-theme .bg-gray-900, .clean-theme .bg-gray-900, .material-theme .bg-gray-900, .matte-theme .bg-gray-900, .neon-theme .bg-gray-900, .forest-theme .bg-gray-900, .royal-theme .bg-gray-900, .crimson-theme .bg-gray-900, .vanilla-theme .bg-gray-900, .strawberry-theme .bg-gray-900, .cookie-theme .bg-gray-900, .macadamia-theme .bg-gray-900, .chip-theme .bg-gray-900, .swirl-theme .bg-gray-900, .magical-theme .bg-gray-900 {
  -webkit-backdrop-filter: var(--theme-panel-blur);
  backdrop-filter: var(--theme-panel-blur);
}

@keyframes magical-star-drift {
  0% {
    transform: translate3d(0, 0, 0)rotate(0);
  }

  25% {
    transform: translate3d(1.5%, 1%, 0)rotate(.4deg);
  }

  50% {
    transform: translate3d(0, 2%, 0)rotate(0);
  }

  75% {
    transform: translate3d(-1.5%, 1%, 0)rotate(-.4deg);
  }

  100% {
    transform: translate3d(0, 0, 0)rotate(0);
  }
}

@keyframes magical-shimmer {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .88;
  }
}

@keyframes magical-glow-opacity {
  0%, 100% {
    opacity: .5;
  }

  50% {
    opacity: 1;
  }
}

@keyframes fade-in-fast {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-out-fast {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fade-in-down {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slide-in-right {
  from {
    opacity: 0;
    transform: translateX(100%);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.animate-fade-in-fast {
  animation: fade-in-fast var(--motion-duration-fade) var(--motion-ease-steady) forwards;
}

.animate-fade-out-fast {
  animation: fade-out-fast var(--motion-duration-fade) var(--motion-ease-steady) forwards;
}

.animate-slide-up-menu {
  animation: slide-up-menu var(--motion-duration-menu) var(--motion-ease-steady) forwards;
}

.animate-slide-down-menu {
  animation: slide-down-menu var(--motion-duration-menu) var(--motion-ease-steady) forwards;
}

.animate-scale-in {
  animation: scale-in var(--motion-duration-fade) var(--motion-ease-steady) forwards;
}

.animate-fade-in-down {
  animation: fade-in-down var(--motion-duration-fade) var(--motion-ease-steady) forwards;
}

.animate-fade-in-up {
  animation: fade-in-up var(--motion-duration-fade) var(--motion-ease-steady) forwards;
}

.animate-slide-in-right {
  animation: slide-in-right var(--motion-duration-fade) var(--motion-ease-steady) forwards;
}

.lib-card-portrait {
  height: 0;
  padding-bottom: 156.67%;
  position: relative;
}

@supports (aspect-ratio: 1) {
  .lib-card-portrait {
    height: revert;
    aspect-ratio: 3 / 4.7;
    padding-bottom: 0;
  }
}

.lib-card-video {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

@supports (aspect-ratio: 1) {
  .lib-card-video {
    height: revert;
    aspect-ratio: 16 / 9;
    padding-bottom: 0;
  }
}

.d6-button, .d20-button, .generate-button, .token-button-60, .token-button-10, .token-button-watch, .token-button-cancel, .token-button-install {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  isolation: isolate;
  contain: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  z-index: 5;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  transition: transform .2s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  box-shadow: 0 6px 15px -5px #0000004d, 0 4px 6px -4px #0003;
  appearance: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background-color: #0000 !important;
  outline: none !important;
}

.d6-button:before, .d20-button:before, .generate-button:before, .token-button-60:before, .token-button-10:before, .token-button-watch:before, .token-button-cancel:before, .token-button-install:before {
  content: "";
  z-index: -2;
  border-radius: inherit;
  background: var(--btn-bg);
  box-shadow: var(--btn-shadow, none);
  transition: filter 3s ease-out, background .6s ease-out, box-shadow .6s ease-out;
  position: absolute;
  inset: 0;
}

.d6-button:after, .d20-button:after, .generate-button:after, .token-button-60:after, .token-button-10:after, .token-button-watch:after, .token-button-cancel:after, .token-button-install:after {
  content: "";
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  background: #000;
  transition: opacity .8s ease-in-out .8s;
  position: absolute;
  inset: 0;
}

.d6-button:active:before, .d20-button:active:before, .generate-button:active:before, .token-button-60:active:before, .token-button-10:active:before, .token-button-watch:active:before, .token-button-cancel:active:before, .token-button-install:active:before {
  transition: filter 50ms ease-out;
  filter: brightness(1.2) contrast(1.1) !important;
}

.d6-button:active, .d20-button:active, .generate-button:active, .token-button-60:active, .token-button-10:active, .token-button-watch:active, .token-button-cancel:active, .token-button-install:active {
  transform: translate3d(0, 0, 0)scale(.97);
}

.d6-button:disabled:after, .d20-button:disabled:after, .generate-button:disabled:after, .token-button-60:disabled:after, .token-button-10:disabled:after, .token-button-watch:disabled:after, .token-button-cancel:disabled:after, .token-button-install:disabled:after {
  transition-delay: 0s;
  opacity: .3 !important;
  transition-duration: 0s !important;
}

.d6-button:disabled:before, .d20-button:disabled:before, .generate-button:disabled:before, .token-button-60:disabled:before, .token-button-10:disabled:before, .token-button-watch:disabled:before, .token-button-cancel:disabled:before, .token-button-install:disabled:before {
  filter: none !important;
}

.d6-button:disabled, .d20-button:disabled, .generate-button:disabled, .token-button-60:disabled, .token-button-10:disabled, .token-button-watch:disabled, .token-button-cancel:disabled, .token-button-install:disabled {
  cursor: not-allowed !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

.d6-button {
  --btn-bg: var(--theme-gradient-d6);
  color: inherit;
  border: none;
}

@media (hover: hover) {
  .d6-button:hover {
    --btn-bg: var(--theme-gradient-d6-hover, var(--theme-gradient-d6));
    box-shadow: 0 0 12px var(--theme-border-d6);
  }
}

.d20-button {
  --btn-bg: var(--theme-gradient-d20);
  border: none;
}

@media (hover: hover) {
  .d20-button:hover {
    --btn-bg: var(--theme-gradient-d20-hover, var(--theme-gradient-d20));
    box-shadow: 0 0 12px var(--theme-border-d20);
  }
}

.generate-button {
  --btn-bg: var(--theme-gradient-gen);
  color: inherit;
  border: none;
}

@media (hover: hover) {
  .generate-button:hover {
    --btn-bg: var(--theme-gradient-gen-hover, var(--theme-gradient-gen));
    box-shadow: 0 0 8px var(--theme-border-gen);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .generate-button:hover {
      box-shadow: 0 0 8px color-mix(in srgb, var(--theme-border-gen), transparent 35%);
    }
  }

  .generate-button:hover {
    transform: none;
  }
}

.d6-button, .d20-button, .generate-button {
  border-radius: .5rem;
  padding: .5rem .75rem;
  transition: box-shadow .2s cubic-bezier(.4, 0, .2, 1);
  position: relative;
  overflow: hidden;
}

@media (hover: hover) {
  .d6-button:hover:not(:disabled) {
    box-shadow: 0 0 5px var(--theme-color-d6, #3b82f6);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .d6-button:hover:not(:disabled) {
      box-shadow: 0 0 5px color-mix(in srgb, var(--theme-color-d6, #3b82f6), transparent 60%);
    }
  }

  .d6-button:hover:not(:disabled) {
    transform: none;
  }

  .d20-button:hover:not(:disabled) {
    box-shadow: 0 0 5px var(--theme-color-d20, #a855f7);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .d20-button:hover:not(:disabled) {
      box-shadow: 0 0 5px color-mix(in srgb, var(--theme-color-d20, #a855f7), transparent 60%);
    }
  }

  .d20-button:hover:not(:disabled) {
    transform: none;
  }
}

.d6-button:active:not(:disabled), .d20-button:active:not(:disabled), .generate-button:active:not(:disabled) {
  transform: translate3d(0, 0, 0)scale(.97);
  box-shadow: 0 0 2px #ffffff4d;
}

.token-button-60, .token-button-10, .token-button-watch, .token-button-install {
  --btn-bg: var(--theme-gradient-d20);
  color: inherit;
  border: none;
  padding: 1rem 1.5rem;
  font-weight: 600;
}

.token-button-60, .token-button-install {
  --btn-bg: var(--theme-gradient-gen);
}

.token-button-10 {
  --btn-bg: var(--theme-gradient-d6);
}

.token-button-watch {
  --btn-bg: var(--theme-gradient-d20);
}

@media (hover: hover) {
  .token-button-60:hover, .token-button-10:hover, .token-button-watch:hover, .token-button-install:hover {
    filter: brightness(1.1);
    box-shadow: 0 8px 20px -5px #0006;
  }

  .token-button-60:hover, .token-button-install:hover {
    box-shadow: 0 0 15px #34d3994d;
  }

  .token-button-10:hover {
    box-shadow: 0 0 15px #60a5fa4d;
  }

  .token-button-watch:hover {
    box-shadow: 0 0 15px #a855f74d;
  }
}

.token-button-cancel {
  background: var(--theme-gradient-token-gray);
  border: 1px solid var(--theme-border);
  color: var(--theme-text-muted);
  margin-top: .5rem;
  padding: .75rem 1.5rem;
  font-weight: 600;
}

input, textarea, [contenteditable] {
  -webkit-user-select: text;
  user-select: text;
}

html {
  -webkit-overflow-scrolling: touch;
}

details {
  max-height: 60rem;
  transition: none;
  overflow: hidden;
}

.details-content-wrapper {
  transition: grid-template-rows var(--library-section-transition-ms) cubic-bezier(.22, 1, .36, 1);
  grid-template-rows: 0fr;
  display: grid;
  transform: translateZ(0);
  overflow: hidden !important;
}

.details-content-wrapper.animating {
  will-change: grid-template-rows;
  contain: layout style;
}

.details-content-wrapper.animating .artifact-library-item, .details-content-wrapper.animating .banner-library-item, .details-content-wrapper.animating .character-library-item {
  will-change: auto !important;
  transition: none !important;
}

.details-content-wrapper.animating [class*="will-change-transform"], .details-content-wrapper.animating .will-change-premium, .details-content-wrapper.animating .gpu-promoted {
  will-change: auto !important;
}

details[open] .details-content-wrapper, .details-content-wrapper.expanded {
  grid-template-rows: 1fr;
}

.details-content-wrapper > * {
  min-height: 0;
  overflow: hidden;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes rotate-border {
  to {
    --angle: 360deg;
  }
}

@keyframes rarity-pulse {
  0%, 100% {
    opacity: 1;
    filter: brightness();
    transform: scale(1);
  }

  50% {
    opacity: .9;
    filter: brightness(1.2);
    transform: scale(1.005);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0);
  }

  to {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes slide-up-menu {
  0% {
    transform: translate3d(0, 100%, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slide-down-menu {
  0% {
    transform: translate3d(0, 0, 0);
  }

  100% {
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateX(-50%)translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateX(-50%)translateY(0);
  }
}

@keyframes slideUp {
  from {
    opacity: 1;
    transform: translateX(-50%)translateY(0);
  }

  to {
    opacity: 0;
    transform: translateX(-50%)translateY(-20px);
  }
}

@keyframes slideUpMenu {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideDownMenu {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes float-1 {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }

  33% {
    transform: translate3d(80px, -120px, 0);
  }

  66% {
    transform: translate3d(-50px, 60px, 0);
  }
}

@keyframes float-2 {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }

  33% {
    transform: translate3d(-90px, 90px, 0);
  }

  66% {
    transform: translate3d(60px, -60px, 0);
  }
}

@keyframes float-3 {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }

  33% {
    transform: translate3d(50px, 100px, 0);
  }

  66% {
    transform: translate3d(-100px, -40px, 0);
  }
}

@keyframes twinkle {
  0%, 100% {
    opacity: .3;
    transform: scale(.8)translate3d(0, 0, 0);
  }

  50% {
    opacity: 1;
    transform: scale(1.2)translate3d(0, 0, 0);
  }
}

@keyframes pulse-glow {
  0%, 100% {
    opacity: .3;
    transform: scale(.9)translate3d(0, 0, 0);
  }

  50% {
    opacity: 1;
    transform: scale(1.6)translate3d(0, 0, 0);
  }
}

@keyframes fade-cycle {
  0%, 100% {
    opacity: 0;
  }

  50% {
    opacity: .8;
  }
}

.consent-banner-overlay {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: 2147483647;
  -webkit-overflow-scrolling: touch;
  background: #000c;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

.consent-banner-dialog {
  background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
  border: 1px solid #374151;
  border-radius: 12px;
  width: 100%;
  max-width: 500px;
  max-height: 90vh;
  margin: auto;
  animation: .8s cubic-bezier(.16, 1, .3, 1) slideInUp;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px #00000080;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInOpacity {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.animate-fade-in-opacity {
  animation: .4s ease-out forwards fadeInOpacity;
}

@keyframes characterSlideIn {
  0% {
    opacity: 0;
    transform: translateX(-100%)scale(.8);
  }

  50% {
    opacity: .7;
    transform: translateX(-20%)scale(.9);
  }

  100% {
    opacity: 1;
    transform: translateX(0)scale(1);
  }
}

.animated-character-library .character-slide-existing {
  transform-origin: center;
}

.animated-character-library {
  scroll-behavior: auto;
}

body.consent-banner-active {
  width: 100% !important;
  height: 100% !important;
  position: fixed !important;
  overflow: hidden !important;
}

.reduced-motion *, .reduced-motion :before, .reduced-motion :after {
  scroll-behavior: auto !important;
  transition-duration: .001ms !important;
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
}

.resolution-720p .app-container {
  margin: auto;
  box-shadow: 0 0 50px #00000080;
  max-width: 1280px !important;
  max-height: 720px !important;
}

.resolution-1080p .app-container {
  margin: auto;
  max-width: 1920px !important;
  max-height: 1080px !important;
}

.resolution-2k .app-container {
  margin: auto;
  max-width: 2560px !important;
  max-height: 1440px !important;
}

.resolution-4k .app-container {
  margin: auto;
  max-width: 3840px !important;
  max-height: 2160px !important;
}

[data-app-hz="30"] * {
  --animation-speed-multiplier: 2;
}

[data-app-hz="60"] * {
  --animation-speed-multiplier: 1;
}

[data-app-hz="120"] * {
  --animation-speed-multiplier: .5;
}

.animate-spin {
  animation-duration: calc(1s * var(--animation-speed-multiplier, 1)) !important;
}

.btn-theme-interactive {
  background-color: var(--theme-bg);
  border: 1px solid var(--theme-border);
  color: var(--theme-text);
  transition: max-height 1.5s cubic-bezier(.16, 1, .3, 1), opacity 1.5s cubic-bezier(.16, 1, .3, 1), transform 1.5s cubic-bezier(.16, 1, .3, 1);
}

@media (hover: hover) {
  .btn-theme-interactive:hover:not(:disabled) {
    opacity: 1;
    border-color: var(--theme-accent);
    color: var(--theme-accent);
    box-shadow: 0 0 10px var(--theme-accent-focus);
    transform: scale(1.05)translateZ(0);
  }
}

.btn-theme-interactive:active:not(:disabled) {
  transform: scale(.95)translateZ(0);
}

.btn-theme-interactive:disabled {
  opacity: .5;
  cursor: not-allowed;
  filter: grayscale();
}

.custom-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

.custom-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

html.button-swap {
  --swp-d6-grad: var(--theme-gradient-d20);
  --swp-d6-hover: var(--theme-gradient-d20-hover);
  --swp-d6-border: var(--theme-border-d20);
  --swp-d6-color: var(--theme-color-d20);
  --swp-d20-grad: var(--theme-gradient-d6);
  --swp-d20-hover: var(--theme-gradient-d6-hover);
  --swp-d20-border: var(--theme-border-d6);
  --swp-d20-color: var(--theme-color-d6);
  --swp-gen-grad: var(--theme-gradient-d20);
  --swp-gen-hover: var(--theme-gradient-d20-hover);
  --swp-gen-border: var(--theme-border-d20);
}

html.button-swap .d6-button {
  --btn-bg: var(--swp-d6-grad) !important;
}

html.button-swap .d6-button:hover {
  --btn-bg: var(--swp-d6-hover) !important;
}

@media (hover: hover) {
  html.button-swap .d6-button:hover {
    box-shadow: 0 0 5px var(--swp-d6-border) !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    html.button-swap .d6-button:hover {
      box-shadow: 0 0 5px color-mix(in srgb, var(--swp-d6-border), transparent 60%) !important;
    }
  }
}

html.button-swap .d20-button {
  --btn-bg: var(--swp-d20-grad) !important;
}

html.button-swap .d20-button:hover {
  --btn-bg: var(--swp-d20-hover) !important;
}

@media (hover: hover) {
  html.button-swap .d20-button:hover {
    box-shadow: 0 0 5px var(--swp-d20-border) !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    html.button-swap .d20-button:hover {
      box-shadow: 0 0 5px color-mix(in srgb, var(--swp-d20-border), transparent 60%) !important;
    }
  }
}

html.button-swap .generate-button {
  --btn-bg: var(--swp-gen-grad) !important;
}

html.button-swap .generate-button:hover {
  --btn-bg: var(--swp-gen-hover) !important;
}

@media (hover: hover) {
  html.button-swap .generate-button:hover {
    box-shadow: 0 0 5px var(--swp-gen-border) !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    html.button-swap .generate-button:hover {
      box-shadow: 0 0 5px color-mix(in srgb, var(--swp-gen-border), transparent 60%) !important;
    }
  }
}

html.button-swap .token-button-10 {
  --btn-bg: var(--swp-d6-grad) !important;
}

html.button-swap .token-button-60, html.button-swap .token-button-install {
  --btn-bg: var(--swp-gen-grad) !important;
}

html.button-swap .token-button-watch {
  --btn-bg: var(--swp-d20-grad) !important;
}

html.button-swap [role="status"], html.button-swap .loading-overlay {
  --theme-color-d20: var(--swp-d20-color) !important;
}

.svg-hidden {
  pointer-events: none;
  opacity: 0;
  position: absolute;
}

.rarity-filter-button {
  transition: background-color .2s cubic-bezier(.4, 0, .2, 1), border-color .2s cubic-bezier(.4, 0, .2, 1), color .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, .2, 1), transform .2s cubic-bezier(.4, 0, .2, 1);
}

@media (hover: hover) {
  .rarity-filter-button:hover:not(:disabled) {
    box-shadow: 0 0 5px var(--rarity-color);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .rarity-filter-button:hover:not(:disabled) {
      box-shadow: 0 0 5px color-mix(in srgb, var(--rarity-color), transparent 60%);
    }
  }

  .rarity-filter-button:hover:not(:disabled) {
    border-color: var(--rarity-color);
    transform: none;
  }
}

.rarity-filter-button.is-active {
  box-shadow: 0 0 12px var(--rarity-color), 0 0 2px var(--rarity-color);
}

@supports (color: color-mix(in lab, red, red)) {
  .rarity-filter-button.is-active {
    box-shadow: 0 0 12px color-mix(in srgb, var(--rarity-color), transparent 40%), 0 0 2px var(--rarity-color);
  }
}

.rarity-filter-button.is-active {
  border-color: var(--rarity-color);
}

@keyframes confetti-burst {
  0% {
    opacity: 0;
    transform: translate3d(0, 0, 0)rotate(0)scale(0);
  }

  8% {
    opacity: 1;
    transform: translate3d(0, 0, 0)rotate(0)scale(1.2);
  }

  20% {
    opacity: 1;
    transform: translate3d(calc(var(--end-x, 10vw) * .3), calc(var(--end-y, -10vh) * .3), 0) rotate(calc(var(--spin, 90deg) * .3)) scale(1);
  }

  70% {
    opacity: .8;
    transform: translate3d(calc(var(--end-x, 10vw) * .85), calc(var(--end-y, -10vh) * .85 + 15vh), 0) rotate(calc(var(--spin, 90deg) * .85)) scale(.7);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--end-x, 10vw), calc(var(--end-y, -10vh)  + 30vh), 0) rotate(var(--spin, 90deg)) scale(.3);
  }
}

@keyframes skeletonShimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

@keyframes skeletonFadeIn {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.skeleton-shimmer {
  background: none !important;
}

.skeleton-shimmer:before {
  content: "";
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(90deg, #ffffff08 25%, #ffffff14 50%, #ffffff08 75%) 0 0 / 200% 100%;
  background-color: var(--theme-surface-hover, #1f293780);
  z-index: 0;
  animation: 2s cubic-bezier(.4, 0, .2, 1) infinite skeletonShimmer, .3s ease-out forwards skeletonFadeIn;
  position: absolute;
  inset: 0;
}

@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-pan-x {
  syntax: "*";
  inherits: false
}

@property --tw-pan-y {
  syntax: "*";
  inherits: false
}

@property --tw-pinch-zoom {
  syntax: "*";
  inherits: false
}

@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-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<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
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-contain-size {
  syntax: "*";
  inherits: false
}

@property --tw-contain-layout {
  syntax: "*";
  inherits: false
}

@property --tw-contain-paint {
  syntax: "*";
  inherits: false
}

@property --tw-contain-style {
  syntax: "*";
  inherits: false
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}
