/* [project]/consultant-dashboard/src/app/chillax_75f0e62f.module.css [app-client] (css) */
@font-face {
  font-family: chillax;
  src: url("../media/Chillax_Variable-s.p.64182761.woff2") format("woff2");
  font-display: swap;
  font-weight: 200 700;
  font-style: normal;
}

@font-face {
  font-family: chillax Fallback;
  src: local(Arial);
  ascent-override: 84.47%;
  descent-override: 28.44%;
  line-gap-override: 7.76%;
  size-adjust: 116.02%;
}

.chillax_75f0e62f-module__l7_ouq__className {
  font-family: chillax, chillax Fallback;
}

.chillax_75f0e62f-module__l7_ouq__variable {
  --font-chillax: "chillax", "chillax Fallback";
}

/* [next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-client] (css) */
@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/4fa387ec64143e14-s.c1fdd6c2.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/bbc41e54d2fcbd21-s.799d8ef8.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/797e433ab948586e-s.p.dbea232f.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Mono Fallback;
  src: local(Arial);
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.geist_mono_8d43a2aa-module__8Li5zG__className {
  font-family: Geist Mono, Geist Mono Fallback;
  font-style: normal;
}

.geist_mono_8d43a2aa-module__8Li5zG__variable {
  --font-geist-mono: "Geist Mono", "Geist Mono Fallback";
}

/* [project]/consultant-dashboard/src/app/globals.css [app-client] (css) */
@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 {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: rgba(0, 0, 0, 0);
      --tw-gradient-via: rgba(0, 0, 0, 0);
      --tw-gradient-to: rgba(0, 0, 0, 0);
      --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 rgba(0, 0, 0, 0);
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
      --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-content: "";
    }

    ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: rgba(0, 0, 0, 0);
      --tw-gradient-via: rgba(0, 0, 0, 0);
      --tw-gradient-to: rgba(0, 0, 0, 0);
      --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 rgba(0, 0, 0, 0);
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
      --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-content: "";
    }
  }
}

@layer theme {
  :root, :host {
    --color-red-50: #fef2f2;
    --color-red-100: #ffe2e2;
    --color-red-200: #ffcaca;
    --color-red-300: #ffa3a3;
    --color-red-400: #ff6568;
    --color-red-500: #fb2c36;
    --color-red-600: #e40014;
    --color-red-700: #bf000f;
    --color-red-800: #9f0712;
    --color-red-900: #82181a;
    --color-orange-50: #fff7ed;
    --color-orange-100: #ffedd5;
    --color-orange-200: #ffd7a8;
    --color-orange-300: #ffb96d;
    --color-orange-400: #ff8b1a;
    --color-orange-500: #fe6e00;
    --color-orange-600: #f05100;
    --color-orange-700: #c53c00;
    --color-orange-800: #9f2d00;
    --color-amber-50: #fffbeb;
    --color-amber-100: #fef3c6;
    --color-amber-200: #fee685;
    --color-amber-400: #fcbb00;
    --color-amber-500: #f99c00;
    --color-amber-600: #dd7400;
    --color-amber-700: #b75000;
    --color-amber-800: #953d00;
    --color-yellow-50: #fefce8;
    --color-yellow-100: #fef9c2;
    --color-yellow-200: #fff085;
    --color-yellow-300: #ffe02a;
    --color-yellow-400: #fac800;
    --color-yellow-500: #edb200;
    --color-yellow-600: #cd8900;
    --color-yellow-700: #a36100;
    --color-yellow-800: #874b00;
    --color-yellow-900: #733e0a;
    --color-yellow-950: #432004;
    --color-green-50: #f0fdf4;
    --color-green-100: #dcfce7;
    --color-green-200: #b9f8cf;
    --color-green-300: #7bf1a8;
    --color-green-400: #05df72;
    --color-green-500: #00c758;
    --color-green-600: #00a544;
    --color-green-700: #008138;
    --color-green-800: #016630;
    --color-emerald-50: #ecfdf5;
    --color-emerald-100: #d0fae5;
    --color-emerald-200: #a4f4cf;
    --color-emerald-500: #00bb7f;
    --color-emerald-600: #009767;
    --color-emerald-700: #007956;
    --color-emerald-800: #005f46;
    --color-teal-50: #f0fdfa;
    --color-teal-100: #cbfbf1;
    --color-teal-200: #96f7e4;
    --color-teal-400: #00d3bd;
    --color-teal-500: #00baa7;
    --color-teal-600: #009588;
    --color-teal-700: #00776e;
    --color-cyan-100: #cefafe;
    --color-cyan-200: #a2f4fd;
    --color-cyan-400: #00d2ef;
    --color-cyan-500: #00b7d7;
    --color-cyan-700: #007492;
    --color-cyan-800: #005f78;
    --color-cyan-950: #053345;
    --color-blue-50: #eff6ff;
    --color-blue-100: #dbeafe;
    --color-blue-200: #bedbff;
    --color-blue-300: #90c5ff;
    --color-blue-400: #54a2ff;
    --color-blue-500: #3080ff;
    --color-blue-600: #155dfc;
    --color-blue-700: #1447e6;
    --color-blue-800: #193cb8;
    --color-blue-900: #1c398e;
    --color-blue-950: #162456;
    --color-indigo-50: #eef2ff;
    --color-indigo-100: #e0e7ff;
    --color-indigo-200: #c7d2ff;
    --color-indigo-400: #7d87ff;
    --color-indigo-500: #625fff;
    --color-indigo-600: #4f39f6;
    --color-indigo-700: #432dd7;
    --color-indigo-800: #372aac;
    --color-purple-50: #faf5ff;
    --color-purple-100: #f3e8ff;
    --color-purple-200: #e9d5ff;
    --color-purple-300: #d9b3ff;
    --color-purple-400: #c07eff;
    --color-purple-500: #ac4bff;
    --color-purple-600: #9810fa;
    --color-purple-700: #8200da;
    --color-purple-800: #6e11b0;
    --color-purple-900: #59168b;
    --color-pink-400: #fb64b6;
    --color-pink-500: #f6339a;
    --color-slate-50: #f8fafc;
    --color-slate-100: #f1f5f9;
    --color-slate-200: #e2e8f0;
    --color-slate-300: #cad5e2;
    --color-slate-400: #90a1b9;
    --color-slate-500: #62748e;
    --color-slate-600: #45556c;
    --color-slate-700: #314158;
    --color-slate-800: #1d293d;
    --color-slate-900: #0f172b;
    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5dc;
    --color-gray-400: #99a1af;
    --color-gray-500: #6a7282;
    --color-gray-600: #4a5565;
    --color-gray-700: #364153;
    --color-gray-800: #1e2939;
    --color-gray-900: #101828;
    --color-neutral-50: #fafafa;
    --color-neutral-100: #f5f5f5;
    --color-neutral-200: #e5e5e5;
    --color-neutral-300: #d4d4d4;
    --color-neutral-400: #a1a1a1;
    --color-neutral-500: #737373;
    --color-neutral-600: #525252;
    --color-neutral-700: #404040;
    --color-neutral-800: #262626;
    --color-neutral-900: #171717;
    --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;
    --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-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-xs: .125rem;
    --radius-sm: calc(var(--radius)  - 4px);
    --radius-md: calc(var(--radius)  - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius)  + 4px);
    --radius-2xl: 1rem;
    --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;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-chillax), "DM Sans", system-ui, sans-serif;
    --default-mono-font-family: var(--font-geist-mono), "JetBrains Mono", monospace;
    --color-border: var(--border);
  }

  @supports (color: color(display-p3 0 0 0)) {
    :root, :host {
      --color-red-50: color(display-p3 .988669 .951204 .950419);
      --color-red-100: color(display-p3 .980386 .889727 .887779);
      --color-red-200: color(display-p3 .969562 .798149 .794299);
      --color-red-300: color(display-p3 .956922 .651886 .645122);
      --color-red-400: color(display-p3 .933534 .431676 .423491);
      --color-red-500: color(display-p3 .903738 .262579 .253307);
      --color-red-600: color(display-p3 .830323 .140383 .133196);
      --color-red-700: color(display-p3 .692737 .116232 .104679);
      --color-red-800: color(display-p3 .569606 .121069 .108493);
      --color-red-900: color(display-p3 .466906 .133198 .12139);
      --color-orange-50: color(display-p3 .99533 .970132 .933499);
      --color-orange-100: color(display-p3 .988762 .931393 .843273);
      --color-orange-200: color(display-p3 .974647 .84705 .680111);
      --color-orange-300: color(display-p3 .96801 .734346 .464159);
      --color-orange-400: color(display-p3 .950192 .561807 .211017);
      --color-orange-500: color(display-p3 .946589 .449788 .0757345);
      --color-orange-600: color(display-p3 .887467 .341665 .0219962);
      --color-orange-700: color(display-p3 .729844 .257256 .0511062);
      --color-orange-800: color(display-p3 .575591 .21198 .082665);
      --color-amber-50: color(display-p3 .997804 .985047 .926312);
      --color-amber-100: color(display-p3 .989391 .954583 .796328);
      --color-amber-200: color(display-p3 .979824 .904554 .57325);
      --color-amber-400: color(display-p3 .959186 .738519 .118268);
      --color-amber-500: color(display-p3 .93994 .620584 .0585367);
      --color-amber-600: color(display-p3 .827144 .467166 .0336006);
      --color-amber-700: color(display-p3 .67989 .32771 .0520514);
      --color-amber-800: color(display-p3 .547533 .256058 .0728326);
      --color-yellow-50: color(display-p3 .994197 .988062 .917538);
      --color-yellow-100: color(display-p3 .993436 .977463 .782913);
      --color-yellow-200: color(display-p3 .988789 .943116 .579188);
      --color-yellow-300: color(display-p3 .982669 .880884 .32102);
      --color-yellow-400: color(display-p3 .959941 .790171 .0585198);
      --color-yellow-500: color(display-p3 .903651 .703062 .0745389);
      --color-yellow-600: color(display-p3 .776342 .542492 .041709);
      --color-yellow-700: color(display-p3 .613146 .386658 .0579687);
      --color-yellow-800: color(display-p3 .503181 .30478 .075537);
      --color-yellow-900: color(display-p3 .422485 .252729 .095052);
      --color-yellow-950: color(display-p3 .243647 .131076 .0413888);
      --color-green-50: color(display-p3 .950677 .990571 .959366);
      --color-green-100: color(display-p3 .885269 .984329 .910368);
      --color-green-200: color(display-p3 .776442 .964383 .823412);
      --color-green-300: color(display-p3 .600292 .935514 .68114);
      --color-green-400: color(display-p3 .399536 .862346 .49324);
      --color-green-500: color(display-p3 .308734 .774754 .374307);
      --color-green-600: color(display-p3 .243882 .640824 .294808);
      --color-green-700: color(display-p3 .198355 .501799 .245335);
      --color-green-800: color(display-p3 .168568 .395123 .211217);
      --color-emerald-50: color(display-p3 .936818 .989882 .961937);
      --color-emerald-100: color(display-p3 .848335 .975974 .901691);
      --color-emerald-200: color(display-p3 .713164 .947563 .822283);
      --color-emerald-500: color(display-p3 .267113 .726847 .508397);
      --color-emerald-600: color(display-p3 .206557 .589057 .413962);
      --color-emerald-700: color(display-p3 .164041 .470229 .343508);
      --color-emerald-800: color(display-p3 .135396 .371401 .277561);
      --color-teal-50: color(display-p3 .951444 .990904 .98112);
      --color-teal-100: color(display-p3 .834533 .980328 .946428);
      --color-teal-200: color(display-p3 .675869 .957879 .896029);
      --color-teal-400: color(display-p3 .322787 .822056 .744388);
      --color-teal-500: color(display-p3 .266569 .721518 .655462);
      --color-teal-600: color(display-p3 .207114 .579584 .53668);
      --color-teal-700: color(display-p3 .174094 .461318 .433866);
      --color-cyan-100: color(display-p3 .843085 .97553 .992573);
      --color-cyan-200: color(display-p3 .707418 .947027 .984826);
      --color-cyan-400: color(display-p3 .294638 .813991 .934996);
      --color-cyan-500: color(display-p3 .246703 .710032 .841444);
      --color-cyan-700: color(display-p3 .164124 .451431 .570574);
      --color-cyan-800: color(display-p3 .151437 .365208 .461053);
      --color-cyan-950: color(display-p3 .0805271 .197254 .263206);
      --color-blue-50: color(display-p3 .941826 .963151 .995385);
      --color-blue-100: color(display-p3 .869214 .915931 .989622);
      --color-blue-200: color(display-p3 .76688 .855207 .987483);
      --color-blue-300: color(display-p3 .602559 .767214 .993938);
      --color-blue-400: color(display-p3 .397443 .62813 .992116);
      --color-blue-500: color(display-p3 .266422 .491219 .988624);
      --color-blue-600: color(display-p3 .174493 .358974 .950247);
      --color-blue-700: color(display-p3 .1379 .274983 .867624);
      --color-blue-800: color(display-p3 .134023 .230647 .695537);
      --color-blue-900: color(display-p3 .136395 .219428 .537145);
      --color-blue-950: color(display-p3 .0993202 .141621 .323413);
      --color-indigo-50: color(display-p3 .936215 .948621 .995621);
      --color-indigo-100: color(display-p3 .883035 .90499 .993138);
      --color-indigo-200: color(display-p3 .786558 .821755 .988451);
      --color-indigo-400: color(display-p3 .494992 .525291 .985107);
      --color-indigo-500: color(display-p3 .380374 .372235 .971707);
      --color-indigo-600: color(display-p3 .297656 .227891 .929242);
      --color-indigo-700: color(display-p3 .251282 .180274 .81203);
      --color-indigo-800: color(display-p3 .207204 .165242 .647584);
      --color-purple-50: color(display-p3 .977045 .961759 .996715);
      --color-purple-100: color(display-p3 .945034 .910569 .992972);
      --color-purple-200: color(display-p3 .901181 .835978 .992237);
      --color-purple-300: color(display-p3 .829394 .703737 .996084);
      --color-purple-400: color(display-p3 .719919 .492497 .995173);
      --color-purple-500: color(display-p3 .629519 .30089 .990817);
      --color-purple-600: color(display-p3 .546729 .130167 .94439);
      --color-purple-700: color(display-p3 .465298 .0652579 .824397);
      --color-purple-800: color(display-p3 .393513 .10339 .664476);
      --color-purple-900: color(display-p3 .321698 .107597 .524563);
      --color-pink-400: color(display-p3 .915485 .430491 .70271);
      --color-pink-500: color(display-p3 .88894 .276457 .595049);
      --color-slate-50: color(display-p3 .974377 .979815 .986207);
      --color-slate-100: color(display-p3 .947345 .959969 .97483);
      --color-slate-200: color(display-p3 .890322 .909405 .939294);
      --color-slate-300: color(display-p3 .800294 .834432 .882803);
      --color-slate-400: color(display-p3 .577446 .629622 .716602);
      --color-slate-500: color(display-p3 .397645 .452653 .547642);
      --color-slate-600: color(display-p3 .283418 .332214 .416355);
      --color-slate-700: color(display-p3 .205992 .253487 .336039);
      --color-slate-800: color(display-p3 .121994 .158688 .232363);
      --color-slate-900: color(display-p3 .0639692 .0891152 .163036);
      --color-gray-50: color(display-p3 .977213 .98084 .985102);
      --color-gray-100: color(display-p3 .953567 .956796 .964321);
      --color-gray-200: color(display-p3 .899787 .906171 .92106);
      --color-gray-300: color(display-p3 .822033 .835264 .858521);
      --color-gray-400: color(display-p3 .605734 .630385 .680158);
      --color-gray-500: color(display-p3 .421287 .446085 .504784);
      --color-gray-600: color(display-p3 .297358 .332176 .39043);
      --color-gray-700: color(display-p3 .219968 .253721 .318679);
      --color-gray-800: color(display-p3 .125854 .159497 .216835);
      --color-gray-900: color(display-p3 .070423 .0928982 .151928);
      --color-neutral-50: color(display-p3 .980256 .980256 .980256);
      --color-neutral-100: color(display-p3 .960587 .960587 .960587);
      --color-neutral-200: color(display-p3 .898161 .898161 .898161);
      --color-neutral-300: color(display-p3 .831444 .831444 .831444);
      --color-neutral-400: color(display-p3 .630163 .630163 .630163);
      --color-neutral-500: color(display-p3 .451519 .451519 .451519);
      --color-neutral-600: color(display-p3 .321993 .321993 .321993);
      --color-neutral-700: color(display-p3 .250471 .250471 .250471);
      --color-neutral-800: color(display-p3 .149382 .149382 .149382);
      --color-neutral-900: color(display-p3 .0905274 .0905274 .0905274);
    }
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-50: lab(96.5005% 4.18508 1.52328);
      --color-red-100: lab(92.243% 10.2865 3.83865);
      --color-red-200: lab(86.017% 19.8815 7.75869);
      --color-red-300: lab(76.5514% 36.422 15.5335);
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-red-500: lab(55.4814% 75.0732 48.8528);
      --color-red-600: lab(48.4493% 77.4328 61.5452);
      --color-red-700: lab(40.4273% 67.2623 53.7441);
      --color-red-800: lab(33.7174% 55.8993 41.0293);
      --color-red-900: lab(28.5139% 44.5539 29.0463);
      --color-orange-50: lab(97.7008% 1.53735 5.90649);
      --color-orange-100: lab(94.7127% 3.58394 14.3151);
      --color-orange-200: lab(88.4871% 9.94918 28.8378);
      --color-orange-300: lab(80.8059% 21.7313 50.4455);
      --color-orange-400: lab(70.0429% 42.5156 75.8207);
      --color-orange-500: lab(64.272% 57.1788 90.3583);
      --color-orange-600: lab(57.1026% 64.2584 89.8886);
      --color-orange-700: lab(46.4615% 57.7275 70.8507);
      --color-orange-800: lab(37.1566% 46.6433 50.5562);
      --color-amber-50: lab(98.6252% -.635922 8.42309);
      --color-amber-100: lab(95.916% -1.21653 23.111);
      --color-amber-200: lab(91.7203% -.505269 49.9084);
      --color-amber-400: lab(80.1641% 16.6016 99.2089);
      --color-amber-500: lab(72.7183% 31.8672 97.9407);
      --color-amber-600: lab(60.3514% 40.5624 87.1228);
      --color-amber-700: lab(47.2709% 42.9082 69.2966);
      --color-amber-800: lab(37.8822% 37.1699 52.2718);
      --color-yellow-50: lab(98.6846% -1.79055 9.7766);
      --color-yellow-100: lab(97.3564% -4.51407 27.344);
      --color-yellow-200: lab(94.3433% -5.00429 52.9663);
      --color-yellow-300: lab(89.7033% -.480294 84.4917);
      --color-yellow-400: lab(83.2664% 8.65132 106.895);
      --color-yellow-500: lab(76.3898% 14.5258 98.4589);
      --color-yellow-600: lab(62.7799% 22.4197 86.1544);
      --color-yellow-700: lab(47.8202% 25.2426 66.5015);
      --color-yellow-800: lab(38.7484% 23.5833 51.4916);
      --color-yellow-900: lab(32.3865% 21.1273 38.5959);
      --color-yellow-950: lab(16.8146% 15.7422 23.1133);
      --color-green-50: lab(98.1563% -5.60117 2.75915);
      --color-green-100: lab(96.1861% -13.8464 6.52365);
      --color-green-200: lab(92.4222% -26.4702 12.9427);
      --color-green-300: lab(86.9953% -47.2691 25.0054);
      --color-green-400: lab(78.503% -64.9265 39.7492);
      --color-green-500: lab(70.5521% -66.5147 45.8073);
      --color-green-600: lab(59.0978% -58.6621 41.2579);
      --color-green-700: lab(47.0329% -47.0239 31.4788);
      --color-green-800: lab(37.4616% -36.7971 22.9692);
      --color-emerald-50: lab(97.8462% -6.94966 1.85487);
      --color-emerald-100: lab(94.9004% -17.0769 5.63836);
      --color-emerald-200: lab(90.2247% -31.039 9.47084);
      --color-emerald-500: lab(66.9756% -58.27 19.5419);
      --color-emerald-600: lab(55.0481% -49.9246 15.93);
      --color-emerald-700: lab(44.4871% -41.0396 11.0361);
      --color-emerald-800: lab(35.3675% -33.1188 8.04002);
      --color-teal-50: lab(98.3189% -4.74921 -.111711);
      --color-teal-100: lab(95.1845% -17.4212 -.425422);
      --color-teal-200: lab(90.7612% -33.1343 -.542295);
      --color-teal-400: lab(76.0109% -53.3483 -2.27906);
      --color-teal-500: lab(67.3859% -49.0983 -2.63511);
      --color-teal-600: lab(55.0223% -41.0774 -3.90277);
      --color-teal-700: lab(44.4134% -33.1436 -4.22149);
      --color-cyan-100: lab(95.3146% -13.8285 -6.84732);
      --color-cyan-200: lab(91.0821% -24.0435 -12.8306);
      --color-cyan-400: lab(76.6045% -40.9406 -29.6231);
      --color-cyan-500: lab(67.805% -35.3952 -30.2018);
      --color-cyan-700: lab(44.7267% -21.5987 -26.118);
      --color-cyan-800: lab(36.5114% -17.1989 -21.6292);
      --color-cyan-950: lab(19.1528% -9.68757 -15.5267);
      --color-blue-50: lab(96.492% -1.14644 -5.11479);
      --color-blue-100: lab(92.0301% -2.24757 -11.6453);
      --color-blue-200: lab(86.15% -4.04379 -21.0797);
      --color-blue-300: lab(77.5052% -6.4629 -36.42);
      --color-blue-400: lab(65.0361% -1.42065 -56.9802);
      --color-blue-500: lab(54.1736% 13.3369 -74.6839);
      --color-blue-600: lab(44.0605% 29.0279 -86.0352);
      --color-blue-700: lab(36.9089% 35.0961 -85.6872);
      --color-blue-800: lab(30.2514% 27.7853 -70.2699);
      --color-blue-900: lab(26.1542% 15.7545 -51.5504);
      --color-blue-950: lab(15.6723% 8.86232 -32.2945);
      --color-indigo-50: lab(95.4818% .411302 -6.78529);
      --color-indigo-100: lab(91.6577% 1.04591 -12.7199);
      --color-indigo-200: lab(84.4329% 3.18977 -23.9688);
      --color-indigo-400: lab(59.866% 22.4834 -64.4485);
      --color-indigo-500: lab(48.295% 38.3129 -81.9673);
      --color-indigo-600: lab(38.4009% 52.6132 -92.3857);
      --color-indigo-700: lab(32.4486% 49.2217 -84.6695);
      --color-indigo-800: lab(26.6645% 37.9804 -68.6402);
      --color-purple-50: lab(97.1627% 2.99937 -4.13398);
      --color-purple-100: lab(93.3333% 6.97437 -9.83434);
      --color-purple-200: lab(87.8405% 13.4282 -18.7159);
      --color-purple-300: lab(78.3298% 26.2195 -34.9499);
      --color-purple-400: lab(63.6946% 47.6127 -59.2066);
      --color-purple-500: lab(52.0183% 66.11 -78.2316);
      --color-purple-600: lab(43.0295% 75.21 -86.5669);
      --color-purple-700: lab(36.1758% 69.8525 -80.0381);
      --color-purple-800: lab(30.6017% 56.7637 -64.4751);
      --color-purple-900: lab(24.9401% 45.2703 -51.2728);
      --color-pink-400: lab(64.5597% 64.3615 -12.7988);
      --color-pink-500: lab(56.9303% 76.8162 -8.07021);
      --color-slate-50: lab(98.1434% -.369519 -1.05966);
      --color-slate-100: lab(96.286% -.852436 -2.46847);
      --color-slate-200: lab(91.7353% -.998765 -4.76968);
      --color-slate-300: lab(84.7652% -1.94535 -7.93337);
      --color-slate-400: lab(65.5349% -2.25151 -14.5072);
      --color-slate-500: lab(48.0876% -2.03595 -16.5814);
      --color-slate-600: lab(35.5623% -1.74978 -15.4316);
      --color-slate-700: lab(26.9569% -1.47016 -15.6993);
      --color-slate-800: lab(16.132% -.318035 -14.6672);
      --color-slate-900: lab(7.78673% 1.82345 -15.0537);
      --color-gray-50: lab(98.2596% -.247031 -.706708);
      --color-gray-100: lab(96.1596% -.0823438 -1.13575);
      --color-gray-200: lab(91.6229% -.159115 -2.26791);
      --color-gray-300: lab(85.1236% -.612259 -3.7138);
      --color-gray-400: lab(65.9269% -.832707 -8.17473);
      --color-gray-500: lab(47.7841% -.393182 -10.0268);
      --color-gray-600: lab(35.6337% -1.58697 -10.8425);
      --color-gray-700: lab(27.1134% -.956401 -12.3224);
      --color-gray-800: lab(16.1051% -1.18239 -11.7533);
      --color-gray-900: lab(8.11897% .811279 -12.254);
      --color-neutral-50: lab(98.26% 0 0);
      --color-neutral-100: lab(96.52% -.0000298023 .0000119209);
      --color-neutral-200: lab(90.952% 0 -.0000119209);
      --color-neutral-300: lab(84.92% 0 -.0000119209);
      --color-neutral-400: lab(66.128% -.0000298023 .0000119209);
      --color-neutral-500: lab(48.496% 0 0);
      --color-neutral-600: lab(34.924% 0 0);
      --color-neutral-700: lab(27.036% 0 0);
      --color-neutral-800: lab(15.204% 0 -.00000596046);
      --color-neutral-900: lab(7.78201% -.0000149012 0);
    }
  }
}

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

  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::-webkit-file-upload-button {
    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%;
    -moz-tab-size: 4;
    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;
    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: rgba(0, 0, 0, 0);
    border-radius: 0;
  }

  ::-webkit-file-upload-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    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: rgba(0, 0, 0, 0);
    border-radius: 0;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:-moz-any([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup option:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:-moz-any([multiple], [size])) optgroup option:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:is([multiple], [size])) optgroup option:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup option:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :where(select:-moz-any([multiple], [size])) optgroup option:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :where(select:is([multiple], [size])) optgroup option:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::-webkit-file-upload-button {
    margin-right: 4px;
  }

  :not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::file-selector-button {
    margin-right: 4px;
  }

  :not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::file-selector-button {
    margin-right: 4px;
  }

  :-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::-webkit-file-upload-button {
    margin-left: 4px;
  }

  :-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::file-selector-button {
    margin-left: 4px;
  }

  :is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::file-selector-button {
    margin-left: 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-top: 0;
    padding-bottom: 0;
  }

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

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

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

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

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

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

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

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

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

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

  button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

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

  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

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

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

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

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

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    font-family: var(--font-chillax), "DM Sans", system-ui, sans-serif;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--foreground);
  }

  :where(:not(:-webkit-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h1 {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-webkit-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h2 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-webkit-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-webkit-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h4 {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-webkit-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) p {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }

  :where(:not(:-webkit-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) label {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-webkit-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) button {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-webkit-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) input {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }

  :where(:not(:-moz-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h1 {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-moz-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h2 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-moz-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-moz-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h4 {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-moz-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) p {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }

  :where(:not(:-moz-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) label {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-moz-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) button {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:-moz-any(:has([class*=" text-"]), :not(:has([class^="text-"]))))) input {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }

  :where(:not(:is(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h1 {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:is(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h2 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:is(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:is(:has([class*=" text-"]), :not(:has([class^="text-"]))))) h4 {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:is(:has([class*=" text-"]), :not(:has([class^="text-"]))))) p {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }

  :where(:not(:is(:has([class*=" text-"]), :not(:has([class^="text-"]))))) label {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:is(:has([class*=" text-"]), :not(:has([class^="text-"]))))) button {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:is(:has([class*=" text-"]), :not(:has([class^="text-"]))))) input {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }
}

@layer components;

@layer utilities {
  .\@container\/card-header {
    container: card-header / inline-size;
  }

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

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .sticky {
    position: -webkit-sticky;
    position: sticky;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .top-\[50\%\] {
    top: 50%;
  }

  .top-\[60\%\] {
    top: 60%;
  }

  .top-full {
    top: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .isolate {
    isolation: isolate;
  }

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

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

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

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

  .col-start-2 {
    grid-column-start: 2;
  }

  .row-span-2 {
    grid-row: span 2 / span 2;
  }

  .row-start-1 {
    grid-row-start: 1;
  }

  .container {
    width: 100%;
  }

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

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

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

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

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

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

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

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

  .mx-3\.5 {
    margin-inline: calc(var(--spacing) * 3.5);
  }

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

  .mx-auto {
    margin-left: auto;
    margin-right: auto;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .ml-auto {
    margin-left: auto;
  }

  .line-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

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

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

  .table {
    display: table;
  }

  .table-caption {
    display: table-caption;
  }

  .table-cell {
    display: table-cell;
  }

  .table-row {
    display: table-row;
  }

  .field-sizing-content {
    field-sizing: content;
  }

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

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

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

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

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

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

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

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

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

  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }

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

  .size-full {
    width: 100%;
    height: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

  .h-\[1\.15rem\] {
    height: 1.15rem;
  }

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

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

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

  .h-\[calc\(80vh-150px\)\] {
    height: calc(80vh - 150px);
  }

  .h-\[calc\(100\%-1px\)\] {
    height: calc(100% - 1px);
  }

  .h-\[var\(--radix-navigation-menu-viewport-height\)\] {
    height: var(--radix-navigation-menu-viewport-height);
  }

  .h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
  }

  .h-auto {
    height: auto;
  }

  .h-fit {
    height: -moz-fit-content;
    height: fit-content;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .h-svh {
    height: 100svh;
  }

  .max-h-\(--radix-context-menu-content-available-height\) {
    max-height: var(--radix-context-menu-content-available-height);
  }

  .max-h-\(--radix-dropdown-menu-content-available-height\) {
    max-height: var(--radix-dropdown-menu-content-available-height);
  }

  .max-h-\(--radix-select-content-available-height\) {
    max-height: var(--radix-select-content-available-height);
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .min-h-svh {
    min-height: 100svh;
  }

  .w-\(--sidebar-width\) {
    width: var(--sidebar-width);
  }

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

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

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

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

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

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

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

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

  .w-2\/3 {
    width: 66.6667%;
  }

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

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

  .w-3\/4 {
    width: 75%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: -moz-fit-content;
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

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

  .w-px {
    width: 1px;
  }

  .max-w-\(--skeleton-width\) {
    max-width: var(--skeleton-width);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .min-w-\[8rem\] {
    min-width: 8rem;
  }

  .min-w-\[12rem\] {
    min-width: 12rem;
  }

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

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

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

  .min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
  }

  .flex-1 {
    flex: 1;
  }

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

  .grow {
    flex-grow: 1;
  }

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

  .basis-full {
    flex-basis: 100%;
  }

  .caption-bottom {
    caption-side: bottom;
  }

  .origin-\(--radix-context-menu-content-transform-origin\) {
    transform-origin: var(--radix-context-menu-content-transform-origin);
  }

  .origin-\(--radix-dropdown-menu-content-transform-origin\) {
    transform-origin: var(--radix-dropdown-menu-content-transform-origin);
  }

  .origin-\(--radix-hover-card-content-transform-origin\) {
    transform-origin: var(--radix-hover-card-content-transform-origin);
  }

  .origin-\(--radix-menubar-content-transform-origin\) {
    transform-origin: var(--radix-menubar-content-transform-origin);
  }

  .origin-\(--radix-popover-content-transform-origin\) {
    transform-origin: var(--radix-popover-content-transform-origin);
  }

  .origin-\(--radix-select-content-transform-origin\) {
    transform-origin: var(--radix-select-content-transform-origin);
  }

  .origin-\(--radix-tooltip-content-transform-origin\) {
    transform-origin: var(--radix-tooltip-content-transform-origin);
  }

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

  .-translate-x-px {
    --tw-translate-x: -1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-\[-50\%\] {
    --tw-translate-x: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-px {
    --tw-translate-x: 1px;
    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-0\.5 {
    --tw-translate-y: calc(var(--spacing) * .5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[-50\%\] {
    --tw-translate-y: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[calc\(-50\%_-_2px\)\] {
    --tw-translate-y: calc(-50% - 2px);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

  .rotate-45 {
    rotate: 45deg;
  }

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

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

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

  .cursor-default {
    cursor: default;
  }

  .cursor-help {
    cursor: help;
  }

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

  .cursor-pointer {
    cursor: pointer;
  }

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

  .resize-none {
    resize: none;
  }

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

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

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

  .appearance-none {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  .auto-rows-min {
    grid-auto-rows: min-content;
  }

  .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-\[0_1fr\] {
    grid-template-columns: 0 1fr;
  }

  .grid-rows-\[auto_auto\] {
    grid-template-rows: auto auto;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .justify-items-start {
    justify-items: start;
  }

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

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

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

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

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

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

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

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

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

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-top: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-bottom: 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-top: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-bottom: 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-top: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-bottom: 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-top: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-bottom: 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-top: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-bottom: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

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

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

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

  :where(.space-x-2 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
  }

  :where(.space-x-2 > :not(:last-child)):not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    margin-left: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-right: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    margin-left: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-right: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    margin-left: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-right: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    margin-right: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    margin-right: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    margin-right: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  .gap-y-0\.5 {
    row-gap: calc(var(--spacing) * .5);
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-gray-200 > :not(:last-child)) {
    border-color: var(--color-gray-200);
  }

  :where(.divide-slate-100 > :not(:last-child)) {
    border-color: var(--color-slate-100);
  }

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

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

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

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .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-\[2px\] {
    border-radius: 2px;
  }

  .rounded-\[4px\] {
    border-radius: 4px;
  }

  .rounded-\[inherit\] {
    border-radius: inherit;
  }

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

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

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

  .rounded-none {
    border-radius: 0;
  }

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

  .rounded-xl {
    border-radius: calc(var(--radius)  + 4px);
  }

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

  .rounded-tl-sm {
    border-top-left-radius: calc(var(--radius)  - 4px);
  }

  .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-3 {
    border-style: var(--tw-border-style);
    border-width: 3px;
  }

  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .border-amber-200\/50 {
    border-color: rgba(254, 230, 133, .5);
  }

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

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

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

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

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

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

  .border-blue-500\/30 {
    border-color: rgba(48, 128, 255, .3);
  }

  @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-600 {
    border-color: var(--color-blue-600);
  }

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

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

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

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

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

  .border-cyan-500\/30 {
    border-color: rgba(0, 183, 215, .3);
  }

  @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-destructive {
    border-color: var(--destructive);
  }

  .border-destructive\/20 {
    border-color: var(--destructive);
  }

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

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

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

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

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

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

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

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

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

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

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

  .border-green-500\/30 {
    border-color: rgba(0, 199, 88, .3);
  }

  @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-600 {
    border-color: var(--color-green-600);
  }

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

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

  .border-indigo-500\/30 {
    border-color: rgba(98, 95, 255, .3);
  }

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

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

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

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

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

  .border-orange-500\/30 {
    border-color: rgba(254, 110, 0, .3);
  }

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

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

  .border-pink-500\/30 {
    border-color: rgba(246, 51, 154, .3);
  }

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

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

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

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

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

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

  .border-purple-500\/30 {
    border-color: rgba(172, 75, 255, .3);
  }

  @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-purple-600 {
    border-color: var(--color-purple-600);
  }

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

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

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

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

  .border-red-500\/30 {
    border-color: rgba(251, 44, 54, .3);
  }

  @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-sidebar-border {
    border-color: var(--sidebar-border);
  }

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

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

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

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

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

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

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

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

  .border-teal-200\/50 {
    border-color: rgba(150, 247, 228, .5);
  }

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

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

  .border-teal-500\/30 {
    border-color: rgba(0, 186, 167, .3);
  }

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

  .border-transparent {
    border-color: rgba(0, 0, 0, 0);
  }

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

  .border-warning\/20 {
    border-color: var(--warning);
  }

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

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

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

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

  .border-yellow-500\/30 {
    border-color: rgba(237, 178, 0, .3);
  }

  @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-t-indigo-600 {
    border-top-color: var(--color-indigo-600);
  }

  .border-t-transparent {
    border-top-color: rgba(0, 0, 0, 0);
  }

  .border-l-amber-500 {
    border-left-color: var(--color-amber-500);
  }

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

  .border-l-red-400 {
    border-left-color: var(--color-red-400);
  }

  .border-l-red-500 {
    border-left-color: var(--color-red-500);
  }

  .border-l-transparent {
    border-left-color: rgba(0, 0, 0, 0);
  }

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

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

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

  .bg-amber-50\/30 {
    background-color: rgba(255, 251, 235, .3);
  }

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

  .bg-amber-50\/50 {
    background-color: rgba(255, 251, 235, .5);
  }

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

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

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

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

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

  .bg-amber-500\/10 {
    background-color: rgba(249, 156, 0, .1);
  }

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

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

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

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

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

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

  .bg-black\/50 {
    background-color: rgba(0, 0, 0, .5);
  }

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

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

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

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

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

  .bg-blue-500\/10 {
    background-color: rgba(48, 128, 255, .1);
  }

  @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\/10 {
    background-color: rgba(21, 93, 252, .1);
  }

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

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

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

  .bg-current {
    background-color: currentColor;
  }

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

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

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

  .bg-cyan-500\/10 {
    background-color: rgba(0, 183, 215, .1);
  }

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

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

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

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

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

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

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

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

  .bg-emerald-500\/10 {
    background-color: rgba(0, 187, 127, .1);
  }

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

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

  .bg-foreground\/40 {
    background-color: var(--foreground);
  }

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

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

  .bg-gray-50\/50 {
    background-color: rgba(249, 250, 251, .5);
  }

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

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

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

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

  .bg-gray-500\/10 {
    background-color: rgba(106, 114, 130, .1);
  }

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

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

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

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

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

  .bg-green-500\/10 {
    background-color: rgba(0, 199, 88, .1);
  }

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

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

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

  .bg-indigo-50\/50 {
    background-color: rgba(238, 242, 255, .5);
  }

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

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

  .bg-indigo-500\/10 {
    background-color: rgba(98, 95, 255, .1);
  }

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

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

  .bg-indigo-600\/10 {
    background-color: rgba(79, 57, 246, .1);
  }

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

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

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

  .bg-muted\/30 {
    background-color: var(--muted);
  }

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

  .bg-muted\/50 {
    background-color: var(--muted);
  }

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

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

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

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

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

  .bg-orange-500\/10 {
    background-color: rgba(254, 110, 0, .1);
  }

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

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

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

  .bg-pink-500\/10 {
    background-color: rgba(246, 51, 154, .1);
  }

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

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

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

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

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

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

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

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

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

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

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

  .bg-purple-500\/10 {
    background-color: rgba(172, 75, 255, .1);
  }

  @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-600 {
    background-color: var(--color-purple-600);
  }

  .bg-purple-600\/10 {
    background-color: rgba(152, 16, 250, .1);
  }

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

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

  .bg-red-50\/30 {
    background-color: rgba(254, 242, 242, .3);
  }

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

  .bg-red-50\/50 {
    background-color: rgba(254, 242, 242, .5);
  }

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

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

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

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

  .bg-red-500\/10 {
    background-color: rgba(251, 44, 54, .1);
  }

  @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-600 {
    background-color: var(--color-red-600);
  }

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

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

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

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

  .bg-slate-50\/50 {
    background-color: rgba(248, 250, 252, .5);
  }

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

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

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

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

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

  .bg-slate-500\/10 {
    background-color: rgba(98, 116, 142, .1);
  }

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

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

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

  .bg-slate-900\/10 {
    background-color: rgba(15, 23, 43, .1);
  }

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

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

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

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

  .bg-teal-50\/30 {
    background-color: rgba(240, 253, 250, .3);
  }

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

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

  .bg-teal-500\/10 {
    background-color: rgba(0, 186, 167, .1);
  }

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

  .bg-transparent {
    background-color: rgba(0, 0, 0, 0);
  }

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

  .bg-warning\/5 {
    background-color: var(--warning);
  }

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

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

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

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

  .bg-white\/60 {
    background-color: rgba(255, 255, 255, .6);
  }

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

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

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

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

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

  .bg-yellow-500\/10 {
    background-color: rgba(237, 178, 0, .1);
  }

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

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

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

  .from-amber-400 {
    --tw-gradient-from: var(--color-amber-400);
    --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-indigo-500 {
    --tw-gradient-from: var(--color-indigo-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

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

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

  .to-amber-600 {
    --tw-gradient-to: var(--color-amber-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-blue-50 {
    --tw-gradient-to: var(--color-blue-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .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-indigo-600 {
    --tw-gradient-to: var(--color-indigo-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-purple-600 {
    --tw-gradient-to: 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));
  }

  .fill-current {
    fill: currentColor;
  }

  .fill-foreground {
    fill: var(--foreground);
  }

  .fill-primary {
    fill: var(--primary);
  }

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

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

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

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

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

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

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

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

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

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

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

  .p-\[3px\] {
    padding: 3px;
  }

  .p-px {
    padding: 1px;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .align-middle {
    vertical-align: middle;
  }

  .font-mono {
    font-family: var(--font-geist-mono), "JetBrains Mono", monospace;
  }

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

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

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

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

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

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

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

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

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

  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }

  .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-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

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

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

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

  .text-balance {
    text-wrap: balance;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-card-foreground {
    color: var(--card-foreground);
  }

  .text-current {
    color: currentColor;
  }

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

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

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

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

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

  .text-destructive-foreground {
    color: var(--destructive-foreground);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-indigo-700 {
    color: var(--color-indigo-700);
  }

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

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

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

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

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

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

  .text-popover-foreground {
    color: var(--popover-foreground);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-sidebar-foreground {
    color: var(--sidebar-foreground);
  }

  .text-sidebar-foreground\/70 {
    color: var(--sidebar-foreground);
  }

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

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

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

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

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

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

  .text-slate-700 {
    color: var(--color-slate-700);
  }

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

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

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

  .text-success-foreground {
    color: var(--success-foreground);
  }

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

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

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

  .text-teal-700 {
    color: var(--color-teal-700);
  }

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

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

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

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

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

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

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

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

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

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

  .capitalize {
    text-transform: capitalize;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

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

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

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

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

  .opacity-25 {
    opacity: .25;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 1px 2px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
    --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));
    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, rgba(0, 0, 0, .1)), 0 4px 6px -4px var(--tw-shadow-color, rgba(0, 0, 0, .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 2px 4px -2px var(--tw-shadow-color, rgba(0, 0, 0, .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-none {
    --tw-shadow: 0 0 rgba(0, 0, 0, 0);
    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, rgba(0, 0, 0, .1)), 0 1px 2px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 8px 10px -6px var(--tw-shadow-color, rgba(0, 0, 0, .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgba(0, 0, 0, .05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

  .shadow-blue-500\/50 {
    --tw-shadow-color: rgba(48, 128, 255, .5);
  }

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

  .shadow-cyan-500\/50 {
    --tw-shadow-color: rgba(0, 183, 215, .5);
  }

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

  .shadow-green-500\/50 {
    --tw-shadow-color: rgba(0, 199, 88, .5);
  }

  @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-indigo-500\/50 {
    --tw-shadow-color: rgba(98, 95, 255, .5);
  }

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

  .shadow-orange-500\/50 {
    --tw-shadow-color: rgba(254, 110, 0, .5);
  }

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

  .shadow-pink-500\/50 {
    --tw-shadow-color: rgba(246, 51, 154, .5);
  }

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

  .shadow-purple-500\/50 {
    --tw-shadow-color: rgba(172, 75, 255, .5);
  }

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

  .shadow-red-500\/50 {
    --tw-shadow-color: rgba(251, 44, 54, .5);
  }

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

  .shadow-teal-500\/50 {
    --tw-shadow-color: rgba(0, 186, 167, .5);
  }

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

  .shadow-yellow-500\/50 {
    --tw-shadow-color: rgba(237, 178, 0, .5);
  }

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

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

  .ring-ring\/50 {
    --tw-ring-color: var(--ring);
  }

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

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

  .ring-offset-background {
    --tw-ring-offset-color: var(--background);
  }

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

  @media (forced-colors: active) {
    .outline-hidden {
      outline-offset: 2px;
      outline: 2px solid rgba(0, 0, 0, 0);
    }
  }

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

  .grayscale {
    --tw-grayscale: grayscale(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, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, -webkit-text-decoration-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-\[color\,box-shadow\] {
    transition-property: color, box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

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

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

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

  .transition-\[width\] {
    transition-property: width;
    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, -webkit-text-decoration-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-shadow {
    transition-property: box-shadow;
    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));
  }

  .transition-none {
    transition-property: none;
  }

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

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

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

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

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

  .ease-linear {
    --tw-ease: linear;
    transition-timing-function: linear;
  }

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

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

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

  .ring-inset {
    --tw-ring-inset: inset;
  }

  .group-open\:rotate-90:-webkit-any(:where(.group):-webkit-any([open], :popover-open, :open) *) {
    rotate: 90deg;
  }

  .group-open\:rotate-90:-moz-any(:where(.group):-moz-any([open], :popover-open, :open) *) {
    rotate: 90deg;
  }

  .group-open\:rotate-90:is(:where(.group):is([open], :popover-open, :open) *) {
    rotate: 90deg;
  }

  .group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *) {
    opacity: 1;
  }

  @media (hover: hover) {
    .group-hover\:text-indigo-600:is(:where(.group):hover *) {
      color: var(--color-indigo-600);
    }
  }

  @media (hover: hover) {
    .group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *) {
      opacity: 1;
    }
  }

  .group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar="menu-action"]) *) {
    padding-right: calc(var(--spacing) * 8);
  }

  .group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible="icon"] *) {
    margin-top: calc(var(--spacing) * -8);
  }

  .group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible="icon"] *) {
    display: none;
  }

  .group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--spacing) * 8) !important;
    height: calc(var(--spacing) * 8) !important;
  }

  .group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible="icon"] *) {
    width: var(--sidebar-width-icon);
  }

  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--sidebar-width-icon)  + (calc(var(--spacing) * 4)));
  }

  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--sidebar-width-icon)  + (calc(var(--spacing) * 4))  + 2px);
  }

  .group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible="icon"] *) {
    overflow: hidden;
  }

  .group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible="icon"] *) {
    padding: calc(var(--spacing) * 0) !important;
  }

  .group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible="icon"] *) {
    padding: calc(var(--spacing) * 2) !important;
  }

  .group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible="icon"] *) {
    opacity: 0;
  }

  .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible="offcanvas"] *) {
    right: calc(var(--sidebar-width) * -1);
  }

  .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible="offcanvas"] *) {
    left: calc(var(--sidebar-width) * -1);
  }

  .group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible="offcanvas"] *) {
    width: calc(var(--spacing) * 0);
  }

  .group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible="offcanvas"] *) {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled="true"] *) {
    pointer-events: none;
  }

  .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled="true"] *) {
    opacity: .5;
  }

  .group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side="left"] *) {
    right: calc(var(--spacing) * -4);
  }

  .group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side="left"] *) {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side="right"] *) {
    left: calc(var(--spacing) * 0);
  }

  .group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side="right"] *) {
    rotate: 180deg;
  }

  .group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side="right"] *) {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state="open"] *) {
    rotate: 180deg;
  }

  .group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant="floating"] *) {
    border-radius: var(--radius);
  }

  .group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant="floating"] *) {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant="floating"] *) {
    border-color: var(--sidebar-border);
  }

  .group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant="floating"] *) {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 1px 2px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction="bottom"] *) {
    display: block;
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    top: 100%;
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    overflow: hidden;
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    border-radius: calc(var(--radius)  - 2px);
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    background-color: var(--popover);
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    color: var(--popover-foreground);
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 1px 2px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  @media (hover: hover) {
    .peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover ~ *) {
      color: var(--sidebar-accent-foreground);
    }
  }

  .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
    cursor: not-allowed;
  }

  .peer-disabled\:opacity-50:is(:where(.peer):disabled ~ *) {
    opacity: .5;
  }

  .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active="true"] ~ *) {
    color: var(--sidebar-accent-foreground);
  }

  .peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size="default"] ~ *) {
    top: calc(var(--spacing) * 1.5);
  }

  .peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size="lg"] ~ *) {
    top: calc(var(--spacing) * 2.5);
  }

  .peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size="sm"] ~ *) {
    top: calc(var(--spacing) * 1);
  }

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

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

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

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

  .file\:inline-flex::-webkit-file-upload-button {
    display: inline-flex;
  }

  .file\:inline-flex::file-selector-button {
    display: inline-flex;
  }

  .file\:h-7::-webkit-file-upload-button {
    height: calc(var(--spacing) * 7);
  }

  .file\:h-7::file-selector-button {
    height: calc(var(--spacing) * 7);
  }

  .file\:border-0::-webkit-file-upload-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:bg-transparent::-webkit-file-upload-button {
    background-color: rgba(0, 0, 0, 0);
  }

  .file\:bg-transparent::file-selector-button {
    background-color: rgba(0, 0, 0, 0);
  }

  .file\:text-sm::-webkit-file-upload-button {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

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

  .file\:font-medium::-webkit-file-upload-button {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .file\:font-medium::file-selector-button {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .file\:text-foreground::-webkit-file-upload-button {
    color: var(--foreground);
  }

  .file\:text-foreground::file-selector-button {
    color: var(--foreground);
  }

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

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

  .after\:absolute:after {
    content: var(--tw-content);
    position: absolute;
  }

  .after\:-inset-2:after {
    content: var(--tw-content);
    inset: calc(var(--spacing) * -2);
  }

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

  .after\:left-1\/2:after {
    content: var(--tw-content);
    left: 50%;
  }

  .after\:w-1:after {
    content: var(--tw-content);
    width: calc(var(--spacing) * 1);
  }

  .after\:w-\[2px\]:after {
    content: var(--tw-content);
    width: 2px;
  }

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

  .group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible="offcanvas"] *):after {
    content: var(--tw-content);
    left: 100%;
  }

  .first\:rounded-l-md:first-child {
    border-top-left-radius: calc(var(--radius)  - 2px);
    border-bottom-left-radius: calc(var(--radius)  - 2px);
  }

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

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

  .last\:rounded-r-md:last-child {
    border-top-right-radius: calc(var(--radius)  - 2px);
    border-bottom-right-radius: calc(var(--radius)  - 2px);
  }

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

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

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

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

  @media (hover: hover) {
    .hover\:border-cyan-400:hover {
      border-color: var(--color-cyan-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-green-400:hover {
      border-color: var(--color-green-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-indigo-200:hover {
      border-color: var(--color-indigo-200);
    }
  }

  @media (hover: hover) {
    .hover\:border-indigo-400:hover {
      border-color: var(--color-indigo-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-indigo-500:hover {
      border-color: var(--color-indigo-500);
    }
  }

  @media (hover: hover) {
    .hover\:border-orange-400:hover {
      border-color: var(--color-orange-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-pink-400:hover {
      border-color: var(--color-pink-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-primary:hover {
      border-color: var(--primary);
    }
  }

  @media (hover: hover) {
    .hover\:border-purple-400:hover {
      border-color: var(--color-purple-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-red-400:hover {
      border-color: var(--color-red-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-teal-200:hover {
      border-color: var(--color-teal-200);
    }
  }

  @media (hover: hover) {
    .hover\:border-teal-400:hover {
      border-color: var(--color-teal-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-yellow-400:hover {
      border-color: var(--color-yellow-400);
    }
  }

  @media (hover: hover) {
    .hover\:bg-accent:hover {
      background-color: var(--accent);
    }
  }

  @media (hover: hover) {
    .hover\:bg-accent\/5:hover {
      background-color: var(--accent);
    }

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

  @media (hover: hover) {
    .hover\:bg-amber-700:hover {
      background-color: var(--color-amber-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-blue-50:hover {
      background-color: var(--color-blue-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-blue-100:hover {
      background-color: var(--color-blue-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-blue-200:hover {
      background-color: var(--color-blue-200);
    }
  }

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

  @media (hover: hover) {
    .hover\:bg-cyan-200:hover {
      background-color: var(--color-cyan-200);
    }
  }

  @media (hover: hover) {
    .hover\:bg-cyan-400:hover {
      background-color: var(--color-cyan-400);
    }
  }

  @media (hover: hover) {
    .hover\:bg-destructive\/80:hover {
      background-color: var(--destructive);
    }

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

  @media (hover: hover) {
    .hover\:bg-destructive\/90:hover {
      background-color: var(--destructive);
    }

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

  @media (hover: hover) {
    .hover\:bg-gray-50:hover {
      background-color: var(--color-gray-50);
    }
  }

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

  @media (hover: hover) {
    .hover\:bg-gray-200:hover {
      background-color: var(--color-gray-200);
    }
  }

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

  @media (hover: hover) {
    .hover\:bg-green-50:hover {
      background-color: var(--color-green-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-green-100:hover {
      background-color: var(--color-green-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-green-200:hover {
      background-color: var(--color-green-200);
    }
  }

  @media (hover: hover) {
    .hover\:bg-green-600:hover {
      background-color: var(--color-green-600);
    }
  }

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

  @media (hover: hover) {
    .hover\:bg-indigo-100:hover {
      background-color: var(--color-indigo-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-indigo-200:hover {
      background-color: var(--color-indigo-200);
    }
  }

  @media (hover: hover) {
    .hover\:bg-indigo-500:hover {
      background-color: var(--color-indigo-500);
    }
  }

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

  @media (hover: hover) {
    .hover\:bg-muted:hover {
      background-color: var(--muted);
    }
  }

  @media (hover: hover) {
    .hover\:bg-muted\/50:hover {
      background-color: var(--muted);
    }

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

  @media (hover: hover) {
    .hover\:bg-orange-100:hover {
      background-color: var(--color-orange-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-orange-200:hover {
      background-color: var(--color-orange-200);
    }
  }

  @media (hover: hover) {
    .hover\:bg-orange-600:hover {
      background-color: var(--color-orange-600);
    }
  }

  @media (hover: hover) {
    .hover\:bg-primary:hover {
      background-color: var(--primary);
    }
  }

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

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

  @media (hover: hover) {
    .hover\:bg-primary\/80:hover {
      background-color: var(--primary);
    }

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

  @media (hover: hover) {
    .hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }

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

  @media (hover: hover) {
    .hover\:bg-purple-100:hover {
      background-color: var(--color-purple-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-purple-200:hover {
      background-color: var(--color-purple-200);
    }
  }

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

  @media (hover: hover) {
    .hover\:bg-red-50:hover {
      background-color: var(--color-red-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-red-100:hover {
      background-color: var(--color-red-100);
    }
  }

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

  @media (hover: hover) {
    .hover\:bg-secondary\/80:hover {
      background-color: var(--secondary);
    }

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

  @media (hover: hover) {
    .hover\:bg-sidebar-accent:hover {
      background-color: var(--sidebar-accent);
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-50:hover {
      background-color: var(--color-slate-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-100:hover {
      background-color: var(--color-slate-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-300:hover {
      background-color: var(--color-slate-300);
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-400:hover {
      background-color: var(--color-slate-400);
    }
  }

  @media (hover: hover) {
    .hover\:bg-success\/90:hover {
      background-color: var(--success);
    }

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

  @media (hover: hover) {
    .hover\:bg-yellow-100:hover {
      background-color: var(--color-yellow-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-yellow-200:hover {
      background-color: var(--color-yellow-200);
    }
  }

  @media (hover: hover) {
    .hover\:bg-yellow-500:hover {
      background-color: var(--color-yellow-500);
    }
  }

  @media (hover: hover) {
    .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));
    }
  }

  @media (hover: hover) {
    .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));
    }
  }

  @media (hover: hover) {
    .hover\:text-accent-foreground:hover {
      color: var(--accent-foreground);
    }
  }

  @media (hover: hover) {
    .hover\:text-amber-600:hover {
      color: var(--color-amber-600);
    }
  }

  @media (hover: hover) {
    .hover\:text-foreground:hover {
      color: var(--foreground);
    }
  }

  @media (hover: hover) {
    .hover\:text-gray-500:hover {
      color: var(--color-gray-500);
    }
  }

  @media (hover: hover) {
    .hover\:text-gray-600:hover {
      color: var(--color-gray-600);
    }
  }

  @media (hover: hover) {
    .hover\:text-gray-700:hover {
      color: var(--color-gray-700);
    }
  }

  @media (hover: hover) {
    .hover\:text-gray-900:hover {
      color: var(--color-gray-900);
    }
  }

  @media (hover: hover) {
    .hover\:text-indigo-800:hover {
      color: var(--color-indigo-800);
    }
  }

  @media (hover: hover) {
    .hover\:text-muted-foreground:hover {
      color: var(--muted-foreground);
    }
  }

  @media (hover: hover) {
    .hover\:text-primary:hover {
      color: var(--primary);
    }
  }

  @media (hover: hover) {
    .hover\:text-primary\/80:hover {
      color: var(--primary);
    }

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

  @media (hover: hover) {
    .hover\:text-red-700:hover {
      color: var(--color-red-700);
    }
  }

  @media (hover: hover) {
    .hover\:text-red-800:hover {
      color: var(--color-red-800);
    }
  }

  @media (hover: hover) {
    .hover\:text-sidebar-accent-foreground:hover {
      color: var(--sidebar-accent-foreground);
    }
  }

  @media (hover: hover) {
    .hover\:text-teal-600:hover {
      color: var(--color-teal-600);
    }
  }

  @media (hover: hover) {
    .hover\:underline:hover {
      -webkit-text-decoration-line: underline;
      text-decoration-line: underline;
    }
  }

  @media (hover: hover) {
    .hover\:opacity-100:hover {
      opacity: 1;
    }
  }

  @media (hover: hover) {
    .hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
      --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-lg:hover {
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 4px 6px -4px var(--tw-shadow-color, rgba(0, 0, 0, .1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-md:hover {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 2px 4px -2px var(--tw-shadow-color, rgba(0, 0, 0, .1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:ring-4:hover {
      --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible="offcanvas"] *) {
      background-color: var(--sidebar);
    }
  }

  @media (hover: hover) {
    .hover\:after\:bg-sidebar-border:hover:after {
      content: var(--tw-content);
      background-color: var(--sidebar-border);
    }
  }

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

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

  .focus\:border-indigo-500:focus {
    border-color: var(--color-indigo-500);
  }

  .focus\:border-transparent:focus {
    border-color: rgba(0, 0, 0, 0);
  }

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

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

  .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-blue-500:focus {
    --tw-ring-color: var(--color-blue-500);
  }

  .focus\:ring-indigo-500:focus {
    --tw-ring-color: var(--color-indigo-500);
  }

  .focus\:ring-indigo-600:focus {
    --tw-ring-color: var(--color-indigo-600);
  }

  .focus\:ring-purple-500:focus {
    --tw-ring-color: var(--color-purple-500);
  }

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

  .focus\:ring-ring:focus {
    --tw-ring-color: var(--ring);
  }

  .focus\:ring-offset-2:focus {
    --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);
  }

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

  @media (forced-colors: active) {
    .focus\:outline-hidden:focus {
      outline-offset: 2px;
      outline: 2px solid rgba(0, 0, 0, 0);
    }
  }

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

  .focus\:ring-inset:focus {
    --tw-ring-inset: inset;
  }

  .focus-visible\:z-10:focus-visible {
    z-index: 10;
  }

  .focus-visible\:border-ring:focus-visible {
    border-color: var(--ring);
  }

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

  .focus-visible\:ring-\[3px\]:focus-visible {
    --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);
  }

  .focus-visible\:ring-destructive\/20:focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-destructive\/20:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .focus-visible\:ring-ring:focus-visible {
    --tw-ring-color: var(--ring);
  }

  .focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: var(--ring);
  }

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

  .focus-visible\:ring-offset-1:focus-visible {
    --tw-ring-offset-width: 1px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus-visible\:outline-hidden:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .focus-visible\:outline-hidden:focus-visible {
      outline-offset: 2px;
      outline: 2px solid rgba(0, 0, 0, 0);
    }
  }

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

  .focus-visible\:outline-ring:focus-visible {
    outline-color: var(--ring);
  }

  .active\:bg-sidebar-accent:active {
    background-color: var(--sidebar-accent);
  }

  .active\:text-sidebar-accent-foreground:active {
    color: var(--sidebar-accent-foreground);
  }

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

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

  .disabled\:bg-gray-400:disabled {
    background-color: var(--color-gray-400);
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  :where([data-side="left"]) .in-data-\[side\=left\]\:cursor-w-resize {
    cursor: w-resize;
  }

  :where([data-side="right"]) .in-data-\[side\=right\]\:cursor-e-resize {
    cursor: e-resize;
  }

  .has-disabled\:opacity-50:has(:disabled) {
    opacity: .5;
  }

  .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot="card-action"]) {
    grid-template-columns: 1fr auto;
  }

  .has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant="inset"]) {
    background-color: var(--sidebar);
  }

  .has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has( > svg) {
    grid-template-columns: calc(var(--spacing) * 4) 1fr;
  }

  .has-\[\>svg\]\:gap-x-3:has( > svg) {
    column-gap: calc(var(--spacing) * 3);
  }

  .has-\[\>svg\]\:px-2\.5:has( > svg) {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .has-\[\>svg\]\:px-3:has( > svg) {
    padding-inline: calc(var(--spacing) * 3);
  }

  .has-\[\>svg\]\:px-4:has( > svg) {
    padding-inline: calc(var(--spacing) * 4);
  }

  .aria-disabled\:pointer-events-none[aria-disabled="true"] {
    pointer-events: none;
  }

  .aria-disabled\:opacity-50[aria-disabled="true"] {
    opacity: .5;
  }

  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .data-\[active\=true\]\:z-10[data-active="true"] {
    z-index: 10;
  }

  .data-\[active\=true\]\:border-ring[data-active="true"] {
    border-color: var(--ring);
  }

  .data-\[active\=true\]\:bg-accent\/50[data-active="true"] {
    background-color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[active\=true\]\:bg-accent\/50[data-active="true"] {
      background-color: color-mix(in oklab, var(--accent) 50%, transparent);
    }
  }

  .data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
    background-color: var(--sidebar-accent);
  }

  .data-\[active\=true\]\:font-medium[data-active="true"] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .data-\[active\=true\]\:text-accent-foreground[data-active="true"] {
    color: var(--accent-foreground);
  }

  .data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
    color: var(--sidebar-accent-foreground);
  }

  .data-\[active\=true\]\:ring-\[3px\][data-active="true"] {
    --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);
  }

  .data-\[active\=true\]\:ring-ring\/50[data-active="true"] {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[active\=true\]\:ring-ring\/50[data-active="true"] {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  @media (hover: hover) {
    .data-\[active\=true\]\:hover\:bg-accent[data-active="true"]:hover {
      background-color: var(--accent);
    }
  }

  .data-\[active\=true\]\:focus\:bg-accent[data-active="true"]:focus {
    background-color: var(--accent);
  }

  .data-\[active\=true\]\:aria-invalid\:border-destructive[data-active="true"][aria-invalid="true"] {
    border-color: var(--destructive);
  }

  .data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active="true"][aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active="true"][aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
  }

  .data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: .5;
  }

  .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
    pointer-events: none;
  }

  .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
    opacity: .5;
  }

  .data-\[error\=true\]\:text-destructive[data-error="true"] {
    color: var(--destructive);
  }

  .data-\[inset\]\:pl-8[data-inset] {
    padding-left: calc(var(--spacing) * 8);
  }

  .data-\[orientation\=horizontal\]\:h-4[data-orientation="horizontal"] {
    height: calc(var(--spacing) * 4);
  }

  .data-\[orientation\=horizontal\]\:h-full[data-orientation="horizontal"] {
    height: 100%;
  }

  .data-\[orientation\=horizontal\]\:h-px[data-orientation="horizontal"] {
    height: 1px;
  }

  .data-\[orientation\=horizontal\]\:w-full[data-orientation="horizontal"] {
    width: 100%;
  }

  .data-\[orientation\=vertical\]\:h-full[data-orientation="vertical"] {
    height: 100%;
  }

  .data-\[orientation\=vertical\]\:min-h-44[data-orientation="vertical"] {
    min-height: calc(var(--spacing) * 44);
  }

  .data-\[orientation\=vertical\]\:w-1\.5[data-orientation="vertical"] {
    width: calc(var(--spacing) * 1.5);
  }

  .data-\[orientation\=vertical\]\:w-auto[data-orientation="vertical"] {
    width: auto;
  }

  .data-\[orientation\=vertical\]\:w-full[data-orientation="vertical"] {
    width: 100%;
  }

  .data-\[orientation\=vertical\]\:w-px[data-orientation="vertical"] {
    width: 1px;
  }

  .data-\[orientation\=vertical\]\:flex-col[data-orientation="vertical"] {
    flex-direction: column;
  }

  .data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
    height: 1px;
  }

  .data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
    width: 100%;
  }

  .data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
    flex-direction: column;
  }

  .data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    left: calc(var(--spacing) * 0);
  }

  .data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    height: calc(var(--spacing) * 1);
  }

  .data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    width: 100%;
  }

  .data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
    color: var(--muted-foreground);
  }

  .data-\[selected\=true\]\:bg-accent[data-selected="true"] {
    background-color: var(--accent);
  }

  .data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
    color: var(--accent-foreground);
  }

  .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[size\=default\]\:h-9[data-size="default"] {
    height: calc(var(--spacing) * 9);
  }

  .data-\[size\=sm\]\:h-8[data-size="sm"] {
    height: calc(var(--spacing) * 8);
  }

  :is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90 > *)[data-slot="alert-description"] {
    color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90 > *)[data-slot="alert-description"] {
      color: color-mix(in oklab, var(--destructive) 90%, transparent);
    }
  }

  :is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot="command-input-wrapper"] {
    height: calc(var(--spacing) * 12);
  }

  :is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot="navigation-menu-link"]:focus {
    --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);
  }

  :is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot="navigation-menu-link"]:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1 > *)[data-slot="select-value"] {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  :is(.\*\:data-\[slot\=select-value\]\:flex > *)[data-slot="select-value"] {
    display: flex;
  }

  :is(.\*\:data-\[slot\=select-value\]\:items-center > *)[data-slot="select-value"] {
    align-items: center;
  }

  :is(.\*\:data-\[slot\=select-value\]\:gap-2 > *)[data-slot="select-value"] {
    gap: calc(var(--spacing) * 2);
  }

  .data-\[state\=active\]\:bg-card[data-state="active"] {
    background-color: var(--card);
  }

  .data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state="checked"] {
    --tw-translate-x: calc(100% - 2px);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[state\=checked\]\:border-primary[data-state="checked"] {
    border-color: var(--primary);
  }

  .data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: var(--primary);
  }

  .data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
    color: var(--primary-foreground);
  }

  .data-\[state\=closed\]\:duration-300[data-state="closed"] {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .data-\[state\=on\]\:bg-accent[data-state="on"] {
    background-color: var(--accent);
  }

  .data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
    color: var(--accent-foreground);
  }

  .data-\[state\=open\]\:bg-accent[data-state="open"] {
    background-color: var(--accent);
  }

  .data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
    background-color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
      background-color: color-mix(in oklab, var(--accent) 50%, transparent);
    }
  }

  .data-\[state\=open\]\:bg-secondary[data-state="open"] {
    background-color: var(--secondary);
  }

  .data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
    color: var(--accent-foreground);
  }

  .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: var(--muted-foreground);
  }

  .data-\[state\=open\]\:opacity-100[data-state="open"] {
    opacity: 1;
  }

  .data-\[state\=open\]\:duration-500[data-state="open"] {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  @media (hover: hover) {
    .data-\[state\=open\]\:hover\:bg-accent[data-state="open"]:hover {
      background-color: var(--accent);
    }
  }

  @media (hover: hover) {
    .data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state="open"]:hover {
      background-color: var(--sidebar-accent);
    }
  }

  @media (hover: hover) {
    .data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state="open"]:hover {
      color: var(--sidebar-accent-foreground);
    }
  }

  .data-\[state\=open\]\:focus\:bg-accent[data-state="open"]:focus {
    background-color: var(--accent);
  }

  .data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: var(--muted);
  }

  .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[state\=unchecked\]\:bg-switch-background[data-state="unchecked"] {
    background-color: var(--switch-background);
  }

  .data-\[variant\=destructive\]\:text-destructive[data-variant="destructive"] {
    color: var(--destructive);
  }

  .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant="destructive"]:focus {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant="destructive"]:focus {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
  }

  .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant="destructive"]:focus {
    color: var(--destructive);
  }

  .data-\[variant\=outline\]\:border-l-0[data-variant="outline"] {
    border-left-style: var(--tw-border-style);
    border-left-width: 0;
  }

  .data-\[variant\=outline\]\:shadow-xs[data-variant="outline"] {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgba(0, 0, 0, .05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .data-\[variant\=outline\]\:first\:border-l[data-variant="outline"]:first-child {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction="bottom"] {
    inset-inline: calc(var(--spacing) * 0);
  }

  .data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction="bottom"] {
    bottom: calc(var(--spacing) * 0);
  }

  .data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction="bottom"] {
    margin-top: calc(var(--spacing) * 24);
  }

  .data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction="bottom"] {
    max-height: 80vh;
  }

  .data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction="bottom"] {
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
  }

  .data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction="bottom"] {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction="left"] {
    inset-block: calc(var(--spacing) * 0);
  }

  .data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction="left"] {
    left: calc(var(--spacing) * 0);
  }

  .data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction="left"] {
    width: 75%;
  }

  .data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction="left"] {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction="right"] {
    inset-block: calc(var(--spacing) * 0);
  }

  .data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction="right"] {
    right: calc(var(--spacing) * 0);
  }

  .data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction="right"] {
    width: 75%;
  }

  .data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction="right"] {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction="top"] {
    inset-inline: calc(var(--spacing) * 0);
  }

  .data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction="top"] {
    top: calc(var(--spacing) * 0);
  }

  .data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction="top"] {
    margin-bottom: calc(var(--spacing) * 24);
  }

  .data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction="top"] {
    max-height: 80vh;
  }

  .data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction="top"] {
    border-bottom-right-radius: var(--radius);
    border-bottom-left-radius: var(--radius);
  }

  .data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction="top"] {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  @supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) {
    .supports-\[backdrop-filter\]\:bg-background\/60 {
      background-color: var(--background);
    }

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

  @media (min-width: 40rem) {
    .sm\:my-8 {
      margin-block: calc(var(--spacing) * 8);
    }
  }

  @media (min-width: 40rem) {
    .sm\:mt-0 {
      margin-top: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 40rem) {
    .sm\:ml-3 {
      margin-left: calc(var(--spacing) * 3);
    }
  }

  @media (min-width: 40rem) {
    .sm\:block {
      display: block;
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex {
      display: flex;
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-20 {
      width: calc(var(--spacing) * 20);
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-28 {
      width: calc(var(--spacing) * 28);
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-auto {
      width: auto;
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-full {
      width: 100%;
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-2xl {
      max-width: var(--container-2xl);
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-lg {
      max-width: var(--container-lg);
    }
  }

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

  @media (min-width: 40rem) {
    .sm\:max-w-xs {
      max-width: var(--container-xs);
    }
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex-row-reverse {
      flex-direction: row-reverse;
    }
  }

  @media (min-width: 40rem) {
    .sm\:items-center {
      align-items: center;
    }
  }

  @media (min-width: 40rem) {
    .sm\:justify-between {
      justify-content: space-between;
    }
  }

  @media (min-width: 40rem) {
    .sm\:justify-end {
      justify-content: flex-end;
    }
  }

  @media (min-width: 40rem) {
    .sm\:gap-2\.5 {
      gap: calc(var(--spacing) * 2.5);
    }
  }

  @media (min-width: 40rem) {
    .sm\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 40rem) {
    .sm\:p-0 {
      padding: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 40rem) {
    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 40rem) {
    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 40rem) {
    .sm\:pr-2\.5 {
      padding-right: calc(var(--spacing) * 2.5);
    }
  }

  @media (min-width: 40rem) {
    .sm\:pb-4 {
      padding-bottom: calc(var(--spacing) * 4);
    }
  }

  @media (min-width: 40rem) {
    .sm\:pl-2\.5 {
      padding-left: calc(var(--spacing) * 2.5);
    }
  }

  @media (min-width: 40rem) {
    .sm\:text-center {
      text-align: center;
    }
  }

  @media (min-width: 40rem) {
    .sm\:text-left {
      text-align: left;
    }
  }

  @media (min-width: 40rem) {
    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (min-width: 40rem) {
    .sm\:leading-6 {
      --tw-leading: calc(var(--spacing) * 6);
      line-height: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 40rem) {
    .data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction="left"] {
      max-width: var(--container-sm);
    }
  }

  @media (min-width: 40rem) {
    .data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction="right"] {
      max-width: var(--container-sm);
    }
  }

  @media (min-width: 48rem) {
    .md\:absolute {
      position: absolute;
    }
  }

  @media (min-width: 48rem) {
    .md\:col-span-1 {
      grid-column: span 1 / span 1;
    }
  }

  @media (min-width: 48rem) {
    .md\:block {
      display: block;
    }
  }

  @media (min-width: 48rem) {
    .md\:flex {
      display: flex;
    }
  }

  @media (min-width: 48rem) {
    .md\:h-24 {
      height: calc(var(--spacing) * 24);
    }
  }

  @media (min-width: 48rem) {
    .md\:w-24 {
      width: calc(var(--spacing) * 24);
    }
  }

  @media (min-width: 48rem) {
    .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
      width: var(--radix-navigation-menu-viewport-width);
    }
  }

  @media (min-width: 48rem) {
    .md\:w-auto {
      width: auto;
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:flex-row {
      flex-direction: row;
    }
  }

  @media (min-width: 48rem) {
    .md\:items-center {
      align-items: center;
    }
  }

  @media (min-width: 48rem) {
    .md\:items-end {
      align-items: flex-end;
    }
  }

  @media (min-width: 48rem) {
    .md\:items-start {
      align-items: flex-start;
    }
  }

  @media (min-width: 48rem) {
    .md\:justify-between {
      justify-content: space-between;
    }
  }

  @media (min-width: 48rem) {
    .md\:justify-start {
      justify-content: flex-start;
    }
  }

  @media (min-width: 48rem) {
    .md\:px-12 {
      padding-inline: calc(var(--spacing) * 12);
    }
  }

  @media (min-width: 48rem) {
    .md\:text-left {
      text-align: left;
    }
  }

  @media (min-width: 48rem) {
    .md\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:opacity-0 {
      opacity: 0;
    }
  }

  @media (min-width: 48rem) {
    .md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant="inset"] ~ *) {
      margin: calc(var(--spacing) * 2);
    }
  }

  @media (min-width: 48rem) {
    .md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant="inset"] ~ *) {
      margin-left: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 48rem) {
    .md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant="inset"] ~ *) {
      border-radius: calc(var(--radius)  + 4px);
    }
  }

  @media (min-width: 48rem) {
    .md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant="inset"] ~ *) {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 1px 2px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (min-width: 48rem) {
    .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant="inset"] ~ *):is(:where(.peer)[data-state="collapsed"] ~ *) {
      margin-left: calc(var(--spacing) * 2);
    }
  }

  @media (min-width: 48rem) {
    .md\:after\:hidden:after {
      content: var(--tw-content);
      display: none;
    }
  }

  @media (min-width: 64rem) {
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:flex-row {
      flex-direction: row;
    }
  }

  @media (min-width: 64rem) {
    .lg\:items-center {
      align-items: center;
    }
  }

  @media (min-width: 64rem) {
    .lg\:px-16 {
      padding-inline: calc(var(--spacing) * 16);
    }
  }

  @media (min-width: 80rem) {
    .xl\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }

  .dark\:border-input:is(.dark *) {
    border-color: var(--input);
  }

  .dark\:bg-blue-950\/20:is(.dark *) {
    background-color: rgba(22, 36, 86, .2);
  }

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

  .dark\:bg-destructive\/60:is(.dark *) {
    background-color: var(--destructive);
  }

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

  .dark\:bg-input\/30:is(.dark *) {
    background-color: var(--input);
  }

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

  .dark\:text-muted-foreground:is(.dark *) {
    color: var(--muted-foreground);
  }

  @media (hover: hover) {
    .dark\:hover\:bg-accent\/50:is(.dark *):hover {
      background-color: var(--accent);
    }

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

  @media (hover: hover) {
    .dark\:hover\:bg-input\/50:is(.dark *):hover {
      background-color: var(--input);
    }

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

  .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active="true"][aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active="true"][aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state="active"] {
    border-color: var(--input);
  }

  .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state="active"] {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state="active"] {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }

  .dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state="active"] {
    color: var(--foreground);
  }

  .dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state="checked"] {
    background-color: var(--primary);
  }

  .dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state="checked"] {
    background-color: var(--primary-foreground);
  }

  .dark\:data-\[state\=unchecked\]\:bg-card-foreground:is(.dark *)[data-state="unchecked"] {
    background-color: var(--card-foreground);
  }

  .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state="unchecked"] {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state="unchecked"] {
      background-color: color-mix(in oklab, var(--input) 80%, transparent);
    }
  }

  .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant="destructive"]:focus {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant="destructive"]:focus {
      background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
    fill: var(--muted-foreground);
  }

  .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
    stroke: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
      stroke: color-mix(in oklab, var(--border) 50%, transparent);
    }
  }

  .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
    stroke: var(--border);
  }

  .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"] {
    stroke: rgba(0, 0, 0, 0);
  }

  .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
      outline-offset: 2px;
      outline: 2px solid rgba(0, 0, 0, 0);
    }
  }

  .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"] {
    stroke: var(--border);
  }

  .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
    fill: var(--muted);
  }

  .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
    fill: var(--muted);
  }

  .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"] {
    stroke: var(--border);
  }

  .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
      outline-offset: 2px;
      outline: 2px solid rgba(0, 0, 0, 0);
    }
  }

  .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"] {
    stroke: rgba(0, 0, 0, 0);
  }

  .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
      outline-offset: 2px;
      outline: 2px solid rgba(0, 0, 0, 0);
    }
  }

  .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
    color: var(--muted-foreground);
  }

  .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~ [cmdk-group] {
    padding-top: calc(var(--spacing) * 0);
  }

  .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
    height: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
    width: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
    height: calc(var(--spacing) * 12);
  }

  .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
    padding-block: calc(var(--spacing) * 3);
  }

  .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
    height: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
    width: calc(var(--spacing) * 5);
  }

  .\[\&_\[role\=option\]\[data-highlighted\]\]\:bg-primary\/10 [role="option"][data-highlighted] {
    background-color: var(--primary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\[\&_\[role\=option\]\[data-highlighted\]\]\:bg-primary\/10 [role="option"][data-highlighted] {
      background-color: color-mix(in oklab, var(--primary) 10%, transparent);
    }
  }

  .\[\&_\[role\=option\]\[data-highlighted\]\]\:text-primary [role="option"][data-highlighted] {
    color: var(--primary);
  }

  .\[\&_p\]\:leading-relaxed p {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*="text-"]) {
    color: var(--muted-foreground);
  }

  .\[\&_tr\]\:border-b tr {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role="checkbox"]) {
    padding-right: calc(var(--spacing) * 0);
  }

  .\[\.border-b\]\:pb-6.border-b {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .\[\.border-t\]\:pt-6.border-t {
    padding-top: calc(var(--spacing) * 6);
  }

  :-webkit-any(.\*\:\[span\]\:last\:flex > *):-webkit-any(span):last-child {
    display: flex;
  }

  :-moz-any(.\*\:\[span\]\:last\:flex > *):-moz-any(span):last-child {
    display: flex;
  }

  :is(.\*\:\[span\]\:last\:flex > *):is(span):last-child {
    display: flex;
  }

  :-webkit-any(.\*\:\[span\]\:last\:items-center > *):-webkit-any(span):last-child {
    align-items: center;
  }

  :-moz-any(.\*\:\[span\]\:last\:items-center > *):-moz-any(span):last-child {
    align-items: center;
  }

  :is(.\*\:\[span\]\:last\:items-center > *):is(span):last-child {
    align-items: center;
  }

  :-webkit-any(.\*\:\[span\]\:last\:gap-2 > *):-webkit-any(span):last-child {
    gap: calc(var(--spacing) * 2);
  }

  :-moz-any(.\*\:\[span\]\:last\:gap-2 > *):-moz-any(span):last-child {
    gap: calc(var(--spacing) * 2);
  }

  :is(.\*\:\[span\]\:last\:gap-2 > *):is(span):last-child {
    gap: calc(var(--spacing) * 2);
  }

  :-webkit-any(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant="destructive"] > *):-webkit-any(svg) {
    color: var(--destructive) !important;
  }

  :-moz-any(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant="destructive"] > *):-moz-any(svg) {
    color: var(--destructive) !important;
  }

  :is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant="destructive"] > *):is(svg) {
    color: var(--destructive) !important;
  }

  .\[\&\:last-child\]\:pb-6:last-child {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] > [role="checkbox"] {
    --tw-translate-y: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .\[\&\>button\]\:hidden > button {
    display: none;
  }

  .\[\&\>span\:last-child\]\:truncate > span:last-child {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .\[\&\>svg\]\:pointer-events-none > svg {
    pointer-events: none;
  }

  .\[\&\>svg\]\:size-3 > svg {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:size-3\.5 > svg {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\]\:size-4 > svg {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\]\:h-2\.5 > svg {
    height: calc(var(--spacing) * 2.5);
  }

  .\[\&\>svg\]\:h-3 > svg {
    height: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:w-2\.5 > svg {
    width: calc(var(--spacing) * 2.5);
  }

  .\[\&\>svg\]\:w-3 > svg {
    width: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:shrink-0 > svg {
    flex-shrink: 0;
  }

  .\[\&\>svg\]\:translate-y-0\.5 > svg {
    --tw-translate-y: calc(var(--spacing) * .5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .\[\&\>svg\]\:text-current > svg {
    color: currentColor;
  }

  .\[\&\>svg\]\:text-muted-foreground > svg {
    color: var(--muted-foreground);
  }

  .\[\&\>svg\]\:text-sidebar-accent-foreground > svg {
    color: var(--sidebar-accent-foreground);
  }

  .\[\&\>tr\]\:last\:border-b-0 > tr:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  .\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction="vertical"] > div {
    rotate: 90deg;
  }

  .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state="open"] > svg {
    rotate: 180deg;
  }

  [data-side="left"][data-collapsible="offcanvas"] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
    right: calc(var(--spacing) * -2);
  }

  [data-side="left"][data-state="collapsed"] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
    cursor: e-resize;
  }

  [data-side="right"][data-collapsible="offcanvas"] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
    left: calc(var(--spacing) * -2);
  }

  [data-side="right"][data-state="collapsed"] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
    cursor: w-resize;
  }

  @media (hover: hover) {
    a.\[a\&\]\:hover\:bg-accent:hover {
      background-color: var(--accent);
    }
  }

  @media (hover: hover) {
    a.\[a\&\]\:hover\:bg-destructive\/90:hover {
      background-color: var(--destructive);
    }

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

  @media (hover: hover) {
    a.\[a\&\]\:hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }

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

  @media (hover: hover) {
    a.\[a\&\]\:hover\:bg-secondary\/90:hover {
      background-color: var(--secondary);
    }

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

  @media (hover: hover) {
    a.\[a\&\]\:hover\:text-accent-foreground:hover {
      color: var(--accent-foreground);
    }
  }
}

.harmonia-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: var(--radius-pill);
  box-shadow: var(--elevation-soft);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  align-items: center;
  gap: var(--spacing-2);
  letter-spacing: .05em;
  min-height: 48px;
  padding: 0 var(--spacing-5);
  text-transform: uppercase;
  touch-action: manipulation;
  transition: background-color var(--duration-fast) var(--easing-ease), color var(--duration-fast) var(--easing-ease), box-shadow var(--duration-normal) var(--easing-ease), transform var(--duration-fast) var(--easing-spring), opacity var(--duration-fast) var(--easing-ease);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  white-space: nowrap;
  background: none;
  border: none;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

.harmonia-button--sm {
  min-height: 48px;
  padding: 0 var(--spacing-4);
  font-size: 14px;
}

.harmonia-button--md {
  min-height: 48px;
  padding: 0 var(--spacing-5);
  font-size: 16px;
}

.harmonia-button--lg {
  min-height: 56px;
  padding: 0 var(--spacing-6);
  font-size: 16px;
}

.harmonia-button--primary {
  background-color: var(--color-pop-dark-500, #070433);
  color: var(--color-text-inverse);
}

.harmonia-button--primary:active:not(:disabled) {
  background-color: var(--color-pop-dark-700, #050228);
  box-shadow: 0 0 0 3px var(--color-pop-dark-200, #d1d5db);
  transform: scale(.95);
}

.harmonia-button--popskills {
  background-color: var(--color-popskills-500, #039de3);
  color: var(--color-text-inverse);
}

.harmonia-button--popskills:active:not(:disabled) {
  background-color: var(--color-popskills-700, #016c9b);
  box-shadow: 0 0 0 3px var(--color-popskills-200, #80d0f4);
  transform: scale(.95);
}

.harmonia-button--poplingua {
  background-color: var(--color-poplingua-500, #2ed6c5);
  color: var(--color-pop-dark-500, #070433);
}

.harmonia-button--poplingua:active:not(:disabled) {
  background-color: var(--color-poplingua-700, #1a8f85);
  box-shadow: 0 0 0 3px var(--color-poplingua-200, #9feadd);
  transform: scale(.95);
}

.harmonia-button--poptalent {
  background-color: var(--color-poptalent-500, #ff5a6a);
  color: var(--color-text-inverse);
}

.harmonia-button--poptalent:active:not(:disabled) {
  background-color: var(--color-poptalent-700, #c32e42);
  box-shadow: 0 0 0 3px var(--color-poptalent-200, #fab5bc);
  transform: scale(.95);
}

.harmonia-button--popmentor {
  background-color: var(--color-popmentor-500, #f6cd01);
  color: var(--color-pop-dark-500, #070433);
}

.harmonia-button--popmentor:active:not(:disabled) {
  background-color: var(--color-popmentor-700, #e18e00);
  box-shadow: 0 0 0 3px var(--color-popmentor-200, #ffe066);
  transform: scale(.95);
}

.harmonia-button--turquoise {
  background-color: var(--color-poplingua-500, #2ed6c5);
  color: var(--color-pop-dark-500, #070433);
}

.harmonia-button--turquoise:active:not(:disabled) {
  background-color: var(--color-poplingua-700, #1a8f85);
  box-shadow: 0 0 0 3px var(--color-poplingua-200, #9feadd);
  transform: scale(.95);
}

.harmonia-button--coral {
  background-color: var(--color-poptalent-500, #ff5a6a);
  color: var(--color-text-inverse);
}

.harmonia-button--coral:active:not(:disabled) {
  background-color: var(--color-poptalent-700, #c32e42);
  box-shadow: 0 0 0 3px var(--color-poptalent-200, #fab5bc);
  transform: scale(.95);
}

.harmonia-button--plum {
  background-color: var(--color-popmentor-500, #f6cd01);
  color: var(--color-pop-dark-500, #070433);
}

.harmonia-button--plum:active:not(:disabled) {
  background-color: var(--color-popmentor-700, #e18e00);
  box-shadow: 0 0 0 3px var(--color-popmentor-200, #ffe066);
  transform: scale(.95);
}

.harmonia-button--sky {
  background-color: var(--color-popskills-300, #33b4ec);
  color: var(--color-pop-dark-500, #070433);
}

.harmonia-button--sky:active:not(:disabled) {
  background-color: var(--color-popskills-400, #0289c6);
  box-shadow: 0 0 0 3px var(--color-popskills-200, #80d0f4);
  transform: scale(.95);
}

.harmonia-button--secondary {
  border: 2px solid var(--color-pop-dark-500, #070433);
  box-shadow: none;
  color: var(--color-pop-dark-500, #070433);
  background-color: rgba(0, 0, 0, 0);
}

.harmonia-button--secondary:active:not(:disabled) {
  background-color: var(--color-pop-dark-50, #f6f7f9);
  box-shadow: 0 0 0 3px var(--color-pop-dark-200, #d1d5db);
  transform: scale(.95);
}

.harmonia-button--ghost {
  box-shadow: none;
  color: var(--color-pop-dark-500, #070433);
  background-color: rgba(0, 0, 0, 0);
}

.harmonia-button--ghost:active:not(:disabled) {
  background-color: var(--color-neutral-100);
  box-shadow: 0 0 0 3px var(--color-neutral-200, #e5e7eb);
  transform: scale(.95);
}

.harmonia-button--destructive {
  background-color: var(--color-poptalent-500, #ff5a6a);
  color: var(--color-text-inverse);
}

.harmonia-button--destructive:active:not(:disabled) {
  background-color: var(--color-poptalent-700, #c32e42);
  box-shadow: 0 0 0 3px var(--color-poptalent-200, #fab5bc);
  transform: scale(.95);
}

.harmonia-button--full-width {
  width: 100%;
}

.harmonia-button--disabled, .harmonia-button:disabled {
  cursor: not-allowed;
  opacity: .5;
  pointer-events: none;
}

.harmonia-button--loading {
  cursor: wait;
  pointer-events: none;
  position: relative;
}

.harmonia-button--icon-only {
  aspect-ratio: 1;
  border-radius: var(--radius-full);
  padding: 0;
}

.harmonia-button__content, .harmonia-button__icon {
  align-items: center;
  display: inline-flex;
}

.harmonia-button__icon {
  flex-shrink: 0;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
}

.harmonia-button__icon--left {
  margin-right: var(--spacing-2);
}

.harmonia-button__icon--right {
  margin-left: var(--spacing-2);
}

.harmonia-button--lg .harmonia-button__icon {
  width: 1.5rem;
  height: 1.5rem;
}

.harmonia-button__spinner {
  margin-right: var(--spacing-2);
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.harmonia-button__spinner-icon {
  width: 1.25rem;
  height: 1.25rem;
  animation: 1s linear infinite harmonia-spin;
}

@keyframes harmonia-spin {
  0% {
    transform: rotate(0);
  }

  to {
    transform: rotate(1turn);
  }
}

.harmonia-button:focus-visible {
  outline: 3px solid var(--color-popskills-500, #039de3);
  outline-offset: 3px;
}

.harmonia-button--destructive:focus-visible {
  outline-color: var(--color-poptalent-500, #ff5a6a);
}

@media (prefers-contrast: high) {
  .harmonia-button:focus-visible {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

@media (min-width: 768px) {
  .harmonia-button {
    min-height: 44px;
  }

  .harmonia-button--sm {
    min-height: 40px;
  }

  .harmonia-button--md {
    min-height: 44px;
  }

  .harmonia-button--lg {
    min-height: 52px;
  }
}

@media (min-width: 1024px) {
  .harmonia-button--sm {
    min-height: 32px;
    padding: 0 var(--spacing-3);
  }

  .harmonia-button--md {
    min-height: 40px;
  }

  .harmonia-button--lg {
    min-height: 48px;
  }

  .harmonia-button--primary:hover:not(:disabled) {
    background-color: var(--color-pop-dark-400, #1f2937);
    box-shadow: var(--elevation-3);
    transform: translateY(-2px)scale(1.02);
  }

  .harmonia-button--popskills:hover:not(:disabled) {
    background-color: var(--color-popskills-400, #33b4ec);
    transform: translateY(-2px)scale(1.02);
    box-shadow: 0 8px 24px rgba(3, 157, 227, .25);
  }

  .harmonia-button--poplingua:hover:not(:disabled), .harmonia-button--turquoise:hover:not(:disabled) {
    background-color: var(--color-poplingua-400, #63dec9);
    transform: translateY(-2px)scale(1.02);
    box-shadow: 0 8px 24px rgba(46, 214, 197, .25);
  }

  .harmonia-button--coral:hover:not(:disabled), .harmonia-button--poptalent:hover:not(:disabled) {
    background-color: var(--color-poptalent-400, #f98996);
    transform: translateY(-2px)scale(1.02);
    box-shadow: 0 8px 24px rgba(255, 90, 106, .25);
  }

  .harmonia-button--plum:hover:not(:disabled), .harmonia-button--popmentor:hover:not(:disabled) {
    background-color: var(--color-popmentor-400, #ffd633);
    transform: translateY(-2px)scale(1.02);
    box-shadow: 0 8px 24px rgba(246, 205, 1, .25);
  }

  .harmonia-button--sky:hover:not(:disabled) {
    background-color: var(--color-popskills-200, #80d0f4);
    transform: translateY(-2px)scale(1.02);
  }

  .harmonia-button--secondary:hover:not(:disabled) {
    background-color: var(--color-pop-dark-50, #f6f7f9);
    transform: scale(1.02);
    box-shadow: 0 4px 12px rgba(7, 4, 51, .1);
  }

  .harmonia-button--ghost:hover:not(:disabled) {
    background-color: var(--color-neutral-100);
    transform: scale(1.02);
  }

  .harmonia-button--destructive:hover:not(:disabled) {
    background-color: var(--color-poptalent-600, #eb4357);
    transform: translateY(-2px)scale(1.02);
    box-shadow: 0 8px 24px rgba(255, 90, 106, .25);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-button {
    transition: none;
  }

  .harmonia-button:active:not(:disabled), .harmonia-button:hover:not(:disabled) {
    transform: none;
  }

  .harmonia-button__spinner-icon {
    animation: none;
  }
}

.harmonia-card {
  background-color: var(--color-background-primary, #fff);
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-soft);
  transition: box-shadow var(--duration-normal) var(--easing-ease), background-color var(--duration-normal) var(--easing-ease), transform var(--duration-normal) var(--easing-spring);
  flex-direction: column;
  display: flex;
}

.harmonia-card--flat {
  border: 1px solid var(--color-border-light);
  box-shadow: none;
}

.harmonia-card--default {
  box-shadow: var(--elevation-soft);
}

.harmonia-card--elevated {
  box-shadow: var(--elevation-3);
}

.harmonia-card--hero {
  border-radius: var(--radius-2xl);
  box-shadow: var(--elevation-4);
}

.harmonia-card--accent-popskills {
  border-left: 4px solid var(--color-popskills-500, #039de3);
}

.harmonia-card--accent-poplingua {
  border-left: 4px solid var(--color-poplingua-500, #2ed6c5);
}

.harmonia-card--accent-poptalent {
  border-left: 4px solid var(--color-poptalent-500, #ff5a6a);
}

.harmonia-card--accent-popmentor {
  border-left: 4px solid var(--color-popmentor-500, #f6cd01);
}

.harmonia-card--accent-pop {
  border-left: 4px solid var(--color-pop-dark-500, #070433);
}

.harmonia-card--accent-turquoise {
  border-left: 4px solid var(--color-poplingua-500, #2ed6c5);
}

.harmonia-card--accent-coral {
  border-left: 4px solid var(--color-poptalent-500, #ff5a6a);
}

.harmonia-card--accent-plum {
  border-left: 4px solid var(--color-popmentor-500, #f6cd01);
}

.harmonia-card--accent-sky {
  border-left: 4px solid var(--color-popskills-300, #33b4ec);
}

.harmonia-card--accent-slate {
  border-left: 4px solid var(--color-pop-dark-500, #070433);
}

.harmonia-card--interactive {
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  touch-action: manipulation;
}

.harmonia-card--interactive:active {
  box-shadow: var(--elevation-1);
  transform: scale(.98);
}

.harmonia-card--interactive:focus-visible {
  outline: 3px solid var(--color-popskills-500, #039de3);
  outline-offset: 3px;
}

@media (prefers-contrast: high) {
  .harmonia-card--interactive:focus-visible {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

.harmonia-card--padding-none .harmonia-card__body {
  padding: 0;
}

.harmonia-card--padding-sm .harmonia-card__body {
  padding: var(--spacing-3);
}

.harmonia-card--padding-md .harmonia-card__body {
  padding: var(--spacing-4);
}

.harmonia-card--padding-lg .harmonia-card__body {
  padding: var(--spacing-5);
}

.harmonia-card__header {
  border-bottom: 1px solid var(--color-border-light);
  padding: var(--spacing-4);
}

.harmonia-card--padding-sm .harmonia-card__header {
  padding: var(--spacing-3);
}

.harmonia-card--padding-lg .harmonia-card__header {
  padding: var(--spacing-5);
}

.harmonia-card__body {
  padding: var(--spacing-4);
  flex: 1;
}

.harmonia-card__footer {
  border-top: 1px solid var(--color-border-light);
  padding: var(--spacing-4);
}

.harmonia-card--padding-sm .harmonia-card__footer {
  padding: var(--spacing-3);
}

.harmonia-card--padding-lg .harmonia-card__footer {
  padding: var(--spacing-5);
}

.harmonia-card-header {
  align-items: flex-start;
  gap: var(--spacing-3);
  justify-content: space-between;
  display: flex;
}

.harmonia-card-header__text {
  flex: 1;
  min-width: 0;
}

.harmonia-card-header__title {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  margin: 0;
}

.harmonia-card-header__subtitle {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  margin: var(--spacing-1) 0 0;
}

.harmonia-card-header__action {
  flex-shrink: 0;
}

.harmonia-card-footer {
  align-items: center;
  gap: var(--spacing-3);
  flex-wrap: wrap;
  display: flex;
}

.harmonia-card-footer--left {
  justify-content: flex-start;
}

.harmonia-card-footer--center {
  justify-content: center;
}

.harmonia-card-footer--right {
  justify-content: flex-end;
}

.harmonia-card-footer--space-between {
  justify-content: space-between;
}

:root.dark .harmonia-card, [data-theme="dark"] .harmonia-card {
  background-color: var(--surface-1, #1f2937);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
}

:root.dark .harmonia-card--flat, [data-theme="dark"] .harmonia-card--flat {
  background-color: var(--surface-1, #1f2937);
  border-color: var(--color-border-light);
}

:root.dark .harmonia-card--elevated, [data-theme="dark"] .harmonia-card--elevated {
  background-color: var(--surface-2, #374151);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

:root.dark .harmonia-card--hero, [data-theme="dark"] .harmonia-card--hero {
  background-color: var(--surface-3, #4b5563);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .4);
}

:root.dark .harmonia-card__footer, :root.dark .harmonia-card__header, [data-theme="dark"] .harmonia-card__footer, [data-theme="dark"] .harmonia-card__header {
  border-color: var(--color-border-light);
}

@media (min-width: 768px) {
  .harmonia-card--padding-md .harmonia-card__body {
    padding: var(--spacing-5);
  }

  .harmonia-card--padding-lg .harmonia-card__body {
    padding: var(--spacing-6);
  }

  .harmonia-card__header {
    gap: var(--spacing-4);
  }

  .harmonia-card-header__title {
    font-size: var(--font-size-xl);
  }
}

@media (min-width: 1024px) {
  .harmonia-card--padding-lg .harmonia-card__body {
    padding: var(--spacing-8);
  }

  .harmonia-card--padding-lg .harmonia-card__footer, .harmonia-card--padding-lg .harmonia-card__header {
    padding: var(--spacing-6);
  }

  .harmonia-card--interactive:hover {
    box-shadow: var(--elevation-3);
    transform: translateY(-4px)scale(1.01);
  }

  .harmonia-card--interactive:active {
    transform: translateY(0)scale(.99);
  }

  :root.dark .harmonia-card--interactive:hover, [data-theme="dark"] .harmonia-card--interactive:hover {
    background-color: var(--surface-2, #374151);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-card {
    transition: none;
  }

  .harmonia-card--interactive:active, .harmonia-card--interactive:hover {
    transform: none;
  }
}

.harmonia-input {
  --input-color-focus: #039de3;
  --input-color-focus-ring: rgba(3, 157, 227, .2);
  --input-color-success: #2ed6c5;
  --input-color-success-ring: rgba(46, 214, 197, .2);
  --input-color-success-bg: rgba(46, 214, 197, .05);
  --input-color-error: #ff5a6a;
  --input-color-error-ring: rgba(255, 90, 106, .15);
  --input-color-error-bg: rgba(255, 90, 106, .05);
  --input-color-warning: #f6cd01;
  --input-height-sm: 44px;
  --input-height-md: 48px;
  --input-height-lg: 56px;
  --input-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --input-transition-fast: .15s ease-out;
  gap: var(--spacing-1-5);
  flex-direction: column;
  width: 100%;
  display: flex;
}

.harmonia-input__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
}

.harmonia-input__label--required:after {
  color: var(--input-color-error);
  content: " *";
}

.harmonia-input__wrapper {
  align-items: center;
  display: flex;
  position: relative;
}

.harmonia-input__field {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  background-color: var(--color-background-primary);
  border: none;
  border: 2px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: 16px;
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  min-height: var(--input-height-md);
  padding: var(--spacing-3) var(--spacing-4);
  transition: border-color var(--input-transition-fast), box-shadow var(--input-transition), background-color var(--input-transition-fast), transform var(--input-transition);
  outline: none;
  width: 100%;
}

.harmonia-input__field::placeholder {
  color: var(--color-text-tertiary);
  opacity: 1;
}

.harmonia-input--filled .harmonia-input__field {
  background-color: var(--color-neutral-50);
  border-color: rgba(0, 0, 0, 0);
}

.harmonia-input--filled .harmonia-input__field:hover:not(:focus):not(:disabled) {
  background-color: var(--color-neutral-100);
}

.harmonia-input--filled .harmonia-input__field:focus {
  background-color: var(--color-background-primary);
  border-color: var(--input-color-focus);
}

.harmonia-input__field:hover:not(:focus):not(:disabled) {
  border-color: var(--color-border-strong);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(7, 4, 51, .08);
}

.harmonia-input__field:focus {
  border-color: var(--input-color-focus);
  box-shadow: 0 0 0 3px var(--input-color-focus-ring);
  transform: scale(1.005);
}

.harmonia-input--success .harmonia-input__field {
  background-color: var(--input-color-success-bg);
  border-color: var(--input-color-success);
}

.harmonia-input--success .harmonia-input__field:focus {
  box-shadow: 0 0 0 3px var(--input-color-success-ring);
}

.harmonia-input--error .harmonia-input__field {
  background-color: var(--input-color-error-bg);
  border-color: var(--input-color-error);
}

.harmonia-input--error .harmonia-input__field:focus {
  box-shadow: 0 0 0 3px var(--input-color-error-ring);
}

.harmonia-input__field:disabled {
  background-color: var(--color-neutral-100);
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}

.harmonia-input__field:disabled:hover {
  box-shadow: none;
  transform: none;
}

.harmonia-input__icon {
  color: var(--color-text-tertiary);
  pointer-events: none;
  height: 20px;
  transition: color var(--input-transition-fast), transform var(--input-transition);
  justify-content: center;
  align-items: center;
  width: 20px;
  display: flex;
  position: absolute;
}

.harmonia-input__icon--left {
  left: var(--spacing-4);
}

.harmonia-input__icon--right {
  right: var(--spacing-4);
}

.harmonia-input__field--with-icon-left {
  padding-left: calc(var(--spacing-4)  + 28px);
}

.harmonia-input__field--with-icon-right {
  padding-right: calc(var(--spacing-4)  + 28px);
}

.harmonia-input__field:focus ~ .harmonia-input__icon--left, .harmonia-input__field:focus ~ .harmonia-input__icon--right {
  color: var(--input-color-focus);
}

.harmonia-input__icon--success {
  color: var(--input-color-success);
  animation: .3s cubic-bezier(.34, 1.56, .64, 1) forwards pop-check;
}

@keyframes pop-check {
  0% {
    opacity: 0;
    transform: scale(0);
  }

  50% {
    transform: scale(1.3);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.harmonia-input__icon--error {
  color: var(--input-color-error);
}

.harmonia-input__icon--interactive {
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  cursor: pointer;
  pointer-events: auto;
  height: 44px;
  transition: color var(--input-transition-fast), background-color var(--input-transition-fast);
  width: 44px;
  margin: -12px;
  padding: 12px;
}

.harmonia-input__icon--interactive:hover {
  background-color: var(--color-neutral-100);
  color: var(--color-text-primary);
}

.harmonia-input__icon--interactive:active {
  transform: scale(.95);
}

.harmonia-input__helper {
  color: var(--color-text-secondary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  align-items: center;
  gap: var(--spacing-1);
  line-height: var(--line-height-normal);
  display: flex;
}

.harmonia-input__success-message {
  color: var(--input-color-success);
}

.harmonia-input__error-message, .harmonia-input__success-message {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  align-items: center;
  gap: var(--spacing-1);
  line-height: var(--line-height-normal);
  animation: .2s ease-out forwards fade-slide-in;
  display: flex;
}

.harmonia-input__error-message {
  color: var(--input-color-error);
}

@keyframes fade-slide-in {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.harmonia-input__message-icon {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.harmonia-input--sm .harmonia-input__field {
  border-radius: var(--radius-md);
  min-height: var(--input-height-sm);
  padding: var(--spacing-2-5) var(--spacing-3);
  font-size: 16px;
}

.harmonia-input--sm .harmonia-input__icon {
  width: 18px;
  height: 18px;
}

.harmonia-input--sm .harmonia-input__icon--left {
  left: var(--spacing-3);
}

.harmonia-input--sm .harmonia-input__icon--right {
  right: var(--spacing-3);
}

.harmonia-input--lg .harmonia-input__field {
  border-radius: var(--radius-xl);
  font-size: var(--font-size-lg);
  min-height: var(--input-height-lg);
  padding: var(--spacing-4) var(--spacing-5);
}

.harmonia-input--lg .harmonia-input__icon {
  width: 24px;
  height: 24px;
}

.harmonia-input--lg .harmonia-input__label {
  font-size: var(--font-size-base);
}

.harmonia-input__field:focus-visible {
  outline: 3px solid var(--input-color-focus);
  outline-offset: 2px;
}

@media (prefers-contrast: high) {
  .harmonia-input__field {
    border-width: 3px;
  }

  .harmonia-input__field:focus-visible {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

:root.dark .harmonia-input, [data-theme="dark"] .harmonia-input {
  --input-color-focus-ring: rgba(3, 157, 227, .3);
  --input-color-success-ring: rgba(46, 214, 197, .3);
  --input-color-success-bg: rgba(46, 214, 197, .1);
  --input-color-error-ring: rgba(255, 90, 106, .25);
  --input-color-error-bg: rgba(255, 90, 106, .1);
}

:root.dark .harmonia-input__field, [data-theme="dark"] .harmonia-input__field {
  background-color: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
  color: var(--color-text-primary);
}

:root.dark .harmonia-input__field::placeholder, [data-theme="dark"] .harmonia-input__field::placeholder {
  color: var(--color-text-tertiary);
}

:root.dark .harmonia-input__field:hover:not(:focus):not(:disabled), [data-theme="dark"] .harmonia-input__field:hover:not(:focus):not(:disabled) {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

:root.dark .harmonia-input__field:disabled, [data-theme="dark"] .harmonia-input__field:disabled {
  background-color: var(--surface-base, var(--color-background-tertiary));
}

:root.dark .harmonia-input--filled .harmonia-input__field, [data-theme="dark"] .harmonia-input--filled .harmonia-input__field {
  background-color: var(--color-neutral-800);
}

:root.dark .harmonia-input--filled .harmonia-input__field:hover:not(:focus):not(:disabled), [data-theme="dark"] .harmonia-input--filled .harmonia-input__field:hover:not(:focus):not(:disabled) {
  background-color: var(--color-neutral-700);
}

@media (min-width: 768px) {
  .harmonia-input {
    --input-height-sm: 40px;
    --input-height-md: 44px;
    --input-height-lg: 52px;
  }
}

@media (min-width: 1024px) {
  .harmonia-input {
    --input-height-sm: 36px;
    --input-height-md: 40px;
    --input-height-lg: 48px;
  }

  .harmonia-input__field {
    font-size: var(--font-size-base);
  }

  .harmonia-input--sm .harmonia-input__field {
    font-size: var(--font-size-sm);
  }

  .harmonia-input__icon--interactive {
    width: 32px;
    height: 32px;
    margin: -6px;
    padding: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-input__field, .harmonia-input__icon {
    transition: none;
  }

  .harmonia-input__error-message, .harmonia-input__icon--success, .harmonia-input__success-message {
    animation: none;
  }

  .harmonia-input__field:focus, .harmonia-input__field:hover:not(:focus):not(:disabled) {
    transform: none;
  }
}

.harmonia-textarea-wrapper {
  --textarea-color-focus: #039de3;
  --textarea-color-focus-ring: rgba(3, 157, 227, .2);
  --textarea-color-success: #2ed6c5;
  --textarea-color-success-ring: rgba(46, 214, 197, .2);
  --textarea-color-success-bg: rgba(46, 214, 197, .05);
  --textarea-color-error: #ff5a6a;
  --textarea-color-error-ring: rgba(255, 90, 106, .15);
  --textarea-color-error-bg: rgba(255, 90, 106, .05);
  --textarea-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --textarea-transition-fast: .15s ease-out;
  gap: var(--spacing-1-5);
  flex-direction: column;
  width: 100%;
  display: flex;
}

.harmonia-textarea__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
}

.harmonia-textarea__required {
  color: var(--textarea-color-error);
  margin-left: var(--spacing-0-5);
}

.harmonia-textarea-container {
  background-color: var(--color-background-primary);
  border: 2px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  transition: border-color var(--textarea-transition-fast), box-shadow var(--textarea-transition), background-color var(--textarea-transition-fast), transform var(--textarea-transition);
  position: relative;
}

.harmonia-textarea-container:hover:not(.harmonia-textarea-container--disabled):not(:focus-within) {
  border-color: var(--color-border-strong);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(7, 4, 51, .08);
}

.harmonia-textarea-container:focus-within {
  border-color: var(--textarea-color-focus);
  box-shadow: 0 0 0 3px var(--textarea-color-focus-ring);
  transform: scale(1.005);
}

.harmonia-textarea-container--success {
  background-color: var(--textarea-color-success-bg);
  border-color: var(--textarea-color-success);
}

.harmonia-textarea-container--success:focus-within {
  box-shadow: 0 0 0 3px var(--textarea-color-success-ring);
}

.harmonia-textarea-container--error {
  background-color: var(--textarea-color-error-bg);
  border-color: var(--textarea-color-error);
}

.harmonia-textarea-container--error:focus-within {
  box-shadow: 0 0 0 3px var(--textarea-color-error-ring);
}

.harmonia-textarea-container--disabled {
  background-color: var(--color-neutral-100);
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}

.harmonia-textarea-container--disabled:hover {
  box-shadow: none;
  transform: none;
}

.harmonia-textarea {
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: 16px;
  line-height: var(--line-height-relaxed);
  min-height: 120px;
  padding: var(--spacing-3) var(--spacing-4);
  resize: vertical;
  background: none;
  border: none;
  outline: none;
  width: 100%;
  display: block;
}

.harmonia-textarea::placeholder {
  color: var(--color-text-tertiary);
  opacity: 1;
}

.harmonia-textarea:disabled {
  cursor: not-allowed;
}

.harmonia-textarea--auto-resize {
  resize: none;
  overflow: hidden;
}

.harmonia-textarea__footer {
  align-items: flex-start;
  gap: var(--spacing-4);
  justify-content: space-between;
  display: flex;
}

.harmonia-textarea__helper {
  color: var(--color-text-secondary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
  flex: 1;
  margin: 0;
}

.harmonia-textarea__helper--success {
  color: var(--textarea-color-success);
}

.harmonia-textarea__helper--error, .harmonia-textarea__helper--success {
  align-items: center;
  gap: var(--spacing-1);
  animation: .2s ease-out forwards textarea-fade-slide-in;
  display: flex;
}

.harmonia-textarea__helper--error {
  color: var(--textarea-color-error);
}

@keyframes textarea-fade-slide-in {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.harmonia-textarea__count {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

.harmonia-textarea:focus-visible {
  outline: 3px solid var(--textarea-color-focus);
  outline-offset: 2px;
}

@media (prefers-contrast: high) {
  .harmonia-textarea-container {
    border-width: 3px;
  }

  .harmonia-textarea:focus-visible {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

:root.dark .harmonia-textarea-wrapper, [data-theme="dark"] .harmonia-textarea-wrapper {
  --textarea-color-focus-ring: rgba(3, 157, 227, .3);
  --textarea-color-success-ring: rgba(46, 214, 197, .3);
  --textarea-color-success-bg: rgba(46, 214, 197, .1);
  --textarea-color-error-ring: rgba(255, 90, 106, .25);
  --textarea-color-error-bg: rgba(255, 90, 106, .1);
}

:root.dark .harmonia-textarea-container, [data-theme="dark"] .harmonia-textarea-container {
  background-color: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
}

:root.dark .harmonia-textarea, [data-theme="dark"] .harmonia-textarea {
  color: var(--color-text-primary);
}

:root.dark .harmonia-textarea::placeholder, [data-theme="dark"] .harmonia-textarea::placeholder {
  color: var(--color-text-tertiary);
}

:root.dark .harmonia-textarea-container:hover:not(.harmonia-textarea-container--disabled):not(:focus-within), [data-theme="dark"] .harmonia-textarea-container:hover:not(.harmonia-textarea-container--disabled):not(:focus-within) {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

:root.dark .harmonia-textarea-container--disabled, [data-theme="dark"] .harmonia-textarea-container--disabled {
  background-color: var(--surface-base, var(--color-background-tertiary));
}

@media (min-width: 1024px) {
  .harmonia-textarea {
    font-size: var(--font-size-base);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-textarea-container {
    transition: none;
  }

  .harmonia-textarea-container:hover:not(.harmonia-textarea-container--disabled):not(:focus-within), .harmonia-textarea-container:focus-within {
    transform: none;
  }

  .harmonia-textarea__helper--error, .harmonia-textarea__helper--success {
    animation: none;
  }
}

.harmonia-badge {
  --badge-popskills: #039de3;
  --badge-popskills-bg: rgba(3, 157, 227, .1);
  --badge-poplingua: #2ed6c5;
  --badge-poplingua-bg: rgba(46, 214, 197, .1);
  --badge-poptalent: #ff5a6a;
  --badge-poptalent-bg: rgba(255, 90, 106, .1);
  --badge-popmentor: #f6cd01;
  --badge-popmentor-bg: rgba(246, 205, 1, .15);
  --badge-navy: #070433;
  --badge-focus-ring: rgba(3, 157, 227, .2);
  --badge-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --badge-transition-fast: .15s ease-out;
  border-radius: var(--radius-pill);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  align-items: center;
  gap: var(--spacing-1);
  min-height: 24px;
  padding: var(--spacing-1) var(--spacing-3);
  transition: background-color var(--badge-transition-fast), color var(--badge-transition-fast), transform var(--badge-transition), box-shadow var(--badge-transition);
  white-space: nowrap;
  justify-content: center;
  line-height: 1;
  display: inline-flex;
}

.harmonia-badge--default {
  background-color: var(--color-neutral-100);
  color: var(--color-text-secondary);
}

.harmonia-badge--primary {
  color: var(--badge-navy);
  background-color: rgba(7, 4, 51, .08);
}

.harmonia-badge--primary-solid {
  background-color: var(--badge-navy);
  color: #fff;
}

.harmonia-badge--blue, .harmonia-badge--popskills {
  background-color: var(--badge-popskills-bg);
  color: var(--badge-popskills);
}

.harmonia-badge--blue-solid, .harmonia-badge--popskills-solid {
  background-color: var(--badge-popskills);
  color: #fff;
}

.harmonia-badge--poplingua, .harmonia-badge--teal, .harmonia-badge--turquoise {
  background-color: var(--badge-poplingua-bg);
  color: #1a9e91;
}

.harmonia-badge--poplingua-solid, .harmonia-badge--teal-solid, .harmonia-badge--turquoise-solid {
  background-color: var(--badge-poplingua);
  color: #fff;
}

.harmonia-badge--coral, .harmonia-badge--poptalent, .harmonia-badge--red {
  background-color: var(--badge-poptalent-bg);
  color: #e5424f;
}

.harmonia-badge--coral-solid, .harmonia-badge--poptalent-solid, .harmonia-badge--red-solid {
  background-color: var(--badge-poptalent);
  color: #fff;
}

.harmonia-badge--plum, .harmonia-badge--popmentor, .harmonia-badge--yellow {
  background-color: var(--badge-popmentor-bg);
  color: #9a7b00;
}

.harmonia-badge--plum-solid, .harmonia-badge--popmentor-solid, .harmonia-badge--yellow-solid {
  background-color: var(--badge-popmentor);
  color: var(--badge-navy);
}

.harmonia-badge--success {
  background-color: var(--badge-poplingua-bg);
  color: #1a9e91;
}

.harmonia-badge--success-solid {
  background-color: var(--badge-poplingua);
  color: #fff;
}

.harmonia-badge--warning {
  background-color: var(--badge-popmentor-bg);
  color: #9a7b00;
}

.harmonia-badge--warning-solid {
  background-color: var(--badge-popmentor);
  color: var(--badge-navy);
}

.harmonia-badge--error {
  background-color: var(--badge-poptalent-bg);
  color: #e5424f;
}

.harmonia-badge--error-solid {
  background-color: var(--badge-poptalent);
  color: #fff;
}

.harmonia-badge--sm {
  min-height: 20px;
  padding: 2px var(--spacing-2);
  font-size: 10px;
}

.harmonia-badge--lg {
  font-size: var(--font-size-sm);
  min-height: 28px;
  padding: var(--spacing-1) var(--spacing-4);
}

.harmonia-badge--dot {
  border-radius: var(--radius-full);
  width: 8px;
  height: 8px;
  min-height: auto;
  padding: 0;
}

.harmonia-badge--dot.harmonia-badge--blue, .harmonia-badge--dot.harmonia-badge--popskills {
  background-color: var(--badge-popskills);
}

.harmonia-badge--dot.harmonia-badge--poplingua, .harmonia-badge--dot.harmonia-badge--teal, .harmonia-badge--dot.harmonia-badge--turquoise {
  background-color: var(--badge-poplingua);
}

.harmonia-badge--dot.harmonia-badge--coral, .harmonia-badge--dot.harmonia-badge--poptalent, .harmonia-badge--dot.harmonia-badge--red {
  background-color: var(--badge-poptalent);
}

.harmonia-badge--dot.harmonia-badge--plum, .harmonia-badge--dot.harmonia-badge--popmentor, .harmonia-badge--dot.harmonia-badge--yellow {
  background-color: var(--badge-popmentor);
}

.harmonia-badge--dot.harmonia-badge--success {
  background-color: var(--badge-poplingua);
}

.harmonia-badge--dot.harmonia-badge--error {
  background-color: var(--badge-poptalent);
}

.harmonia-badge--dot.harmonia-badge--warning {
  background-color: var(--badge-popmentor);
}

.harmonia-badge--outlined {
  background-color: rgba(0, 0, 0, 0);
  border: 1.5px solid;
}

.harmonia-badge__icon {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.harmonia-badge--lg .harmonia-badge__icon {
  width: 14px;
  height: 14px;
}

.harmonia-badge--interactive {
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  touch-action: manipulation;
}

.harmonia-badge--interactive:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(7, 4, 51, .1);
}

.harmonia-badge--interactive:active {
  box-shadow: none;
  transform: scale(.95);
}

.harmonia-badge--interactive:focus-visible {
  box-shadow: 0 0 0 4px var(--badge-focus-ring);
  outline: 3px solid var(--badge-popskills);
  outline-offset: 2px;
}

:root.dark .harmonia-badge, [data-theme="dark"] .harmonia-badge {
  --badge-popskills-bg: rgba(3, 157, 227, .2);
  --badge-poplingua-bg: rgba(46, 214, 197, .2);
  --badge-poptalent-bg: rgba(255, 90, 106, .2);
  --badge-popmentor-bg: rgba(246, 205, 1, .2);
  --badge-focus-ring: rgba(3, 157, 227, .3);
}

:root.dark .harmonia-badge--default, [data-theme="dark"] .harmonia-badge--default {
  background-color: var(--color-neutral-700);
  color: var(--color-neutral-200);
}

:root.dark .harmonia-badge--primary, [data-theme="dark"] .harmonia-badge--primary {
  color: var(--color-neutral-100);
  background-color: rgba(255, 255, 255, .1);
}

:root.dark .harmonia-badge--blue, :root.dark .harmonia-badge--popskills, [data-theme="dark"] .harmonia-badge--blue, [data-theme="dark"] .harmonia-badge--popskills {
  color: #5ec2f0;
}

:root.dark .harmonia-badge--poplingua, :root.dark .harmonia-badge--success, :root.dark .harmonia-badge--teal, :root.dark .harmonia-badge--turquoise, [data-theme="dark"] .harmonia-badge--poplingua, [data-theme="dark"] .harmonia-badge--success, [data-theme="dark"] .harmonia-badge--teal, [data-theme="dark"] .harmonia-badge--turquoise {
  color: #5ee8da;
}

:root.dark .harmonia-badge--coral, :root.dark .harmonia-badge--error, :root.dark .harmonia-badge--poptalent, :root.dark .harmonia-badge--red, [data-theme="dark"] .harmonia-badge--coral, [data-theme="dark"] .harmonia-badge--error, [data-theme="dark"] .harmonia-badge--poptalent, [data-theme="dark"] .harmonia-badge--red {
  color: #ff8a95;
}

:root.dark .harmonia-badge--plum, :root.dark .harmonia-badge--popmentor, :root.dark .harmonia-badge--warning, :root.dark .harmonia-badge--yellow, [data-theme="dark"] .harmonia-badge--plum, [data-theme="dark"] .harmonia-badge--popmentor, [data-theme="dark"] .harmonia-badge--warning, [data-theme="dark"] .harmonia-badge--yellow {
  color: #ffe066;
}

:root.dark .harmonia-badge--interactive:hover, [data-theme="dark"] .harmonia-badge--interactive:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
}

@media (min-width: 1024px) {
  .harmonia-badge--interactive:hover {
    filter: brightness(1.05);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-badge {
    transition: none;
  }

  .harmonia-badge--interactive:active, .harmonia-badge--interactive:hover {
    transform: none;
  }
}

.harmonia-progress-bar {
  align-items: center;
  gap: var(--spacing-3);
  width: 100%;
  display: flex;
}

.harmonia-progress-bar__track {
  background-color: var(--color-neutral-200);
  border-radius: var(--radius-full);
  flex: 1;
  overflow: hidden;
}

.harmonia-progress-bar--sm .harmonia-progress-bar__track {
  height: 4px;
}

.harmonia-progress-bar--md .harmonia-progress-bar__track {
  height: 8px;
}

.harmonia-progress-bar--lg .harmonia-progress-bar__track {
  height: 12px;
}

.harmonia-progress-bar__fill {
  border-radius: var(--radius-full);
  height: 100%;
  transition: background-color var(--duration-fast) var(--easing-ease);
}

.harmonia-progress-bar__fill--primary {
  background: linear-gradient(90deg, var(--color-primary-500) 0, var(--color-primary-400) 100%);
}

.harmonia-progress-bar__fill--success {
  background: linear-gradient(90deg, var(--color-success-500) 0, var(--color-success-400) 100%);
}

.harmonia-progress-bar__fill--warning {
  background: linear-gradient(90deg, var(--color-warning-500) 0, var(--color-warning-400) 100%);
}

.harmonia-progress-bar__fill--error {
  background: linear-gradient(90deg, var(--color-error-500) 0, var(--color-error-400) 100%);
}

.harmonia-progress-bar__fill--theory-cognitive-load {
  background: linear-gradient(90deg, var(--color-theory-cognitive-load) 0, #8b9cf5 100%);
}

.harmonia-progress-bar__fill--theory-action {
  background: linear-gradient(90deg, var(--color-theory-action) 0, #34d399 100%);
}

.harmonia-progress-bar__fill--theory-reflection {
  background: linear-gradient(90deg, var(--color-theory-reflection) 0, #a78bfa 100%);
}

.harmonia-progress-bar__fill--theory-celebration {
  background: linear-gradient(90deg, var(--color-theory-celebration) 0, #fbbf24 100%);
}

.harmonia-progress-bar__fill--striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, .15) 0, rgba(255, 255, 255, .15) 75%, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0));
  background-size: 1rem 1rem;
  animation: 1s linear infinite harmonia-progress-stripes;
}

@keyframes harmonia-progress-stripes {
  0% {
    background-position: 1rem 0;
  }

  to {
    background-position: 0 0;
  }
}

.harmonia-progress-bar__label {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  text-align: right;
  flex-shrink: 0;
  min-width: 3rem;
}

.harmonia-progress-bar--lg .harmonia-progress-bar__label {
  font-size: var(--font-size-base);
}

.harmonia-modal__backdrop {
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity var(--duration-normal) var(--easing-ease), visibility var(--duration-normal) var(--easing-ease);
  visibility: hidden;
  z-index: var(--z-modal);
  background-color: rgba(0, 0, 0, .5);
  justify-content: center;
  align-items: flex-end;
  padding: 0;
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-modal__backdrop--open {
  opacity: 1;
  visibility: visible;
}

.harmonia-modal {
  background-color: var(--color-background-primary);
  border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
  box-shadow: var(--elevation-5);
  max-height: 90vh;
  max-height: 90dvh;
  padding-bottom: var(--safe-area-bottom);
  transition: transform var(--duration-slow) var(--easing-spring);
  flex-direction: column;
  width: 100%;
  display: flex;
  position: relative;
  transform: translateY(100%);
}

.harmonia-modal__backdrop--open .harmonia-modal {
  transform: translateY(0);
}

.harmonia-modal__drag-handle {
  cursor: grab;
  padding: var(--spacing-3) 0;
  touch-action: none;
  justify-content: center;
  display: flex;
}

.harmonia-modal__drag-handle:before {
  background-color: var(--color-neutral-300);
  border-radius: var(--radius-full);
  content: "";
  width: 36px;
  height: 4px;
}

.harmonia-modal__drag-handle:active {
  cursor: grabbing;
}

.harmonia-modal__drag-handle:active:before {
  background-color: var(--color-neutral-400);
}

.harmonia-modal__header {
  border-bottom: 1px solid var(--color-border-light);
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-4);
  flex-shrink: 0;
  justify-content: space-between;
  display: flex;
}

.harmonia-modal__title {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  flex: 1;
  min-width: 0;
  margin: 0;
}

.harmonia-modal__close {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  cursor: pointer;
  height: 44px;
  margin: calc(var(--spacing-2) * -1);
  padding: var(--spacing-2);
  touch-action: manipulation;
  transition: background-color var(--duration-fast) var(--easing-ease), color var(--duration-fast) var(--easing-ease);
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 44px;
  display: flex;
}

.harmonia-modal__close:active {
  background-color: var(--color-neutral-100);
  color: var(--color-text-primary);
}

.harmonia-modal__close:focus-visible {
  outline: 3px solid var(--color-secondary-500);
  outline-offset: 2px;
}

.harmonia-modal__close-icon {
  width: 24px;
  height: 24px;
}

.harmonia-modal__body {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: var(--spacing-4);
  flex: 1;
  overflow-y: auto;
}

.harmonia-modal__footer {
  border-top: 1px solid var(--color-border-light);
  gap: var(--spacing-3);
  padding: var(--spacing-4);
  flex-direction: column;
  flex-shrink: 0;
  display: flex;
}

.harmonia-modal__footer .harmonia-button {
  width: 100%;
}

.harmonia-modal--sm {
  max-height: 60vh;
  max-height: 60dvh;
}

.harmonia-modal--lg {
  max-height: 95vh;
  max-height: 95dvh;
}

.harmonia-modal--fullscreen {
  max-height: 100vh;
  border-radius: 0;
  max-height: 100dvh;
}

.harmonia-modal--fullscreen .harmonia-modal__drag-handle {
  display: none;
}

:root.dark .harmonia-modal__backdrop, [data-theme="dark"] .harmonia-modal__backdrop {
  background-color: rgba(0, 0, 0, .7);
}

:root.dark .harmonia-modal, [data-theme="dark"] .harmonia-modal {
  background-color: var(--surface-2, var(--elevation-2-bg));
  box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
}

:root.dark .harmonia-modal__drag-handle:before, [data-theme="dark"] .harmonia-modal__drag-handle:before {
  background-color: var(--color-neutral-600);
}

:root.dark .harmonia-modal__footer, :root.dark .harmonia-modal__header, [data-theme="dark"] .harmonia-modal__footer, [data-theme="dark"] .harmonia-modal__header {
  border-color: var(--color-border-light);
}

:root.dark .harmonia-modal__close:active, [data-theme="dark"] .harmonia-modal__close:active {
  background-color: var(--color-neutral-700);
}

@media (min-width: 768px) {
  .harmonia-modal__backdrop {
    padding: var(--spacing-6);
    align-items: center;
  }

  .harmonia-modal {
    border-radius: var(--radius-2xl);
    opacity: 0;
    min-width: 400px;
    max-width: 560px;
    max-height: 80vh;
    transition: transform var(--duration-slow) var(--easing-spring), opacity var(--duration-normal) var(--easing-ease);
    width: auto;
    transform: scale(.95)translateY(20px);
  }

  .harmonia-modal__backdrop--open .harmonia-modal {
    opacity: 1;
    transform: scale(1)translateY(0);
  }

  .harmonia-modal__drag-handle {
    display: none;
  }

  .harmonia-modal--sm {
    min-width: 320px;
    max-width: 400px;
  }

  .harmonia-modal--lg {
    max-width: 720px;
  }

  .harmonia-modal--fullscreen {
    border-radius: var(--radius-xl);
    height: calc(100% - var(--spacing-8));
    min-width: auto;
    max-width: none;
    max-height: none;
    width: calc(100% - var(--spacing-8));
  }

  .harmonia-modal__footer {
    flex-direction: row;
    justify-content: flex-end;
  }

  .harmonia-modal__footer .harmonia-button {
    width: auto;
  }
}

@media (min-width: 1024px) {
  .harmonia-modal {
    max-width: 640px;
  }

  .harmonia-modal--lg {
    max-width: 800px;
  }

  .harmonia-modal__header {
    padding: var(--spacing-5);
  }

  .harmonia-modal__body {
    padding: var(--spacing-6);
  }

  .harmonia-modal__footer {
    padding: var(--spacing-5);
  }

  .harmonia-modal__title {
    font-size: var(--font-size-xl);
  }

  .harmonia-modal__close:hover {
    background-color: var(--color-neutral-100);
    color: var(--color-text-primary);
  }

  :root.dark .harmonia-modal__close:hover, [data-theme="dark"] .harmonia-modal__close:hover {
    background-color: var(--color-neutral-700);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-modal, .harmonia-modal__backdrop {
    transition: opacity var(--duration-fast) var(--easing-ease);
  }

  .harmonia-modal, .harmonia-modal__backdrop--open .harmonia-modal {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-modal {
    border: 2px solid var(--color-border-strong);
  }

  .harmonia-modal__close:focus-visible {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

.harmonia-toast-container {
  gap: var(--spacing-2);
  padding: var(--spacing-4);
  padding-bottom: calc(var(--spacing-4)  + var(--safe-area-bottom));
  pointer-events: none;
  z-index: var(--z-toast);
  flex-direction: column;
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-toast {
  background-color: var(--color-pop-dark-500, #070433);
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-4);
  color: var(--color-text-inverse);
  align-items: flex-start;
  gap: var(--spacing-3);
  opacity: 0;
  min-height: 56px;
  padding: var(--spacing-4);
  pointer-events: auto;
  transition: transform var(--duration-slow) var(--easing-spring), opacity var(--duration-normal) var(--easing-ease);
  width: 100%;
  display: flex;
  transform: translateY(100%);
}

.harmonia-toast--visible {
  opacity: 1;
  transform: translateY(0);
}

.harmonia-toast--exiting {
  opacity: 0;
  transform: translateY(100%);
}

.harmonia-toast--success {
  background-color: var(--color-poplingua-600, #22b5a7);
}

.harmonia-toast--error {
  background-color: var(--color-poptalent-600, #eb4357);
}

.harmonia-toast--warning {
  background-color: var(--color-popmentor-500, #f6cd01);
  color: var(--color-pop-dark-500, #070433);
}

.harmonia-toast--info, .harmonia-toast--popskills {
  background-color: var(--color-popskills-600, #0289c6);
}

.harmonia-toast--poplingua {
  background-color: var(--color-poplingua-600, #22b5a7);
}

.harmonia-toast--poptalent {
  background-color: var(--color-poptalent-600, #eb4357);
}

.harmonia-toast--popmentor {
  background-color: var(--color-popmentor-500, #f6cd01);
  color: var(--color-pop-dark-500, #070433);
}

.harmonia-toast--turquoise {
  background-color: var(--color-poplingua-600, #22b5a7);
}

.harmonia-toast--coral {
  background-color: var(--color-poptalent-600, #eb4357);
}

.harmonia-toast--plum {
  background-color: var(--color-popmentor-500, #f6cd01);
  color: var(--color-pop-dark-500, #070433);
}

.harmonia-toast__icon {
  color: currentColor;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.harmonia-toast__content {
  flex: 1;
  min-width: 0;
}

.harmonia-toast__title {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  margin: 0 0 var(--spacing-1);
}

.harmonia-toast__message {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  opacity: .9;
  margin: 0;
}

.harmonia-toast__close {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: var(--radius-full);
  color: currentColor;
  cursor: pointer;
  height: 44px;
  margin: calc(var(--spacing-2) * -1);
  opacity: .7;
  padding: var(--spacing-2);
  touch-action: manipulation;
  transition: opacity var(--duration-fast) var(--easing-ease);
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 44px;
  display: flex;
}

.harmonia-toast__close:active {
  opacity: 1;
  background-color: rgba(255, 255, 255, .1);
}

.harmonia-toast__close:focus-visible {
  opacity: 1;
  outline-offset: 2px;
  outline: 2px solid;
}

.harmonia-toast__close-icon {
  width: 20px;
  height: 20px;
}

.harmonia-toast--popmentor .harmonia-toast__close:active, .harmonia-toast--warning .harmonia-toast__close:active {
  background-color: rgba(7, 4, 51, .1);
}

.harmonia-toast__actions {
  gap: var(--spacing-2);
  margin-top: var(--spacing-3);
  display: flex;
}

.harmonia-toast__action {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: var(--radius-sm);
  color: currentColor;
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  min-height: 36px;
  padding: var(--spacing-2) var(--spacing-3);
  touch-action: manipulation;
  transition: background-color var(--duration-fast) var(--easing-ease);
  background: rgba(255, 255, 255, .15);
  border: none;
}

.harmonia-toast__action:active {
  background-color: rgba(255, 255, 255, .25);
}

.harmonia-toast__action--primary {
  color: var(--color-pop-dark-500, #070433);
  background-color: rgba(255, 255, 255, .95);
}

.harmonia-toast__action--primary:active {
  background-color: rgba(255, 255, 255, .85);
}

.harmonia-toast--popmentor .harmonia-toast__action, .harmonia-toast--warning .harmonia-toast__action {
  background: rgba(7, 4, 51, .1);
}

.harmonia-toast--popmentor .harmonia-toast__action:active, .harmonia-toast--warning .harmonia-toast__action:active {
  background-color: rgba(7, 4, 51, .2);
}

.harmonia-toast--popmentor .harmonia-toast__action--primary, .harmonia-toast--warning .harmonia-toast__action--primary {
  background-color: var(--color-pop-dark-500, #070433);
  color: var(--color-popmentor-500, #f6cd01);
}

.harmonia-toast__progress {
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  background-color: rgba(255, 255, 255, .2);
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.harmonia-toast__progress-bar {
  transform-origin: 0;
  background-color: rgba(255, 255, 255, .5);
  height: 100%;
  animation: linear forwards harmonia-toast-progress;
}

.harmonia-toast--popmentor .harmonia-toast__progress, .harmonia-toast--warning .harmonia-toast__progress {
  background-color: rgba(7, 4, 51, .1);
}

.harmonia-toast--popmentor .harmonia-toast__progress-bar, .harmonia-toast--warning .harmonia-toast__progress-bar {
  background-color: rgba(7, 4, 51, .3);
}

@keyframes harmonia-toast-progress {
  0% {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}

@media (min-width: 768px) {
  .harmonia-toast-container {
    max-width: 400px;
    bottom: auto;
    left: auto;
    right: var(--spacing-6);
    top: var(--spacing-6);
    padding: 0;
  }

  .harmonia-toast {
    transform: translateX(100%);
  }

  .harmonia-toast--visible {
    transform: translateX(0);
  }

  .harmonia-toast--exiting {
    transform: translateX(100%);
  }

  .harmonia-toast-container--bottom-left {
    bottom: var(--spacing-6);
    left: var(--spacing-6);
    top: auto;
    right: auto;
  }

  .harmonia-toast-container--bottom-left .harmonia-toast {
    transform: translateX(-100%);
  }

  .harmonia-toast-container--bottom-left .harmonia-toast--visible {
    transform: translateX(0);
  }

  .harmonia-toast-container--bottom-left .harmonia-toast--exiting {
    transform: translateX(-100%);
  }
}

@media (min-width: 1024px) {
  .harmonia-toast__close {
    height: 32px;
    margin: calc(var(--spacing-1) * -1);
    padding: var(--spacing-1);
    width: 32px;
  }

  .harmonia-toast__close:hover {
    opacity: 1;
    background-color: rgba(255, 255, 255, .1);
  }

  .harmonia-toast--popmentor .harmonia-toast__close:hover, .harmonia-toast--warning .harmonia-toast__close:hover {
    background-color: rgba(7, 4, 51, .1);
  }

  .harmonia-toast__action:hover {
    background-color: rgba(255, 255, 255, .25);
  }

  .harmonia-toast__action--primary:hover {
    background-color: rgba(255, 255, 255, .85);
  }

  .harmonia-toast--popmentor .harmonia-toast__action:hover, .harmonia-toast--warning .harmonia-toast__action:hover {
    background-color: rgba(7, 4, 51, .2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-toast {
    transition: opacity var(--duration-fast) var(--easing-ease);
    transform: none;
  }

  .harmonia-toast--exiting, .harmonia-toast--visible {
    transform: none;
  }

  .harmonia-toast__progress-bar {
    animation: none;
    transform: scaleX(0);
  }
}

.harmonia-slider-wrapper {
  --slider-color-primary: #039de3;
  --slider-color-primary-hover: #0284c7;
  --slider-color-focus-ring: rgba(3, 157, 227, .2);
  --slider-color-success: #2ed6c5;
  --slider-color-warning: #f6cd01;
  --slider-color-error: #ff5a6a;
  --slider-touch-target: 48px;
  --slider-thumb-size: 28px;
  --slider-track-height: 8px;
  --slider-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --slider-transition-fast: .15s ease-out;
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-slider__header {
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.harmonia-slider__label {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
}

.harmonia-slider__label, .harmonia-slider__value {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
}

.harmonia-slider__value {
  color: var(--slider-color-primary);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
}

.harmonia-slider-container {
  align-items: center;
  gap: var(--spacing-3);
  display: flex;
}

.harmonia-slider__max-label, .harmonia-slider__min-label {
  color: var(--color-text-tertiary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  flex-shrink: 0;
  min-width: 2rem;
}

.harmonia-slider__min-label {
  text-align: right;
}

.harmonia-slider__max-label {
  text-align: left;
}

.harmonia-slider__track-wrapper {
  height: var(--slider-touch-target);
  flex: 1;
  align-items: center;
  display: flex;
  position: relative;
}

.harmonia-slider__track {
  background-color: var(--color-neutral-200);
  border-radius: var(--radius-full);
  height: var(--slider-track-height);
  transition: background-color var(--slider-transition-fast);
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
}

.harmonia-slider__track-wrapper:hover .harmonia-slider__track {
  background-color: var(--color-neutral-300);
}

.harmonia-slider__fill {
  border-radius: var(--radius-full);
  height: 100%;
  transition: background-color var(--slider-transition-fast);
}

.harmonia-slider__fill--primary {
  background-color: var(--slider-color-primary);
}

.harmonia-slider__fill--success {
  background-color: var(--slider-color-success);
}

.harmonia-slider__fill--warning {
  background-color: var(--slider-color-warning);
}

.harmonia-slider__fill--error {
  background-color: var(--slider-color-error);
}

.harmonia-slider__input {
  cursor: pointer;
  opacity: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  left: 0;
  right: 0;
}

.harmonia-slider__input:disabled {
  cursor: not-allowed;
}

.harmonia-slider__thumb {
  border: 3px solid var(--slider-color-primary);
  border-radius: var(--radius-full);
  height: var(--slider-thumb-size);
  pointer-events: none;
  transition: box-shadow var(--slider-transition), border-color var(--slider-transition-fast), transform var(--slider-transition);
  width: var(--slider-thumb-size);
  z-index: 1;
  background-color: #fff;
  position: absolute;
  transform: translateX(-50%);
  box-shadow: 0 2px 8px rgba(7, 4, 51, .12);
}

.harmonia-slider__input:hover ~ .harmonia-slider__thumb {
  transform: translateX(-50%)translateY(-2px);
  box-shadow: 0 6px 16px rgba(7, 4, 51, .15);
}

.harmonia-slider__input:focus-visible ~ .harmonia-slider__thumb {
  box-shadow: 0 0 0 4px var(--slider-color-focus-ring), 0 4px 12px rgba(7, 4, 51, .12);
  transform: translateX(-50%)scale(1.1);
}

.harmonia-slider__input:active ~ .harmonia-slider__thumb {
  transform: translateX(-50%)scale(.95);
}

.harmonia-slider__thumb--primary {
  border-color: var(--slider-color-primary);
}

.harmonia-slider__thumb--success {
  border-color: var(--slider-color-success);
}

.harmonia-slider__thumb--warning {
  border-color: var(--slider-color-warning);
}

.harmonia-slider__thumb--error {
  border-color: var(--slider-color-error);
}

.harmonia-slider__thumb-value {
  background-color: var(--color-navy-900, #070433);
  border-radius: var(--radius-md);
  color: #fff;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  padding: var(--spacing-1) var(--spacing-2);
  white-space: nowrap;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
}

.harmonia-slider__thumb-value:after {
  border: 4px solid rgba(0, 0, 0, 0);
  border-top: 4px solid var(--color-navy-900, #070433);
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.harmonia-slider__ticks {
  position: absolute;
  top: calc(50% + 16px);
  left: 0;
  right: 0;
}

.harmonia-slider__tick {
  align-items: center;
  gap: var(--spacing-1);
  flex-direction: column;
  display: flex;
  position: absolute;
  transform: translateX(-50%);
}

.harmonia-slider__tick-mark {
  background-color: var(--color-neutral-300);
  border-radius: var(--radius-sm);
  height: 8px;
  transition: background-color var(--slider-transition-fast);
  width: 2px;
}

.harmonia-slider__tick--active .harmonia-slider__tick-mark {
  background-color: var(--slider-color-primary);
}

.harmonia-slider__tick-label {
  color: var(--color-text-tertiary);
}

.harmonia-slider__helper, .harmonia-slider__tick-label {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
}

.harmonia-slider__helper {
  color: var(--color-text-secondary);
  line-height: var(--line-height-normal);
  margin: 0;
}

.harmonia-slider-wrapper--sm {
  --slider-touch-target: 44px;
  --slider-thumb-size: 24px;
  --slider-track-height: 6px;
}

.harmonia-slider-wrapper--lg {
  --slider-touch-target: 56px;
  --slider-thumb-size: 32px;
  --slider-track-height: 10px;
}

.harmonia-slider__input:disabled ~ .harmonia-slider__thumb {
  background-color: var(--color-neutral-100);
  border-color: var(--color-neutral-300);
  box-shadow: none;
  transform: translateX(-50%);
}

.harmonia-slider__input:disabled ~ .harmonia-slider__thumb:hover {
  box-shadow: none;
  transform: translateX(-50%);
}

.harmonia-slider__input:disabled ~ .harmonia-slider__track .harmonia-slider__fill {
  background-color: var(--color-neutral-300);
}

.harmonia-slider-wrapper:has(.harmonia-slider__input:disabled) {
  opacity: .5;
}

.harmonia-slider__input:focus-visible ~ .harmonia-slider__thumb {
  outline: 3px solid var(--slider-color-primary);
  outline-offset: 2px;
}

@media (prefers-contrast: high) {
  .harmonia-slider__thumb {
    border-width: 4px;
  }

  .harmonia-slider__input:focus-visible ~ .harmonia-slider__thumb {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

:root.dark .harmonia-slider-wrapper, [data-theme="dark"] .harmonia-slider-wrapper {
  --slider-color-focus-ring: rgba(3, 157, 227, .3);
}

:root.dark .harmonia-slider__track, [data-theme="dark"] .harmonia-slider__track {
  background-color: var(--color-neutral-700);
}

:root.dark .harmonia-slider__track-wrapper:hover .harmonia-slider__track, [data-theme="dark"] .harmonia-slider__track-wrapper:hover .harmonia-slider__track {
  background-color: var(--color-neutral-600);
}

:root.dark .harmonia-slider__thumb, [data-theme="dark"] .harmonia-slider__thumb {
  background-color: var(--surface-1, var(--elevation-1-bg));
  box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-slider__input:hover ~ .harmonia-slider__thumb, [data-theme="dark"] .harmonia-slider__input:hover ~ .harmonia-slider__thumb {
  box-shadow: 0 6px 16px rgba(0, 0, 0, .4);
}

:root.dark .harmonia-slider__tick-mark, [data-theme="dark"] .harmonia-slider__tick-mark {
  background-color: var(--color-neutral-600);
}

:root.dark .harmonia-slider__input:disabled ~ .harmonia-slider__thumb, [data-theme="dark"] .harmonia-slider__input:disabled ~ .harmonia-slider__thumb {
  background-color: var(--surface-base, var(--color-background-tertiary));
}

@media (min-width: 768px) {
  .harmonia-slider-wrapper {
    --slider-touch-target: 44px;
    --slider-thumb-size: 24px;
    --slider-track-height: 6px;
  }

  .harmonia-slider-wrapper--sm {
    --slider-touch-target: 40px;
    --slider-thumb-size: 20px;
    --slider-track-height: 4px;
  }

  .harmonia-slider-wrapper--lg {
    --slider-touch-target: 52px;
    --slider-thumb-size: 28px;
    --slider-track-height: 8px;
  }
}

@media (min-width: 1024px) {
  .harmonia-slider-wrapper {
    --slider-touch-target: 40px;
    --slider-thumb-size: 20px;
    --slider-track-height: 6px;
  }

  .harmonia-slider-wrapper--sm {
    --slider-touch-target: 36px;
    --slider-thumb-size: 16px;
    --slider-track-height: 4px;
  }

  .harmonia-slider-wrapper--lg {
    --slider-touch-target: 48px;
    --slider-thumb-size: 24px;
    --slider-track-height: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-slider__fill, .harmonia-slider__thumb, .harmonia-slider__tick-mark, .harmonia-slider__track {
    transition: none;
  }

  .harmonia-slider__input:active ~ .harmonia-slider__thumb, .harmonia-slider__input:hover ~ .harmonia-slider__thumb {
    transform: translateX(-50%);
  }

  .harmonia-slider__input:focus-visible ~ .harmonia-slider__thumb {
    transform: translateX(-50%);
  }
}

.harmonia-tooltip-wrapper {
  --tooltip-background: #070433;
  --tooltip-text: #fff;
  --tooltip-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --tooltip-transition-fast: .15s ease-out;
  display: inline-flex;
  position: relative;
}

.harmonia-tooltip-trigger {
  display: inline-flex;
}

.harmonia-tooltip {
  word-wrap: break-word;
  background-color: var(--tooltip-background);
  border-radius: var(--radius-lg);
  color: var(--tooltip-text);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  opacity: 0;
  max-width: 280px;
  padding: var(--spacing-2) var(--spacing-3);
  pointer-events: none;
  transform-origin: center;
  transition: opacity var(--tooltip-transition-fast), transform var(--tooltip-transition);
  white-space: normal;
  z-index: var(--z-index-tooltip, 9999);
  position: absolute;
  box-shadow: 0 4px 16px rgba(7, 4, 51, .2);
}

.harmonia-tooltip--visible {
  opacity: 1;
}

.harmonia-tooltip--top {
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%)translateY(4px);
}

.harmonia-tooltip--top.harmonia-tooltip--visible {
  transform: translateX(-50%)translateY(0);
}

.harmonia-tooltip--bottom {
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%)translateY(-4px);
}

.harmonia-tooltip--bottom.harmonia-tooltip--visible {
  transform: translateX(-50%)translateY(0);
}

.harmonia-tooltip--left {
  top: 50%;
  right: calc(100% + 8px);
  transform: translateY(-50%)translateX(4px);
}

.harmonia-tooltip--left.harmonia-tooltip--visible {
  transform: translateY(-50%)translateX(0);
}

.harmonia-tooltip--right {
  top: 50%;
  left: calc(100% + 8px);
  transform: translateY(-50%)translateX(-4px);
}

.harmonia-tooltip--right.harmonia-tooltip--visible {
  transform: translateY(-50%)translateX(0);
}

.harmonia-tooltip__arrow {
  border: 6px solid rgba(0, 0, 0, 0);
  width: 0;
  height: 0;
  position: absolute;
}

.harmonia-tooltip--top .harmonia-tooltip__arrow {
  border-top-color: var(--tooltip-background);
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
}

.harmonia-tooltip--bottom .harmonia-tooltip__arrow {
  border-bottom-color: var(--tooltip-background);
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
}

.harmonia-tooltip--left .harmonia-tooltip__arrow {
  border-left-color: var(--tooltip-background);
  top: 50%;
  right: -12px;
  transform: translateY(-50%);
}

.harmonia-tooltip--right .harmonia-tooltip__arrow {
  border-right-color: var(--tooltip-background);
  top: 50%;
  left: -12px;
  transform: translateY(-50%);
}

:root.dark .harmonia-tooltip-wrapper, [data-theme="dark"] .harmonia-tooltip-wrapper {
  --tooltip-background: #1f2937;
}

:root.dark .harmonia-tooltip, [data-theme="dark"] .harmonia-tooltip {
  box-shadow: 0 4px 16px rgba(0, 0, 0, .4);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-tooltip {
    transition: opacity var(--tooltip-transition-fast);
  }

  .harmonia-tooltip--bottom, .harmonia-tooltip--left, .harmonia-tooltip--right, .harmonia-tooltip--top {
    transform: translateX(-50%)translateY(0);
  }

  .harmonia-tooltip--left, .harmonia-tooltip--right {
    transform: translateY(-50%)translateX(0);
  }
}

.harmonia-checkbox-wrapper {
  --checkbox-color-checked: #039de3;
  --checkbox-color-checked-hover: #0284c7;
  --checkbox-color-focus-ring: rgba(3, 157, 227, .2);
  --checkbox-color-error: #ff5a6a;
  --checkbox-color-error-ring: rgba(255, 90, 106, .15);
  --checkbox-touch-target: 48px;
  --checkbox-box-size: 24px;
  --checkbox-icon-size: 16px;
  --checkbox-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --checkbox-transition-fast: .15s ease-out;
  gap: var(--spacing-1);
  flex-direction: column;
  display: flex;
}

.harmonia-checkbox {
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-3);
  min-height: var(--checkbox-touch-target);
  padding: calc((var(--checkbox-touch-target)  - var(--checkbox-box-size)) / 2) 0;
  display: inline-flex;
}

.harmonia-checkbox-wrapper--disabled .harmonia-checkbox {
  cursor: not-allowed;
  opacity: .5;
}

.harmonia-checkbox__input {
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
}

.harmonia-checkbox__box {
  background-color: var(--color-background-primary);
  border: 2px solid var(--color-border-default);
  border-radius: var(--radius-md);
  height: var(--checkbox-box-size);
  transition: background-color var(--checkbox-transition-fast), border-color var(--checkbox-transition-fast), box-shadow var(--checkbox-transition), transform var(--checkbox-transition);
  width: var(--checkbox-box-size);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-checkbox__box svg {
  color: #fff;
  height: var(--checkbox-icon-size);
  width: var(--checkbox-icon-size);
}

.harmonia-checkbox:hover:not(.harmonia-checkbox--disabled) .harmonia-checkbox__box {
  border-color: var(--checkbox-color-checked);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(7, 4, 51, .08);
}

.harmonia-checkbox__input:focus-visible + .harmonia-checkbox__box {
  border-color: var(--checkbox-color-checked);
  box-shadow: 0 0 0 3px var(--checkbox-color-focus-ring);
  transform: scale(1.05);
}

.harmonia-checkbox__input:checked + .harmonia-checkbox__box {
  background-color: var(--checkbox-color-checked);
  border-color: var(--checkbox-color-checked);
}

.harmonia-checkbox__input:checked:hover + .harmonia-checkbox__box {
  background-color: var(--checkbox-color-checked-hover);
  border-color: var(--checkbox-color-checked-hover);
}

.harmonia-checkbox__input:indeterminate + .harmonia-checkbox__box {
  background-color: var(--checkbox-color-checked);
  border-color: var(--checkbox-color-checked);
}

.harmonia-checkbox-wrapper--error .harmonia-checkbox__box {
  border-color: var(--checkbox-color-error);
}

.harmonia-checkbox-wrapper--error .harmonia-checkbox__input:focus-visible + .harmonia-checkbox__box {
  box-shadow: 0 0 0 3px var(--checkbox-color-error-ring);
}

.harmonia-checkbox-wrapper--error .harmonia-checkbox__input:checked + .harmonia-checkbox__box {
  background-color: var(--checkbox-color-error);
  border-color: var(--checkbox-color-error);
}

.harmonia-checkbox__input:disabled + .harmonia-checkbox__box {
  background-color: var(--color-neutral-100);
  border-color: var(--color-neutral-300);
  transform: none;
}

.harmonia-checkbox__input:disabled:checked + .harmonia-checkbox__box {
  background-color: var(--color-neutral-400);
  border-color: var(--color-neutral-400);
}

.harmonia-checkbox__input:disabled + .harmonia-checkbox__box:hover {
  box-shadow: none;
  transform: none;
}

.harmonia-checkbox__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: 16px;
  line-height: var(--line-height-normal);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

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

.harmonia-checkbox__error, .harmonia-checkbox__helper {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
  margin: 0;
  margin-left: calc(var(--checkbox-box-size)  + var(--spacing-3));
}

.harmonia-checkbox__error {
  color: var(--checkbox-color-error);
  align-items: center;
  gap: var(--spacing-1);
  animation: .2s ease-out forwards checkbox-fade-slide-in;
  display: flex;
}

@keyframes checkbox-fade-slide-in {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.harmonia-checkbox-wrapper--sm {
  --checkbox-touch-target: 44px;
  --checkbox-box-size: 20px;
  --checkbox-icon-size: 14px;
}

.harmonia-checkbox-wrapper--sm .harmonia-checkbox__label {
  font-size: var(--font-size-sm);
}

.harmonia-checkbox-wrapper--lg {
  --checkbox-touch-target: 56px;
  --checkbox-box-size: 28px;
  --checkbox-icon-size: 18px;
}

.harmonia-checkbox-wrapper--lg .harmonia-checkbox__label {
  font-size: var(--font-size-lg);
}

.harmonia-checkbox-group {
  border: none;
  margin: 0;
  padding: 0;
}

.harmonia-checkbox-group__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-3);
  display: block;
}

.harmonia-checkbox-group__options {
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-checkbox-group--vertical .harmonia-checkbox-group__options {
  flex-direction: column;
}

.harmonia-checkbox-group--horizontal .harmonia-checkbox-group__options {
  gap: var(--spacing-4);
  flex-flow: wrap;
}

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

.harmonia-checkbox-group__error, .harmonia-checkbox-group__helper {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  margin: var(--spacing-2) 0 0;
}

.harmonia-checkbox-group__error {
  color: var(--checkbox-color-error);
}

.harmonia-checkbox__input:focus-visible + .harmonia-checkbox__box {
  outline: 3px solid var(--checkbox-color-checked);
  outline-offset: 2px;
}

@media (prefers-contrast: high) {
  .harmonia-checkbox__box {
    border-width: 3px;
  }

  .harmonia-checkbox__input:focus-visible + .harmonia-checkbox__box {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

:root.dark .harmonia-checkbox-wrapper, [data-theme="dark"] .harmonia-checkbox-wrapper {
  --checkbox-color-focus-ring: rgba(3, 157, 227, .3);
  --checkbox-color-error-ring: rgba(255, 90, 106, .25);
}

:root.dark .harmonia-checkbox__box, [data-theme="dark"] .harmonia-checkbox__box {
  background-color: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
}

:root.dark .harmonia-checkbox:hover:not(.harmonia-checkbox--disabled) .harmonia-checkbox__box, [data-theme="dark"] .harmonia-checkbox:hover:not(.harmonia-checkbox--disabled) .harmonia-checkbox__box {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

:root.dark .harmonia-checkbox__input:disabled + .harmonia-checkbox__box, [data-theme="dark"] .harmonia-checkbox__input:disabled + .harmonia-checkbox__box {
  background-color: var(--surface-base, var(--color-background-tertiary));
}

@media (min-width: 768px) {
  .harmonia-checkbox-wrapper {
    --checkbox-touch-target: 44px;
    --checkbox-box-size: 22px;
    --checkbox-icon-size: 14px;
  }

  .harmonia-checkbox-wrapper--sm {
    --checkbox-touch-target: 40px;
    --checkbox-box-size: 18px;
    --checkbox-icon-size: 12px;
  }

  .harmonia-checkbox-wrapper--lg {
    --checkbox-touch-target: 52px;
    --checkbox-box-size: 26px;
    --checkbox-icon-size: 16px;
  }
}

@media (min-width: 1024px) {
  .harmonia-checkbox-wrapper {
    --checkbox-touch-target: 40px;
    --checkbox-box-size: 20px;
    --checkbox-icon-size: 14px;
  }

  .harmonia-checkbox__label {
    font-size: var(--font-size-base);
  }

  .harmonia-checkbox-wrapper--sm {
    --checkbox-touch-target: 36px;
    --checkbox-box-size: 16px;
    --checkbox-icon-size: 10px;
  }

  .harmonia-checkbox-wrapper--lg {
    --checkbox-touch-target: 48px;
    --checkbox-box-size: 24px;
    --checkbox-icon-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-checkbox__box {
    transition: none;
  }

  .harmonia-checkbox:hover:not(.harmonia-checkbox--disabled) .harmonia-checkbox__box {
    transform: none;
  }

  .harmonia-checkbox__input:focus-visible + .harmonia-checkbox__box {
    transform: none;
  }

  .harmonia-checkbox__error {
    animation: none;
  }
}

.harmonia-radio-wrapper {
  --radio-color-selected: #039de3;
  --radio-color-selected-hover: #0284c7;
  --radio-color-focus-ring: rgba(3, 157, 227, .2);
  --radio-color-error: #ff5a6a;
  --radio-color-error-ring: rgba(255, 90, 106, .15);
  --radio-touch-target: 48px;
  --radio-circle-size: 24px;
  --radio-dot-size: 10px;
  --radio-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --radio-transition-fast: .15s ease-out;
  gap: var(--spacing-1);
  flex-direction: column;
  display: flex;
}

.harmonia-radio {
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-3);
  min-height: var(--radio-touch-target);
  padding: calc((var(--radio-touch-target)  - var(--radio-circle-size)) / 2) 0;
  display: inline-flex;
}

.harmonia-radio-wrapper--disabled .harmonia-radio {
  cursor: not-allowed;
  opacity: .5;
}

.harmonia-radio__input {
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
}

.harmonia-radio__circle {
  background-color: var(--color-background-primary);
  border: 2px solid var(--color-border-default);
  border-radius: var(--radius-full);
  height: var(--radio-circle-size);
  transition: background-color var(--radio-transition-fast), border-color var(--radio-transition-fast), box-shadow var(--radio-transition), transform var(--radio-transition);
  width: var(--radio-circle-size);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-radio__dot {
  border-radius: var(--radius-full);
  height: var(--radio-dot-size);
  width: var(--radio-dot-size);
  background-color: #fff;
}

.harmonia-radio:hover:not(.harmonia-radio--disabled) .harmonia-radio__circle {
  border-color: var(--radio-color-selected);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(7, 4, 51, .08);
}

.harmonia-radio__input:focus-visible + .harmonia-radio__circle {
  border-color: var(--radio-color-selected);
  box-shadow: 0 0 0 3px var(--radio-color-focus-ring);
  transform: scale(1.05);
}

.harmonia-radio__input:checked + .harmonia-radio__circle {
  background-color: var(--radio-color-selected);
  border-color: var(--radio-color-selected);
}

.harmonia-radio__input:checked:hover + .harmonia-radio__circle {
  background-color: var(--radio-color-selected-hover);
  border-color: var(--radio-color-selected-hover);
}

.harmonia-radio-wrapper--error .harmonia-radio__circle {
  border-color: var(--radio-color-error);
}

.harmonia-radio-wrapper--error .harmonia-radio__input:focus-visible + .harmonia-radio__circle {
  box-shadow: 0 0 0 3px var(--radio-color-error-ring);
}

.harmonia-radio-wrapper--error .harmonia-radio__input:checked + .harmonia-radio__circle {
  background-color: var(--radio-color-error);
  border-color: var(--radio-color-error);
}

.harmonia-radio__input:disabled + .harmonia-radio__circle {
  background-color: var(--color-neutral-100);
  border-color: var(--color-neutral-300);
  transform: none;
}

.harmonia-radio__input:disabled:checked + .harmonia-radio__circle {
  background-color: var(--color-neutral-400);
  border-color: var(--color-neutral-400);
}

.harmonia-radio__input:disabled + .harmonia-radio__circle:hover {
  box-shadow: none;
  transform: none;
}

.harmonia-radio__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: 16px;
  line-height: var(--line-height-normal);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

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

.harmonia-radio__error, .harmonia-radio__helper {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
  margin: 0;
  margin-left: calc(var(--radio-circle-size)  + var(--spacing-3));
}

.harmonia-radio__error {
  color: var(--radio-color-error);
  align-items: center;
  gap: var(--spacing-1);
  animation: .2s ease-out forwards radio-fade-slide-in;
  display: flex;
}

@keyframes radio-fade-slide-in {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.harmonia-radio-wrapper--sm {
  --radio-touch-target: 44px;
  --radio-circle-size: 20px;
  --radio-dot-size: 8px;
}

.harmonia-radio-wrapper--sm .harmonia-radio__label {
  font-size: var(--font-size-sm);
}

.harmonia-radio-wrapper--lg {
  --radio-touch-target: 56px;
  --radio-circle-size: 28px;
  --radio-dot-size: 12px;
}

.harmonia-radio-wrapper--lg .harmonia-radio__label {
  font-size: var(--font-size-lg);
}

.harmonia-radio-group {
  border: none;
  margin: 0;
  padding: 0;
}

.harmonia-radio-group__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-3);
  display: block;
}

.harmonia-radio-group__options {
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-radio-group--vertical .harmonia-radio-group__options {
  flex-direction: column;
}

.harmonia-radio-group--horizontal .harmonia-radio-group__options {
  gap: var(--spacing-4);
  flex-flow: wrap;
}

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

.harmonia-radio-group__error, .harmonia-radio-group__helper {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  margin: var(--spacing-2) 0 0;
}

.harmonia-radio-group__error {
  color: var(--radio-color-error);
  animation: .2s ease-out forwards radio-fade-slide-in;
}

.harmonia-radio__input:focus-visible + .harmonia-radio__circle {
  outline: 3px solid var(--radio-color-selected);
  outline-offset: 2px;
}

@media (prefers-contrast: high) {
  .harmonia-radio__circle {
    border-width: 3px;
  }

  .harmonia-radio__input:focus-visible + .harmonia-radio__circle {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

:root.dark .harmonia-radio-wrapper, [data-theme="dark"] .harmonia-radio-wrapper {
  --radio-color-focus-ring: rgba(3, 157, 227, .3);
  --radio-color-error-ring: rgba(255, 90, 106, .25);
}

:root.dark .harmonia-radio__circle, [data-theme="dark"] .harmonia-radio__circle {
  background-color: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
}

:root.dark .harmonia-radio:hover:not(.harmonia-radio--disabled) .harmonia-radio__circle, [data-theme="dark"] .harmonia-radio:hover:not(.harmonia-radio--disabled) .harmonia-radio__circle {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

:root.dark .harmonia-radio__input:disabled + .harmonia-radio__circle, [data-theme="dark"] .harmonia-radio__input:disabled + .harmonia-radio__circle {
  background-color: var(--surface-base, var(--color-background-tertiary));
}

@media (min-width: 768px) {
  .harmonia-radio-wrapper {
    --radio-touch-target: 44px;
    --radio-circle-size: 22px;
    --radio-dot-size: 9px;
  }

  .harmonia-radio-wrapper--sm {
    --radio-touch-target: 40px;
    --radio-circle-size: 18px;
    --radio-dot-size: 7px;
  }

  .harmonia-radio-wrapper--lg {
    --radio-touch-target: 52px;
    --radio-circle-size: 26px;
    --radio-dot-size: 11px;
  }
}

@media (min-width: 1024px) {
  .harmonia-radio-wrapper {
    --radio-touch-target: 40px;
    --radio-circle-size: 20px;
    --radio-dot-size: 8px;
  }

  .harmonia-radio__label {
    font-size: var(--font-size-base);
  }

  .harmonia-radio-wrapper--sm {
    --radio-touch-target: 36px;
    --radio-circle-size: 16px;
    --radio-dot-size: 6px;
  }

  .harmonia-radio-wrapper--lg {
    --radio-touch-target: 48px;
    --radio-circle-size: 24px;
    --radio-dot-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-radio__circle {
    transition: none;
  }

  .harmonia-radio:hover:not(.harmonia-radio--disabled) .harmonia-radio__circle {
    transform: none;
  }

  .harmonia-radio__input:focus-visible + .harmonia-radio__circle {
    transform: none;
  }

  .harmonia-radio-group__error, .harmonia-radio__error {
    animation: none;
  }
}

.harmonia-select-wrapper {
  --select-color-focus: #039de3;
  --select-color-focus-ring: rgba(3, 157, 227, .2);
  --select-color-success: #2ed6c5;
  --select-color-success-ring: rgba(46, 214, 197, .2);
  --select-color-success-bg: rgba(46, 214, 197, .05);
  --select-color-error: #ff5a6a;
  --select-color-error-ring: rgba(255, 90, 106, .15);
  --select-color-error-bg: rgba(255, 90, 106, .05);
  --select-height-sm: 44px;
  --select-height-md: 48px;
  --select-height-lg: 56px;
  --select-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --select-transition-fast: .15s ease-out;
  gap: var(--spacing-1-5);
  flex-direction: column;
  width: 100%;
  display: flex;
}

.harmonia-select__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
}

.harmonia-select__label--required:after {
  color: var(--select-color-error);
  content: " *";
}

.harmonia-select__container {
  align-items: center;
  width: 100%;
  display: inline-flex;
  position: relative;
}

.harmonia-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  background-color: var(--color-background-primary);
  border: none;
  border: 2px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: 16px;
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  min-height: var(--select-height-md);
  padding: var(--spacing-3) var(--spacing-10) var(--spacing-3) var(--spacing-4);
  transition: border-color var(--select-transition-fast), box-shadow var(--select-transition), background-color var(--select-transition-fast), transform var(--select-transition);
  outline: none;
  width: 100%;
}

.harmonia-select--with-left-icon {
  padding-left: calc(var(--spacing-4)  + 28px);
}

.harmonia-select:hover:not(:focus):not(:disabled) {
  border-color: var(--color-border-strong);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(7, 4, 51, .08);
}

.harmonia-select:focus {
  border-color: var(--select-color-focus);
  box-shadow: 0 0 0 3px var(--select-color-focus-ring);
  transform: scale(1.005);
}

.harmonia-select:disabled {
  background-color: var(--color-neutral-100);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}

.harmonia-select:disabled:hover {
  box-shadow: none;
  transform: none;
}

.harmonia-select__icon {
  color: var(--color-text-tertiary);
  pointer-events: none;
  height: 20px;
  transition: color var(--select-transition-fast), transform var(--select-transition);
  justify-content: center;
  align-items: center;
  width: 20px;
  display: flex;
  position: absolute;
}

.harmonia-select__icon--left {
  left: var(--spacing-4);
}

.harmonia-select__icon svg {
  width: 100%;
  height: 100%;
}

.harmonia-select__chevron {
  color: var(--color-text-tertiary);
  pointer-events: none;
  height: 20px;
  right: var(--spacing-4);
  transition: color var(--select-transition-fast), transform var(--select-transition);
  justify-content: center;
  align-items: center;
  width: 20px;
  display: flex;
  position: absolute;
}

.harmonia-select__chevron svg {
  width: 100%;
  height: 100%;
}

.harmonia-select:focus ~ .harmonia-select__chevron, .harmonia-select:focus ~ .harmonia-select__icon--left {
  color: var(--select-color-focus);
}

.harmonia-select:focus ~ .harmonia-select__chevron {
  transform: rotate(180deg);
}

.harmonia-select__helper {
  color: var(--color-text-secondary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
  margin: 0;
}

.harmonia-select__success {
  color: var(--select-color-success);
}

.harmonia-select__error, .harmonia-select__success {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  align-items: center;
  gap: var(--spacing-1);
  line-height: var(--line-height-normal);
  margin: 0;
  animation: .2s ease-out forwards select-fade-slide-in;
  display: flex;
}

.harmonia-select__error {
  color: var(--select-color-error);
}

@keyframes select-fade-slide-in {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.harmonia-select-wrapper--success .harmonia-select {
  background-color: var(--select-color-success-bg);
  border-color: var(--select-color-success);
}

.harmonia-select-wrapper--success .harmonia-select:focus {
  box-shadow: 0 0 0 3px var(--select-color-success-ring);
}

.harmonia-select-wrapper--success .harmonia-select__chevron, .harmonia-select-wrapper--success .harmonia-select__icon--left {
  color: var(--select-color-success);
}

.harmonia-select-wrapper--error .harmonia-select {
  background-color: var(--select-color-error-bg);
  border-color: var(--select-color-error);
}

.harmonia-select-wrapper--error .harmonia-select:focus {
  box-shadow: 0 0 0 3px var(--select-color-error-ring);
}

.harmonia-select-wrapper--error .harmonia-select__chevron, .harmonia-select-wrapper--error .harmonia-select__icon--left {
  color: var(--select-color-error);
}

.harmonia-select-wrapper--sm .harmonia-select {
  border-radius: var(--radius-md);
  min-height: var(--select-height-sm);
  padding: var(--spacing-2-5) var(--spacing-8) var(--spacing-2-5) var(--spacing-3);
  font-size: 16px;
}

.harmonia-select-wrapper--sm .harmonia-select--with-left-icon {
  padding-left: calc(var(--spacing-3)  + 24px);
}

.harmonia-select-wrapper--sm .harmonia-select__chevron, .harmonia-select-wrapper--sm .harmonia-select__icon {
  width: 18px;
  height: 18px;
}

.harmonia-select-wrapper--sm .harmonia-select__icon--left {
  left: var(--spacing-3);
}

.harmonia-select-wrapper--sm .harmonia-select__chevron {
  right: var(--spacing-3);
}

.harmonia-select-wrapper--lg .harmonia-select {
  border-radius: var(--radius-xl);
  font-size: var(--font-size-lg);
  min-height: var(--select-height-lg);
  padding: var(--spacing-4) var(--spacing-12) var(--spacing-4) var(--spacing-5);
}

.harmonia-select-wrapper--lg .harmonia-select--with-left-icon {
  padding-left: calc(var(--spacing-5)  + 32px);
}

.harmonia-select-wrapper--lg .harmonia-select__chevron, .harmonia-select-wrapper--lg .harmonia-select__icon {
  width: 24px;
  height: 24px;
}

.harmonia-select-wrapper--lg .harmonia-select__label {
  font-size: var(--font-size-base);
}

.harmonia-select:focus-visible {
  outline: 3px solid var(--select-color-focus);
  outline-offset: 2px;
}

@media (prefers-contrast: high) {
  .harmonia-select {
    border-width: 3px;
  }

  .harmonia-select:focus-visible {
    outline-width: 4px;
    outline-color: currentColor;
  }
}

:root.dark .harmonia-select-wrapper, [data-theme="dark"] .harmonia-select-wrapper {
  --select-color-focus-ring: rgba(3, 157, 227, .3);
  --select-color-success-ring: rgba(46, 214, 197, .3);
  --select-color-success-bg: rgba(46, 214, 197, .1);
  --select-color-error-ring: rgba(255, 90, 106, .25);
  --select-color-error-bg: rgba(255, 90, 106, .1);
}

:root.dark .harmonia-select, [data-theme="dark"] .harmonia-select {
  background-color: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
  color: var(--color-text-primary);
}

:root.dark .harmonia-select:hover:not(:focus):not(:disabled), [data-theme="dark"] .harmonia-select:hover:not(:focus):not(:disabled) {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

:root.dark .harmonia-select:disabled, [data-theme="dark"] .harmonia-select:disabled {
  background-color: var(--surface-base, var(--color-background-tertiary));
}

@media (min-width: 768px) {
  .harmonia-select-wrapper {
    --select-height-sm: 40px;
    --select-height-md: 44px;
    --select-height-lg: 52px;
  }
}

@media (min-width: 1024px) {
  .harmonia-select-wrapper {
    --select-height-sm: 36px;
    --select-height-md: 40px;
    --select-height-lg: 48px;
  }

  .harmonia-select {
    font-size: var(--font-size-base);
  }

  .harmonia-select-wrapper--sm .harmonia-select {
    font-size: var(--font-size-sm);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-select, .harmonia-select__chevron, .harmonia-select__icon {
    transition: none;
  }

  .harmonia-select:focus, .harmonia-select:focus ~ .harmonia-select__chevron, .harmonia-select:hover:not(:focus):not(:disabled) {
    transform: none;
  }

  .harmonia-select__error, .harmonia-select__success {
    animation: none;
  }
}

.harmonia-bottom-sheet__container {
  z-index: var(--z-modal);
  justify-content: center;
  align-items: flex-end;
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-bottom-sheet__overlay {
  -webkit-backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, .5);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-bottom-sheet {
  -webkit-overflow-scrolling: touch;
  background-color: var(--color-background-primary);
  border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
  max-height: 90vh;
  max-height: 90dvh;
  padding-bottom: var(--safe-area-bottom);
  touch-action: none;
  flex-direction: column;
  width: 100%;
  display: flex;
  position: relative;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, .15);
}

.harmonia-bottom-sheet__handle-container {
  cursor: grab;
  padding: var(--spacing-3) 0 var(--spacing-2);
  touch-action: none;
  justify-content: center;
  display: flex;
}

.harmonia-bottom-sheet__handle-container:active {
  cursor: grabbing;
}

.harmonia-bottom-sheet__handle-container:focus-visible {
  outline: none;
}

.harmonia-bottom-sheet__handle-container:focus-visible .harmonia-bottom-sheet__handle {
  background-color: var(--color-secondary-500);
}

.harmonia-bottom-sheet__handle {
  background-color: var(--color-neutral-300);
  border-radius: var(--radius-pill);
  height: 5px;
  transition: background-color var(--duration-fast) var(--easing-ease), width var(--duration-fast) var(--easing-ease);
  width: 40px;
}

.harmonia-bottom-sheet__handle-container:hover .harmonia-bottom-sheet__handle {
  background-color: var(--color-neutral-400);
  width: 50px;
}

.harmonia-bottom-sheet__header {
  border-bottom: 1px solid var(--color-border-light);
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  flex-shrink: 0;
  justify-content: space-between;
  display: flex;
}

.harmonia-bottom-sheet__title {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  margin: 0;
}

.harmonia-bottom-sheet__close {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  cursor: pointer;
  height: 44px;
  margin: calc(var(--spacing-2) * -1);
  touch-action: manipulation;
  transition: background-color var(--duration-fast) var(--easing-ease), color var(--duration-fast) var(--easing-ease);
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 44px;
  display: flex;
}

.harmonia-bottom-sheet__close:active {
  background-color: var(--color-neutral-100);
  color: var(--color-text-primary);
}

.harmonia-bottom-sheet__close:focus-visible {
  outline: 3px solid var(--color-secondary-500);
  outline-offset: 2px;
}

.harmonia-bottom-sheet__content {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: var(--spacing-4);
  flex: 1;
  overflow-y: auto;
}

.harmonia-bottom-sheet__snap-indicators {
  gap: var(--spacing-2);
  right: var(--spacing-3);
  flex-direction: column;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.harmonia-bottom-sheet__snap-dot {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  background-color: var(--color-neutral-300);
  border-radius: var(--radius-full);
  cursor: pointer;
  height: 8px;
  transition: background-color var(--duration-fast) var(--easing-ease), transform var(--duration-fast) var(--easing-ease);
  border: none;
  width: 8px;
  padding: 0;
}

.harmonia-bottom-sheet__snap-dot:hover {
  background-color: var(--color-neutral-400);
}

.harmonia-bottom-sheet__snap-dot--active {
  background-color: var(--color-secondary-500);
  transform: scale(1.3);
}

.harmonia-bottom-sheet__snap-dot:focus-visible {
  outline: 2px solid var(--color-secondary-500);
  outline-offset: 2px;
}

:root.dark .harmonia-bottom-sheet__overlay, [data-theme="dark"] .harmonia-bottom-sheet__overlay {
  background-color: rgba(0, 0, 0, .7);
}

:root.dark .harmonia-bottom-sheet, [data-theme="dark"] .harmonia-bottom-sheet {
  background-color: var(--surface-2);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, .4);
}

:root.dark .harmonia-bottom-sheet__handle, [data-theme="dark"] .harmonia-bottom-sheet__handle {
  background-color: var(--color-neutral-600);
}

:root.dark .harmonia-bottom-sheet__handle-container:hover .harmonia-bottom-sheet__handle, [data-theme="dark"] .harmonia-bottom-sheet__handle-container:hover .harmonia-bottom-sheet__handle {
  background-color: var(--color-neutral-500);
}

:root.dark .harmonia-bottom-sheet__header, [data-theme="dark"] .harmonia-bottom-sheet__header {
  border-color: var(--color-border-light);
}

:root.dark .harmonia-bottom-sheet__close:active, [data-theme="dark"] .harmonia-bottom-sheet__close:active {
  background-color: var(--color-neutral-700);
}

:root.dark .harmonia-bottom-sheet__snap-dot, [data-theme="dark"] .harmonia-bottom-sheet__snap-dot {
  background-color: var(--color-neutral-600);
}

:root.dark .harmonia-bottom-sheet__snap-dot:hover, [data-theme="dark"] .harmonia-bottom-sheet__snap-dot:hover {
  background-color: var(--color-neutral-500);
}

@media (min-width: 768px) {
  .harmonia-bottom-sheet {
    border-radius: var(--radius-2xl);
    margin: 0 auto;
    margin-bottom: var(--spacing-6);
    max-width: 600px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-bottom-sheet__handle {
    transition: none;
  }
}

.harmonia-skeleton {
  --skeleton-base: rgba(7, 4, 51, .08);
  --skeleton-highlight: rgba(7, 4, 51, .03);
  --skeleton-wave: rgba(255, 255, 255, .5);
  --skeleton-duration: 1.5s;
  --skeleton-wave-duration: 1.6s;
  background-color: var(--skeleton-base);
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.harmonia-skeleton--text {
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-2);
}

.harmonia-skeleton--last-line, .harmonia-skeleton--text:last-child {
  margin-bottom: 0;
}

.harmonia-skeleton--circular {
  border-radius: var(--radius-full);
  flex-shrink: 0;
}

.harmonia-skeleton--rectangular {
  border-radius: 0;
}

.harmonia-skeleton--button, .harmonia-skeleton--rounded {
  border-radius: var(--radius-lg);
}

.harmonia-skeleton--pulse {
  animation: harmonia-skeleton-pulse var(--skeleton-duration) ease-in-out infinite;
}

@keyframes harmonia-skeleton-pulse {
  0%, to {
    opacity: 1;
  }

  50% {
    opacity: .5;
  }
}

.harmonia-skeleton--wave:after {
  animation: harmonia-skeleton-wave var(--skeleton-wave-duration) linear infinite;
  background: linear-gradient(90deg, transparent 0, var(--skeleton-wave) 50%, transparent 100%);
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateX(-100%);
}

@keyframes harmonia-skeleton-wave {
  0% {
    transform: translateX(-100%);
  }

  60%, to {
    transform: translateX(100%);
  }
}

.harmonia-skeleton--none {
  animation: none;
}

.harmonia-skeleton--none:after {
  display: none;
}

.harmonia-skeleton__lines {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-skeleton-card {
  background: var(--color-background-primary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-2xl);
  gap: var(--spacing-4);
  padding: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-skeleton-card__header {
  align-items: center;
  gap: var(--spacing-3);
  display: flex;
}

.harmonia-skeleton-card__header-text {
  gap: var(--spacing-1);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.harmonia-skeleton-card__content {
  flex: 1;
}

.harmonia-skeleton-card__actions {
  border-top: 1px solid var(--color-border-light);
  gap: var(--spacing-2);
  padding-top: var(--spacing-2);
  justify-content: flex-end;
  display: flex;
}

.harmonia-skeleton-image {
  background-color: var(--skeleton-base);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

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

.harmonia-skeleton-image .harmonia-skeleton {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-skeleton-image__icon {
  color: rgba(7, 4, 51, .2);
  opacity: .5;
  z-index: 1;
  position: relative;
}

:root.dark .harmonia-skeleton, [data-theme="dark"] .harmonia-skeleton {
  --skeleton-base: rgba(255, 255, 255, .08);
  --skeleton-highlight: rgba(255, 255, 255, .03);
  --skeleton-wave: rgba(255, 255, 255, .1);
}

:root.dark .harmonia-skeleton-card, [data-theme="dark"] .harmonia-skeleton-card {
  background: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
}

:root.dark .harmonia-skeleton-image, [data-theme="dark"] .harmonia-skeleton-image {
  background-color: var(--skeleton-base);
}

:root.dark .harmonia-skeleton-image__icon, [data-theme="dark"] .harmonia-skeleton-image__icon {
  color: rgba(255, 255, 255, .2);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-skeleton--pulse, .harmonia-skeleton--wave {
    animation: none;
  }

  .harmonia-skeleton--wave:after {
    display: none;
  }
}

.harmonia-virtual-list {
  --virtuallist-spinner-color: #039de3;
  --virtuallist-spinner-track: rgba(3, 157, 227, .2);
  --virtuallist-scrollbar-thumb: rgba(7, 4, 51, .2);
  --virtuallist-scrollbar-thumb-hover: rgba(7, 4, 51, .3);
  -webkit-overflow-scrolling: touch;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
}

.harmonia-virtual-list--gpu {
  will-change: transform;
}

.harmonia-virtual-list__spacer {
  width: 100%;
  position: relative;
}

.harmonia-virtual-list__items {
  will-change: transform;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.harmonia-virtual-list--gpu .harmonia-virtual-list__items {
  transform: translateZ(0);
}

.harmonia-virtual-list__item {
  width: 100%;
  overflow: hidden;
}

.harmonia-virtual-list--empty {
  color: var(--color-text-tertiary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-virtual-list__loading {
  background: linear-gradient(to top, var(--color-background-primary) 60%, transparent);
  padding: var(--spacing-4);
  justify-content: center;
  align-items: center;
  display: flex;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
}

.harmonia-virtual-list__spinner {
  border: 3px solid var(--virtuallist-spinner-track);
  border-radius: var(--radius-full);
  border-top-color: var(--virtuallist-spinner-color);
  width: 28px;
  height: 28px;
  animation: .8s linear infinite harmonia-virtuallist-spin;
}

@keyframes harmonia-virtuallist-spin {
  to {
    transform: rotate(1turn);
  }
}

.harmonia-virtual-list__loading-text {
  color: var(--color-text-secondary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  margin-left: var(--spacing-3);
}

.harmonia-virtual-list::-webkit-scrollbar {
  width: 8px;
}

.harmonia-virtual-list::-webkit-scrollbar-track {
  background: none;
}

.harmonia-virtual-list::-webkit-scrollbar-thumb {
  background: var(--virtuallist-scrollbar-thumb);
  border-radius: var(--radius-full);
  transition: background-color .15s ease-out;
}

.harmonia-virtual-list::-webkit-scrollbar-thumb:hover {
  background: var(--virtuallist-scrollbar-thumb-hover);
}

.harmonia-virtual-list {
  scrollbar-color: var(--virtuallist-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}

:root.dark .harmonia-virtual-list, [data-theme="dark"] .harmonia-virtual-list {
  --virtuallist-spinner-track: rgba(3, 157, 227, .3);
  --virtuallist-scrollbar-thumb: rgba(255, 255, 255, .2);
  --virtuallist-scrollbar-thumb-hover: rgba(255, 255, 255, .3);
}

:root.dark .harmonia-virtual-list__loading, [data-theme="dark"] .harmonia-virtual-list__loading {
  background: linear-gradient(to top, var(--surface-1, var(--elevation-1-bg)) 60%, transparent);
}

@media (pointer: coarse) {
  .harmonia-virtual-list::-webkit-scrollbar {
    display: none;
  }

  .harmonia-virtual-list {
    scrollbar-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-virtual-list__spinner {
    border-right-color: var(--virtuallist-spinner-color);
    border-top-color: var(--virtuallist-spinner-color);
    animation: none;
  }
}

.harmonia-lazy-image {
  background: var(--color-neutral-100);
  display: block;
  position: relative;
  overflow: hidden;
}

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

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

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

.harmonia-lazy-image--rounded-full {
  border-radius: var(--radius-full);
}

.harmonia-lazy-image__placeholder {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-lazy-image__blur {
  filter: blur(20px);
  width: 100%;
  height: 100%;
  transform: scale(1.1);
}

.harmonia-lazy-image__skeleton {
  background: linear-gradient(90deg, var(--color-neutral-200) 25%, var(--color-neutral-100) 50%, var(--color-neutral-200) 75%);
  background-size: 200% 100%;
  width: 100%;
  height: 100%;
  animation: 1.5s infinite harmonia-shimmer;
}

@keyframes harmonia-shimmer {
  0% {
    background-position: 200% 0;
  }

  to {
    background-position: -200% 0;
  }
}

.harmonia-lazy-image__error {
  background: var(--color-neutral-100);
  align-items: center;
  gap: var(--spacing-2);
  flex-direction: column;
  justify-content: center;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-lazy-image__error-icon {
  opacity: .5;
  font-size: 2rem;
}

.harmonia-lazy-image__error-text {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

.harmonia-lazy-image__img {
  width: 100%;
  height: 100%;
  display: block;
}

:root.dark .harmonia-lazy-image, [data-theme="dark"] .harmonia-lazy-image {
  background: var(--color-neutral-200);
}

:root.dark .harmonia-lazy-image__skeleton, [data-theme="dark"] .harmonia-lazy-image__skeleton {
  background: linear-gradient(90deg, var(--color-neutral-300) 25%, var(--color-neutral-200) 50%, var(--color-neutral-300) 75%);
  background-size: 200% 100%;
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-lazy-image__skeleton {
    background: var(--color-neutral-200);
    animation: none;
  }
}

.harmonia-skip-links {
  --skiplinks-background: #039de3;
  --skiplinks-background-hover: #0284c7;
  --skiplinks-focus-ring: rgba(3, 157, 227, .3);
  --skiplinks-min-height: 48px;
  --skiplinks-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --skiplinks-transition-fast: .15s ease-out;
  gap: var(--spacing-2);
  padding: var(--spacing-2);
  z-index: 9999;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
}

.harmonia-skip-links__link {
  background: var(--skiplinks-background);
  border-radius: var(--radius-lg);
  color: #fff;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  min-height: var(--skiplinks-min-height);
  opacity: 0;
  padding: var(--spacing-3) var(--spacing-5);
  transition: transform var(--skiplinks-transition), opacity var(--skiplinks-transition-fast), background-color var(--skiplinks-transition-fast);
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: inline-flex;
  position: absolute;
  transform: translateY(-100%);
  box-shadow: 0 4px 16px rgba(7, 4, 51, .15);
}

.harmonia-skip-links__link:focus {
  box-shadow: 0 0 0 5px var(--skiplinks-focus-ring), 0 4px 16px rgba(7, 4, 51, .15);
  opacity: 1;
  outline-offset: 2px;
  outline: 3px solid #fff;
  transform: translateY(0);
}

.harmonia-skip-links__link:hover {
  background: var(--skiplinks-background-hover);
}

.harmonia-skip-links__link:active {
  transform: translateY(0)scale(.98);
}

.harmonia-skip-links__link:nth-child(2):focus {
  transform: translateY(0) translateX(calc(100% + var(--spacing-2)));
}

.harmonia-skip-links__link:nth-child(3):focus {
  transform: translateY(0) translateX(calc(200% + var(--spacing-4)));
}

:root.dark .harmonia-skip-links__link, [data-theme="dark"] .harmonia-skip-links__link {
  box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-skip-links__link:focus, [data-theme="dark"] .harmonia-skip-links__link:focus {
  box-shadow: 0 0 0 5px var(--skiplinks-focus-ring), 0 4px 16px rgba(0, 0, 0, .3);
}

@media (min-width: 768px) {
  .harmonia-skip-links {
    --skiplinks-min-height: 44px;
  }
}

@media (min-width: 1024px) {
  .harmonia-skip-links {
    --skiplinks-min-height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-skip-links__link {
    transition: opacity var(--skiplinks-transition-fast);
  }

  .harmonia-skip-links__link:active, .harmonia-skip-links__link:focus {
    transform: translateY(0);
  }

  .harmonia-skip-links__link:nth-child(2):focus {
    transform: translateY(0) translateX(calc(100% + var(--spacing-2)));
  }

  .harmonia-skip-links__link:nth-child(3):focus {
    transform: translateY(0) translateX(calc(200% + var(--spacing-4)));
  }
}

@media (prefers-contrast: high) {
  .harmonia-skip-links__link:focus {
    outline-width: 4px;
  }
}

.harmonia-fab__backdrop {
  z-index: 998;
  background: rgba(0, 0, 0, .3);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-fab-container {
  align-items: center;
  gap: var(--spacing-4);
  z-index: 999;
  flex-direction: column;
  display: flex;
  position: fixed;
}

.harmonia-fab-container--bottom-right {
  bottom: calc(var(--spacing-4)  + var(--safe-area-bottom));
  right: var(--spacing-4);
}

.harmonia-fab-container--bottom-left {
  bottom: calc(var(--spacing-4)  + var(--safe-area-bottom));
  left: var(--spacing-4);
}

.harmonia-fab-container--bottom-center {
  bottom: calc(var(--spacing-4)  + var(--safe-area-bottom));
  left: 50%;
  transform: translateX(-50%);
}

.harmonia-fab {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-full);
  box-shadow: var(--elevation-4);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-2);
  transition: box-shadow var(--duration-fast) var(--easing-ease);
  border: none;
  justify-content: center;
  display: flex;
}

.harmonia-fab--sm {
  width: 40px;
  height: 40px;
  font-size: 1rem;
}

.harmonia-fab--md {
  width: 56px;
  height: 56px;
  font-size: 1.5rem;
}

.harmonia-fab--lg {
  width: 72px;
  height: 72px;
  font-size: 2rem;
}

.harmonia-fab--extended {
  border-radius: var(--radius-full);
  padding: 0 var(--spacing-4);
  width: auto;
}

.harmonia-fab--extended.harmonia-fab--sm {
  height: 40px;
}

.harmonia-fab--extended.harmonia-fab--md {
  height: 48px;
}

.harmonia-fab--extended.harmonia-fab--lg {
  height: 56px;
}

.harmonia-fab--primary {
  background: var(--color-primary-500);
  color: #fff;
}

.harmonia-fab--primary:hover:not(:disabled) {
  background: var(--color-primary-600);
  box-shadow: var(--elevation-5);
}

.harmonia-fab--secondary {
  background: var(--color-secondary-500);
  color: #fff;
}

.harmonia-fab--secondary:hover:not(:disabled) {
  background: var(--color-secondary-600);
  box-shadow: var(--elevation-5);
}

.harmonia-fab--success {
  background: var(--color-success-500);
  color: #fff;
}

.harmonia-fab--success:hover:not(:disabled) {
  background: var(--color-success-600);
  box-shadow: var(--elevation-5);
}

.harmonia-fab--error {
  background: var(--color-error-500);
  color: #fff;
}

.harmonia-fab--error:hover:not(:disabled) {
  background: var(--color-error-600);
  box-shadow: var(--elevation-5);
}

.harmonia-fab--disabled {
  cursor: not-allowed;
  opacity: .5;
}

.harmonia-fab--open {
  box-shadow: var(--elevation-5);
}

.harmonia-fab__icon {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-fab__label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  white-space: nowrap;
}

.harmonia-fab__actions {
  align-items: flex-end;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-fab-container--bottom-left .harmonia-fab__actions {
  align-items: flex-start;
}

.harmonia-fab-container--bottom-center .harmonia-fab__actions {
  align-items: center;
}

.harmonia-fab__action {
  -webkit-tap-highlight-color: transparent;
  background: var(--color-background-primary);
  border-radius: var(--radius-full);
  box-shadow: var(--elevation-3);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-2) var(--spacing-3);
  white-space: nowrap;
  border: none;
  display: flex;
}

.harmonia-fab__action:hover {
  background: var(--color-neutral-100);
}

.harmonia-fab__action-icon {
  background: var(--color-primary-100);
  border-radius: var(--radius-full);
  color: var(--color-primary-600);
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 1.25rem;
  display: flex;
}

.harmonia-fab__action-label {
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  padding-right: var(--spacing-2);
}

:root.dark .harmonia-fab__backdrop, [data-theme="dark"] .harmonia-fab__backdrop {
  background: rgba(0, 0, 0, .5);
}

:root.dark .harmonia-fab__action, [data-theme="dark"] .harmonia-fab__action {
  background: var(--color-background-secondary);
}

:root.dark .harmonia-fab__action:hover, [data-theme="dark"] .harmonia-fab__action:hover {
  background: var(--color-neutral-200);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-fab, .harmonia-fab__action, .harmonia-fab__icon {
    transition: none;
  }
}

.harmonia-action-sheet__backdrop {
  z-index: 1000;
  background: rgba(0, 0, 0, .4);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-action-sheet {
  background: var(--color-background-primary);
  border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
  max-height: 80vh;
  padding: var(--spacing-4);
  padding-bottom: calc(var(--spacing-4)  + var(--safe-area-bottom));
  z-index: 1001;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  overflow-y: auto;
}

.harmonia-action-sheet__handle {
  background: var(--color-neutral-300);
  border-radius: var(--radius-full);
  height: 4px;
  margin: 0 auto var(--spacing-4);
  width: 36px;
}

.harmonia-action-sheet__header {
  border-bottom: 1px solid var(--color-border-light);
  margin-bottom: var(--spacing-4);
  padding: var(--spacing-2) var(--spacing-4);
  text-align: center;
}

.harmonia-action-sheet__title {
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin: 0;
}

.harmonia-action-sheet__description {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  margin: var(--spacing-1) 0 0;
}

.harmonia-action-sheet__actions {
  gap: var(--spacing-1);
  flex-direction: column;
  display: flex;
}

.harmonia-action-sheet__action {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-lg);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-3);
  min-height: var(--touch-target-comfortable);
  padding: var(--spacing-4);
  text-align: left;
  transition: background-color var(--duration-fast) var(--easing-ease);
  background: none;
  border: none;
  width: 100%;
  display: flex;
}

.harmonia-action-sheet__action:hover:not(:disabled) {
  background: var(--color-neutral-100);
}

.harmonia-action-sheet__action--default .harmonia-action-sheet__action-label {
  color: var(--color-text-primary);
}

.harmonia-action-sheet__action--primary .harmonia-action-sheet__action-label {
  color: var(--color-primary-600);
  font-weight: var(--font-weight-semibold);
}

.harmonia-action-sheet__action--destructive .harmonia-action-sheet__action-label {
  color: var(--color-error-600);
}

.harmonia-action-sheet__action--disabled {
  cursor: not-allowed;
  opacity: .5;
}

.harmonia-action-sheet__action-icon {
  color: var(--color-text-secondary);
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 1.25rem;
  display: flex;
}

.harmonia-action-sheet__action--destructive .harmonia-action-sheet__action-icon {
  color: var(--color-error-500);
}

.harmonia-action-sheet__action--primary .harmonia-action-sheet__action-icon {
  color: var(--color-primary-500);
}

.harmonia-action-sheet__action-label {
  font-size: var(--font-size-base);
}

.harmonia-action-sheet__cancel-container {
  border-top: 1px solid var(--color-border-light);
  margin-top: var(--spacing-3);
  padding-top: var(--spacing-3);
}

.harmonia-action-sheet__cancel {
  -webkit-tap-highlight-color: transparent;
  background: var(--color-neutral-100);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  cursor: pointer;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  min-height: var(--touch-target-comfortable);
  padding: var(--spacing-4);
  border: none;
  width: 100%;
}

.harmonia-action-sheet__cancel:hover {
  background: var(--color-neutral-200);
}

:root.dark .harmonia-action-sheet, [data-theme="dark"] .harmonia-action-sheet {
  background: var(--color-background-secondary);
}

:root.dark .harmonia-action-sheet__backdrop, [data-theme="dark"] .harmonia-action-sheet__backdrop {
  background: rgba(0, 0, 0, .6);
}

:root.dark .harmonia-action-sheet__handle, [data-theme="dark"] .harmonia-action-sheet__handle {
  background: var(--color-neutral-400);
}

:root.dark .harmonia-action-sheet__action:hover:not(:disabled), :root.dark .harmonia-action-sheet__cancel, [data-theme="dark"] .harmonia-action-sheet__action:hover:not(:disabled), [data-theme="dark"] .harmonia-action-sheet__cancel {
  background: var(--color-neutral-200);
}

:root.dark .harmonia-action-sheet__cancel:hover, [data-theme="dark"] .harmonia-action-sheet__cancel:hover {
  background: var(--color-neutral-300);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-action-sheet {
    transition: none;
  }
}

.harmonia-datepicker {
  --datepicker-color-primary: #039de3;
  --datepicker-color-primary-hover: #0284c7;
  --datepicker-color-focus-ring: rgba(3, 157, 227, .2);
  --datepicker-color-error: #ff5a6a;
  --datepicker-color-error-ring: rgba(255, 90, 106, .15);
  --datepicker-touch-target: 48px;
  --datepicker-day-size: 44px;
  --datepicker-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --datepicker-transition-fast: .15s ease-out;
  gap: var(--spacing-1-5);
  flex-direction: column;
  display: flex;
}

.harmonia-datepicker__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.harmonia-datepicker__trigger {
  -webkit-tap-highlight-color: transparent;
  background: var(--color-background-primary);
  border: 2px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-2);
  min-height: var(--datepicker-touch-target);
  padding: var(--spacing-3) var(--spacing-4);
  transition: border-color var(--datepicker-transition-fast), box-shadow var(--datepicker-transition), transform var(--datepicker-transition);
  justify-content: space-between;
  display: flex;
}

.harmonia-datepicker__trigger:hover:not(:focus):not(.harmonia-datepicker__trigger--disabled) {
  border-color: var(--color-border-strong);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(7, 4, 51, .08);
}

.harmonia-datepicker__trigger:focus {
  border-color: var(--datepicker-color-primary);
  box-shadow: 0 0 0 3px var(--datepicker-color-focus-ring);
  outline: none;
}

.harmonia-datepicker__trigger:focus-visible {
  outline: 3px solid var(--datepicker-color-primary);
  outline-offset: 2px;
}

.harmonia-datepicker__trigger--disabled {
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}

.harmonia-datepicker__trigger--disabled:hover {
  box-shadow: none;
  transform: none;
}

.harmonia-datepicker__trigger--error {
  border-color: var(--datepicker-color-error);
}

.harmonia-datepicker__trigger--error:focus {
  box-shadow: 0 0 0 3px var(--datepicker-color-error-ring);
}

.harmonia-datepicker__value {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: 16px;
}

.harmonia-datepicker__icon, .harmonia-datepicker__placeholder {
  color: var(--color-text-tertiary);
}

.harmonia-datepicker__icon {
  height: 20px;
  transition: color var(--datepicker-transition-fast);
  flex-shrink: 0;
  width: 20px;
}

.harmonia-datepicker__trigger:focus .harmonia-datepicker__icon {
  color: var(--datepicker-color-primary);
}

.harmonia-datepicker__error {
  color: var(--datepicker-color-error);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  align-items: center;
  gap: var(--spacing-1);
  animation: .2s ease-out datepicker-fade-in;
  display: flex;
}

@keyframes datepicker-fade-in {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.harmonia-datepicker__backdrop {
  z-index: 1000;
  background: rgba(7, 4, 51, .5);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-datepicker__calendar {
  background: var(--color-background-primary);
  border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
  padding: var(--spacing-4);
  padding-bottom: calc(var(--spacing-6)  + env(safe-area-inset-bottom, 0px));
  z-index: 1001;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0 -4px 24px rgba(7, 4, 51, .15);
}

.harmonia-datepicker__handle {
  background: var(--color-neutral-300);
  border-radius: var(--radius-full);
  height: 4px;
  margin: 0 auto var(--spacing-4);
  width: 36px;
}

.harmonia-datepicker__header {
  margin-bottom: var(--spacing-4);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.harmonia-datepicker__nav {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-full);
  color: var(--color-text-primary);
  cursor: pointer;
  height: var(--datepicker-touch-target);
  transition: background-color var(--datepicker-transition-fast), transform var(--datepicker-transition);
  width: var(--datepicker-touch-target);
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-datepicker__nav:hover {
  background: rgba(3, 157, 227, .1);
}

.harmonia-datepicker__nav:active {
  transform: scale(.95);
}

.harmonia-datepicker__nav:focus-visible {
  outline: 3px solid var(--datepicker-color-primary);
  outline-offset: 2px;
}

.harmonia-datepicker__nav svg {
  width: 20px;
  height: 20px;
}

.harmonia-datepicker__month-year {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
}

.harmonia-datepicker__weekdays {
  gap: var(--spacing-1);
  margin-bottom: var(--spacing-2);
  grid-template-columns: repeat(7, 1fr);
  display: grid;
}

.harmonia-datepicker__weekday {
  color: var(--color-text-tertiary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  padding: var(--spacing-2);
  text-align: center;
}

.harmonia-datepicker__days {
  gap: var(--spacing-1);
  grid-template-columns: repeat(7, 1fr);
  display: grid;
}

.harmonia-datepicker__day-cell {
  aspect-ratio: 1;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-datepicker__day {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-full);
  color: var(--color-text-primary);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  height: var(--datepicker-day-size);
  transition: background-color var(--datepicker-transition-fast), color var(--datepicker-transition-fast), transform var(--datepicker-transition), box-shadow var(--datepicker-transition);
  width: var(--datepicker-day-size);
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-datepicker__day:hover:not(:disabled):not(.harmonia-datepicker__day--selected) {
  background: rgba(3, 157, 227, .1);
  transform: scale(1.05);
}

.harmonia-datepicker__day:focus-visible {
  outline: 3px solid var(--datepicker-color-primary);
  outline-offset: 2px;
}

.harmonia-datepicker__day--today {
  border: 2px solid var(--datepicker-color-primary);
  font-weight: var(--font-weight-bold);
}

.harmonia-datepicker__day--selected {
  background: var(--datepicker-color-primary);
  color: #fff;
  font-weight: var(--font-weight-semibold);
  box-shadow: 0 2px 8px rgba(3, 157, 227, .3);
}

.harmonia-datepicker__day--selected:hover {
  background: var(--datepicker-color-primary-hover);
  transform: scale(1.05);
}

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

.harmonia-datepicker__day--disabled:hover {
  background: none;
  transform: none;
}

.harmonia-datepicker__day--other-month {
  color: var(--color-text-tertiary);
}

.harmonia-datepicker__actions {
  gap: var(--spacing-3);
  margin-top: var(--spacing-4);
  display: flex;
}

.harmonia-datepicker__cancel, .harmonia-datepicker__today {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-lg);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  min-height: var(--datepicker-touch-target);
  padding: var(--spacing-3);
  transition: background-color var(--datepicker-transition-fast), transform var(--datepicker-transition);
  border: none;
  flex: 1;
}

.harmonia-datepicker__today {
  background: var(--datepicker-color-primary);
  color: #fff;
}

.harmonia-datepicker__today:hover {
  background: var(--datepicker-color-primary-hover);
}

.harmonia-datepicker__today:active {
  transform: scale(.98);
}

.harmonia-datepicker__cancel {
  background: var(--color-neutral-100);
  color: var(--color-text-primary);
}

.harmonia-datepicker__cancel:hover {
  background: var(--color-neutral-200);
}

.harmonia-datepicker__cancel:active {
  transform: scale(.98);
}

.harmonia-datepicker__cancel:focus-visible {
  outline: 3px solid var(--datepicker-color-primary);
  outline-offset: 2px;
}

.harmonia-datepicker__today:focus-visible {
  outline: 3px solid var(--datepicker-color-primary);
  outline-offset: 2px;
}

:root.dark .harmonia-datepicker, [data-theme="dark"] .harmonia-datepicker {
  --datepicker-color-focus-ring: rgba(3, 157, 227, .3);
  --datepicker-color-error-ring: rgba(255, 90, 106, .25);
}

:root.dark .harmonia-datepicker__trigger, [data-theme="dark"] .harmonia-datepicker__trigger {
  background: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
}

:root.dark .harmonia-datepicker__trigger:hover:not(:focus):not(.harmonia-datepicker__trigger--disabled), [data-theme="dark"] .harmonia-datepicker__trigger:hover:not(:focus):not(.harmonia-datepicker__trigger--disabled) {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

:root.dark .harmonia-datepicker__calendar, [data-theme="dark"] .harmonia-datepicker__calendar {
  background: var(--surface-1, var(--elevation-1-bg));
  box-shadow: 0 -4px 24px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-datepicker__handle, [data-theme="dark"] .harmonia-datepicker__handle {
  background: var(--color-neutral-600);
}

:root.dark .harmonia-datepicker__day:hover:not(:disabled):not(.harmonia-datepicker__day--selected), :root.dark .harmonia-datepicker__nav:hover, [data-theme="dark"] .harmonia-datepicker__day:hover:not(:disabled):not(.harmonia-datepicker__day--selected), [data-theme="dark"] .harmonia-datepicker__nav:hover {
  background: rgba(3, 157, 227, .2);
}

:root.dark .harmonia-datepicker__cancel, [data-theme="dark"] .harmonia-datepicker__cancel {
  background: var(--color-neutral-700);
  color: var(--color-neutral-100);
}

:root.dark .harmonia-datepicker__cancel:hover, [data-theme="dark"] .harmonia-datepicker__cancel:hover {
  background: var(--color-neutral-600);
}

@media (min-width: 768px) {
  .harmonia-datepicker {
    --datepicker-touch-target: 44px;
    --datepicker-day-size: 40px;
  }

  .harmonia-datepicker__calendar {
    border-radius: var(--radius-xl);
    min-width: 320px;
    padding-bottom: var(--spacing-4);
    position: absolute;
    bottom: auto;
    left: 0;
    right: auto;
    box-shadow: 0 4px 24px rgba(7, 4, 51, .15);
  }

  .harmonia-datepicker__handle {
    display: none;
  }
}

@media (min-width: 1024px) {
  .harmonia-datepicker {
    --datepicker-touch-target: 40px;
    --datepicker-day-size: 36px;
  }

  .harmonia-datepicker__value {
    font-size: var(--font-size-base);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-datepicker__cancel, .harmonia-datepicker__day, .harmonia-datepicker__nav, .harmonia-datepicker__today, .harmonia-datepicker__trigger {
    transition: none;
  }

  .harmonia-datepicker__day--selected:hover, .harmonia-datepicker__day:hover, .harmonia-datepicker__nav:active, .harmonia-datepicker__trigger:hover {
    transform: none;
  }

  .harmonia-datepicker__error {
    animation: none;
  }
}

.harmonia-timepicker {
  --timepicker-color-primary: #039de3;
  --timepicker-color-primary-hover: #0284c7;
  --timepicker-color-focus-ring: rgba(3, 157, 227, .2);
  --timepicker-color-error: #ff5a6a;
  --timepicker-touch-target: 48px;
  --timepicker-item-size: 52px;
  --timepicker-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --timepicker-transition-fast: .15s ease-out;
  gap: var(--spacing-1-5);
  flex-direction: column;
  display: flex;
}

.harmonia-timepicker__label {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.harmonia-timepicker__trigger {
  -webkit-tap-highlight-color: transparent;
  background: var(--color-background-primary);
  border: 2px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-2);
  min-height: var(--timepicker-touch-target);
  padding: var(--spacing-3) var(--spacing-4);
  transition: border-color var(--timepicker-transition-fast), box-shadow var(--timepicker-transition), transform var(--timepicker-transition);
  justify-content: space-between;
  display: flex;
}

.harmonia-timepicker__trigger:hover:not(:focus):not(.harmonia-timepicker__trigger--disabled) {
  border-color: var(--color-border-strong);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(7, 4, 51, .08);
}

.harmonia-timepicker__trigger:focus {
  border-color: var(--timepicker-color-primary);
  box-shadow: 0 0 0 3px var(--timepicker-color-focus-ring);
  outline: none;
}

.harmonia-timepicker__trigger:focus-visible {
  outline: 3px solid var(--timepicker-color-primary);
  outline-offset: 2px;
}

.harmonia-timepicker__trigger--disabled {
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}

.harmonia-timepicker__trigger--error {
  border-color: var(--timepicker-color-error);
}

.harmonia-timepicker__value {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: 16px;
}

.harmonia-timepicker__icon, .harmonia-timepicker__placeholder {
  color: var(--color-text-tertiary);
}

.harmonia-timepicker__icon {
  height: 20px;
  transition: color var(--timepicker-transition-fast);
  flex-shrink: 0;
  width: 20px;
}

.harmonia-timepicker__trigger:focus .harmonia-timepicker__icon {
  color: var(--timepicker-color-primary);
}

.harmonia-timepicker__error {
  color: var(--timepicker-color-error);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  animation: .2s ease-out timepicker-fade-in;
}

@keyframes timepicker-fade-in {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.harmonia-timepicker__backdrop {
  z-index: 1000;
  background: rgba(7, 4, 51, .5);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-timepicker__picker {
  background: var(--color-background-primary);
  border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
  padding: var(--spacing-4);
  padding-bottom: calc(var(--spacing-6)  + env(safe-area-inset-bottom, 0px));
  z-index: 1001;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0 -4px 24px rgba(7, 4, 51, .15);
}

.harmonia-timepicker__handle {
  background: var(--color-neutral-300);
  border-radius: var(--radius-full);
  height: 4px;
  margin: 0 auto var(--spacing-4);
  width: 36px;
}

.harmonia-timepicker__header {
  margin-bottom: var(--spacing-4);
  text-align: center;
}

.harmonia-timepicker__title {
  color: var(--color-text-secondary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  margin: 0;
}

.harmonia-timepicker__preview {
  color: var(--timepicker-color-primary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-3xl);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-bold);
  margin-top: var(--spacing-2);
}

.harmonia-timepicker__wheels {
  align-items: flex-start;
  gap: var(--spacing-4);
  justify-content: center;
  display: flex;
}

.harmonia-timepicker__wheel {
  align-items: center;
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-timepicker__wheel-label {
  color: var(--color-text-tertiary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}

.harmonia-timepicker__wheel-items {
  -ms-overflow-style: none;
  gap: var(--spacing-2);
  max-height: 220px;
  padding: var(--spacing-2);
  scrollbar-width: none;
  grid-template-columns: repeat(4, 1fr);
  display: grid;
  overflow-y: auto;
}

.harmonia-timepicker__wheel-items::-webkit-scrollbar {
  display: none;
}

.harmonia-timepicker__wheel-item {
  -webkit-tap-highlight-color: transparent;
  border: 2px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  height: var(--timepicker-item-size);
  transition: background-color var(--timepicker-transition-fast), border-color var(--timepicker-transition-fast), color var(--timepicker-transition-fast), transform var(--timepicker-transition), box-shadow var(--timepicker-transition);
  width: var(--timepicker-item-size);
  background: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-timepicker__wheel-item:hover:not(.harmonia-timepicker__wheel-item--selected) {
  border-color: var(--timepicker-color-primary);
  background: rgba(3, 157, 227, .1);
  transform: scale(1.05);
}

.harmonia-timepicker__wheel-item:focus-visible {
  outline: 3px solid var(--timepicker-color-primary);
  outline-offset: 2px;
}

.harmonia-timepicker__wheel-item--selected {
  background: var(--timepicker-color-primary);
  border-color: var(--timepicker-color-primary);
  color: #fff;
  font-weight: var(--font-weight-semibold);
  box-shadow: 0 2px 8px rgba(3, 157, 227, .3);
}

.harmonia-timepicker__wheel-item--selected:hover {
  background: var(--timepicker-color-primary-hover);
  border-color: var(--timepicker-color-primary-hover);
  transform: scale(1.05);
}

.harmonia-timepicker__separator {
  color: var(--color-text-secondary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin-top: 48px;
}

.harmonia-timepicker__actions {
  gap: var(--spacing-3);
  margin-top: var(--spacing-4);
  display: flex;
}

.harmonia-timepicker__cancel, .harmonia-timepicker__confirm {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-lg);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  min-height: var(--timepicker-touch-target);
  padding: var(--spacing-3);
  transition: background-color var(--timepicker-transition-fast), transform var(--timepicker-transition);
  border: none;
  flex: 1;
}

.harmonia-timepicker__cancel {
  background: var(--color-neutral-100);
  color: var(--color-text-primary);
}

.harmonia-timepicker__cancel:hover {
  background: var(--color-neutral-200);
}

.harmonia-timepicker__cancel:active {
  transform: scale(.98);
}

.harmonia-timepicker__confirm {
  background: var(--timepicker-color-primary);
  color: #fff;
}

.harmonia-timepicker__confirm:hover {
  background: var(--timepicker-color-primary-hover);
}

.harmonia-timepicker__confirm:active {
  transform: scale(.98);
}

.harmonia-timepicker__cancel:focus-visible {
  outline: 3px solid var(--timepicker-color-primary);
  outline-offset: 2px;
}

.harmonia-timepicker__confirm:focus-visible {
  outline: 3px solid var(--timepicker-color-primary);
  outline-offset: 2px;
}

:root.dark .harmonia-timepicker, [data-theme="dark"] .harmonia-timepicker {
  --timepicker-color-focus-ring: rgba(3, 157, 227, .3);
}

:root.dark .harmonia-timepicker__trigger, [data-theme="dark"] .harmonia-timepicker__trigger {
  background: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
}

:root.dark .harmonia-timepicker__trigger:hover:not(:focus):not(.harmonia-timepicker__trigger--disabled), [data-theme="dark"] .harmonia-timepicker__trigger:hover:not(:focus):not(.harmonia-timepicker__trigger--disabled) {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

:root.dark .harmonia-timepicker__picker, [data-theme="dark"] .harmonia-timepicker__picker {
  background: var(--surface-1, var(--elevation-1-bg));
  box-shadow: 0 -4px 24px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-timepicker__handle, [data-theme="dark"] .harmonia-timepicker__handle {
  background: var(--color-neutral-600);
}

:root.dark .harmonia-timepicker__wheel-item, [data-theme="dark"] .harmonia-timepicker__wheel-item {
  border-color: var(--color-neutral-600);
}

:root.dark .harmonia-timepicker__wheel-item:hover:not(.harmonia-timepicker__wheel-item--selected), [data-theme="dark"] .harmonia-timepicker__wheel-item:hover:not(.harmonia-timepicker__wheel-item--selected) {
  background: rgba(3, 157, 227, .2);
}

:root.dark .harmonia-timepicker__cancel, [data-theme="dark"] .harmonia-timepicker__cancel {
  background: var(--color-neutral-700);
  color: var(--color-neutral-100);
}

:root.dark .harmonia-timepicker__cancel:hover, [data-theme="dark"] .harmonia-timepicker__cancel:hover {
  background: var(--color-neutral-600);
}

@media (min-width: 768px) {
  .harmonia-timepicker {
    --timepicker-touch-target: 44px;
    --timepicker-item-size: 48px;
  }

  .harmonia-timepicker__picker {
    border-radius: var(--radius-xl);
    min-width: 320px;
    padding-bottom: var(--spacing-4);
    position: absolute;
    bottom: auto;
    left: 0;
    right: auto;
    box-shadow: 0 4px 24px rgba(7, 4, 51, .15);
  }

  .harmonia-timepicker__handle {
    display: none;
  }
}

@media (min-width: 1024px) {
  .harmonia-timepicker {
    --timepicker-touch-target: 40px;
    --timepicker-item-size: 44px;
  }

  .harmonia-timepicker__value {
    font-size: var(--font-size-base);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-timepicker__cancel, .harmonia-timepicker__confirm, .harmonia-timepicker__trigger, .harmonia-timepicker__wheel-item {
    transition: none;
  }

  .harmonia-timepicker__trigger:hover, .harmonia-timepicker__wheel-item--selected:hover, .harmonia-timepicker__wheel-item:hover {
    transform: none;
  }

  .harmonia-timepicker__error {
    animation: none;
  }
}

.harmonia-brand-icon {
  transition: transform var(--duration-normal) var(--easing-ease);
}

.harmonia-brand-icon--animated:hover {
  transform: scale(1.1);
}

.harmonia-brand-icon--animated:active {
  transform: scale(.95);
}

.harmonia-brand-icon--pop.harmonia-brand-icon--animated:hover {
  filter: drop-shadow(0 0 8px rgba(7, 4, 51, .3));
}

.harmonia-brand-icon--popskills.harmonia-brand-icon--animated:hover {
  filter: drop-shadow(0 0 8px rgba(3, 157, 227, .4));
}

.harmonia-brand-icon--poplingua.harmonia-brand-icon--animated:hover {
  filter: drop-shadow(0 0 8px rgba(46, 214, 197, .4));
}

.harmonia-brand-icon--poptalent.harmonia-brand-icon--animated:hover {
  filter: drop-shadow(0 0 8px rgba(255, 90, 106, .4));
}

.harmonia-brand-icon--popmentor.harmonia-brand-icon--animated:hover {
  filter: drop-shadow(0 0 8px rgba(246, 205, 1, .4));
}

.harmonia-brand-icon--filled svg, .harmonia-brand-icon--soft {
  border-radius: var(--radius-full);
}

.harmonia-logo {
  --logo-focus-popskills: #039de3;
  --logo-focus-poplingua: #2ed6c5;
  --logo-focus-poptalent: #ff5a6a;
  --logo-focus-popmentor: #f6cd01;
  --logo-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --logo-transition-fast: .15s ease-out;
  transition: transform var(--logo-transition), filter var(--logo-transition-fast);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  line-height: 1;
  display: inline-flex;
}

.harmonia-logo[href], .harmonia-logo[role="button"], a .harmonia-logo, button .harmonia-logo {
  cursor: pointer;
}

.harmonia-logo[href]:hover, .harmonia-logo[role="button"]:hover, a:hover .harmonia-logo, button:hover .harmonia-logo {
  transform: scale(1.03);
}

.harmonia-logo[href]:active, .harmonia-logo[role="button"]:active, a:active .harmonia-logo, button:active .harmonia-logo {
  transform: scale(.98);
}

.harmonia-logo__icon {
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.harmonia-logo__icon svg {
  width: 100%;
  height: 100%;
}

.harmonia-logo__wordmark {
  align-items: center;
  display: inline-flex;
}

.harmonia-logo__wordmark svg {
  width: auto;
  height: 100%;
}

.harmonia-logo--xs {
  height: 20px;
}

.harmonia-logo--sm {
  height: 28px;
}

.harmonia-logo--md {
  height: 36px;
}

.harmonia-logo--lg {
  height: 48px;
}

.harmonia-logo--xl {
  height: 64px;
}

.harmonia-logo--2xl {
  height: 80px;
}

.harmonia-logo--icon .harmonia-logo__icon {
  aspect-ratio: 1;
}

.harmonia-logo--full {
  gap: var(--spacing-2);
}

.harmonia-logo--wordmark .harmonia-logo__wordmark {
  height: 100%;
}

.harmonia-logo:focus-visible {
  border-radius: var(--radius-sm);
  outline: 3px solid var(--logo-focus-popskills);
  outline-offset: 4px;
}

.harmonia-logo--pop:focus-visible {
  outline-color: var(--logo-focus-popskills);
}

.harmonia-logo--popskills:focus-visible {
  outline-color: var(--logo-focus-popskills);
}

.harmonia-logo--poplingua:focus-visible {
  outline-color: var(--logo-focus-poplingua);
}

.harmonia-logo--poptalent:focus-visible {
  outline-color: var(--logo-focus-poptalent);
}

.harmonia-logo--popmentor:focus-visible {
  outline-color: var(--logo-focus-popmentor);
}

.harmonia-logo--mono {
  opacity: .9;
}

.harmonia-logo--dark, .harmonia-logo--inverse {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .1));
}

.harmonia-logo--brand:hover {
  filter: brightness(1.05);
}

@media (max-width: 640px) {
  .harmonia-logo--xl {
    height: 48px;
  }

  .harmonia-logo--2xl {
    height: 64px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-logo {
    transition: none;
  }

  .harmonia-logo[href]:active, .harmonia-logo[href]:hover, .harmonia-logo[role="button"]:active, .harmonia-logo[role="button"]:hover, a:active .harmonia-logo, a:hover .harmonia-logo, button:active .harmonia-logo, button:hover .harmonia-logo {
    transform: none;
  }
}

.harmonia-brand-pattern {
  pointer-events: none;
  z-index: 0;
  position: absolute;
  overflow: hidden;
}

.harmonia-brand-pattern--background {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-brand-pattern--top {
  height: 200px;
  top: 0;
  left: 0;
  right: 0;
}

.harmonia-brand-pattern--bottom {
  height: 200px;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-brand-pattern--corner-tr {
  width: 50%;
  height: 50%;
  top: 0;
  right: 0;
}

.harmonia-brand-pattern--corner-bl {
  width: 50%;
  height: 50%;
  bottom: 0;
  left: 0;
}

.harmonia-brand-pattern--fixed {
  position: fixed;
}

.harmonia-brand-pattern__svg {
  width: 100%;
  height: 100%;
}

.harmonia-brand-pattern__svg--wave {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-brand-pattern__wave--animated {
  animation: 20s ease-in-out infinite harmonia-wave-drift;
}

@keyframes harmonia-wave-drift {
  0%, to {
    transform: translateX(0);
  }

  50% {
    transform: translateX(-2%);
  }
}

.harmonia-brand-pattern--animated .harmonia-brand-pattern__svg path:first-of-type {
  animation: 12s ease-in-out infinite harmonia-blob-morph;
}

@keyframes harmonia-blob-morph {
  0%, to {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .85;
    transform: scale(1.05);
  }
}

.harmonia-brand-pattern--minimal .harmonia-brand-pattern__svg {
  height: auto;
}

.harmonia-brand-pattern--dots .harmonia-brand-pattern__svg, :root.dark .harmonia-brand-pattern, [data-theme="dark"] .harmonia-brand-pattern {
  opacity: .6;
}

@media (max-width: 767px) {
  .harmonia-brand-pattern--corner-bl, .harmonia-brand-pattern--corner-tr {
    width: 70%;
    height: 40%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-brand-pattern--animated .harmonia-brand-pattern__svg path:first-of-type, .harmonia-brand-pattern__wave--animated {
    animation: none;
  }
}

.harmonia-grid {
  width: 100%;
  display: grid;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 640px) {
  .harmonia-grid--sm-cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }

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

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

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

  .harmonia-grid--sm-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }

  .harmonia-grid--sm-cols-6 {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (min-width: 768px) {
  .harmonia-grid--md-cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }

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

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

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

  .harmonia-grid--md-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }

  .harmonia-grid--md-cols-6 {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (min-width: 1024px) {
  .harmonia-grid--lg-cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }

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

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

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

  .harmonia-grid--lg-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }

  .harmonia-grid--lg-cols-6 {
    grid-template-columns: repeat(6, 1fr);
  }

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

  .harmonia-grid--lg-cols-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}

@media (min-width: 1280px) {
  .harmonia-grid--xl-cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }

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

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

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

  .harmonia-grid--xl-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }

  .harmonia-grid--xl-cols-6 {
    grid-template-columns: repeat(6, 1fr);
  }

  .harmonia-grid--xl-cols-8 {
    grid-template-columns: repeat(8, 1fr);
  }

  .harmonia-grid--xl-cols-10 {
    grid-template-columns: repeat(10, 1fr);
  }

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

.harmonia-grid--gap-none {
  gap: 0;
}

.harmonia-grid--gap-xs {
  gap: var(--spacing-2);
}

.harmonia-grid--gap-sm {
  gap: var(--spacing-3);
}

.harmonia-grid--gap-md {
  gap: var(--spacing-4);
}

.harmonia-grid--gap-lg {
  gap: var(--spacing-6);
}

.harmonia-grid--gap-xl {
  gap: var(--spacing-8);
}

.harmonia-grid--row-gap-none {
  row-gap: 0;
}

.harmonia-grid--row-gap-xs {
  row-gap: var(--spacing-2);
}

.harmonia-grid--row-gap-sm {
  row-gap: var(--spacing-3);
}

.harmonia-grid--row-gap-md {
  row-gap: var(--spacing-4);
}

.harmonia-grid--row-gap-lg {
  row-gap: var(--spacing-6);
}

.harmonia-grid--row-gap-xl {
  row-gap: var(--spacing-8);
}

@media (min-width: 768px) {
  .harmonia-grid--md-gap-none {
    gap: 0;
  }

  .harmonia-grid--md-gap-xs {
    gap: var(--spacing-2);
  }

  .harmonia-grid--md-gap-sm {
    gap: var(--spacing-3);
  }

  .harmonia-grid--md-gap-md {
    gap: var(--spacing-4);
  }

  .harmonia-grid--md-gap-lg {
    gap: var(--spacing-6);
  }

  .harmonia-grid--md-gap-xl {
    gap: var(--spacing-8);
  }
}

@media (min-width: 1024px) {
  .harmonia-grid--lg-gap-none {
    gap: 0;
  }

  .harmonia-grid--lg-gap-xs {
    gap: var(--spacing-2);
  }

  .harmonia-grid--lg-gap-sm {
    gap: var(--spacing-3);
  }

  .harmonia-grid--lg-gap-md {
    gap: var(--spacing-4);
  }

  .harmonia-grid--lg-gap-lg {
    gap: var(--spacing-6);
  }

  .harmonia-grid--lg-gap-xl {
    gap: var(--spacing-8);
  }
}

.harmonia-grid--align-start {
  align-items: start;
}

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

.harmonia-grid--align-end {
  align-items: end;
}

.harmonia-grid--align-stretch {
  align-items: stretch;
}

.harmonia-grid--justify-start {
  justify-content: start;
}

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

.harmonia-grid--justify-end {
  justify-content: end;
}

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

.harmonia-grid--justify-around {
  justify-content: space-around;
}

.harmonia-grid--justify-evenly {
  justify-content: space-evenly;
}

.harmonia-grid-item {
  min-width: 0;
}

.harmonia-grid-item--span-1 {
  grid-column: span 1;
}

.harmonia-grid-item--span-2 {
  grid-column: span 2;
}

.harmonia-grid-item--span-3 {
  grid-column: span 3;
}

.harmonia-grid-item--span-4 {
  grid-column: span 4;
}

.harmonia-grid-item--span-5 {
  grid-column: span 5;
}

.harmonia-grid-item--span-6 {
  grid-column: span 6;
}

.harmonia-grid-item--span-7 {
  grid-column: span 7;
}

.harmonia-grid-item--span-8 {
  grid-column: span 8;
}

.harmonia-grid-item--span-9 {
  grid-column: span 9;
}

.harmonia-grid-item--span-10 {
  grid-column: span 10;
}

.harmonia-grid-item--span-11 {
  grid-column: span 11;
}

.harmonia-grid-item--span-12 {
  grid-column: span 12;
}

.harmonia-grid-item--start-1 {
  grid-column-start: 1;
}

.harmonia-grid-item--start-2 {
  grid-column-start: 2;
}

.harmonia-grid-item--start-3 {
  grid-column-start: 3;
}

.harmonia-grid-item--start-4 {
  grid-column-start: 4;
}

.harmonia-grid-item--start-5 {
  grid-column-start: 5;
}

.harmonia-grid-item--start-6 {
  grid-column-start: 6;
}

.harmonia-grid-item--start-7 {
  grid-column-start: 7;
}

@media (min-width: 640px) {
  .harmonia-grid-item--sm-span-1 {
    grid-column: span 1;
  }

  .harmonia-grid-item--sm-span-2 {
    grid-column: span 2;
  }

  .harmonia-grid-item--sm-span-3 {
    grid-column: span 3;
  }

  .harmonia-grid-item--sm-span-4 {
    grid-column: span 4;
  }

  .harmonia-grid-item--sm-span-6 {
    grid-column: span 6;
  }
}

@media (min-width: 768px) {
  .harmonia-grid-item--md-span-1 {
    grid-column: span 1;
  }

  .harmonia-grid-item--md-span-2 {
    grid-column: span 2;
  }

  .harmonia-grid-item--md-span-3 {
    grid-column: span 3;
  }

  .harmonia-grid-item--md-span-4 {
    grid-column: span 4;
  }

  .harmonia-grid-item--md-span-6 {
    grid-column: span 6;
  }
}

@media (min-width: 1024px) {
  .harmonia-grid-item--lg-span-1 {
    grid-column: span 1;
  }

  .harmonia-grid-item--lg-span-2 {
    grid-column: span 2;
  }

  .harmonia-grid-item--lg-span-3 {
    grid-column: span 3;
  }

  .harmonia-grid-item--lg-span-4 {
    grid-column: span 4;
  }

  .harmonia-grid-item--lg-span-6 {
    grid-column: span 6;
  }

  .harmonia-grid-item--lg-span-8 {
    grid-column: span 8;
  }
}

.harmonia-stepper {
  --stepper-color-current: #039de3;
  --stepper-color-current-ring: rgba(3, 157, 227, .2);
  --stepper-color-completed: #2ed6c5;
  --stepper-color-error: #ff5a6a;
  --stepper-color-pending: var(--color-neutral-200);
  --stepper-color-focus-ring: rgba(3, 157, 227, .3);
  --stepper-bg-hover: rgba(7, 4, 51, .04);
  --stepper-text-primary: var(--color-text-primary);
  --stepper-text-secondary: var(--color-text-secondary);
  --stepper-text-tertiary: var(--color-text-tertiary);
  --stepper-connector-color: var(--color-neutral-200);
  --stepper-connector-completed: var(--stepper-color-completed);
  --stepper-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --stepper-transition-fast: .15s ease-out;
  width: 100%;
}

.harmonia-stepper__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.harmonia-stepper--horizontal .harmonia-stepper__list {
  flex-direction: row;
  align-items: flex-start;
}

.harmonia-stepper--vertical .harmonia-stepper__list {
  flex-direction: column;
}

.harmonia-step {
  display: flex;
  position: relative;
}

.harmonia-stepper--horizontal .harmonia-step {
  flex-direction: column;
  flex: 1;
}

.harmonia-stepper--vertical .harmonia-step {
  flex-direction: row;
}

.harmonia-step--clickable .harmonia-step__button {
  cursor: pointer;
}

.harmonia-step--disabled {
  cursor: not-allowed;
  opacity: .5;
}

.harmonia-step__button {
  border-radius: var(--radius-lg);
  align-items: flex-start;
  gap: var(--spacing-3);
  padding: var(--spacing-2);
  transition: background-color var(--stepper-transition-fast), transform var(--stepper-transition);
  background: none;
  border: none;
  display: flex;
}

.harmonia-stepper--horizontal .harmonia-step__button {
  text-align: center;
  flex-direction: column;
  align-items: center;
}

.harmonia-stepper--vertical .harmonia-step__button {
  text-align: left;
  flex-direction: row;
}

.harmonia-step--clickable .harmonia-step__button:hover {
  background-color: var(--stepper-bg-hover);
}

.harmonia-step--clickable .harmonia-step__button:active {
  transform: scale(.98);
}

.harmonia-step__button:focus-visible {
  border-radius: var(--radius-lg);
  box-shadow: 0 0 0 3px var(--stepper-color-focus-ring);
  outline: none;
}

.harmonia-step__indicator {
  background-color: var(--stepper-color-pending);
  border-radius: var(--radius-full);
  color: var(--stepper-text-tertiary);
  font-weight: var(--font-weight-semibold);
  transition: background-color var(--stepper-transition), color var(--stepper-transition), box-shadow var(--stepper-transition), transform var(--stepper-transition);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-stepper--sm .harmonia-step__indicator {
  font-size: var(--font-size-xs);
  width: 24px;
  height: 24px;
}

.harmonia-stepper--md .harmonia-step__indicator {
  font-size: var(--font-size-sm);
  width: 32px;
  height: 32px;
}

.harmonia-stepper--lg .harmonia-step__indicator {
  font-size: var(--font-size-base);
  width: 40px;
  height: 40px;
}

.harmonia-step--current .harmonia-step__indicator {
  background-color: var(--stepper-color-current);
  box-shadow: 0 0 0 4px var(--stepper-color-current-ring);
  color: #fff;
  transform: scale(1.05);
}

.harmonia-step--completed .harmonia-step__indicator {
  background-color: var(--stepper-color-completed);
  color: #fff;
}

.harmonia-step--error .harmonia-step__indicator {
  background-color: var(--stepper-color-error);
  color: #fff;
}

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

.harmonia-step__check {
  width: 60%;
  height: 60%;
}

.harmonia-step__icon {
  justify-content: center;
  align-items: center;
  width: 60%;
  height: 60%;
  display: flex;
}

.harmonia-step__dot {
  border-radius: var(--radius-full);
  background-color: currentColor;
  width: 8px;
  height: 8px;
}

.harmonia-step__content {
  gap: var(--spacing-0-5);
  flex-direction: column;
  display: flex;
}

.harmonia-step__label {
  color: var(--stepper-text-primary);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-tight);
  transition: color var(--stepper-transition-fast);
}

.harmonia-stepper--sm .harmonia-step__label {
  font-size: var(--font-size-sm);
}

.harmonia-stepper--md .harmonia-step__label {
  font-size: var(--font-size-base);
}

.harmonia-stepper--lg .harmonia-step__label {
  font-size: var(--font-size-lg);
}

.harmonia-step--current .harmonia-step__label {
  color: var(--stepper-color-current);
}

.harmonia-step--pending .harmonia-step__label, .harmonia-step__optional {
  color: var(--stepper-text-tertiary);
}

.harmonia-step__optional {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  margin-left: var(--spacing-1);
}

.harmonia-step__description {
  color: var(--stepper-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}

.harmonia-step__connector {
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-stepper--horizontal .harmonia-step__connector {
  height: var(--spacing-8);
  padding: 0 var(--spacing-2);
  position: absolute;
  top: 0;
  left: 50%;
  right: -50%;
}

.harmonia-stepper--horizontal.harmonia-stepper--sm .harmonia-step__connector {
  height: var(--spacing-6);
  top: calc(12px + var(--spacing-2));
  transform: translateY(-50%);
}

.harmonia-stepper--horizontal.harmonia-stepper--md .harmonia-step__connector {
  height: var(--spacing-8);
  top: calc(16px + var(--spacing-2));
  transform: translateY(-50%);
}

.harmonia-stepper--horizontal.harmonia-stepper--lg .harmonia-step__connector {
  height: var(--spacing-10);
  top: calc(20px + var(--spacing-2));
  transform: translateY(-50%);
}

.harmonia-stepper--vertical .harmonia-step__connector {
  padding: var(--spacing-2) 0;
  width: var(--spacing-8);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.harmonia-stepper--vertical.harmonia-stepper--sm .harmonia-step__connector {
  left: calc(12px + var(--spacing-2));
  width: var(--spacing-6);
  transform: translateX(-50%);
}

.harmonia-stepper--vertical.harmonia-stepper--md .harmonia-step__connector {
  left: calc(16px + var(--spacing-2));
  width: var(--spacing-8);
  transform: translateX(-50%);
}

.harmonia-stepper--vertical.harmonia-stepper--lg .harmonia-step__connector {
  left: calc(20px + var(--spacing-2));
  width: var(--spacing-10);
  transform: translateX(-50%);
}

.harmonia-step__connector-line {
  background-color: var(--stepper-connector-color);
  transition: background-color var(--stepper-transition);
}

.harmonia-stepper--horizontal .harmonia-step__connector-line {
  width: 100%;
  height: 2px;
}

.harmonia-stepper--vertical .harmonia-step__connector-line {
  width: 2px;
  height: 100%;
}

.harmonia-step__connector-line--completed {
  background-color: var(--stepper-connector-completed);
}

.harmonia-step-content {
  margin-top: var(--spacing-6);
  padding: var(--spacing-4);
}

@media (max-width: 640px) {
  .harmonia-stepper--horizontal .harmonia-stepper__list {
    flex-direction: column;
  }

  .harmonia-stepper--horizontal .harmonia-step {
    flex-direction: row;
  }

  .harmonia-stepper--horizontal .harmonia-step__button {
    text-align: left;
    flex-direction: row;
  }

  .harmonia-stepper--horizontal .harmonia-step__connector {
    height: auto;
    padding: var(--spacing-2) 0;
    width: var(--spacing-8);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
  }

  .harmonia-stepper--horizontal .harmonia-step__connector-line {
    width: 2px;
    height: 100%;
  }
}

:root.dark .harmonia-stepper, [data-theme="dark"] .harmonia-stepper {
  --stepper-color-pending: rgba(255, 255, 255, .15);
  --stepper-color-current-ring: rgba(3, 157, 227, .3);
  --stepper-bg-hover: rgba(255, 255, 255, .06);
  --stepper-connector-color: rgba(255, 255, 255, .15);
}

:root.dark .harmonia-step--current .harmonia-step__indicator, [data-theme="dark"] .harmonia-step--current .harmonia-step__indicator {
  box-shadow: 0 0 0 4px var(--stepper-color-current-ring);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-stepper {
    --stepper-transition: 0s;
    --stepper-transition-fast: 0s;
  }

  .harmonia-step__button, .harmonia-step__connector-line, .harmonia-step__indicator, .harmonia-step__label {
    transition: none;
  }

  .harmonia-step--clickable .harmonia-step__button:active, .harmonia-step--current .harmonia-step__indicator {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-step__button:focus-visible {
    box-shadow: 0 0 0 4px var(--stepper-color-current);
  }

  .harmonia-step__connector-line {
    height: 3px;
  }

  .harmonia-stepper--vertical .harmonia-step__connector-line {
    width: 3px;
    height: 100%;
  }

  .harmonia-step--current .harmonia-step__indicator {
    box-shadow: 0 0 0 5px var(--stepper-color-current-ring);
  }
}

.harmonia-tabs {
  --tabs-color-active: #039de3;
  --tabs-color-active-hover: #0284c7;
  --tabs-color-focus-ring: rgba(3, 157, 227, .2);
  --tabs-trigger-min-height: 48px;
  --tabs-indicator-height: 3px;
  --tabs-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --tabs-transition-fast: .15s ease-out;
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-tabs--vertical {
  flex-direction: row;
}

.harmonia-tabs__list {
  gap: var(--spacing-1);
  display: flex;
  position: relative;
}

.harmonia-tabs--horizontal .harmonia-tabs__list {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  border-bottom: 1px solid var(--color-border-light);
  scrollbar-width: none;
  flex-direction: row;
  overflow-x: auto;
}

.harmonia-tabs--horizontal .harmonia-tabs__list::-webkit-scrollbar {
  display: none;
}

.harmonia-tabs--vertical .harmonia-tabs__list {
  border-right: 1px solid var(--color-border-light);
  padding-right: var(--spacing-4);
  flex-direction: column;
}

.harmonia-tabs__trigger {
  color: var(--color-text-secondary);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  align-items: center;
  gap: var(--spacing-2);
  min-height: var(--tabs-trigger-min-height);
  padding: var(--spacing-3) var(--spacing-4);
  transition: color var(--tabs-transition-fast), background-color var(--tabs-transition-fast), transform var(--tabs-transition);
  white-space: nowrap;
  background: none;
  border: none;
  flex-shrink: 0;
  justify-content: center;
  display: flex;
  position: relative;
}

.harmonia-tabs__trigger:hover:not(.harmonia-tabs__trigger--disabled):not(.harmonia-tabs__trigger--active) {
  color: var(--color-text-primary);
  background-color: rgba(3, 157, 227, .05);
}

.harmonia-tabs__trigger--active {
  color: var(--tabs-color-active);
}

.harmonia-tabs__trigger--active:hover {
  color: var(--tabs-color-active-hover);
}

.harmonia-tabs__trigger--disabled {
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: .5;
}

.harmonia-tabs__trigger:focus-visible {
  border-radius: var(--radius-md);
  box-shadow: 0 0 0 4px var(--tabs-color-focus-ring);
  outline: 3px solid var(--tabs-color-active);
  outline-offset: 2px;
}

.harmonia-tabs__trigger:active:not(.harmonia-tabs__trigger--disabled) {
  transform: scale(.98);
}

.harmonia-tabs__trigger-icon {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  display: flex;
}

.harmonia-tabs__trigger-icon svg {
  width: 100%;
  height: 100%;
}

.harmonia-tabs__indicator {
  background-color: var(--tabs-color-active);
  border-radius: var(--radius-full);
  transition: left var(--tabs-transition), right var(--tabs-transition), top var(--tabs-transition), bottom var(--tabs-transition), width var(--tabs-transition), height var(--tabs-transition);
  position: absolute;
}

.harmonia-tabs--horizontal .harmonia-tabs__indicator {
  height: var(--tabs-indicator-height);
  bottom: -1px;
  left: 0;
}

.harmonia-tabs--vertical .harmonia-tabs__indicator {
  width: var(--tabs-indicator-height);
  top: 0;
  right: -1px;
}

.harmonia-tabs__content {
  flex: 1;
  min-width: 0;
}

.harmonia-tabs__content:focus {
  outline: none;
}

.harmonia-tabs__content:focus-visible {
  border-radius: var(--radius-md);
  outline: 2px solid var(--tabs-color-active);
  outline-offset: 4px;
}

.harmonia-tabs--sm {
  --tabs-trigger-min-height: 44px;
  --tabs-indicator-height: 2px;
}

.harmonia-tabs--sm .harmonia-tabs__trigger {
  font-size: var(--font-size-sm);
  padding: var(--spacing-2) var(--spacing-3);
}

.harmonia-tabs--sm .harmonia-tabs__trigger-icon {
  width: 16px;
  height: 16px;
}

.harmonia-tabs--lg {
  --tabs-trigger-min-height: 56px;
  --tabs-indicator-height: 4px;
}

.harmonia-tabs--lg .harmonia-tabs__trigger {
  font-size: var(--font-size-lg);
  padding: var(--spacing-4) var(--spacing-6);
}

.harmonia-tabs--lg .harmonia-tabs__trigger-icon {
  width: 24px;
  height: 24px;
}

.harmonia-tabs--pills .harmonia-tabs__list {
  background-color: var(--color-neutral-100);
  border-radius: var(--radius-xl);
  gap: var(--spacing-1);
  padding: var(--spacing-1);
  border: none;
}

.harmonia-tabs--pills .harmonia-tabs__trigger {
  border-radius: var(--radius-lg);
  z-index: 1;
}

.harmonia-tabs--pills .harmonia-tabs__trigger:hover:not(.harmonia-tabs__trigger--disabled):not(.harmonia-tabs__trigger--active) {
  background-color: rgba(7, 4, 51, .05);
}

.harmonia-tabs--pills .harmonia-tabs__trigger--active {
  color: var(--color-text-primary);
}

.harmonia-tabs--pills .harmonia-tabs__indicator {
  background-color: var(--color-background-primary);
  border-radius: var(--radius-lg);
  z-index: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0 1px 3px rgba(7, 4, 51, .1);
}

.harmonia-tabs--underline .harmonia-tabs__list {
  gap: var(--spacing-4);
}

.harmonia-tabs--underline .harmonia-tabs__trigger {
  padding: var(--spacing-3) var(--spacing-1);
}

.harmonia-tabs--underline .harmonia-tabs__trigger:hover:not(.harmonia-tabs__trigger--disabled):not(.harmonia-tabs__trigger--active) {
  background-color: rgba(0, 0, 0, 0);
}

.harmonia-tabs--underline .harmonia-tabs__indicator {
  border-radius: var(--radius-full);
  height: var(--tabs-indicator-height);
}

.harmonia-tabs--boxed .harmonia-tabs__list {
  background-color: var(--color-background-primary);
  border: 2px solid var(--color-border-default);
  border-radius: var(--radius-xl);
  padding: var(--spacing-1);
  gap: 0;
}

.harmonia-tabs--boxed .harmonia-tabs__trigger {
  border-radius: var(--radius-lg);
  z-index: 1;
  border: 2px solid rgba(0, 0, 0, 0);
}

.harmonia-tabs--boxed .harmonia-tabs__trigger--active {
  border-color: var(--tabs-color-active);
  background-color: rgba(3, 157, 227, .05);
}

.harmonia-tabs--boxed .harmonia-tabs__indicator {
  display: none;
}

@media (prefers-contrast: high) {
  .harmonia-tabs__trigger:focus-visible {
    outline-width: 4px;
    outline-color: currentColor;
  }

  .harmonia-tabs__indicator {
    height: 4px;
  }
}

:root.dark .harmonia-tabs, [data-theme="dark"] .harmonia-tabs {
  --tabs-color-focus-ring: rgba(3, 157, 227, .3);
}

:root.dark .harmonia-tabs__trigger:hover:not(.harmonia-tabs__trigger--disabled):not(.harmonia-tabs__trigger--active), [data-theme="dark"] .harmonia-tabs__trigger:hover:not(.harmonia-tabs__trigger--disabled):not(.harmonia-tabs__trigger--active) {
  background-color: rgba(3, 157, 227, .1);
}

:root.dark .harmonia-tabs--pills .harmonia-tabs__list, [data-theme="dark"] .harmonia-tabs--pills .harmonia-tabs__list {
  background-color: var(--color-neutral-800);
}

:root.dark .harmonia-tabs--pills .harmonia-tabs__indicator, [data-theme="dark"] .harmonia-tabs--pills .harmonia-tabs__indicator {
  background-color: var(--surface-1, var(--elevation-1-bg));
  box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-tabs--boxed .harmonia-tabs__list, [data-theme="dark"] .harmonia-tabs--boxed .harmonia-tabs__list {
  background-color: var(--surface-1, var(--elevation-1-bg));
  border-color: var(--color-border-default);
}

:root.dark .harmonia-tabs--boxed .harmonia-tabs__trigger--active, [data-theme="dark"] .harmonia-tabs--boxed .harmonia-tabs__trigger--active {
  background-color: rgba(3, 157, 227, .15);
}

@media (min-width: 768px) {
  .harmonia-tabs {
    --tabs-trigger-min-height: 44px;
  }

  .harmonia-tabs--sm {
    --tabs-trigger-min-height: 40px;
  }

  .harmonia-tabs--lg {
    --tabs-trigger-min-height: 52px;
  }
}

@media (min-width: 1024px) {
  .harmonia-tabs {
    --tabs-trigger-min-height: 40px;
  }

  .harmonia-tabs__trigger {
    font-size: var(--font-size-base);
  }

  .harmonia-tabs--sm {
    --tabs-trigger-min-height: 36px;
  }

  .harmonia-tabs--sm .harmonia-tabs__trigger {
    font-size: var(--font-size-sm);
  }

  .harmonia-tabs--lg {
    --tabs-trigger-min-height: 48px;
  }
}

@media (max-width: 640px) {
  .harmonia-tabs--vertical {
    flex-direction: column;
  }

  .harmonia-tabs--vertical .harmonia-tabs__list {
    -webkit-overflow-scrolling: touch;
    border-bottom: 1px solid var(--color-border-light);
    border-right: none;
    flex-direction: row;
    padding-right: 0;
    overflow-x: auto;
  }

  .harmonia-tabs--vertical .harmonia-tabs__indicator {
    height: var(--tabs-indicator-height);
    width: auto;
    top: auto;
    bottom: -1px;
    right: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-tabs__indicator, .harmonia-tabs__trigger {
    transition: none;
  }

  .harmonia-tabs__trigger:active:not(.harmonia-tabs__trigger--disabled) {
    transform: none;
  }
}

.harmonia-accordion {
  --accordion-color-primary: #039de3;
  --accordion-color-focus-ring: rgba(3, 157, 227, .2);
  --accordion-color-expanded-border: rgba(3, 157, 227, .3);
  --accordion-bg-hover: rgba(7, 4, 51, .04);
  --accordion-bg-item: var(--color-background-primary);
  --accordion-border-color: var(--color-border-light);
  --accordion-border-expanded: var(--accordion-color-primary);
  --accordion-text-primary: var(--color-text-primary);
  --accordion-text-secondary: var(--color-text-secondary);
  --accordion-text-tertiary: var(--color-text-tertiary);
  --accordion-trigger-min-height: 48px;
  --accordion-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --accordion-transition-fast: .15s ease-out;
  flex-direction: column;
  display: flex;
}

.harmonia-accordion--default .harmonia-accordion__item {
  border-bottom: 1px solid var(--accordion-border-color);
}

.harmonia-accordion--default .harmonia-accordion__item:last-child {
  border-bottom: none;
}

.harmonia-accordion--bordered {
  border: 1px solid var(--accordion-border-color);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

.harmonia-accordion--bordered .harmonia-accordion__item {
  border-bottom: 1px solid var(--accordion-border-color);
}

.harmonia-accordion--bordered .harmonia-accordion__item:last-child {
  border-bottom: none;
}

.harmonia-accordion--separated {
  gap: var(--spacing-2);
}

.harmonia-accordion--separated .harmonia-accordion__item {
  border: 1px solid var(--accordion-border-color);
  border-radius: var(--radius-lg);
  transition: border-color var(--accordion-transition-fast), box-shadow var(--accordion-transition);
  overflow: hidden;
}

.harmonia-accordion--separated .harmonia-accordion__item--expanded {
  border-color: var(--accordion-border-expanded);
  box-shadow: 0 0 0 3px var(--accordion-color-focus-ring), var(--elevation-1);
}

.harmonia-accordion__item {
  background-color: var(--accordion-bg-item);
}

.harmonia-accordion__item--disabled {
  opacity: .5;
  pointer-events: none;
}

.harmonia-accordion__trigger {
  color: var(--accordion-text-primary);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  min-height: var(--accordion-trigger-min-height);
  padding: var(--spacing-4);
  text-align: left;
  transition: background-color var(--accordion-transition-fast), color var(--accordion-transition-fast);
  background: none;
  border: none;
  align-items: center;
  width: 100%;
  display: flex;
}

.harmonia-accordion__trigger:hover {
  background-color: var(--accordion-bg-hover);
}

.harmonia-accordion__trigger:focus-visible {
  border-radius: var(--radius-sm);
  box-shadow: inset 0 0 0 3px var(--accordion-color-primary), inset 0 0 0 5px var(--accordion-color-focus-ring);
  outline: none;
}

.harmonia-accordion__trigger:active {
  background-color: var(--accordion-bg-hover);
}

.harmonia-accordion__item--expanded .harmonia-accordion__trigger {
  color: var(--accordion-color-primary);
}

.harmonia-accordion__trigger-icon {
  color: var(--accordion-text-secondary);
  height: 1.25rem;
  margin-right: var(--spacing-3);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  display: flex;
}

.harmonia-accordion__trigger-icon svg {
  width: 100%;
  height: 100%;
}

.harmonia-accordion__trigger-text {
  flex: 1;
}

.harmonia-accordion__chevron {
  color: var(--accordion-text-tertiary);
  height: 1.25rem;
  margin-left: var(--spacing-3);
  transition: transform var(--accordion-transition);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  display: flex;
}

.harmonia-accordion__chevron svg {
  width: 100%;
  height: 100%;
}

.harmonia-accordion__item--expanded .harmonia-accordion__chevron {
  color: var(--accordion-color-primary);
  transform: rotate(180deg);
}

.harmonia-accordion__content {
  overflow: hidden;
}

.harmonia-accordion__content-inner {
  color: var(--accordion-text-secondary);
  line-height: var(--line-height-relaxed);
  padding: 0 var(--spacing-4) var(--spacing-4);
}

.harmonia-accordion__trigger-icon + .harmonia-accordion__trigger-text ~ .harmonia-accordion__content-inner {
  padding-left: calc(var(--spacing-4)  + 1.25rem + var(--spacing-3));
}

@media (min-width: 768px) {
  .harmonia-accordion {
    --accordion-trigger-min-height: 44px;
  }
}

@media (min-width: 1024px) {
  .harmonia-accordion {
    --accordion-trigger-min-height: 40px;
  }
}

:root.dark .harmonia-accordion, [data-theme="dark"] .harmonia-accordion {
  --accordion-bg-hover: rgba(255, 255, 255, .06);
  --accordion-bg-item: var(--surface-1, var(--elevation-1-bg));
  --accordion-border-color: var(--color-border-default);
  --accordion-color-focus-ring: rgba(3, 157, 227, .3);
}

:root.dark .harmonia-accordion--separated .harmonia-accordion__item--expanded, [data-theme="dark"] .harmonia-accordion--separated .harmonia-accordion__item--expanded {
  box-shadow: 0 0 0 3px var(--accordion-color-focus-ring), 0 4px 16px rgba(0, 0, 0, .3);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-accordion, .harmonia-accordion--separated .harmonia-accordion__item {
    --accordion-transition: 0s;
    --accordion-transition-fast: 0s;
  }

  .harmonia-accordion__chevron, .harmonia-accordion__content, .harmonia-accordion__trigger {
    transition: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-accordion__trigger:focus-visible {
    box-shadow: inset 0 0 0 4px var(--accordion-color-primary), inset 0 0 0 6px var(--accordion-bg-item);
  }

  .harmonia-accordion--separated .harmonia-accordion__item--expanded {
    border-width: 2px;
  }
}

.harmonia-bottom-nav {
  --bottomnav-color-active: #039de3;
  --bottomnav-color-badge: #ff5a6a;
  --bottomnav-color-focus-ring: rgba(3, 157, 227, .3);
  --bottomnav-bg: var(--color-background-primary);
  --bottomnav-bg-active: rgba(3, 157, 227, .08);
  --bottomnav-border-color: var(--color-border-light);
  --bottomnav-text-inactive: var(--color-text-tertiary);
  --bottomnav-text-active: var(--bottomnav-color-active);
  --bottomnav-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --bottomnav-transition-fast: .15s ease-out;
  background-color: var(--bottomnav-bg);
  border-top: 1px solid var(--bottomnav-border-color);
  padding-bottom: var(--safe-area-bottom);
  transition: transform var(--bottomnav-transition);
  will-change: transform;
  z-index: var(--z-index-bottom-nav);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateY(0)translateZ(0);
}

.harmonia-bottom-nav--hidden {
  transform: translateY(100%);
}

@media (min-width: 1024px) {
  .harmonia-bottom-nav {
    display: none;
  }
}

.harmonia-bottom-nav__list {
  height: var(--spacing-bottom-nav-height);
  justify-content: space-around;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.harmonia-bottom-nav__item {
  flex: 1;
  min-width: 0;
  display: flex;
}

.harmonia-bottom-nav__button {
  -webkit-tap-highlight-color: transparent;
  color: var(--bottomnav-text-inactive);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-1);
  min-height: var(--touch-target-comfortable);
  padding: var(--spacing-2) var(--spacing-1);
  touch-action: manipulation;
  transition: color var(--bottomnav-transition-fast), background-color var(--bottomnav-transition-fast), transform var(--bottomnav-transition);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background: none;
  border: none;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  display: flex;
}

.harmonia-bottom-nav__button:hover {
  background-color: var(--bottomnav-bg-active);
}

.harmonia-bottom-nav__button:active {
  transform: scale(.95);
}

.harmonia-bottom-nav__button--active {
  background-color: var(--bottomnav-bg-active);
  color: var(--bottomnav-text-active);
}

.harmonia-bottom-nav__button--disabled {
  cursor: not-allowed;
  opacity: .4;
  pointer-events: none;
}

.harmonia-bottom-nav__button:focus-visible {
  border-radius: var(--radius-md);
  box-shadow: inset 0 0 0 3px var(--bottomnav-color-active);
  outline: none;
}

.harmonia-bottom-nav__icon {
  height: 24px;
  transition: transform var(--bottomnav-transition);
  justify-content: center;
  align-items: center;
  width: 24px;
  display: flex;
  position: relative;
}

.harmonia-bottom-nav__icon svg {
  width: 24px;
  height: 24px;
}

.harmonia-bottom-nav__button--active .harmonia-bottom-nav__icon {
  transform: scale(1.1);
}

.harmonia-bottom-nav--icons-only .harmonia-bottom-nav__icon, .harmonia-bottom-nav--icons-only .harmonia-bottom-nav__icon svg {
  width: 28px;
  height: 28px;
}

.harmonia-bottom-nav__badge {
  background-color: var(--bottomnav-color-badge);
  border-radius: var(--radius-full);
  color: #fff;
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  text-align: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  line-height: 18px;
  animation: 2s ease-in-out infinite bottomnav-badge-pulse;
  position: absolute;
  top: -4px;
  right: -8px;
  box-shadow: 0 2px 6px rgba(255, 90, 106, .4);
}

@keyframes bottomnav-badge-pulse {
  0%, to {
    transform: scale(1);
  }

  50% {
    transform: scale(1.1);
  }
}

.harmonia-bottom-nav__label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-overflow: ellipsis;
  max-width: 100%;
  transition: font-weight var(--bottomnav-transition-fast);
  white-space: nowrap;
  line-height: 1;
  overflow: hidden;
}

.harmonia-bottom-nav__button--active .harmonia-bottom-nav__label {
  font-weight: var(--font-weight-semibold);
}

:root.dark .harmonia-bottom-nav, [data-theme="dark"] .harmonia-bottom-nav {
  --bottomnav-bg: var(--surface-1, #1a1a2e);
  --bottomnav-border-color: var(--color-border-default);
  --bottomnav-bg-active: rgba(3, 157, 227, .12);
  --bottomnav-text-inactive: rgba(255, 255, 255, .5);
}

:root.dark .harmonia-bottom-nav__badge, [data-theme="dark"] .harmonia-bottom-nav__badge {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .4);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-bottom-nav, .harmonia-bottom-nav__button {
    transition: none;
  }

  .harmonia-bottom-nav__button:active {
    transform: none;
  }

  .harmonia-bottom-nav__icon {
    transition: none;
  }

  .harmonia-bottom-nav__button--active .harmonia-bottom-nav__icon {
    transform: none;
  }

  .harmonia-bottom-nav__badge {
    animation: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-bottom-nav__button:focus-visible {
    box-shadow: inset 0 0 0 4px var(--bottomnav-color-active);
  }

  .harmonia-bottom-nav__button--active {
    text-underline-offset: 2px;
    text-decoration: underline;
  }
}

.harmonia-swipeable {
  --swipeable-color-primary: #039de3;
  --swipeable-color-success: #2ed6c5;
  --swipeable-color-warning: #f6cd01;
  --swipeable-color-error: #ff5a6a;
  --swipeable-color-neutral: #6b7280;
  --swipeable-action-width: 80px;
  --swipeable-action-min-height: 100%;
  --swipeable-icon-size: 24px;
  --swipeable-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --swipeable-transition-fast: .15s ease-out;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.harmonia-swipeable, .harmonia-swipeable__content {
  background-color: var(--color-background-primary);
  position: relative;
}

.harmonia-swipeable__content {
  cursor: grab;
  touch-action: pan-y;
  transition: transform var(--swipeable-transition);
  will-change: transform;
  z-index: 1;
  transform: translateZ(0);
}

.harmonia-swipeable__content:active {
  cursor: grabbing;
}

.harmonia-swipeable__content--dragging {
  transform: scale(.98);
  box-shadow: 0 8px 24px rgba(7, 4, 51, .1);
}

.harmonia-swipeable__actions {
  align-items: stretch;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
}

.harmonia-swipeable__actions--left {
  left: 0;
}

.harmonia-swipeable__actions--right {
  flex-direction: row-reverse;
  right: 0;
}

.harmonia-swipeable__action {
  -webkit-tap-highlight-color: transparent;
  color: #fff;
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  align-items: center;
  gap: var(--spacing-1);
  min-height: var(--swipeable-action-min-height);
  padding: var(--spacing-3);
  touch-action: manipulation;
  transition: opacity var(--swipeable-transition-fast), transform var(--swipeable-transition);
  width: var(--swipeable-action-width);
  border: none;
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.harmonia-swipeable__action:hover {
  transform: scale(1.05);
}

.harmonia-swipeable__action:active {
  opacity: .8;
  transform: scale(.95);
}

.harmonia-swipeable__action:focus-visible {
  outline-offset: -4px;
  outline: 2px solid #fff;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .3);
}

.harmonia-swipeable__action--primary {
  background-color: var(--swipeable-color-primary);
}

.harmonia-swipeable__action--primary:hover {
  background-color: #0284c7;
}

.harmonia-swipeable__action--success {
  background-color: var(--swipeable-color-success);
}

.harmonia-swipeable__action--success:hover {
  background-color: #1a9e91;
}

.harmonia-swipeable__action--warning {
  background-color: var(--swipeable-color-warning);
  color: #070433;
}

.harmonia-swipeable__action--warning:hover {
  background-color: #d9b300;
}

.harmonia-swipeable__action--error {
  background-color: var(--swipeable-color-error);
}

.harmonia-swipeable__action--error:hover {
  background-color: #e5424f;
}

.harmonia-swipeable__action--neutral {
  background-color: var(--swipeable-color-neutral);
}

.harmonia-swipeable__action--neutral:hover {
  background-color: #4b5563;
}

.harmonia-swipeable__action-icon {
  height: var(--swipeable-icon-size);
  width: var(--swipeable-icon-size);
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-swipeable__action-icon svg {
  width: 100%;
  height: 100%;
}

.harmonia-swipeable__action-label {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
}

:root.dark .harmonia-swipeable, :root.dark .harmonia-swipeable__content, [data-theme="dark"] .harmonia-swipeable, [data-theme="dark"] .harmonia-swipeable__content {
  background-color: var(--surface-1, var(--elevation-1-bg));
}

:root.dark .harmonia-swipeable__content--dragging, [data-theme="dark"] .harmonia-swipeable__content--dragging {
  box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-swipeable__action--warning, [data-theme="dark"] .harmonia-swipeable__action--warning {
  color: #070433;
}

@media (min-width: 768px) {
  .harmonia-swipeable {
    --swipeable-action-width: 88px;
    --swipeable-icon-size: 22px;
  }

  .harmonia-swipeable:hover .harmonia-swipeable__actions {
    opacity: 1;
  }
}

@media (min-width: 1024px) {
  .harmonia-swipeable {
    --swipeable-action-width: 96px;
    --swipeable-icon-size: 20px;
  }

  .harmonia-swipeable__action {
    font-size: var(--font-size-sm);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-swipeable__action, .harmonia-swipeable__content {
    transition: none;
  }

  .harmonia-swipeable__action:active, .harmonia-swipeable__action:hover, .harmonia-swipeable__content--dragging {
    transform: none;
  }
}

.harmonia-progressive-disclosure {
  flex-direction: column;
  max-width: 600px;
  min-height: 400px;
  margin: 0 auto;
  display: flex;
}

.harmonia-progressive-disclosure__progress {
  margin-bottom: var(--spacing-6);
}

.harmonia-progressive-disclosure__progress-bar {
  background-color: var(--color-neutral-200);
  border-radius: var(--radius-full);
  height: 4px;
  overflow: hidden;
}

.harmonia-progressive-disclosure__progress-fill {
  background: linear-gradient(90deg, var(--color-primary-500) 0, var(--color-primary-400) 100%);
  border-radius: var(--radius-full);
  height: 100%;
}

.harmonia-progressive-disclosure__progress-text {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  margin-top: var(--spacing-2);
  text-align: center;
  display: block;
}

.harmonia-progressive-disclosure__content {
  flex: 1;
  position: relative;
  overflow: hidden;
}

.harmonia-progressive-disclosure__step {
  flex-direction: column;
  display: flex;
}

.harmonia-progressive-disclosure__title {
  color: var(--color-text-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  margin: 0 0 var(--spacing-2);
}

.harmonia-progressive-disclosure__helper {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0 0 var(--spacing-6);
}

.harmonia-progressive-disclosure__step-content {
  flex: 1;
}

.harmonia-progressive-disclosure__navigation {
  border-top: 1px solid var(--color-border-light);
  margin-top: var(--spacing-8);
  padding-top: var(--spacing-4);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.harmonia-progressive-disclosure__nav-left {
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-progressive-disclosure__nav-right {
  gap: var(--spacing-3);
  display: flex;
}

@media (max-width: 640px) {
  .harmonia-progressive-disclosure {
    min-height: 300px;
  }

  .harmonia-progressive-disclosure__title {
    font-size: var(--font-size-xl);
  }

  .harmonia-progressive-disclosure__navigation {
    gap: var(--spacing-4);
    flex-direction: column;
  }

  .harmonia-progressive-disclosure__nav-left, .harmonia-progressive-disclosure__nav-right {
    justify-content: center;
    width: 100%;
  }

  .harmonia-progressive-disclosure__nav-right {
    flex-direction: column;
  }

  .harmonia-progressive-disclosure__nav-right .harmonia-button {
    width: 100%;
  }
}

.harmonia-woop-flow {
  --woop-color-wish: #ff5a6a;
  --woop-color-outcome: #2ed6c5;
  --woop-color-obstacle: #f6cd01;
  --woop-color-plan: #039de3;
  --woop-color-success: #2ed6c5;
  --woop-focus-ring: rgba(3, 157, 227, .3);
  --woop-bg-input: var(--color-background-primary);
  --woop-bg-summary: rgba(7, 4, 51, .04);
  --woop-bg-if-then: var(--color-background-primary);
  --woop-text-primary: var(--color-text-primary);
  --woop-text-secondary: var(--color-text-secondary);
  --woop-text-tertiary: var(--color-text-tertiary);
  --woop-border-color: var(--color-border-default);
  --woop-border-focus: var(--woop-color-plan);
  --woop-step-size: 2.5rem;
  --woop-nav-min-height: 48px;
  --woop-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --woop-transition-fast: .15s ease-out;
  gap: var(--spacing-6);
  flex-direction: column;
  max-width: 600px;
  margin: 0 auto;
  display: flex;
}

.harmonia-woop-flow__steps {
  padding: 0 var(--spacing-4);
  justify-content: space-between;
  display: flex;
}

.harmonia-woop-flow__step-indicator {
  align-items: center;
  gap: var(--spacing-1);
  opacity: .4;
  transition: opacity var(--woop-transition);
  flex-direction: column;
  display: flex;
}

.harmonia-woop-flow__step-indicator--active, .harmonia-woop-flow__step-indicator--completed {
  opacity: 1;
}

.harmonia-woop-flow__step-letter {
  background-color: var(--step-color, var(--woop-color-plan));
  border-radius: var(--radius-full);
  color: var(--color-neutral-900);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  height: var(--woop-step-size);
  transition: background-color var(--woop-transition), box-shadow var(--woop-transition), transform var(--woop-transition);
  width: var(--woop-step-size);
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-woop-flow__step-indicator--active .harmonia-woop-flow__step-letter {
  box-shadow: 0 0 0 4px var(--step-color, var(--woop-color-plan));
}

@supports (color: color-mix(in lab, red, red)) {
  .harmonia-woop-flow__step-indicator--active .harmonia-woop-flow__step-letter {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--step-color, var(--woop-color-plan)) 25%, transparent);
  }
}

.harmonia-woop-flow__step-indicator--active .harmonia-woop-flow__step-letter {
  transform: scale(1.05);
}

.harmonia-woop-flow__step-indicator--completed .harmonia-woop-flow__step-letter {
  background-color: var(--woop-color-success);
  color: #fff;
}

.harmonia-woop-flow__step-indicator--completed .harmonia-woop-flow__step-letter:after {
  content: "✓";
}

.harmonia-woop-flow__step-label {
  color: var(--woop-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}

.harmonia-woop-flow__content {
  min-height: 350px;
}

.harmonia-woop-flow__title {
  color: var(--woop-text-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  align-items: baseline;
  gap: var(--spacing-2);
  margin: 0 0 var(--spacing-4);
  display: flex;
}

.harmonia-woop-flow__count {
  color: var(--woop-text-tertiary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
}

.harmonia-woop-flow__prompt {
  font-size: var(--font-size-lg);
  margin: 0 0 var(--spacing-4);
}

.harmonia-woop-flow__input, .harmonia-woop-flow__prompt {
  color: var(--woop-text-primary);
  line-height: var(--line-height-relaxed);
}

.harmonia-woop-flow__input {
  background-color: var(--woop-bg-input);
  border: 2px solid var(--woop-border-color);
  border-radius: var(--radius-xl);
  font-family: var(--font-family-primary);
  padding: var(--spacing-4);
  resize: vertical;
  transition: border-color var(--woop-transition-fast), box-shadow var(--woop-transition);
  width: 100%;
  font-size: 16px;
}

.harmonia-woop-flow__input:focus, .harmonia-woop-flow__input:hover {
  border-color: var(--step-color, var(--woop-color-plan));
}

.harmonia-woop-flow__input:focus {
  box-shadow: 0 0 0 3px var(--step-color, var(--woop-color-plan));
}

@supports (color: color-mix(in lab, red, red)) {
  .harmonia-woop-flow__input:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--step-color, var(--woop-color-plan)) 20%, transparent);
  }
}

.harmonia-woop-flow__input:focus {
  outline: none;
}

.harmonia-woop-flow__input:focus-visible {
  border-color: var(--step-color, var(--woop-color-plan));
  box-shadow: 0 0 0 3px var(--step-color, var(--woop-color-plan));
}

@supports (color: color-mix(in lab, red, red)) {
  .harmonia-woop-flow__input:focus-visible {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--step-color, var(--woop-color-plan)) 25%, transparent);
  }
}

.harmonia-woop-flow__input:focus-visible {
  outline: none;
}

.harmonia-woop-flow__input::placeholder {
  color: var(--woop-text-tertiary);
}

.harmonia-woop-flow__helper {
  color: var(--woop-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  margin: var(--spacing-3) 0 0;
}

.harmonia-woop-flow__summary {
  gap: var(--spacing-6);
  flex-direction: column;
  display: flex;
}

.harmonia-woop-flow__summary-section {
  background-color: var(--woop-bg-summary);
  border-left: 4px solid var(--section-color, var(--woop-color-plan));
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
}

.harmonia-woop-flow__summary-section h3 {
  color: var(--section-color, var(--woop-text-primary));
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-woop-flow__summary-section p {
  color: var(--woop-text-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-woop-flow__if-then {
  background-color: var(--woop-bg-if-then);
  border-left: 4px solid var(--woop-color-plan);
  border-radius: var(--radius-md);
  margin-top: var(--spacing-3);
  padding: var(--spacing-3);
}

.harmonia-woop-flow__if-then:first-of-type {
  margin-top: var(--spacing-4);
}

.harmonia-woop-flow__if, .harmonia-woop-flow__then {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  margin: 0;
}

.harmonia-woop-flow__if {
  color: var(--woop-color-obstacle);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-1);
}

.harmonia-woop-flow__then {
  color: var(--woop-color-plan);
  font-weight: var(--font-weight-medium);
}

.harmonia-woop-flow__navigation {
  min-height: var(--woop-nav-min-height);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.harmonia-woop-flow__nav-right {
  gap: var(--spacing-3);
  display: flex;
}

@media (max-width: 640px) {
  .harmonia-woop-flow__steps {
    padding: 0;
  }

  .harmonia-woop-flow {
    --woop-step-size: 2rem;
  }

  .harmonia-woop-flow__step-letter {
    font-size: var(--font-size-base);
  }

  .harmonia-woop-flow__step-label {
    display: none;
  }

  .harmonia-woop-flow__title {
    font-size: var(--font-size-xl);
  }

  .harmonia-woop-flow__prompt {
    font-size: var(--font-size-base);
  }

  .harmonia-woop-flow__navigation {
    gap: var(--spacing-4);
    flex-direction: column;
  }

  .harmonia-woop-flow__nav-right {
    flex-direction: column;
    width: 100%;
  }
}

:root.dark .harmonia-woop-flow, [data-theme="dark"] .harmonia-woop-flow {
  --woop-bg-input: var(--surface-1, #1a1a2e);
  --woop-bg-summary: rgba(255, 255, 255, .06);
  --woop-bg-if-then: rgba(255, 255, 255, .04);
  --woop-border-color: rgba(255, 255, 255, .15);
  --woop-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-woop-flow__step-letter, [data-theme="dark"] .harmonia-woop-flow__step-letter {
  color: #070433;
}

:root.dark .harmonia-woop-flow__step-indicator--completed .harmonia-woop-flow__step-letter, [data-theme="dark"] .harmonia-woop-flow__step-indicator--completed .harmonia-woop-flow__step-letter {
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-woop-flow {
    --woop-transition: 0s;
    --woop-transition-fast: 0s;
  }

  .harmonia-woop-flow__input, .harmonia-woop-flow__step-indicator, .harmonia-woop-flow__step-letter {
    transition: none;
  }

  .harmonia-woop-flow__step-indicator--active .harmonia-woop-flow__step-letter {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-woop-flow__input:focus-visible {
    box-shadow: 0 0 0 4px var(--step-color, var(--woop-color-plan));
  }

  .harmonia-woop-flow__if-then, .harmonia-woop-flow__summary-section {
    border-left-width: 6px;
  }
}

.harmonia-srl {
  --srl-color-forethought: #039de3;
  --srl-color-performance: #2ed6c5;
  --srl-color-reflection: #f6cd01;
  --srl-color-complete: #2ed6c5;
  --srl-focus-ring: rgba(3, 157, 227, .3);
  --srl-bg-primary: var(--color-background-primary);
  --srl-bg-secondary: rgba(7, 4, 51, .04);
  --srl-bg-phase-active: rgba(3, 157, 227, .08);
  --srl-bg-phase-complete: rgba(46, 214, 197, .08);
  --srl-text-primary: var(--color-text-primary);
  --srl-text-secondary: var(--color-text-secondary);
  --srl-text-tertiary: var(--color-text-tertiary);
  --srl-border-color: var(--color-border-default);
  --srl-button-min-height: 48px;
  --srl-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --srl-transition-fast: .15s ease-out;
  gap: var(--spacing-6);
  flex-direction: column;
  max-width: 800px;
  margin: 0 auto;
  display: flex;
}

.harmonia-srl__phases {
  gap: var(--spacing-2);
  padding: var(--spacing-4);
  justify-content: center;
  display: flex;
}

.harmonia-srl__phase-indicator {
  background-color: var(--srl-bg-secondary);
  border-radius: var(--radius-full);
  align-items: center;
  gap: var(--spacing-2);
  opacity: .5;
  padding: var(--spacing-2) var(--spacing-4);
  transition: opacity var(--srl-transition), background-color var(--srl-transition), transform var(--srl-transition);
  display: flex;
}

.harmonia-srl__phase-indicator--active {
  background-color: var(--srl-bg-phase-active);
  opacity: 1;
  transform: scale(1.02);
}

.harmonia-srl__phase-indicator--completed {
  background-color: var(--srl-bg-phase-complete);
  opacity: 1;
}

.harmonia-srl__phase-number {
  background-color: var(--color-neutral-300);
  border-radius: var(--radius-full);
  color: #fff;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  height: 24px;
  transition: background-color var(--srl-transition);
  justify-content: center;
  align-items: center;
  width: 24px;
  display: flex;
}

.harmonia-srl__phase-indicator--active .harmonia-srl__phase-number {
  background-color: var(--phase-color, var(--srl-color-forethought));
}

.harmonia-srl__phase-indicator--completed .harmonia-srl__phase-number {
  background-color: var(--srl-color-complete);
}

.harmonia-srl__phase-name {
  color: var(--srl-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  transition: color var(--srl-transition-fast);
}

.harmonia-srl__phase-indicator--active .harmonia-srl__phase-name {
  color: var(--phase-color, var(--srl-color-forethought));
  font-weight: var(--font-weight-semibold);
}

.harmonia-srl__phase-card {
  max-width: 600px;
  margin: 0 auto;
}

.harmonia-srl__phase-header {
  margin-bottom: var(--spacing-6);
  text-align: center;
}

.harmonia-srl__phase-badge {
  background-color: var(--phase-color, var(--srl-color-forethought));
  border-radius: var(--radius-full);
  color: #fff;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-wide);
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-1) var(--spacing-3);
  text-transform: uppercase;
  display: inline-block;
}

.harmonia-srl__phase-title {
  color: var(--srl-text-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-srl__phase-description {
  color: var(--srl-text-secondary);
  font-size: var(--font-size-base);
  margin: 0;
}

.harmonia-srl__form {
  gap: var(--spacing-6);
  flex-direction: column;
  display: flex;
}

.harmonia-srl__field {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-srl__label {
  color: var(--srl-text-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
}

.harmonia-srl__reminder {
  background-color: var(--srl-bg-secondary);
  border-radius: var(--radius-lg);
  color: var(--srl-text-secondary);
  font-size: var(--font-size-sm);
  padding: var(--spacing-3);
  margin: 0;
  font-style: italic;
}

.harmonia-srl__scale {
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-srl__scale-button {
  background-color: var(--srl-bg-primary);
  border: 2px solid var(--srl-border-color);
  border-radius: var(--radius-lg);
  color: var(--srl-text-secondary);
  cursor: pointer;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  min-height: var(--srl-button-min-height);
  padding: var(--spacing-3);
  transition: border-color var(--srl-transition-fast), background-color var(--srl-transition-fast), color var(--srl-transition-fast), transform var(--srl-transition);
  flex: 1;
}

.harmonia-srl__scale-button:hover {
  border-color: var(--phase-color, var(--srl-color-forethought));
  background-color: rgba(3, 157, 227, .05);
}

.harmonia-srl__scale-button:active {
  transform: scale(.98);
}

.harmonia-srl__scale-button:focus-visible {
  border-color: var(--phase-color, var(--srl-color-forethought));
  box-shadow: 0 0 0 3px var(--srl-focus-ring);
  outline: none;
}

.harmonia-srl__scale-button--selected {
  border-color: var(--phase-color, var(--srl-color-forethought));
  color: var(--phase-color, var(--srl-color-forethought));
  background-color: rgba(3, 157, 227, .1);
}

.harmonia-srl__scale-labels {
  color: var(--srl-text-tertiary);
  font-size: var(--font-size-xs);
  justify-content: space-between;
  display: flex;
}

.harmonia-srl__binary-choice {
  gap: var(--spacing-4);
  display: flex;
}

.harmonia-srl__choice-button {
  background-color: var(--srl-bg-primary);
  border: 2px solid var(--srl-border-color);
  border-radius: var(--radius-xl);
  color: var(--srl-text-secondary);
  cursor: pointer;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  min-height: var(--srl-button-min-height);
  padding: var(--spacing-4);
  transition: border-color var(--srl-transition-fast), background-color var(--srl-transition-fast), transform var(--srl-transition);
  flex: 1;
}

.harmonia-srl__choice-button:hover {
  border-color: var(--phase-color, var(--srl-color-forethought));
}

.harmonia-srl__choice-button:active {
  transform: scale(.98);
}

.harmonia-srl__choice-button:focus-visible {
  border-color: var(--phase-color, var(--srl-color-forethought));
  box-shadow: 0 0 0 3px var(--srl-focus-ring);
  outline: none;
}

.harmonia-srl__choice-button--selected {
  border-color: var(--phase-color, var(--srl-color-forethought));
  color: var(--phase-color, var(--srl-color-forethought));
  background-color: rgba(3, 157, 227, .05);
}

.harmonia-srl__actions {
  margin-top: var(--spacing-6);
  justify-content: center;
  display: flex;
}

.harmonia-srl__performance {
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-srl__activity-header {
  background-color: var(--srl-bg-secondary);
  border-left: 4px solid var(--srl-color-performance);
  border-radius: var(--radius-xl);
  align-items: flex-start;
  gap: var(--spacing-4);
  padding: var(--spacing-4);
  display: flex;
}

.harmonia-srl__activity-info {
  flex: 1;
}

.harmonia-srl__activity-title {
  color: var(--srl-text-primary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-1);
}

.harmonia-srl__activity-goal {
  color: var(--srl-text-secondary);
  font-size: var(--font-size-sm);
  margin: 0;
}

.harmonia-srl__activity-content {
  min-height: 300px;
}

.harmonia-srl__monitoring-prompt {
  background-color: var(--srl-bg-primary);
  border-radius: var(--radius-xl);
  bottom: var(--spacing-6);
  max-width: 400px;
  padding: var(--spacing-4);
  width: calc(100% - var(--spacing-8));
  z-index: var(--z-index-toast);
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 8px 32px rgba(7, 4, 51, .15);
}

.harmonia-srl__monitoring-question {
  color: var(--srl-text-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  margin: 0 0 var(--spacing-3);
  text-align: center;
}

.harmonia-srl__monitoring-options {
  gap: var(--spacing-2);
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}

.harmonia-srl__complete-bar {
  background: linear-gradient(transparent, var(--srl-bg-primary) 30%);
  padding: var(--spacing-4);
  justify-content: center;
  display: flex;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
}

.harmonia-srl__complete {
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
}

.harmonia-srl__complete-content {
  align-items: center;
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-srl__complete-icon {
  font-size: 4rem;
}

.harmonia-srl__complete h2 {
  color: var(--srl-text-primary);
  font-size: var(--font-size-2xl);
  margin: 0;
}

.harmonia-srl__complete p {
  color: var(--srl-text-secondary);
  font-size: var(--font-size-base);
  margin: 0;
}

@media (max-width: 640px) {
  .harmonia-srl__phases {
    flex-direction: column;
    align-items: stretch;
  }

  .harmonia-srl__phase-indicator {
    justify-content: center;
  }

  .harmonia-srl__binary-choice, .harmonia-srl__monitoring-options {
    flex-direction: column;
  }
}

@media (min-width: 768px) {
  .harmonia-srl {
    --srl-button-min-height: 44px;
  }
}

@media (min-width: 1024px) {
  .harmonia-srl {
    --srl-button-min-height: 40px;
  }
}

:root.dark .harmonia-srl, [data-theme="dark"] .harmonia-srl {
  --srl-bg-primary: var(--surface-1, #1a1a2e);
  --srl-bg-secondary: rgba(255, 255, 255, .06);
  --srl-bg-phase-active: rgba(3, 157, 227, .15);
  --srl-bg-phase-complete: rgba(46, 214, 197, .15);
  --srl-border-color: rgba(255, 255, 255, .15);
  --srl-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-srl__monitoring-prompt, [data-theme="dark"] .harmonia-srl__monitoring-prompt {
  box-shadow: 0 8px 32px rgba(0, 0, 0, .4);
}

:root.dark .harmonia-srl__complete-bar, [data-theme="dark"] .harmonia-srl__complete-bar {
  background: linear-gradient(transparent, var(--surface-1, #1a1a2e) 30%);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-srl {
    --srl-transition: 0s;
    --srl-transition-fast: 0s;
  }

  .harmonia-srl__choice-button, .harmonia-srl__phase-indicator, .harmonia-srl__phase-number, .harmonia-srl__scale-button {
    transition: none;
  }

  .harmonia-srl__choice-button:active, .harmonia-srl__phase-indicator--active, .harmonia-srl__scale-button:active {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-srl__choice-button:focus-visible {
    box-shadow: 0 0 0 4px var(--phase-color, var(--srl-color-forethought));
  }

  .harmonia-srl__scale-button:focus-visible {
    box-shadow: 0 0 0 4px var(--phase-color, var(--srl-color-forethought));
  }

  .harmonia-srl__activity-header {
    border-left-width: 6px;
  }
}

.harmonia-if-then-builder {
  --ifthen-color-if: #f6cd01;
  --ifthen-color-then: #039de3;
  --ifthen-color-success: #2ed6c5;
  --ifthen-color-delete: #ff5a6a;
  --ifthen-focus-ring: rgba(3, 157, 227, .3);
  --ifthen-bg-primary: var(--color-background-primary);
  --ifthen-bg-secondary: rgba(7, 4, 51, .04);
  --ifthen-bg-example: var(--color-background-primary);
  --ifthen-bg-suggestion: var(--color-background-primary);
  --ifthen-text-primary: var(--color-text-primary);
  --ifthen-text-secondary: var(--color-text-secondary);
  --ifthen-text-tertiary: var(--color-text-tertiary);
  --ifthen-border-color: var(--color-border-default);
  --ifthen-border-light: var(--color-border-light);
  --ifthen-chip-min-height: 44px;
  --ifthen-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --ifthen-transition-fast: .15s ease-out;
  gap: var(--spacing-6);
  flex-direction: column;
  max-width: 600px;
  margin: 0 auto;
  display: flex;
}

.harmonia-if-then-builder__header {
  text-align: center;
}

.harmonia-if-then-builder__title {
  color: var(--ifthen-text-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-if-then-builder__context {
  color: var(--ifthen-color-then);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin: 0 0 var(--spacing-2);
}

.harmonia-if-then-builder__description {
  color: var(--ifthen-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-if-then-builder__examples {
  background-color: var(--ifthen-bg-secondary);
  border-radius: var(--radius-xl);
  padding: var(--spacing-4);
}

.harmonia-if-then-builder__examples-title {
  color: var(--ifthen-text-tertiary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin: 0 0 var(--spacing-3);
}

.harmonia-if-then-builder__example {
  background-color: var(--ifthen-bg-example);
  border-left: 3px solid var(--ifthen-color-then);
  border-radius: var(--radius-lg);
  cursor: pointer;
  gap: var(--spacing-1);
  margin-bottom: var(--spacing-2);
  padding: var(--spacing-3);
  transition: box-shadow var(--ifthen-transition), transform var(--ifthen-transition);
  flex-direction: column;
  display: flex;
}

.harmonia-if-then-builder__example:last-child {
  margin-bottom: 0;
}

.harmonia-if-then-builder__example:hover {
  box-shadow: var(--elevation-2);
  transform: translateY(-1px);
}

.harmonia-if-then-builder__example:active {
  transform: scale(.99);
}

.harmonia-if-then-builder__example:focus-visible {
  box-shadow: 0 0 0 3px var(--ifthen-focus-ring);
  outline: none;
}

.harmonia-if-then-builder__example-if {
  color: #b89800;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.harmonia-if-then-builder__example-then {
  color: var(--ifthen-color-then);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.harmonia-if-then-builder__form {
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-if-then-builder__field {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-if-then-builder__field-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.harmonia-if-then-builder__label {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
}

.harmonia-if-then-builder__label--if {
  color: #b89800;
}

.harmonia-if-then-builder__label--then {
  color: var(--ifthen-color-then);
}

.harmonia-if-then-builder__suggestions-toggle {
  border-radius: var(--radius-md);
  color: var(--ifthen-text-tertiary);
  cursor: pointer;
  font-size: var(--font-size-sm);
  min-height: 44px;
  padding: var(--spacing-2) var(--spacing-3);
  transition: color var(--ifthen-transition-fast), background-color var(--ifthen-transition-fast);
  background: none;
  border: none;
}

.harmonia-if-then-builder__suggestions-toggle:hover {
  color: var(--ifthen-color-then);
  background-color: rgba(3, 157, 227, .08);
}

.harmonia-if-then-builder__suggestions-toggle:focus-visible {
  box-shadow: 0 0 0 3px var(--ifthen-focus-ring);
  outline: none;
}

.harmonia-if-then-builder__suggestions {
  background-color: var(--ifthen-bg-secondary);
  border-radius: var(--radius-lg);
  gap: var(--spacing-2);
  padding: var(--spacing-3);
  flex-wrap: wrap;
  display: flex;
  overflow: hidden;
}

.harmonia-if-then-builder__suggestion {
  background-color: var(--ifthen-bg-suggestion);
  border: 2px solid var(--ifthen-border-light);
  border-radius: var(--radius-full);
  color: var(--ifthen-text-secondary);
  cursor: pointer;
  font-size: var(--font-size-sm);
  min-height: var(--ifthen-chip-min-height);
  padding: var(--spacing-2) var(--spacing-4);
  transition: background-color var(--ifthen-transition-fast), border-color var(--ifthen-transition-fast), transform var(--ifthen-transition);
  align-items: center;
  display: flex;
}

.harmonia-if-then-builder__suggestion:hover {
  border-color: var(--ifthen-color-then);
  background-color: rgba(3, 157, 227, .08);
}

.harmonia-if-then-builder__suggestion:active {
  transform: scale(.97);
}

.harmonia-if-then-builder__suggestion:focus-visible {
  border-color: var(--ifthen-color-then);
  box-shadow: 0 0 0 3px var(--ifthen-focus-ring);
  outline: none;
}

.harmonia-if-then-builder__field--if .harmonia-if-then-builder__suggestion:hover {
  border-color: var(--ifthen-color-if);
  background-color: rgba(246, 205, 1, .1);
}

.harmonia-if-then-builder__field--if .harmonia-if-then-builder__suggestion:focus-visible {
  border-color: var(--ifthen-color-if);
  box-shadow: 0 0 0 3px rgba(246, 205, 1, .3);
}

.harmonia-if-then-builder__field--then .harmonia-if-then-builder__suggestion:hover {
  border-color: var(--ifthen-color-then);
  background-color: rgba(3, 157, 227, .08);
}

.harmonia-if-then-builder__form-actions {
  gap: var(--spacing-3);
  justify-content: flex-end;
  display: flex;
}

.harmonia-if-then-builder__plans {
  gap: var(--spacing-3);
  flex-direction: column;
  display: flex;
}

.harmonia-if-then-builder__plans-count {
  color: var(--ifthen-text-tertiary);
  font-size: var(--font-size-sm);
  margin: 0;
}

.harmonia-if-then-builder__plan {
  background-color: var(--ifthen-bg-primary);
  border: 1px solid var(--ifthen-border-light);
  border-left: 4px solid var(--ifthen-color-then);
  border-radius: var(--radius-xl);
  align-items: flex-start;
  gap: var(--spacing-3);
  padding: var(--spacing-4);
  transition: box-shadow var(--ifthen-transition), transform var(--ifthen-transition);
  display: flex;
}

.harmonia-if-then-builder__plan:hover {
  box-shadow: var(--elevation-1);
}

.harmonia-if-then-builder__plan-content {
  flex: 1;
}

.harmonia-if-then-builder__plan-if, .harmonia-if-then-builder__plan-then {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-if-then-builder__plan-if {
  border-bottom: 1px dashed var(--ifthen-border-light);
  color: #b89800;
  margin-bottom: var(--spacing-2);
  padding-bottom: var(--spacing-2);
}

.harmonia-if-then-builder__plan-if strong, .harmonia-if-then-builder__plan-then strong {
  font-weight: var(--font-weight-bold);
}

.harmonia-if-then-builder__plan-then {
  color: var(--ifthen-color-then);
}

.harmonia-if-then-builder__plan-actions {
  gap: var(--spacing-1);
  display: flex;
}

.harmonia-if-then-builder__plan-btn {
  border-radius: var(--radius-lg);
  color: var(--ifthen-text-tertiary);
  cursor: pointer;
  height: 44px;
  transition: color var(--ifthen-transition-fast), background-color var(--ifthen-transition-fast), transform var(--ifthen-transition);
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 44px;
  padding: 0;
  display: flex;
}

.harmonia-if-then-builder__plan-btn:hover {
  background-color: var(--ifthen-bg-secondary);
  color: var(--ifthen-text-primary);
}

.harmonia-if-then-builder__plan-btn:active {
  transform: scale(.95);
}

.harmonia-if-then-builder__plan-btn:focus-visible {
  box-shadow: 0 0 0 3px var(--ifthen-focus-ring);
  outline: none;
}

.harmonia-if-then-builder__plan-btn--delete:hover {
  color: var(--ifthen-color-delete);
  background-color: rgba(255, 90, 106, .1);
}

.harmonia-if-then-builder__plan-btn--delete:focus-visible {
  box-shadow: 0 0 0 3px rgba(255, 90, 106, .3);
}

.harmonia-if-then-builder__footer {
  border-top: 1px solid var(--ifthen-border-light);
  padding-top: var(--spacing-4);
  justify-content: center;
  display: flex;
}

@media (max-width: 640px) {
  .harmonia-if-then-builder__title {
    font-size: var(--font-size-xl);
  }

  .harmonia-if-then-builder__form-actions {
    flex-direction: column;
  }

  .harmonia-if-then-builder__form-actions .harmonia-button {
    width: 100%;
  }

  .harmonia-if-then-builder__plan {
    flex-direction: column;
  }

  .harmonia-if-then-builder__plan-actions {
    align-self: flex-end;
  }
}

@media (min-width: 768px) {
  .harmonia-if-then-builder {
    --ifthen-chip-min-height: 40px;
  }
}

:root.dark .harmonia-if-then-builder, [data-theme="dark"] .harmonia-if-then-builder {
  --ifthen-bg-primary: var(--surface-1, #1a1a2e);
  --ifthen-bg-secondary: rgba(255, 255, 255, .06);
  --ifthen-bg-example: rgba(255, 255, 255, .04);
  --ifthen-bg-suggestion: rgba(255, 255, 255, .04);
  --ifthen-border-color: rgba(255, 255, 255, .15);
  --ifthen-border-light: rgba(255, 255, 255, .1);
  --ifthen-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-if-then-builder__example-if, :root.dark .harmonia-if-then-builder__label--if, :root.dark .harmonia-if-then-builder__plan-if, [data-theme="dark"] .harmonia-if-then-builder__example-if, [data-theme="dark"] .harmonia-if-then-builder__label--if, [data-theme="dark"] .harmonia-if-then-builder__plan-if {
  color: var(--ifthen-color-if);
}

:root.dark .harmonia-if-then-builder__example:hover, [data-theme="dark"] .harmonia-if-then-builder__example:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-if-then-builder__plan:hover, [data-theme="dark"] .harmonia-if-then-builder__plan:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, .3);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-if-then-builder {
    --ifthen-transition: 0s;
    --ifthen-transition-fast: 0s;
  }

  .harmonia-if-then-builder__example, .harmonia-if-then-builder__plan, .harmonia-if-then-builder__plan-btn, .harmonia-if-then-builder__suggestion, .harmonia-if-then-builder__suggestions-toggle {
    transition: none;
  }

  .harmonia-if-then-builder__example:active, .harmonia-if-then-builder__example:hover, .harmonia-if-then-builder__plan-btn:active, .harmonia-if-then-builder__suggestion:active {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-if-then-builder__example {
    border-left-width: 5px;
  }

  .harmonia-if-then-builder__plan {
    border-left-width: 6px;
  }

  .harmonia-if-then-builder__suggestion {
    border-width: 3px;
  }

  .harmonia-if-then-builder__example:focus-visible {
    box-shadow: 0 0 0 4px var(--ifthen-color-then);
  }

  .harmonia-if-then-builder__plan-btn:focus-visible {
    box-shadow: 0 0 0 4px var(--ifthen-color-then);
  }

  .harmonia-if-then-builder__suggestion:focus-visible {
    box-shadow: 0 0 0 4px var(--ifthen-color-then);
  }

  .harmonia-if-then-builder__suggestions-toggle:focus-visible {
    box-shadow: 0 0 0 4px var(--ifthen-color-then);
  }
}

.harmonia-comb-diagnostic {
  --comb-color-capability: #039de3;
  --comb-color-opportunity: #2ed6c5;
  --comb-color-motivation: #f6cd01;
  --comb-color-behavior: #070433;
  --comb-color-success: #2ed6c5;
  --comb-focus-ring: rgba(3, 157, 227, .3);
  --comb-bg-primary: var(--color-background-primary);
  --comb-bg-secondary: rgba(7, 4, 51, .04);
  --comb-bg-model-item: var(--color-background-primary);
  --comb-text-primary: var(--color-text-primary);
  --comb-text-secondary: var(--color-text-secondary);
  --comb-text-tertiary: var(--color-text-tertiary);
  --comb-border-color: var(--color-border-default);
  --comb-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --comb-transition-fast: .15s ease-out;
  gap: var(--spacing-6);
  flex-direction: column;
  max-width: 600px;
  margin: 0 auto;
  display: flex;
}

.harmonia-comb-diagnostic__progress {
  gap: var(--spacing-8);
  justify-content: center;
  display: flex;
}

.harmonia-comb-diagnostic__progress-step {
  align-items: center;
  gap: var(--spacing-1);
  opacity: .4;
  transition: opacity var(--comb-transition);
  flex-direction: column;
  display: flex;
}

.harmonia-comb-diagnostic__progress-step--active, .harmonia-comb-diagnostic__progress-step--completed {
  opacity: 1;
}

.harmonia-comb-diagnostic__progress-step--active {
  transform: scale(1.05);
}

.harmonia-comb-diagnostic__progress-icon {
  font-size: var(--font-size-2xl);
  transition: transform var(--comb-transition);
}

.harmonia-comb-diagnostic__progress-label {
  color: var(--comb-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}

.harmonia-comb-diagnostic__card {
  min-height: 350px;
}

.harmonia-comb-diagnostic__header {
  align-items: center;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-4);
  display: flex;
}

.harmonia-comb-diagnostic__icon {
  font-size: var(--font-size-3xl);
}

.harmonia-comb-diagnostic__title {
  color: var(--comb-text-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin: 0;
}

.harmonia-comb-diagnostic__behavior {
  background-color: var(--comb-bg-secondary);
  border-left: 4px solid var(--comb-color-behavior);
  border-radius: var(--radius-lg);
  color: var(--comb-text-secondary);
  font-size: var(--font-size-base);
  margin: 0 0 var(--spacing-4);
  padding: var(--spacing-3);
}

.harmonia-comb-diagnostic__behavior strong {
  color: var(--comb-text-primary);
}

.harmonia-comb-diagnostic__description, .harmonia-comb-diagnostic__step-description {
  color: var(--comb-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0 0 var(--spacing-6);
}

.harmonia-comb-diagnostic__model {
  background-color: var(--comb-bg-secondary);
  border-radius: var(--radius-xl);
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-6);
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}

.harmonia-comb-diagnostic__model-item {
  background-color: var(--comb-bg-model-item);
  border: 2px solid var(--comb-border-color);
  border-radius: var(--radius-lg);
  align-items: center;
  gap: var(--spacing-1);
  min-width: 80px;
  padding: var(--spacing-3);
  transition: border-color var(--comb-transition-fast), box-shadow var(--comb-transition);
  flex-direction: column;
  display: flex;
}

.harmonia-comb-diagnostic__model-item span:first-child {
  font-size: var(--font-size-xl);
}

.harmonia-comb-diagnostic__model-item span:last-child {
  color: var(--comb-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
}

.harmonia-comb-diagnostic__model-item--capability {
  border-color: var(--comb-color-capability);
}

.harmonia-comb-diagnostic__model-item--opportunity {
  border-color: var(--comb-color-opportunity);
}

.harmonia-comb-diagnostic__model-item--motivation {
  border-color: var(--comb-color-motivation);
}

.harmonia-comb-diagnostic__model-item--result {
  border-color: var(--comb-color-success);
  background-color: rgba(46, 214, 197, .1);
}

.harmonia-comb-diagnostic__model-operator {
  color: var(--comb-text-tertiary);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
}

.harmonia-comb-diagnostic__questions {
  gap: var(--spacing-8);
  flex-direction: column;
  display: flex;
}

.harmonia-comb-diagnostic__result-chart {
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-6);
  flex-direction: column;
  display: flex;
}

.harmonia-comb-diagnostic__result-bar {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-comb-diagnostic__result-bar-label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  align-items: center;
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-comb-diagnostic__result-bar-value {
  color: var(--comb-text-primary);
  font-weight: var(--font-weight-semibold);
  margin-left: auto;
}

.harmonia-comb-diagnostic__result-bar-track {
  background-color: var(--comb-bg-secondary);
  border-radius: var(--radius-full);
  height: 12px;
  overflow: hidden;
}

.harmonia-comb-diagnostic__result-bar-fill {
  border-radius: var(--radius-full);
  height: 100%;
  transition: width var(--comb-transition);
}

.harmonia-comb-diagnostic__result-bar--capability .harmonia-comb-diagnostic__result-bar-fill {
  background-color: var(--comb-color-capability);
}

.harmonia-comb-diagnostic__result-bar--opportunity .harmonia-comb-diagnostic__result-bar-fill {
  background-color: var(--comb-color-opportunity);
}

.harmonia-comb-diagnostic__result-bar--motivation .harmonia-comb-diagnostic__result-bar-fill {
  background-color: var(--comb-color-motivation);
}

.harmonia-comb-diagnostic__blocker {
  background-color: var(--comb-bg-secondary);
  border-radius: var(--radius-lg);
  margin-bottom: var(--spacing-6);
  padding: var(--spacing-4);
}

.harmonia-comb-diagnostic__blocker p {
  color: var(--comb-text-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-comb-diagnostic__blocker p + p {
  margin-top: var(--spacing-2);
}

.harmonia-comb-diagnostic__recommendations {
  border-left: 4px solid var(--comb-color-capability);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  background-color: rgba(3, 157, 227, .08);
}

.harmonia-comb-diagnostic__recommendations h3 {
  color: var(--comb-color-capability);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-3);
}

.harmonia-comb-diagnostic__recommendations ul {
  padding-left: var(--spacing-4);
  margin: 0;
}

.harmonia-comb-diagnostic__recommendations li {
  color: var(--comb-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  margin-bottom: var(--spacing-1);
}

.harmonia-comb-diagnostic__recommendations li:last-child {
  margin-bottom: 0;
}

.harmonia-comb-diagnostic__nav {
  align-items: center;
  display: flex;
}

.harmonia-comb-diagnostic__nav-spacer {
  flex: 1;
}

@media (max-width: 640px) {
  .harmonia-comb-diagnostic__progress {
    gap: var(--spacing-4);
  }

  .harmonia-comb-diagnostic__model {
    gap: var(--spacing-2);
    padding: var(--spacing-4);
  }

  .harmonia-comb-diagnostic__model-item {
    min-width: 60px;
    padding: var(--spacing-2);
  }

  .harmonia-comb-diagnostic__model-item span:first-child {
    font-size: var(--font-size-lg);
  }

  .harmonia-comb-diagnostic__model-operator {
    font-size: var(--font-size-base);
  }
}

:root.dark .harmonia-comb-diagnostic, [data-theme="dark"] .harmonia-comb-diagnostic {
  --comb-bg-primary: var(--surface-1, #1a1a2e);
  --comb-bg-secondary: rgba(255, 255, 255, .06);
  --comb-bg-model-item: rgba(255, 255, 255, .04);
  --comb-border-color: rgba(255, 255, 255, .15);
  --comb-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-comb-diagnostic__model-item--result, [data-theme="dark"] .harmonia-comb-diagnostic__model-item--result {
  background-color: rgba(46, 214, 197, .15);
}

:root.dark .harmonia-comb-diagnostic__recommendations, [data-theme="dark"] .harmonia-comb-diagnostic__recommendations {
  background-color: rgba(3, 157, 227, .12);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-comb-diagnostic {
    --comb-transition: 0s;
    --comb-transition-fast: 0s;
  }

  .harmonia-comb-diagnostic__model-item, .harmonia-comb-diagnostic__progress-icon, .harmonia-comb-diagnostic__progress-step, .harmonia-comb-diagnostic__result-bar-fill {
    transition: none;
  }

  .harmonia-comb-diagnostic__progress-step--active {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-comb-diagnostic__model-item {
    border-width: 3px;
  }

  .harmonia-comb-diagnostic__behavior, .harmonia-comb-diagnostic__recommendations {
    border-left-width: 6px;
  }

  .harmonia-comb-diagnostic__result-bar-track {
    height: 16px;
  }
}

.harmonia-celebration__overlay {
  --celebration-color-blue: #039de3;
  --celebration-color-teal: #2ed6c5;
  --celebration-color-red: #ff5a6a;
  --celebration-color-yellow: #f6cd01;
  --celebration-color-navy: #070433;
  --celebration-focus-ring: rgba(255, 255, 255, .5);
  --celebration-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  z-index: var(--z-index-celebration, 9999);
  background: linear-gradient(135deg, rgba(3, 157, 227, .95), rgba(46, 214, 197, .95) 33%, rgba(255, 90, 106, .95) 66%, rgba(246, 205, 1, .95));
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.harmonia-celebration__overlay--popskills {
  background: linear-gradient(135deg, rgba(3, 157, 227, .95), rgba(128, 208, 244, .95) 50%, rgba(51, 180, 236, .95));
}

.harmonia-celebration__overlay--poplingua {
  background: linear-gradient(135deg, rgba(46, 214, 197, .95), rgba(159, 234, 221, .95) 50%, rgba(99, 222, 201, .95));
}

.harmonia-celebration__overlay--poptalent {
  background: linear-gradient(135deg, rgba(255, 90, 106, .95), rgba(250, 181, 188, .95) 50%, rgba(249, 137, 150, .95));
}

.harmonia-celebration__overlay--popmentor {
  --celebration-focus-ring: rgba(7, 4, 51, .5);
  background: linear-gradient(135deg, rgba(246, 205, 1, .95), rgba(255, 224, 102, .95) 50%, rgba(255, 214, 51, .95));
}

.harmonia-celebration__confetti {
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.harmonia-celebration__particle {
  border-radius: 2px;
  width: 10px;
  height: 10px;
  position: absolute;
}

.harmonia-celebration__particle--popskills {
  background: var(--celebration-color-blue);
}

.harmonia-celebration__particle--poplingua {
  background: var(--celebration-color-teal);
}

.harmonia-celebration__particle--poptalent {
  background: var(--celebration-color-red);
}

.harmonia-celebration__particle--popmentor {
  background: var(--celebration-color-yellow);
}

.harmonia-celebration__particle--pop-dark {
  background: var(--celebration-color-navy);
}

.harmonia-celebration__stars {
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-celebration__star {
  font-size: 2rem;
  position: absolute;
}

.harmonia-celebration__content {
  max-width: 500px;
  padding: var(--spacing-12, 3rem);
  text-align: center;
  z-index: 1;
  flex-direction: column;
  align-items: center;
  display: flex;
  position: relative;
}

.harmonia-celebration__badge {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: var(--radius-full, 9999px);
  align-items: center;
  gap: var(--spacing-2, .5rem);
  margin-bottom: var(--spacing-6, 1.5rem);
  padding: var(--spacing-6, 1.5rem);
  background: rgba(255, 255, 255, .2);
  border: 2px solid rgba(255, 255, 255, .3);
  flex-direction: column;
  display: flex;
}

.harmonia-celebration__badge-icon {
  background: var(--badge-color, var(--celebration-color-blue));
  border-radius: var(--radius-full, 9999px);
  box-shadow: 0 0 30px var(--badge-color, var(--celebration-color-blue));
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  font-size: 3rem;
  display: flex;
}

.harmonia-celebration__badge--popskills .harmonia-celebration__badge-icon {
  --badge-color: var(--celebration-color-blue);
}

.harmonia-celebration__badge--poplingua .harmonia-celebration__badge-icon {
  --badge-color: var(--celebration-color-teal);
}

.harmonia-celebration__badge--poptalent .harmonia-celebration__badge-icon {
  --badge-color: var(--celebration-color-red);
}

.harmonia-celebration__badge--popmentor .harmonia-celebration__badge-icon {
  --badge-color: var(--celebration-color-yellow);
}

.harmonia-celebration__badge-label {
  color: rgba(255, 255, 255, .9);
  font-size: var(--font-size-sm, .875rem);
  font-weight: var(--font-weight-semibold, 600);
  letter-spacing: var(--letter-spacing-wider, .05em);
  text-transform: uppercase;
}

.harmonia-celebration__emoji {
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, .5));
  margin-bottom: var(--spacing-4, 1rem);
  font-size: 5rem;
}

.harmonia-celebration__title {
  color: #fff;
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  font-size: var(--font-size-4xl, 2.25rem);
  font-weight: var(--font-weight-bold, 700);
  line-height: var(--line-height-tight, 1.25);
  margin: 0 0 var(--spacing-3, .75rem);
  text-shadow: 0 2px 10px rgba(0, 0, 0, .2);
}

.harmonia-celebration__message {
  color: rgba(255, 255, 255, .9);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  font-size: var(--font-size-lg, 1.125rem);
  line-height: var(--line-height-relaxed, 1.6);
  margin: 0 0 var(--spacing-8, 2rem);
  max-width: 400px;
}

.harmonia-celebration__overlay--popmentor .harmonia-celebration__message, .harmonia-celebration__overlay--popmentor .harmonia-celebration__title {
  color: var(--celebration-color-navy);
  text-shadow: none;
}

.harmonia-celebration__overlay--popmentor .harmonia-celebration__badge-label {
  color: rgba(7, 4, 51, .9);
}

.harmonia-celebration__actions {
  align-items: center;
  gap: var(--spacing-3, .75rem);
  flex-direction: column;
  display: flex;
}

.harmonia-celebration__action-button {
  border-radius: var(--radius-lg, .5rem);
  box-shadow: var(--elevation-4, 0 12px 24px rgba(0, 0, 0, .15));
  cursor: pointer;
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  font-size: var(--font-size-base, 1rem);
  min-width: 200px;
  min-height: 48px;
  padding: var(--spacing-3, .75rem) var(--spacing-6, 1.5rem);
  transition: transform var(--celebration-transition), box-shadow var(--celebration-transition);
  border: none;
  color: var(--celebration-color-navy) !important;
  font-weight: var(--font-weight-semibold, 600) !important;
  background: #fff !important;
}

.harmonia-celebration__action-button:hover {
  box-shadow: var(--elevation-5, 0 16px 32px rgba(0, 0, 0, .2));
  transform: scale(1.05);
}

.harmonia-celebration__action-button:active {
  transform: scale(.98);
}

.harmonia-celebration__action-button:focus-visible {
  box-shadow: var(--elevation-4, 0 12px 24px rgba(0, 0, 0, .15)), 0 0 0 3px var(--celebration-focus-ring);
  outline: none;
}

.harmonia-celebration__share-button {
  border-radius: var(--radius-lg, .5rem);
  cursor: pointer;
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  font-weight: var(--font-weight-medium, 500);
  min-height: 44px;
  padding: var(--spacing-2, .5rem) var(--spacing-4, 1rem);
  transition: background-color var(--celebration-transition), border-color var(--celebration-transition);
  border: 2px solid rgba(255, 255, 255, .3);
  color: rgba(255, 255, 255, .9) !important;
  background: none !important;
}

.harmonia-celebration__share-button:hover {
  border-color: rgba(255, 255, 255, .5);
  color: #fff !important;
  background: rgba(255, 255, 255, .1) !important;
}

.harmonia-celebration__share-button:focus-visible {
  box-shadow: 0 0 0 3px var(--celebration-focus-ring);
  border-color: rgba(255, 255, 255, .5);
  outline: none;
}

.harmonia-celebration__overlay--popmentor .harmonia-celebration__share-button {
  border-color: rgba(7, 4, 51, .3);
  color: rgba(7, 4, 51, .8) !important;
}

.harmonia-celebration__overlay--popmentor .harmonia-celebration__share-button:hover {
  border-color: rgba(7, 4, 51, .5);
  color: var(--celebration-color-navy) !important;
  background: rgba(7, 4, 51, .1) !important;
}

.harmonia-celebration__overlay--popmentor .harmonia-celebration__share-button:focus-visible {
  box-shadow: 0 0 0 3px var(--celebration-focus-ring);
}

.harmonia-celebration__close {
  border-radius: var(--radius-full, 9999px);
  color: #fff;
  cursor: pointer;
  height: 48px;
  right: var(--spacing-4, 1rem);
  top: var(--spacing-4, 1rem);
  transition: background-color var(--celebration-transition), transform var(--celebration-transition);
  z-index: 10;
  background: rgba(255, 255, 255, .2);
  border: none;
  justify-content: center;
  align-items: center;
  width: 48px;
  font-size: 1.5rem;
  display: flex;
  position: absolute;
}

.harmonia-celebration__close:hover {
  background: rgba(255, 255, 255, .3);
  transform: scale(1.1);
}

.harmonia-celebration__close:focus-visible {
  box-shadow: 0 0 0 3px var(--celebration-focus-ring);
  outline: none;
}

.harmonia-celebration__overlay--popmentor .harmonia-celebration__close {
  color: var(--celebration-color-navy);
  background: rgba(7, 4, 51, .2);
}

.harmonia-celebration__overlay--popmentor .harmonia-celebration__close:hover {
  background: rgba(7, 4, 51, .3);
}

.harmonia-celebration__overlay--micro {
  background: rgba(7, 4, 51, .9);
}

.harmonia-celebration__overlay--minor {
  background: linear-gradient(135deg, rgba(7, 4, 51, .95), rgba(3, 157, 227, .95));
}

.harmonia-celebration__overlay--standard {
  background: linear-gradient(135deg, rgba(3, 157, 227, .95), rgba(46, 214, 197, .95));
}

.harmonia-celebration__overlay--major {
  background: linear-gradient(135deg, rgba(3, 157, 227, .95), rgba(255, 90, 106, .95) 50%, rgba(246, 205, 1, .95));
}

.harmonia-celebration__overlay--epic {
  background: linear-gradient(135deg, rgba(3, 157, 227, .95), rgba(46, 214, 197, .95) 25%, rgba(255, 90, 106, .95) 50%, rgba(246, 205, 1, .95) 75%, rgba(7, 4, 51, .95));
}

:root.dark .harmonia-celebration__overlay, [data-theme="dark"] .harmonia-celebration__overlay {
  --celebration-focus-ring: rgba(255, 255, 255, .6);
}

:root.dark .harmonia-celebration__badge, [data-theme="dark"] .harmonia-celebration__badge {
  background: rgba(255, 255, 255, .15);
  border-color: rgba(255, 255, 255, .25);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-celebration__overlay {
    --celebration-transition: 0s;
  }

  .harmonia-celebration__particle, .harmonia-celebration__star {
    transition: none !important;
    animation: none !important;
  }

  .harmonia-celebration__confetti, .harmonia-celebration__stars {
    display: none;
  }

  .harmonia-celebration__action-button, .harmonia-celebration__close, .harmonia-celebration__share-button {
    transition: none;
  }

  .harmonia-celebration__action-button:hover, .harmonia-celebration__close:hover {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-celebration__overlay, .harmonia-celebration__overlay--popskills {
    background: var(--celebration-color-blue);
  }

  .harmonia-celebration__overlay--poplingua {
    background: var(--celebration-color-teal);
  }

  .harmonia-celebration__overlay--poptalent {
    background: var(--celebration-color-red);
  }

  .harmonia-celebration__overlay--popmentor {
    background: var(--celebration-color-yellow);
  }

  .harmonia-celebration__badge {
    background: rgba(255, 255, 255, .3);
    border-width: 3px;
    border-color: #fff;
  }

  .harmonia-celebration__badge-icon {
    border: 3px solid #fff;
  }

  .harmonia-celebration__title {
    text-shadow: 0 2px 4px rgba(0, 0, 0, .5);
  }

  .harmonia-celebration__action-button {
    border: 3px solid var(--celebration-color-navy);
  }

  .harmonia-celebration__action-button:focus-visible {
    box-shadow: 0 0 0 4px #fff;
  }

  .harmonia-celebration__share-button {
    border-width: 3px;
    border-color: #fff;
  }

  .harmonia-celebration__share-button:focus-visible {
    box-shadow: 0 0 0 4px #fff;
  }

  .harmonia-celebration__close {
    border: 3px solid #fff;
  }

  .harmonia-celebration__close:focus-visible {
    box-shadow: 0 0 0 4px #fff;
  }
}

@media (max-width: 640px) {
  .harmonia-celebration__content {
    padding: var(--spacing-8, 2rem) var(--spacing-4, 1rem);
  }

  .harmonia-celebration__title {
    font-size: var(--font-size-3xl, 1.875rem);
  }

  .harmonia-celebration__emoji {
    font-size: 4rem;
  }

  .harmonia-celebration__badge-icon {
    width: 60px;
    height: 60px;
    font-size: 2rem;
  }

  .harmonia-celebration__action-button {
    width: 100%;
    max-width: 280px;
  }
}

.harmonia-signaling {
  display: inline-block;
  position: relative;
}

.harmonia-signaling__content {
  z-index: 1;
  position: relative;
}

.harmonia-signaling--pulse.harmonia-signaling--active:before {
  animation: harmonia-signaling-pulse var(--signaling-pulse-duration) ease-in-out infinite;
  background-color: var(--signaling-color);
  border-radius: var(--radius-lg);
  content: "";
  opacity: 0;
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: -4px;
  right: -4px;
}

@keyframes harmonia-signaling-pulse {
  0%, to {
    opacity: 0;
    transform: scale(1);
  }

  50% {
    opacity: .15;
    transform: scale(1.02);
  }
}

.harmonia-signaling--pulse.harmonia-signaling--subtle:before {
  animation-duration: calc(var(--signaling-pulse-duration) * 1.5);
}

.harmonia-signaling--pulse.harmonia-signaling--subtle.harmonia-signaling--active:before {
  opacity: 0;
}

@keyframes harmonia-signaling-pulse-subtle {
  0%, to {
    opacity: 0;
    transform: scale(1);
  }

  50% {
    opacity: .08;
    transform: scale(1.01);
  }
}

.harmonia-signaling--pulse.harmonia-signaling--strong.harmonia-signaling--active:before {
  animation: harmonia-signaling-pulse-strong var(--signaling-pulse-duration) ease-in-out infinite;
}

@keyframes harmonia-signaling-pulse-strong {
  0%, to {
    opacity: 0;
    transform: scale(1);
  }

  50% {
    opacity: .25;
    transform: scale(1.04);
  }
}

.harmonia-signaling--glow.harmonia-signaling--active {
  animation: harmonia-signaling-glow var(--signaling-pulse-duration) ease-in-out infinite;
  filter: drop-shadow(0 0 8px var(--signaling-color));
}

@keyframes harmonia-signaling-glow {
  0%, to {
    filter: drop-shadow(0 0 4px var(--signaling-color));
  }

  50% {
    filter: drop-shadow(0 0 16px var(--signaling-color));
  }
}

.harmonia-signaling--glow.harmonia-signaling--subtle.harmonia-signaling--active {
  animation: harmonia-signaling-glow-subtle var(--signaling-pulse-duration) ease-in-out infinite;
}

@keyframes harmonia-signaling-glow-subtle {
  0%, to {
    filter: drop-shadow(0 0 2px var(--signaling-color));
  }

  50% {
    filter: drop-shadow(0 0 8px var(--signaling-color));
  }
}

.harmonia-signaling--glow.harmonia-signaling--strong.harmonia-signaling--active {
  animation: harmonia-signaling-glow-strong var(--signaling-pulse-duration) ease-in-out infinite;
}

@keyframes harmonia-signaling-glow-strong {
  0%, to {
    filter: drop-shadow(0 0 8px var(--signaling-color));
  }

  50% {
    filter: drop-shadow(0 0 24px var(--signaling-color)) drop-shadow(0 0 32px var(--signaling-color));
  }
}

.harmonia-signaling--border.harmonia-signaling--active {
  animation: harmonia-signaling-border var(--signaling-pulse-duration) ease-in-out infinite;
  border-radius: var(--radius-lg);
  outline: 2px solid var(--signaling-color);
  outline-offset: 2px;
}

@keyframes harmonia-signaling-border {
  0%, to {
    outline-color: var(--signaling-color);
    outline-offset: 2px;
  }

  50% {
    outline-color: var(--signaling-color);
    outline-offset: 4px;
  }
}

.harmonia-signaling--border.harmonia-signaling--subtle.harmonia-signaling--active {
  outline-width: 1px;
}

.harmonia-signaling--border.harmonia-signaling--strong.harmonia-signaling--active {
  animation: harmonia-signaling-border-strong var(--signaling-pulse-duration) ease-in-out infinite;
  outline-width: 3px;
}

@keyframes harmonia-signaling-border-strong {
  0%, to {
    outline-offset: 2px;
  }

  50% {
    outline-offset: 6px;
  }
}

.harmonia-signaling--arrow {
  align-items: center;
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-signaling__arrow {
  color: var(--signaling-color);
  justify-content: center;
  align-items: center;
  animation: 1s ease-in-out infinite harmonia-signaling-arrow;
  display: flex;
}

@keyframes harmonia-signaling-arrow {
  0%, to {
    opacity: 1;
    transform: translateX(0);
  }

  50% {
    opacity: .7;
    transform: translateX(4px);
  }
}

.harmonia-signaling--arrow-left {
  flex-direction: row-reverse;
}

.harmonia-signaling--arrow-left .harmonia-signaling__arrow {
  animation: 1s ease-in-out infinite harmonia-signaling-arrow-left;
  transform: rotate(180deg);
}

@keyframes harmonia-signaling-arrow-left {
  0%, to {
    opacity: 1;
    transform: translateX(0)rotate(180deg);
  }

  50% {
    opacity: .7;
    transform: translateX(-4px)rotate(180deg);
  }
}

.harmonia-signaling--arrow-top {
  flex-direction: column-reverse;
}

.harmonia-signaling--arrow-top .harmonia-signaling__arrow {
  animation: 1s ease-in-out infinite harmonia-signaling-arrow-top;
  transform: rotate(-90deg);
}

@keyframes harmonia-signaling-arrow-top {
  0%, to {
    opacity: 1;
    transform: translateY(0)rotate(-90deg);
  }

  50% {
    opacity: .7;
    transform: translateY(-4px)rotate(-90deg);
  }
}

.harmonia-signaling--arrow-bottom {
  flex-direction: column;
}

.harmonia-signaling--arrow-bottom .harmonia-signaling__arrow {
  animation: 1s ease-in-out infinite harmonia-signaling-arrow-bottom;
  transform: rotate(90deg);
}

@keyframes harmonia-signaling-arrow-bottom {
  0%, to {
    opacity: 1;
    transform: translateY(0)rotate(90deg);
  }

  50% {
    opacity: .7;
    transform: translateY(4px)rotate(90deg);
  }
}

.harmonia-signaling__spotlight {
  background: radial-gradient(circle at var(--spotlight-x, 50%) var(--spotlight-y, 50%), transparent 0, transparent 100px, rgba(0, 0, 0, .5) 150px);
  pointer-events: none;
  z-index: var(--z-index-overlay);
  animation: .3s ease-out harmonia-signaling-spotlight-fade;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@keyframes harmonia-signaling-spotlight-fade {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-signaling--border.harmonia-signaling--active, .harmonia-signaling--glow.harmonia-signaling--active, .harmonia-signaling--pulse.harmonia-signaling--active:before, .harmonia-signaling__arrow {
    animation: none !important;
  }

  .harmonia-signaling--pulse.harmonia-signaling--active:before {
    opacity: .1;
  }

  .harmonia-signaling--glow.harmonia-signaling--active {
    filter: drop-shadow(0 0 8px var(--signaling-color));
  }
}

.harmonia-smart {
  --smart-color-s: #039de3;
  --smart-color-m: #2ed6c5;
  --smart-color-a: #f6cd01;
  --smart-color-r: #ff5a6a;
  --smart-color-t: #070433;
  --smart-color-completed: #2ed6c5;
  --smart-focus-ring: rgba(3, 157, 227, .3);
  --smart-bg-primary: var(--color-background-primary);
  --smart-bg-secondary: rgba(7, 4, 51, .04);
  --smart-bg-button: var(--color-neutral-100);
  --smart-bg-milestone: var(--color-neutral-50);
  --smart-text-primary: var(--color-text-primary);
  --smart-text-secondary: var(--color-text-secondary);
  --smart-text-tertiary: var(--color-text-tertiary);
  --smart-border-color: var(--color-border-default);
  --smart-step-size: 40px;
  --smart-title-size: 48px;
  --smart-button-size: 48px;
  --smart-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --smart-transition-fast: .15s ease-out;
  gap: var(--spacing-6);
  flex-direction: column;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
}

.harmonia-smart__steps {
  gap: var(--spacing-2);
  padding: 0 var(--spacing-4);
  justify-content: space-between;
  display: flex;
}

.harmonia-smart__step-indicator {
  align-items: center;
  gap: var(--spacing-1);
  opacity: .5;
  transition: opacity var(--smart-transition);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.harmonia-smart__step-indicator--active, .harmonia-smart__step-indicator--completed {
  opacity: 1;
}

.harmonia-smart__step-letter {
  background-color: var(--color-neutral-200);
  border-radius: var(--radius-full);
  color: var(--smart-text-secondary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  height: var(--smart-step-size);
  transition: background-color var(--smart-transition), color var(--smart-transition), box-shadow var(--smart-transition), transform var(--smart-transition);
  width: var(--smart-step-size);
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-smart__step-indicator--active .harmonia-smart__step-letter {
  background-color: var(--step-color, var(--smart-color-s));
  box-shadow: 0 0 0 4px var(--step-color, var(--smart-color-s));
}

@supports (color: color-mix(in lab, red, red)) {
  .harmonia-smart__step-indicator--active .harmonia-smart__step-letter {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--step-color, var(--smart-color-s)) 25%, transparent);
  }
}

.harmonia-smart__step-indicator--active .harmonia-smart__step-letter {
  color: #fff;
  transform: scale(1.05);
}

.harmonia-smart__step-indicator--completed .harmonia-smart__step-letter {
  background-color: var(--smart-color-completed);
  color: #fff;
}

.harmonia-smart__step-label {
  color: var(--smart-text-tertiary);
  font-size: var(--font-size-xs);
  text-align: center;
  transition: color var(--smart-transition-fast);
  white-space: nowrap;
}

.harmonia-smart__step-indicator--active .harmonia-smart__step-label {
  color: var(--smart-text-primary);
  font-weight: var(--font-weight-medium);
}

.harmonia-smart__content {
  min-height: 400px;
}

.harmonia-smart__title {
  color: var(--smart-text-primary);
  font-size: var(--font-size-2xl);
  gap: var(--spacing-3);
  line-height: var(--line-height-tight);
  margin: 0 0 var(--spacing-2);
}

.harmonia-smart__title, .harmonia-smart__title-letter {
  font-weight: var(--font-weight-bold);
  align-items: center;
  display: flex;
}

.harmonia-smart__title-letter {
  background-color: var(--step-color, var(--smart-color-s));
  border-radius: var(--radius-lg);
  color: #fff;
  font-size: var(--font-size-xl);
  height: var(--smart-title-size);
  width: var(--smart-title-size);
  justify-content: center;
}

.harmonia-smart__title-letter:after {
  content: attr(data-letter);
}

.harmonia-smart__title-letter[data-letter="A"] {
  color: #070433;
}

.harmonia-smart__description {
  color: var(--smart-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0 0 var(--spacing-6);
}

.harmonia-smart__step-content {
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-smart__field {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

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

.harmonia-smart__label, .harmonia-smart__validation-hint {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.harmonia-smart__validation-hint {
  color: var(--smart-color-a);
  margin: 0;
}

.harmonia-smart__range-group {
  align-items: flex-end;
  gap: var(--spacing-4);
  display: flex;
}

.harmonia-smart__range-field {
  gap: var(--spacing-1);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.harmonia-smart__range-arrow {
  color: var(--smart-color-m);
  font-size: var(--font-size-xl);
  justify-content: center;
  align-items: center;
  height: 40px;
  display: flex;
}

.harmonia-smart__confidence-scale {
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-smart__confidence-button {
  background: var(--smart-bg-button);
  border-radius: var(--radius-lg);
  color: var(--smart-text-secondary);
  cursor: pointer;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  height: var(--smart-button-size);
  transition: background-color var(--smart-transition-fast), border-color var(--smart-transition-fast), color var(--smart-transition-fast), transform var(--smart-transition);
  width: var(--smart-button-size);
  border: 2px solid rgba(0, 0, 0, 0);
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-smart__confidence-button:hover {
  background: var(--color-neutral-200);
  color: var(--smart-text-primary);
}

.harmonia-smart__confidence-button:active {
  transform: scale(.97);
}

.harmonia-smart__confidence-button:focus-visible {
  border-color: var(--smart-color-s);
  box-shadow: 0 0 0 3px var(--smart-focus-ring);
  outline: none;
}

.harmonia-smart__confidence-button--selected {
  border-color: var(--smart-color-completed);
  color: var(--smart-color-completed);
  background: rgba(46, 214, 197, .15);
}

.harmonia-smart__confidence-labels {
  color: var(--smart-text-tertiary);
  font-size: var(--font-size-xs);
  justify-content: space-between;
  display: flex;
}

.harmonia-smart__milestones {
  gap: var(--spacing-3);
  margin-top: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-smart__milestone-list {
  gap: var(--spacing-2);
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.harmonia-smart__milestone-item {
  background: var(--smart-bg-milestone);
  border-left: 3px solid var(--smart-color-t);
  border-radius: var(--radius-lg);
  font-size: var(--font-size-sm);
  gap: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  display: flex;
}

.harmonia-smart__milestone-date {
  color: var(--smart-color-t);
  font-weight: var(--font-weight-semibold);
  white-space: nowrap;
}

.harmonia-smart__milestone-desc {
  color: var(--smart-text-primary);
}

.harmonia-smart__milestone-add {
  align-items: flex-end;
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-smart__milestone-add > :first-child {
  flex: 2;
}

.harmonia-smart__milestone-add > :nth-child(2) {
  flex: 1;
}

.harmonia-smart__summary {
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-smart__summary-section {
  background: var(--smart-bg-secondary);
  border-left: 4px solid var(--section-color, var(--smart-color-s));
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
}

.harmonia-smart__summary-section h4 {
  color: var(--section-color, var(--smart-text-primary));
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-smart__summary-section p {
  color: var(--smart-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-smart__summary-section p + p {
  margin-top: var(--spacing-1);
}

.harmonia-smart__summary-section--s {
  --section-color: var(--smart-color-s);
}

.harmonia-smart__summary-section--m {
  --section-color: var(--smart-color-m);
}

.harmonia-smart__summary-section--a {
  --section-color: var(--smart-color-a);
}

.harmonia-smart__summary-section--r {
  --section-color: var(--smart-color-r);
}

.harmonia-smart__summary-section--t {
  --section-color: var(--smart-color-t);
}

.harmonia-smart__navigation {
  align-items: center;
  gap: var(--spacing-4);
  justify-content: space-between;
  min-height: 48px;
  display: flex;
}

.harmonia-smart__nav-right {
  gap: var(--spacing-2);
  margin-left: auto;
  display: flex;
}

@media (max-width: 640px) {
  .harmonia-smart__steps {
    gap: var(--spacing-1);
    padding: 0;
  }

  .harmonia-smart__step-letter {
    font-size: var(--font-size-base);
    width: 32px;
    height: 32px;
  }

  .harmonia-smart__step-label {
    display: none;
  }

  .harmonia-smart__range-group {
    gap: var(--spacing-2);
    flex-direction: column;
  }

  .harmonia-smart__range-arrow {
    height: auto;
    transform: rotate(90deg);
  }

  .harmonia-smart__milestone-add {
    flex-direction: column;
  }

  .harmonia-smart__milestone-add > * {
    width: 100%;
    flex: none !important;
  }

  .harmonia-smart__navigation {
    gap: var(--spacing-3);
    flex-direction: column;
  }

  .harmonia-smart__nav-right {
    width: 100%;
    margin-left: 0;
  }

  .harmonia-smart__nav-right button {
    flex: 1;
  }

  .harmonia-smart__confidence-scale {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .harmonia-smart {
    --smart-button-size: 44px;
  }
}

@media (min-width: 1024px) {
  .harmonia-smart {
    --smart-button-size: 40px;
  }
}

:root.dark .harmonia-smart, [data-theme="dark"] .harmonia-smart {
  --smart-bg-primary: var(--surface-1, #1a1a2e);
  --smart-bg-secondary: rgba(255, 255, 255, .06);
  --smart-bg-button: rgba(255, 255, 255, .08);
  --smart-bg-milestone: rgba(255, 255, 255, .04);
  --smart-border-color: rgba(255, 255, 255, .15);
  --smart-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-smart__step-letter, [data-theme="dark"] .harmonia-smart__step-letter {
  background-color: rgba(255, 255, 255, .15);
}

:root.dark .harmonia-smart__confidence-button:hover, [data-theme="dark"] .harmonia-smart__confidence-button:hover {
  background: rgba(255, 255, 255, .12);
}

:root.dark .harmonia-smart__confidence-button--selected, [data-theme="dark"] .harmonia-smart__confidence-button--selected {
  background: rgba(46, 214, 197, .2);
}

:root.dark .harmonia-smart__milestone-date, [data-theme="dark"] .harmonia-smart__milestone-date {
  color: var(--smart-color-m);
}

:root.dark .harmonia-smart__milestone-item, [data-theme="dark"] .harmonia-smart__milestone-item {
  border-left-color: var(--smart-color-m);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-smart {
    --smart-transition: 0s;
    --smart-transition-fast: 0s;
  }

  .harmonia-smart__confidence-button, .harmonia-smart__step-indicator, .harmonia-smart__step-label, .harmonia-smart__step-letter {
    transition: none;
  }

  .harmonia-smart__confidence-button:active, .harmonia-smart__step-indicator--active .harmonia-smart__step-letter {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-smart__confidence-button {
    border-width: 3px;
  }

  .harmonia-smart__confidence-button:focus-visible {
    box-shadow: 0 0 0 4px var(--smart-color-s);
  }

  .harmonia-smart__step-indicator--active .harmonia-smart__step-letter {
    box-shadow: 0 0 0 5px var(--step-color, var(--smart-color-s));
  }

  .harmonia-smart__summary-section {
    border-left-width: 6px;
  }

  .harmonia-smart__milestone-item {
    border-left-width: 5px;
  }
}

.harmonia-values {
  --values-color-primary: #039de3;
  --values-color-selected: #2ed6c5;
  --values-color-gap-positive: #2ed6c5;
  --values-color-gap-small: #039de3;
  --values-color-gap-medium: #f6cd01;
  --values-color-gap-large: #ff5a6a;
  --values-focus-ring: rgba(3, 157, 227, .3);
  --values-bg-primary: var(--color-background-primary);
  --values-bg-secondary: rgba(7, 4, 51, .04);
  --values-bg-tag: var(--color-neutral-100);
  --values-bg-selected-summary: var(--color-neutral-50);
  --values-bg-review-item: var(--color-neutral-50);
  --values-bg-insight: rgba(3, 157, 227, .08);
  --values-text-primary: var(--color-text-primary);
  --values-text-secondary: var(--color-text-secondary);
  --values-text-tertiary: var(--color-text-tertiary);
  --values-border-color: var(--color-border-default);
  --values-border-light: var(--color-border-light);
  --values-tag-min-height: 44px;
  --values-button-size: 44px;
  --values-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --values-transition-fast: .15s ease-out;
  gap: var(--spacing-6);
  flex-direction: column;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
}

.harmonia-values__content {
  min-height: 500px;
}

.harmonia-values__header {
  margin-bottom: var(--spacing-6);
  text-align: center;
}

.harmonia-values__title {
  color: var(--values-color-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-values__description {
  color: var(--values-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-values__subtitle {
  color: var(--values-text-primary);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-3);
}

.harmonia-values__hint {
  color: var(--values-text-tertiary);
  font-size: var(--font-size-sm);
  margin: 0 0 var(--spacing-4);
}

.harmonia-values__categories {
  gap: var(--spacing-5);
  margin-bottom: var(--spacing-6);
  flex-direction: column;
  display: flex;
}

.harmonia-values__category-title {
  color: var(--values-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-values__tags {
  gap: var(--spacing-2);
  flex-wrap: wrap;
  display: flex;
}

.harmonia-values__tag {
  background: var(--values-bg-tag);
  border-radius: var(--radius-full);
  color: var(--values-text-primary);
  cursor: pointer;
  font-size: var(--font-size-sm);
  align-items: center;
  gap: var(--spacing-1);
  min-height: var(--values-tag-min-height);
  padding: var(--spacing-2) var(--spacing-4);
  transition: background-color var(--values-transition-fast), border-color var(--values-transition-fast), transform var(--values-transition);
  border: 2px solid rgba(0, 0, 0, 0);
  display: inline-flex;
}

.harmonia-values__tag:hover:not(:disabled) {
  background: var(--color-neutral-200);
  border-color: var(--tag-color, var(--values-color-primary));
}

.harmonia-values__tag:active:not(:disabled) {
  transform: scale(.97);
}

.harmonia-values__tag:focus-visible {
  border-color: var(--values-color-primary);
  box-shadow: 0 0 0 3px var(--values-focus-ring);
  outline: none;
}

.harmonia-values__tag--selected {
  border-color: var(--values-color-selected);
  color: var(--values-color-selected);
  font-weight: var(--font-weight-medium);
  background: rgba(46, 214, 197, .15);
}

.harmonia-values__tag:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.harmonia-values__tag-check {
  font-weight: var(--font-weight-bold);
}

.harmonia-values__custom {
  border-top: 1px solid var(--values-border-light);
  align-items: flex-end;
  gap: var(--spacing-2);
  margin-top: var(--spacing-4);
  padding-top: var(--spacing-4);
  display: flex;
}

.harmonia-values__custom > :first-child {
  flex: 1;
}

.harmonia-values__selected-summary {
  background: var(--values-bg-selected-summary);
  border-radius: var(--radius-lg);
  align-items: center;
  gap: var(--spacing-2);
  margin-top: var(--spacing-4);
  padding: var(--spacing-3);
  flex-wrap: wrap;
  display: flex;
}

.harmonia-values__selected-label {
  color: var(--values-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.harmonia-values__selected-tag {
  border-radius: var(--radius-md);
  gap: var(--spacing-1);
  padding: var(--spacing-1) var(--spacing-3);
  background: rgba(3, 157, 227, .12);
  display: inline-flex;
}

.harmonia-values__remove, .harmonia-values__selected-tag {
  color: var(--values-color-primary);
  font-size: var(--font-size-sm);
  align-items: center;
}

.harmonia-values__remove {
  border-radius: var(--radius-full);
  cursor: pointer;
  height: 24px;
  transition: background-color var(--values-transition-fast), color var(--values-transition-fast);
  background: none;
  border: none;
  justify-content: center;
  width: 24px;
  padding: 0;
  display: flex;
}

.harmonia-values__remove:hover {
  color: #0289c7;
  background: rgba(3, 157, 227, .15);
}

.harmonia-values__remove:focus-visible {
  box-shadow: 0 0 0 3px var(--values-focus-ring);
  outline: none;
}

.harmonia-values__rating {
  gap: var(--spacing-6);
  flex-direction: column;
  display: flex;
}

.harmonia-values__rating-progress {
  color: var(--values-text-tertiary);
  font-size: var(--font-size-sm);
  text-align: center;
}

.harmonia-values__rating-content {
  align-items: center;
  gap: var(--spacing-6);
  flex-direction: column;
  display: flex;
}

.harmonia-values__rating-badge {
  border-radius: var(--radius-full);
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  font-size: 2.5rem;
  display: flex;
  box-shadow: 0 4px 20px rgba(7, 4, 51, .15);
}

.harmonia-values__rating-title {
  color: var(--values-text-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  text-align: center;
  margin: 0;
}

.harmonia-values__rating-field {
  width: 100%;
  max-width: 400px;
}

.harmonia-values__rating-label {
  color: var(--values-text-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-3);
  text-align: center;
  display: block;
}

.harmonia-values__slider-container {
  width: 100%;
}

.harmonia-values__slider-labels {
  color: var(--values-text-tertiary);
  font-size: var(--font-size-xs);
  margin-top: var(--spacing-2);
  justify-content: space-between;
  display: flex;
}

.harmonia-values__slider-value {
  color: var(--values-color-primary);
  font-weight: var(--font-weight-bold);
}

.harmonia-values__gap-indicator {
  border-radius: var(--radius-lg);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  padding: var(--spacing-3) var(--spacing-4);
  text-align: center;
}

.harmonia-values__gap-indicator--positive {
  color: var(--values-color-gap-positive);
  background: rgba(46, 214, 197, .12);
}

.harmonia-values__gap-indicator--small {
  color: var(--values-color-gap-small);
  background: rgba(3, 157, 227, .1);
}

.harmonia-values__gap-indicator--medium {
  color: #b89800;
  background: rgba(246, 205, 1, .15);
}

.harmonia-values__gap-indicator--large {
  color: var(--values-color-gap-large);
  background: rgba(255, 90, 106, .12);
}

.harmonia-values__radar-container {
  margin-bottom: var(--spacing-6);
  flex-direction: column;
  align-items: center;
  display: flex;
}

.harmonia-values__radar {
  width: 250px;
  height: 250px;
}

.harmonia-values__radar-circle {
  fill: none;
}

.harmonia-values__radar-axis, .harmonia-values__radar-circle {
  stroke: var(--values-border-color);
  stroke-width: 1px;
}

.harmonia-values__radar-importance {
  fill: rgba(3, 157, 227, .25);
  stroke: var(--values-color-primary);
  stroke-width: 2px;
}

.harmonia-values__radar-alignment {
  fill: rgba(46, 214, 197, .25);
  stroke: var(--values-color-selected);
  stroke-width: 2px;
}

.harmonia-values__radar-label {
  fill: var(--values-text-secondary);
  font-size: 8px;
}

.harmonia-values__radar-legend {
  font-size: var(--font-size-xs);
  gap: var(--spacing-4);
  margin-top: var(--spacing-3);
  display: flex;
}

.harmonia-values__legend-importance {
  color: var(--values-color-primary);
  font-weight: var(--font-weight-medium);
}

.harmonia-values__legend-alignment {
  color: var(--values-color-selected);
  font-weight: var(--font-weight-medium);
}

.harmonia-values__review-list {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-values__review-list h4 {
  color: var(--values-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-values__review-item {
  background: var(--values-bg-review-item);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3) var(--spacing-4);
  transition: background-color var(--values-transition-fast);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.harmonia-values__review-item:hover {
  background: var(--values-bg-secondary);
}

.harmonia-values__review-header {
  align-items: center;
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-values__review-emoji {
  border-radius: var(--radius-full);
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  font-size: 16px;
  display: flex;
}

.harmonia-values__review-name {
  color: var(--values-text-primary);
  font-weight: var(--font-weight-medium);
}

.harmonia-values__review-scores {
  color: var(--values-text-tertiary);
  font-size: var(--font-size-xs);
  gap: var(--spacing-3);
  display: flex;
}

.harmonia-values__review-gap {
  font-weight: var(--font-weight-semibold);
}

.harmonia-values__review-gap--positive {
  color: var(--values-color-gap-positive);
}

.harmonia-values__review-gap--negative {
  color: var(--values-color-gap-large);
}

.harmonia-values__insight {
  background: var(--values-bg-insight);
  border-left: 3px solid var(--values-color-primary);
  border-radius: var(--radius-lg);
  color: var(--values-color-primary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  margin-top: var(--spacing-4);
  padding: var(--spacing-4);
}

.harmonia-values__navigation {
  gap: var(--spacing-4);
  justify-content: space-between;
  min-height: 48px;
  display: flex;
}

.harmonia-values__navigation > button:only-child {
  margin-left: auto;
}

@media (max-width: 640px) {
  .harmonia-values__review-item {
    align-items: flex-start;
    gap: var(--spacing-2);
    flex-direction: column;
  }

  .harmonia-values__review-scores {
    justify-content: space-between;
    width: 100%;
  }

  .harmonia-values__custom {
    flex-direction: column;
  }

  .harmonia-values__custom button {
    width: 100%;
  }

  .harmonia-values__navigation {
    gap: var(--spacing-3);
    flex-direction: column;
  }

  .harmonia-values__navigation button {
    width: 100%;
  }

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

@media (min-width: 768px) {
  .harmonia-values {
    --values-tag-min-height: 40px;
    --values-button-size: 40px;
  }
}

:root.dark .harmonia-values, [data-theme="dark"] .harmonia-values {
  --values-bg-primary: var(--surface-1, #1a1a2e);
  --values-bg-secondary: rgba(255, 255, 255, .08);
  --values-bg-tag: rgba(255, 255, 255, .08);
  --values-bg-selected-summary: rgba(255, 255, 255, .04);
  --values-bg-review-item: rgba(255, 255, 255, .04);
  --values-bg-insight: rgba(3, 157, 227, .12);
  --values-border-color: rgba(255, 255, 255, .15);
  --values-border-light: rgba(255, 255, 255, .1);
  --values-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-values__tag:hover:not(:disabled), [data-theme="dark"] .harmonia-values__tag:hover:not(:disabled) {
  background: rgba(255, 255, 255, .12);
}

:root.dark .harmonia-values__tag--selected, [data-theme="dark"] .harmonia-values__tag--selected {
  background: rgba(46, 214, 197, .2);
}

:root.dark .harmonia-values__selected-tag, [data-theme="dark"] .harmonia-values__selected-tag {
  background: rgba(3, 157, 227, .15);
}

:root.dark .harmonia-values__remove:hover, [data-theme="dark"] .harmonia-values__remove:hover {
  background: rgba(3, 157, 227, .2);
}

:root.dark .harmonia-values__rating-badge, [data-theme="dark"] .harmonia-values__rating-badge {
  box-shadow: 0 4px 20px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-values__review-item:hover, [data-theme="dark"] .harmonia-values__review-item:hover {
  background: rgba(255, 255, 255, .08);
}

:root.dark .harmonia-values__gap-indicator--positive, [data-theme="dark"] .harmonia-values__gap-indicator--positive {
  background: rgba(46, 214, 197, .15);
}

:root.dark .harmonia-values__gap-indicator--small, [data-theme="dark"] .harmonia-values__gap-indicator--small {
  background: rgba(3, 157, 227, .15);
}

:root.dark .harmonia-values__gap-indicator--medium, [data-theme="dark"] .harmonia-values__gap-indicator--medium {
  color: var(--values-color-gap-medium);
  background: rgba(246, 205, 1, .2);
}

:root.dark .harmonia-values__gap-indicator--large, [data-theme="dark"] .harmonia-values__gap-indicator--large {
  background: rgba(255, 90, 106, .15);
}

:root.dark .harmonia-values__radar-axis, :root.dark .harmonia-values__radar-circle, [data-theme="dark"] .harmonia-values__radar-axis, [data-theme="dark"] .harmonia-values__radar-circle {
  stroke: rgba(255, 255, 255, .15);
}

:root.dark .harmonia-values__radar-label, [data-theme="dark"] .harmonia-values__radar-label {
  fill: var(--values-text-secondary);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-values {
    --values-transition: 0s;
    --values-transition-fast: 0s;
  }

  .harmonia-values__remove, .harmonia-values__review-item, .harmonia-values__tag {
    transition: none;
  }

  .harmonia-values__tag:active:not(:disabled) {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-values__tag {
    border-width: 3px;
  }

  .harmonia-values__tag:focus-visible {
    box-shadow: 0 0 0 4px var(--values-color-primary);
  }

  .harmonia-values__insight {
    border-left-width: 5px;
  }

  .harmonia-values__radar-alignment, .harmonia-values__radar-importance {
    stroke-width: 3px;
  }

  .harmonia-values__gap-indicator {
    border: 2px solid;
  }
}

.harmonia-thought {
  --thought-color-original: #ff5a6a;
  --thought-color-evidence-for: #f6cd01;
  --thought-color-evidence-against: #2ed6c5;
  --thought-color-alternative: #039de3;
  --thought-color-active: #039de3;
  --thought-color-completed: #2ed6c5;
  --thought-focus-ring: rgba(3, 157, 227, .3);
  --thought-bg-primary: var(--color-background-primary);
  --thought-bg-secondary: rgba(7, 4, 51, .04);
  --thought-bg-tag: var(--color-neutral-100);
  --thought-bg-guidance: rgba(3, 157, 227, .08);
  --thought-bg-intensity: var(--color-neutral-50);
  --thought-bg-evidence-for: rgba(246, 205, 1, .12);
  --thought-bg-evidence-against: rgba(46, 214, 197, .12);
  --thought-text-primary: var(--color-text-primary);
  --thought-text-secondary: var(--color-text-secondary);
  --thought-text-tertiary: var(--color-text-tertiary);
  --thought-border-color: var(--color-border-default);
  --thought-border-light: var(--color-border-light);
  --thought-tag-min-height: 44px;
  --thought-button-size: 44px;
  --thought-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --thought-transition-fast: .15s ease-out;
  gap: var(--spacing-6);
  flex-direction: column;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
}

.harmonia-thought__progress {
  gap: var(--spacing-2);
  padding: 0 var(--spacing-4);
  display: flex;
}

.harmonia-thought__progress-step {
  background: var(--color-neutral-200);
  border-radius: var(--radius-full);
  height: 4px;
  transition: background-color var(--thought-transition);
  flex: 1;
}

.harmonia-thought__progress-step--active {
  background: var(--thought-color-active);
}

.harmonia-thought__progress-step--completed {
  background: var(--thought-color-completed);
}

.harmonia-thought__content {
  min-height: 450px;
}

.harmonia-thought__header {
  margin-bottom: var(--spacing-4);
  text-align: center;
}

.harmonia-thought__step-number {
  background: var(--thought-bg-secondary);
  border-radius: var(--radius-full);
  color: var(--thought-text-tertiary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-2);
  padding: var(--spacing-1) var(--spacing-3);
  display: inline-block;
}

.harmonia-thought__title {
  color: var(--thought-text-primary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-thought__description {
  color: var(--thought-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-thought__guidance {
  background: var(--thought-bg-guidance);
  border-left: 3px solid var(--thought-color-alternative);
  border-radius: var(--radius-lg);
  color: var(--thought-color-alternative);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  margin-bottom: var(--spacing-4);
  padding: var(--spacing-3) var(--spacing-4);
}

.harmonia-thought__phase-content {
  margin-top: var(--spacing-4);
}

.harmonia-thought__emotion-selector {
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-thought__emotion-tags {
  gap: var(--spacing-2);
  flex-wrap: wrap;
  display: flex;
}

.harmonia-thought__emotion-tag {
  background: var(--thought-bg-tag);
  border-radius: var(--radius-full);
  color: var(--thought-text-primary);
  cursor: pointer;
  font-size: var(--font-size-sm);
  min-height: var(--thought-tag-min-height);
  padding: var(--spacing-2) var(--spacing-4);
  transition: background-color var(--thought-transition-fast), border-color var(--thought-transition-fast), transform var(--thought-transition);
  border: 2px solid rgba(0, 0, 0, 0);
  align-items: center;
  display: flex;
}

.harmonia-thought__emotion-tag:hover {
  background: var(--color-neutral-200);
}

.harmonia-thought__emotion-tag:active {
  transform: scale(.97);
}

.harmonia-thought__emotion-tag:focus-visible {
  border-color: var(--thought-color-active);
  box-shadow: 0 0 0 3px var(--thought-focus-ring);
  outline: none;
}

.harmonia-thought__emotion-tag--selected {
  border-color: var(--thought-color-completed);
  color: var(--thought-color-completed);
  font-weight: var(--font-weight-medium);
  background: rgba(46, 214, 197, .15);
}

.harmonia-thought__emotion-custom {
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-thought__emotion-input {
  background-color: var(--thought-bg-primary);
  border: 2px solid var(--thought-border-light);
  border-radius: var(--radius-lg);
  color: var(--thought-text-primary);
  min-height: var(--thought-tag-min-height);
  padding: var(--spacing-3) var(--spacing-4);
  transition: border-color var(--thought-transition-fast), box-shadow var(--thought-transition);
  flex: 1;
  font-size: 16px;
}

.harmonia-thought__emotion-input:focus, .harmonia-thought__emotion-input:hover {
  border-color: var(--thought-color-active);
}

.harmonia-thought__emotion-input:focus {
  box-shadow: 0 0 0 3px var(--thought-focus-ring);
  outline: none;
}

.harmonia-thought__emotion-input::placeholder {
  color: var(--thought-text-tertiary);
}

.harmonia-thought__emotion-add {
  background: var(--thought-color-active);
  border-radius: var(--radius-lg);
  color: #fff;
  cursor: pointer;
  font-size: var(--font-size-xl);
  height: var(--thought-button-size);
  transition: background-color var(--thought-transition-fast), transform var(--thought-transition);
  width: var(--thought-button-size);
  border: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-thought__emotion-add:hover {
  background: #0289c7;
}

.harmonia-thought__emotion-add:active {
  transform: scale(.95);
}

.harmonia-thought__emotion-add:focus-visible {
  box-shadow: 0 0 0 3px var(--thought-focus-ring);
  outline: none;
}

.harmonia-thought__intensity {
  background: var(--thought-bg-intensity);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
}

.harmonia-thought__intensity-label {
  color: var(--thought-text-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-3);
  display: block;
}

.harmonia-thought__intensity-scale {
  color: var(--thought-text-tertiary);
  font-size: var(--font-size-xs);
  margin-top: var(--spacing-2);
  justify-content: space-between;
  display: flex;
}

.harmonia-thought__intensity-value {
  color: var(--thought-color-completed);
  font-weight: var(--font-weight-bold);
}

.harmonia-thought__evidence {
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-thought__evidence-list {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-thought__evidence-item {
  background: var(--thought-bg-evidence-for);
  border-left: 4px solid var(--thought-color-evidence-for);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  color: var(--thought-text-primary);
  font-size: var(--font-size-sm);
  padding: var(--spacing-3) var(--spacing-4);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.harmonia-thought__evidence-item--against {
  background: var(--thought-bg-evidence-against);
  border-left-color: var(--thought-color-evidence-against);
}

.harmonia-thought__evidence-remove {
  border-radius: var(--radius-full);
  color: var(--thought-text-tertiary);
  cursor: pointer;
  font-size: var(--font-size-lg);
  height: 36px;
  transition: background-color var(--thought-transition-fast), color var(--thought-transition-fast);
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 36px;
  padding: 0;
  display: flex;
}

.harmonia-thought__evidence-remove:hover {
  color: var(--thought-color-original);
  background: rgba(255, 90, 106, .1);
}

.harmonia-thought__evidence-remove:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 90, 106, .3);
}

.harmonia-thought__evidence-add {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-thought__evidence-add button {
  align-self: flex-end;
}

.harmonia-thought__summary {
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-thought__summary-section {
  background: var(--thought-bg-secondary);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
}

.harmonia-thought__summary-section h4 {
  color: var(--thought-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-2);
}

.harmonia-thought__summary-section p, .harmonia-thought__summary-section ul {
  color: var(--thought-text-primary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-thought__summary-section ul {
  padding-left: var(--spacing-4);
}

.harmonia-thought__summary-section li {
  margin-bottom: var(--spacing-1);
}

.harmonia-thought__summary-thought {
  color: var(--thought-color-original);
  font-style: italic;
}

.harmonia-thought__summary-alternative {
  color: var(--thought-color-alternative);
  font-weight: var(--font-weight-semibold);
}

.harmonia-thought__summary-columns {
  gap: var(--spacing-3);
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.harmonia-thought__summary-for {
  background: var(--thought-bg-evidence-for);
  border-left: 4px solid var(--thought-color-evidence-for);
}

.harmonia-thought__summary-for h4 {
  color: #b89800;
}

.harmonia-thought__summary-against {
  background: var(--thought-bg-evidence-against);
  border-left: 4px solid var(--thought-color-evidence-against);
}

.harmonia-thought__summary-against h4 {
  color: var(--thought-color-evidence-against);
}

.harmonia-thought__summary-result {
  border-radius: var(--radius-lg);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  padding: var(--spacing-4);
  text-align: center;
}

.harmonia-thought__summary-result--positive {
  color: var(--thought-color-completed);
  background: linear-gradient(135deg, rgba(46, 214, 197, .15), rgba(3, 157, 227, .15));
}

.harmonia-thought__summary-result--neutral {
  background: var(--thought-bg-secondary);
  color: var(--thought-text-secondary);
}

.harmonia-thought__navigation {
  gap: var(--spacing-4);
  justify-content: space-between;
  min-height: 48px;
  display: flex;
}

.harmonia-thought__nav-right {
  margin-left: auto;
}

@media (max-width: 640px) {
  .harmonia-thought__summary-columns {
    grid-template-columns: 1fr;
  }

  .harmonia-thought__navigation {
    gap: var(--spacing-3);
    flex-direction: column;
  }

  .harmonia-thought__navigation button {
    width: 100%;
  }

  .harmonia-thought__nav-right {
    margin-left: 0;
  }

  .harmonia-thought__emotion-tags {
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .harmonia-thought {
    --thought-tag-min-height: 40px;
    --thought-button-size: 40px;
  }
}

:root.dark .harmonia-thought, [data-theme="dark"] .harmonia-thought {
  --thought-bg-primary: var(--surface-1, #1a1a2e);
  --thought-bg-secondary: rgba(255, 255, 255, .06);
  --thought-bg-tag: rgba(255, 255, 255, .08);
  --thought-bg-guidance: rgba(3, 157, 227, .12);
  --thought-bg-intensity: rgba(255, 255, 255, .04);
  --thought-bg-evidence-for: rgba(246, 205, 1, .15);
  --thought-bg-evidence-against: rgba(46, 214, 197, .15);
  --thought-border-color: rgba(255, 255, 255, .15);
  --thought-border-light: rgba(255, 255, 255, .1);
  --thought-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-thought__emotion-tag:hover, [data-theme="dark"] .harmonia-thought__emotion-tag:hover {
  background: rgba(255, 255, 255, .12);
}

:root.dark .harmonia-thought__emotion-tag--selected, [data-theme="dark"] .harmonia-thought__emotion-tag--selected {
  background: rgba(46, 214, 197, .2);
}

:root.dark .harmonia-thought__evidence-remove:hover, [data-theme="dark"] .harmonia-thought__evidence-remove:hover {
  background: rgba(255, 90, 106, .15);
}

:root.dark .harmonia-thought__summary-for h4, [data-theme="dark"] .harmonia-thought__summary-for h4 {
  color: var(--thought-color-evidence-for);
}

:root.dark .harmonia-thought__summary-result--positive, [data-theme="dark"] .harmonia-thought__summary-result--positive {
  background: linear-gradient(135deg, rgba(46, 214, 197, .2), rgba(3, 157, 227, .2));
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-thought {
    --thought-transition: 0s;
    --thought-transition-fast: 0s;
  }

  .harmonia-thought__emotion-add, .harmonia-thought__emotion-input, .harmonia-thought__emotion-tag, .harmonia-thought__evidence-remove, .harmonia-thought__progress-step {
    transition: none;
  }

  .harmonia-thought__emotion-add:active, .harmonia-thought__emotion-tag:active {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-thought__progress-step {
    height: 6px;
  }

  .harmonia-thought__emotion-tag {
    border-width: 3px;
  }

  .harmonia-thought__emotion-input:focus {
    box-shadow: 0 0 0 4px var(--thought-color-active);
  }

  .harmonia-thought__emotion-add:focus-visible {
    box-shadow: 0 0 0 4px var(--thought-color-active);
  }

  .harmonia-thought__emotion-tag:focus-visible {
    box-shadow: 0 0 0 4px var(--thought-color-active);
  }

  .harmonia-thought__evidence-item {
    border-left-width: 6px;
  }

  .harmonia-thought__guidance {
    border-left-width: 5px;
  }

  .harmonia-thought__summary-against, .harmonia-thought__summary-for {
    border-left-width: 6px;
  }
}

.harmonia-pull-to-refresh {
  touch-action: pan-y;
  min-height: 100%;
  position: relative;
  overflow: hidden;
}

.harmonia-pull-to-refresh--disabled {
  pointer-events: none;
}

.harmonia-pull-to-refresh__indicator {
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-4);
  pointer-events: none;
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.harmonia-pull-to-refresh__spinner {
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
}

.harmonia-pull-to-refresh__blob {
  width: 40px;
  height: 40px;
}

.harmonia-pull-to-refresh__blob-circle {
  fill: none;
  stroke: var(--color-neutral-200);
  stroke-width: 3px;
}

.harmonia-pull-to-refresh__blob-arc {
  fill: none;
  stroke: var(--color-secondary-500);
  stroke-width: 3px;
}

.harmonia-pull-to-refresh--refreshing .harmonia-pull-to-refresh__blob-arc {
  stroke-dasharray: 60;
  stroke-dashoffset: 30px;
  animation: 1s ease-in-out infinite harmonia-refresh-arc;
}

@keyframes harmonia-refresh-arc {
  0% {
    stroke-dashoffset: 60px;
  }

  50% {
    stroke-dashoffset: 15px;
  }

  to {
    stroke-dashoffset: 60px;
  }
}

.harmonia-pull-to-refresh__text {
  color: var(--color-text-secondary);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  text-align: center;
}

.harmonia-pull-to-refresh--ready .harmonia-pull-to-refresh__text {
  color: var(--color-secondary-600);
}

.harmonia-pull-to-refresh--refreshing .harmonia-pull-to-refresh__text {
  color: var(--color-secondary-500);
}

.harmonia-pull-to-refresh__content {
  background-color: var(--color-background-primary);
  touch-action: pan-y;
  min-height: 100%;
  position: relative;
}

:root.dark .harmonia-pull-to-refresh__blob-circle, [data-theme="dark"] .harmonia-pull-to-refresh__blob-circle {
  stroke: var(--color-neutral-700);
}

:root.dark .harmonia-pull-to-refresh__content, [data-theme="dark"] .harmonia-pull-to-refresh__content {
  background-color: var(--surface-base);
}

@media (min-width: 1024px) {
  .harmonia-pull-to-refresh__indicator {
    display: none;
  }

  .harmonia-pull-to-refresh__content {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-pull-to-refresh--refreshing .harmonia-pull-to-refresh__blob-arc {
    animation: none;
  }

  .harmonia-pull-to-refresh__content {
    transition: none;
  }
}

.harmonia-streak-counter {
  --streak-color-primary: #039de3;
  --streak-color-teal: #2ed6c5;
  --streak-color-flame: #ff5a6a;
  --streak-color-flame-dark: #d84a5a;
  --streak-color-warning: #f6cd01;
  --streak-color-navy: #070433;
  --streak-focus-ring: rgba(3, 157, 227, .3);
  --streak-bg-gradient: linear-gradient(135deg, rgba(255, 90, 106, .08) 0%, var(--color-neutral-50, #fafbfc) 50%, rgba(46, 214, 197, .08) 100%);
  --streak-bg-blob-accent: rgba(255, 90, 106, .15);
  --streak-bg-blob-teal: rgba(46, 214, 197, .15);
  --streak-text-primary: var(--color-text-primary, #111827);
  --streak-text-secondary: var(--color-text-secondary, #374151);
  --streak-text-tertiary: var(--color-text-tertiary, #6b7280);
  --streak-border-color: var(--color-border-light, #e8eaec);
  --streak-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --streak-transition-fast: .15s ease-out;
  background: var(--streak-bg-gradient);
  border: 1px solid var(--streak-border-color);
  align-items: center;
  gap: var(--spacing-3, .75rem);
  padding: var(--spacing-5, 1.25rem);
  border-radius: 20px;
  flex-direction: column;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(45, 50, 56, .08);
}

.harmonia-streak-counter:before {
  background: radial-gradient(ellipse at 70% 30%, var(--streak-bg-blob-accent) 0, transparent 50%), radial-gradient(ellipse at 30% 70%, var(--streak-bg-blob-teal) 0, transparent 50%);
  content: "";
  opacity: .4;
  pointer-events: none;
  width: 200%;
  height: 200%;
  animation: 20s ease-in-out infinite harmonia-blob-drift;
  position: absolute;
  top: -50%;
  right: -50%;
}

@keyframes harmonia-blob-drift {
  0%, to {
    transform: translate(0)rotate(0);
  }

  50% {
    transform: translate(5%, 5%)rotate(5deg);
  }
}

.harmonia-streak-counter__main {
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-2, .5rem);
  min-width: 48px;
  min-height: 48px;
  padding: var(--spacing-2, .5rem);
  transition: background-color var(--streak-transition-fast), box-shadow var(--streak-transition-fast);
  background: none;
  border: none;
  border-radius: 16px;
  flex-direction: column;
  display: flex;
}

.harmonia-streak-counter__main:hover {
  background-color: rgba(255, 90, 106, .1);
}

.harmonia-streak-counter__main:active {
  background-color: rgba(255, 90, 106, .15);
}

.harmonia-streak-counter__main:focus-visible {
  box-shadow: 0 0 0 3px var(--streak-focus-ring);
  background-color: rgba(3, 157, 227, .08);
  outline: none;
}

.harmonia-streak-counter__flame-container {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.harmonia-streak-counter__flame-icon {
  filter: drop-shadow(0 4px 8px rgba(255, 90, 106, .3));
  font-size: 3.5rem;
}

.harmonia-streak-counter--completed .harmonia-streak-counter__flame-icon {
  filter: drop-shadow(0 0 16px rgba(255, 90, 106, .6));
  animation: .5s ease-in-out infinite alternate harmonia-flame-dance;
}

@keyframes harmonia-flame-dance {
  0% {
    transform: scale(1)rotate(-3deg);
  }

  to {
    transform: scale(1.05)rotate(3deg);
  }
}

.harmonia-streak-counter__glow {
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255, 90, 106, .3) 0, rgba(0, 0, 0, 0) 70%);
  border-radius: 9999px;
  transition: opacity .3s;
  position: absolute;
  top: -12px;
  bottom: -12px;
  left: -12px;
  right: -12px;
}

.harmonia-streak-counter--completed .harmonia-streak-counter__glow {
  opacity: 1;
}

.harmonia-streak-counter__count-container {
  z-index: 1;
  flex-direction: column;
  align-items: center;
  display: flex;
  position: relative;
}

.harmonia-streak-counter__count {
  color: var(--streak-color-flame);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  text-shadow: 0 2px 4px rgba(0, 0, 0, .05);
  font-size: max(2.5rem, min(8vw, 3.5rem));
  font-weight: 700;
  line-height: 1;
}

.harmonia-streak-counter--completed .harmonia-streak-counter__count {
  -webkit-text-fill-color: transparent;
  background: linear-gradient(135deg, var(--streak-color-flame) 0, var(--streak-color-flame-dark) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.harmonia-streak-counter__label {
  color: var(--streak-text-secondary);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .875rem;
  font-weight: 500;
}

.harmonia-streak-counter__progress {
  gap: var(--spacing-2, .5rem);
  z-index: 1;
  flex-direction: column;
  width: 100%;
  display: flex;
  position: relative;
}

.harmonia-streak-counter__progress-bar {
  background: var(--color-neutral-200, #e8eaec);
  border-radius: 9999px;
  height: 8px;
  overflow: hidden;
}

.harmonia-streak-counter__progress-fill {
  background: linear-gradient(90deg, var(--streak-color-teal) 0, var(--streak-color-primary) 50%, var(--streak-color-flame) 100%);
  border-radius: 9999px;
  height: 100%;
  transition: width .5s cubic-bezier(.34, 1.56, .64, 1);
  box-shadow: 0 1px 3px rgba(255, 90, 106, .3);
}

.harmonia-streak-counter__milestone {
  color: var(--streak-text-tertiary);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  text-align: center;
  font-size: .75rem;
  font-weight: 500;
}

.harmonia-streak-counter__warning {
  align-items: center;
  gap: var(--spacing-2, .5rem);
  padding: var(--spacing-2, .5rem) var(--spacing-3, .75rem);
  background: rgba(246, 205, 1, .1);
  border: 1px solid rgba(246, 205, 1, .3);
  border-radius: 12px;
  width: 100%;
  display: flex;
}

.harmonia-streak-counter__warning-icon {
  color: var(--streak-color-warning);
  font-size: 1rem;
}

.harmonia-streak-counter__warning-text {
  color: #b59700;
  font-size: .875rem;
  font-weight: 500;
}

.harmonia-streak-counter--at-risk {
  border-color: var(--streak-color-warning);
  animation: 2s ease-in-out infinite harmonia-streak-pulse;
}

@keyframes harmonia-streak-pulse {
  0%, to {
    box-shadow: 0 4px 12px rgba(45, 50, 56, .08);
  }

  50% {
    box-shadow: 0 4px 16px rgba(246, 205, 1, .3);
  }
}

.harmonia-streak-counter__record {
  color: var(--streak-text-tertiary);
  align-items: center;
  gap: var(--spacing-1, .25rem);
  font-size: .875rem;
  display: flex;
}

.harmonia-streak-counter__record-icon {
  color: var(--streak-color-primary);
  font-size: 1rem;
}

.harmonia-streak-counter__celebration {
  background: linear-gradient(135deg, var(--streak-color-flame) 0, var(--streak-color-flame-dark) 50%, var(--streak-color-teal) 100%);
  z-index: 10;
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  animation: .3s cubic-bezier(.34, 1.56, .64, 1) harmonia-celebration-pop;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@keyframes harmonia-celebration-pop {
  0% {
    opacity: 0;
    transform: scale(.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.harmonia-streak-counter__celebration:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 30% 40%, rgba(255, 255, 255, .25) 0, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 70% 60%, rgba(255, 255, 255, .15) 0, rgba(0, 0, 0, 0) 40%);
  border-radius: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-streak-counter__celebration-content {
  align-items: center;
  gap: var(--spacing-3, .75rem);
  z-index: 1;
  flex-direction: column;
  display: flex;
  position: relative;
}

.harmonia-streak-counter__celebration-emoji {
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .2));
  font-size: 4rem;
  animation: .5s cubic-bezier(.68, -.55, .265, 1.55) harmonia-emoji-bounce;
}

@keyframes harmonia-emoji-bounce {
  0% {
    transform: scale(0);
  }

  50% {
    transform: scale(1.3);
  }

  to {
    transform: scale(1);
  }
}

.harmonia-streak-counter__celebration-text {
  color: #fff;
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  text-shadow: 0 2px 4px rgba(0, 0, 0, .2);
  font-size: 1.5rem;
  font-weight: 700;
}

.harmonia-streak-counter--compact {
  background: linear-gradient(135deg, var(--color-neutral-50, #fafbfc) 0, rgba(255, 90, 106, .08) 100%);
  cursor: pointer;
  gap: var(--spacing-2, .5rem);
  min-height: 48px;
  padding: var(--spacing-2, .5rem) var(--spacing-4, 1rem);
  border-radius: 9999px;
  flex-direction: row;
}

.harmonia-streak-counter--compact:before {
  display: none;
}

.harmonia-streak-counter--compact:focus-visible {
  box-shadow: 0 0 0 3px var(--streak-focus-ring);
  outline: none;
}

.harmonia-streak-counter--compact .harmonia-streak-counter__flame-icon {
  font-size: 1.5rem;
}

.harmonia-streak-counter--compact .harmonia-streak-counter__count {
  color: var(--streak-color-flame);
  font-size: 1.25rem;
}

.harmonia-streak-counter--compact.harmonia-streak-counter--completed {
  background: linear-gradient(135deg, rgba(255, 90, 106, .15), rgba(255, 90, 106, .08));
  border-color: rgba(255, 90, 106, .3);
}

:root.dark .harmonia-streak-counter, [data-theme="dark"] .harmonia-streak-counter {
  --streak-bg-gradient: linear-gradient(135deg, var(--elevation-1-bg, #252a30) 0%, var(--elevation-2-bg, #2d333a) 100%);
  --streak-bg-blob-accent: rgba(255, 90, 106, .1);
  --streak-bg-blob-teal: rgba(46, 214, 197, .1);
  --streak-text-secondary: var(--color-text-secondary-dark, #9ca3af);
  --streak-text-tertiary: var(--color-text-tertiary-dark, #6b7280);
  --streak-border-color: var(--color-neutral-700, #374151);
  --streak-focus-ring: rgba(3, 157, 227, .4);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-streak-counter:before, [data-theme="dark"] .harmonia-streak-counter:before {
  opacity: .15;
}

:root.dark .harmonia-streak-counter__main:hover, [data-theme="dark"] .harmonia-streak-counter__main:hover {
  background-color: rgba(255, 90, 106, .15);
}

:root.dark .harmonia-streak-counter__main:focus-visible {
  background-color: rgba(3, 157, 227, .12);
}

[data-theme="dark"] .harmonia-streak-counter__main:focus-visible {
  background-color: rgba(3, 157, 227, .12);
}

:root.dark .harmonia-streak-counter__progress-bar, [data-theme="dark"] .harmonia-streak-counter__progress-bar {
  background: var(--color-neutral-700, #374151);
}

:root.dark .harmonia-streak-counter__warning, [data-theme="dark"] .harmonia-streak-counter__warning {
  background: rgba(246, 205, 1, .15);
  border-color: rgba(246, 205, 1, .4);
}

:root.dark .harmonia-streak-counter__warning-text, [data-theme="dark"] .harmonia-streak-counter__warning-text {
  color: var(--streak-color-warning);
}

:root.dark .harmonia-streak-counter--compact, [data-theme="dark"] .harmonia-streak-counter--compact {
  background: linear-gradient(135deg, var(--elevation-1-bg, #252a30) 0, var(--elevation-2-bg, #2d333a) 100%);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-streak-counter {
    --streak-transition: 0s;
    --streak-transition-fast: 0s;
  }

  .harmonia-streak-counter--at-risk, .harmonia-streak-counter:before, .harmonia-streak-counter__celebration, .harmonia-streak-counter__celebration-emoji, .harmonia-streak-counter__flame-icon, .harmonia-streak-counter__glow {
    animation: none !important;
  }

  .harmonia-streak-counter__glow, .harmonia-streak-counter__main, .harmonia-streak-counter__progress-fill {
    transition: none;
  }

  .harmonia-streak-counter--completed .harmonia-streak-counter__flame-icon {
    transform: scale(1)rotate(0);
  }

  .harmonia-streak-counter--completed .harmonia-streak-counter__glow {
    opacity: .6;
  }

  .harmonia-streak-counter__celebration {
    opacity: 1;
    transform: scale(1);
  }

  .harmonia-streak-counter__celebration-emoji {
    transform: scale(1);
  }
}

@media (prefers-contrast: high) {
  .harmonia-streak-counter {
    border-width: 2px;
  }

  .harmonia-streak-counter__main:focus-visible {
    box-shadow: 0 0 0 4px var(--streak-color-primary);
  }

  .harmonia-streak-counter--compact:focus-visible {
    box-shadow: 0 0 0 4px var(--streak-color-primary);
  }

  .harmonia-streak-counter__progress-bar {
    border: 2px solid var(--streak-border-color);
    height: 12px;
  }

  .harmonia-streak-counter__count {
    -webkit-text-fill-color: currentColor;
    text-shadow: none;
    background: none;
  }

  .harmonia-streak-counter__warning {
    border-width: 2px;
  }

  .harmonia-streak-counter__label, .harmonia-streak-counter__milestone {
    font-weight: 600;
  }

  .harmonia-streak-counter__celebration {
    border: 4px solid #fff;
  }
}

.harmonia-xp-progress {
  --xp-color-primary: #039de3;
  --xp-color-teal: #2ed6c5;
  --xp-color-coral: #ff5a6a;
  --xp-color-yellow: #f6cd01;
  --xp-color-navy: #070433;
  --xp-level-gradient: linear-gradient(135deg, #2ed6c5, #039de3 50%, #0077b5);
  --xp-level-glow: rgba(46, 214, 197, .3);
  --xp-progress-gradient: linear-gradient(90deg, #2ed6c5, #039de3 40%, #ff5a6a);
  --xp-focus-ring: rgba(3, 157, 227, .3);
  --xp-bg-bar: var(--color-neutral-100, #f5f6f7);
  --xp-bg-next: var(--color-neutral-100, #f5f6f7);
  --xp-text-primary: var(--color-text-primary, #070433);
  --xp-text-secondary: var(--color-text-secondary, #6b7280);
  --xp-text-tertiary: var(--color-text-tertiary, #9ca3af);
  --xp-border-color: var(--color-neutral-300, #d1d5d9);
  --xp-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --xp-transition-fill: .6s cubic-bezier(.34, 1.56, .64, 1);
  align-items: center;
  gap: var(--spacing-3, .75rem);
  display: flex;
  position: relative;
}

.harmonia-xp-progress__level {
  background: var(--xp-level-gradient);
  box-shadow: 0 4px 12px var(--xp-level-glow), inset 0 1px 0 rgba(255, 255, 255, .2);
  cursor: default;
  min-width: 52px;
  height: 52px;
  transition: transform var(--xp-transition);
  border-radius: 9999px;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  display: flex;
  position: relative;
}

.harmonia-xp-progress__level:before {
  border: 2px solid var(--xp-color-teal);
  content: "";
  opacity: .5;
  border-radius: 9999px;
  position: absolute;
  top: -3px;
  bottom: -3px;
  left: -3px;
  right: -3px;
}

.harmonia-xp-progress__level:focus-visible {
  box-shadow: 0 4px 12px var(--xp-level-glow), inset 0 1px 0 rgba(255, 255, 255, .2), 0 0 0 3px var(--xp-focus-ring);
  outline: none;
}

.harmonia-xp-progress__level-number {
  color: #fff;
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .2);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}

.harmonia-xp-progress__level-label {
  color: rgba(255, 255, 255, .85);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .5rem;
  font-weight: 500;
}

.harmonia-xp-progress__content {
  gap: var(--spacing-2, .5rem);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.harmonia-xp-progress__bar-container {
  position: relative;
}

.harmonia-xp-progress__bar {
  background: var(--xp-bg-bar);
  border-radius: 9999px;
  height: 14px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .08);
}

.harmonia-xp-progress__fill {
  background: var(--xp-progress-gradient);
  height: 100%;
  transition: width var(--xp-transition-fill);
  border-radius: 9999px;
  position: relative;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
}

.harmonia-xp-progress__fill:before {
  content: "";
  background: linear-gradient(rgba(255, 255, 255, .5) 0, rgba(0, 0, 0, 0));
  border-radius: 9999px;
  height: 4px;
  position: absolute;
  top: 2px;
  left: 4px;
  right: 4px;
}

.harmonia-xp-progress__shimmer {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, .5) 50%, rgba(0, 0, 0, 0));
  animation: 2s ease-in-out infinite harmonia-xp-shimmer;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@keyframes harmonia-xp-shimmer {
  0% {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(100%);
  }
}

.harmonia-xp-progress__gain {
  color: var(--xp-color-yellow);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  pointer-events: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .1), 0 0 12px rgba(246, 205, 1, .4);
  white-space: nowrap;
  font-size: 1rem;
  font-weight: 700;
  animation: 1.5s ease-out forwards harmonia-xp-float;
  position: absolute;
  top: 0;
}

@keyframes harmonia-xp-float {
  0% {
    opacity: 0;
    transform: translateY(0)scale(.5);
  }

  20% {
    opacity: 1;
    transform: translateY(-20px)scale(1);
  }

  to {
    opacity: 0;
    transform: translateY(-60px)scale(.8);
  }
}

.harmonia-xp-progress__numbers {
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  align-items: center;
  gap: var(--spacing-1, .25rem);
  font-size: .875rem;
  display: flex;
}

.harmonia-xp-progress__current {
  color: var(--xp-color-primary);
  font-weight: 600;
}

.harmonia-xp-progress__separator, .harmonia-xp-progress__total {
  color: var(--xp-text-tertiary);
}

.harmonia-xp-progress__next {
  background: var(--xp-bg-next);
  border: 2px dashed var(--xp-border-color);
  height: 36px;
  transition: border-color var(--xp-transition), background-color var(--xp-transition);
  border-radius: 9999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  display: flex;
}

.harmonia-xp-progress__next:focus-visible {
  border-color: var(--xp-color-primary);
  box-shadow: 0 0 0 3px var(--xp-focus-ring);
  border-style: solid;
  outline: none;
}

.harmonia-xp-progress__next-number {
  color: var(--xp-text-tertiary);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 600;
}

.harmonia-xp-progress__levelup {
  background: linear-gradient(135deg, var(--xp-color-teal) 0, var(--xp-color-primary) 50%, var(--xp-color-coral) 100%);
  z-index: 10;
  border-radius: 24px;
  justify-content: center;
  align-items: center;
  animation: .4s cubic-bezier(.34, 1.56, .64, 1) harmonia-levelup-pop;
  display: flex;
  position: absolute;
  top: -24px;
  bottom: -24px;
  left: -24px;
  right: -24px;
  box-shadow: 0 8px 32px rgba(46, 214, 197, .4), 0 0 0 4px rgba(255, 255, 255, .1);
}

@keyframes harmonia-levelup-pop {
  0% {
    opacity: 0;
    transform: scale(.8);
  }

  50% {
    transform: scale(1.05);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.harmonia-xp-progress__levelup:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .3) 0, rgba(0, 0, 0, 0) 40%), radial-gradient(circle at 70% 70%, rgba(255, 255, 255, .15) 0, rgba(0, 0, 0, 0) 30%);
  border-radius: 24px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-xp-progress__levelup-content {
  align-items: center;
  gap: var(--spacing-2, .5rem);
  z-index: 1;
  flex-direction: column;
  display: flex;
  position: relative;
}

.harmonia-xp-progress__levelup-star {
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .2));
  font-size: 3rem;
  animation: .6s cubic-bezier(.68, -.55, .265, 1.55) harmonia-star-spin;
}

@keyframes harmonia-star-spin {
  0% {
    transform: scale(0)rotate(-180deg);
  }

  to {
    transform: scale(1)rotate(0);
  }
}

.harmonia-xp-progress__levelup-text {
  color: #fff;
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  text-shadow: 0 2px 4px rgba(0, 0, 0, .2);
  font-size: 1.5rem;
  font-weight: 700;
}

.harmonia-xp-progress__confetti {
  pointer-events: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-xp-progress__confetti-particle {
  border-radius: 4px;
  width: 8px;
  height: 8px;
  position: absolute;
}

.harmonia-xp-progress--sm .harmonia-xp-progress__level {
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
}

.harmonia-xp-progress--sm .harmonia-xp-progress__level:before {
  top: -2px;
  bottom: -2px;
  left: -2px;
  right: -2px;
}

.harmonia-xp-progress--sm .harmonia-xp-progress__level-number {
  font-size: 1rem;
}

.harmonia-xp-progress--sm .harmonia-xp-progress__level-label {
  display: none;
}

.harmonia-xp-progress--sm .harmonia-xp-progress__bar {
  height: 10px;
}

.harmonia-xp-progress--sm .harmonia-xp-progress__next {
  width: 28px;
  height: 28px;
}

.harmonia-xp-progress--lg .harmonia-xp-progress__level {
  min-width: 72px;
  height: 72px;
  padding: 0 16px;
}

.harmonia-xp-progress--lg .harmonia-xp-progress__level:before {
  top: -4px;
  bottom: -4px;
  left: -4px;
  right: -4px;
}

.harmonia-xp-progress--lg .harmonia-xp-progress__level-number {
  font-size: 1.875rem;
}

.harmonia-xp-progress--lg .harmonia-xp-progress__bar {
  height: 18px;
}

.harmonia-xp-progress--lg .harmonia-xp-progress__next {
  width: 48px;
  height: 48px;
}

.harmonia-xp-progress--lg .harmonia-xp-progress__next-number {
  font-size: 1.125rem;
}

.harmonia-xp-progress--compact {
  padding: 0;
}

.harmonia-xp-progress--compact .harmonia-xp-progress__bar {
  height: 8px;
}

.harmonia-xp-progress--compact .harmonia-xp-progress__fill:before {
  height: 2px;
}

:root.dark .harmonia-xp-progress, [data-theme="dark"] .harmonia-xp-progress {
  --xp-bg-bar: var(--color-neutral-700, #374151);
  --xp-bg-next: var(--color-neutral-700, #374151);
  --xp-border-color: var(--color-neutral-500, #6b7280);
  --xp-text-tertiary: var(--color-neutral-400, #9ca3af);
  --xp-focus-ring: rgba(3, 157, 227, .4);
  --xp-level-glow: rgba(46, 214, 197, .4);
}

:root.dark .harmonia-xp-progress__bar, [data-theme="dark"] .harmonia-xp-progress__bar {
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-xp-progress__level, [data-theme="dark"] .harmonia-xp-progress__level {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .4), inset 0 1px rgba(255, 255, 255, .1);
}

:root.dark .harmonia-xp-progress__shimmer, [data-theme="dark"] .harmonia-xp-progress__shimmer {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, .2) 50%, rgba(0, 0, 0, 0));
}

:root.dark .harmonia-xp-progress__levelup, [data-theme="dark"] .harmonia-xp-progress__levelup {
  box-shadow: 0 8px 32px rgba(0, 0, 0, .5), 0 0 0 4px rgba(255, 255, 255, .05);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-xp-progress {
    --xp-transition: 0s;
    --xp-transition-fill: 0s;
  }

  .harmonia-xp-progress__gain, .harmonia-xp-progress__levelup, .harmonia-xp-progress__levelup-star, .harmonia-xp-progress__shimmer {
    animation: none;
  }

  .harmonia-xp-progress__fill, .harmonia-xp-progress__level, .harmonia-xp-progress__next {
    transition: none;
  }

  .harmonia-xp-progress__confetti-particle {
    display: none;
  }

  .harmonia-xp-progress__gain {
    opacity: 1;
    transform: translateY(-20px);
  }

  .harmonia-xp-progress__levelup {
    opacity: 1;
    transform: scale(1);
  }

  .harmonia-xp-progress__levelup-star {
    transform: scale(1)rotate(0);
  }
}

@media (prefers-contrast: high) {
  .harmonia-xp-progress__bar {
    border: 2px solid var(--xp-text-primary);
    height: 18px;
  }

  .harmonia-xp-progress__fill {
    box-shadow: none;
  }

  .harmonia-xp-progress__level {
    border: 3px solid #fff;
  }

  .harmonia-xp-progress__level:before {
    opacity: 1;
    border-width: 3px;
  }

  .harmonia-xp-progress__level:focus-visible {
    box-shadow: 0 0 0 4px var(--xp-color-primary);
  }

  .harmonia-xp-progress__next {
    border-style: solid;
    border-width: 3px;
  }

  .harmonia-xp-progress__next:focus-visible {
    box-shadow: 0 0 0 4px var(--xp-color-primary);
  }

  .harmonia-xp-progress__numbers {
    font-weight: 700;
  }

  .harmonia-xp-progress__levelup {
    border: 4px solid #fff;
  }
}

.harmonia-flashcard {
  perspective: 1000px;
  width: 100%;
  max-width: 400px;
  position: relative;
}

.harmonia-flashcard__progress {
  z-index: 5;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
}

.harmonia-flashcard__progress-text {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.harmonia-flashcard__indicator {
  border-radius: var(--radius-xl);
  font-weight: var(--font-weight-bold);
  align-items: center;
  gap: var(--spacing-1);
  padding: var(--spacing-3);
  z-index: 10;
  flex-direction: column;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.harmonia-flashcard__indicator--right {
  background: var(--color-success-100);
  color: var(--color-success-700);
  right: -80px;
}

.harmonia-flashcard__indicator--left {
  background: var(--color-error-100);
  color: var(--color-error-700);
  left: -80px;
}

.harmonia-flashcard__indicator span:first-child {
  font-size: 1.5rem;
}

.harmonia-flashcard__indicator span:last-child {
  font-size: var(--font-size-xs);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}

.harmonia-flashcard__container {
  aspect-ratio: 3 / 4;
  cursor: grab;
  width: 100%;
}

.harmonia-flashcard--dragging .harmonia-flashcard__container {
  cursor: grabbing;
}

.harmonia-flashcard__inner {
  height: 100%;
  transform-style: preserve-3d;
  width: 100%;
  position: relative;
}

.harmonia-flashcard__face {
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: var(--color-background-primary);
  border: 2px solid var(--color-border-light);
  border-radius: var(--radius-2xl);
  box-shadow: var(--elevation-3);
  cursor: pointer;
  padding: var(--spacing-6);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-flashcard__front {
  background: linear-gradient(135deg, var(--color-primary-50) 0, var(--color-background-primary) 100%);
}

.harmonia-flashcard__back {
  background: linear-gradient(135deg, var(--color-secondary-50) 0, var(--color-background-primary) 100%);
  transform: rotateY(180deg);
}

.harmonia-flashcard__content {
  color: var(--color-text-primary);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-relaxed);
  text-align: center;
  flex: 1;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  overflow: auto;
}

.harmonia-flashcard__hint, .harmonia-flashcard__swipe-hint {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  margin-top: auto;
}

.harmonia-flashcard__difficulty {
  gap: var(--spacing-2);
  padding-top: var(--spacing-4);
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
  margin-top: auto;
  display: grid;
}

.harmonia-flashcard__difficulty-btn {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-lg);
  cursor: pointer;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  min-height: var(--touch-target-minimum);
  padding: var(--spacing-2) var(--spacing-1);
  transition: all var(--duration-fast) var(--easing-ease);
  border: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-flashcard__difficulty-btn--again {
  background: var(--color-error-100);
  color: var(--color-error-700);
}

.harmonia-flashcard__difficulty-btn--again:active {
  background: var(--color-error-200);
}

.harmonia-flashcard__difficulty-btn--hard {
  background: var(--color-warning-100);
  color: var(--color-warning-700);
}

.harmonia-flashcard__difficulty-btn--hard:active {
  background: var(--color-warning-200);
}

.harmonia-flashcard__difficulty-btn--medium {
  background: var(--color-info-100);
  color: var(--color-info-700);
}

.harmonia-flashcard__difficulty-btn--medium:active {
  background: var(--color-info-200);
}

.harmonia-flashcard__difficulty-btn--easy {
  background: var(--color-success-100);
  color: var(--color-success-700);
}

.harmonia-flashcard__difficulty-btn--easy:active {
  background: var(--color-success-200);
}

.harmonia-flashcard--disabled {
  opacity: .6;
  pointer-events: none;
}

:root.dark .harmonia-flashcard__face, [data-theme="dark"] .harmonia-flashcard__face {
  background: var(--color-background-secondary);
  border-color: var(--color-border-default);
}

:root.dark .harmonia-flashcard__front, [data-theme="dark"] .harmonia-flashcard__front {
  background: linear-gradient(135deg, var(--color-primary-100) 0, var(--color-background-secondary) 100%);
}

:root.dark .harmonia-flashcard__back, [data-theme="dark"] .harmonia-flashcard__back {
  background: linear-gradient(135deg, var(--color-secondary-100) 0, var(--color-background-secondary) 100%);
}

@media (max-width: 480px) {
  .harmonia-flashcard__indicator {
    display: none;
  }

  .harmonia-flashcard__difficulty {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-flashcard__inner {
    transition: none;
  }
}

.harmonia-quiz {
  gap: var(--spacing-4);
  flex-direction: column;
  display: flex;
  position: relative;
}

.harmonia-quiz__progress {
  gap: var(--spacing-1);
  flex-direction: column;
  display: flex;
}

.harmonia-quiz__progress-bar {
  background: var(--color-neutral-200);
  border-radius: var(--radius-full);
  height: 4px;
  overflow: hidden;
}

.harmonia-quiz__progress-fill {
  background: linear-gradient(90deg, var(--color-primary-400), var(--color-primary-500));
  border-radius: var(--radius-full);
  height: 100%;
}

.harmonia-quiz__progress-text {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

.harmonia-quiz__question {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-quiz__question-text {
  color: var(--color-text-primary);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-snug);
  margin: 0;
}

.harmonia-quiz__hint-toggle {
  -webkit-tap-highlight-color: transparent;
  color: var(--color-primary-500);
  cursor: pointer;
  font-size: var(--font-size-sm);
  padding: var(--spacing-1) 0;
  background: none;
  border: none;
  align-self: flex-start;
}

.harmonia-quiz__hint {
  background: var(--color-info-50);
  border-radius: var(--radius-lg);
  color: var(--color-info-700);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  padding: var(--spacing-3);
}

.harmonia-quiz__options {
  gap: var(--spacing-2);
  flex-direction: column;
  display: flex;
}

.harmonia-quiz__option {
  -webkit-tap-highlight-color: transparent;
  background: var(--color-background-primary);
  border: 2px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-3);
  min-height: var(--touch-target-comfortable);
  padding: var(--spacing-4);
  text-align: left;
  transition: all var(--duration-fast) var(--easing-ease);
  display: flex;
}

.harmonia-quiz__option:hover:not(:disabled) {
  background: var(--color-primary-50);
  border-color: var(--color-primary-300);
}

.harmonia-quiz__option--selected {
  background: var(--color-primary-50);
  border-color: var(--color-primary-500);
}

.harmonia-quiz__option--correct {
  background: var(--color-success-50);
  border-color: var(--color-success-500);
}

.harmonia-quiz__option--incorrect {
  background: var(--color-error-50);
  border-color: var(--color-error-500);
}

.harmonia-quiz__option:disabled {
  cursor: default;
}

.harmonia-quiz__option-indicator {
  background: var(--color-neutral-100);
  border-radius: var(--radius-full);
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  display: flex;
}

.harmonia-quiz__option--selected .harmonia-quiz__option-indicator {
  background: var(--color-primary-500);
  color: #fff;
}

.harmonia-quiz__option--correct .harmonia-quiz__option-indicator {
  background: var(--color-success-500);
  color: #fff;
}

.harmonia-quiz__option--incorrect .harmonia-quiz__option-indicator {
  background: var(--color-error-500);
  color: #fff;
}

.harmonia-quiz__option-label {
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
}

.harmonia-quiz__submit {
  -webkit-tap-highlight-color: transparent;
  background: var(--color-primary-500);
  border-radius: var(--radius-xl);
  color: #fff;
  cursor: pointer;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  min-height: var(--touch-target-comfortable);
  padding: var(--spacing-4);
  transition: all var(--duration-fast) var(--easing-ease);
  border: none;
}

.harmonia-quiz__submit:hover:not(:disabled) {
  background: var(--color-primary-600);
}

.harmonia-quiz__submit:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.harmonia-quiz__feedback {
  border-radius: var(--radius-xl);
  gap: var(--spacing-3);
  padding: var(--spacing-4);
  flex-direction: column;
  display: flex;
}

.harmonia-quiz__feedback--correct {
  background: var(--color-success-50);
  border: 1px solid var(--color-success-200);
}

.harmonia-quiz__feedback--incorrect {
  background: var(--color-warning-50);
  border: 1px solid var(--color-warning-200);
}

.harmonia-quiz__feedback-header {
  align-items: center;
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-quiz__feedback-icon {
  font-size: 1.5rem;
}

.harmonia-quiz__feedback-title {
  color: var(--color-text-primary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
}

.harmonia-quiz__explanation {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.harmonia-quiz__actions {
  gap: var(--spacing-2);
  flex-wrap: wrap;
  display: flex;
}

.harmonia-quiz__retry {
  background: var(--color-neutral-100);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
}

.harmonia-quiz__continue, .harmonia-quiz__retry {
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  font-size: var(--font-size-sm);
  min-height: var(--touch-target-minimum);
  min-width: 120px;
  padding: var(--spacing-3);
  flex: 1;
}

.harmonia-quiz__continue {
  background: var(--color-primary-500);
  border-radius: var(--radius-lg);
  color: #fff;
  font-weight: var(--font-weight-semibold);
  border: none;
}

.harmonia-quiz__continue:hover {
  background: var(--color-primary-600);
}

.harmonia-quiz__celebration {
  pointer-events: none;
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.harmonia-quiz__particle {
  border-radius: var(--radius-sm);
  width: 8px;
  height: 8px;
  position: absolute;
}

:root.dark .harmonia-quiz__option, [data-theme="dark"] .harmonia-quiz__option {
  background: var(--color-background-secondary);
  border-color: var(--color-border-default);
}

:root.dark .harmonia-quiz__option:hover:not(:disabled), [data-theme="dark"] .harmonia-quiz__option:hover:not(:disabled) {
  background: var(--color-primary-100);
  border-color: var(--color-primary-400);
}

:root.dark .harmonia-quiz__progress-bar, [data-theme="dark"] .harmonia-quiz__progress-bar {
  background: var(--color-neutral-300);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-quiz__particle {
    display: none;
  }
}

.harmonia-learning-path {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.harmonia-learning-path--horizontal {
  padding-bottom: var(--spacing-4);
  flex-direction: row;
  overflow-x: auto;
}

.harmonia-learning-path__item {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.harmonia-learning-path--horizontal .harmonia-learning-path__item {
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
}

.harmonia-learning-path__connector {
  background: var(--color-neutral-200);
  border-radius: var(--radius-full);
  width: 4px;
  height: calc(100% - 48px);
  position: absolute;
  top: 48px;
  left: 24px;
  overflow: hidden;
}

.harmonia-learning-path--horizontal .harmonia-learning-path__connector {
  width: 40px;
  height: 4px;
  top: 50%;
  left: auto;
  right: -20px;
  transform: translateY(-50%);
}

.harmonia-learning-path__connector-fill {
  background: linear-gradient(to bottom, var(--color-success-400), var(--color-success-500));
  transform-origin: top;
  width: 100%;
  height: 100%;
}

.harmonia-learning-path--horizontal .harmonia-learning-path__connector-fill {
  transform-origin: 0;
}

.harmonia-learning-path__connector--completed .harmonia-learning-path__connector-fill {
  transform: scaleY(1) !important;
}

.harmonia-learning-path__node {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-xl);
  cursor: pointer;
  align-items: flex-start;
  gap: var(--spacing-3);
  min-height: var(--touch-target-comfortable);
  padding: var(--spacing-3);
  text-align: left;
  transition: background-color var(--duration-fast) var(--easing-ease);
  background: none;
  border: none;
  width: 100%;
  display: flex;
}

.harmonia-learning-path__node:hover:not(:disabled) {
  background: var(--color-neutral-100);
}

.harmonia-learning-path__node:disabled {
  cursor: not-allowed;
  opacity: .7;
}

.harmonia-learning-path--horizontal .harmonia-learning-path__node {
  text-align: center;
  flex-direction: column;
  align-items: center;
  width: 120px;
}

.harmonia-learning-path__node-icon {
  border-radius: var(--radius-full);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  font-size: 1.25rem;
  display: flex;
  position: relative;
}

.harmonia-learning-path__node--locked .harmonia-learning-path__node-icon {
  background: var(--color-neutral-200);
  color: var(--color-text-disabled);
}

.harmonia-learning-path__node--available .harmonia-learning-path__node-icon {
  background: var(--color-primary-100);
  border: 2px solid var(--color-primary-300);
  color: var(--color-primary-600);
}

.harmonia-learning-path__node--current .harmonia-learning-path__node-icon {
  background: var(--color-primary-500);
  box-shadow: 0 0 0 4px var(--color-primary-200);
  color: #fff;
}

.harmonia-learning-path__node--completed .harmonia-learning-path__node-icon {
  background: var(--color-success-500);
  color: #fff;
}

.harmonia-learning-path__pulse {
  background: var(--color-primary-400);
  border-radius: var(--radius-full);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-learning-path__node-status {
  z-index: 1;
  position: relative;
}

.harmonia-learning-path__node-content {
  gap: var(--spacing-1);
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.harmonia-learning-path__node-title {
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-snug);
  margin: 0;
}

.harmonia-learning-path__node--locked .harmonia-learning-path__node-title {
  color: var(--color-text-disabled);
}

.harmonia-learning-path__node-description {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  margin: 0;
}

.harmonia-learning-path__node-meta {
  gap: var(--spacing-3);
  margin-top: var(--spacing-1);
  display: flex;
}

.harmonia-learning-path__xp {
  color: var(--color-warning-600);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
}

.harmonia-learning-path__duration {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-xs);
}

:root.dark .harmonia-learning-path__connector, [data-theme="dark"] .harmonia-learning-path__connector {
  background: var(--color-neutral-300);
}

:root.dark .harmonia-learning-path__node:hover:not(:disabled), [data-theme="dark"] .harmonia-learning-path__node:hover:not(:disabled) {
  background: var(--color-neutral-200);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-learning-path__pulse {
    display: none;
  }
}

.harmonia-micro-lesson {
  -webkit-tap-highlight-color: transparent;
  background: var(--color-background-primary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  cursor: pointer;
  align-items: stretch;
  gap: var(--spacing-3);
  min-height: var(--touch-target-comfortable);
  padding: var(--spacing-3);
  text-align: left;
  transition: all var(--duration-fast) var(--easing-ease);
  width: 100%;
  display: flex;
}

.harmonia-micro-lesson:hover:not(:disabled) {
  border-color: var(--color-primary-300);
  box-shadow: var(--elevation-2);
}

.harmonia-micro-lesson:disabled {
  cursor: not-allowed;
}

.harmonia-micro-lesson--locked {
  background: var(--color-neutral-100);
  opacity: .7;
}

.harmonia-micro-lesson--completed {
  background: var(--color-success-50);
  border-color: var(--color-success-200);
}

.harmonia-micro-lesson__thumbnail {
  border-radius: var(--radius-lg);
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  position: relative;
  overflow: hidden;
}

.harmonia-micro-lesson__thumbnail img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.harmonia-micro-lesson__thumbnail-progress {
  background: rgba(0, 0, 0, .3);
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-micro-lesson__thumbnail-progress-fill {
  background: var(--color-primary-500);
  height: 100%;
}

.harmonia-micro-lesson__content {
  gap: var(--spacing-1);
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.harmonia-micro-lesson__badges {
  align-items: center;
  gap: var(--spacing-2);
  flex-wrap: wrap;
  display: flex;
}

.harmonia-micro-lesson__type {
  background: var(--color-primary-100);
  border-radius: var(--radius-full);
  color: var(--color-primary-700);
  font-size: var(--font-size-xs);
  align-items: center;
  gap: var(--spacing-1);
  padding: var(--spacing-0-5) var(--spacing-2);
  display: inline-flex;
}

.harmonia-micro-lesson__type-icon {
  font-size: .75rem;
}

.harmonia-micro-lesson__duration {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-xs);
}

.harmonia-micro-lesson__title {
  -webkit-line-clamp: 2;
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-snug);
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
}

.harmonia-micro-lesson--locked .harmonia-micro-lesson__title {
  color: var(--color-text-disabled);
}

.harmonia-micro-lesson__description {
  -webkit-line-clamp: 1;
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
}

.harmonia-micro-lesson__footer {
  align-items: center;
  gap: var(--spacing-2);
  margin-top: auto;
  display: flex;
}

.harmonia-micro-lesson__progress {
  align-items: center;
  gap: var(--spacing-2);
  flex: 1;
  display: flex;
}

.harmonia-micro-lesson__progress-bar {
  background: var(--color-neutral-200);
  border-radius: var(--radius-full);
  flex: 1;
  height: 4px;
  overflow: hidden;
}

.harmonia-micro-lesson__progress-fill {
  background: var(--color-primary-500);
  border-radius: var(--radius-full);
  height: 100%;
}

.harmonia-micro-lesson__progress-text {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-xs);
  min-width: 32px;
}

.harmonia-micro-lesson__completed {
  color: var(--color-success-600);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
}

.harmonia-micro-lesson__locked {
  color: var(--color-text-disabled);
  font-size: var(--font-size-xs);
}

.harmonia-micro-lesson__xp {
  color: var(--color-warning-600);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  margin-left: auto;
}

.harmonia-micro-lesson__arrow {
  color: var(--color-text-tertiary);
  flex-shrink: 0;
  align-items: center;
  display: flex;
}

:root.dark .harmonia-micro-lesson, [data-theme="dark"] .harmonia-micro-lesson {
  background: var(--color-background-secondary);
}

:root.dark .harmonia-micro-lesson--locked, [data-theme="dark"] .harmonia-micro-lesson--locked {
  background: var(--color-neutral-200);
}

:root.dark .harmonia-micro-lesson--completed, [data-theme="dark"] .harmonia-micro-lesson--completed {
  background: rgba(16, 185, 129, .1);
}

@media (max-width: 374px) {
  .harmonia-micro-lesson__thumbnail {
    width: 60px;
    height: 60px;
  }
}

.harmonia-leaderboard {
  --leaderboard-color-primary: #039de3;
  --leaderboard-color-success: #2ed6c5;
  --leaderboard-color-error: #ff5a6a;
  --leaderboard-color-gold: #f6cd01;
  --leaderboard-color-silver: #9ca3af;
  --leaderboard-color-bronze: #d97706;
  --leaderboard-color-navy: #070433;
  --leaderboard-focus-ring: rgba(3, 157, 227, .3);
  --leaderboard-bg-primary: var(--color-background-primary, #fff);
  --leaderboard-bg-secondary: var(--color-neutral-100, #f5f6f7);
  --leaderboard-bg-hover: var(--color-neutral-100, #f5f6f7);
  --leaderboard-bg-current: rgba(3, 157, 227, .08);
  --leaderboard-text-primary: var(--color-text-primary, #070433);
  --leaderboard-text-secondary: var(--color-text-secondary, #6b7280);
  --leaderboard-text-tertiary: var(--color-text-tertiary, #9ca3af);
  --leaderboard-border-color: var(--color-border-default, #e5e7eb);
  --leaderboard-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --leaderboard-transition-fast: .15s ease-out;
  background: var(--leaderboard-bg-primary);
  border-radius: var(--radius-2xl, 1rem);
  gap: var(--spacing-4, 1rem);
  padding: var(--spacing-4, 1rem);
  flex-direction: column;
  display: flex;
}

.harmonia-leaderboard__header {
  gap: var(--spacing-3, .75rem);
  flex-direction: column;
  display: flex;
}

.harmonia-leaderboard__title {
  color: var(--leaderboard-text-primary);
  font-size: var(--font-size-xl, 1.25rem);
  font-weight: var(--font-weight-bold, 700);
  margin: 0;
}

.harmonia-leaderboard__filters {
  background: var(--leaderboard-bg-secondary);
  border-radius: var(--radius-lg, .5rem);
  gap: var(--spacing-1, .25rem);
  padding: var(--spacing-1, .25rem);
  display: flex;
}

.harmonia-leaderboard__filter {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-md, .375rem);
  color: var(--leaderboard-text-secondary);
  cursor: pointer;
  font-size: var(--font-size-sm, .875rem);
  min-height: 44px;
  padding: var(--spacing-2, .5rem);
  transition: background-color var(--leaderboard-transition-fast), color var(--leaderboard-transition-fast);
  background: none;
  border: none;
  flex: 1;
}

.harmonia-leaderboard__filter:hover {
  color: var(--leaderboard-text-primary);
}

.harmonia-leaderboard__filter:focus-visible {
  box-shadow: 0 0 0 3px var(--leaderboard-focus-ring);
  color: var(--leaderboard-color-primary);
  outline: none;
}

.harmonia-leaderboard__filter--active {
  background: var(--leaderboard-bg-primary);
  box-shadow: var(--elevation-1, 0 1px 3px rgba(0, 0, 0, .1));
  color: var(--leaderboard-text-primary);
  font-weight: var(--font-weight-semibold, 600);
}

.harmonia-leaderboard__podium {
  align-items: flex-end;
  gap: var(--spacing-2, .5rem);
  padding: var(--spacing-4, 1rem) 0;
  justify-content: center;
  display: flex;
}

.harmonia-leaderboard__podium-item {
  background: var(--leaderboard-bg-secondary);
  border-radius: var(--radius-xl, .75rem);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-1, .25rem);
  padding: var(--spacing-3, .75rem);
  transition: transform var(--leaderboard-transition), border-color var(--leaderboard-transition-fast);
  border: 2px solid rgba(0, 0, 0, 0);
  flex-direction: column;
  display: flex;
  position: relative;
}

.harmonia-leaderboard__podium-item:hover {
  transform: translateY(-2px);
}

.harmonia-leaderboard__podium-item:focus-visible {
  border-color: var(--leaderboard-color-primary);
  box-shadow: 0 0 0 3px var(--leaderboard-focus-ring);
  outline: none;
}

.harmonia-leaderboard__podium-item--1 {
  border-color: var(--leaderboard-color-gold);
  padding: var(--spacing-4, 1rem);
  background: linear-gradient(135deg, rgba(246, 205, 1, .15), rgba(246, 205, 1, .05));
  order: 2;
}

.harmonia-leaderboard__podium-item--2 {
  border-color: var(--leaderboard-color-silver);
  order: 1;
}

.harmonia-leaderboard__podium-item--3 {
  border-color: var(--leaderboard-color-bronze);
  order: 3;
}

.harmonia-leaderboard__podium-crown {
  font-size: 1.5rem;
  position: absolute;
  top: -20px;
}

.harmonia-leaderboard__podium-avatar {
  background: var(--leaderboard-bg-secondary);
  border-radius: var(--radius-full, 9999px);
  color: var(--leaderboard-color-primary);
  font-weight: var(--font-weight-bold, 700);
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
  overflow: hidden;
}

.harmonia-leaderboard__podium-avatar--winner {
  border: 3px solid var(--leaderboard-color-gold);
  width: 64px;
  height: 64px;
}

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

.harmonia-leaderboard__podium-rank {
  font-size: 1.25rem;
}

.harmonia-leaderboard__podium-name {
  color: var(--leaderboard-text-primary);
  font-size: var(--font-size-sm, .875rem);
  font-weight: var(--font-weight-semibold, 600);
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 80px;
  overflow: hidden;
}

.harmonia-leaderboard__podium-score {
  color: var(--leaderboard-text-tertiary);
  font-size: var(--font-size-xs, .75rem);
}

.harmonia-leaderboard__list {
  gap: var(--spacing-1, .25rem);
  flex-direction: column;
  display: flex;
}

.harmonia-leaderboard__item {
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--radius-lg, .5rem);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-3, .75rem);
  min-height: 48px;
  padding: var(--spacing-3, .75rem);
  text-align: left;
  transition: background-color var(--leaderboard-transition-fast), box-shadow var(--leaderboard-transition-fast);
  background: none;
  border: none;
  width: 100%;
  display: flex;
}

.harmonia-leaderboard__item:hover {
  background: var(--leaderboard-bg-hover);
}

.harmonia-leaderboard__item:focus-visible {
  background: var(--leaderboard-bg-hover);
  box-shadow: inset 0 0 0 3px var(--leaderboard-focus-ring);
  outline: none;
}

.harmonia-leaderboard__item--current {
  background: var(--leaderboard-bg-current);
  border: 1px solid rgba(3, 157, 227, .2);
}

.harmonia-leaderboard__item--current:focus-visible {
  border-color: var(--leaderboard-color-primary);
}

.harmonia-leaderboard__rank {
  color: var(--leaderboard-text-secondary);
  font-size: var(--font-size-sm, .875rem);
  font-weight: var(--font-weight-semibold, 600);
  text-align: center;
  width: 40px;
}

.harmonia-leaderboard__avatar {
  border-radius: var(--radius-full, 9999px);
  color: var(--leaderboard-color-primary);
  font-size: var(--font-size-sm, .875rem);
  font-weight: var(--font-weight-bold, 700);
  background: rgba(3, 157, 227, .1);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
  overflow: hidden;
}

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

.harmonia-leaderboard__info {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.harmonia-leaderboard__name {
  color: var(--leaderboard-text-primary);
  font-size: var(--font-size-base, 1rem);
  font-weight: var(--font-weight-medium, 500);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.harmonia-leaderboard__you {
  color: var(--leaderboard-color-primary);
  font-size: var(--font-size-xs, .75rem);
  font-weight: var(--font-weight-normal, 400);
  margin-left: var(--spacing-1, .25rem);
}

.harmonia-leaderboard__level {
  color: var(--leaderboard-text-tertiary);
  font-size: var(--font-size-xs, .75rem);
}

.harmonia-leaderboard__score-section {
  align-items: center;
  gap: var(--spacing-1, .25rem);
  display: flex;
}

.harmonia-leaderboard__change {
  font-size: .625rem;
}

.harmonia-leaderboard__change--up {
  color: var(--leaderboard-color-success);
}

.harmonia-leaderboard__change--down {
  color: var(--leaderboard-color-error);
}

.harmonia-leaderboard__score {
  color: var(--leaderboard-text-primary);
  font-size: var(--font-size-sm, .875rem);
  font-weight: var(--font-weight-semibold, 600);
  white-space: nowrap;
}

.harmonia-leaderboard__current-user {
  background: var(--leaderboard-color-primary);
  border-radius: var(--radius-lg, .5rem);
  color: #fff;
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-3, .75rem);
  margin-top: var(--spacing-2, .5rem);
  min-height: 48px;
  padding: var(--spacing-3, .75rem);
  transition: background-color var(--leaderboard-transition-fast);
  border: none;
  width: 100%;
  display: flex;
}

.harmonia-leaderboard__current-user:hover {
  background: #0285c7;
}

.harmonia-leaderboard__current-user:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .5);
}

.harmonia-leaderboard__current-user .harmonia-leaderboard__name, .harmonia-leaderboard__current-user .harmonia-leaderboard__rank, .harmonia-leaderboard__current-user .harmonia-leaderboard__score {
  color: #fff;
}

.harmonia-leaderboard__current-user .harmonia-leaderboard__level {
  color: rgba(255, 255, 255, .8);
}

.harmonia-leaderboard__current-user .harmonia-leaderboard__avatar {
  color: #fff;
  background: rgba(255, 255, 255, .2);
}

:root.dark .harmonia-leaderboard, [data-theme="dark"] .harmonia-leaderboard {
  --leaderboard-bg-primary: var(--surface-1, #1a1a2e);
  --leaderboard-bg-secondary: rgba(255, 255, 255, .06);
  --leaderboard-bg-hover: rgba(255, 255, 255, .08);
  --leaderboard-bg-current: rgba(3, 157, 227, .15);
  --leaderboard-text-primary: var(--color-text-primary-dark, #f9fafb);
  --leaderboard-text-secondary: var(--color-text-secondary-dark, #9ca3af);
  --leaderboard-text-tertiary: var(--color-text-tertiary-dark, #6b7280);
  --leaderboard-border-color: rgba(255, 255, 255, .15);
  --leaderboard-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-leaderboard__filter--active, [data-theme="dark"] .harmonia-leaderboard__filter--active {
  background: var(--leaderboard-bg-primary);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}

:root.dark .harmonia-leaderboard__podium-item--1, [data-theme="dark"] .harmonia-leaderboard__podium-item--1 {
  background: linear-gradient(135deg, rgba(246, 205, 1, .2), rgba(246, 205, 1, .1));
}

:root.dark .harmonia-leaderboard__avatar, [data-theme="dark"] .harmonia-leaderboard__avatar {
  background: rgba(3, 157, 227, .2);
}

:root.dark .harmonia-leaderboard__current-user:focus-visible {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .6);
}

[data-theme="dark"] .harmonia-leaderboard__current-user:focus-visible {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .6);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-leaderboard {
    --leaderboard-transition: 0s;
    --leaderboard-transition-fast: 0s;
  }

  .harmonia-leaderboard__current-user, .harmonia-leaderboard__filter, .harmonia-leaderboard__item, .harmonia-leaderboard__podium-item {
    transition: none;
  }

  .harmonia-leaderboard__podium-item:hover {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .harmonia-leaderboard {
    border: 2px solid var(--leaderboard-text-primary);
  }

  .harmonia-leaderboard__filters {
    border: 2px solid var(--leaderboard-border-color);
  }

  .harmonia-leaderboard__filter:focus-visible {
    box-shadow: 0 0 0 4px var(--leaderboard-color-primary);
  }

  .harmonia-leaderboard__filter--active {
    border: 2px solid var(--leaderboard-text-primary);
  }

  .harmonia-leaderboard__podium-item {
    border-width: 3px;
  }

  .harmonia-leaderboard__podium-item:focus-visible {
    box-shadow: 0 0 0 4px var(--leaderboard-color-primary);
  }

  .harmonia-leaderboard__podium-avatar--winner {
    border-width: 4px;
  }

  .harmonia-leaderboard__item {
    border: 2px solid rgba(0, 0, 0, 0);
  }

  .harmonia-leaderboard__item:focus-visible {
    border-color: var(--leaderboard-color-primary);
    box-shadow: 0 0 0 4px var(--leaderboard-color-primary);
  }

  .harmonia-leaderboard__item--current {
    border-color: var(--leaderboard-color-primary);
    border-width: 2px;
  }

  .harmonia-leaderboard__current-user {
    border: 3px solid #fff;
  }

  .harmonia-leaderboard__current-user:focus-visible {
    box-shadow: 0 0 0 4px #fff;
  }

  .harmonia-leaderboard__name, .harmonia-leaderboard__score {
    font-weight: var(--font-weight-bold, 700);
  }
}

.harmonia-achievement {
  --achievement-color-primary: #039de3;
  --achievement-color-success: #2ed6c5;
  --achievement-color-epic: #ff5a6a;
  --achievement-color-legendary: #f6cd01;
  --achievement-color-navy: #070433;
  --badge-bg: linear-gradient(135deg, #f5f6f7, #e8eaec);
  --badge-border: #d1d5d9;
  --badge-glow: rgba(46, 214, 197, .3);
  --achievement-focus-ring: rgba(3, 157, 227, .3);
  --achievement-bg-tooltip: var(--color-neutral-50, #fafbfc);
  --achievement-border-tooltip: var(--color-border-light, #e8eaec);
  --achievement-text-primary: var(--color-text-primary, #111827);
  --achievement-text-secondary: var(--color-text-secondary, #374151);
  --achievement-text-tertiary: var(--color-text-tertiary, #6b7280);
  --achievement-text-disabled: var(--color-text-disabled, #a8aeb4);
  --achievement-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  align-items: center;
  gap: var(--spacing-3, .75rem);
  flex-direction: column;
  display: flex;
  position: relative;
}

.harmonia-achievement__badge {
  -webkit-tap-highlight-color: transparent;
  background: var(--badge-bg);
  border: 3px solid var(--badge-border);
  cursor: pointer;
  transition: transform var(--achievement-transition), box-shadow var(--achievement-transition);
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  box-shadow: 0 4px 12px rgba(45, 50, 56, .08);
}

.harmonia-achievement__badge:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(45, 50, 56, .12);
}

.harmonia-achievement__badge:active {
  transform: scale(.95);
}

.harmonia-achievement__badge:focus-visible {
  box-shadow: 0 4px 12px rgba(45, 50, 56, .08), 0 0 0 3px var(--achievement-focus-ring);
  outline: none;
}

.harmonia-achievement--sm .harmonia-achievement__badge {
  width: 52px;
  height: 52px;
}

.harmonia-achievement--md .harmonia-achievement__badge {
  width: 72px;
  height: 72px;
}

.harmonia-achievement--lg .harmonia-achievement__badge {
  width: 96px;
  height: 96px;
}

.harmonia-achievement--unlocked .harmonia-achievement__badge {
  --badge-bg: linear-gradient(135deg, var(--achievement-color-success) 0%, var(--achievement-color-primary) 50%, var(--achievement-color-epic) 100%);
  --badge-border: var(--achievement-color-success);
  box-shadow: 0 6px 20px rgba(46, 214, 197, .3), inset 0 2px rgba(255, 255, 255, .2);
}

.harmonia-achievement--unlocked .harmonia-achievement__badge:focus-visible {
  box-shadow: 0 6px 20px rgba(46, 214, 197, .3), inset 0 2px 0 rgba(255, 255, 255, .2), 0 0 0 3px var(--achievement-focus-ring);
}

.harmonia-achievement__glow {
  background: radial-gradient(circle, var(--badge-glow) 0, transparent 70%);
  opacity: 0;
  pointer-events: none;
  border-radius: 9999px;
  transition: opacity .3s;
  position: absolute;
  top: -12px;
  bottom: -12px;
  left: -12px;
  right: -12px;
}

.harmonia-achievement--unlocked .harmonia-achievement__glow {
  opacity: 1;
  animation: 2s ease-in-out infinite harmonia-achievement-glow;
}

@keyframes harmonia-achievement-glow {
  0%, to {
    opacity: .6;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

.harmonia-achievement__icon {
  color: #fff;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .15));
  z-index: 1;
  position: relative;
}

.harmonia-achievement--sm .harmonia-achievement__icon {
  font-size: 1.5rem;
}

.harmonia-achievement--md .harmonia-achievement__icon {
  font-size: 2rem;
}

.harmonia-achievement--lg .harmonia-achievement__icon {
  font-size: 3rem;
}

.harmonia-achievement__icon--locked {
  color: var(--achievement-text-tertiary);
  filter: grayscale();
  opacity: .4;
}

.harmonia-achievement__progress {
  position: absolute;
  top: -5px;
  bottom: -5px;
  left: -5px;
  right: -5px;
  transform: rotate(-90deg);
}

.harmonia-achievement__progress-bg {
  fill: none;
  stroke: var(--color-neutral-200, #e8eaec);
  stroke-width: 4px;
}

.harmonia-achievement__progress-fill {
  fill: none;
  stroke: var(--achievement-color-epic);
  stroke-width: 5px;
  stroke-linecap: round;
  stroke-dasharray: 283;
  transition: stroke-dashoffset .5s cubic-bezier(.34, 1.56, .64, 1);
}

.harmonia-achievement__new {
  background: linear-gradient(135deg, var(--achievement-color-epic) 0, #d84a5a 100%);
  color: #fff;
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  letter-spacing: .05em;
  text-transform: uppercase;
  border-radius: 9999px;
  padding: 3px 8px;
  font-size: .625rem;
  font-weight: 700;
  animation: 1.5s ease-in-out infinite harmonia-badge-pulse;
  position: absolute;
  top: -6px;
  right: -6px;
  box-shadow: 0 2px 8px rgba(255, 90, 106, .4);
}

@keyframes harmonia-badge-pulse {
  0%, to {
    transform: scale(1);
    box-shadow: 0 2px 8px rgba(255, 90, 106, .4);
  }

  50% {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(255, 90, 106, .6);
  }
}

.harmonia-achievement__name {
  color: var(--achievement-text-secondary);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100px;
  font-size: .875rem;
  font-weight: 500;
  overflow: hidden;
}

.harmonia-achievement--unlocked .harmonia-achievement__name {
  color: var(--achievement-text-primary);
  font-weight: 600;
}

.harmonia-achievement--locked .harmonia-achievement__name {
  color: var(--achievement-text-disabled);
}

.harmonia-achievement__unlock-overlay {
  pointer-events: none;
  z-index: 10;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.harmonia-achievement__unlock-badge {
  animation: .6s cubic-bezier(.68, -.55, .265, 1.55) harmonia-unlock-pop;
}

@keyframes harmonia-unlock-pop {
  0% {
    opacity: 0;
    transform: scale(0)rotate(-180deg);
  }

  50% {
    transform: scale(1.2)rotate(10deg);
  }

  to {
    opacity: 1;
    transform: scale(1)rotate(0);
  }
}

.harmonia-achievement__confetti {
  border-radius: 2px;
  width: 8px;
  height: 8px;
  position: absolute;
}

.harmonia-achievement__details {
  background: var(--achievement-bg-tooltip);
  border: 1px solid var(--achievement-border-tooltip);
  margin-top: var(--spacing-3, .75rem);
  min-width: 220px;
  max-width: 300px;
  padding: var(--spacing-4, 1rem);
  z-index: 100;
  border-radius: 16px;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 12px 32px rgba(45, 50, 56, .15);
}

.harmonia-achievement__details:before {
  background: var(--achievement-bg-tooltip);
  border-left: 1px solid var(--achievement-border-tooltip);
  border-top: 1px solid var(--achievement-border-tooltip);
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%)rotate(45deg);
}

.harmonia-achievement__details-name {
  color: var(--achievement-color-primary);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  margin: 0 0 var(--spacing-2, .5rem);
  font-size: 1.125rem;
  font-weight: 700;
}

.harmonia-achievement__details-description {
  color: var(--achievement-text-secondary);
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  margin: 0 0 var(--spacing-3, .75rem);
  font-size: .875rem;
  line-height: 1.6;
}

.harmonia-achievement__details-meta {
  font-family: var(--font-family-primary, "DM Sans", sans-serif);
  gap: var(--spacing-2, .5rem);
  flex-wrap: wrap;
  font-size: .75rem;
  display: flex;
}

.harmonia-achievement__rarity {
  letter-spacing: .05em;
  padding: var(--spacing-1, .25rem) var(--spacing-2, .5rem);
  text-transform: uppercase;
  border-radius: 9999px;
  font-weight: 600;
}

.harmonia-achievement__rarity--common {
  background: var(--color-neutral-100, #f5f6f7);
  color: var(--color-neutral-600, #4b5563);
}

.harmonia-achievement__rarity--rare {
  color: var(--achievement-color-primary);
  background: rgba(3, 157, 227, .1);
  border: 1px solid rgba(3, 157, 227, .3);
}

.harmonia-achievement__rarity--epic {
  color: var(--achievement-color-epic);
  background: rgba(255, 90, 106, .1);
  border: 1px solid rgba(255, 90, 106, .3);
}

.harmonia-achievement__rarity--legendary {
  color: #b59700;
  background: rgba(246, 205, 1, .15);
  border: 1px solid rgba(246, 205, 1, .4);
  box-shadow: 0 0 8px rgba(246, 205, 1, .3);
}

.harmonia-achievement__date, .harmonia-achievement__progress-text {
  color: var(--achievement-text-tertiary);
}

:root.dark .harmonia-achievement, [data-theme="dark"] .harmonia-achievement {
  --achievement-bg-tooltip: var(--elevation-2-bg, #2d333a);
  --achievement-border-tooltip: var(--color-neutral-600, #4b5563);
  --achievement-text-primary: var(--color-text-primary-dark, #f9fafb);
  --achievement-text-secondary: var(--color-text-secondary-dark, #9ca3af);
  --achievement-text-tertiary: var(--color-text-tertiary-dark, #6b7280);
  --achievement-text-disabled: var(--color-neutral-500, #6b7280);
  --achievement-focus-ring: rgba(3, 157, 227, .4);
}

:root.dark .harmonia-achievement__badge, [data-theme="dark"] .harmonia-achievement__badge {
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .1);
}

:root.dark .harmonia-achievement--unlocked .harmonia-achievement__badge, [data-theme="dark"] .harmonia-achievement--unlocked .harmonia-achievement__badge {
  box-shadow: 0 6px 20px rgba(0, 0, 0, .4), 0 0 20px rgba(46, 214, 197, .2), inset 0 1px rgba(255, 255, 255, .15);
}

:root.dark .harmonia-achievement__glow, [data-theme="dark"] .harmonia-achievement__glow {
  opacity: .4;
}

:root.dark .harmonia-achievement__progress-bg, [data-theme="dark"] .harmonia-achievement__progress-bg {
  stroke: var(--color-neutral-600, #4b5563);
}

:root.dark .harmonia-achievement__rarity--common, [data-theme="dark"] .harmonia-achievement__rarity--common {
  color: var(--achievement-text-secondary);
  background: rgba(255, 255, 255, .1);
}

:root.dark .harmonia-achievement__rarity--rare, [data-theme="dark"] .harmonia-achievement__rarity--rare {
  background: rgba(3, 157, 227, .15);
}

:root.dark .harmonia-achievement__rarity--epic, [data-theme="dark"] .harmonia-achievement__rarity--epic {
  background: rgba(255, 90, 106, .15);
}

:root.dark .harmonia-achievement__rarity--legendary, [data-theme="dark"] .harmonia-achievement__rarity--legendary {
  color: var(--achievement-color-legendary);
  background: rgba(246, 205, 1, .2);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-achievement {
    --achievement-transition: 0s;
  }

  .harmonia-achievement__glow, .harmonia-achievement__new, .harmonia-achievement__unlock-badge {
    animation: none;
  }

  .harmonia-achievement__confetti {
    display: none;
  }

  .harmonia-achievement__badge, .harmonia-achievement__glow, .harmonia-achievement__progress-fill {
    transition: none;
  }

  .harmonia-achievement--unlocked .harmonia-achievement__glow {
    opacity: .6;
    transform: scale(1);
  }

  .harmonia-achievement__unlock-badge {
    opacity: 1;
    transform: scale(1)rotate(0);
  }

  .harmonia-achievement__new {
    transform: scale(1);
  }
}

@media (prefers-contrast: high) {
  .harmonia-achievement__badge {
    border-width: 4px;
  }

  .harmonia-achievement__badge:focus-visible {
    box-shadow: 0 0 0 4px var(--achievement-color-primary);
  }

  .harmonia-achievement--unlocked .harmonia-achievement__badge:focus-visible {
    box-shadow: 0 0 0 4px var(--achievement-color-primary);
  }

  .harmonia-achievement__progress-bg {
    stroke-width: 5px;
  }

  .harmonia-achievement__progress-fill {
    stroke-width: 6px;
  }

  .harmonia-achievement__new {
    border: 2px solid #fff;
  }

  .harmonia-achievement__details {
    border-width: 2px;
  }

  .harmonia-achievement__rarity {
    border-width: 2px;
    font-weight: 700;
  }

  .harmonia-achievement__name {
    font-weight: 600;
  }

  .harmonia-achievement--locked .harmonia-achievement__name {
    font-weight: 500;
  }
}

.harmonia-transparency {
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
}

.harmonia-transparency--inline {
  background-color: var(--color-popskills-50, #e6f5fd);
  border-left: 3px solid var(--color-popskills-500, #039de3);
  border-radius: var(--radius-md);
  padding: var(--spacing-3);
}

.harmonia-transparency__inline-content {
  align-items: center;
  gap: var(--spacing-2);
  flex-wrap: wrap;
  display: flex;
}

.harmonia-transparency--inline .harmonia-transparency__icon {
  color: var(--color-popskills-600, #0289c6);
  flex-shrink: 0;
}

.harmonia-transparency--inline .harmonia-transparency__text {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  flex: 1;
  min-width: 200px;
}

.harmonia-transparency__toggle-inline {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: var(--radius-sm);
  color: var(--color-popskills-600, #0289c6);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  padding: var(--spacing-1) var(--spacing-2);
  transition: background-color var(--duration-fast) var(--easing-ease);
  background: none;
  border: none;
}

.harmonia-transparency__toggle-inline:hover {
  background-color: var(--color-popskills-100, #bfe7fa);
}

.harmonia-transparency__toggle-inline:focus-visible {
  outline: 2px solid var(--color-popskills-500, #039de3);
  outline-offset: 2px;
}

.harmonia-transparency--card {
  background-color: var(--color-background-primary, #fff);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-soft);
  overflow: hidden;
}

.harmonia-transparency__header {
  cursor: pointer;
  padding: var(--spacing-4);
  text-align: left;
  transition: background-color var(--duration-fast) var(--easing-ease);
  background: none;
  border: none;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  font-family: inherit;
  display: flex;
}

.harmonia-transparency__header:hover {
  background-color: var(--color-neutral-50);
}

.harmonia-transparency__header:focus-visible {
  outline: 2px solid var(--color-popskills-500, #039de3);
  outline-offset: -2px;
}

.harmonia-transparency__header--static {
  cursor: default;
}

.harmonia-transparency__header--static:hover {
  background-color: rgba(0, 0, 0, 0);
}

.harmonia-transparency__header-content {
  align-items: flex-start;
  gap: var(--spacing-3);
  display: flex;
}

.harmonia-transparency--card .harmonia-transparency__icon {
  color: var(--color-popskills-500, #039de3);
  flex-shrink: 0;
  margin-top: 2px;
}

.harmonia-transparency__header-text {
  flex: 1;
}

.harmonia-transparency__title {
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  margin: 0 0 var(--spacing-1);
}

.harmonia-transparency__recommendation {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  margin: 0;
}

.harmonia-transparency__chevron {
  color: var(--color-text-tertiary);
  margin-top: var(--spacing-1);
  flex-shrink: 0;
}

.harmonia-transparency__body, .harmonia-transparency__details {
  overflow: hidden;
}

.harmonia-transparency--card .harmonia-transparency__body {
  background-color: var(--color-neutral-50);
  border-top: 1px solid var(--color-border-light);
  padding: 0 var(--spacing-4) var(--spacing-4);
}

.harmonia-transparency--inline .harmonia-transparency__details {
  border-top: 1px solid var(--color-popskills-200, #80d0f4);
  margin-top: var(--spacing-3);
  padding-top: var(--spacing-3);
}

.harmonia-transparency__factors-intro {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin: var(--spacing-3) 0 var(--spacing-2);
}

.harmonia-transparency__factors-list {
  gap: var(--spacing-2);
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.harmonia-transparency__factor {
  align-items: flex-start;
  gap: var(--spacing-2);
  display: flex;
}

.harmonia-transparency__factor-bullet {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  display: flex;
}

.harmonia-transparency__factor-icon {
  color: var(--color-poplingua-500, #2ed6c5);
}

.harmonia-transparency__factor-content {
  gap: var(--spacing-1);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.harmonia-transparency__factor-label {
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}

.harmonia-transparency__factor-desc {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
}

.harmonia-transparency__learn-more {
  color: var(--color-popskills-600, #0289c6);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin-top: var(--spacing-3);
  transition: color var(--duration-fast) var(--easing-ease);
  text-decoration: none;
  display: inline-block;
}

.harmonia-transparency__learn-more:hover {
  color: var(--color-popskills-700, #016c9b);
  text-decoration: underline;
}

.harmonia-transparency__learn-more:focus-visible {
  border-radius: var(--radius-sm);
  outline: 2px solid var(--color-popskills-500, #039de3);
  outline-offset: 2px;
}

.harmonia-transparency--popskills {
  --transparency-color: var(--color-popskills-500, #039de3);
  --transparency-bg: var(--color-popskills-50, #e6f5fd);
}

.harmonia-transparency--poplingua {
  --transparency-color: var(--color-poplingua-500, #2ed6c5);
  --transparency-bg: var(--color-poplingua-50, #f2f9f8);
}

.harmonia-transparency--poplingua.harmonia-transparency--inline {
  background-color: var(--color-poplingua-50, #f2f9f8);
  border-left-color: var(--color-poplingua-500, #2ed6c5);
}

.harmonia-transparency--poplingua .harmonia-transparency__icon {
  color: var(--color-poplingua-600, #22b5a7);
}

.harmonia-transparency--poptalent {
  --transparency-color: var(--color-poptalent-500, #ff5a6a);
  --transparency-bg: var(--color-poptalent-50, #ffeff1);
}

.harmonia-transparency--poptalent.harmonia-transparency--inline {
  background-color: var(--color-poptalent-50, #ffeff1);
  border-left-color: var(--color-poptalent-500, #ff5a6a);
}

.harmonia-transparency--poptalent .harmonia-transparency__icon {
  color: var(--color-poptalent-600, #eb4357);
}

.harmonia-transparency--popmentor {
  --transparency-color: var(--color-popmentor-500, #f6cd01);
  --transparency-bg: var(--color-popmentor-50, #fff8e1);
}

.harmonia-transparency--popmentor.harmonia-transparency--inline {
  background-color: var(--color-popmentor-50, #fff8e1);
  border-left-color: var(--color-popmentor-500, #f6cd01);
}

.harmonia-transparency--popmentor .harmonia-transparency__icon {
  color: var(--color-popmentor-600, #e6b200);
}

:root.dark .harmonia-transparency--card, [data-theme="dark"] .harmonia-transparency--card {
  background-color: var(--surface-1, #1f2937);
  border-color: var(--color-border-light);
}

:root.dark .harmonia-transparency--card .harmonia-transparency__body, :root.dark .harmonia-transparency__header:hover, [data-theme="dark"] .harmonia-transparency--card .harmonia-transparency__body, [data-theme="dark"] .harmonia-transparency__header:hover {
  background-color: var(--surface-2, #374151);
}

:root.dark .harmonia-transparency--inline, [data-theme="dark"] .harmonia-transparency--inline {
  background-color: rgba(3, 157, 227, .1);
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-transparency__chevron {
    transition: none;
  }
}

@media (max-width: 640px) {
  .harmonia-transparency__header {
    padding: var(--spacing-3);
  }

  .harmonia-transparency--card .harmonia-transparency__body {
    padding: 0 var(--spacing-3) var(--spacing-3);
  }

  .harmonia-transparency__inline-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .harmonia-transparency__toggle-inline {
    margin-top: var(--spacing-2);
  }
}

.harmonia-illustrated-state {
  gap: var(--spacing-4, 1rem);
  padding: var(--spacing-6, 1.5rem);
  text-align: center;
  flex-direction: column;
}

.harmonia-illustrated-state, .harmonia-illustrated-state__illustration {
  justify-content: center;
  align-items: center;
  display: flex;
}

.harmonia-illustrated-state__illustration svg {
  width: 100%;
  height: 100%;
}

.harmonia-illustrated-state__content {
  align-items: center;
  gap: var(--spacing-2, .5rem);
  flex-direction: column;
  max-width: 320px;
  display: flex;
}

.harmonia-illustrated-state__title {
  color: var(--color-text-primary, #070433);
  font-family: var(--font-family-display, "Chillax", system-ui, sans-serif);
  margin: 0;
  font-weight: 600;
  line-height: 1.3;
}

.harmonia-illustrated-state__description {
  color: var(--color-text-secondary, #6b7280);
  font-family: var(--font-family-body, system-ui, sans-serif);
  margin: 0;
  line-height: 1.5;
}

.harmonia-illustrated-state--sm {
  gap: var(--spacing-3, .75rem);
  padding: var(--spacing-4, 1rem);
}

.harmonia-illustrated-state--sm .harmonia-illustrated-state__illustration {
  width: 100px;
  height: 80px;
}

.harmonia-illustrated-state--sm .harmonia-illustrated-state__title {
  font-size: var(--font-size-md, 1rem);
}

.harmonia-illustrated-state--sm .harmonia-illustrated-state__description {
  font-size: var(--font-size-sm, .875rem);
}

.harmonia-illustrated-state--md .harmonia-illustrated-state__illustration {
  width: 160px;
  height: 128px;
}

.harmonia-illustrated-state--md .harmonia-illustrated-state__title {
  font-size: var(--font-size-lg, 1.125rem);
}

.harmonia-illustrated-state--md .harmonia-illustrated-state__description {
  font-size: var(--font-size-md, 1rem);
}

.harmonia-illustrated-state--lg {
  gap: var(--spacing-6, 1.5rem);
  padding: var(--spacing-8, 2rem);
}

.harmonia-illustrated-state--lg .harmonia-illustrated-state__illustration {
  width: 200px;
  height: 160px;
}

.harmonia-illustrated-state--lg .harmonia-illustrated-state__title {
  font-size: var(--font-size-xl, 1.25rem);
}

.harmonia-illustrated-state--lg .harmonia-illustrated-state__description {
  font-size: var(--font-size-md, 1rem);
}

.harmonia-illustrated-state--lg .harmonia-illustrated-state__content {
  max-width: 400px;
}

.harmonia-illustrated-state__actions {
  gap: var(--spacing-3, .75rem);
  margin-top: var(--spacing-2, .5rem);
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}

.harmonia-illustrated-state__action {
  border-radius: var(--radius-md, .5rem);
  cursor: pointer;
  font-family: var(--font-family-body, system-ui, sans-serif);
  font-size: var(--font-size-sm, .875rem);
  padding: var(--spacing-2, .5rem) var(--spacing-4, 1rem);
  border: none;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  transition: all .2s;
  display: inline-flex;
}

.harmonia-illustrated-state__action--primary {
  background-color: var(--action-color, #039de3);
  color: #fff;
}

.harmonia-illustrated-state__action--primary:hover {
  filter: brightness(1.1);
}

.harmonia-illustrated-state__action--primary:active {
  transform: scale(.98);
}

.harmonia-illustrated-state__action--secondary {
  border: 1px solid var(--action-color, #039de3);
  color: var(--action-color, #039de3);
  background-color: rgba(0, 0, 0, 0);
}

.harmonia-illustrated-state__action--secondary:hover {
  background-color: var(--action-color, #039de3);
  color: #fff;
}

.harmonia-illustrated-state__action--ghost {
  color: var(--color-text-secondary, #6b7280);
  background-color: rgba(0, 0, 0, 0);
}

.harmonia-illustrated-state__action--ghost:hover {
  background-color: var(--color-bg-secondary, #f3f4f6);
  color: var(--color-text-primary, #070433);
}

.harmonia-illustrated-state--loading .harmonia-illustrated-state__title {
  animation: 2s ease-in-out infinite pulse;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.harmonia-illustrated-state--success .harmonia-illustrated-state__illustration {
  animation: .5s ease-out bounce-in;
}

@keyframes bounce-in {
  0% {
    opacity: 0;
    transform: scale(.8);
  }

  50% {
    transform: scale(1.05);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.harmonia-illustrated-state--error .harmonia-illustrated-state__illustration {
  animation: .5s ease-in-out shake;
}

@keyframes shake {
  0%, to {
    transform: translateX(0);
  }

  20%, 60% {
    transform: translateX(-5px);
  }

  40%, 80% {
    transform: translateX(5px);
  }
}

.harmonia-illustrated-state--popskills .harmonia-illustrated-state__action--primary {
  background-color: var(--color-popskills-500, #039de3);
}

.harmonia-illustrated-state--poplingua .harmonia-illustrated-state__action--primary {
  background-color: var(--color-poplingua-500, #2ed6c5);
  color: #070433;
}

.harmonia-illustrated-state--poptalent .harmonia-illustrated-state__action--primary {
  background-color: var(--color-poptalent-500, #ff5a6a);
}

.harmonia-illustrated-state--popmentor .harmonia-illustrated-state__action--primary {
  background-color: var(--color-popmentor-500, #f6cd01);
  color: #070433;
}

@media (prefers-color-scheme: dark) {
  .harmonia-illustrated-state__title {
    color: var(--color-text-primary-dark, #f9fafb);
  }

  .harmonia-illustrated-state__description {
    color: var(--color-text-secondary-dark, #9ca3af);
  }

  .harmonia-illustrated-state__action--ghost:hover {
    background-color: var(--color-bg-secondary-dark, #374151);
  }
}

@media (prefers-reduced-motion: reduce) {
  .harmonia-illustrated-state--error .harmonia-illustrated-state__illustration, .harmonia-illustrated-state--loading .harmonia-illustrated-state__title, .harmonia-illustrated-state--success .harmonia-illustrated-state__illustration {
    animation: none;
  }

  .harmonia-illustrated-state__action {
    transition: none;
  }
}

.journey-dashboard {
  --journey-color-primary: #039de3;
  --journey-color-success: #2ed6c5;
  --journey-color-xp: #f6cd01;
  --journey-color-legendary: #ff5a6a;
  --journey-color-navy: #070433;
  --journey-focus-ring: rgba(3, 157, 227, .3);
  --journey-bg-primary: var(--color-bg-primary, #fff);
  --journey-bg-secondary: var(--color-bg-secondary, #f9fafb);
  --journey-bg-tertiary: var(--color-bg-tertiary, #f3f4f6);
  --journey-text-primary: var(--color-text-primary, #070433);
  --journey-text-secondary: var(--color-text-secondary, #6b7280);
  --journey-text-tertiary: var(--color-text-tertiary, #9ca3af);
  --journey-border-color: var(--color-border, #e5e7eb);
  --journey-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
  --journey-transition-fast: .15s ease-out;
  background: var(--journey-bg-primary);
  border-radius: var(--radius-lg, .75rem);
  font-family: var(--font-family-body, system-ui, sans-serif);
  flex-direction: column;
  max-width: 600px;
  display: flex;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
}

.journey-dashboard__header {
  border-bottom: 1px solid var(--journey-border-color);
  padding: var(--spacing-4, 1rem);
}

.journey-dashboard__user {
  align-items: center;
  gap: var(--spacing-3, .75rem);
  display: flex;
}

.journey-dashboard__avatar {
  background: var(--journey-color-primary);
  color: #fff;
  font-size: var(--font-size-lg, 1.125rem);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  font-weight: 600;
  display: flex;
}

.journey-dashboard__user-info {
  flex: 1;
  min-width: 0;
}

.journey-dashboard__user-name {
  color: var(--journey-text-primary);
  font-family: var(--font-family-display, "Chillax", system-ui, sans-serif);
  font-size: var(--font-size-lg, 1.125rem);
  margin: 0;
  font-weight: 600;
}

.journey-dashboard__user-stats {
  font-size: var(--font-size-sm, .875rem);
  align-items: center;
  gap: var(--spacing-2, .5rem);
  margin-top: var(--spacing-1, .25rem);
  display: flex;
}

.journey-dashboard__level {
  color: var(--journey-text-secondary);
  font-weight: 500;
}

.journey-dashboard__xp {
  color: var(--journey-color-xp);
  font-weight: 600;
}

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

.journey-dashboard__xp-bar {
  background: var(--journey-bg-tertiary);
  border-radius: var(--radius-full, 9999px);
  height: 6px;
  margin-top: var(--spacing-3, .75rem);
  overflow: hidden;
}

.journey-dashboard__xp-fill {
  background: linear-gradient(90deg, var(--journey-color-xp), var(--journey-color-success));
  border-radius: var(--radius-full, 9999px);
  height: 100%;
  transition: width .3s;
}

.journey-dashboard__nav {
  background: var(--journey-bg-secondary);
  border-bottom: 1px solid var(--journey-border-color);
  display: flex;
}

.journey-dashboard__nav-item {
  color: var(--journey-text-secondary);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-1, .25rem);
  min-height: 48px;
  padding: var(--spacing-3, .75rem) var(--spacing-2, .5rem);
  transition: color var(--journey-transition-fast), background-color var(--journey-transition-fast);
  background: none;
  border: none;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  display: flex;
  position: relative;
}

.journey-dashboard__nav-item:hover {
  background: var(--journey-bg-tertiary);
  color: var(--journey-text-primary);
}

.journey-dashboard__nav-item:focus-visible {
  box-shadow: inset 0 0 0 3px var(--journey-focus-ring);
  color: var(--journey-color-primary);
  outline: none;
}

.journey-dashboard__nav-item--active {
  color: var(--journey-color-primary);
}

.journey-dashboard__nav-item--active:after {
  background: var(--journey-color-primary);
  border-radius: var(--radius-full, 9999px) var(--radius-full, 9999px) 0 0;
  content: "";
  width: 40px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.journey-dashboard__nav-icon {
  width: 20px;
  height: 20px;
}

.journey-dashboard__nav-icon svg {
  width: 100%;
  height: 100%;
}

.journey-dashboard__nav-label {
  font-size: var(--font-size-xs, .75rem);
  font-weight: 500;
}

.journey-dashboard__content {
  min-height: 300px;
  padding: var(--spacing-4, 1rem);
}

.journey-dashboard__empty {
  color: var(--journey-text-secondary);
  justify-content: center;
  align-items: center;
  height: 200px;
  font-style: italic;
  display: flex;
}

.journey-dashboard__timeline-list {
  flex-direction: column;
  display: flex;
}

.journey-dashboard__timeline-item {
  padding-bottom: var(--spacing-4, 1rem);
  padding-left: var(--spacing-6, 1.5rem);
  position: relative;
}

.journey-dashboard__timeline-dot {
  background: var(--journey-color-primary);
  border-radius: 50%;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 4px;
  left: 0;
}

.journey-dashboard__timeline-item--major .journey-dashboard__timeline-dot {
  background: var(--journey-color-xp);
  width: 16px;
  height: 16px;
  left: -2px;
  box-shadow: 0 0 0 4px rgba(246, 205, 1, .2);
}

.journey-dashboard__timeline-line {
  background: var(--journey-border-color);
  width: 2px;
  position: absolute;
  top: 20px;
  bottom: 0;
  left: 5px;
}

.journey-dashboard__timeline-content {
  padding-left: var(--spacing-2, .5rem);
}

.journey-dashboard__timeline-header {
  align-items: center;
  gap: var(--spacing-2, .5rem);
  flex-wrap: wrap;
  display: flex;
}

.journey-dashboard__timeline-icon {
  font-size: var(--font-size-md, 1rem);
}

.journey-dashboard__timeline-title {
  color: var(--journey-text-primary);
  font-size: var(--font-size-sm, .875rem);
  margin: 0;
  font-weight: 600;
}

.journey-dashboard__timeline-xp {
  color: var(--journey-color-xp);
  font-size: var(--font-size-xs, .75rem);
  margin-left: auto;
  font-weight: 600;
}

.journey-dashboard__timeline-desc {
  color: var(--journey-text-secondary);
  font-size: var(--font-size-sm, .875rem);
  margin: var(--spacing-1, .25rem) 0 0;
}

.journey-dashboard__timeline-date {
  color: var(--journey-text-tertiary);
  font-size: var(--font-size-xs, .75rem);
  margin-top: var(--spacing-1, .25rem);
  display: block;
}

.journey-dashboard__map-stats {
  background: var(--journey-bg-secondary);
  border-radius: var(--radius-md, .5rem);
  margin-bottom: var(--spacing-4, 1rem);
  padding: var(--spacing-4, 1rem);
  justify-content: space-around;
  display: flex;
}

.journey-dashboard__map-stat {
  align-items: center;
  gap: var(--spacing-1, .25rem);
  flex-direction: column;
  display: flex;
}

.journey-dashboard__map-stat-value {
  color: var(--journey-color-primary);
  font-family: var(--font-family-display, "Chillax", system-ui, sans-serif);
  font-size: var(--font-size-2xl, 1.5rem);
  font-weight: 700;
}

.journey-dashboard__map-stat-label {
  color: var(--journey-text-secondary);
  font-size: var(--font-size-xs, .75rem);
}

.journey-dashboard__map-section-title {
  color: var(--journey-text-primary);
  font-size: var(--font-size-sm, .875rem);
  margin: 0 0 var(--spacing-3, .75rem);
  font-weight: 600;
}

.journey-dashboard__map-skills-grid {
  gap: var(--spacing-3, .75rem);
  flex-direction: column;
  display: flex;
}

.journey-dashboard__map-skill-header {
  margin-bottom: var(--spacing-1, .25rem);
  justify-content: space-between;
  display: flex;
}

.journey-dashboard__map-skill-name {
  color: var(--journey-text-primary);
  font-size: var(--font-size-sm, .875rem);
}

.journey-dashboard__map-skill-pct {
  color: var(--journey-color-primary);
  font-size: var(--font-size-sm, .875rem);
  font-weight: 600;
}

.journey-dashboard__map-skill-bar {
  background: var(--journey-bg-tertiary);
  border-radius: var(--radius-full, 9999px);
  height: 8px;
  overflow: hidden;
}

.journey-dashboard__map-skill-fill {
  background: var(--journey-color-success);
  border-radius: var(--radius-full, 9999px);
  height: 100%;
  transition: width var(--journey-transition);
}

.journey-dashboard__collection-header {
  margin-bottom: var(--spacing-4, 1rem);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.journey-dashboard__collection-header h4 {
  color: var(--journey-text-primary);
  font-size: var(--font-size-md, 1rem);
  margin: 0;
  font-weight: 600;
}

.journey-dashboard__collection-count {
  color: var(--journey-text-secondary);
  font-size: var(--font-size-sm, .875rem);
}

.journey-dashboard__collection-grid {
  gap: var(--spacing-3, .75rem);
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  display: grid;
}

.journey-dashboard__badge {
  border-radius: var(--radius-md, .5rem);
  cursor: pointer;
  align-items: center;
  gap: var(--spacing-1, .25rem);
  padding: var(--spacing-2, .5rem);
  text-align: center;
  transition: transform var(--journey-transition), border-color var(--journey-transition-fast);
  background: none;
  border: 2px solid rgba(0, 0, 0, 0);
  flex-direction: column;
  display: flex;
}

.journey-dashboard__badge:focus-visible {
  border-color: var(--journey-color-primary);
  box-shadow: 0 0 0 3px var(--journey-focus-ring);
  outline: none;
}

.journey-dashboard__badge--unlocked:hover {
  transform: scale(1.05);
}

.journey-dashboard__badge--locked {
  cursor: not-allowed;
  opacity: .6;
}

.journey-dashboard__badge-icon {
  background: var(--journey-bg-secondary);
  border: 3px solid var(--journey-color-primary);
  font-size: var(--font-size-xl, 1.25rem);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
}

.journey-dashboard__badge--unlocked .journey-dashboard__badge-icon {
  border-color: var(--journey-color-success);
}

.journey-dashboard__badge-name {
  color: var(--journey-text-primary);
  font-size: var(--font-size-xs, .75rem);
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  font-weight: 500;
  overflow: hidden;
}

.journey-dashboard__badge-progress {
  background: var(--journey-bg-tertiary);
  border-radius: var(--radius-full, 9999px);
  width: 100%;
  height: 4px;
  overflow: hidden;
}

.journey-dashboard__badge-progress-fill {
  background: var(--journey-color-primary);
  border-radius: var(--radius-full, 9999px);
  height: 100%;
}

.journey-dashboard__badge-rarity {
  font-size: var(--font-size-xs, .75rem);
  text-transform: capitalize;
  font-weight: 500;
}

.journey-dashboard__badge-rarity--common {
  color: var(--journey-text-secondary);
}

.journey-dashboard__badge-rarity--rare {
  color: var(--journey-color-primary);
}

.journey-dashboard__badge-rarity--epic {
  color: var(--journey-color-legendary);
}

.journey-dashboard__badge-rarity--legendary {
  color: var(--journey-color-xp);
}

.journey-dashboard__story-hero {
  border-radius: var(--radius-md, .5rem);
  margin-bottom: var(--spacing-4, 1rem);
  padding: var(--spacing-6, 1.5rem);
  background: linear-gradient(135deg, rgba(3, 157, 227, .08), rgba(46, 214, 197, .08));
  flex-direction: column;
  align-items: center;
  display: flex;
}

.journey-dashboard__story-avatar {
  background: var(--journey-color-primary);
  color: #fff;
  font-size: var(--font-size-xl, 1.25rem);
  height: 64px;
  margin-bottom: var(--spacing-2, .5rem);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 64px;
  font-weight: 700;
  display: flex;
}

.journey-dashboard__story-name {
  color: var(--journey-text-primary);
  font-family: var(--font-family-display, "Chillax", system-ui, sans-serif);
  font-size: var(--font-size-xl, 1.25rem);
  margin: 0;
  font-weight: 600;
}

.journey-dashboard__story-subtitle {
  color: var(--journey-text-secondary);
  font-size: var(--font-size-sm, .875rem);
  margin: var(--spacing-1, .25rem) 0 0;
}

.journey-dashboard__story-content {
  gap: var(--spacing-4, 1rem);
  flex-direction: column;
  display: flex;
}

.journey-dashboard__story-chapter {
  background: var(--journey-bg-secondary);
  border-radius: var(--radius-md, .5rem);
  padding: var(--spacing-3, .75rem);
}

.journey-dashboard__story-chapter h4 {
  color: var(--journey-text-primary);
  font-size: var(--font-size-sm, .875rem);
  margin: 0 0 var(--spacing-2, .5rem);
  font-weight: 600;
}

.journey-dashboard__story-chapter p {
  color: var(--journey-text-secondary);
  font-size: var(--font-size-sm, .875rem);
  margin: 0;
  line-height: 1.6;
}

.journey-dashboard__story-highlights {
  padding-left: var(--spacing-4, 1rem);
  margin: 0;
  list-style: none;
}

.journey-dashboard__story-highlights li {
  color: var(--journey-text-secondary);
  font-size: var(--font-size-sm, .875rem);
  align-items: center;
  gap: var(--spacing-2, .5rem);
  padding: var(--spacing-1, .25rem) 0;
  display: flex;
}

.journey-dashboard__story-highlight-icon {
  font-size: var(--font-size-md, 1rem);
}

.journey-dashboard__story-legendary {
  gap: var(--spacing-2, .5rem);
  flex-wrap: wrap;
  display: flex;
}

.journey-dashboard__story-legendary-badge {
  border-radius: var(--radius-md, .5rem);
  color: var(--journey-text-primary);
  font-size: var(--font-size-xs, .75rem);
  align-items: center;
  gap: var(--spacing-1, .25rem);
  padding: var(--spacing-1, .25rem) var(--spacing-2, .5rem);
  background: linear-gradient(135deg, rgba(246, 205, 1, .2), rgba(246, 205, 1, .1));
  border: 1px solid rgba(246, 205, 1, .4);
  display: flex;
}

.journey-dashboard__story-future {
  border-left: 3px solid var(--journey-color-primary);
  background: none;
}

.journey-dashboard__story-future p {
  font-style: italic;
}

@media (max-width: 480px) {
  .journey-dashboard__nav-label {
    display: none;
  }

  .journey-dashboard__nav-icon {
    width: 24px;
    height: 24px;
  }

  .journey-dashboard__collection-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {
  .journey-dashboard__nav-item {
    min-height: 44px;
  }
}

@media (min-width: 1024px) {
  .journey-dashboard__nav-item {
    min-height: 40px;
  }
}

:root.dark .journey-dashboard, [data-theme="dark"] .journey-dashboard {
  --journey-bg-primary: var(--surface-1, #1a1a2e);
  --journey-bg-secondary: rgba(255, 255, 255, .06);
  --journey-bg-tertiary: rgba(255, 255, 255, .1);
  --journey-text-primary: var(--color-text-primary-dark, #f9fafb);
  --journey-text-secondary: var(--color-text-secondary-dark, #9ca3af);
  --journey-text-tertiary: var(--color-text-tertiary-dark, #6b7280);
  --journey-border-color: rgba(255, 255, 255, .15);
  --journey-focus-ring: rgba(3, 157, 227, .4);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}

:root.dark .journey-dashboard__story-hero, [data-theme="dark"] .journey-dashboard__story-hero {
  background: linear-gradient(135deg, rgba(3, 157, 227, .15), rgba(46, 214, 197, .15));
}

:root.dark .journey-dashboard__story-legendary-badge, [data-theme="dark"] .journey-dashboard__story-legendary-badge {
  background: linear-gradient(135deg, rgba(246, 205, 1, .25), rgba(246, 205, 1, .15));
  border-color: rgba(246, 205, 1, .5);
}

@media (prefers-reduced-motion: reduce) {
  .journey-dashboard {
    --journey-transition: 0s;
    --journey-transition-fast: 0s;
  }

  .journey-dashboard__badge, .journey-dashboard__map-skill-fill, .journey-dashboard__nav-item, .journey-dashboard__xp-fill {
    transition: none;
  }

  .journey-dashboard__badge--unlocked:hover {
    transform: none;
  }
}

@media (prefers-contrast: high) {
  .journey-dashboard {
    border: 2px solid var(--journey-text-primary);
  }

  .journey-dashboard__header, .journey-dashboard__nav {
    border-width: 2px;
  }

  .journey-dashboard__nav-item:focus-visible {
    box-shadow: inset 0 0 0 4px var(--journey-color-primary);
  }

  .journey-dashboard__nav-item--active:after {
    height: 4px;
  }

  .journey-dashboard__timeline-dot {
    border: 2px solid var(--journey-text-primary);
  }

  .journey-dashboard__timeline-line {
    width: 3px;
  }

  .journey-dashboard__map-skill-bar, .journey-dashboard__xp-bar {
    border: 1px solid var(--journey-border-color);
    height: 10px;
  }

  .journey-dashboard__badge {
    border-width: 3px;
  }

  .journey-dashboard__badge:focus-visible {
    box-shadow: 0 0 0 4px var(--journey-color-primary);
  }

  .journey-dashboard__badge-icon {
    border-width: 4px;
  }

  .journey-dashboard__badge-progress {
    border: 1px solid var(--journey-border-color);
    height: 6px;
  }

  .journey-dashboard__story-chapter {
    border: 2px solid var(--journey-border-color);
  }

  .journey-dashboard__story-future {
    border-left-width: 5px;
  }
}

:root {
  --font-size: 16px;
  --primary: #52d0b3;
  --primary-foreground: #fcfcfc;
  --background: #f3f5f8;
  --foreground: #08022b;
  --card: #fff;
  --card-foreground: #08022b;
  --popover: #fff;
  --popover-foreground: #08022b;
  --secondary: #edf2f8;
  --secondary-foreground: #08022b;
  --muted: #edf2f8;
  --muted-foreground: #6d7277;
  --accent: #cdfaec;
  --accent-foreground: #08022b;
  --success: #52d0b3;
  --success-foreground: #fcfcfc;
  --warning: #d9a514;
  --warning-foreground: #08022b;
  --destructive: #f94144;
  --destructive-foreground: #fcfcfc;
  --border: #d9dfe5;
  --input: #d9dfe5;
  --input-background: #edf2f8;
  --switch-background: #b9bec4;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --ring: #52d0b3;
  --chart-1: #f2cb00;
  --chart-2: #52d0b3;
  --chart-3: #d9a514;
  --chart-4: #a550f9;
  --chart-5: #f94144;
  --radius: .5rem;
  --sidebar: #fafafa;
  --sidebar-foreground: #08022b;
  --sidebar-primary: #52d0b3;
  --sidebar-primary-foreground: #fcfcfc;
  --sidebar-accent: #dbf6ed;
  --sidebar-accent-foreground: #08022b;
  --sidebar-border: #e5e5e5;
  --sidebar-ring: #52d0b3;
  --elevation-1: 0 1px 2px 0 rgba(7, 4, 51, .05);
  --elevation-2: 0 4px 12px rgba(7, 4, 51, .08);
  --elevation-soft: 0 4px 12px rgba(7, 4, 51, .08);
  --duration-fast: .15s;
  --duration-normal: .2s;
  --easing-spring: cubic-bezier(.34, 1.56, .64, 1);
  --touch-target: 48px;
}

@supports (color: color(display-p3 0 0 0)) {
  :root {
    --primary: color(display-p3 .462449 .806211 .706624);
    --primary-foreground: color(display-p3 .986829 .986829 .986829);
    --background: color(display-p3 .953277 .961874 .972792);
    --foreground: color(display-p3 .0280383 .0099976 .160917);
    --card: color(display-p3 1 1 1);
    --card-foreground: color(display-p3 .0280383 .0099976 .160917);
    --popover: color(display-p3 1 1 1);
    --popover-foreground: color(display-p3 .0280383 .0099976 .160917);
    --secondary: color(display-p3 .932896 .950041 .971819);
    --secondary-foreground: color(display-p3 .0280383 .0099976 .160917);
    --muted: color(display-p3 .932896 .950041 .971819);
    --muted-foreground: color(display-p3 .431925 .446836 .465784);
    --accent: color(display-p3 .838021 .975673 .929439);
    --accent-foreground: color(display-p3 .0280383 .0099976 .160917);
    --success: color(display-p3 .462449 .806211 .706624);
    --success-foreground: color(display-p3 .986829 .986829 .986829);
    --warning: color(display-p3 .819889 .654773 .23653);
    --warning-foreground: color(display-p3 .0280383 .0099976 .160917);
    --destructive: color(display-p3 .899424 .316584 .297904);
    --destructive-foreground: color(display-p3 .986829 .986829 .986829);
    --border: color(display-p3 .855425 .872295 .893724);
    --input: color(display-p3 .855425 .872295 .893724);
    --input-background: color(display-p3 .932896 .950041 .971819);
    --switch-background: color(display-p3 .729222 .745602 .766409);
    --ring: color(display-p3 .462449 .806211 .706624);
    --chart-1: color(display-p3 .926833 .800632 .237661);
    --chart-2: color(display-p3 .462449 .806211 .706624);
    --chart-3: color(display-p3 .819889 .654773 .23653);
    --chart-4: color(display-p3 .60569 .333384 .943916);
    --chart-5: color(display-p3 .899424 .316584 .297904);
    --sidebar: color(display-p3 .980256 .980256 .980256);
    --sidebar-foreground: color(display-p3 .0280383 .0099976 .160917);
    --sidebar-primary: color(display-p3 .462449 .806211 .706624);
    --sidebar-primary-foreground: color(display-p3 .986829 .986829 .986829);
    --sidebar-accent: color(display-p3 .877914 .959579 .931466);
    --sidebar-accent-foreground: color(display-p3 .0280383 .0099976 .160917);
    --sidebar-border: color(display-p3 .898161 .898161 .898161);
    --sidebar-ring: color(display-p3 .462449 .806211 .706624);
  }
}

@supports (color: lab(0% 0 0)) {
  :root {
    --primary: lab(76.0325% -41.909 3.64208);
    --primary-foreground: lab(98.84% .0000298023 -.0000119209);
    --background: lab(96.5162% -.553399 -1.78931);
    --foreground: lab(2.29214% 9.63588 -23.7663);
    --card: lab(100% 0 0);
    --card-foreground: lab(2.29214% 9.63588 -23.7663);
    --popover: lab(100% 0 0);
    --popover-foreground: lab(2.29214% 9.63588 -23.7663);
    --secondary: lab(95.3516% -1.09163 -3.57015);
    --secondary-foreground: lab(2.29214% 9.63588 -23.7663);
    --muted: lab(95.3516% -1.09163 -3.57015);
    --muted-foreground: lab(47.7904% -1.06922 -3.55804);
    --accent: lab(94.8481% -17.058 1.50332);
    --accent-foreground: lab(2.29214% 9.63588 -23.7663);
    --success: lab(76.0325% -41.909 3.64208);
    --success-foreground: lab(98.84% .0000298023 -.0000119209);
    --warning: lab(71.1681% 11.7208 71.0541);
    --warning-foreground: lab(2.29214% 9.63588 -23.7663);
    --destructive: lab(57.1752% 69.5963 43.0458);
    --destructive-foreground: lab(98.84% .0000298023 -.0000119209);
    --border: lab(88.3915% -1.08966 -3.56903);
    --input: lab(88.3915% -1.08966 -3.56903);
    --input-background: lab(95.3516% -1.09163 -3.57015);
    --switch-background: lab(76.7913% -1.08567 -3.56684);
    --ring: lab(76.0325% -41.909 3.64208);
    --chart-1: lab(83.1668% 3.50291 87.2281);
    --chart-2: lab(76.0325% -41.909 3.64208);
    --chart-3: lab(71.1681% 11.7208 71.0541);
    --chart-4: lab(51.8083% 58.1293 -71.6415);
    --chart-5: lab(57.1752% 69.5963 43.0458);
    --sidebar: lab(98.26% 0 0);
    --sidebar-foreground: lab(2.29214% 9.63588 -23.7663);
    --sidebar-primary: lab(76.0325% -41.909 3.64208);
    --sidebar-primary-foreground: lab(98.84% .0000298023 -.0000119209);
    --sidebar-accent: lab(94.589% -10.19 .900245);
    --sidebar-accent-foreground: lab(2.29214% 9.63588 -23.7663);
    --sidebar-border: lab(90.952% 0 -.0000119209);
    --sidebar-ring: lab(76.0325% -41.909 3.64208);
  }
}

.dark {
  --background: #040414;
  --foreground: #f3f5f8;
  --card: #08081b;
  --card-foreground: #f3f5f8;
  --popover: #08081b;
  --popover-foreground: #f3f5f8;
  --primary: #3fe1bf;
  --primary-foreground: #08022b;
  --secondary: #131428;
  --secondary-foreground: #f3f5f8;
  --muted: #131428;
  --muted-foreground: #8b9095;
  --accent: #00372c;
  --accent-foreground: #f3f5f8;
  --success: #52d0b3;
  --success-foreground: #fcfcfc;
  --warning: #d9a514;
  --warning-foreground: #08022b;
  --destructive: #f94144;
  --destructive-foreground: #fcfcfc;
  --border: #1e1f34;
  --input: #1e1f34;
  --ring: #3fe1bf;
  --chart-1: #3fe1bf;
  --chart-2: #f2cb00;
  --chart-3: #d9a514;
  --chart-4: #a550f9;
  --chart-5: #f94144;
  --sidebar: #040414;
  --sidebar-foreground: #f3f5f8;
  --sidebar-primary: #3fe1bf;
  --sidebar-primary-foreground: #08022b;
  --sidebar-accent: #131428;
  --sidebar-accent-foreground: #f3f5f8;
  --sidebar-border: #1e1f34;
  --sidebar-ring: #3fe1bf;
}

@supports (color: color(display-p3 0 0 0)) {
  .dark {
    --background: color(display-p3 .0158456 .0147422 .0753514);
    --foreground: color(display-p3 .953277 .961874 .972792);
    --card: color(display-p3 .0327502 .0332758 .10281);
    --card-foreground: color(display-p3 .953277 .961874 .972792);
    --popover: color(display-p3 .0327502 .0332758 .10281);
    --popover-foreground: color(display-p3 .953277 .961874 .972792);
    --primary: color(display-p3 .45493 .870929 .754347);
    --primary-foreground: color(display-p3 .0280383 .0099976 .160917);
    --secondary: color(display-p3 .073656 .0766942 .15031);
    --secondary-foreground: color(display-p3 .953277 .961874 .972792);
    --muted: color(display-p3 .073656 .0766942 .15031);
    --muted-foreground: color(display-p3 .547439 .562988 .582743);
    --accent: color(display-p3 .0664406 .212854 .174586);
    --accent-foreground: color(display-p3 .953277 .961874 .972792);
    --success: color(display-p3 .462449 .806211 .706624);
    --success-foreground: color(display-p3 .986829 .986829 .986829);
    --warning: color(display-p3 .819889 .654773 .23653);
    --warning-foreground: color(display-p3 .0280383 .0099976 .160917);
    --destructive: color(display-p3 .899424 .316584 .297904);
    --destructive-foreground: color(display-p3 .986829 .986829 .986829);
    --border: color(display-p3 .118027 .122615 .19978);
    --input: color(display-p3 .118027 .122615 .19978);
    --ring: color(display-p3 .45493 .870929 .754347);
    --chart-1: color(display-p3 .45493 .870929 .754347);
    --chart-2: color(display-p3 .926833 .800632 .237661);
    --chart-3: color(display-p3 .819889 .654773 .23653);
    --chart-4: color(display-p3 .60569 .333384 .943916);
    --chart-5: color(display-p3 .899424 .316584 .297904);
    --sidebar: color(display-p3 .0158456 .0147422 .0753514);
    --sidebar-foreground: color(display-p3 .953277 .961874 .972792);
    --sidebar-primary: color(display-p3 .45493 .870929 .754347);
    --sidebar-primary-foreground: color(display-p3 .0280383 .0099976 .160917);
    --sidebar-accent: color(display-p3 .073656 .0766942 .15031);
    --sidebar-accent-foreground: color(display-p3 .953277 .961874 .972792);
    --sidebar-border: color(display-p3 .118027 .122615 .19978);
    --sidebar-ring: color(display-p3 .45493 .870929 .754347);
  }
}

@supports (color: lab(0% 0 0)) {
  .dark {
    --background: lab(1.37845% 2.15127 -7.5023);
    --foreground: lab(96.5162% -.553399 -1.78931);
    --card: lab(2.79203% 2.914 -10.7949);
    --card-foreground: lab(96.5162% -.553399 -1.78931);
    --popover: lab(2.79203% 2.914 -10.7949);
    --popover-foreground: lab(96.5162% -.553399 -1.78931);
    --primary: lab(80.9308% -49.1061 4.25575);
    --primary-foreground: lab(2.29214% 9.63588 -23.7663);
    --secondary: lab(6.81856% 4.41915 -14.0631);
    --secondary-foreground: lab(96.5162% -.553399 -1.78931);
    --muted: lab(6.81856% 4.41915 -14.0631);
    --muted-foreground: lab(59.3909% -1.07732 -3.56233);
    --accent: lab(19.5756% -21.2111 1.82884);
    --accent-foreground: lab(96.5162% -.553399 -1.78931);
    --success: lab(76.0325% -41.909 3.64208);
    --success-foreground: lab(98.84% .0000298023 -.0000119209);
    --warning: lab(71.1681% 11.7208 71.0541);
    --warning-foreground: lab(2.29214% 9.63588 -23.7663);
    --destructive: lab(57.1752% 69.5963 43.0458);
    --destructive-foreground: lab(98.84% .0000298023 -.0000119209);
    --border: lab(12.5876% 4.23431 -14.2667);
    --input: lab(12.5876% 4.23431 -14.2667);
    --ring: lab(80.9308% -49.1061 4.25575);
    --chart-1: lab(80.9308% -49.1061 4.25575);
    --chart-2: lab(83.1668% 3.50291 87.2281);
    --chart-3: lab(71.1681% 11.7208 71.0541);
    --chart-4: lab(51.8083% 58.1293 -71.6415);
    --chart-5: lab(57.1752% 69.5963 43.0458);
    --sidebar: lab(1.37845% 2.15127 -7.5023);
    --sidebar-foreground: lab(96.5162% -.553399 -1.78931);
    --sidebar-primary: lab(80.9308% -49.1061 4.25575);
    --sidebar-primary-foreground: lab(2.29214% 9.63588 -23.7663);
    --sidebar-accent: lab(6.81856% 4.41915 -14.0631);
    --sidebar-accent-foreground: lab(96.5162% -.553399 -1.78931);
    --sidebar-border: lab(12.5876% 4.23431 -14.2667);
    --sidebar-ring: lab(80.9308% -49.1061 4.25575);
  }
}

html {
  font-size: var(--font-size);
}

@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-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: rgba(0, 0, 0, 0);
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: rgba(0, 0, 0, 0);
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: rgba(0, 0, 0, 0);
}

@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 rgba(0, 0, 0, 0);
}

@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 rgba(0, 0, 0, 0);
}

@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 rgba(0, 0, 0, 0);
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@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 rgba(0, 0, 0, 0);
}

@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-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__9cfeeae1._.css.map*/