/*!*******************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/theme.css ***!
  \*******************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji';
    --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-300: oklch(80.8% 0.114 19.571);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-red-800: oklch(44.4% 0.177 26.899);
    --color-red-900: oklch(39.6% 0.141 25.723);
    --color-red-950: oklch(25.8% 0.092 26.042);
    --color-orange-50: oklch(98% 0.016 73.684);
    --color-orange-100: oklch(95.4% 0.038 75.164);
    --color-orange-200: oklch(90.1% 0.076 70.697);
    --color-orange-300: oklch(83.7% 0.128 66.29);
    --color-orange-400: oklch(75% 0.183 55.934);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-orange-600: oklch(64.6% 0.222 41.116);
    --color-orange-700: oklch(55.3% 0.195 38.402);
    --color-orange-800: oklch(47% 0.157 37.304);
    --color-orange-900: oklch(40.8% 0.123 38.172);
    --color-orange-950: oklch(26.6% 0.079 36.259);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-amber-800: oklch(47.3% 0.137 46.201);
    --color-amber-900: oklch(41.4% 0.112 45.904);
    --color-amber-950: oklch(27.9% 0.077 45.635);
    --color-yellow-50: oklch(98.7% 0.026 102.212);
    --color-yellow-100: oklch(97.3% 0.071 103.193);
    --color-yellow-200: oklch(94.5% 0.129 101.54);
    --color-yellow-300: oklch(90.5% 0.182 98.111);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-yellow-700: oklch(55.4% 0.135 66.442);
    --color-yellow-800: oklch(47.6% 0.114 61.907);
    --color-yellow-900: oklch(42.1% 0.095 57.708);
    --color-yellow-950: oklch(28.6% 0.066 53.813);
    --color-lime-50: oklch(98.6% 0.031 120.757);
    --color-lime-100: oklch(96.7% 0.067 122.328);
    --color-lime-200: oklch(93.8% 0.127 124.321);
    --color-lime-300: oklch(89.7% 0.196 126.665);
    --color-lime-400: oklch(84.1% 0.238 128.85);
    --color-lime-500: oklch(76.8% 0.233 130.85);
    --color-lime-600: oklch(64.8% 0.2 131.684);
    --color-lime-700: oklch(53.2% 0.157 131.589);
    --color-lime-800: oklch(45.3% 0.124 130.933);
    --color-lime-900: oklch(40.5% 0.101 131.063);
    --color-lime-950: oklch(27.4% 0.072 132.109);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-100: oklch(96.2% 0.044 156.743);
    --color-green-200: oklch(92.5% 0.084 155.995);
    --color-green-300: oklch(87.1% 0.15 154.449);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-green-800: oklch(44.8% 0.119 151.328);
    --color-green-900: oklch(39.3% 0.095 152.535);
    --color-green-950: oklch(26.6% 0.065 152.934);
    --color-emerald-50: oklch(97.9% 0.021 166.113);
    --color-emerald-100: oklch(95% 0.052 163.051);
    --color-emerald-200: oklch(90.5% 0.093 164.15);
    --color-emerald-300: oklch(84.5% 0.143 164.978);
    --color-emerald-400: oklch(76.5% 0.177 163.223);
    --color-emerald-500: oklch(69.6% 0.17 162.48);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-emerald-700: oklch(50.8% 0.118 165.612);
    --color-emerald-800: oklch(43.2% 0.095 166.913);
    --color-emerald-900: oklch(37.8% 0.077 168.94);
    --color-emerald-950: oklch(26.2% 0.051 172.552);
    --color-teal-50: oklch(98.4% 0.014 180.72);
    --color-teal-100: oklch(95.3% 0.051 180.801);
    --color-teal-200: oklch(91% 0.096 180.426);
    --color-teal-300: oklch(85.5% 0.138 181.071);
    --color-teal-400: oklch(77.7% 0.152 181.912);
    --color-teal-500: oklch(70.4% 0.14 182.503);
    --color-teal-600: oklch(60% 0.118 184.704);
    --color-teal-700: oklch(51.1% 0.096 186.391);
    --color-teal-800: oklch(43.7% 0.078 188.216);
    --color-teal-900: oklch(38.6% 0.063 188.416);
    --color-teal-950: oklch(27.7% 0.046 192.524);
    --color-cyan-50: oklch(98.4% 0.019 200.873);
    --color-cyan-100: oklch(95.6% 0.045 203.388);
    --color-cyan-200: oklch(91.7% 0.08 205.041);
    --color-cyan-300: oklch(86.5% 0.127 207.078);
    --color-cyan-400: oklch(78.9% 0.154 211.53);
    --color-cyan-500: oklch(71.5% 0.143 215.221);
    --color-cyan-600: oklch(60.9% 0.126 221.723);
    --color-cyan-700: oklch(52% 0.105 223.128);
    --color-cyan-800: oklch(45% 0.085 224.283);
    --color-cyan-900: oklch(39.8% 0.07 227.392);
    --color-cyan-950: oklch(30.2% 0.056 229.695);
    --color-sky-50: oklch(97.7% 0.013 236.62);
    --color-sky-100: oklch(95.1% 0.026 236.824);
    --color-sky-200: oklch(90.1% 0.058 230.902);
    --color-sky-300: oklch(82.8% 0.111 230.318);
    --color-sky-400: oklch(74.6% 0.16 232.661);
    --color-sky-500: oklch(68.5% 0.169 237.323);
    --color-sky-600: oklch(58.8% 0.158 241.966);
    --color-sky-700: oklch(50% 0.134 242.749);
    --color-sky-800: oklch(44.3% 0.11 240.79);
    --color-sky-900: oklch(39.1% 0.09 240.876);
    --color-sky-950: oklch(29.3% 0.066 243.157);
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-300: oklch(80.9% 0.105 251.813);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-blue-800: oklch(42.4% 0.199 265.638);
    --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-blue-950: oklch(28.2% 0.091 267.935);
    --color-indigo-50: oklch(96.2% 0.018 272.314);
    --color-indigo-100: oklch(93% 0.034 272.788);
    --color-indigo-200: oklch(87% 0.065 274.039);
    --color-indigo-300: oklch(78.5% 0.115 274.713);
    --color-indigo-400: oklch(67.3% 0.182 276.935);
    --color-indigo-500: oklch(58.5% 0.233 277.117);
    --color-indigo-600: oklch(51.1% 0.262 276.966);
    --color-indigo-700: oklch(45.7% 0.24 277.023);
    --color-indigo-800: oklch(39.8% 0.195 277.366);
    --color-indigo-900: oklch(35.9% 0.144 278.697);
    --color-indigo-950: oklch(25.7% 0.09 281.288);
    --color-violet-50: oklch(96.9% 0.016 293.756);
    --color-violet-100: oklch(94.3% 0.029 294.588);
    --color-violet-200: oklch(89.4% 0.057 293.283);
    --color-violet-300: oklch(81.1% 0.111 293.571);
    --color-violet-400: oklch(70.2% 0.183 293.541);
    --color-violet-500: oklch(60.6% 0.25 292.717);
    --color-violet-600: oklch(54.1% 0.281 293.009);
    --color-violet-700: oklch(49.1% 0.27 292.581);
    --color-violet-800: oklch(43.2% 0.232 292.759);
    --color-violet-900: oklch(38% 0.189 293.745);
    --color-violet-950: oklch(28.3% 0.141 291.089);
    --color-purple-50: oklch(97.7% 0.014 308.299);
    --color-purple-100: oklch(94.6% 0.033 307.174);
    --color-purple-200: oklch(90.2% 0.063 306.703);
    --color-purple-300: oklch(82.7% 0.119 306.383);
    --color-purple-400: oklch(71.4% 0.203 305.504);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-purple-700: oklch(49.6% 0.265 301.924);
    --color-purple-800: oklch(43.8% 0.218 303.724);
    --color-purple-900: oklch(38.1% 0.176 304.987);
    --color-purple-950: oklch(29.1% 0.149 302.717);
    --color-fuchsia-50: oklch(97.7% 0.017 320.058);
    --color-fuchsia-100: oklch(95.2% 0.037 318.852);
    --color-fuchsia-200: oklch(90.3% 0.076 319.62);
    --color-fuchsia-300: oklch(83.3% 0.145 321.434);
    --color-fuchsia-400: oklch(74% 0.238 322.16);
    --color-fuchsia-500: oklch(66.7% 0.295 322.15);
    --color-fuchsia-600: oklch(59.1% 0.293 322.896);
    --color-fuchsia-700: oklch(51.8% 0.253 323.949);
    --color-fuchsia-800: oklch(45.2% 0.211 324.591);
    --color-fuchsia-900: oklch(40.1% 0.17 325.612);
    --color-fuchsia-950: oklch(29.3% 0.136 325.661);
    --color-pink-50: oklch(97.1% 0.014 343.198);
    --color-pink-100: oklch(94.8% 0.028 342.258);
    --color-pink-200: oklch(89.9% 0.061 343.231);
    --color-pink-300: oklch(82.3% 0.12 346.018);
    --color-pink-400: oklch(71.8% 0.202 349.761);
    --color-pink-500: oklch(65.6% 0.241 354.308);
    --color-pink-600: oklch(59.2% 0.249 0.584);
    --color-pink-700: oklch(52.5% 0.223 3.958);
    --color-pink-800: oklch(45.9% 0.187 3.815);
    --color-pink-900: oklch(40.8% 0.153 2.432);
    --color-pink-950: oklch(28.4% 0.109 3.907);
    --color-rose-50: oklch(96.9% 0.015 12.422);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-200: oklch(89.2% 0.058 10.001);
    --color-rose-300: oklch(81% 0.117 11.638);
    --color-rose-400: oklch(71.2% 0.194 13.428);
    --color-rose-500: oklch(64.5% 0.246 16.439);
    --color-rose-600: oklch(58.6% 0.253 17.585);
    --color-rose-700: oklch(51.4% 0.222 16.935);
    --color-rose-800: oklch(45.5% 0.188 13.697);
    --color-rose-900: oklch(41% 0.159 10.272);
    --color-rose-950: oklch(27.1% 0.105 12.094);
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-slate-950: oklch(12.9% 0.042 264.695);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-gray-950: oklch(13% 0.028 261.692);
    --color-zinc-50: oklch(98.5% 0 0);
    --color-zinc-100: oklch(96.7% 0.001 286.375);
    --color-zinc-200: oklch(92% 0.004 286.32);
    --color-zinc-300: oklch(87.1% 0.006 286.286);
    --color-zinc-400: oklch(70.5% 0.015 286.067);
    --color-zinc-500: oklch(55.2% 0.016 285.938);
    --color-zinc-600: oklch(44.2% 0.017 285.786);
    --color-zinc-700: oklch(37% 0.013 285.805);
    --color-zinc-800: oklch(27.4% 0.006 286.033);
    --color-zinc-900: oklch(21% 0.006 285.885);
    --color-zinc-950: oklch(14.1% 0.005 285.823);
    --color-neutral-50: oklch(98.5% 0 0);
    --color-neutral-100: oklch(97% 0 0);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-300: oklch(87% 0 0);
    --color-neutral-400: oklch(70.8% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-neutral-600: oklch(43.9% 0 0);
    --color-neutral-700: oklch(37.1% 0 0);
    --color-neutral-800: oklch(26.9% 0 0);
    --color-neutral-900: oklch(20.5% 0 0);
    --color-neutral-950: oklch(14.5% 0 0);
    --color-stone-50: oklch(98.5% 0.001 106.423);
    --color-stone-100: oklch(97% 0.001 106.424);
    --color-stone-200: oklch(92.3% 0.003 48.717);
    --color-stone-300: oklch(86.9% 0.005 56.366);
    --color-stone-400: oklch(70.9% 0.01 56.259);
    --color-stone-500: oklch(55.3% 0.013 58.071);
    --color-stone-600: oklch(44.4% 0.011 73.639);
    --color-stone-700: oklch(37.4% 0.01 67.558);
    --color-stone-800: oklch(26.8% 0.007 34.298);
    --color-stone-900: oklch(21.6% 0.006 56.043);
    --color-stone-950: oklch(14.7% 0.004 49.25);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --color-primary-50: #f7fbfd;
    --color-primary-100: #eef7fb;
    --color-primary-200: #d3ebf5;
    --color-primary-300: #a8d7ec;
    --color-primary-400: #71bbdd;
    --color-primary-500: #116d8d;
    --color-primary-600: #0a5f7d;
    --color-primary-700: #005970;
    --color-primary-800: #004d61;
    --color-primary-900: #001f28;
    --color-secondary-50: #f9fdfc;
    --color-secondary-100: #f4fbf8;
    --color-secondary-200: #e6f5ef;
    --color-secondary-300: #ccebe0;
    --color-secondary-400: #b1e0cd;
    --color-secondary-500: #52a181;
    --color-secondary-600: #297a5c;
    --color-secondary-700: #146b4f;
    --color-secondary-800: #005d43;
    --color-secondary-900: #00201a;
    --color-tertiary-50: var(--color-cyan-50);
    --color-tertiary-100: var(--color-cyan-100);
    --color-tertiary-200: var(--color-cyan-200);
    --color-tertiary-300: var(--color-cyan-300);
    --color-tertiary-400: var(--color-cyan-400);
    --color-tertiary-500: var(--color-cyan-500);
    --color-tertiary-600: var(--color-cyan-600);
    --color-tertiary-700: var(--color-cyan-700);
    --color-tertiary-800: var(--color-cyan-800);
    --color-tertiary-900: var(--color-cyan-900);
    --color-error: var(--color-red-500);
    --shadow-section: none;
    --shadow-surface: var(--shadow-sm);
    --shadow-box: var(--shadow-md);
    --shadow-popover: var(--shadow-lg);
    --shadow-tooltip: var(--shadow-popover);
    --shadow-modal: var(--shadow-2xl);
    --shadow-navigation: none;
    --shadow-tabs: var(--shadow-navigation);
    --shadow-menubar: var(--shadow-navigation);
    --shadow-breadcrumb-nav: none;
    --shadow-list-item: none;
    --shadow-control: none;
    --shadow-field: none;
    --shadow-selector: var(--shadow-popover);
    --shadow-choice: none;
    --shadow-track-control: var(--shadow-sm);
    --shadow-notification: var(--shadow-lg);
    --shadow-meter: none;
    --shadow-media: none;
    --shadow-typography: none;
    --shadow-icon: none;
    --shadow-separator: none;
    --radius-none: 0px;
    --radius-full: calc(infinity * 1px);
    --radius-section: var(--radius-none);
    --radius-surface: var(--radius-sm);
    --radius-box: var(--radius-lg);
    --radius-popover: var(--radius-md);
    --radius-tooltip: var(--radius-sm);
    --radius-modal: var(--radius-2xl);
    --radius-navigation: var(--radius-sm);
    --radius-tabs: var(--radius-navigation);
    --radius-menubar: var(--radius-navigation);
    --radius-breadcrumb-nav: var(--radius-none);
    --radius-list-item: var(--radius-sm);
    --radius-control: var(--radius-md);
    --radius-field: var(--radius-md);
    --radius-selector: var(--radius-md);
    --radius-choice: var(--radius-md);
    --radius-track-control: var(--radius-full);
    --radius-notification: var(--radius-md);
    --radius-meter: var(--radius-full);
    --radius-media: var(--radius-full);
    --radius-typography: var(--radius-none);
    --radius-icon: var(--radius-full);
    --radius-separator: var(--radius-none);
    --bg-page: var(--color-gray-50);
    --bg-overlay: var(--color-gray-900);
    --radius-element: var(--radius-md);
    --z-modal: 50;
    --spacing-card: calc(var(--spacing) * 4);
  }
}
@layer base {
  *:not(code):not(pre):not(kbd):not(samp):not(mark):not(q):not(ins):not(del):not(span):not(a):not(b):not(i):not(em):not(u):not(s):not(small):not(strong):not(sub):not(sup), ::before, ::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border-width: 0;
    border-style: solid;
    border-color: currentColor;
  }
  html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    font-family: system-ui, sans-serif;
  }
  body {
    margin: 0;
    line-height: inherit;
    background-color: white;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr {
    text-decoration: underline dotted;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  button, input, optgroup, select, textarea {
    font: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
    line-height: inherit;
    background-color: transparent;
    border-color: inherit;
  }
  button, select {
    text-transform: none;
  }
  button, [type='button'], [type='reset'], [type='submit'] {
    -webkit-appearance: button;
    appearance: button;
  }
  ::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  :-moz-focusring {
    outline: auto;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  fieldset {
    margin: 0;
    padding: 0;
    border: 0;
  }
  legend {
    padding: 0;
  }
}
@layer utilities {
  .\@container {
    container-type: inline-size;
  }
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .top-5 {
    top: calc(var(--spacing) * 5);
  }
  .top-12 {
    top: calc(var(--spacing) * 12);
  }
  .isolate {
    isolation: isolate;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .shrink {
    flex-shrink: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .divide-amber-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-50);
    }
  }
  .divide-amber-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-100);
    }
  }
  .divide-amber-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-200);
    }
  }
  .divide-amber-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-300);
    }
  }
  .divide-amber-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-400);
    }
  }
  .divide-amber-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-500);
    }
  }
  .divide-amber-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-600);
    }
  }
  .divide-amber-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-700);
    }
  }
  .divide-amber-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-800);
    }
  }
  .divide-amber-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-900);
    }
  }
  .divide-amber-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-amber-950);
    }
  }
  .divide-blue-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-50);
    }
  }
  .divide-blue-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-100);
    }
  }
  .divide-blue-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-200);
    }
  }
  .divide-blue-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-300);
    }
  }
  .divide-blue-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-400);
    }
  }
  .divide-blue-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-500);
    }
  }
  .divide-blue-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-600);
    }
  }
  .divide-blue-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-700);
    }
  }
  .divide-blue-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-800);
    }
  }
  .divide-blue-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-900);
    }
  }
  .divide-blue-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-blue-950);
    }
  }
  .divide-cyan-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-50);
    }
  }
  .divide-cyan-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-100);
    }
  }
  .divide-cyan-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-200);
    }
  }
  .divide-cyan-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-300);
    }
  }
  .divide-cyan-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-400);
    }
  }
  .divide-cyan-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-500);
    }
  }
  .divide-cyan-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-600);
    }
  }
  .divide-cyan-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-700);
    }
  }
  .divide-cyan-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-800);
    }
  }
  .divide-cyan-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-900);
    }
  }
  .divide-cyan-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-cyan-950);
    }
  }
  .divide-emerald-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-50);
    }
  }
  .divide-emerald-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-100);
    }
  }
  .divide-emerald-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-200);
    }
  }
  .divide-emerald-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-300);
    }
  }
  .divide-emerald-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-400);
    }
  }
  .divide-emerald-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-500);
    }
  }
  .divide-emerald-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-600);
    }
  }
  .divide-emerald-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-700);
    }
  }
  .divide-emerald-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-800);
    }
  }
  .divide-emerald-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-900);
    }
  }
  .divide-emerald-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-emerald-950);
    }
  }
  .divide-fuchsia-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-50);
    }
  }
  .divide-fuchsia-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-100);
    }
  }
  .divide-fuchsia-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-200);
    }
  }
  .divide-fuchsia-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-300);
    }
  }
  .divide-fuchsia-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-400);
    }
  }
  .divide-fuchsia-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-500);
    }
  }
  .divide-fuchsia-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-600);
    }
  }
  .divide-fuchsia-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-700);
    }
  }
  .divide-fuchsia-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-800);
    }
  }
  .divide-fuchsia-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-900);
    }
  }
  .divide-fuchsia-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-fuchsia-950);
    }
  }
  .divide-gray-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-50);
    }
  }
  .divide-gray-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-100);
    }
  }
  .divide-gray-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-200);
    }
  }
  .divide-gray-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-300);
    }
  }
  .divide-gray-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-400);
    }
  }
  .divide-gray-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-500);
    }
  }
  .divide-gray-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-600);
    }
  }
  .divide-gray-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-700);
    }
  }
  .divide-gray-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-800);
    }
  }
  .divide-gray-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-900);
    }
  }
  .divide-gray-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-950);
    }
  }
  .divide-green-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-50);
    }
  }
  .divide-green-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-100);
    }
  }
  .divide-green-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-200);
    }
  }
  .divide-green-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-300);
    }
  }
  .divide-green-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-400);
    }
  }
  .divide-green-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-500);
    }
  }
  .divide-green-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-600);
    }
  }
  .divide-green-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-700);
    }
  }
  .divide-green-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-800);
    }
  }
  .divide-green-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-900);
    }
  }
  .divide-green-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-green-950);
    }
  }
  .divide-indigo-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-50);
    }
  }
  .divide-indigo-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-100);
    }
  }
  .divide-indigo-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-200);
    }
  }
  .divide-indigo-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-300);
    }
  }
  .divide-indigo-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-400);
    }
  }
  .divide-indigo-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-500);
    }
  }
  .divide-indigo-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-600);
    }
  }
  .divide-indigo-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-700);
    }
  }
  .divide-indigo-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-800);
    }
  }
  .divide-indigo-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-900);
    }
  }
  .divide-indigo-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-indigo-950);
    }
  }
  .divide-lime-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-50);
    }
  }
  .divide-lime-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-100);
    }
  }
  .divide-lime-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-200);
    }
  }
  .divide-lime-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-300);
    }
  }
  .divide-lime-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-400);
    }
  }
  .divide-lime-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-500);
    }
  }
  .divide-lime-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-600);
    }
  }
  .divide-lime-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-700);
    }
  }
  .divide-lime-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-800);
    }
  }
  .divide-lime-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-900);
    }
  }
  .divide-lime-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-lime-950);
    }
  }
  .divide-neutral-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-50);
    }
  }
  .divide-neutral-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-100);
    }
  }
  .divide-neutral-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-200);
    }
  }
  .divide-neutral-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-300);
    }
  }
  .divide-neutral-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-400);
    }
  }
  .divide-neutral-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-500);
    }
  }
  .divide-neutral-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-600);
    }
  }
  .divide-neutral-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-700);
    }
  }
  .divide-neutral-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-800);
    }
  }
  .divide-neutral-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-900);
    }
  }
  .divide-neutral-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-950);
    }
  }
  .divide-orange-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-50);
    }
  }
  .divide-orange-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-100);
    }
  }
  .divide-orange-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-200);
    }
  }
  .divide-orange-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-300);
    }
  }
  .divide-orange-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-400);
    }
  }
  .divide-orange-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-500);
    }
  }
  .divide-orange-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-600);
    }
  }
  .divide-orange-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-700);
    }
  }
  .divide-orange-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-800);
    }
  }
  .divide-orange-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-900);
    }
  }
  .divide-orange-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-orange-950);
    }
  }
  .divide-pink-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-50);
    }
  }
  .divide-pink-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-100);
    }
  }
  .divide-pink-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-200);
    }
  }
  .divide-pink-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-300);
    }
  }
  .divide-pink-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-400);
    }
  }
  .divide-pink-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-500);
    }
  }
  .divide-pink-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-600);
    }
  }
  .divide-pink-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-700);
    }
  }
  .divide-pink-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-800);
    }
  }
  .divide-pink-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-900);
    }
  }
  .divide-pink-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink-950);
    }
  }
  .divide-purple-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-50);
    }
  }
  .divide-purple-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-100);
    }
  }
  .divide-purple-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-200);
    }
  }
  .divide-purple-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-300);
    }
  }
  .divide-purple-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-400);
    }
  }
  .divide-purple-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-500);
    }
  }
  .divide-purple-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-600);
    }
  }
  .divide-purple-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-700);
    }
  }
  .divide-purple-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-800);
    }
  }
  .divide-purple-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-900);
    }
  }
  .divide-purple-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-purple-950);
    }
  }
  .divide-red-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-50);
    }
  }
  .divide-red-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-100);
    }
  }
  .divide-red-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-200);
    }
  }
  .divide-red-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-300);
    }
  }
  .divide-red-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-400);
    }
  }
  .divide-red-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-500);
    }
  }
  .divide-red-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-600);
    }
  }
  .divide-red-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-700);
    }
  }
  .divide-red-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-800);
    }
  }
  .divide-red-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-900);
    }
  }
  .divide-red-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-red-950);
    }
  }
  .divide-rose-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-50);
    }
  }
  .divide-rose-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-100);
    }
  }
  .divide-rose-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-200);
    }
  }
  .divide-rose-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-300);
    }
  }
  .divide-rose-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-400);
    }
  }
  .divide-rose-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-500);
    }
  }
  .divide-rose-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-600);
    }
  }
  .divide-rose-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-700);
    }
  }
  .divide-rose-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-800);
    }
  }
  .divide-rose-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-900);
    }
  }
  .divide-rose-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-rose-950);
    }
  }
  .divide-sky-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-50);
    }
  }
  .divide-sky-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-100);
    }
  }
  .divide-sky-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-200);
    }
  }
  .divide-sky-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-300);
    }
  }
  .divide-sky-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-400);
    }
  }
  .divide-sky-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-500);
    }
  }
  .divide-sky-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-600);
    }
  }
  .divide-sky-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-700);
    }
  }
  .divide-sky-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-800);
    }
  }
  .divide-sky-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-900);
    }
  }
  .divide-sky-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-sky-950);
    }
  }
  .divide-slate-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-50);
    }
  }
  .divide-slate-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-100);
    }
  }
  .divide-slate-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-200);
    }
  }
  .divide-slate-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-300);
    }
  }
  .divide-slate-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-400);
    }
  }
  .divide-slate-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-500);
    }
  }
  .divide-slate-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-600);
    }
  }
  .divide-slate-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-700);
    }
  }
  .divide-slate-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-800);
    }
  }
  .divide-slate-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-900);
    }
  }
  .divide-slate-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-950);
    }
  }
  .divide-stone-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-50);
    }
  }
  .divide-stone-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-100);
    }
  }
  .divide-stone-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-200);
    }
  }
  .divide-stone-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-300);
    }
  }
  .divide-stone-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-400);
    }
  }
  .divide-stone-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-500);
    }
  }
  .divide-stone-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-600);
    }
  }
  .divide-stone-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-700);
    }
  }
  .divide-stone-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-800);
    }
  }
  .divide-stone-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-900);
    }
  }
  .divide-stone-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-stone-950);
    }
  }
  .divide-teal-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-50);
    }
  }
  .divide-teal-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-100);
    }
  }
  .divide-teal-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-200);
    }
  }
  .divide-teal-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-300);
    }
  }
  .divide-teal-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-400);
    }
  }
  .divide-teal-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-500);
    }
  }
  .divide-teal-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-600);
    }
  }
  .divide-teal-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-700);
    }
  }
  .divide-teal-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-800);
    }
  }
  .divide-teal-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-900);
    }
  }
  .divide-teal-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-teal-950);
    }
  }
  .divide-violet-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-50);
    }
  }
  .divide-violet-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-100);
    }
  }
  .divide-violet-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-200);
    }
  }
  .divide-violet-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-300);
    }
  }
  .divide-violet-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-400);
    }
  }
  .divide-violet-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-500);
    }
  }
  .divide-violet-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-600);
    }
  }
  .divide-violet-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-700);
    }
  }
  .divide-violet-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-800);
    }
  }
  .divide-violet-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-900);
    }
  }
  .divide-violet-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-violet-950);
    }
  }
  .divide-yellow-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-50);
    }
  }
  .divide-yellow-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-100);
    }
  }
  .divide-yellow-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-200);
    }
  }
  .divide-yellow-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-300);
    }
  }
  .divide-yellow-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-400);
    }
  }
  .divide-yellow-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-500);
    }
  }
  .divide-yellow-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-600);
    }
  }
  .divide-yellow-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-700);
    }
  }
  .divide-yellow-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-800);
    }
  }
  .divide-yellow-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-900);
    }
  }
  .divide-yellow-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-yellow-950);
    }
  }
  .divide-zinc-50 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-50);
    }
  }
  .divide-zinc-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-100);
    }
  }
  .divide-zinc-200 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-200);
    }
  }
  .divide-zinc-300 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-300);
    }
  }
  .divide-zinc-400 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-400);
    }
  }
  .divide-zinc-500 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-500);
    }
  }
  .divide-zinc-600 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-600);
    }
  }
  .divide-zinc-700 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-700);
    }
  }
  .divide-zinc-800 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-800);
    }
  }
  .divide-zinc-900 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-900);
    }
  }
  .divide-zinc-950 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-zinc-950);
    }
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-amber-50 {
    border-color: var(--color-amber-50);
  }
  .border-amber-100 {
    border-color: var(--color-amber-100);
  }
  .border-amber-200 {
    border-color: var(--color-amber-200);
  }
  .border-amber-300 {
    border-color: var(--color-amber-300);
  }
  .border-amber-400 {
    border-color: var(--color-amber-400);
  }
  .border-amber-500 {
    border-color: var(--color-amber-500);
  }
  .border-amber-600 {
    border-color: var(--color-amber-600);
  }
  .border-amber-700 {
    border-color: var(--color-amber-700);
  }
  .border-amber-800 {
    border-color: var(--color-amber-800);
  }
  .border-amber-900 {
    border-color: var(--color-amber-900);
  }
  .border-amber-950 {
    border-color: var(--color-amber-950);
  }
  .border-blue-50 {
    border-color: var(--color-blue-50);
  }
  .border-blue-100 {
    border-color: var(--color-blue-100);
  }
  .border-blue-200 {
    border-color: var(--color-blue-200);
  }
  .border-blue-300 {
    border-color: var(--color-blue-300);
  }
  .border-blue-400 {
    border-color: var(--color-blue-400);
  }
  .border-blue-500 {
    border-color: var(--color-blue-500);
  }
  .border-blue-600 {
    border-color: var(--color-blue-600);
  }
  .border-blue-700 {
    border-color: var(--color-blue-700);
  }
  .border-blue-800 {
    border-color: var(--color-blue-800);
  }
  .border-blue-900 {
    border-color: var(--color-blue-900);
  }
  .border-blue-950 {
    border-color: var(--color-blue-950);
  }
  .border-cyan-50 {
    border-color: var(--color-cyan-50);
  }
  .border-cyan-100 {
    border-color: var(--color-cyan-100);
  }
  .border-cyan-200 {
    border-color: var(--color-cyan-200);
  }
  .border-cyan-300 {
    border-color: var(--color-cyan-300);
  }
  .border-cyan-400 {
    border-color: var(--color-cyan-400);
  }
  .border-cyan-500 {
    border-color: var(--color-cyan-500);
  }
  .border-cyan-600 {
    border-color: var(--color-cyan-600);
  }
  .border-cyan-700 {
    border-color: var(--color-cyan-700);
  }
  .border-cyan-800 {
    border-color: var(--color-cyan-800);
  }
  .border-cyan-900 {
    border-color: var(--color-cyan-900);
  }
  .border-cyan-950 {
    border-color: var(--color-cyan-950);
  }
  .border-emerald-50 {
    border-color: var(--color-emerald-50);
  }
  .border-emerald-100 {
    border-color: var(--color-emerald-100);
  }
  .border-emerald-200 {
    border-color: var(--color-emerald-200);
  }
  .border-emerald-300 {
    border-color: var(--color-emerald-300);
  }
  .border-emerald-400 {
    border-color: var(--color-emerald-400);
  }
  .border-emerald-500 {
    border-color: var(--color-emerald-500);
  }
  .border-emerald-600 {
    border-color: var(--color-emerald-600);
  }
  .border-emerald-700 {
    border-color: var(--color-emerald-700);
  }
  .border-emerald-800 {
    border-color: var(--color-emerald-800);
  }
  .border-emerald-900 {
    border-color: var(--color-emerald-900);
  }
  .border-emerald-950 {
    border-color: var(--color-emerald-950);
  }
  .border-fuchsia-50 {
    border-color: var(--color-fuchsia-50);
  }
  .border-fuchsia-100 {
    border-color: var(--color-fuchsia-100);
  }
  .border-fuchsia-200 {
    border-color: var(--color-fuchsia-200);
  }
  .border-fuchsia-300 {
    border-color: var(--color-fuchsia-300);
  }
  .border-fuchsia-400 {
    border-color: var(--color-fuchsia-400);
  }
  .border-fuchsia-500 {
    border-color: var(--color-fuchsia-500);
  }
  .border-fuchsia-600 {
    border-color: var(--color-fuchsia-600);
  }
  .border-fuchsia-700 {
    border-color: var(--color-fuchsia-700);
  }
  .border-fuchsia-800 {
    border-color: var(--color-fuchsia-800);
  }
  .border-fuchsia-900 {
    border-color: var(--color-fuchsia-900);
  }
  .border-fuchsia-950 {
    border-color: var(--color-fuchsia-950);
  }
  .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-400 {
    border-color: var(--color-gray-400);
  }
  .border-gray-500 {
    border-color: var(--color-gray-500);
  }
  .border-gray-600 {
    border-color: var(--color-gray-600);
  }
  .border-gray-700 {
    border-color: var(--color-gray-700);
  }
  .border-gray-800 {
    border-color: var(--color-gray-800);
  }
  .border-gray-900 {
    border-color: var(--color-gray-900);
  }
  .border-gray-950 {
    border-color: var(--color-gray-950);
  }
  .border-green-50 {
    border-color: var(--color-green-50);
  }
  .border-green-100 {
    border-color: var(--color-green-100);
  }
  .border-green-200 {
    border-color: var(--color-green-200);
  }
  .border-green-300 {
    border-color: var(--color-green-300);
  }
  .border-green-400 {
    border-color: var(--color-green-400);
  }
  .border-green-500 {
    border-color: var(--color-green-500);
  }
  .border-green-600 {
    border-color: var(--color-green-600);
  }
  .border-green-700 {
    border-color: var(--color-green-700);
  }
  .border-green-800 {
    border-color: var(--color-green-800);
  }
  .border-green-900 {
    border-color: var(--color-green-900);
  }
  .border-green-950 {
    border-color: var(--color-green-950);
  }
  .border-indigo-50 {
    border-color: var(--color-indigo-50);
  }
  .border-indigo-100 {
    border-color: var(--color-indigo-100);
  }
  .border-indigo-200 {
    border-color: var(--color-indigo-200);
  }
  .border-indigo-300 {
    border-color: var(--color-indigo-300);
  }
  .border-indigo-400 {
    border-color: var(--color-indigo-400);
  }
  .border-indigo-500 {
    border-color: var(--color-indigo-500);
  }
  .border-indigo-600 {
    border-color: var(--color-indigo-600);
  }
  .border-indigo-700 {
    border-color: var(--color-indigo-700);
  }
  .border-indigo-800 {
    border-color: var(--color-indigo-800);
  }
  .border-indigo-900 {
    border-color: var(--color-indigo-900);
  }
  .border-indigo-950 {
    border-color: var(--color-indigo-950);
  }
  .border-lime-50 {
    border-color: var(--color-lime-50);
  }
  .border-lime-100 {
    border-color: var(--color-lime-100);
  }
  .border-lime-200 {
    border-color: var(--color-lime-200);
  }
  .border-lime-300 {
    border-color: var(--color-lime-300);
  }
  .border-lime-400 {
    border-color: var(--color-lime-400);
  }
  .border-lime-500 {
    border-color: var(--color-lime-500);
  }
  .border-lime-600 {
    border-color: var(--color-lime-600);
  }
  .border-lime-700 {
    border-color: var(--color-lime-700);
  }
  .border-lime-800 {
    border-color: var(--color-lime-800);
  }
  .border-lime-900 {
    border-color: var(--color-lime-900);
  }
  .border-lime-950 {
    border-color: var(--color-lime-950);
  }
  .border-neutral-50 {
    border-color: var(--color-neutral-50);
  }
  .border-neutral-100 {
    border-color: var(--color-neutral-100);
  }
  .border-neutral-200 {
    border-color: var(--color-neutral-200);
  }
  .border-neutral-300 {
    border-color: var(--color-neutral-300);
  }
  .border-neutral-400 {
    border-color: var(--color-neutral-400);
  }
  .border-neutral-500 {
    border-color: var(--color-neutral-500);
  }
  .border-neutral-600 {
    border-color: var(--color-neutral-600);
  }
  .border-neutral-700 {
    border-color: var(--color-neutral-700);
  }
  .border-neutral-800 {
    border-color: var(--color-neutral-800);
  }
  .border-neutral-900 {
    border-color: var(--color-neutral-900);
  }
  .border-neutral-950 {
    border-color: var(--color-neutral-950);
  }
  .border-orange-50 {
    border-color: var(--color-orange-50);
  }
  .border-orange-100 {
    border-color: var(--color-orange-100);
  }
  .border-orange-200 {
    border-color: var(--color-orange-200);
  }
  .border-orange-300 {
    border-color: var(--color-orange-300);
  }
  .border-orange-400 {
    border-color: var(--color-orange-400);
  }
  .border-orange-500 {
    border-color: var(--color-orange-500);
  }
  .border-orange-600 {
    border-color: var(--color-orange-600);
  }
  .border-orange-700 {
    border-color: var(--color-orange-700);
  }
  .border-orange-800 {
    border-color: var(--color-orange-800);
  }
  .border-orange-900 {
    border-color: var(--color-orange-900);
  }
  .border-orange-950 {
    border-color: var(--color-orange-950);
  }
  .border-pink-50 {
    border-color: var(--color-pink-50);
  }
  .border-pink-100 {
    border-color: var(--color-pink-100);
  }
  .border-pink-200 {
    border-color: var(--color-pink-200);
  }
  .border-pink-300 {
    border-color: var(--color-pink-300);
  }
  .border-pink-400 {
    border-color: var(--color-pink-400);
  }
  .border-pink-500 {
    border-color: var(--color-pink-500);
  }
  .border-pink-600 {
    border-color: var(--color-pink-600);
  }
  .border-pink-700 {
    border-color: var(--color-pink-700);
  }
  .border-pink-800 {
    border-color: var(--color-pink-800);
  }
  .border-pink-900 {
    border-color: var(--color-pink-900);
  }
  .border-pink-950 {
    border-color: var(--color-pink-950);
  }
  .border-primary-50 {
    border-color: var(--color-primary-50);
  }
  .border-primary-100 {
    border-color: var(--color-primary-100);
  }
  .border-primary-200 {
    border-color: var(--color-primary-200);
  }
  .border-primary-300 {
    border-color: var(--color-primary-300);
  }
  .border-primary-400 {
    border-color: var(--color-primary-400);
  }
  .border-primary-500 {
    border-color: var(--color-primary-500);
  }
  .border-primary-600 {
    border-color: var(--color-primary-600);
  }
  .border-primary-700 {
    border-color: var(--color-primary-700);
  }
  .border-primary-800 {
    border-color: var(--color-primary-800);
  }
  .border-primary-900 {
    border-color: var(--color-primary-900);
  }
  .border-purple-50 {
    border-color: var(--color-purple-50);
  }
  .border-purple-100 {
    border-color: var(--color-purple-100);
  }
  .border-purple-200 {
    border-color: var(--color-purple-200);
  }
  .border-purple-300 {
    border-color: var(--color-purple-300);
  }
  .border-purple-400 {
    border-color: var(--color-purple-400);
  }
  .border-purple-500 {
    border-color: var(--color-purple-500);
  }
  .border-purple-600 {
    border-color: var(--color-purple-600);
  }
  .border-purple-700 {
    border-color: var(--color-purple-700);
  }
  .border-purple-800 {
    border-color: var(--color-purple-800);
  }
  .border-purple-900 {
    border-color: var(--color-purple-900);
  }
  .border-purple-950 {
    border-color: var(--color-purple-950);
  }
  .border-red-50 {
    border-color: var(--color-red-50);
  }
  .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-400 {
    border-color: var(--color-red-400);
  }
  .border-red-500 {
    border-color: var(--color-red-500);
  }
  .border-red-600 {
    border-color: var(--color-red-600);
  }
  .border-red-700 {
    border-color: var(--color-red-700);
  }
  .border-red-800 {
    border-color: var(--color-red-800);
  }
  .border-red-900 {
    border-color: var(--color-red-900);
  }
  .border-red-950 {
    border-color: var(--color-red-950);
  }
  .border-rose-50 {
    border-color: var(--color-rose-50);
  }
  .border-rose-100 {
    border-color: var(--color-rose-100);
  }
  .border-rose-200 {
    border-color: var(--color-rose-200);
  }
  .border-rose-300 {
    border-color: var(--color-rose-300);
  }
  .border-rose-400 {
    border-color: var(--color-rose-400);
  }
  .border-rose-500 {
    border-color: var(--color-rose-500);
  }
  .border-rose-600 {
    border-color: var(--color-rose-600);
  }
  .border-rose-700 {
    border-color: var(--color-rose-700);
  }
  .border-rose-800 {
    border-color: var(--color-rose-800);
  }
  .border-rose-900 {
    border-color: var(--color-rose-900);
  }
  .border-rose-950 {
    border-color: var(--color-rose-950);
  }
  .border-secondary-50 {
    border-color: var(--color-secondary-50);
  }
  .border-secondary-100 {
    border-color: var(--color-secondary-100);
  }
  .border-secondary-200 {
    border-color: var(--color-secondary-200);
  }
  .border-secondary-300 {
    border-color: var(--color-secondary-300);
  }
  .border-secondary-400 {
    border-color: var(--color-secondary-400);
  }
  .border-secondary-500 {
    border-color: var(--color-secondary-500);
  }
  .border-secondary-600 {
    border-color: var(--color-secondary-600);
  }
  .border-secondary-700 {
    border-color: var(--color-secondary-700);
  }
  .border-secondary-800 {
    border-color: var(--color-secondary-800);
  }
  .border-secondary-900 {
    border-color: var(--color-secondary-900);
  }
  .border-sky-50 {
    border-color: var(--color-sky-50);
  }
  .border-sky-100 {
    border-color: var(--color-sky-100);
  }
  .border-sky-200 {
    border-color: var(--color-sky-200);
  }
  .border-sky-300 {
    border-color: var(--color-sky-300);
  }
  .border-sky-400 {
    border-color: var(--color-sky-400);
  }
  .border-sky-500 {
    border-color: var(--color-sky-500);
  }
  .border-sky-600 {
    border-color: var(--color-sky-600);
  }
  .border-sky-700 {
    border-color: var(--color-sky-700);
  }
  .border-sky-800 {
    border-color: var(--color-sky-800);
  }
  .border-sky-900 {
    border-color: var(--color-sky-900);
  }
  .border-sky-950 {
    border-color: var(--color-sky-950);
  }
  .border-slate-50 {
    border-color: var(--color-slate-50);
  }
  .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-500 {
    border-color: var(--color-slate-500);
  }
  .border-slate-600 {
    border-color: var(--color-slate-600);
  }
  .border-slate-700 {
    border-color: var(--color-slate-700);
  }
  .border-slate-800 {
    border-color: var(--color-slate-800);
  }
  .border-slate-900 {
    border-color: var(--color-slate-900);
  }
  .border-slate-950 {
    border-color: var(--color-slate-950);
  }
  .border-stone-50 {
    border-color: var(--color-stone-50);
  }
  .border-stone-100 {
    border-color: var(--color-stone-100);
  }
  .border-stone-200 {
    border-color: var(--color-stone-200);
  }
  .border-stone-300 {
    border-color: var(--color-stone-300);
  }
  .border-stone-400 {
    border-color: var(--color-stone-400);
  }
  .border-stone-500 {
    border-color: var(--color-stone-500);
  }
  .border-stone-600 {
    border-color: var(--color-stone-600);
  }
  .border-stone-700 {
    border-color: var(--color-stone-700);
  }
  .border-stone-800 {
    border-color: var(--color-stone-800);
  }
  .border-stone-900 {
    border-color: var(--color-stone-900);
  }
  .border-stone-950 {
    border-color: var(--color-stone-950);
  }
  .border-teal-50 {
    border-color: var(--color-teal-50);
  }
  .border-teal-100 {
    border-color: var(--color-teal-100);
  }
  .border-teal-200 {
    border-color: var(--color-teal-200);
  }
  .border-teal-300 {
    border-color: var(--color-teal-300);
  }
  .border-teal-400 {
    border-color: var(--color-teal-400);
  }
  .border-teal-500 {
    border-color: var(--color-teal-500);
  }
  .border-teal-600 {
    border-color: var(--color-teal-600);
  }
  .border-teal-700 {
    border-color: var(--color-teal-700);
  }
  .border-teal-800 {
    border-color: var(--color-teal-800);
  }
  .border-teal-900 {
    border-color: var(--color-teal-900);
  }
  .border-teal-950 {
    border-color: var(--color-teal-950);
  }
  .border-tertiary-50 {
    border-color: var(--color-tertiary-50);
  }
  .border-tertiary-100 {
    border-color: var(--color-tertiary-100);
  }
  .border-tertiary-200 {
    border-color: var(--color-tertiary-200);
  }
  .border-tertiary-300 {
    border-color: var(--color-tertiary-300);
  }
  .border-tertiary-400 {
    border-color: var(--color-tertiary-400);
  }
  .border-tertiary-500 {
    border-color: var(--color-tertiary-500);
  }
  .border-tertiary-600 {
    border-color: var(--color-tertiary-600);
  }
  .border-tertiary-700 {
    border-color: var(--color-tertiary-700);
  }
  .border-tertiary-800 {
    border-color: var(--color-tertiary-800);
  }
  .border-tertiary-900 {
    border-color: var(--color-tertiary-900);
  }
  .border-violet-50 {
    border-color: var(--color-violet-50);
  }
  .border-violet-100 {
    border-color: var(--color-violet-100);
  }
  .border-violet-200 {
    border-color: var(--color-violet-200);
  }
  .border-violet-300 {
    border-color: var(--color-violet-300);
  }
  .border-violet-400 {
    border-color: var(--color-violet-400);
  }
  .border-violet-500 {
    border-color: var(--color-violet-500);
  }
  .border-violet-600 {
    border-color: var(--color-violet-600);
  }
  .border-violet-700 {
    border-color: var(--color-violet-700);
  }
  .border-violet-800 {
    border-color: var(--color-violet-800);
  }
  .border-violet-900 {
    border-color: var(--color-violet-900);
  }
  .border-violet-950 {
    border-color: var(--color-violet-950);
  }
  .border-yellow-50 {
    border-color: var(--color-yellow-50);
  }
  .border-yellow-100 {
    border-color: var(--color-yellow-100);
  }
  .border-yellow-200 {
    border-color: var(--color-yellow-200);
  }
  .border-yellow-300 {
    border-color: var(--color-yellow-300);
  }
  .border-yellow-400 {
    border-color: var(--color-yellow-400);
  }
  .border-yellow-500 {
    border-color: var(--color-yellow-500);
  }
  .border-yellow-600 {
    border-color: var(--color-yellow-600);
  }
  .border-yellow-700 {
    border-color: var(--color-yellow-700);
  }
  .border-yellow-800 {
    border-color: var(--color-yellow-800);
  }
  .border-yellow-900 {
    border-color: var(--color-yellow-900);
  }
  .border-yellow-950 {
    border-color: var(--color-yellow-950);
  }
  .border-zinc-50 {
    border-color: var(--color-zinc-50);
  }
  .border-zinc-100 {
    border-color: var(--color-zinc-100);
  }
  .border-zinc-200 {
    border-color: var(--color-zinc-200);
  }
  .border-zinc-300 {
    border-color: var(--color-zinc-300);
  }
  .border-zinc-400 {
    border-color: var(--color-zinc-400);
  }
  .border-zinc-500 {
    border-color: var(--color-zinc-500);
  }
  .border-zinc-600 {
    border-color: var(--color-zinc-600);
  }
  .border-zinc-700 {
    border-color: var(--color-zinc-700);
  }
  .border-zinc-800 {
    border-color: var(--color-zinc-800);
  }
  .border-zinc-900 {
    border-color: var(--color-zinc-900);
  }
  .border-zinc-950 {
    border-color: var(--color-zinc-950);
  }
  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }
  .bg-amber-100 {
    background-color: var(--color-amber-100);
  }
  .bg-amber-200 {
    background-color: var(--color-amber-200);
  }
  .bg-amber-300 {
    background-color: var(--color-amber-300);
  }
  .bg-amber-400 {
    background-color: var(--color-amber-400);
  }
  .bg-amber-500 {
    background-color: var(--color-amber-500);
  }
  .bg-amber-600 {
    background-color: var(--color-amber-600);
  }
  .bg-amber-700 {
    background-color: var(--color-amber-700);
  }
  .bg-amber-800 {
    background-color: var(--color-amber-800);
  }
  .bg-amber-900 {
    background-color: var(--color-amber-900);
  }
  .bg-amber-950 {
    background-color: var(--color-amber-950);
  }
  .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-300 {
    background-color: var(--color-blue-300);
  }
  .bg-blue-400 {
    background-color: var(--color-blue-400);
  }
  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }
  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }
  .bg-blue-700 {
    background-color: var(--color-blue-700);
  }
  .bg-blue-800 {
    background-color: var(--color-blue-800);
  }
  .bg-blue-900 {
    background-color: var(--color-blue-900);
  }
  .bg-blue-950 {
    background-color: var(--color-blue-950);
  }
  .bg-cyan-50 {
    background-color: var(--color-cyan-50);
  }
  .bg-cyan-100 {
    background-color: var(--color-cyan-100);
  }
  .bg-cyan-200 {
    background-color: var(--color-cyan-200);
  }
  .bg-cyan-300 {
    background-color: var(--color-cyan-300);
  }
  .bg-cyan-400 {
    background-color: var(--color-cyan-400);
  }
  .bg-cyan-500 {
    background-color: var(--color-cyan-500);
  }
  .bg-cyan-600 {
    background-color: var(--color-cyan-600);
  }
  .bg-cyan-700 {
    background-color: var(--color-cyan-700);
  }
  .bg-cyan-800 {
    background-color: var(--color-cyan-800);
  }
  .bg-cyan-900 {
    background-color: var(--color-cyan-900);
  }
  .bg-cyan-950 {
    background-color: var(--color-cyan-950);
  }
  .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-300 {
    background-color: var(--color-emerald-300);
  }
  .bg-emerald-400 {
    background-color: var(--color-emerald-400);
  }
  .bg-emerald-500 {
    background-color: var(--color-emerald-500);
  }
  .bg-emerald-600 {
    background-color: var(--color-emerald-600);
  }
  .bg-emerald-700 {
    background-color: var(--color-emerald-700);
  }
  .bg-emerald-800 {
    background-color: var(--color-emerald-800);
  }
  .bg-emerald-900 {
    background-color: var(--color-emerald-900);
  }
  .bg-emerald-950 {
    background-color: var(--color-emerald-950);
  }
  .bg-fuchsia-50 {
    background-color: var(--color-fuchsia-50);
  }
  .bg-fuchsia-100 {
    background-color: var(--color-fuchsia-100);
  }
  .bg-fuchsia-200 {
    background-color: var(--color-fuchsia-200);
  }
  .bg-fuchsia-300 {
    background-color: var(--color-fuchsia-300);
  }
  .bg-fuchsia-400 {
    background-color: var(--color-fuchsia-400);
  }
  .bg-fuchsia-500 {
    background-color: var(--color-fuchsia-500);
  }
  .bg-fuchsia-600 {
    background-color: var(--color-fuchsia-600);
  }
  .bg-fuchsia-700 {
    background-color: var(--color-fuchsia-700);
  }
  .bg-fuchsia-800 {
    background-color: var(--color-fuchsia-800);
  }
  .bg-fuchsia-900 {
    background-color: var(--color-fuchsia-900);
  }
  .bg-fuchsia-950 {
    background-color: var(--color-fuchsia-950);
  }
  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .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-400 {
    background-color: var(--color-gray-400);
  }
  .bg-gray-500 {
    background-color: var(--color-gray-500);
  }
  .bg-gray-600 {
    background-color: var(--color-gray-600);
  }
  .bg-gray-700 {
    background-color: var(--color-gray-700);
  }
  .bg-gray-800 {
    background-color: var(--color-gray-800);
  }
  .bg-gray-900 {
    background-color: var(--color-gray-900);
  }
  .bg-gray-950 {
    background-color: var(--color-gray-950);
  }
  .bg-green-50 {
    background-color: var(--color-green-50);
  }
  .bg-green-100 {
    background-color: var(--color-green-100);
  }
  .bg-green-200 {
    background-color: var(--color-green-200);
  }
  .bg-green-300 {
    background-color: var(--color-green-300);
  }
  .bg-green-400 {
    background-color: var(--color-green-400);
  }
  .bg-green-500 {
    background-color: var(--color-green-500);
  }
  .bg-green-600 {
    background-color: var(--color-green-600);
  }
  .bg-green-700 {
    background-color: var(--color-green-700);
  }
  .bg-green-800 {
    background-color: var(--color-green-800);
  }
  .bg-green-900 {
    background-color: var(--color-green-900);
  }
  .bg-green-950 {
    background-color: var(--color-green-950);
  }
  .bg-indigo-50 {
    background-color: var(--color-indigo-50);
  }
  .bg-indigo-100 {
    background-color: var(--color-indigo-100);
  }
  .bg-indigo-200 {
    background-color: var(--color-indigo-200);
  }
  .bg-indigo-300 {
    background-color: var(--color-indigo-300);
  }
  .bg-indigo-400 {
    background-color: var(--color-indigo-400);
  }
  .bg-indigo-500 {
    background-color: var(--color-indigo-500);
  }
  .bg-indigo-600 {
    background-color: var(--color-indigo-600);
  }
  .bg-indigo-700 {
    background-color: var(--color-indigo-700);
  }
  .bg-indigo-800 {
    background-color: var(--color-indigo-800);
  }
  .bg-indigo-900 {
    background-color: var(--color-indigo-900);
  }
  .bg-indigo-950 {
    background-color: var(--color-indigo-950);
  }
  .bg-lime-50 {
    background-color: var(--color-lime-50);
  }
  .bg-lime-100 {
    background-color: var(--color-lime-100);
  }
  .bg-lime-200 {
    background-color: var(--color-lime-200);
  }
  .bg-lime-300 {
    background-color: var(--color-lime-300);
  }
  .bg-lime-400 {
    background-color: var(--color-lime-400);
  }
  .bg-lime-500 {
    background-color: var(--color-lime-500);
  }
  .bg-lime-600 {
    background-color: var(--color-lime-600);
  }
  .bg-lime-700 {
    background-color: var(--color-lime-700);
  }
  .bg-lime-800 {
    background-color: var(--color-lime-800);
  }
  .bg-lime-900 {
    background-color: var(--color-lime-900);
  }
  .bg-lime-950 {
    background-color: var(--color-lime-950);
  }
  .bg-neutral-50 {
    background-color: var(--color-neutral-50);
  }
  .bg-neutral-100 {
    background-color: var(--color-neutral-100);
  }
  .bg-neutral-200 {
    background-color: var(--color-neutral-200);
  }
  .bg-neutral-300 {
    background-color: var(--color-neutral-300);
  }
  .bg-neutral-400 {
    background-color: var(--color-neutral-400);
  }
  .bg-neutral-500 {
    background-color: var(--color-neutral-500);
  }
  .bg-neutral-600 {
    background-color: var(--color-neutral-600);
  }
  .bg-neutral-700 {
    background-color: var(--color-neutral-700);
  }
  .bg-neutral-800 {
    background-color: var(--color-neutral-800);
  }
  .bg-neutral-900 {
    background-color: var(--color-neutral-900);
  }
  .bg-neutral-950 {
    background-color: var(--color-neutral-950);
  }
  .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-300 {
    background-color: var(--color-orange-300);
  }
  .bg-orange-400 {
    background-color: var(--color-orange-400);
  }
  .bg-orange-500 {
    background-color: var(--color-orange-500);
  }
  .bg-orange-600 {
    background-color: var(--color-orange-600);
  }
  .bg-orange-700 {
    background-color: var(--color-orange-700);
  }
  .bg-orange-800 {
    background-color: var(--color-orange-800);
  }
  .bg-orange-900 {
    background-color: var(--color-orange-900);
  }
  .bg-orange-950 {
    background-color: var(--color-orange-950);
  }
  .bg-pink-50 {
    background-color: var(--color-pink-50);
  }
  .bg-pink-100 {
    background-color: var(--color-pink-100);
  }
  .bg-pink-200 {
    background-color: var(--color-pink-200);
  }
  .bg-pink-300 {
    background-color: var(--color-pink-300);
  }
  .bg-pink-400 {
    background-color: var(--color-pink-400);
  }
  .bg-pink-500 {
    background-color: var(--color-pink-500);
  }
  .bg-pink-600 {
    background-color: var(--color-pink-600);
  }
  .bg-pink-700 {
    background-color: var(--color-pink-700);
  }
  .bg-pink-800 {
    background-color: var(--color-pink-800);
  }
  .bg-pink-900 {
    background-color: var(--color-pink-900);
  }
  .bg-pink-950 {
    background-color: var(--color-pink-950);
  }
  .bg-primary-50 {
    background-color: var(--color-primary-50);
  }
  .bg-primary-100 {
    background-color: var(--color-primary-100);
  }
  .bg-primary-200 {
    background-color: var(--color-primary-200);
  }
  .bg-primary-300 {
    background-color: var(--color-primary-300);
  }
  .bg-primary-400 {
    background-color: var(--color-primary-400);
  }
  .bg-primary-500 {
    background-color: var(--color-primary-500);
  }
  .bg-primary-600 {
    background-color: var(--color-primary-600);
  }
  .bg-primary-700 {
    background-color: var(--color-primary-700);
  }
  .bg-primary-800 {
    background-color: var(--color-primary-800);
  }
  .bg-primary-900 {
    background-color: var(--color-primary-900);
  }
  .bg-purple-50 {
    background-color: var(--color-purple-50);
  }
  .bg-purple-100 {
    background-color: var(--color-purple-100);
  }
  .bg-purple-200 {
    background-color: var(--color-purple-200);
  }
  .bg-purple-300 {
    background-color: var(--color-purple-300);
  }
  .bg-purple-400 {
    background-color: var(--color-purple-400);
  }
  .bg-purple-500 {
    background-color: var(--color-purple-500);
  }
  .bg-purple-600 {
    background-color: var(--color-purple-600);
  }
  .bg-purple-700 {
    background-color: var(--color-purple-700);
  }
  .bg-purple-800 {
    background-color: var(--color-purple-800);
  }
  .bg-purple-900 {
    background-color: var(--color-purple-900);
  }
  .bg-purple-950 {
    background-color: var(--color-purple-950);
  }
  .bg-red-50 {
    background-color: var(--color-red-50);
  }
  .bg-red-100 {
    background-color: var(--color-red-100);
  }
  .bg-red-200 {
    background-color: var(--color-red-200);
  }
  .bg-red-300 {
    background-color: var(--color-red-300);
  }
  .bg-red-400 {
    background-color: var(--color-red-400);
  }
  .bg-red-500 {
    background-color: var(--color-red-500);
  }
  .bg-red-600 {
    background-color: var(--color-red-600);
  }
  .bg-red-700 {
    background-color: var(--color-red-700);
  }
  .bg-red-800 {
    background-color: var(--color-red-800);
  }
  .bg-red-900 {
    background-color: var(--color-red-900);
  }
  .bg-red-950 {
    background-color: var(--color-red-950);
  }
  .bg-rose-50 {
    background-color: var(--color-rose-50);
  }
  .bg-rose-100 {
    background-color: var(--color-rose-100);
  }
  .bg-rose-200 {
    background-color: var(--color-rose-200);
  }
  .bg-rose-300 {
    background-color: var(--color-rose-300);
  }
  .bg-rose-400 {
    background-color: var(--color-rose-400);
  }
  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }
  .bg-rose-600 {
    background-color: var(--color-rose-600);
  }
  .bg-rose-700 {
    background-color: var(--color-rose-700);
  }
  .bg-rose-800 {
    background-color: var(--color-rose-800);
  }
  .bg-rose-900 {
    background-color: var(--color-rose-900);
  }
  .bg-rose-950 {
    background-color: var(--color-rose-950);
  }
  .bg-secondary-50 {
    background-color: var(--color-secondary-50);
  }
  .bg-secondary-100 {
    background-color: var(--color-secondary-100);
  }
  .bg-secondary-200 {
    background-color: var(--color-secondary-200);
  }
  .bg-secondary-300 {
    background-color: var(--color-secondary-300);
  }
  .bg-secondary-400 {
    background-color: var(--color-secondary-400);
  }
  .bg-secondary-500 {
    background-color: var(--color-secondary-500);
  }
  .bg-secondary-600 {
    background-color: var(--color-secondary-600);
  }
  .bg-secondary-700 {
    background-color: var(--color-secondary-700);
  }
  .bg-secondary-800 {
    background-color: var(--color-secondary-800);
  }
  .bg-secondary-900 {
    background-color: var(--color-secondary-900);
  }
  .bg-sky-50 {
    background-color: var(--color-sky-50);
  }
  .bg-sky-100 {
    background-color: var(--color-sky-100);
  }
  .bg-sky-200 {
    background-color: var(--color-sky-200);
  }
  .bg-sky-300 {
    background-color: var(--color-sky-300);
  }
  .bg-sky-400 {
    background-color: var(--color-sky-400);
  }
  .bg-sky-500 {
    background-color: var(--color-sky-500);
  }
  .bg-sky-600 {
    background-color: var(--color-sky-600);
  }
  .bg-sky-700 {
    background-color: var(--color-sky-700);
  }
  .bg-sky-800 {
    background-color: var(--color-sky-800);
  }
  .bg-sky-900 {
    background-color: var(--color-sky-900);
  }
  .bg-sky-950 {
    background-color: var(--color-sky-950);
  }
  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }
  .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 {
    background-color: var(--color-slate-500);
  }
  .bg-slate-600 {
    background-color: var(--color-slate-600);
  }
  .bg-slate-700 {
    background-color: var(--color-slate-700);
  }
  .bg-slate-800 {
    background-color: var(--color-slate-800);
  }
  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }
  .bg-slate-950 {
    background-color: var(--color-slate-950);
  }
  .bg-stone-50 {
    background-color: var(--color-stone-50);
  }
  .bg-stone-100 {
    background-color: var(--color-stone-100);
  }
  .bg-stone-200 {
    background-color: var(--color-stone-200);
  }
  .bg-stone-300 {
    background-color: var(--color-stone-300);
  }
  .bg-stone-400 {
    background-color: var(--color-stone-400);
  }
  .bg-stone-500 {
    background-color: var(--color-stone-500);
  }
  .bg-stone-600 {
    background-color: var(--color-stone-600);
  }
  .bg-stone-700 {
    background-color: var(--color-stone-700);
  }
  .bg-stone-800 {
    background-color: var(--color-stone-800);
  }
  .bg-stone-900 {
    background-color: var(--color-stone-900);
  }
  .bg-stone-950 {
    background-color: var(--color-stone-950);
  }
  .bg-teal-50 {
    background-color: var(--color-teal-50);
  }
  .bg-teal-100 {
    background-color: var(--color-teal-100);
  }
  .bg-teal-200 {
    background-color: var(--color-teal-200);
  }
  .bg-teal-300 {
    background-color: var(--color-teal-300);
  }
  .bg-teal-400 {
    background-color: var(--color-teal-400);
  }
  .bg-teal-500 {
    background-color: var(--color-teal-500);
  }
  .bg-teal-600 {
    background-color: var(--color-teal-600);
  }
  .bg-teal-700 {
    background-color: var(--color-teal-700);
  }
  .bg-teal-800 {
    background-color: var(--color-teal-800);
  }
  .bg-teal-900 {
    background-color: var(--color-teal-900);
  }
  .bg-teal-950 {
    background-color: var(--color-teal-950);
  }
  .bg-tertiary-50 {
    background-color: var(--color-tertiary-50);
  }
  .bg-tertiary-100 {
    background-color: var(--color-tertiary-100);
  }
  .bg-tertiary-200 {
    background-color: var(--color-tertiary-200);
  }
  .bg-tertiary-300 {
    background-color: var(--color-tertiary-300);
  }
  .bg-tertiary-400 {
    background-color: var(--color-tertiary-400);
  }
  .bg-tertiary-500 {
    background-color: var(--color-tertiary-500);
  }
  .bg-tertiary-600 {
    background-color: var(--color-tertiary-600);
  }
  .bg-tertiary-700 {
    background-color: var(--color-tertiary-700);
  }
  .bg-tertiary-800 {
    background-color: var(--color-tertiary-800);
  }
  .bg-tertiary-900 {
    background-color: var(--color-tertiary-900);
  }
  .bg-violet-50 {
    background-color: var(--color-violet-50);
  }
  .bg-violet-100 {
    background-color: var(--color-violet-100);
  }
  .bg-violet-200 {
    background-color: var(--color-violet-200);
  }
  .bg-violet-300 {
    background-color: var(--color-violet-300);
  }
  .bg-violet-400 {
    background-color: var(--color-violet-400);
  }
  .bg-violet-500 {
    background-color: var(--color-violet-500);
  }
  .bg-violet-600 {
    background-color: var(--color-violet-600);
  }
  .bg-violet-700 {
    background-color: var(--color-violet-700);
  }
  .bg-violet-800 {
    background-color: var(--color-violet-800);
  }
  .bg-violet-900 {
    background-color: var(--color-violet-900);
  }
  .bg-violet-950 {
    background-color: var(--color-violet-950);
  }
  .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-300 {
    background-color: var(--color-yellow-300);
  }
  .bg-yellow-400 {
    background-color: var(--color-yellow-400);
  }
  .bg-yellow-500 {
    background-color: var(--color-yellow-500);
  }
  .bg-yellow-600 {
    background-color: var(--color-yellow-600);
  }
  .bg-yellow-700 {
    background-color: var(--color-yellow-700);
  }
  .bg-yellow-800 {
    background-color: var(--color-yellow-800);
  }
  .bg-yellow-900 {
    background-color: var(--color-yellow-900);
  }
  .bg-yellow-950 {
    background-color: var(--color-yellow-950);
  }
  .bg-zinc-50 {
    background-color: var(--color-zinc-50);
  }
  .bg-zinc-100 {
    background-color: var(--color-zinc-100);
  }
  .bg-zinc-200 {
    background-color: var(--color-zinc-200);
  }
  .bg-zinc-300 {
    background-color: var(--color-zinc-300);
  }
  .bg-zinc-400 {
    background-color: var(--color-zinc-400);
  }
  .bg-zinc-500 {
    background-color: var(--color-zinc-500);
  }
  .bg-zinc-600 {
    background-color: var(--color-zinc-600);
  }
  .bg-zinc-700 {
    background-color: var(--color-zinc-700);
  }
  .bg-zinc-800 {
    background-color: var(--color-zinc-800);
  }
  .bg-zinc-900 {
    background-color: var(--color-zinc-900);
  }
  .bg-zinc-950 {
    background-color: var(--color-zinc-950);
  }
  .from-amber-50 {
    --tw-gradient-from: var(--color-amber-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-amber-100 {
    --tw-gradient-from: var(--color-amber-100);
    --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-amber-200 {
    --tw-gradient-from: var(--color-amber-200);
    --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-amber-300 {
    --tw-gradient-from: var(--color-amber-300);
    --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-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-amber-500 {
    --tw-gradient-from: var(--color-amber-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-amber-600 {
    --tw-gradient-from: 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));
  }
  .from-amber-700 {
    --tw-gradient-from: var(--color-amber-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));
  }
  .from-amber-800 {
    --tw-gradient-from: var(--color-amber-800);
    --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-amber-900 {
    --tw-gradient-from: var(--color-amber-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-amber-950 {
    --tw-gradient-from: var(--color-amber-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-blue-50 {
    --tw-gradient-from: 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));
  }
  .from-blue-100 {
    --tw-gradient-from: var(--color-blue-100);
    --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-blue-200 {
    --tw-gradient-from: var(--color-blue-200);
    --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-blue-300 {
    --tw-gradient-from: var(--color-blue-300);
    --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-blue-400 {
    --tw-gradient-from: var(--color-blue-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-blue-500 {
    --tw-gradient-from: var(--color-blue-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-blue-600 {
    --tw-gradient-from: 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));
  }
  .from-blue-700 {
    --tw-gradient-from: 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));
  }
  .from-blue-800 {
    --tw-gradient-from: var(--color-blue-800);
    --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-blue-900 {
    --tw-gradient-from: var(--color-blue-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-blue-950 {
    --tw-gradient-from: var(--color-blue-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-cyan-50 {
    --tw-gradient-from: var(--color-cyan-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-cyan-100 {
    --tw-gradient-from: var(--color-cyan-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-cyan-200 {
    --tw-gradient-from: var(--color-cyan-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-cyan-300 {
    --tw-gradient-from: var(--color-cyan-300);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-cyan-400 {
    --tw-gradient-from: var(--color-cyan-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-cyan-500 {
    --tw-gradient-from: var(--color-cyan-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-cyan-600 {
    --tw-gradient-from: var(--color-cyan-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-cyan-700 {
    --tw-gradient-from: var(--color-cyan-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));
  }
  .from-cyan-800 {
    --tw-gradient-from: var(--color-cyan-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-cyan-900 {
    --tw-gradient-from: var(--color-cyan-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-cyan-950 {
    --tw-gradient-from: var(--color-cyan-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-emerald-50 {
    --tw-gradient-from: var(--color-emerald-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-emerald-100 {
    --tw-gradient-from: var(--color-emerald-100);
    --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-emerald-200 {
    --tw-gradient-from: var(--color-emerald-200);
    --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-emerald-300 {
    --tw-gradient-from: var(--color-emerald-300);
    --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-emerald-400 {
    --tw-gradient-from: var(--color-emerald-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-emerald-500 {
    --tw-gradient-from: var(--color-emerald-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-emerald-600 {
    --tw-gradient-from: var(--color-emerald-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-emerald-700 {
    --tw-gradient-from: var(--color-emerald-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));
  }
  .from-emerald-800 {
    --tw-gradient-from: var(--color-emerald-800);
    --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-emerald-900 {
    --tw-gradient-from: var(--color-emerald-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-emerald-950 {
    --tw-gradient-from: var(--color-emerald-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-fuchsia-50 {
    --tw-gradient-from: var(--color-fuchsia-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-fuchsia-100 {
    --tw-gradient-from: var(--color-fuchsia-100);
    --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-fuchsia-200 {
    --tw-gradient-from: var(--color-fuchsia-200);
    --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-fuchsia-300 {
    --tw-gradient-from: var(--color-fuchsia-300);
    --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-fuchsia-400 {
    --tw-gradient-from: var(--color-fuchsia-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-fuchsia-500 {
    --tw-gradient-from: var(--color-fuchsia-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-fuchsia-600 {
    --tw-gradient-from: var(--color-fuchsia-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-fuchsia-700 {
    --tw-gradient-from: var(--color-fuchsia-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));
  }
  .from-fuchsia-800 {
    --tw-gradient-from: var(--color-fuchsia-800);
    --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-fuchsia-900 {
    --tw-gradient-from: var(--color-fuchsia-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-fuchsia-950 {
    --tw-gradient-from: var(--color-fuchsia-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-gray-50 {
    --tw-gradient-from: var(--color-gray-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-gray-100 {
    --tw-gradient-from: var(--color-gray-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-gray-200 {
    --tw-gradient-from: var(--color-gray-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-gray-300 {
    --tw-gradient-from: var(--color-gray-300);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-gray-400 {
    --tw-gradient-from: var(--color-gray-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-gray-500 {
    --tw-gradient-from: var(--color-gray-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-gray-600 {
    --tw-gradient-from: var(--color-gray-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-gray-700 {
    --tw-gradient-from: var(--color-gray-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));
  }
  .from-gray-800 {
    --tw-gradient-from: var(--color-gray-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-gray-900 {
    --tw-gradient-from: var(--color-gray-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-gray-950 {
    --tw-gradient-from: var(--color-gray-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-50 {
    --tw-gradient-from: var(--color-green-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-green-100 {
    --tw-gradient-from: var(--color-green-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-200 {
    --tw-gradient-from: var(--color-green-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-300 {
    --tw-gradient-from: var(--color-green-300);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-400 {
    --tw-gradient-from: var(--color-green-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-green-500 {
    --tw-gradient-from: var(--color-green-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-600 {
    --tw-gradient-from: var(--color-green-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-700 {
    --tw-gradient-from: var(--color-green-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));
  }
  .from-green-800 {
    --tw-gradient-from: var(--color-green-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-900 {
    --tw-gradient-from: var(--color-green-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-green-950 {
    --tw-gradient-from: var(--color-green-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-indigo-50 {
    --tw-gradient-from: var(--color-indigo-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-indigo-100 {
    --tw-gradient-from: var(--color-indigo-100);
    --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-200 {
    --tw-gradient-from: var(--color-indigo-200);
    --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-300 {
    --tw-gradient-from: var(--color-indigo-300);
    --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-400 {
    --tw-gradient-from: var(--color-indigo-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-indigo-600 {
    --tw-gradient-from: 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));
  }
  .from-indigo-700 {
    --tw-gradient-from: var(--color-indigo-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));
  }
  .from-indigo-800 {
    --tw-gradient-from: var(--color-indigo-800);
    --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-900 {
    --tw-gradient-from: var(--color-indigo-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-indigo-950 {
    --tw-gradient-from: var(--color-indigo-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-lime-50 {
    --tw-gradient-from: var(--color-lime-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-lime-100 {
    --tw-gradient-from: var(--color-lime-100);
    --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-lime-200 {
    --tw-gradient-from: var(--color-lime-200);
    --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-lime-300 {
    --tw-gradient-from: var(--color-lime-300);
    --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-lime-400 {
    --tw-gradient-from: var(--color-lime-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-lime-500 {
    --tw-gradient-from: var(--color-lime-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-lime-600 {
    --tw-gradient-from: var(--color-lime-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-lime-700 {
    --tw-gradient-from: var(--color-lime-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));
  }
  .from-lime-800 {
    --tw-gradient-from: var(--color-lime-800);
    --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-lime-900 {
    --tw-gradient-from: var(--color-lime-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-lime-950 {
    --tw-gradient-from: var(--color-lime-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-neutral-50 {
    --tw-gradient-from: var(--color-neutral-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-neutral-100 {
    --tw-gradient-from: var(--color-neutral-100);
    --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-neutral-200 {
    --tw-gradient-from: var(--color-neutral-200);
    --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-neutral-300 {
    --tw-gradient-from: var(--color-neutral-300);
    --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-neutral-400 {
    --tw-gradient-from: var(--color-neutral-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-neutral-500 {
    --tw-gradient-from: var(--color-neutral-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-neutral-600 {
    --tw-gradient-from: var(--color-neutral-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-neutral-700 {
    --tw-gradient-from: var(--color-neutral-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));
  }
  .from-neutral-800 {
    --tw-gradient-from: var(--color-neutral-800);
    --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-neutral-900 {
    --tw-gradient-from: var(--color-neutral-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-neutral-950 {
    --tw-gradient-from: var(--color-neutral-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-orange-50 {
    --tw-gradient-from: var(--color-orange-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-orange-100 {
    --tw-gradient-from: var(--color-orange-100);
    --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-orange-200 {
    --tw-gradient-from: var(--color-orange-200);
    --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-orange-300 {
    --tw-gradient-from: var(--color-orange-300);
    --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-orange-400 {
    --tw-gradient-from: var(--color-orange-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-orange-500 {
    --tw-gradient-from: var(--color-orange-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-orange-600 {
    --tw-gradient-from: var(--color-orange-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-orange-700 {
    --tw-gradient-from: var(--color-orange-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));
  }
  .from-orange-800 {
    --tw-gradient-from: var(--color-orange-800);
    --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-orange-900 {
    --tw-gradient-from: var(--color-orange-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-orange-950 {
    --tw-gradient-from: var(--color-orange-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-pink-50 {
    --tw-gradient-from: var(--color-pink-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-pink-100 {
    --tw-gradient-from: var(--color-pink-100);
    --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-pink-200 {
    --tw-gradient-from: var(--color-pink-200);
    --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-pink-300 {
    --tw-gradient-from: var(--color-pink-300);
    --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-pink-400 {
    --tw-gradient-from: var(--color-pink-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-pink-500 {
    --tw-gradient-from: var(--color-pink-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-pink-600 {
    --tw-gradient-from: var(--color-pink-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-pink-700 {
    --tw-gradient-from: var(--color-pink-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));
  }
  .from-pink-800 {
    --tw-gradient-from: var(--color-pink-800);
    --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-pink-900 {
    --tw-gradient-from: var(--color-pink-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-pink-950 {
    --tw-gradient-from: var(--color-pink-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .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-100 {
    --tw-gradient-from: var(--color-purple-100);
    --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-200 {
    --tw-gradient-from: var(--color-purple-200);
    --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-300 {
    --tw-gradient-from: var(--color-purple-300);
    --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-400 {
    --tw-gradient-from: var(--color-purple-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-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));
  }
  .from-purple-700 {
    --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));
  }
  .from-purple-800 {
    --tw-gradient-from: var(--color-purple-800);
    --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-900 {
    --tw-gradient-from: var(--color-purple-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-purple-950 {
    --tw-gradient-from: var(--color-purple-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-red-50 {
    --tw-gradient-from: var(--color-red-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-red-100 {
    --tw-gradient-from: var(--color-red-100);
    --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-red-200 {
    --tw-gradient-from: var(--color-red-200);
    --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-red-300 {
    --tw-gradient-from: var(--color-red-300);
    --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-red-400 {
    --tw-gradient-from: var(--color-red-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-red-500 {
    --tw-gradient-from: var(--color-red-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-red-600 {
    --tw-gradient-from: var(--color-red-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-red-700 {
    --tw-gradient-from: var(--color-red-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));
  }
  .from-red-800 {
    --tw-gradient-from: var(--color-red-800);
    --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-red-900 {
    --tw-gradient-from: var(--color-red-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-red-950 {
    --tw-gradient-from: var(--color-red-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-rose-50 {
    --tw-gradient-from: var(--color-rose-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-rose-100 {
    --tw-gradient-from: var(--color-rose-100);
    --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-rose-200 {
    --tw-gradient-from: var(--color-rose-200);
    --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-rose-300 {
    --tw-gradient-from: var(--color-rose-300);
    --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-rose-400 {
    --tw-gradient-from: var(--color-rose-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-rose-500 {
    --tw-gradient-from: var(--color-rose-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-rose-600 {
    --tw-gradient-from: var(--color-rose-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-rose-700 {
    --tw-gradient-from: var(--color-rose-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));
  }
  .from-rose-800 {
    --tw-gradient-from: var(--color-rose-800);
    --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-rose-900 {
    --tw-gradient-from: var(--color-rose-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-rose-950 {
    --tw-gradient-from: var(--color-rose-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-sky-50 {
    --tw-gradient-from: var(--color-sky-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-sky-100 {
    --tw-gradient-from: var(--color-sky-100);
    --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-sky-200 {
    --tw-gradient-from: var(--color-sky-200);
    --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-sky-300 {
    --tw-gradient-from: var(--color-sky-300);
    --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-sky-400 {
    --tw-gradient-from: var(--color-sky-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-sky-500 {
    --tw-gradient-from: var(--color-sky-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-sky-600 {
    --tw-gradient-from: var(--color-sky-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-sky-700 {
    --tw-gradient-from: var(--color-sky-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));
  }
  .from-sky-800 {
    --tw-gradient-from: var(--color-sky-800);
    --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-sky-900 {
    --tw-gradient-from: var(--color-sky-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-sky-950 {
    --tw-gradient-from: var(--color-sky-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-slate-50 {
    --tw-gradient-from: var(--color-slate-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-slate-100 {
    --tw-gradient-from: var(--color-slate-100);
    --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-slate-200 {
    --tw-gradient-from: var(--color-slate-200);
    --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-slate-300 {
    --tw-gradient-from: var(--color-slate-300);
    --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-slate-400 {
    --tw-gradient-from: var(--color-slate-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-slate-500 {
    --tw-gradient-from: var(--color-slate-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-slate-600 {
    --tw-gradient-from: var(--color-slate-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-slate-700 {
    --tw-gradient-from: var(--color-slate-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));
  }
  .from-slate-800 {
    --tw-gradient-from: var(--color-slate-800);
    --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-slate-900 {
    --tw-gradient-from: var(--color-slate-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-slate-950 {
    --tw-gradient-from: var(--color-slate-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-stone-50 {
    --tw-gradient-from: var(--color-stone-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-stone-100 {
    --tw-gradient-from: var(--color-stone-100);
    --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-stone-200 {
    --tw-gradient-from: var(--color-stone-200);
    --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-stone-300 {
    --tw-gradient-from: var(--color-stone-300);
    --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-stone-400 {
    --tw-gradient-from: var(--color-stone-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-stone-500 {
    --tw-gradient-from: var(--color-stone-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-stone-600 {
    --tw-gradient-from: var(--color-stone-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-stone-700 {
    --tw-gradient-from: var(--color-stone-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));
  }
  .from-stone-800 {
    --tw-gradient-from: var(--color-stone-800);
    --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-stone-900 {
    --tw-gradient-from: var(--color-stone-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-stone-950 {
    --tw-gradient-from: var(--color-stone-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-teal-50 {
    --tw-gradient-from: var(--color-teal-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-teal-100 {
    --tw-gradient-from: var(--color-teal-100);
    --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-teal-200 {
    --tw-gradient-from: var(--color-teal-200);
    --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-teal-300 {
    --tw-gradient-from: var(--color-teal-300);
    --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-teal-400 {
    --tw-gradient-from: var(--color-teal-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-teal-500 {
    --tw-gradient-from: var(--color-teal-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-teal-600 {
    --tw-gradient-from: var(--color-teal-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-teal-700 {
    --tw-gradient-from: var(--color-teal-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));
  }
  .from-teal-800 {
    --tw-gradient-from: var(--color-teal-800);
    --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-teal-900 {
    --tw-gradient-from: var(--color-teal-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-teal-950 {
    --tw-gradient-from: var(--color-teal-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-violet-50 {
    --tw-gradient-from: var(--color-violet-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-violet-100 {
    --tw-gradient-from: var(--color-violet-100);
    --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-violet-200 {
    --tw-gradient-from: var(--color-violet-200);
    --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-violet-300 {
    --tw-gradient-from: var(--color-violet-300);
    --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-violet-400 {
    --tw-gradient-from: var(--color-violet-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-violet-500 {
    --tw-gradient-from: var(--color-violet-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-violet-600 {
    --tw-gradient-from: var(--color-violet-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-violet-700 {
    --tw-gradient-from: var(--color-violet-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));
  }
  .from-violet-800 {
    --tw-gradient-from: var(--color-violet-800);
    --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-violet-900 {
    --tw-gradient-from: var(--color-violet-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-violet-950 {
    --tw-gradient-from: var(--color-violet-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-yellow-50 {
    --tw-gradient-from: var(--color-yellow-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-yellow-100 {
    --tw-gradient-from: var(--color-yellow-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-yellow-200 {
    --tw-gradient-from: var(--color-yellow-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-yellow-300 {
    --tw-gradient-from: var(--color-yellow-300);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-yellow-400 {
    --tw-gradient-from: var(--color-yellow-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-yellow-500 {
    --tw-gradient-from: var(--color-yellow-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-yellow-600 {
    --tw-gradient-from: var(--color-yellow-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-yellow-700 {
    --tw-gradient-from: var(--color-yellow-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));
  }
  .from-yellow-800 {
    --tw-gradient-from: var(--color-yellow-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-yellow-900 {
    --tw-gradient-from: var(--color-yellow-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-yellow-950 {
    --tw-gradient-from: var(--color-yellow-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-zinc-50 {
    --tw-gradient-from: var(--color-zinc-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-zinc-100 {
    --tw-gradient-from: var(--color-zinc-100);
    --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-zinc-200 {
    --tw-gradient-from: var(--color-zinc-200);
    --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-zinc-300 {
    --tw-gradient-from: var(--color-zinc-300);
    --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-zinc-400 {
    --tw-gradient-from: var(--color-zinc-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-zinc-500 {
    --tw-gradient-from: var(--color-zinc-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-zinc-600 {
    --tw-gradient-from: var(--color-zinc-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-zinc-700 {
    --tw-gradient-from: var(--color-zinc-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));
  }
  .from-zinc-800 {
    --tw-gradient-from: var(--color-zinc-800);
    --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-zinc-900 {
    --tw-gradient-from: var(--color-zinc-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-zinc-950 {
    --tw-gradient-from: var(--color-zinc-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-amber-50 {
    --tw-gradient-via: var(--color-amber-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-100 {
    --tw-gradient-via: var(--color-amber-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-200 {
    --tw-gradient-via: var(--color-amber-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-300 {
    --tw-gradient-via: var(--color-amber-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-400 {
    --tw-gradient-via: var(--color-amber-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-500 {
    --tw-gradient-via: var(--color-amber-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-600 {
    --tw-gradient-via: var(--color-amber-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-700 {
    --tw-gradient-via: var(--color-amber-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-800 {
    --tw-gradient-via: var(--color-amber-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-900 {
    --tw-gradient-via: var(--color-amber-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-amber-950 {
    --tw-gradient-via: var(--color-amber-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-50 {
    --tw-gradient-via: var(--color-blue-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-100 {
    --tw-gradient-via: var(--color-blue-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-200 {
    --tw-gradient-via: var(--color-blue-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-300 {
    --tw-gradient-via: var(--color-blue-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-400 {
    --tw-gradient-via: var(--color-blue-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-500 {
    --tw-gradient-via: var(--color-blue-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-600 {
    --tw-gradient-via: var(--color-blue-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-700 {
    --tw-gradient-via: var(--color-blue-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-800 {
    --tw-gradient-via: var(--color-blue-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-900 {
    --tw-gradient-via: var(--color-blue-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-blue-950 {
    --tw-gradient-via: var(--color-blue-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-50 {
    --tw-gradient-via: var(--color-cyan-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-100 {
    --tw-gradient-via: var(--color-cyan-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-200 {
    --tw-gradient-via: var(--color-cyan-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-300 {
    --tw-gradient-via: var(--color-cyan-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-400 {
    --tw-gradient-via: var(--color-cyan-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-500 {
    --tw-gradient-via: var(--color-cyan-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-600 {
    --tw-gradient-via: var(--color-cyan-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-700 {
    --tw-gradient-via: var(--color-cyan-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-800 {
    --tw-gradient-via: var(--color-cyan-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-900 {
    --tw-gradient-via: var(--color-cyan-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-cyan-950 {
    --tw-gradient-via: var(--color-cyan-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-50 {
    --tw-gradient-via: var(--color-emerald-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-100 {
    --tw-gradient-via: var(--color-emerald-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-200 {
    --tw-gradient-via: var(--color-emerald-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-300 {
    --tw-gradient-via: var(--color-emerald-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-400 {
    --tw-gradient-via: var(--color-emerald-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-500 {
    --tw-gradient-via: var(--color-emerald-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-600 {
    --tw-gradient-via: var(--color-emerald-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-700 {
    --tw-gradient-via: var(--color-emerald-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-800 {
    --tw-gradient-via: var(--color-emerald-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-900 {
    --tw-gradient-via: var(--color-emerald-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-emerald-950 {
    --tw-gradient-via: var(--color-emerald-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-50 {
    --tw-gradient-via: var(--color-fuchsia-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-100 {
    --tw-gradient-via: var(--color-fuchsia-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-200 {
    --tw-gradient-via: var(--color-fuchsia-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-300 {
    --tw-gradient-via: var(--color-fuchsia-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-400 {
    --tw-gradient-via: var(--color-fuchsia-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-500 {
    --tw-gradient-via: var(--color-fuchsia-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-600 {
    --tw-gradient-via: var(--color-fuchsia-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-700 {
    --tw-gradient-via: var(--color-fuchsia-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-800 {
    --tw-gradient-via: var(--color-fuchsia-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-900 {
    --tw-gradient-via: var(--color-fuchsia-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-fuchsia-950 {
    --tw-gradient-via: var(--color-fuchsia-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-50 {
    --tw-gradient-via: var(--color-gray-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-100 {
    --tw-gradient-via: var(--color-gray-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-200 {
    --tw-gradient-via: var(--color-gray-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-300 {
    --tw-gradient-via: var(--color-gray-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-400 {
    --tw-gradient-via: var(--color-gray-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-500 {
    --tw-gradient-via: var(--color-gray-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-600 {
    --tw-gradient-via: var(--color-gray-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-700 {
    --tw-gradient-via: var(--color-gray-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-800 {
    --tw-gradient-via: var(--color-gray-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-900 {
    --tw-gradient-via: var(--color-gray-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gray-950 {
    --tw-gradient-via: var(--color-gray-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-50 {
    --tw-gradient-via: var(--color-green-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-100 {
    --tw-gradient-via: var(--color-green-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-200 {
    --tw-gradient-via: var(--color-green-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-300 {
    --tw-gradient-via: var(--color-green-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-400 {
    --tw-gradient-via: var(--color-green-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-500 {
    --tw-gradient-via: var(--color-green-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-600 {
    --tw-gradient-via: var(--color-green-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-700 {
    --tw-gradient-via: var(--color-green-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-800 {
    --tw-gradient-via: var(--color-green-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-900 {
    --tw-gradient-via: var(--color-green-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-green-950 {
    --tw-gradient-via: var(--color-green-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-50 {
    --tw-gradient-via: var(--color-indigo-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-100 {
    --tw-gradient-via: var(--color-indigo-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-200 {
    --tw-gradient-via: var(--color-indigo-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-300 {
    --tw-gradient-via: var(--color-indigo-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-400 {
    --tw-gradient-via: var(--color-indigo-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-500 {
    --tw-gradient-via: var(--color-indigo-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-600 {
    --tw-gradient-via: var(--color-indigo-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-700 {
    --tw-gradient-via: var(--color-indigo-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-800 {
    --tw-gradient-via: var(--color-indigo-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-900 {
    --tw-gradient-via: var(--color-indigo-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-indigo-950 {
    --tw-gradient-via: var(--color-indigo-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-50 {
    --tw-gradient-via: var(--color-lime-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-100 {
    --tw-gradient-via: var(--color-lime-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-200 {
    --tw-gradient-via: var(--color-lime-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-300 {
    --tw-gradient-via: var(--color-lime-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-400 {
    --tw-gradient-via: var(--color-lime-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-500 {
    --tw-gradient-via: var(--color-lime-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-600 {
    --tw-gradient-via: var(--color-lime-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-700 {
    --tw-gradient-via: var(--color-lime-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-800 {
    --tw-gradient-via: var(--color-lime-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-900 {
    --tw-gradient-via: var(--color-lime-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-lime-950 {
    --tw-gradient-via: var(--color-lime-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-50 {
    --tw-gradient-via: var(--color-neutral-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-100 {
    --tw-gradient-via: var(--color-neutral-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-200 {
    --tw-gradient-via: var(--color-neutral-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-300 {
    --tw-gradient-via: var(--color-neutral-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-400 {
    --tw-gradient-via: var(--color-neutral-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-500 {
    --tw-gradient-via: var(--color-neutral-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-600 {
    --tw-gradient-via: var(--color-neutral-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-700 {
    --tw-gradient-via: var(--color-neutral-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-800 {
    --tw-gradient-via: var(--color-neutral-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-900 {
    --tw-gradient-via: var(--color-neutral-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-neutral-950 {
    --tw-gradient-via: var(--color-neutral-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-50 {
    --tw-gradient-via: var(--color-orange-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-100 {
    --tw-gradient-via: var(--color-orange-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-200 {
    --tw-gradient-via: var(--color-orange-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-300 {
    --tw-gradient-via: var(--color-orange-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-400 {
    --tw-gradient-via: var(--color-orange-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-500 {
    --tw-gradient-via: var(--color-orange-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-600 {
    --tw-gradient-via: var(--color-orange-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-700 {
    --tw-gradient-via: var(--color-orange-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-800 {
    --tw-gradient-via: var(--color-orange-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-900 {
    --tw-gradient-via: var(--color-orange-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-orange-950 {
    --tw-gradient-via: var(--color-orange-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-50 {
    --tw-gradient-via: var(--color-pink-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-100 {
    --tw-gradient-via: var(--color-pink-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-200 {
    --tw-gradient-via: var(--color-pink-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-300 {
    --tw-gradient-via: var(--color-pink-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-400 {
    --tw-gradient-via: var(--color-pink-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-500 {
    --tw-gradient-via: var(--color-pink-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-600 {
    --tw-gradient-via: var(--color-pink-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-700 {
    --tw-gradient-via: var(--color-pink-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-800 {
    --tw-gradient-via: var(--color-pink-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-900 {
    --tw-gradient-via: var(--color-pink-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-pink-950 {
    --tw-gradient-via: var(--color-pink-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-50 {
    --tw-gradient-via: var(--color-purple-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-100 {
    --tw-gradient-via: var(--color-purple-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-200 {
    --tw-gradient-via: var(--color-purple-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-300 {
    --tw-gradient-via: var(--color-purple-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-400 {
    --tw-gradient-via: var(--color-purple-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-500 {
    --tw-gradient-via: var(--color-purple-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-600 {
    --tw-gradient-via: var(--color-purple-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-700 {
    --tw-gradient-via: var(--color-purple-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-800 {
    --tw-gradient-via: var(--color-purple-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-900 {
    --tw-gradient-via: var(--color-purple-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-purple-950 {
    --tw-gradient-via: var(--color-purple-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-50 {
    --tw-gradient-via: var(--color-red-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-100 {
    --tw-gradient-via: var(--color-red-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-200 {
    --tw-gradient-via: var(--color-red-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-300 {
    --tw-gradient-via: var(--color-red-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-400 {
    --tw-gradient-via: var(--color-red-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-500 {
    --tw-gradient-via: var(--color-red-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-600 {
    --tw-gradient-via: var(--color-red-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-700 {
    --tw-gradient-via: var(--color-red-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-800 {
    --tw-gradient-via: var(--color-red-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-900 {
    --tw-gradient-via: var(--color-red-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-red-950 {
    --tw-gradient-via: var(--color-red-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-50 {
    --tw-gradient-via: var(--color-rose-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-100 {
    --tw-gradient-via: var(--color-rose-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-200 {
    --tw-gradient-via: var(--color-rose-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-300 {
    --tw-gradient-via: var(--color-rose-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-400 {
    --tw-gradient-via: var(--color-rose-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-500 {
    --tw-gradient-via: var(--color-rose-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-600 {
    --tw-gradient-via: var(--color-rose-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-700 {
    --tw-gradient-via: var(--color-rose-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-800 {
    --tw-gradient-via: var(--color-rose-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-900 {
    --tw-gradient-via: var(--color-rose-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-rose-950 {
    --tw-gradient-via: var(--color-rose-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-50 {
    --tw-gradient-via: var(--color-sky-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-100 {
    --tw-gradient-via: var(--color-sky-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-200 {
    --tw-gradient-via: var(--color-sky-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-300 {
    --tw-gradient-via: var(--color-sky-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-400 {
    --tw-gradient-via: var(--color-sky-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-500 {
    --tw-gradient-via: var(--color-sky-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-600 {
    --tw-gradient-via: var(--color-sky-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-700 {
    --tw-gradient-via: var(--color-sky-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-800 {
    --tw-gradient-via: var(--color-sky-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-900 {
    --tw-gradient-via: var(--color-sky-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-sky-950 {
    --tw-gradient-via: var(--color-sky-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-50 {
    --tw-gradient-via: var(--color-slate-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-100 {
    --tw-gradient-via: var(--color-slate-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-200 {
    --tw-gradient-via: var(--color-slate-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-300 {
    --tw-gradient-via: var(--color-slate-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-400 {
    --tw-gradient-via: var(--color-slate-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-500 {
    --tw-gradient-via: var(--color-slate-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-600 {
    --tw-gradient-via: var(--color-slate-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-700 {
    --tw-gradient-via: var(--color-slate-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-800 {
    --tw-gradient-via: var(--color-slate-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-900 {
    --tw-gradient-via: var(--color-slate-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-slate-950 {
    --tw-gradient-via: var(--color-slate-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-50 {
    --tw-gradient-via: var(--color-stone-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-100 {
    --tw-gradient-via: var(--color-stone-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-200 {
    --tw-gradient-via: var(--color-stone-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-300 {
    --tw-gradient-via: var(--color-stone-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-400 {
    --tw-gradient-via: var(--color-stone-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-500 {
    --tw-gradient-via: var(--color-stone-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-600 {
    --tw-gradient-via: var(--color-stone-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-700 {
    --tw-gradient-via: var(--color-stone-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-800 {
    --tw-gradient-via: var(--color-stone-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-900 {
    --tw-gradient-via: var(--color-stone-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-stone-950 {
    --tw-gradient-via: var(--color-stone-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-50 {
    --tw-gradient-via: var(--color-teal-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-100 {
    --tw-gradient-via: var(--color-teal-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-200 {
    --tw-gradient-via: var(--color-teal-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-300 {
    --tw-gradient-via: var(--color-teal-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-400 {
    --tw-gradient-via: var(--color-teal-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-500 {
    --tw-gradient-via: var(--color-teal-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-600 {
    --tw-gradient-via: var(--color-teal-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-700 {
    --tw-gradient-via: var(--color-teal-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-800 {
    --tw-gradient-via: var(--color-teal-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-900 {
    --tw-gradient-via: var(--color-teal-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-teal-950 {
    --tw-gradient-via: var(--color-teal-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-50 {
    --tw-gradient-via: var(--color-violet-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-100 {
    --tw-gradient-via: var(--color-violet-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-200 {
    --tw-gradient-via: var(--color-violet-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-300 {
    --tw-gradient-via: var(--color-violet-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-400 {
    --tw-gradient-via: var(--color-violet-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-500 {
    --tw-gradient-via: var(--color-violet-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-600 {
    --tw-gradient-via: var(--color-violet-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-700 {
    --tw-gradient-via: var(--color-violet-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-800 {
    --tw-gradient-via: var(--color-violet-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-900 {
    --tw-gradient-via: var(--color-violet-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-violet-950 {
    --tw-gradient-via: var(--color-violet-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-50 {
    --tw-gradient-via: var(--color-yellow-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-100 {
    --tw-gradient-via: var(--color-yellow-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-200 {
    --tw-gradient-via: var(--color-yellow-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-300 {
    --tw-gradient-via: var(--color-yellow-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-400 {
    --tw-gradient-via: var(--color-yellow-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-500 {
    --tw-gradient-via: var(--color-yellow-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-600 {
    --tw-gradient-via: var(--color-yellow-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-700 {
    --tw-gradient-via: var(--color-yellow-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-800 {
    --tw-gradient-via: var(--color-yellow-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-900 {
    --tw-gradient-via: var(--color-yellow-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-yellow-950 {
    --tw-gradient-via: var(--color-yellow-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-50 {
    --tw-gradient-via: var(--color-zinc-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-100 {
    --tw-gradient-via: var(--color-zinc-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-200 {
    --tw-gradient-via: var(--color-zinc-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-300 {
    --tw-gradient-via: var(--color-zinc-300);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-400 {
    --tw-gradient-via: var(--color-zinc-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-500 {
    --tw-gradient-via: var(--color-zinc-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-600 {
    --tw-gradient-via: var(--color-zinc-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-700 {
    --tw-gradient-via: var(--color-zinc-700);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-800 {
    --tw-gradient-via: var(--color-zinc-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-900 {
    --tw-gradient-via: var(--color-zinc-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-zinc-950 {
    --tw-gradient-via: var(--color-zinc-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-amber-50 {
    --tw-gradient-to: var(--color-amber-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-amber-100 {
    --tw-gradient-to: var(--color-amber-100);
    --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-200 {
    --tw-gradient-to: var(--color-amber-200);
    --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-300 {
    --tw-gradient-to: var(--color-amber-300);
    --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-400 {
    --tw-gradient-to: 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));
  }
  .to-amber-500 {
    --tw-gradient-to: var(--color-amber-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-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-amber-700 {
    --tw-gradient-to: var(--color-amber-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));
  }
  .to-amber-800 {
    --tw-gradient-to: var(--color-amber-800);
    --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-900 {
    --tw-gradient-to: var(--color-amber-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-amber-950 {
    --tw-gradient-to: var(--color-amber-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .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-100 {
    --tw-gradient-to: var(--color-blue-100);
    --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-200 {
    --tw-gradient-to: var(--color-blue-200);
    --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-300 {
    --tw-gradient-to: var(--color-blue-300);
    --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-400 {
    --tw-gradient-to: var(--color-blue-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));
  }
  .to-blue-500 {
    --tw-gradient-to: var(--color-blue-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-blue-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-blue-700 {
    --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));
  }
  .to-blue-800 {
    --tw-gradient-to: var(--color-blue-800);
    --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-900 {
    --tw-gradient-to: var(--color-blue-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-blue-950 {
    --tw-gradient-to: var(--color-blue-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-cyan-50 {
    --tw-gradient-to: var(--color-cyan-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-cyan-100 {
    --tw-gradient-to: var(--color-cyan-100);
    --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-cyan-200 {
    --tw-gradient-to: var(--color-cyan-200);
    --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-cyan-300 {
    --tw-gradient-to: var(--color-cyan-300);
    --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-cyan-400 {
    --tw-gradient-to: var(--color-cyan-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));
  }
  .to-cyan-500 {
    --tw-gradient-to: var(--color-cyan-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-cyan-600 {
    --tw-gradient-to: var(--color-cyan-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-cyan-700 {
    --tw-gradient-to: var(--color-cyan-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));
  }
  .to-cyan-800 {
    --tw-gradient-to: var(--color-cyan-800);
    --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-cyan-900 {
    --tw-gradient-to: var(--color-cyan-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-cyan-950 {
    --tw-gradient-to: var(--color-cyan-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-emerald-50 {
    --tw-gradient-to: var(--color-emerald-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-emerald-100 {
    --tw-gradient-to: var(--color-emerald-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-emerald-200 {
    --tw-gradient-to: var(--color-emerald-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-emerald-300 {
    --tw-gradient-to: var(--color-emerald-300);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-emerald-400 {
    --tw-gradient-to: var(--color-emerald-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));
  }
  .to-emerald-500 {
    --tw-gradient-to: var(--color-emerald-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-emerald-600 {
    --tw-gradient-to: var(--color-emerald-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-emerald-700 {
    --tw-gradient-to: var(--color-emerald-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));
  }
  .to-emerald-800 {
    --tw-gradient-to: var(--color-emerald-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-emerald-900 {
    --tw-gradient-to: var(--color-emerald-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-emerald-950 {
    --tw-gradient-to: var(--color-emerald-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-fuchsia-50 {
    --tw-gradient-to: var(--color-fuchsia-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-fuchsia-100 {
    --tw-gradient-to: var(--color-fuchsia-100);
    --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-fuchsia-200 {
    --tw-gradient-to: var(--color-fuchsia-200);
    --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-fuchsia-300 {
    --tw-gradient-to: var(--color-fuchsia-300);
    --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-fuchsia-400 {
    --tw-gradient-to: var(--color-fuchsia-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));
  }
  .to-fuchsia-500 {
    --tw-gradient-to: var(--color-fuchsia-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-fuchsia-600 {
    --tw-gradient-to: var(--color-fuchsia-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-fuchsia-700 {
    --tw-gradient-to: var(--color-fuchsia-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));
  }
  .to-fuchsia-800 {
    --tw-gradient-to: var(--color-fuchsia-800);
    --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-fuchsia-900 {
    --tw-gradient-to: var(--color-fuchsia-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-fuchsia-950 {
    --tw-gradient-to: var(--color-fuchsia-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-gray-50 {
    --tw-gradient-to: var(--color-gray-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-gray-100 {
    --tw-gradient-to: var(--color-gray-100);
    --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-gray-200 {
    --tw-gradient-to: var(--color-gray-200);
    --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-gray-300 {
    --tw-gradient-to: var(--color-gray-300);
    --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-gray-400 {
    --tw-gradient-to: var(--color-gray-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));
  }
  .to-gray-500 {
    --tw-gradient-to: var(--color-gray-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-gray-600 {
    --tw-gradient-to: var(--color-gray-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-gray-700 {
    --tw-gradient-to: var(--color-gray-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));
  }
  .to-gray-800 {
    --tw-gradient-to: var(--color-gray-800);
    --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-gray-900 {
    --tw-gradient-to: var(--color-gray-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-gray-950 {
    --tw-gradient-to: var(--color-gray-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-green-50 {
    --tw-gradient-to: var(--color-green-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-green-100 {
    --tw-gradient-to: var(--color-green-100);
    --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-green-200 {
    --tw-gradient-to: var(--color-green-200);
    --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-green-300 {
    --tw-gradient-to: var(--color-green-300);
    --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-green-400 {
    --tw-gradient-to: var(--color-green-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));
  }
  .to-green-500 {
    --tw-gradient-to: var(--color-green-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-green-600 {
    --tw-gradient-to: var(--color-green-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-green-700 {
    --tw-gradient-to: var(--color-green-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));
  }
  .to-green-800 {
    --tw-gradient-to: var(--color-green-800);
    --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-green-900 {
    --tw-gradient-to: var(--color-green-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-green-950 {
    --tw-gradient-to: var(--color-green-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-indigo-50 {
    --tw-gradient-to: var(--color-indigo-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-indigo-100 {
    --tw-gradient-to: var(--color-indigo-100);
    --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-200 {
    --tw-gradient-to: var(--color-indigo-200);
    --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-300 {
    --tw-gradient-to: var(--color-indigo-300);
    --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-400 {
    --tw-gradient-to: var(--color-indigo-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));
  }
  .to-indigo-500 {
    --tw-gradient-to: var(--color-indigo-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-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-indigo-700 {
    --tw-gradient-to: var(--color-indigo-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));
  }
  .to-indigo-800 {
    --tw-gradient-to: var(--color-indigo-800);
    --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-900 {
    --tw-gradient-to: var(--color-indigo-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-indigo-950 {
    --tw-gradient-to: var(--color-indigo-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-lime-50 {
    --tw-gradient-to: var(--color-lime-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-lime-100 {
    --tw-gradient-to: var(--color-lime-100);
    --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-lime-200 {
    --tw-gradient-to: var(--color-lime-200);
    --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-lime-300 {
    --tw-gradient-to: var(--color-lime-300);
    --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-lime-400 {
    --tw-gradient-to: var(--color-lime-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));
  }
  .to-lime-500 {
    --tw-gradient-to: var(--color-lime-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-lime-600 {
    --tw-gradient-to: var(--color-lime-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-lime-700 {
    --tw-gradient-to: var(--color-lime-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));
  }
  .to-lime-800 {
    --tw-gradient-to: var(--color-lime-800);
    --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-lime-900 {
    --tw-gradient-to: var(--color-lime-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-lime-950 {
    --tw-gradient-to: var(--color-lime-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-neutral-50 {
    --tw-gradient-to: var(--color-neutral-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-neutral-100 {
    --tw-gradient-to: var(--color-neutral-100);
    --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-neutral-200 {
    --tw-gradient-to: var(--color-neutral-200);
    --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-neutral-300 {
    --tw-gradient-to: var(--color-neutral-300);
    --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-neutral-400 {
    --tw-gradient-to: var(--color-neutral-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));
  }
  .to-neutral-500 {
    --tw-gradient-to: var(--color-neutral-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-neutral-600 {
    --tw-gradient-to: var(--color-neutral-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-neutral-700 {
    --tw-gradient-to: var(--color-neutral-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));
  }
  .to-neutral-800 {
    --tw-gradient-to: var(--color-neutral-800);
    --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-neutral-900 {
    --tw-gradient-to: var(--color-neutral-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-neutral-950 {
    --tw-gradient-to: var(--color-neutral-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-orange-50 {
    --tw-gradient-to: var(--color-orange-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-orange-100 {
    --tw-gradient-to: var(--color-orange-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-orange-200 {
    --tw-gradient-to: var(--color-orange-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-orange-300 {
    --tw-gradient-to: var(--color-orange-300);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-orange-400 {
    --tw-gradient-to: var(--color-orange-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));
  }
  .to-orange-500 {
    --tw-gradient-to: var(--color-orange-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-orange-600 {
    --tw-gradient-to: var(--color-orange-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-orange-700 {
    --tw-gradient-to: var(--color-orange-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));
  }
  .to-orange-800 {
    --tw-gradient-to: var(--color-orange-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-orange-900 {
    --tw-gradient-to: var(--color-orange-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-orange-950 {
    --tw-gradient-to: var(--color-orange-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-pink-50 {
    --tw-gradient-to: var(--color-pink-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-pink-100 {
    --tw-gradient-to: var(--color-pink-100);
    --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-pink-200 {
    --tw-gradient-to: var(--color-pink-200);
    --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-pink-300 {
    --tw-gradient-to: var(--color-pink-300);
    --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-pink-400 {
    --tw-gradient-to: var(--color-pink-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));
  }
  .to-pink-500 {
    --tw-gradient-to: var(--color-pink-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-pink-600 {
    --tw-gradient-to: var(--color-pink-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-pink-700 {
    --tw-gradient-to: var(--color-pink-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));
  }
  .to-pink-800 {
    --tw-gradient-to: var(--color-pink-800);
    --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-pink-900 {
    --tw-gradient-to: var(--color-pink-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-pink-950 {
    --tw-gradient-to: var(--color-pink-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-purple-50 {
    --tw-gradient-to: 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));
  }
  .to-purple-100 {
    --tw-gradient-to: var(--color-purple-100);
    --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-200 {
    --tw-gradient-to: var(--color-purple-200);
    --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-300 {
    --tw-gradient-to: var(--color-purple-300);
    --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-400 {
    --tw-gradient-to: var(--color-purple-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));
  }
  .to-purple-500 {
    --tw-gradient-to: 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));
  }
  .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));
  }
  .to-purple-700 {
    --tw-gradient-to: 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));
  }
  .to-purple-800 {
    --tw-gradient-to: var(--color-purple-800);
    --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-900 {
    --tw-gradient-to: var(--color-purple-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-purple-950 {
    --tw-gradient-to: var(--color-purple-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-red-50 {
    --tw-gradient-to: var(--color-red-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-red-100 {
    --tw-gradient-to: var(--color-red-100);
    --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-red-200 {
    --tw-gradient-to: var(--color-red-200);
    --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-red-300 {
    --tw-gradient-to: var(--color-red-300);
    --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-red-400 {
    --tw-gradient-to: var(--color-red-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));
  }
  .to-red-500 {
    --tw-gradient-to: var(--color-red-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-red-600 {
    --tw-gradient-to: var(--color-red-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-red-700 {
    --tw-gradient-to: var(--color-red-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));
  }
  .to-red-800 {
    --tw-gradient-to: var(--color-red-800);
    --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-red-900 {
    --tw-gradient-to: var(--color-red-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-red-950 {
    --tw-gradient-to: var(--color-red-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-rose-50 {
    --tw-gradient-to: var(--color-rose-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-rose-100 {
    --tw-gradient-to: var(--color-rose-100);
    --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-rose-200 {
    --tw-gradient-to: var(--color-rose-200);
    --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-rose-300 {
    --tw-gradient-to: var(--color-rose-300);
    --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-rose-400 {
    --tw-gradient-to: var(--color-rose-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));
  }
  .to-rose-500 {
    --tw-gradient-to: var(--color-rose-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-rose-600 {
    --tw-gradient-to: var(--color-rose-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-rose-700 {
    --tw-gradient-to: var(--color-rose-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));
  }
  .to-rose-800 {
    --tw-gradient-to: var(--color-rose-800);
    --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-rose-900 {
    --tw-gradient-to: var(--color-rose-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-rose-950 {
    --tw-gradient-to: var(--color-rose-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-sky-50 {
    --tw-gradient-to: var(--color-sky-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-sky-100 {
    --tw-gradient-to: var(--color-sky-100);
    --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-sky-200 {
    --tw-gradient-to: var(--color-sky-200);
    --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-sky-300 {
    --tw-gradient-to: var(--color-sky-300);
    --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-sky-400 {
    --tw-gradient-to: var(--color-sky-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));
  }
  .to-sky-500 {
    --tw-gradient-to: var(--color-sky-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-sky-600 {
    --tw-gradient-to: var(--color-sky-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-sky-700 {
    --tw-gradient-to: var(--color-sky-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));
  }
  .to-sky-800 {
    --tw-gradient-to: var(--color-sky-800);
    --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-sky-900 {
    --tw-gradient-to: var(--color-sky-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-sky-950 {
    --tw-gradient-to: var(--color-sky-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-slate-50 {
    --tw-gradient-to: var(--color-slate-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-slate-100 {
    --tw-gradient-to: var(--color-slate-100);
    --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-slate-200 {
    --tw-gradient-to: var(--color-slate-200);
    --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-slate-300 {
    --tw-gradient-to: var(--color-slate-300);
    --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-slate-400 {
    --tw-gradient-to: var(--color-slate-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));
  }
  .to-slate-500 {
    --tw-gradient-to: var(--color-slate-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-slate-600 {
    --tw-gradient-to: var(--color-slate-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-slate-700 {
    --tw-gradient-to: var(--color-slate-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));
  }
  .to-slate-800 {
    --tw-gradient-to: var(--color-slate-800);
    --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-slate-900 {
    --tw-gradient-to: var(--color-slate-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-slate-950 {
    --tw-gradient-to: var(--color-slate-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-stone-50 {
    --tw-gradient-to: var(--color-stone-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-stone-100 {
    --tw-gradient-to: var(--color-stone-100);
    --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-stone-200 {
    --tw-gradient-to: var(--color-stone-200);
    --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-stone-300 {
    --tw-gradient-to: var(--color-stone-300);
    --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-stone-400 {
    --tw-gradient-to: var(--color-stone-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));
  }
  .to-stone-500 {
    --tw-gradient-to: var(--color-stone-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-stone-600 {
    --tw-gradient-to: var(--color-stone-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-stone-700 {
    --tw-gradient-to: var(--color-stone-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));
  }
  .to-stone-800 {
    --tw-gradient-to: var(--color-stone-800);
    --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-stone-900 {
    --tw-gradient-to: var(--color-stone-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-stone-950 {
    --tw-gradient-to: var(--color-stone-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-teal-50 {
    --tw-gradient-to: var(--color-teal-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-teal-100 {
    --tw-gradient-to: var(--color-teal-100);
    --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-teal-200 {
    --tw-gradient-to: var(--color-teal-200);
    --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-teal-300 {
    --tw-gradient-to: var(--color-teal-300);
    --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-teal-400 {
    --tw-gradient-to: var(--color-teal-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));
  }
  .to-teal-500 {
    --tw-gradient-to: var(--color-teal-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-teal-600 {
    --tw-gradient-to: var(--color-teal-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-teal-700 {
    --tw-gradient-to: var(--color-teal-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));
  }
  .to-teal-800 {
    --tw-gradient-to: var(--color-teal-800);
    --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-teal-900 {
    --tw-gradient-to: var(--color-teal-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-teal-950 {
    --tw-gradient-to: var(--color-teal-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-violet-50 {
    --tw-gradient-to: var(--color-violet-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-violet-100 {
    --tw-gradient-to: var(--color-violet-100);
    --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-violet-200 {
    --tw-gradient-to: var(--color-violet-200);
    --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-violet-300 {
    --tw-gradient-to: var(--color-violet-300);
    --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-violet-400 {
    --tw-gradient-to: var(--color-violet-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));
  }
  .to-violet-500 {
    --tw-gradient-to: var(--color-violet-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-violet-600 {
    --tw-gradient-to: var(--color-violet-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-violet-700 {
    --tw-gradient-to: var(--color-violet-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));
  }
  .to-violet-800 {
    --tw-gradient-to: var(--color-violet-800);
    --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-violet-900 {
    --tw-gradient-to: var(--color-violet-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-violet-950 {
    --tw-gradient-to: var(--color-violet-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-yellow-50 {
    --tw-gradient-to: var(--color-yellow-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-yellow-100 {
    --tw-gradient-to: var(--color-yellow-100);
    --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-yellow-200 {
    --tw-gradient-to: var(--color-yellow-200);
    --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-yellow-300 {
    --tw-gradient-to: var(--color-yellow-300);
    --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-yellow-400 {
    --tw-gradient-to: var(--color-yellow-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));
  }
  .to-yellow-500 {
    --tw-gradient-to: var(--color-yellow-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-yellow-600 {
    --tw-gradient-to: var(--color-yellow-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-yellow-700 {
    --tw-gradient-to: var(--color-yellow-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));
  }
  .to-yellow-800 {
    --tw-gradient-to: var(--color-yellow-800);
    --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-yellow-900 {
    --tw-gradient-to: var(--color-yellow-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-yellow-950 {
    --tw-gradient-to: var(--color-yellow-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-zinc-50 {
    --tw-gradient-to: var(--color-zinc-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-zinc-100 {
    --tw-gradient-to: var(--color-zinc-100);
    --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-zinc-200 {
    --tw-gradient-to: var(--color-zinc-200);
    --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-zinc-300 {
    --tw-gradient-to: var(--color-zinc-300);
    --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-zinc-400 {
    --tw-gradient-to: var(--color-zinc-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));
  }
  .to-zinc-500 {
    --tw-gradient-to: var(--color-zinc-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-zinc-600 {
    --tw-gradient-to: var(--color-zinc-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-zinc-700 {
    --tw-gradient-to: var(--color-zinc-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));
  }
  .to-zinc-800 {
    --tw-gradient-to: var(--color-zinc-800);
    --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-zinc-900 {
    --tw-gradient-to: var(--color-zinc-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-zinc-950 {
    --tw-gradient-to: var(--color-zinc-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .fill-amber-50 {
    fill: var(--color-amber-50);
  }
  .fill-amber-100 {
    fill: var(--color-amber-100);
  }
  .fill-amber-200 {
    fill: var(--color-amber-200);
  }
  .fill-amber-300 {
    fill: var(--color-amber-300);
  }
  .fill-amber-400 {
    fill: var(--color-amber-400);
  }
  .fill-amber-500 {
    fill: var(--color-amber-500);
  }
  .fill-amber-600 {
    fill: var(--color-amber-600);
  }
  .fill-amber-700 {
    fill: var(--color-amber-700);
  }
  .fill-amber-800 {
    fill: var(--color-amber-800);
  }
  .fill-amber-900 {
    fill: var(--color-amber-900);
  }
  .fill-amber-950 {
    fill: var(--color-amber-950);
  }
  .fill-blue-50 {
    fill: var(--color-blue-50);
  }
  .fill-blue-100 {
    fill: var(--color-blue-100);
  }
  .fill-blue-200 {
    fill: var(--color-blue-200);
  }
  .fill-blue-300 {
    fill: var(--color-blue-300);
  }
  .fill-blue-400 {
    fill: var(--color-blue-400);
  }
  .fill-blue-500 {
    fill: var(--color-blue-500);
  }
  .fill-blue-600 {
    fill: var(--color-blue-600);
  }
  .fill-blue-700 {
    fill: var(--color-blue-700);
  }
  .fill-blue-800 {
    fill: var(--color-blue-800);
  }
  .fill-blue-900 {
    fill: var(--color-blue-900);
  }
  .fill-blue-950 {
    fill: var(--color-blue-950);
  }
  .fill-cyan-50 {
    fill: var(--color-cyan-50);
  }
  .fill-cyan-100 {
    fill: var(--color-cyan-100);
  }
  .fill-cyan-200 {
    fill: var(--color-cyan-200);
  }
  .fill-cyan-300 {
    fill: var(--color-cyan-300);
  }
  .fill-cyan-400 {
    fill: var(--color-cyan-400);
  }
  .fill-cyan-500 {
    fill: var(--color-cyan-500);
  }
  .fill-cyan-600 {
    fill: var(--color-cyan-600);
  }
  .fill-cyan-700 {
    fill: var(--color-cyan-700);
  }
  .fill-cyan-800 {
    fill: var(--color-cyan-800);
  }
  .fill-cyan-900 {
    fill: var(--color-cyan-900);
  }
  .fill-cyan-950 {
    fill: var(--color-cyan-950);
  }
  .fill-emerald-50 {
    fill: var(--color-emerald-50);
  }
  .fill-emerald-100 {
    fill: var(--color-emerald-100);
  }
  .fill-emerald-200 {
    fill: var(--color-emerald-200);
  }
  .fill-emerald-300 {
    fill: var(--color-emerald-300);
  }
  .fill-emerald-400 {
    fill: var(--color-emerald-400);
  }
  .fill-emerald-500 {
    fill: var(--color-emerald-500);
  }
  .fill-emerald-600 {
    fill: var(--color-emerald-600);
  }
  .fill-emerald-700 {
    fill: var(--color-emerald-700);
  }
  .fill-emerald-800 {
    fill: var(--color-emerald-800);
  }
  .fill-emerald-900 {
    fill: var(--color-emerald-900);
  }
  .fill-emerald-950 {
    fill: var(--color-emerald-950);
  }
  .fill-fuchsia-50 {
    fill: var(--color-fuchsia-50);
  }
  .fill-fuchsia-100 {
    fill: var(--color-fuchsia-100);
  }
  .fill-fuchsia-200 {
    fill: var(--color-fuchsia-200);
  }
  .fill-fuchsia-300 {
    fill: var(--color-fuchsia-300);
  }
  .fill-fuchsia-400 {
    fill: var(--color-fuchsia-400);
  }
  .fill-fuchsia-500 {
    fill: var(--color-fuchsia-500);
  }
  .fill-fuchsia-600 {
    fill: var(--color-fuchsia-600);
  }
  .fill-fuchsia-700 {
    fill: var(--color-fuchsia-700);
  }
  .fill-fuchsia-800 {
    fill: var(--color-fuchsia-800);
  }
  .fill-fuchsia-900 {
    fill: var(--color-fuchsia-900);
  }
  .fill-fuchsia-950 {
    fill: var(--color-fuchsia-950);
  }
  .fill-gray-50 {
    fill: var(--color-gray-50);
  }
  .fill-gray-100 {
    fill: var(--color-gray-100);
  }
  .fill-gray-200 {
    fill: var(--color-gray-200);
  }
  .fill-gray-300 {
    fill: var(--color-gray-300);
  }
  .fill-gray-400 {
    fill: var(--color-gray-400);
  }
  .fill-gray-500 {
    fill: var(--color-gray-500);
  }
  .fill-gray-600 {
    fill: var(--color-gray-600);
  }
  .fill-gray-700 {
    fill: var(--color-gray-700);
  }
  .fill-gray-800 {
    fill: var(--color-gray-800);
  }
  .fill-gray-900 {
    fill: var(--color-gray-900);
  }
  .fill-gray-950 {
    fill: var(--color-gray-950);
  }
  .fill-green-50 {
    fill: var(--color-green-50);
  }
  .fill-green-100 {
    fill: var(--color-green-100);
  }
  .fill-green-200 {
    fill: var(--color-green-200);
  }
  .fill-green-300 {
    fill: var(--color-green-300);
  }
  .fill-green-400 {
    fill: var(--color-green-400);
  }
  .fill-green-500 {
    fill: var(--color-green-500);
  }
  .fill-green-600 {
    fill: var(--color-green-600);
  }
  .fill-green-700 {
    fill: var(--color-green-700);
  }
  .fill-green-800 {
    fill: var(--color-green-800);
  }
  .fill-green-900 {
    fill: var(--color-green-900);
  }
  .fill-green-950 {
    fill: var(--color-green-950);
  }
  .fill-indigo-50 {
    fill: var(--color-indigo-50);
  }
  .fill-indigo-100 {
    fill: var(--color-indigo-100);
  }
  .fill-indigo-200 {
    fill: var(--color-indigo-200);
  }
  .fill-indigo-300 {
    fill: var(--color-indigo-300);
  }
  .fill-indigo-400 {
    fill: var(--color-indigo-400);
  }
  .fill-indigo-500 {
    fill: var(--color-indigo-500);
  }
  .fill-indigo-600 {
    fill: var(--color-indigo-600);
  }
  .fill-indigo-700 {
    fill: var(--color-indigo-700);
  }
  .fill-indigo-800 {
    fill: var(--color-indigo-800);
  }
  .fill-indigo-900 {
    fill: var(--color-indigo-900);
  }
  .fill-indigo-950 {
    fill: var(--color-indigo-950);
  }
  .fill-lime-50 {
    fill: var(--color-lime-50);
  }
  .fill-lime-100 {
    fill: var(--color-lime-100);
  }
  .fill-lime-200 {
    fill: var(--color-lime-200);
  }
  .fill-lime-300 {
    fill: var(--color-lime-300);
  }
  .fill-lime-400 {
    fill: var(--color-lime-400);
  }
  .fill-lime-500 {
    fill: var(--color-lime-500);
  }
  .fill-lime-600 {
    fill: var(--color-lime-600);
  }
  .fill-lime-700 {
    fill: var(--color-lime-700);
  }
  .fill-lime-800 {
    fill: var(--color-lime-800);
  }
  .fill-lime-900 {
    fill: var(--color-lime-900);
  }
  .fill-lime-950 {
    fill: var(--color-lime-950);
  }
  .fill-neutral-50 {
    fill: var(--color-neutral-50);
  }
  .fill-neutral-100 {
    fill: var(--color-neutral-100);
  }
  .fill-neutral-200 {
    fill: var(--color-neutral-200);
  }
  .fill-neutral-300 {
    fill: var(--color-neutral-300);
  }
  .fill-neutral-400 {
    fill: var(--color-neutral-400);
  }
  .fill-neutral-500 {
    fill: var(--color-neutral-500);
  }
  .fill-neutral-600 {
    fill: var(--color-neutral-600);
  }
  .fill-neutral-700 {
    fill: var(--color-neutral-700);
  }
  .fill-neutral-800 {
    fill: var(--color-neutral-800);
  }
  .fill-neutral-900 {
    fill: var(--color-neutral-900);
  }
  .fill-neutral-950 {
    fill: var(--color-neutral-950);
  }
  .fill-orange-50 {
    fill: var(--color-orange-50);
  }
  .fill-orange-100 {
    fill: var(--color-orange-100);
  }
  .fill-orange-200 {
    fill: var(--color-orange-200);
  }
  .fill-orange-300 {
    fill: var(--color-orange-300);
  }
  .fill-orange-400 {
    fill: var(--color-orange-400);
  }
  .fill-orange-500 {
    fill: var(--color-orange-500);
  }
  .fill-orange-600 {
    fill: var(--color-orange-600);
  }
  .fill-orange-700 {
    fill: var(--color-orange-700);
  }
  .fill-orange-800 {
    fill: var(--color-orange-800);
  }
  .fill-orange-900 {
    fill: var(--color-orange-900);
  }
  .fill-orange-950 {
    fill: var(--color-orange-950);
  }
  .fill-pink-50 {
    fill: var(--color-pink-50);
  }
  .fill-pink-100 {
    fill: var(--color-pink-100);
  }
  .fill-pink-200 {
    fill: var(--color-pink-200);
  }
  .fill-pink-300 {
    fill: var(--color-pink-300);
  }
  .fill-pink-400 {
    fill: var(--color-pink-400);
  }
  .fill-pink-500 {
    fill: var(--color-pink-500);
  }
  .fill-pink-600 {
    fill: var(--color-pink-600);
  }
  .fill-pink-700 {
    fill: var(--color-pink-700);
  }
  .fill-pink-800 {
    fill: var(--color-pink-800);
  }
  .fill-pink-900 {
    fill: var(--color-pink-900);
  }
  .fill-pink-950 {
    fill: var(--color-pink-950);
  }
  .fill-purple-50 {
    fill: var(--color-purple-50);
  }
  .fill-purple-100 {
    fill: var(--color-purple-100);
  }
  .fill-purple-200 {
    fill: var(--color-purple-200);
  }
  .fill-purple-300 {
    fill: var(--color-purple-300);
  }
  .fill-purple-400 {
    fill: var(--color-purple-400);
  }
  .fill-purple-500 {
    fill: var(--color-purple-500);
  }
  .fill-purple-600 {
    fill: var(--color-purple-600);
  }
  .fill-purple-700 {
    fill: var(--color-purple-700);
  }
  .fill-purple-800 {
    fill: var(--color-purple-800);
  }
  .fill-purple-900 {
    fill: var(--color-purple-900);
  }
  .fill-purple-950 {
    fill: var(--color-purple-950);
  }
  .fill-red-50 {
    fill: var(--color-red-50);
  }
  .fill-red-100 {
    fill: var(--color-red-100);
  }
  .fill-red-200 {
    fill: var(--color-red-200);
  }
  .fill-red-300 {
    fill: var(--color-red-300);
  }
  .fill-red-400 {
    fill: var(--color-red-400);
  }
  .fill-red-500 {
    fill: var(--color-red-500);
  }
  .fill-red-600 {
    fill: var(--color-red-600);
  }
  .fill-red-700 {
    fill: var(--color-red-700);
  }
  .fill-red-800 {
    fill: var(--color-red-800);
  }
  .fill-red-900 {
    fill: var(--color-red-900);
  }
  .fill-red-950 {
    fill: var(--color-red-950);
  }
  .fill-rose-50 {
    fill: var(--color-rose-50);
  }
  .fill-rose-100 {
    fill: var(--color-rose-100);
  }
  .fill-rose-200 {
    fill: var(--color-rose-200);
  }
  .fill-rose-300 {
    fill: var(--color-rose-300);
  }
  .fill-rose-400 {
    fill: var(--color-rose-400);
  }
  .fill-rose-500 {
    fill: var(--color-rose-500);
  }
  .fill-rose-600 {
    fill: var(--color-rose-600);
  }
  .fill-rose-700 {
    fill: var(--color-rose-700);
  }
  .fill-rose-800 {
    fill: var(--color-rose-800);
  }
  .fill-rose-900 {
    fill: var(--color-rose-900);
  }
  .fill-rose-950 {
    fill: var(--color-rose-950);
  }
  .fill-sky-50 {
    fill: var(--color-sky-50);
  }
  .fill-sky-100 {
    fill: var(--color-sky-100);
  }
  .fill-sky-200 {
    fill: var(--color-sky-200);
  }
  .fill-sky-300 {
    fill: var(--color-sky-300);
  }
  .fill-sky-400 {
    fill: var(--color-sky-400);
  }
  .fill-sky-500 {
    fill: var(--color-sky-500);
  }
  .fill-sky-600 {
    fill: var(--color-sky-600);
  }
  .fill-sky-700 {
    fill: var(--color-sky-700);
  }
  .fill-sky-800 {
    fill: var(--color-sky-800);
  }
  .fill-sky-900 {
    fill: var(--color-sky-900);
  }
  .fill-sky-950 {
    fill: var(--color-sky-950);
  }
  .fill-slate-50 {
    fill: var(--color-slate-50);
  }
  .fill-slate-100 {
    fill: var(--color-slate-100);
  }
  .fill-slate-200 {
    fill: var(--color-slate-200);
  }
  .fill-slate-300 {
    fill: var(--color-slate-300);
  }
  .fill-slate-400 {
    fill: var(--color-slate-400);
  }
  .fill-slate-500 {
    fill: var(--color-slate-500);
  }
  .fill-slate-600 {
    fill: var(--color-slate-600);
  }
  .fill-slate-700 {
    fill: var(--color-slate-700);
  }
  .fill-slate-800 {
    fill: var(--color-slate-800);
  }
  .fill-slate-900 {
    fill: var(--color-slate-900);
  }
  .fill-slate-950 {
    fill: var(--color-slate-950);
  }
  .fill-stone-50 {
    fill: var(--color-stone-50);
  }
  .fill-stone-100 {
    fill: var(--color-stone-100);
  }
  .fill-stone-200 {
    fill: var(--color-stone-200);
  }
  .fill-stone-300 {
    fill: var(--color-stone-300);
  }
  .fill-stone-400 {
    fill: var(--color-stone-400);
  }
  .fill-stone-500 {
    fill: var(--color-stone-500);
  }
  .fill-stone-600 {
    fill: var(--color-stone-600);
  }
  .fill-stone-700 {
    fill: var(--color-stone-700);
  }
  .fill-stone-800 {
    fill: var(--color-stone-800);
  }
  .fill-stone-900 {
    fill: var(--color-stone-900);
  }
  .fill-stone-950 {
    fill: var(--color-stone-950);
  }
  .fill-teal-50 {
    fill: var(--color-teal-50);
  }
  .fill-teal-100 {
    fill: var(--color-teal-100);
  }
  .fill-teal-200 {
    fill: var(--color-teal-200);
  }
  .fill-teal-300 {
    fill: var(--color-teal-300);
  }
  .fill-teal-400 {
    fill: var(--color-teal-400);
  }
  .fill-teal-500 {
    fill: var(--color-teal-500);
  }
  .fill-teal-600 {
    fill: var(--color-teal-600);
  }
  .fill-teal-700 {
    fill: var(--color-teal-700);
  }
  .fill-teal-800 {
    fill: var(--color-teal-800);
  }
  .fill-teal-900 {
    fill: var(--color-teal-900);
  }
  .fill-teal-950 {
    fill: var(--color-teal-950);
  }
  .fill-violet-50 {
    fill: var(--color-violet-50);
  }
  .fill-violet-100 {
    fill: var(--color-violet-100);
  }
  .fill-violet-200 {
    fill: var(--color-violet-200);
  }
  .fill-violet-300 {
    fill: var(--color-violet-300);
  }
  .fill-violet-400 {
    fill: var(--color-violet-400);
  }
  .fill-violet-500 {
    fill: var(--color-violet-500);
  }
  .fill-violet-600 {
    fill: var(--color-violet-600);
  }
  .fill-violet-700 {
    fill: var(--color-violet-700);
  }
  .fill-violet-800 {
    fill: var(--color-violet-800);
  }
  .fill-violet-900 {
    fill: var(--color-violet-900);
  }
  .fill-violet-950 {
    fill: var(--color-violet-950);
  }
  .fill-yellow-50 {
    fill: var(--color-yellow-50);
  }
  .fill-yellow-100 {
    fill: var(--color-yellow-100);
  }
  .fill-yellow-200 {
    fill: var(--color-yellow-200);
  }
  .fill-yellow-300 {
    fill: var(--color-yellow-300);
  }
  .fill-yellow-400 {
    fill: var(--color-yellow-400);
  }
  .fill-yellow-500 {
    fill: var(--color-yellow-500);
  }
  .fill-yellow-600 {
    fill: var(--color-yellow-600);
  }
  .fill-yellow-700 {
    fill: var(--color-yellow-700);
  }
  .fill-yellow-800 {
    fill: var(--color-yellow-800);
  }
  .fill-yellow-900 {
    fill: var(--color-yellow-900);
  }
  .fill-yellow-950 {
    fill: var(--color-yellow-950);
  }
  .fill-zinc-50 {
    fill: var(--color-zinc-50);
  }
  .fill-zinc-100 {
    fill: var(--color-zinc-100);
  }
  .fill-zinc-200 {
    fill: var(--color-zinc-200);
  }
  .fill-zinc-300 {
    fill: var(--color-zinc-300);
  }
  .fill-zinc-400 {
    fill: var(--color-zinc-400);
  }
  .fill-zinc-500 {
    fill: var(--color-zinc-500);
  }
  .fill-zinc-600 {
    fill: var(--color-zinc-600);
  }
  .fill-zinc-700 {
    fill: var(--color-zinc-700);
  }
  .fill-zinc-800 {
    fill: var(--color-zinc-800);
  }
  .fill-zinc-900 {
    fill: var(--color-zinc-900);
  }
  .fill-zinc-950 {
    fill: var(--color-zinc-950);
  }
  .stroke-amber-50 {
    stroke: var(--color-amber-50);
  }
  .stroke-amber-100 {
    stroke: var(--color-amber-100);
  }
  .stroke-amber-200 {
    stroke: var(--color-amber-200);
  }
  .stroke-amber-300 {
    stroke: var(--color-amber-300);
  }
  .stroke-amber-400 {
    stroke: var(--color-amber-400);
  }
  .stroke-amber-500 {
    stroke: var(--color-amber-500);
  }
  .stroke-amber-600 {
    stroke: var(--color-amber-600);
  }
  .stroke-amber-700 {
    stroke: var(--color-amber-700);
  }
  .stroke-amber-800 {
    stroke: var(--color-amber-800);
  }
  .stroke-amber-900 {
    stroke: var(--color-amber-900);
  }
  .stroke-amber-950 {
    stroke: var(--color-amber-950);
  }
  .stroke-blue-50 {
    stroke: var(--color-blue-50);
  }
  .stroke-blue-100 {
    stroke: var(--color-blue-100);
  }
  .stroke-blue-200 {
    stroke: var(--color-blue-200);
  }
  .stroke-blue-300 {
    stroke: var(--color-blue-300);
  }
  .stroke-blue-400 {
    stroke: var(--color-blue-400);
  }
  .stroke-blue-500 {
    stroke: var(--color-blue-500);
  }
  .stroke-blue-600 {
    stroke: var(--color-blue-600);
  }
  .stroke-blue-700 {
    stroke: var(--color-blue-700);
  }
  .stroke-blue-800 {
    stroke: var(--color-blue-800);
  }
  .stroke-blue-900 {
    stroke: var(--color-blue-900);
  }
  .stroke-blue-950 {
    stroke: var(--color-blue-950);
  }
  .stroke-cyan-50 {
    stroke: var(--color-cyan-50);
  }
  .stroke-cyan-100 {
    stroke: var(--color-cyan-100);
  }
  .stroke-cyan-200 {
    stroke: var(--color-cyan-200);
  }
  .stroke-cyan-300 {
    stroke: var(--color-cyan-300);
  }
  .stroke-cyan-400 {
    stroke: var(--color-cyan-400);
  }
  .stroke-cyan-500 {
    stroke: var(--color-cyan-500);
  }
  .stroke-cyan-600 {
    stroke: var(--color-cyan-600);
  }
  .stroke-cyan-700 {
    stroke: var(--color-cyan-700);
  }
  .stroke-cyan-800 {
    stroke: var(--color-cyan-800);
  }
  .stroke-cyan-900 {
    stroke: var(--color-cyan-900);
  }
  .stroke-cyan-950 {
    stroke: var(--color-cyan-950);
  }
  .stroke-emerald-50 {
    stroke: var(--color-emerald-50);
  }
  .stroke-emerald-100 {
    stroke: var(--color-emerald-100);
  }
  .stroke-emerald-200 {
    stroke: var(--color-emerald-200);
  }
  .stroke-emerald-300 {
    stroke: var(--color-emerald-300);
  }
  .stroke-emerald-400 {
    stroke: var(--color-emerald-400);
  }
  .stroke-emerald-500 {
    stroke: var(--color-emerald-500);
  }
  .stroke-emerald-600 {
    stroke: var(--color-emerald-600);
  }
  .stroke-emerald-700 {
    stroke: var(--color-emerald-700);
  }
  .stroke-emerald-800 {
    stroke: var(--color-emerald-800);
  }
  .stroke-emerald-900 {
    stroke: var(--color-emerald-900);
  }
  .stroke-emerald-950 {
    stroke: var(--color-emerald-950);
  }
  .stroke-fuchsia-50 {
    stroke: var(--color-fuchsia-50);
  }
  .stroke-fuchsia-100 {
    stroke: var(--color-fuchsia-100);
  }
  .stroke-fuchsia-200 {
    stroke: var(--color-fuchsia-200);
  }
  .stroke-fuchsia-300 {
    stroke: var(--color-fuchsia-300);
  }
  .stroke-fuchsia-400 {
    stroke: var(--color-fuchsia-400);
  }
  .stroke-fuchsia-500 {
    stroke: var(--color-fuchsia-500);
  }
  .stroke-fuchsia-600 {
    stroke: var(--color-fuchsia-600);
  }
  .stroke-fuchsia-700 {
    stroke: var(--color-fuchsia-700);
  }
  .stroke-fuchsia-800 {
    stroke: var(--color-fuchsia-800);
  }
  .stroke-fuchsia-900 {
    stroke: var(--color-fuchsia-900);
  }
  .stroke-fuchsia-950 {
    stroke: var(--color-fuchsia-950);
  }
  .stroke-gray-50 {
    stroke: var(--color-gray-50);
  }
  .stroke-gray-100 {
    stroke: var(--color-gray-100);
  }
  .stroke-gray-200 {
    stroke: var(--color-gray-200);
  }
  .stroke-gray-300 {
    stroke: var(--color-gray-300);
  }
  .stroke-gray-400 {
    stroke: var(--color-gray-400);
  }
  .stroke-gray-500 {
    stroke: var(--color-gray-500);
  }
  .stroke-gray-600 {
    stroke: var(--color-gray-600);
  }
  .stroke-gray-700 {
    stroke: var(--color-gray-700);
  }
  .stroke-gray-800 {
    stroke: var(--color-gray-800);
  }
  .stroke-gray-900 {
    stroke: var(--color-gray-900);
  }
  .stroke-gray-950 {
    stroke: var(--color-gray-950);
  }
  .stroke-green-50 {
    stroke: var(--color-green-50);
  }
  .stroke-green-100 {
    stroke: var(--color-green-100);
  }
  .stroke-green-200 {
    stroke: var(--color-green-200);
  }
  .stroke-green-300 {
    stroke: var(--color-green-300);
  }
  .stroke-green-400 {
    stroke: var(--color-green-400);
  }
  .stroke-green-500 {
    stroke: var(--color-green-500);
  }
  .stroke-green-600 {
    stroke: var(--color-green-600);
  }
  .stroke-green-700 {
    stroke: var(--color-green-700);
  }
  .stroke-green-800 {
    stroke: var(--color-green-800);
  }
  .stroke-green-900 {
    stroke: var(--color-green-900);
  }
  .stroke-green-950 {
    stroke: var(--color-green-950);
  }
  .stroke-indigo-50 {
    stroke: var(--color-indigo-50);
  }
  .stroke-indigo-100 {
    stroke: var(--color-indigo-100);
  }
  .stroke-indigo-200 {
    stroke: var(--color-indigo-200);
  }
  .stroke-indigo-300 {
    stroke: var(--color-indigo-300);
  }
  .stroke-indigo-400 {
    stroke: var(--color-indigo-400);
  }
  .stroke-indigo-500 {
    stroke: var(--color-indigo-500);
  }
  .stroke-indigo-600 {
    stroke: var(--color-indigo-600);
  }
  .stroke-indigo-700 {
    stroke: var(--color-indigo-700);
  }
  .stroke-indigo-800 {
    stroke: var(--color-indigo-800);
  }
  .stroke-indigo-900 {
    stroke: var(--color-indigo-900);
  }
  .stroke-indigo-950 {
    stroke: var(--color-indigo-950);
  }
  .stroke-lime-50 {
    stroke: var(--color-lime-50);
  }
  .stroke-lime-100 {
    stroke: var(--color-lime-100);
  }
  .stroke-lime-200 {
    stroke: var(--color-lime-200);
  }
  .stroke-lime-300 {
    stroke: var(--color-lime-300);
  }
  .stroke-lime-400 {
    stroke: var(--color-lime-400);
  }
  .stroke-lime-500 {
    stroke: var(--color-lime-500);
  }
  .stroke-lime-600 {
    stroke: var(--color-lime-600);
  }
  .stroke-lime-700 {
    stroke: var(--color-lime-700);
  }
  .stroke-lime-800 {
    stroke: var(--color-lime-800);
  }
  .stroke-lime-900 {
    stroke: var(--color-lime-900);
  }
  .stroke-lime-950 {
    stroke: var(--color-lime-950);
  }
  .stroke-neutral-50 {
    stroke: var(--color-neutral-50);
  }
  .stroke-neutral-100 {
    stroke: var(--color-neutral-100);
  }
  .stroke-neutral-200 {
    stroke: var(--color-neutral-200);
  }
  .stroke-neutral-300 {
    stroke: var(--color-neutral-300);
  }
  .stroke-neutral-400 {
    stroke: var(--color-neutral-400);
  }
  .stroke-neutral-500 {
    stroke: var(--color-neutral-500);
  }
  .stroke-neutral-600 {
    stroke: var(--color-neutral-600);
  }
  .stroke-neutral-700 {
    stroke: var(--color-neutral-700);
  }
  .stroke-neutral-800 {
    stroke: var(--color-neutral-800);
  }
  .stroke-neutral-900 {
    stroke: var(--color-neutral-900);
  }
  .stroke-neutral-950 {
    stroke: var(--color-neutral-950);
  }
  .stroke-orange-50 {
    stroke: var(--color-orange-50);
  }
  .stroke-orange-100 {
    stroke: var(--color-orange-100);
  }
  .stroke-orange-200 {
    stroke: var(--color-orange-200);
  }
  .stroke-orange-300 {
    stroke: var(--color-orange-300);
  }
  .stroke-orange-400 {
    stroke: var(--color-orange-400);
  }
  .stroke-orange-500 {
    stroke: var(--color-orange-500);
  }
  .stroke-orange-600 {
    stroke: var(--color-orange-600);
  }
  .stroke-orange-700 {
    stroke: var(--color-orange-700);
  }
  .stroke-orange-800 {
    stroke: var(--color-orange-800);
  }
  .stroke-orange-900 {
    stroke: var(--color-orange-900);
  }
  .stroke-orange-950 {
    stroke: var(--color-orange-950);
  }
  .stroke-pink-50 {
    stroke: var(--color-pink-50);
  }
  .stroke-pink-100 {
    stroke: var(--color-pink-100);
  }
  .stroke-pink-200 {
    stroke: var(--color-pink-200);
  }
  .stroke-pink-300 {
    stroke: var(--color-pink-300);
  }
  .stroke-pink-400 {
    stroke: var(--color-pink-400);
  }
  .stroke-pink-500 {
    stroke: var(--color-pink-500);
  }
  .stroke-pink-600 {
    stroke: var(--color-pink-600);
  }
  .stroke-pink-700 {
    stroke: var(--color-pink-700);
  }
  .stroke-pink-800 {
    stroke: var(--color-pink-800);
  }
  .stroke-pink-900 {
    stroke: var(--color-pink-900);
  }
  .stroke-pink-950 {
    stroke: var(--color-pink-950);
  }
  .stroke-purple-50 {
    stroke: var(--color-purple-50);
  }
  .stroke-purple-100 {
    stroke: var(--color-purple-100);
  }
  .stroke-purple-200 {
    stroke: var(--color-purple-200);
  }
  .stroke-purple-300 {
    stroke: var(--color-purple-300);
  }
  .stroke-purple-400 {
    stroke: var(--color-purple-400);
  }
  .stroke-purple-500 {
    stroke: var(--color-purple-500);
  }
  .stroke-purple-600 {
    stroke: var(--color-purple-600);
  }
  .stroke-purple-700 {
    stroke: var(--color-purple-700);
  }
  .stroke-purple-800 {
    stroke: var(--color-purple-800);
  }
  .stroke-purple-900 {
    stroke: var(--color-purple-900);
  }
  .stroke-purple-950 {
    stroke: var(--color-purple-950);
  }
  .stroke-red-50 {
    stroke: var(--color-red-50);
  }
  .stroke-red-100 {
    stroke: var(--color-red-100);
  }
  .stroke-red-200 {
    stroke: var(--color-red-200);
  }
  .stroke-red-300 {
    stroke: var(--color-red-300);
  }
  .stroke-red-400 {
    stroke: var(--color-red-400);
  }
  .stroke-red-500 {
    stroke: var(--color-red-500);
  }
  .stroke-red-600 {
    stroke: var(--color-red-600);
  }
  .stroke-red-700 {
    stroke: var(--color-red-700);
  }
  .stroke-red-800 {
    stroke: var(--color-red-800);
  }
  .stroke-red-900 {
    stroke: var(--color-red-900);
  }
  .stroke-red-950 {
    stroke: var(--color-red-950);
  }
  .stroke-rose-50 {
    stroke: var(--color-rose-50);
  }
  .stroke-rose-100 {
    stroke: var(--color-rose-100);
  }
  .stroke-rose-200 {
    stroke: var(--color-rose-200);
  }
  .stroke-rose-300 {
    stroke: var(--color-rose-300);
  }
  .stroke-rose-400 {
    stroke: var(--color-rose-400);
  }
  .stroke-rose-500 {
    stroke: var(--color-rose-500);
  }
  .stroke-rose-600 {
    stroke: var(--color-rose-600);
  }
  .stroke-rose-700 {
    stroke: var(--color-rose-700);
  }
  .stroke-rose-800 {
    stroke: var(--color-rose-800);
  }
  .stroke-rose-900 {
    stroke: var(--color-rose-900);
  }
  .stroke-rose-950 {
    stroke: var(--color-rose-950);
  }
  .stroke-sky-50 {
    stroke: var(--color-sky-50);
  }
  .stroke-sky-100 {
    stroke: var(--color-sky-100);
  }
  .stroke-sky-200 {
    stroke: var(--color-sky-200);
  }
  .stroke-sky-300 {
    stroke: var(--color-sky-300);
  }
  .stroke-sky-400 {
    stroke: var(--color-sky-400);
  }
  .stroke-sky-500 {
    stroke: var(--color-sky-500);
  }
  .stroke-sky-600 {
    stroke: var(--color-sky-600);
  }
  .stroke-sky-700 {
    stroke: var(--color-sky-700);
  }
  .stroke-sky-800 {
    stroke: var(--color-sky-800);
  }
  .stroke-sky-900 {
    stroke: var(--color-sky-900);
  }
  .stroke-sky-950 {
    stroke: var(--color-sky-950);
  }
  .stroke-slate-50 {
    stroke: var(--color-slate-50);
  }
  .stroke-slate-100 {
    stroke: var(--color-slate-100);
  }
  .stroke-slate-200 {
    stroke: var(--color-slate-200);
  }
  .stroke-slate-300 {
    stroke: var(--color-slate-300);
  }
  .stroke-slate-400 {
    stroke: var(--color-slate-400);
  }
  .stroke-slate-500 {
    stroke: var(--color-slate-500);
  }
  .stroke-slate-600 {
    stroke: var(--color-slate-600);
  }
  .stroke-slate-700 {
    stroke: var(--color-slate-700);
  }
  .stroke-slate-800 {
    stroke: var(--color-slate-800);
  }
  .stroke-slate-900 {
    stroke: var(--color-slate-900);
  }
  .stroke-slate-950 {
    stroke: var(--color-slate-950);
  }
  .stroke-stone-50 {
    stroke: var(--color-stone-50);
  }
  .stroke-stone-100 {
    stroke: var(--color-stone-100);
  }
  .stroke-stone-200 {
    stroke: var(--color-stone-200);
  }
  .stroke-stone-300 {
    stroke: var(--color-stone-300);
  }
  .stroke-stone-400 {
    stroke: var(--color-stone-400);
  }
  .stroke-stone-500 {
    stroke: var(--color-stone-500);
  }
  .stroke-stone-600 {
    stroke: var(--color-stone-600);
  }
  .stroke-stone-700 {
    stroke: var(--color-stone-700);
  }
  .stroke-stone-800 {
    stroke: var(--color-stone-800);
  }
  .stroke-stone-900 {
    stroke: var(--color-stone-900);
  }
  .stroke-stone-950 {
    stroke: var(--color-stone-950);
  }
  .stroke-teal-50 {
    stroke: var(--color-teal-50);
  }
  .stroke-teal-100 {
    stroke: var(--color-teal-100);
  }
  .stroke-teal-200 {
    stroke: var(--color-teal-200);
  }
  .stroke-teal-300 {
    stroke: var(--color-teal-300);
  }
  .stroke-teal-400 {
    stroke: var(--color-teal-400);
  }
  .stroke-teal-500 {
    stroke: var(--color-teal-500);
  }
  .stroke-teal-600 {
    stroke: var(--color-teal-600);
  }
  .stroke-teal-700 {
    stroke: var(--color-teal-700);
  }
  .stroke-teal-800 {
    stroke: var(--color-teal-800);
  }
  .stroke-teal-900 {
    stroke: var(--color-teal-900);
  }
  .stroke-teal-950 {
    stroke: var(--color-teal-950);
  }
  .stroke-violet-50 {
    stroke: var(--color-violet-50);
  }
  .stroke-violet-100 {
    stroke: var(--color-violet-100);
  }
  .stroke-violet-200 {
    stroke: var(--color-violet-200);
  }
  .stroke-violet-300 {
    stroke: var(--color-violet-300);
  }
  .stroke-violet-400 {
    stroke: var(--color-violet-400);
  }
  .stroke-violet-500 {
    stroke: var(--color-violet-500);
  }
  .stroke-violet-600 {
    stroke: var(--color-violet-600);
  }
  .stroke-violet-700 {
    stroke: var(--color-violet-700);
  }
  .stroke-violet-800 {
    stroke: var(--color-violet-800);
  }
  .stroke-violet-900 {
    stroke: var(--color-violet-900);
  }
  .stroke-violet-950 {
    stroke: var(--color-violet-950);
  }
  .stroke-yellow-50 {
    stroke: var(--color-yellow-50);
  }
  .stroke-yellow-100 {
    stroke: var(--color-yellow-100);
  }
  .stroke-yellow-200 {
    stroke: var(--color-yellow-200);
  }
  .stroke-yellow-300 {
    stroke: var(--color-yellow-300);
  }
  .stroke-yellow-400 {
    stroke: var(--color-yellow-400);
  }
  .stroke-yellow-500 {
    stroke: var(--color-yellow-500);
  }
  .stroke-yellow-600 {
    stroke: var(--color-yellow-600);
  }
  .stroke-yellow-700 {
    stroke: var(--color-yellow-700);
  }
  .stroke-yellow-800 {
    stroke: var(--color-yellow-800);
  }
  .stroke-yellow-900 {
    stroke: var(--color-yellow-900);
  }
  .stroke-yellow-950 {
    stroke: var(--color-yellow-950);
  }
  .stroke-zinc-50 {
    stroke: var(--color-zinc-50);
  }
  .stroke-zinc-100 {
    stroke: var(--color-zinc-100);
  }
  .stroke-zinc-200 {
    stroke: var(--color-zinc-200);
  }
  .stroke-zinc-300 {
    stroke: var(--color-zinc-300);
  }
  .stroke-zinc-400 {
    stroke: var(--color-zinc-400);
  }
  .stroke-zinc-500 {
    stroke: var(--color-zinc-500);
  }
  .stroke-zinc-600 {
    stroke: var(--color-zinc-600);
  }
  .stroke-zinc-700 {
    stroke: var(--color-zinc-700);
  }
  .stroke-zinc-800 {
    stroke: var(--color-zinc-800);
  }
  .stroke-zinc-900 {
    stroke: var(--color-zinc-900);
  }
  .stroke-zinc-950 {
    stroke: var(--color-zinc-950);
  }
  .text-amber-50 {
    color: var(--color-amber-50);
  }
  .text-amber-100 {
    color: var(--color-amber-100);
  }
  .text-amber-200 {
    color: var(--color-amber-200);
  }
  .text-amber-300 {
    color: var(--color-amber-300);
  }
  .text-amber-400 {
    color: var(--color-amber-400);
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .text-amber-600 {
    color: var(--color-amber-600);
  }
  .text-amber-700 {
    color: var(--color-amber-700);
  }
  .text-amber-800 {
    color: var(--color-amber-800);
  }
  .text-amber-900 {
    color: var(--color-amber-900);
  }
  .text-amber-950 {
    color: var(--color-amber-950);
  }
  .text-blue-50 {
    color: var(--color-blue-50);
  }
  .text-blue-100 {
    color: var(--color-blue-100);
  }
  .text-blue-200 {
    color: var(--color-blue-200);
  }
  .text-blue-300 {
    color: var(--color-blue-300);
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .text-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-blue-950 {
    color: var(--color-blue-950);
  }
  .text-cyan-50 {
    color: var(--color-cyan-50);
  }
  .text-cyan-100 {
    color: var(--color-cyan-100);
  }
  .text-cyan-200 {
    color: var(--color-cyan-200);
  }
  .text-cyan-300 {
    color: var(--color-cyan-300);
  }
  .text-cyan-400 {
    color: var(--color-cyan-400);
  }
  .text-cyan-500 {
    color: var(--color-cyan-500);
  }
  .text-cyan-600 {
    color: var(--color-cyan-600);
  }
  .text-cyan-700 {
    color: var(--color-cyan-700);
  }
  .text-cyan-800 {
    color: var(--color-cyan-800);
  }
  .text-cyan-900 {
    color: var(--color-cyan-900);
  }
  .text-cyan-950 {
    color: var(--color-cyan-950);
  }
  .text-emerald-50 {
    color: var(--color-emerald-50);
  }
  .text-emerald-100 {
    color: var(--color-emerald-100);
  }
  .text-emerald-200 {
    color: var(--color-emerald-200);
  }
  .text-emerald-300 {
    color: var(--color-emerald-300);
  }
  .text-emerald-400 {
    color: var(--color-emerald-400);
  }
  .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-emerald-900 {
    color: var(--color-emerald-900);
  }
  .text-emerald-950 {
    color: var(--color-emerald-950);
  }
  .text-fuchsia-50 {
    color: var(--color-fuchsia-50);
  }
  .text-fuchsia-100 {
    color: var(--color-fuchsia-100);
  }
  .text-fuchsia-200 {
    color: var(--color-fuchsia-200);
  }
  .text-fuchsia-300 {
    color: var(--color-fuchsia-300);
  }
  .text-fuchsia-400 {
    color: var(--color-fuchsia-400);
  }
  .text-fuchsia-500 {
    color: var(--color-fuchsia-500);
  }
  .text-fuchsia-600 {
    color: var(--color-fuchsia-600);
  }
  .text-fuchsia-700 {
    color: var(--color-fuchsia-700);
  }
  .text-fuchsia-800 {
    color: var(--color-fuchsia-800);
  }
  .text-fuchsia-900 {
    color: var(--color-fuchsia-900);
  }
  .text-fuchsia-950 {
    color: var(--color-fuchsia-950);
  }
  .text-gray-50 {
    color: var(--color-gray-50);
  }
  .text-gray-100 {
    color: var(--color-gray-100);
  }
  .text-gray-200 {
    color: var(--color-gray-200);
  }
  .text-gray-300 {
    color: var(--color-gray-300);
  }
  .text-gray-400 {
    color: var(--color-gray-400);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-gray-700 {
    color: var(--color-gray-700);
  }
  .text-gray-800 {
    color: var(--color-gray-800);
  }
  .text-gray-900 {
    color: var(--color-gray-900);
  }
  .text-gray-950 {
    color: var(--color-gray-950);
  }
  .text-green-50 {
    color: var(--color-green-50);
  }
  .text-green-100 {
    color: var(--color-green-100);
  }
  .text-green-200 {
    color: var(--color-green-200);
  }
  .text-green-300 {
    color: var(--color-green-300);
  }
  .text-green-400 {
    color: var(--color-green-400);
  }
  .text-green-500 {
    color: var(--color-green-500);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-green-700 {
    color: var(--color-green-700);
  }
  .text-green-800 {
    color: var(--color-green-800);
  }
  .text-green-900 {
    color: var(--color-green-900);
  }
  .text-green-950 {
    color: var(--color-green-950);
  }
  .text-indigo-50 {
    color: var(--color-indigo-50);
  }
  .text-indigo-100 {
    color: var(--color-indigo-100);
  }
  .text-indigo-200 {
    color: var(--color-indigo-200);
  }
  .text-indigo-300 {
    color: var(--color-indigo-300);
  }
  .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-indigo-800 {
    color: var(--color-indigo-800);
  }
  .text-indigo-900 {
    color: var(--color-indigo-900);
  }
  .text-indigo-950 {
    color: var(--color-indigo-950);
  }
  .text-lime-50 {
    color: var(--color-lime-50);
  }
  .text-lime-100 {
    color: var(--color-lime-100);
  }
  .text-lime-200 {
    color: var(--color-lime-200);
  }
  .text-lime-300 {
    color: var(--color-lime-300);
  }
  .text-lime-400 {
    color: var(--color-lime-400);
  }
  .text-lime-500 {
    color: var(--color-lime-500);
  }
  .text-lime-600 {
    color: var(--color-lime-600);
  }
  .text-lime-700 {
    color: var(--color-lime-700);
  }
  .text-lime-800 {
    color: var(--color-lime-800);
  }
  .text-lime-900 {
    color: var(--color-lime-900);
  }
  .text-lime-950 {
    color: var(--color-lime-950);
  }
  .text-neutral-50 {
    color: var(--color-neutral-50);
  }
  .text-neutral-100 {
    color: var(--color-neutral-100);
  }
  .text-neutral-200 {
    color: var(--color-neutral-200);
  }
  .text-neutral-300 {
    color: var(--color-neutral-300);
  }
  .text-neutral-400 {
    color: var(--color-neutral-400);
  }
  .text-neutral-500 {
    color: var(--color-neutral-500);
  }
  .text-neutral-600 {
    color: var(--color-neutral-600);
  }
  .text-neutral-700 {
    color: var(--color-neutral-700);
  }
  .text-neutral-800 {
    color: var(--color-neutral-800);
  }
  .text-neutral-900 {
    color: var(--color-neutral-900);
  }
  .text-neutral-950 {
    color: var(--color-neutral-950);
  }
  .text-orange-50 {
    color: var(--color-orange-50);
  }
  .text-orange-100 {
    color: var(--color-orange-100);
  }
  .text-orange-200 {
    color: var(--color-orange-200);
  }
  .text-orange-300 {
    color: var(--color-orange-300);
  }
  .text-orange-400 {
    color: var(--color-orange-400);
  }
  .text-orange-500 {
    color: var(--color-orange-500);
  }
  .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-orange-900 {
    color: var(--color-orange-900);
  }
  .text-orange-950 {
    color: var(--color-orange-950);
  }
  .text-pink-50 {
    color: var(--color-pink-50);
  }
  .text-pink-100 {
    color: var(--color-pink-100);
  }
  .text-pink-200 {
    color: var(--color-pink-200);
  }
  .text-pink-300 {
    color: var(--color-pink-300);
  }
  .text-pink-400 {
    color: var(--color-pink-400);
  }
  .text-pink-500 {
    color: var(--color-pink-500);
  }
  .text-pink-600 {
    color: var(--color-pink-600);
  }
  .text-pink-700 {
    color: var(--color-pink-700);
  }
  .text-pink-800 {
    color: var(--color-pink-800);
  }
  .text-pink-900 {
    color: var(--color-pink-900);
  }
  .text-pink-950 {
    color: var(--color-pink-950);
  }
  .text-primary-50 {
    color: var(--color-primary-50);
  }
  .text-primary-100 {
    color: var(--color-primary-100);
  }
  .text-primary-200 {
    color: var(--color-primary-200);
  }
  .text-primary-300 {
    color: var(--color-primary-300);
  }
  .text-primary-400 {
    color: var(--color-primary-400);
  }
  .text-primary-500 {
    color: var(--color-primary-500);
  }
  .text-primary-600 {
    color: var(--color-primary-600);
  }
  .text-primary-700 {
    color: var(--color-primary-700);
  }
  .text-primary-800 {
    color: var(--color-primary-800);
  }
  .text-primary-900 {
    color: var(--color-primary-900);
  }
  .text-purple-50 {
    color: var(--color-purple-50);
  }
  .text-purple-100 {
    color: var(--color-purple-100);
  }
  .text-purple-200 {
    color: var(--color-purple-200);
  }
  .text-purple-300 {
    color: var(--color-purple-300);
  }
  .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-purple-950 {
    color: var(--color-purple-950);
  }
  .text-red-50 {
    color: var(--color-red-50);
  }
  .text-red-100 {
    color: var(--color-red-100);
  }
  .text-red-200 {
    color: var(--color-red-200);
  }
  .text-red-300 {
    color: var(--color-red-300);
  }
  .text-red-400 {
    color: var(--color-red-400);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-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-red-950 {
    color: var(--color-red-950);
  }
  .text-rose-50 {
    color: var(--color-rose-50);
  }
  .text-rose-100 {
    color: var(--color-rose-100);
  }
  .text-rose-200 {
    color: var(--color-rose-200);
  }
  .text-rose-300 {
    color: var(--color-rose-300);
  }
  .text-rose-400 {
    color: var(--color-rose-400);
  }
  .text-rose-500 {
    color: var(--color-rose-500);
  }
  .text-rose-600 {
    color: var(--color-rose-600);
  }
  .text-rose-700 {
    color: var(--color-rose-700);
  }
  .text-rose-800 {
    color: var(--color-rose-800);
  }
  .text-rose-900 {
    color: var(--color-rose-900);
  }
  .text-rose-950 {
    color: var(--color-rose-950);
  }
  .text-secondary-50 {
    color: var(--color-secondary-50);
  }
  .text-secondary-100 {
    color: var(--color-secondary-100);
  }
  .text-secondary-200 {
    color: var(--color-secondary-200);
  }
  .text-secondary-300 {
    color: var(--color-secondary-300);
  }
  .text-secondary-400 {
    color: var(--color-secondary-400);
  }
  .text-secondary-500 {
    color: var(--color-secondary-500);
  }
  .text-secondary-600 {
    color: var(--color-secondary-600);
  }
  .text-secondary-700 {
    color: var(--color-secondary-700);
  }
  .text-secondary-800 {
    color: var(--color-secondary-800);
  }
  .text-secondary-900 {
    color: var(--color-secondary-900);
  }
  .text-sky-50 {
    color: var(--color-sky-50);
  }
  .text-sky-100 {
    color: var(--color-sky-100);
  }
  .text-sky-200 {
    color: var(--color-sky-200);
  }
  .text-sky-300 {
    color: var(--color-sky-300);
  }
  .text-sky-400 {
    color: var(--color-sky-400);
  }
  .text-sky-500 {
    color: var(--color-sky-500);
  }
  .text-sky-600 {
    color: var(--color-sky-600);
  }
  .text-sky-700 {
    color: var(--color-sky-700);
  }
  .text-sky-800 {
    color: var(--color-sky-800);
  }
  .text-sky-900 {
    color: var(--color-sky-900);
  }
  .text-sky-950 {
    color: var(--color-sky-950);
  }
  .text-slate-50 {
    color: var(--color-slate-50);
  }
  .text-slate-100 {
    color: var(--color-slate-100);
  }
  .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-slate-950 {
    color: var(--color-slate-950);
  }
  .text-stone-50 {
    color: var(--color-stone-50);
  }
  .text-stone-100 {
    color: var(--color-stone-100);
  }
  .text-stone-200 {
    color: var(--color-stone-200);
  }
  .text-stone-300 {
    color: var(--color-stone-300);
  }
  .text-stone-400 {
    color: var(--color-stone-400);
  }
  .text-stone-500 {
    color: var(--color-stone-500);
  }
  .text-stone-600 {
    color: var(--color-stone-600);
  }
  .text-stone-700 {
    color: var(--color-stone-700);
  }
  .text-stone-800 {
    color: var(--color-stone-800);
  }
  .text-stone-900 {
    color: var(--color-stone-900);
  }
  .text-stone-950 {
    color: var(--color-stone-950);
  }
  .text-teal-50 {
    color: var(--color-teal-50);
  }
  .text-teal-100 {
    color: var(--color-teal-100);
  }
  .text-teal-200 {
    color: var(--color-teal-200);
  }
  .text-teal-300 {
    color: var(--color-teal-300);
  }
  .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-teal-800 {
    color: var(--color-teal-800);
  }
  .text-teal-900 {
    color: var(--color-teal-900);
  }
  .text-teal-950 {
    color: var(--color-teal-950);
  }
  .text-tertiary-50 {
    color: var(--color-tertiary-50);
  }
  .text-tertiary-100 {
    color: var(--color-tertiary-100);
  }
  .text-tertiary-200 {
    color: var(--color-tertiary-200);
  }
  .text-tertiary-300 {
    color: var(--color-tertiary-300);
  }
  .text-tertiary-400 {
    color: var(--color-tertiary-400);
  }
  .text-tertiary-500 {
    color: var(--color-tertiary-500);
  }
  .text-tertiary-600 {
    color: var(--color-tertiary-600);
  }
  .text-tertiary-700 {
    color: var(--color-tertiary-700);
  }
  .text-tertiary-800 {
    color: var(--color-tertiary-800);
  }
  .text-tertiary-900 {
    color: var(--color-tertiary-900);
  }
  .text-violet-50 {
    color: var(--color-violet-50);
  }
  .text-violet-100 {
    color: var(--color-violet-100);
  }
  .text-violet-200 {
    color: var(--color-violet-200);
  }
  .text-violet-300 {
    color: var(--color-violet-300);
  }
  .text-violet-400 {
    color: var(--color-violet-400);
  }
  .text-violet-500 {
    color: var(--color-violet-500);
  }
  .text-violet-600 {
    color: var(--color-violet-600);
  }
  .text-violet-700 {
    color: var(--color-violet-700);
  }
  .text-violet-800 {
    color: var(--color-violet-800);
  }
  .text-violet-900 {
    color: var(--color-violet-900);
  }
  .text-violet-950 {
    color: var(--color-violet-950);
  }
  .text-yellow-50 {
    color: var(--color-yellow-50);
  }
  .text-yellow-100 {
    color: var(--color-yellow-100);
  }
  .text-yellow-200 {
    color: var(--color-yellow-200);
  }
  .text-yellow-300 {
    color: var(--color-yellow-300);
  }
  .text-yellow-400 {
    color: var(--color-yellow-400);
  }
  .text-yellow-500 {
    color: var(--color-yellow-500);
  }
  .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);
  }
  .text-zinc-50 {
    color: var(--color-zinc-50);
  }
  .text-zinc-100 {
    color: var(--color-zinc-100);
  }
  .text-zinc-200 {
    color: var(--color-zinc-200);
  }
  .text-zinc-300 {
    color: var(--color-zinc-300);
  }
  .text-zinc-400 {
    color: var(--color-zinc-400);
  }
  .text-zinc-500 {
    color: var(--color-zinc-500);
  }
  .text-zinc-600 {
    color: var(--color-zinc-600);
  }
  .text-zinc-700 {
    color: var(--color-zinc-700);
  }
  .text-zinc-800 {
    color: var(--color-zinc-800);
  }
  .text-zinc-900 {
    color: var(--color-zinc-900);
  }
  .text-zinc-950 {
    color: var(--color-zinc-950);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .underline {
    text-decoration-line: underline;
  }
  .decoration-amber-50 {
    text-decoration-color: var(--color-amber-50);
  }
  .decoration-amber-100 {
    text-decoration-color: var(--color-amber-100);
  }
  .decoration-amber-200 {
    text-decoration-color: var(--color-amber-200);
  }
  .decoration-amber-300 {
    text-decoration-color: var(--color-amber-300);
  }
  .decoration-amber-400 {
    text-decoration-color: var(--color-amber-400);
  }
  .decoration-amber-500 {
    text-decoration-color: var(--color-amber-500);
  }
  .decoration-amber-600 {
    text-decoration-color: var(--color-amber-600);
  }
  .decoration-amber-700 {
    text-decoration-color: var(--color-amber-700);
  }
  .decoration-amber-800 {
    text-decoration-color: var(--color-amber-800);
  }
  .decoration-amber-900 {
    text-decoration-color: var(--color-amber-900);
  }
  .decoration-amber-950 {
    text-decoration-color: var(--color-amber-950);
  }
  .decoration-blue-50 {
    text-decoration-color: var(--color-blue-50);
  }
  .decoration-blue-100 {
    text-decoration-color: var(--color-blue-100);
  }
  .decoration-blue-200 {
    text-decoration-color: var(--color-blue-200);
  }
  .decoration-blue-300 {
    text-decoration-color: var(--color-blue-300);
  }
  .decoration-blue-400 {
    text-decoration-color: var(--color-blue-400);
  }
  .decoration-blue-500 {
    text-decoration-color: var(--color-blue-500);
  }
  .decoration-blue-600 {
    text-decoration-color: var(--color-blue-600);
  }
  .decoration-blue-700 {
    text-decoration-color: var(--color-blue-700);
  }
  .decoration-blue-800 {
    text-decoration-color: var(--color-blue-800);
  }
  .decoration-blue-900 {
    text-decoration-color: var(--color-blue-900);
  }
  .decoration-blue-950 {
    text-decoration-color: var(--color-blue-950);
  }
  .decoration-cyan-50 {
    text-decoration-color: var(--color-cyan-50);
  }
  .decoration-cyan-100 {
    text-decoration-color: var(--color-cyan-100);
  }
  .decoration-cyan-200 {
    text-decoration-color: var(--color-cyan-200);
  }
  .decoration-cyan-300 {
    text-decoration-color: var(--color-cyan-300);
  }
  .decoration-cyan-400 {
    text-decoration-color: var(--color-cyan-400);
  }
  .decoration-cyan-500 {
    text-decoration-color: var(--color-cyan-500);
  }
  .decoration-cyan-600 {
    text-decoration-color: var(--color-cyan-600);
  }
  .decoration-cyan-700 {
    text-decoration-color: var(--color-cyan-700);
  }
  .decoration-cyan-800 {
    text-decoration-color: var(--color-cyan-800);
  }
  .decoration-cyan-900 {
    text-decoration-color: var(--color-cyan-900);
  }
  .decoration-cyan-950 {
    text-decoration-color: var(--color-cyan-950);
  }
  .decoration-emerald-50 {
    text-decoration-color: var(--color-emerald-50);
  }
  .decoration-emerald-100 {
    text-decoration-color: var(--color-emerald-100);
  }
  .decoration-emerald-200 {
    text-decoration-color: var(--color-emerald-200);
  }
  .decoration-emerald-300 {
    text-decoration-color: var(--color-emerald-300);
  }
  .decoration-emerald-400 {
    text-decoration-color: var(--color-emerald-400);
  }
  .decoration-emerald-500 {
    text-decoration-color: var(--color-emerald-500);
  }
  .decoration-emerald-600 {
    text-decoration-color: var(--color-emerald-600);
  }
  .decoration-emerald-700 {
    text-decoration-color: var(--color-emerald-700);
  }
  .decoration-emerald-800 {
    text-decoration-color: var(--color-emerald-800);
  }
  .decoration-emerald-900 {
    text-decoration-color: var(--color-emerald-900);
  }
  .decoration-emerald-950 {
    text-decoration-color: var(--color-emerald-950);
  }
  .decoration-fuchsia-50 {
    text-decoration-color: var(--color-fuchsia-50);
  }
  .decoration-fuchsia-100 {
    text-decoration-color: var(--color-fuchsia-100);
  }
  .decoration-fuchsia-200 {
    text-decoration-color: var(--color-fuchsia-200);
  }
  .decoration-fuchsia-300 {
    text-decoration-color: var(--color-fuchsia-300);
  }
  .decoration-fuchsia-400 {
    text-decoration-color: var(--color-fuchsia-400);
  }
  .decoration-fuchsia-500 {
    text-decoration-color: var(--color-fuchsia-500);
  }
  .decoration-fuchsia-600 {
    text-decoration-color: var(--color-fuchsia-600);
  }
  .decoration-fuchsia-700 {
    text-decoration-color: var(--color-fuchsia-700);
  }
  .decoration-fuchsia-800 {
    text-decoration-color: var(--color-fuchsia-800);
  }
  .decoration-fuchsia-900 {
    text-decoration-color: var(--color-fuchsia-900);
  }
  .decoration-fuchsia-950 {
    text-decoration-color: var(--color-fuchsia-950);
  }
  .decoration-gray-50 {
    text-decoration-color: var(--color-gray-50);
  }
  .decoration-gray-100 {
    text-decoration-color: var(--color-gray-100);
  }
  .decoration-gray-200 {
    text-decoration-color: var(--color-gray-200);
  }
  .decoration-gray-300 {
    text-decoration-color: var(--color-gray-300);
  }
  .decoration-gray-400 {
    text-decoration-color: var(--color-gray-400);
  }
  .decoration-gray-500 {
    text-decoration-color: var(--color-gray-500);
  }
  .decoration-gray-600 {
    text-decoration-color: var(--color-gray-600);
  }
  .decoration-gray-700 {
    text-decoration-color: var(--color-gray-700);
  }
  .decoration-gray-800 {
    text-decoration-color: var(--color-gray-800);
  }
  .decoration-gray-900 {
    text-decoration-color: var(--color-gray-900);
  }
  .decoration-gray-950 {
    text-decoration-color: var(--color-gray-950);
  }
  .decoration-green-50 {
    text-decoration-color: var(--color-green-50);
  }
  .decoration-green-100 {
    text-decoration-color: var(--color-green-100);
  }
  .decoration-green-200 {
    text-decoration-color: var(--color-green-200);
  }
  .decoration-green-300 {
    text-decoration-color: var(--color-green-300);
  }
  .decoration-green-400 {
    text-decoration-color: var(--color-green-400);
  }
  .decoration-green-500 {
    text-decoration-color: var(--color-green-500);
  }
  .decoration-green-600 {
    text-decoration-color: var(--color-green-600);
  }
  .decoration-green-700 {
    text-decoration-color: var(--color-green-700);
  }
  .decoration-green-800 {
    text-decoration-color: var(--color-green-800);
  }
  .decoration-green-900 {
    text-decoration-color: var(--color-green-900);
  }
  .decoration-green-950 {
    text-decoration-color: var(--color-green-950);
  }
  .decoration-indigo-50 {
    text-decoration-color: var(--color-indigo-50);
  }
  .decoration-indigo-100 {
    text-decoration-color: var(--color-indigo-100);
  }
  .decoration-indigo-200 {
    text-decoration-color: var(--color-indigo-200);
  }
  .decoration-indigo-300 {
    text-decoration-color: var(--color-indigo-300);
  }
  .decoration-indigo-400 {
    text-decoration-color: var(--color-indigo-400);
  }
  .decoration-indigo-500 {
    text-decoration-color: var(--color-indigo-500);
  }
  .decoration-indigo-600 {
    text-decoration-color: var(--color-indigo-600);
  }
  .decoration-indigo-700 {
    text-decoration-color: var(--color-indigo-700);
  }
  .decoration-indigo-800 {
    text-decoration-color: var(--color-indigo-800);
  }
  .decoration-indigo-900 {
    text-decoration-color: var(--color-indigo-900);
  }
  .decoration-indigo-950 {
    text-decoration-color: var(--color-indigo-950);
  }
  .decoration-lime-50 {
    text-decoration-color: var(--color-lime-50);
  }
  .decoration-lime-100 {
    text-decoration-color: var(--color-lime-100);
  }
  .decoration-lime-200 {
    text-decoration-color: var(--color-lime-200);
  }
  .decoration-lime-300 {
    text-decoration-color: var(--color-lime-300);
  }
  .decoration-lime-400 {
    text-decoration-color: var(--color-lime-400);
  }
  .decoration-lime-500 {
    text-decoration-color: var(--color-lime-500);
  }
  .decoration-lime-600 {
    text-decoration-color: var(--color-lime-600);
  }
  .decoration-lime-700 {
    text-decoration-color: var(--color-lime-700);
  }
  .decoration-lime-800 {
    text-decoration-color: var(--color-lime-800);
  }
  .decoration-lime-900 {
    text-decoration-color: var(--color-lime-900);
  }
  .decoration-lime-950 {
    text-decoration-color: var(--color-lime-950);
  }
  .decoration-neutral-50 {
    text-decoration-color: var(--color-neutral-50);
  }
  .decoration-neutral-100 {
    text-decoration-color: var(--color-neutral-100);
  }
  .decoration-neutral-200 {
    text-decoration-color: var(--color-neutral-200);
  }
  .decoration-neutral-300 {
    text-decoration-color: var(--color-neutral-300);
  }
  .decoration-neutral-400 {
    text-decoration-color: var(--color-neutral-400);
  }
  .decoration-neutral-500 {
    text-decoration-color: var(--color-neutral-500);
  }
  .decoration-neutral-600 {
    text-decoration-color: var(--color-neutral-600);
  }
  .decoration-neutral-700 {
    text-decoration-color: var(--color-neutral-700);
  }
  .decoration-neutral-800 {
    text-decoration-color: var(--color-neutral-800);
  }
  .decoration-neutral-900 {
    text-decoration-color: var(--color-neutral-900);
  }
  .decoration-neutral-950 {
    text-decoration-color: var(--color-neutral-950);
  }
  .decoration-orange-50 {
    text-decoration-color: var(--color-orange-50);
  }
  .decoration-orange-100 {
    text-decoration-color: var(--color-orange-100);
  }
  .decoration-orange-200 {
    text-decoration-color: var(--color-orange-200);
  }
  .decoration-orange-300 {
    text-decoration-color: var(--color-orange-300);
  }
  .decoration-orange-400 {
    text-decoration-color: var(--color-orange-400);
  }
  .decoration-orange-500 {
    text-decoration-color: var(--color-orange-500);
  }
  .decoration-orange-600 {
    text-decoration-color: var(--color-orange-600);
  }
  .decoration-orange-700 {
    text-decoration-color: var(--color-orange-700);
  }
  .decoration-orange-800 {
    text-decoration-color: var(--color-orange-800);
  }
  .decoration-orange-900 {
    text-decoration-color: var(--color-orange-900);
  }
  .decoration-orange-950 {
    text-decoration-color: var(--color-orange-950);
  }
  .decoration-pink-50 {
    text-decoration-color: var(--color-pink-50);
  }
  .decoration-pink-100 {
    text-decoration-color: var(--color-pink-100);
  }
  .decoration-pink-200 {
    text-decoration-color: var(--color-pink-200);
  }
  .decoration-pink-300 {
    text-decoration-color: var(--color-pink-300);
  }
  .decoration-pink-400 {
    text-decoration-color: var(--color-pink-400);
  }
  .decoration-pink-500 {
    text-decoration-color: var(--color-pink-500);
  }
  .decoration-pink-600 {
    text-decoration-color: var(--color-pink-600);
  }
  .decoration-pink-700 {
    text-decoration-color: var(--color-pink-700);
  }
  .decoration-pink-800 {
    text-decoration-color: var(--color-pink-800);
  }
  .decoration-pink-900 {
    text-decoration-color: var(--color-pink-900);
  }
  .decoration-pink-950 {
    text-decoration-color: var(--color-pink-950);
  }
  .decoration-purple-50 {
    text-decoration-color: var(--color-purple-50);
  }
  .decoration-purple-100 {
    text-decoration-color: var(--color-purple-100);
  }
  .decoration-purple-200 {
    text-decoration-color: var(--color-purple-200);
  }
  .decoration-purple-300 {
    text-decoration-color: var(--color-purple-300);
  }
  .decoration-purple-400 {
    text-decoration-color: var(--color-purple-400);
  }
  .decoration-purple-500 {
    text-decoration-color: var(--color-purple-500);
  }
  .decoration-purple-600 {
    text-decoration-color: var(--color-purple-600);
  }
  .decoration-purple-700 {
    text-decoration-color: var(--color-purple-700);
  }
  .decoration-purple-800 {
    text-decoration-color: var(--color-purple-800);
  }
  .decoration-purple-900 {
    text-decoration-color: var(--color-purple-900);
  }
  .decoration-purple-950 {
    text-decoration-color: var(--color-purple-950);
  }
  .decoration-red-50 {
    text-decoration-color: var(--color-red-50);
  }
  .decoration-red-100 {
    text-decoration-color: var(--color-red-100);
  }
  .decoration-red-200 {
    text-decoration-color: var(--color-red-200);
  }
  .decoration-red-300 {
    text-decoration-color: var(--color-red-300);
  }
  .decoration-red-400 {
    text-decoration-color: var(--color-red-400);
  }
  .decoration-red-500 {
    text-decoration-color: var(--color-red-500);
  }
  .decoration-red-600 {
    text-decoration-color: var(--color-red-600);
  }
  .decoration-red-700 {
    text-decoration-color: var(--color-red-700);
  }
  .decoration-red-800 {
    text-decoration-color: var(--color-red-800);
  }
  .decoration-red-900 {
    text-decoration-color: var(--color-red-900);
  }
  .decoration-red-950 {
    text-decoration-color: var(--color-red-950);
  }
  .decoration-rose-50 {
    text-decoration-color: var(--color-rose-50);
  }
  .decoration-rose-100 {
    text-decoration-color: var(--color-rose-100);
  }
  .decoration-rose-200 {
    text-decoration-color: var(--color-rose-200);
  }
  .decoration-rose-300 {
    text-decoration-color: var(--color-rose-300);
  }
  .decoration-rose-400 {
    text-decoration-color: var(--color-rose-400);
  }
  .decoration-rose-500 {
    text-decoration-color: var(--color-rose-500);
  }
  .decoration-rose-600 {
    text-decoration-color: var(--color-rose-600);
  }
  .decoration-rose-700 {
    text-decoration-color: var(--color-rose-700);
  }
  .decoration-rose-800 {
    text-decoration-color: var(--color-rose-800);
  }
  .decoration-rose-900 {
    text-decoration-color: var(--color-rose-900);
  }
  .decoration-rose-950 {
    text-decoration-color: var(--color-rose-950);
  }
  .decoration-sky-50 {
    text-decoration-color: var(--color-sky-50);
  }
  .decoration-sky-100 {
    text-decoration-color: var(--color-sky-100);
  }
  .decoration-sky-200 {
    text-decoration-color: var(--color-sky-200);
  }
  .decoration-sky-300 {
    text-decoration-color: var(--color-sky-300);
  }
  .decoration-sky-400 {
    text-decoration-color: var(--color-sky-400);
  }
  .decoration-sky-500 {
    text-decoration-color: var(--color-sky-500);
  }
  .decoration-sky-600 {
    text-decoration-color: var(--color-sky-600);
  }
  .decoration-sky-700 {
    text-decoration-color: var(--color-sky-700);
  }
  .decoration-sky-800 {
    text-decoration-color: var(--color-sky-800);
  }
  .decoration-sky-900 {
    text-decoration-color: var(--color-sky-900);
  }
  .decoration-sky-950 {
    text-decoration-color: var(--color-sky-950);
  }
  .decoration-slate-50 {
    text-decoration-color: var(--color-slate-50);
  }
  .decoration-slate-100 {
    text-decoration-color: var(--color-slate-100);
  }
  .decoration-slate-200 {
    text-decoration-color: var(--color-slate-200);
  }
  .decoration-slate-300 {
    text-decoration-color: var(--color-slate-300);
  }
  .decoration-slate-400 {
    text-decoration-color: var(--color-slate-400);
  }
  .decoration-slate-500 {
    text-decoration-color: var(--color-slate-500);
  }
  .decoration-slate-600 {
    text-decoration-color: var(--color-slate-600);
  }
  .decoration-slate-700 {
    text-decoration-color: var(--color-slate-700);
  }
  .decoration-slate-800 {
    text-decoration-color: var(--color-slate-800);
  }
  .decoration-slate-900 {
    text-decoration-color: var(--color-slate-900);
  }
  .decoration-slate-950 {
    text-decoration-color: var(--color-slate-950);
  }
  .decoration-stone-50 {
    text-decoration-color: var(--color-stone-50);
  }
  .decoration-stone-100 {
    text-decoration-color: var(--color-stone-100);
  }
  .decoration-stone-200 {
    text-decoration-color: var(--color-stone-200);
  }
  .decoration-stone-300 {
    text-decoration-color: var(--color-stone-300);
  }
  .decoration-stone-400 {
    text-decoration-color: var(--color-stone-400);
  }
  .decoration-stone-500 {
    text-decoration-color: var(--color-stone-500);
  }
  .decoration-stone-600 {
    text-decoration-color: var(--color-stone-600);
  }
  .decoration-stone-700 {
    text-decoration-color: var(--color-stone-700);
  }
  .decoration-stone-800 {
    text-decoration-color: var(--color-stone-800);
  }
  .decoration-stone-900 {
    text-decoration-color: var(--color-stone-900);
  }
  .decoration-stone-950 {
    text-decoration-color: var(--color-stone-950);
  }
  .decoration-teal-50 {
    text-decoration-color: var(--color-teal-50);
  }
  .decoration-teal-100 {
    text-decoration-color: var(--color-teal-100);
  }
  .decoration-teal-200 {
    text-decoration-color: var(--color-teal-200);
  }
  .decoration-teal-300 {
    text-decoration-color: var(--color-teal-300);
  }
  .decoration-teal-400 {
    text-decoration-color: var(--color-teal-400);
  }
  .decoration-teal-500 {
    text-decoration-color: var(--color-teal-500);
  }
  .decoration-teal-600 {
    text-decoration-color: var(--color-teal-600);
  }
  .decoration-teal-700 {
    text-decoration-color: var(--color-teal-700);
  }
  .decoration-teal-800 {
    text-decoration-color: var(--color-teal-800);
  }
  .decoration-teal-900 {
    text-decoration-color: var(--color-teal-900);
  }
  .decoration-teal-950 {
    text-decoration-color: var(--color-teal-950);
  }
  .decoration-violet-50 {
    text-decoration-color: var(--color-violet-50);
  }
  .decoration-violet-100 {
    text-decoration-color: var(--color-violet-100);
  }
  .decoration-violet-200 {
    text-decoration-color: var(--color-violet-200);
  }
  .decoration-violet-300 {
    text-decoration-color: var(--color-violet-300);
  }
  .decoration-violet-400 {
    text-decoration-color: var(--color-violet-400);
  }
  .decoration-violet-500 {
    text-decoration-color: var(--color-violet-500);
  }
  .decoration-violet-600 {
    text-decoration-color: var(--color-violet-600);
  }
  .decoration-violet-700 {
    text-decoration-color: var(--color-violet-700);
  }
  .decoration-violet-800 {
    text-decoration-color: var(--color-violet-800);
  }
  .decoration-violet-900 {
    text-decoration-color: var(--color-violet-900);
  }
  .decoration-violet-950 {
    text-decoration-color: var(--color-violet-950);
  }
  .decoration-yellow-50 {
    text-decoration-color: var(--color-yellow-50);
  }
  .decoration-yellow-100 {
    text-decoration-color: var(--color-yellow-100);
  }
  .decoration-yellow-200 {
    text-decoration-color: var(--color-yellow-200);
  }
  .decoration-yellow-300 {
    text-decoration-color: var(--color-yellow-300);
  }
  .decoration-yellow-400 {
    text-decoration-color: var(--color-yellow-400);
  }
  .decoration-yellow-500 {
    text-decoration-color: var(--color-yellow-500);
  }
  .decoration-yellow-600 {
    text-decoration-color: var(--color-yellow-600);
  }
  .decoration-yellow-700 {
    text-decoration-color: var(--color-yellow-700);
  }
  .decoration-yellow-800 {
    text-decoration-color: var(--color-yellow-800);
  }
  .decoration-yellow-900 {
    text-decoration-color: var(--color-yellow-900);
  }
  .decoration-yellow-950 {
    text-decoration-color: var(--color-yellow-950);
  }
  .decoration-zinc-50 {
    text-decoration-color: var(--color-zinc-50);
  }
  .decoration-zinc-100 {
    text-decoration-color: var(--color-zinc-100);
  }
  .decoration-zinc-200 {
    text-decoration-color: var(--color-zinc-200);
  }
  .decoration-zinc-300 {
    text-decoration-color: var(--color-zinc-300);
  }
  .decoration-zinc-400 {
    text-decoration-color: var(--color-zinc-400);
  }
  .decoration-zinc-500 {
    text-decoration-color: var(--color-zinc-500);
  }
  .decoration-zinc-600 {
    text-decoration-color: var(--color-zinc-600);
  }
  .decoration-zinc-700 {
    text-decoration-color: var(--color-zinc-700);
  }
  .decoration-zinc-800 {
    text-decoration-color: var(--color-zinc-800);
  }
  .decoration-zinc-900 {
    text-decoration-color: var(--color-zinc-900);
  }
  .decoration-zinc-950 {
    text-decoration-color: var(--color-zinc-950);
  }
  .caret-amber-50 {
    caret-color: var(--color-amber-50);
  }
  .caret-amber-100 {
    caret-color: var(--color-amber-100);
  }
  .caret-amber-200 {
    caret-color: var(--color-amber-200);
  }
  .caret-amber-300 {
    caret-color: var(--color-amber-300);
  }
  .caret-amber-400 {
    caret-color: var(--color-amber-400);
  }
  .caret-amber-500 {
    caret-color: var(--color-amber-500);
  }
  .caret-amber-600 {
    caret-color: var(--color-amber-600);
  }
  .caret-amber-700 {
    caret-color: var(--color-amber-700);
  }
  .caret-amber-800 {
    caret-color: var(--color-amber-800);
  }
  .caret-amber-900 {
    caret-color: var(--color-amber-900);
  }
  .caret-amber-950 {
    caret-color: var(--color-amber-950);
  }
  .caret-blue-50 {
    caret-color: var(--color-blue-50);
  }
  .caret-blue-100 {
    caret-color: var(--color-blue-100);
  }
  .caret-blue-200 {
    caret-color: var(--color-blue-200);
  }
  .caret-blue-300 {
    caret-color: var(--color-blue-300);
  }
  .caret-blue-400 {
    caret-color: var(--color-blue-400);
  }
  .caret-blue-500 {
    caret-color: var(--color-blue-500);
  }
  .caret-blue-600 {
    caret-color: var(--color-blue-600);
  }
  .caret-blue-700 {
    caret-color: var(--color-blue-700);
  }
  .caret-blue-800 {
    caret-color: var(--color-blue-800);
  }
  .caret-blue-900 {
    caret-color: var(--color-blue-900);
  }
  .caret-blue-950 {
    caret-color: var(--color-blue-950);
  }
  .caret-cyan-50 {
    caret-color: var(--color-cyan-50);
  }
  .caret-cyan-100 {
    caret-color: var(--color-cyan-100);
  }
  .caret-cyan-200 {
    caret-color: var(--color-cyan-200);
  }
  .caret-cyan-300 {
    caret-color: var(--color-cyan-300);
  }
  .caret-cyan-400 {
    caret-color: var(--color-cyan-400);
  }
  .caret-cyan-500 {
    caret-color: var(--color-cyan-500);
  }
  .caret-cyan-600 {
    caret-color: var(--color-cyan-600);
  }
  .caret-cyan-700 {
    caret-color: var(--color-cyan-700);
  }
  .caret-cyan-800 {
    caret-color: var(--color-cyan-800);
  }
  .caret-cyan-900 {
    caret-color: var(--color-cyan-900);
  }
  .caret-cyan-950 {
    caret-color: var(--color-cyan-950);
  }
  .caret-emerald-50 {
    caret-color: var(--color-emerald-50);
  }
  .caret-emerald-100 {
    caret-color: var(--color-emerald-100);
  }
  .caret-emerald-200 {
    caret-color: var(--color-emerald-200);
  }
  .caret-emerald-300 {
    caret-color: var(--color-emerald-300);
  }
  .caret-emerald-400 {
    caret-color: var(--color-emerald-400);
  }
  .caret-emerald-500 {
    caret-color: var(--color-emerald-500);
  }
  .caret-emerald-600 {
    caret-color: var(--color-emerald-600);
  }
  .caret-emerald-700 {
    caret-color: var(--color-emerald-700);
  }
  .caret-emerald-800 {
    caret-color: var(--color-emerald-800);
  }
  .caret-emerald-900 {
    caret-color: var(--color-emerald-900);
  }
  .caret-emerald-950 {
    caret-color: var(--color-emerald-950);
  }
  .caret-fuchsia-50 {
    caret-color: var(--color-fuchsia-50);
  }
  .caret-fuchsia-100 {
    caret-color: var(--color-fuchsia-100);
  }
  .caret-fuchsia-200 {
    caret-color: var(--color-fuchsia-200);
  }
  .caret-fuchsia-300 {
    caret-color: var(--color-fuchsia-300);
  }
  .caret-fuchsia-400 {
    caret-color: var(--color-fuchsia-400);
  }
  .caret-fuchsia-500 {
    caret-color: var(--color-fuchsia-500);
  }
  .caret-fuchsia-600 {
    caret-color: var(--color-fuchsia-600);
  }
  .caret-fuchsia-700 {
    caret-color: var(--color-fuchsia-700);
  }
  .caret-fuchsia-800 {
    caret-color: var(--color-fuchsia-800);
  }
  .caret-fuchsia-900 {
    caret-color: var(--color-fuchsia-900);
  }
  .caret-fuchsia-950 {
    caret-color: var(--color-fuchsia-950);
  }
  .caret-gray-50 {
    caret-color: var(--color-gray-50);
  }
  .caret-gray-100 {
    caret-color: var(--color-gray-100);
  }
  .caret-gray-200 {
    caret-color: var(--color-gray-200);
  }
  .caret-gray-300 {
    caret-color: var(--color-gray-300);
  }
  .caret-gray-400 {
    caret-color: var(--color-gray-400);
  }
  .caret-gray-500 {
    caret-color: var(--color-gray-500);
  }
  .caret-gray-600 {
    caret-color: var(--color-gray-600);
  }
  .caret-gray-700 {
    caret-color: var(--color-gray-700);
  }
  .caret-gray-800 {
    caret-color: var(--color-gray-800);
  }
  .caret-gray-900 {
    caret-color: var(--color-gray-900);
  }
  .caret-gray-950 {
    caret-color: var(--color-gray-950);
  }
  .caret-green-50 {
    caret-color: var(--color-green-50);
  }
  .caret-green-100 {
    caret-color: var(--color-green-100);
  }
  .caret-green-200 {
    caret-color: var(--color-green-200);
  }
  .caret-green-300 {
    caret-color: var(--color-green-300);
  }
  .caret-green-400 {
    caret-color: var(--color-green-400);
  }
  .caret-green-500 {
    caret-color: var(--color-green-500);
  }
  .caret-green-600 {
    caret-color: var(--color-green-600);
  }
  .caret-green-700 {
    caret-color: var(--color-green-700);
  }
  .caret-green-800 {
    caret-color: var(--color-green-800);
  }
  .caret-green-900 {
    caret-color: var(--color-green-900);
  }
  .caret-green-950 {
    caret-color: var(--color-green-950);
  }
  .caret-indigo-50 {
    caret-color: var(--color-indigo-50);
  }
  .caret-indigo-100 {
    caret-color: var(--color-indigo-100);
  }
  .caret-indigo-200 {
    caret-color: var(--color-indigo-200);
  }
  .caret-indigo-300 {
    caret-color: var(--color-indigo-300);
  }
  .caret-indigo-400 {
    caret-color: var(--color-indigo-400);
  }
  .caret-indigo-500 {
    caret-color: var(--color-indigo-500);
  }
  .caret-indigo-600 {
    caret-color: var(--color-indigo-600);
  }
  .caret-indigo-700 {
    caret-color: var(--color-indigo-700);
  }
  .caret-indigo-800 {
    caret-color: var(--color-indigo-800);
  }
  .caret-indigo-900 {
    caret-color: var(--color-indigo-900);
  }
  .caret-indigo-950 {
    caret-color: var(--color-indigo-950);
  }
  .caret-lime-50 {
    caret-color: var(--color-lime-50);
  }
  .caret-lime-100 {
    caret-color: var(--color-lime-100);
  }
  .caret-lime-200 {
    caret-color: var(--color-lime-200);
  }
  .caret-lime-300 {
    caret-color: var(--color-lime-300);
  }
  .caret-lime-400 {
    caret-color: var(--color-lime-400);
  }
  .caret-lime-500 {
    caret-color: var(--color-lime-500);
  }
  .caret-lime-600 {
    caret-color: var(--color-lime-600);
  }
  .caret-lime-700 {
    caret-color: var(--color-lime-700);
  }
  .caret-lime-800 {
    caret-color: var(--color-lime-800);
  }
  .caret-lime-900 {
    caret-color: var(--color-lime-900);
  }
  .caret-lime-950 {
    caret-color: var(--color-lime-950);
  }
  .caret-neutral-50 {
    caret-color: var(--color-neutral-50);
  }
  .caret-neutral-100 {
    caret-color: var(--color-neutral-100);
  }
  .caret-neutral-200 {
    caret-color: var(--color-neutral-200);
  }
  .caret-neutral-300 {
    caret-color: var(--color-neutral-300);
  }
  .caret-neutral-400 {
    caret-color: var(--color-neutral-400);
  }
  .caret-neutral-500 {
    caret-color: var(--color-neutral-500);
  }
  .caret-neutral-600 {
    caret-color: var(--color-neutral-600);
  }
  .caret-neutral-700 {
    caret-color: var(--color-neutral-700);
  }
  .caret-neutral-800 {
    caret-color: var(--color-neutral-800);
  }
  .caret-neutral-900 {
    caret-color: var(--color-neutral-900);
  }
  .caret-neutral-950 {
    caret-color: var(--color-neutral-950);
  }
  .caret-orange-50 {
    caret-color: var(--color-orange-50);
  }
  .caret-orange-100 {
    caret-color: var(--color-orange-100);
  }
  .caret-orange-200 {
    caret-color: var(--color-orange-200);
  }
  .caret-orange-300 {
    caret-color: var(--color-orange-300);
  }
  .caret-orange-400 {
    caret-color: var(--color-orange-400);
  }
  .caret-orange-500 {
    caret-color: var(--color-orange-500);
  }
  .caret-orange-600 {
    caret-color: var(--color-orange-600);
  }
  .caret-orange-700 {
    caret-color: var(--color-orange-700);
  }
  .caret-orange-800 {
    caret-color: var(--color-orange-800);
  }
  .caret-orange-900 {
    caret-color: var(--color-orange-900);
  }
  .caret-orange-950 {
    caret-color: var(--color-orange-950);
  }
  .caret-pink-50 {
    caret-color: var(--color-pink-50);
  }
  .caret-pink-100 {
    caret-color: var(--color-pink-100);
  }
  .caret-pink-200 {
    caret-color: var(--color-pink-200);
  }
  .caret-pink-300 {
    caret-color: var(--color-pink-300);
  }
  .caret-pink-400 {
    caret-color: var(--color-pink-400);
  }
  .caret-pink-500 {
    caret-color: var(--color-pink-500);
  }
  .caret-pink-600 {
    caret-color: var(--color-pink-600);
  }
  .caret-pink-700 {
    caret-color: var(--color-pink-700);
  }
  .caret-pink-800 {
    caret-color: var(--color-pink-800);
  }
  .caret-pink-900 {
    caret-color: var(--color-pink-900);
  }
  .caret-pink-950 {
    caret-color: var(--color-pink-950);
  }
  .caret-purple-50 {
    caret-color: var(--color-purple-50);
  }
  .caret-purple-100 {
    caret-color: var(--color-purple-100);
  }
  .caret-purple-200 {
    caret-color: var(--color-purple-200);
  }
  .caret-purple-300 {
    caret-color: var(--color-purple-300);
  }
  .caret-purple-400 {
    caret-color: var(--color-purple-400);
  }
  .caret-purple-500 {
    caret-color: var(--color-purple-500);
  }
  .caret-purple-600 {
    caret-color: var(--color-purple-600);
  }
  .caret-purple-700 {
    caret-color: var(--color-purple-700);
  }
  .caret-purple-800 {
    caret-color: var(--color-purple-800);
  }
  .caret-purple-900 {
    caret-color: var(--color-purple-900);
  }
  .caret-purple-950 {
    caret-color: var(--color-purple-950);
  }
  .caret-red-50 {
    caret-color: var(--color-red-50);
  }
  .caret-red-100 {
    caret-color: var(--color-red-100);
  }
  .caret-red-200 {
    caret-color: var(--color-red-200);
  }
  .caret-red-300 {
    caret-color: var(--color-red-300);
  }
  .caret-red-400 {
    caret-color: var(--color-red-400);
  }
  .caret-red-500 {
    caret-color: var(--color-red-500);
  }
  .caret-red-600 {
    caret-color: var(--color-red-600);
  }
  .caret-red-700 {
    caret-color: var(--color-red-700);
  }
  .caret-red-800 {
    caret-color: var(--color-red-800);
  }
  .caret-red-900 {
    caret-color: var(--color-red-900);
  }
  .caret-red-950 {
    caret-color: var(--color-red-950);
  }
  .caret-rose-50 {
    caret-color: var(--color-rose-50);
  }
  .caret-rose-100 {
    caret-color: var(--color-rose-100);
  }
  .caret-rose-200 {
    caret-color: var(--color-rose-200);
  }
  .caret-rose-300 {
    caret-color: var(--color-rose-300);
  }
  .caret-rose-400 {
    caret-color: var(--color-rose-400);
  }
  .caret-rose-500 {
    caret-color: var(--color-rose-500);
  }
  .caret-rose-600 {
    caret-color: var(--color-rose-600);
  }
  .caret-rose-700 {
    caret-color: var(--color-rose-700);
  }
  .caret-rose-800 {
    caret-color: var(--color-rose-800);
  }
  .caret-rose-900 {
    caret-color: var(--color-rose-900);
  }
  .caret-rose-950 {
    caret-color: var(--color-rose-950);
  }
  .caret-sky-50 {
    caret-color: var(--color-sky-50);
  }
  .caret-sky-100 {
    caret-color: var(--color-sky-100);
  }
  .caret-sky-200 {
    caret-color: var(--color-sky-200);
  }
  .caret-sky-300 {
    caret-color: var(--color-sky-300);
  }
  .caret-sky-400 {
    caret-color: var(--color-sky-400);
  }
  .caret-sky-500 {
    caret-color: var(--color-sky-500);
  }
  .caret-sky-600 {
    caret-color: var(--color-sky-600);
  }
  .caret-sky-700 {
    caret-color: var(--color-sky-700);
  }
  .caret-sky-800 {
    caret-color: var(--color-sky-800);
  }
  .caret-sky-900 {
    caret-color: var(--color-sky-900);
  }
  .caret-sky-950 {
    caret-color: var(--color-sky-950);
  }
  .caret-slate-50 {
    caret-color: var(--color-slate-50);
  }
  .caret-slate-100 {
    caret-color: var(--color-slate-100);
  }
  .caret-slate-200 {
    caret-color: var(--color-slate-200);
  }
  .caret-slate-300 {
    caret-color: var(--color-slate-300);
  }
  .caret-slate-400 {
    caret-color: var(--color-slate-400);
  }
  .caret-slate-500 {
    caret-color: var(--color-slate-500);
  }
  .caret-slate-600 {
    caret-color: var(--color-slate-600);
  }
  .caret-slate-700 {
    caret-color: var(--color-slate-700);
  }
  .caret-slate-800 {
    caret-color: var(--color-slate-800);
  }
  .caret-slate-900 {
    caret-color: var(--color-slate-900);
  }
  .caret-slate-950 {
    caret-color: var(--color-slate-950);
  }
  .caret-stone-50 {
    caret-color: var(--color-stone-50);
  }
  .caret-stone-100 {
    caret-color: var(--color-stone-100);
  }
  .caret-stone-200 {
    caret-color: var(--color-stone-200);
  }
  .caret-stone-300 {
    caret-color: var(--color-stone-300);
  }
  .caret-stone-400 {
    caret-color: var(--color-stone-400);
  }
  .caret-stone-500 {
    caret-color: var(--color-stone-500);
  }
  .caret-stone-600 {
    caret-color: var(--color-stone-600);
  }
  .caret-stone-700 {
    caret-color: var(--color-stone-700);
  }
  .caret-stone-800 {
    caret-color: var(--color-stone-800);
  }
  .caret-stone-900 {
    caret-color: var(--color-stone-900);
  }
  .caret-stone-950 {
    caret-color: var(--color-stone-950);
  }
  .caret-teal-50 {
    caret-color: var(--color-teal-50);
  }
  .caret-teal-100 {
    caret-color: var(--color-teal-100);
  }
  .caret-teal-200 {
    caret-color: var(--color-teal-200);
  }
  .caret-teal-300 {
    caret-color: var(--color-teal-300);
  }
  .caret-teal-400 {
    caret-color: var(--color-teal-400);
  }
  .caret-teal-500 {
    caret-color: var(--color-teal-500);
  }
  .caret-teal-600 {
    caret-color: var(--color-teal-600);
  }
  .caret-teal-700 {
    caret-color: var(--color-teal-700);
  }
  .caret-teal-800 {
    caret-color: var(--color-teal-800);
  }
  .caret-teal-900 {
    caret-color: var(--color-teal-900);
  }
  .caret-teal-950 {
    caret-color: var(--color-teal-950);
  }
  .caret-violet-50 {
    caret-color: var(--color-violet-50);
  }
  .caret-violet-100 {
    caret-color: var(--color-violet-100);
  }
  .caret-violet-200 {
    caret-color: var(--color-violet-200);
  }
  .caret-violet-300 {
    caret-color: var(--color-violet-300);
  }
  .caret-violet-400 {
    caret-color: var(--color-violet-400);
  }
  .caret-violet-500 {
    caret-color: var(--color-violet-500);
  }
  .caret-violet-600 {
    caret-color: var(--color-violet-600);
  }
  .caret-violet-700 {
    caret-color: var(--color-violet-700);
  }
  .caret-violet-800 {
    caret-color: var(--color-violet-800);
  }
  .caret-violet-900 {
    caret-color: var(--color-violet-900);
  }
  .caret-violet-950 {
    caret-color: var(--color-violet-950);
  }
  .caret-yellow-50 {
    caret-color: var(--color-yellow-50);
  }
  .caret-yellow-100 {
    caret-color: var(--color-yellow-100);
  }
  .caret-yellow-200 {
    caret-color: var(--color-yellow-200);
  }
  .caret-yellow-300 {
    caret-color: var(--color-yellow-300);
  }
  .caret-yellow-400 {
    caret-color: var(--color-yellow-400);
  }
  .caret-yellow-500 {
    caret-color: var(--color-yellow-500);
  }
  .caret-yellow-600 {
    caret-color: var(--color-yellow-600);
  }
  .caret-yellow-700 {
    caret-color: var(--color-yellow-700);
  }
  .caret-yellow-800 {
    caret-color: var(--color-yellow-800);
  }
  .caret-yellow-900 {
    caret-color: var(--color-yellow-900);
  }
  .caret-yellow-950 {
    caret-color: var(--color-yellow-950);
  }
  .caret-zinc-50 {
    caret-color: var(--color-zinc-50);
  }
  .caret-zinc-100 {
    caret-color: var(--color-zinc-100);
  }
  .caret-zinc-200 {
    caret-color: var(--color-zinc-200);
  }
  .caret-zinc-300 {
    caret-color: var(--color-zinc-300);
  }
  .caret-zinc-400 {
    caret-color: var(--color-zinc-400);
  }
  .caret-zinc-500 {
    caret-color: var(--color-zinc-500);
  }
  .caret-zinc-600 {
    caret-color: var(--color-zinc-600);
  }
  .caret-zinc-700 {
    caret-color: var(--color-zinc-700);
  }
  .caret-zinc-800 {
    caret-color: var(--color-zinc-800);
  }
  .caret-zinc-900 {
    caret-color: var(--color-zinc-900);
  }
  .caret-zinc-950 {
    caret-color: var(--color-zinc-950);
  }
  .accent-amber-50 {
    accent-color: var(--color-amber-50);
  }
  .accent-amber-100 {
    accent-color: var(--color-amber-100);
  }
  .accent-amber-200 {
    accent-color: var(--color-amber-200);
  }
  .accent-amber-300 {
    accent-color: var(--color-amber-300);
  }
  .accent-amber-400 {
    accent-color: var(--color-amber-400);
  }
  .accent-amber-500 {
    accent-color: var(--color-amber-500);
  }
  .accent-amber-600 {
    accent-color: var(--color-amber-600);
  }
  .accent-amber-700 {
    accent-color: var(--color-amber-700);
  }
  .accent-amber-800 {
    accent-color: var(--color-amber-800);
  }
  .accent-amber-900 {
    accent-color: var(--color-amber-900);
  }
  .accent-amber-950 {
    accent-color: var(--color-amber-950);
  }
  .accent-blue-50 {
    accent-color: var(--color-blue-50);
  }
  .accent-blue-100 {
    accent-color: var(--color-blue-100);
  }
  .accent-blue-200 {
    accent-color: var(--color-blue-200);
  }
  .accent-blue-300 {
    accent-color: var(--color-blue-300);
  }
  .accent-blue-400 {
    accent-color: var(--color-blue-400);
  }
  .accent-blue-500 {
    accent-color: var(--color-blue-500);
  }
  .accent-blue-600 {
    accent-color: var(--color-blue-600);
  }
  .accent-blue-700 {
    accent-color: var(--color-blue-700);
  }
  .accent-blue-800 {
    accent-color: var(--color-blue-800);
  }
  .accent-blue-900 {
    accent-color: var(--color-blue-900);
  }
  .accent-blue-950 {
    accent-color: var(--color-blue-950);
  }
  .accent-cyan-50 {
    accent-color: var(--color-cyan-50);
  }
  .accent-cyan-100 {
    accent-color: var(--color-cyan-100);
  }
  .accent-cyan-200 {
    accent-color: var(--color-cyan-200);
  }
  .accent-cyan-300 {
    accent-color: var(--color-cyan-300);
  }
  .accent-cyan-400 {
    accent-color: var(--color-cyan-400);
  }
  .accent-cyan-500 {
    accent-color: var(--color-cyan-500);
  }
  .accent-cyan-600 {
    accent-color: var(--color-cyan-600);
  }
  .accent-cyan-700 {
    accent-color: var(--color-cyan-700);
  }
  .accent-cyan-800 {
    accent-color: var(--color-cyan-800);
  }
  .accent-cyan-900 {
    accent-color: var(--color-cyan-900);
  }
  .accent-cyan-950 {
    accent-color: var(--color-cyan-950);
  }
  .accent-emerald-50 {
    accent-color: var(--color-emerald-50);
  }
  .accent-emerald-100 {
    accent-color: var(--color-emerald-100);
  }
  .accent-emerald-200 {
    accent-color: var(--color-emerald-200);
  }
  .accent-emerald-300 {
    accent-color: var(--color-emerald-300);
  }
  .accent-emerald-400 {
    accent-color: var(--color-emerald-400);
  }
  .accent-emerald-500 {
    accent-color: var(--color-emerald-500);
  }
  .accent-emerald-600 {
    accent-color: var(--color-emerald-600);
  }
  .accent-emerald-700 {
    accent-color: var(--color-emerald-700);
  }
  .accent-emerald-800 {
    accent-color: var(--color-emerald-800);
  }
  .accent-emerald-900 {
    accent-color: var(--color-emerald-900);
  }
  .accent-emerald-950 {
    accent-color: var(--color-emerald-950);
  }
  .accent-fuchsia-50 {
    accent-color: var(--color-fuchsia-50);
  }
  .accent-fuchsia-100 {
    accent-color: var(--color-fuchsia-100);
  }
  .accent-fuchsia-200 {
    accent-color: var(--color-fuchsia-200);
  }
  .accent-fuchsia-300 {
    accent-color: var(--color-fuchsia-300);
  }
  .accent-fuchsia-400 {
    accent-color: var(--color-fuchsia-400);
  }
  .accent-fuchsia-500 {
    accent-color: var(--color-fuchsia-500);
  }
  .accent-fuchsia-600 {
    accent-color: var(--color-fuchsia-600);
  }
  .accent-fuchsia-700 {
    accent-color: var(--color-fuchsia-700);
  }
  .accent-fuchsia-800 {
    accent-color: var(--color-fuchsia-800);
  }
  .accent-fuchsia-900 {
    accent-color: var(--color-fuchsia-900);
  }
  .accent-fuchsia-950 {
    accent-color: var(--color-fuchsia-950);
  }
  .accent-gray-50 {
    accent-color: var(--color-gray-50);
  }
  .accent-gray-100 {
    accent-color: var(--color-gray-100);
  }
  .accent-gray-200 {
    accent-color: var(--color-gray-200);
  }
  .accent-gray-300 {
    accent-color: var(--color-gray-300);
  }
  .accent-gray-400 {
    accent-color: var(--color-gray-400);
  }
  .accent-gray-500 {
    accent-color: var(--color-gray-500);
  }
  .accent-gray-600 {
    accent-color: var(--color-gray-600);
  }
  .accent-gray-700 {
    accent-color: var(--color-gray-700);
  }
  .accent-gray-800 {
    accent-color: var(--color-gray-800);
  }
  .accent-gray-900 {
    accent-color: var(--color-gray-900);
  }
  .accent-gray-950 {
    accent-color: var(--color-gray-950);
  }
  .accent-green-50 {
    accent-color: var(--color-green-50);
  }
  .accent-green-100 {
    accent-color: var(--color-green-100);
  }
  .accent-green-200 {
    accent-color: var(--color-green-200);
  }
  .accent-green-300 {
    accent-color: var(--color-green-300);
  }
  .accent-green-400 {
    accent-color: var(--color-green-400);
  }
  .accent-green-500 {
    accent-color: var(--color-green-500);
  }
  .accent-green-600 {
    accent-color: var(--color-green-600);
  }
  .accent-green-700 {
    accent-color: var(--color-green-700);
  }
  .accent-green-800 {
    accent-color: var(--color-green-800);
  }
  .accent-green-900 {
    accent-color: var(--color-green-900);
  }
  .accent-green-950 {
    accent-color: var(--color-green-950);
  }
  .accent-indigo-50 {
    accent-color: var(--color-indigo-50);
  }
  .accent-indigo-100 {
    accent-color: var(--color-indigo-100);
  }
  .accent-indigo-200 {
    accent-color: var(--color-indigo-200);
  }
  .accent-indigo-300 {
    accent-color: var(--color-indigo-300);
  }
  .accent-indigo-400 {
    accent-color: var(--color-indigo-400);
  }
  .accent-indigo-500 {
    accent-color: var(--color-indigo-500);
  }
  .accent-indigo-600 {
    accent-color: var(--color-indigo-600);
  }
  .accent-indigo-700 {
    accent-color: var(--color-indigo-700);
  }
  .accent-indigo-800 {
    accent-color: var(--color-indigo-800);
  }
  .accent-indigo-900 {
    accent-color: var(--color-indigo-900);
  }
  .accent-indigo-950 {
    accent-color: var(--color-indigo-950);
  }
  .accent-lime-50 {
    accent-color: var(--color-lime-50);
  }
  .accent-lime-100 {
    accent-color: var(--color-lime-100);
  }
  .accent-lime-200 {
    accent-color: var(--color-lime-200);
  }
  .accent-lime-300 {
    accent-color: var(--color-lime-300);
  }
  .accent-lime-400 {
    accent-color: var(--color-lime-400);
  }
  .accent-lime-500 {
    accent-color: var(--color-lime-500);
  }
  .accent-lime-600 {
    accent-color: var(--color-lime-600);
  }
  .accent-lime-700 {
    accent-color: var(--color-lime-700);
  }
  .accent-lime-800 {
    accent-color: var(--color-lime-800);
  }
  .accent-lime-900 {
    accent-color: var(--color-lime-900);
  }
  .accent-lime-950 {
    accent-color: var(--color-lime-950);
  }
  .accent-neutral-50 {
    accent-color: var(--color-neutral-50);
  }
  .accent-neutral-100 {
    accent-color: var(--color-neutral-100);
  }
  .accent-neutral-200 {
    accent-color: var(--color-neutral-200);
  }
  .accent-neutral-300 {
    accent-color: var(--color-neutral-300);
  }
  .accent-neutral-400 {
    accent-color: var(--color-neutral-400);
  }
  .accent-neutral-500 {
    accent-color: var(--color-neutral-500);
  }
  .accent-neutral-600 {
    accent-color: var(--color-neutral-600);
  }
  .accent-neutral-700 {
    accent-color: var(--color-neutral-700);
  }
  .accent-neutral-800 {
    accent-color: var(--color-neutral-800);
  }
  .accent-neutral-900 {
    accent-color: var(--color-neutral-900);
  }
  .accent-neutral-950 {
    accent-color: var(--color-neutral-950);
  }
  .accent-orange-50 {
    accent-color: var(--color-orange-50);
  }
  .accent-orange-100 {
    accent-color: var(--color-orange-100);
  }
  .accent-orange-200 {
    accent-color: var(--color-orange-200);
  }
  .accent-orange-300 {
    accent-color: var(--color-orange-300);
  }
  .accent-orange-400 {
    accent-color: var(--color-orange-400);
  }
  .accent-orange-500 {
    accent-color: var(--color-orange-500);
  }
  .accent-orange-600 {
    accent-color: var(--color-orange-600);
  }
  .accent-orange-700 {
    accent-color: var(--color-orange-700);
  }
  .accent-orange-800 {
    accent-color: var(--color-orange-800);
  }
  .accent-orange-900 {
    accent-color: var(--color-orange-900);
  }
  .accent-orange-950 {
    accent-color: var(--color-orange-950);
  }
  .accent-pink-50 {
    accent-color: var(--color-pink-50);
  }
  .accent-pink-100 {
    accent-color: var(--color-pink-100);
  }
  .accent-pink-200 {
    accent-color: var(--color-pink-200);
  }
  .accent-pink-300 {
    accent-color: var(--color-pink-300);
  }
  .accent-pink-400 {
    accent-color: var(--color-pink-400);
  }
  .accent-pink-500 {
    accent-color: var(--color-pink-500);
  }
  .accent-pink-600 {
    accent-color: var(--color-pink-600);
  }
  .accent-pink-700 {
    accent-color: var(--color-pink-700);
  }
  .accent-pink-800 {
    accent-color: var(--color-pink-800);
  }
  .accent-pink-900 {
    accent-color: var(--color-pink-900);
  }
  .accent-pink-950 {
    accent-color: var(--color-pink-950);
  }
  .accent-purple-50 {
    accent-color: var(--color-purple-50);
  }
  .accent-purple-100 {
    accent-color: var(--color-purple-100);
  }
  .accent-purple-200 {
    accent-color: var(--color-purple-200);
  }
  .accent-purple-300 {
    accent-color: var(--color-purple-300);
  }
  .accent-purple-400 {
    accent-color: var(--color-purple-400);
  }
  .accent-purple-500 {
    accent-color: var(--color-purple-500);
  }
  .accent-purple-600 {
    accent-color: var(--color-purple-600);
  }
  .accent-purple-700 {
    accent-color: var(--color-purple-700);
  }
  .accent-purple-800 {
    accent-color: var(--color-purple-800);
  }
  .accent-purple-900 {
    accent-color: var(--color-purple-900);
  }
  .accent-purple-950 {
    accent-color: var(--color-purple-950);
  }
  .accent-red-50 {
    accent-color: var(--color-red-50);
  }
  .accent-red-100 {
    accent-color: var(--color-red-100);
  }
  .accent-red-200 {
    accent-color: var(--color-red-200);
  }
  .accent-red-300 {
    accent-color: var(--color-red-300);
  }
  .accent-red-400 {
    accent-color: var(--color-red-400);
  }
  .accent-red-500 {
    accent-color: var(--color-red-500);
  }
  .accent-red-600 {
    accent-color: var(--color-red-600);
  }
  .accent-red-700 {
    accent-color: var(--color-red-700);
  }
  .accent-red-800 {
    accent-color: var(--color-red-800);
  }
  .accent-red-900 {
    accent-color: var(--color-red-900);
  }
  .accent-red-950 {
    accent-color: var(--color-red-950);
  }
  .accent-rose-50 {
    accent-color: var(--color-rose-50);
  }
  .accent-rose-100 {
    accent-color: var(--color-rose-100);
  }
  .accent-rose-200 {
    accent-color: var(--color-rose-200);
  }
  .accent-rose-300 {
    accent-color: var(--color-rose-300);
  }
  .accent-rose-400 {
    accent-color: var(--color-rose-400);
  }
  .accent-rose-500 {
    accent-color: var(--color-rose-500);
  }
  .accent-rose-600 {
    accent-color: var(--color-rose-600);
  }
  .accent-rose-700 {
    accent-color: var(--color-rose-700);
  }
  .accent-rose-800 {
    accent-color: var(--color-rose-800);
  }
  .accent-rose-900 {
    accent-color: var(--color-rose-900);
  }
  .accent-rose-950 {
    accent-color: var(--color-rose-950);
  }
  .accent-sky-50 {
    accent-color: var(--color-sky-50);
  }
  .accent-sky-100 {
    accent-color: var(--color-sky-100);
  }
  .accent-sky-200 {
    accent-color: var(--color-sky-200);
  }
  .accent-sky-300 {
    accent-color: var(--color-sky-300);
  }
  .accent-sky-400 {
    accent-color: var(--color-sky-400);
  }
  .accent-sky-500 {
    accent-color: var(--color-sky-500);
  }
  .accent-sky-600 {
    accent-color: var(--color-sky-600);
  }
  .accent-sky-700 {
    accent-color: var(--color-sky-700);
  }
  .accent-sky-800 {
    accent-color: var(--color-sky-800);
  }
  .accent-sky-900 {
    accent-color: var(--color-sky-900);
  }
  .accent-sky-950 {
    accent-color: var(--color-sky-950);
  }
  .accent-slate-50 {
    accent-color: var(--color-slate-50);
  }
  .accent-slate-100 {
    accent-color: var(--color-slate-100);
  }
  .accent-slate-200 {
    accent-color: var(--color-slate-200);
  }
  .accent-slate-300 {
    accent-color: var(--color-slate-300);
  }
  .accent-slate-400 {
    accent-color: var(--color-slate-400);
  }
  .accent-slate-500 {
    accent-color: var(--color-slate-500);
  }
  .accent-slate-600 {
    accent-color: var(--color-slate-600);
  }
  .accent-slate-700 {
    accent-color: var(--color-slate-700);
  }
  .accent-slate-800 {
    accent-color: var(--color-slate-800);
  }
  .accent-slate-900 {
    accent-color: var(--color-slate-900);
  }
  .accent-slate-950 {
    accent-color: var(--color-slate-950);
  }
  .accent-stone-50 {
    accent-color: var(--color-stone-50);
  }
  .accent-stone-100 {
    accent-color: var(--color-stone-100);
  }
  .accent-stone-200 {
    accent-color: var(--color-stone-200);
  }
  .accent-stone-300 {
    accent-color: var(--color-stone-300);
  }
  .accent-stone-400 {
    accent-color: var(--color-stone-400);
  }
  .accent-stone-500 {
    accent-color: var(--color-stone-500);
  }
  .accent-stone-600 {
    accent-color: var(--color-stone-600);
  }
  .accent-stone-700 {
    accent-color: var(--color-stone-700);
  }
  .accent-stone-800 {
    accent-color: var(--color-stone-800);
  }
  .accent-stone-900 {
    accent-color: var(--color-stone-900);
  }
  .accent-stone-950 {
    accent-color: var(--color-stone-950);
  }
  .accent-teal-50 {
    accent-color: var(--color-teal-50);
  }
  .accent-teal-100 {
    accent-color: var(--color-teal-100);
  }
  .accent-teal-200 {
    accent-color: var(--color-teal-200);
  }
  .accent-teal-300 {
    accent-color: var(--color-teal-300);
  }
  .accent-teal-400 {
    accent-color: var(--color-teal-400);
  }
  .accent-teal-500 {
    accent-color: var(--color-teal-500);
  }
  .accent-teal-600 {
    accent-color: var(--color-teal-600);
  }
  .accent-teal-700 {
    accent-color: var(--color-teal-700);
  }
  .accent-teal-800 {
    accent-color: var(--color-teal-800);
  }
  .accent-teal-900 {
    accent-color: var(--color-teal-900);
  }
  .accent-teal-950 {
    accent-color: var(--color-teal-950);
  }
  .accent-violet-50 {
    accent-color: var(--color-violet-50);
  }
  .accent-violet-100 {
    accent-color: var(--color-violet-100);
  }
  .accent-violet-200 {
    accent-color: var(--color-violet-200);
  }
  .accent-violet-300 {
    accent-color: var(--color-violet-300);
  }
  .accent-violet-400 {
    accent-color: var(--color-violet-400);
  }
  .accent-violet-500 {
    accent-color: var(--color-violet-500);
  }
  .accent-violet-600 {
    accent-color: var(--color-violet-600);
  }
  .accent-violet-700 {
    accent-color: var(--color-violet-700);
  }
  .accent-violet-800 {
    accent-color: var(--color-violet-800);
  }
  .accent-violet-900 {
    accent-color: var(--color-violet-900);
  }
  .accent-violet-950 {
    accent-color: var(--color-violet-950);
  }
  .accent-yellow-50 {
    accent-color: var(--color-yellow-50);
  }
  .accent-yellow-100 {
    accent-color: var(--color-yellow-100);
  }
  .accent-yellow-200 {
    accent-color: var(--color-yellow-200);
  }
  .accent-yellow-300 {
    accent-color: var(--color-yellow-300);
  }
  .accent-yellow-400 {
    accent-color: var(--color-yellow-400);
  }
  .accent-yellow-500 {
    accent-color: var(--color-yellow-500);
  }
  .accent-yellow-600 {
    accent-color: var(--color-yellow-600);
  }
  .accent-yellow-700 {
    accent-color: var(--color-yellow-700);
  }
  .accent-yellow-800 {
    accent-color: var(--color-yellow-800);
  }
  .accent-yellow-900 {
    accent-color: var(--color-yellow-900);
  }
  .accent-yellow-950 {
    accent-color: var(--color-yellow-950);
  }
  .accent-zinc-50 {
    accent-color: var(--color-zinc-50);
  }
  .accent-zinc-100 {
    accent-color: var(--color-zinc-100);
  }
  .accent-zinc-200 {
    accent-color: var(--color-zinc-200);
  }
  .accent-zinc-300 {
    accent-color: var(--color-zinc-300);
  }
  .accent-zinc-400 {
    accent-color: var(--color-zinc-400);
  }
  .accent-zinc-500 {
    accent-color: var(--color-zinc-500);
  }
  .accent-zinc-600 {
    accent-color: var(--color-zinc-600);
  }
  .accent-zinc-700 {
    accent-color: var(--color-zinc-700);
  }
  .accent-zinc-800 {
    accent-color: var(--color-zinc-800);
  }
  .accent-zinc-900 {
    accent-color: var(--color-zinc-900);
  }
  .accent-zinc-950 {
    accent-color: var(--color-zinc-950);
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow\/highlight {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-amber-50 {
    --tw-ring-color: var(--color-amber-50);
  }
  .ring-amber-100 {
    --tw-ring-color: var(--color-amber-100);
  }
  .ring-amber-200 {
    --tw-ring-color: var(--color-amber-200);
  }
  .ring-amber-300 {
    --tw-ring-color: var(--color-amber-300);
  }
  .ring-amber-400 {
    --tw-ring-color: var(--color-amber-400);
  }
  .ring-amber-500 {
    --tw-ring-color: var(--color-amber-500);
  }
  .ring-amber-600 {
    --tw-ring-color: var(--color-amber-600);
  }
  .ring-amber-700 {
    --tw-ring-color: var(--color-amber-700);
  }
  .ring-amber-800 {
    --tw-ring-color: var(--color-amber-800);
  }
  .ring-amber-900 {
    --tw-ring-color: var(--color-amber-900);
  }
  .ring-amber-950 {
    --tw-ring-color: var(--color-amber-950);
  }
  .ring-blue-50 {
    --tw-ring-color: var(--color-blue-50);
  }
  .ring-blue-100 {
    --tw-ring-color: var(--color-blue-100);
  }
  .ring-blue-200 {
    --tw-ring-color: var(--color-blue-200);
  }
  .ring-blue-300 {
    --tw-ring-color: var(--color-blue-300);
  }
  .ring-blue-400 {
    --tw-ring-color: var(--color-blue-400);
  }
  .ring-blue-500 {
    --tw-ring-color: var(--color-blue-500);
  }
  .ring-blue-600 {
    --tw-ring-color: var(--color-blue-600);
  }
  .ring-blue-700 {
    --tw-ring-color: var(--color-blue-700);
  }
  .ring-blue-800 {
    --tw-ring-color: var(--color-blue-800);
  }
  .ring-blue-900 {
    --tw-ring-color: var(--color-blue-900);
  }
  .ring-blue-950 {
    --tw-ring-color: var(--color-blue-950);
  }
  .ring-cyan-50 {
    --tw-ring-color: var(--color-cyan-50);
  }
  .ring-cyan-100 {
    --tw-ring-color: var(--color-cyan-100);
  }
  .ring-cyan-200 {
    --tw-ring-color: var(--color-cyan-200);
  }
  .ring-cyan-300 {
    --tw-ring-color: var(--color-cyan-300);
  }
  .ring-cyan-400 {
    --tw-ring-color: var(--color-cyan-400);
  }
  .ring-cyan-500 {
    --tw-ring-color: var(--color-cyan-500);
  }
  .ring-cyan-600 {
    --tw-ring-color: var(--color-cyan-600);
  }
  .ring-cyan-700 {
    --tw-ring-color: var(--color-cyan-700);
  }
  .ring-cyan-800 {
    --tw-ring-color: var(--color-cyan-800);
  }
  .ring-cyan-900 {
    --tw-ring-color: var(--color-cyan-900);
  }
  .ring-cyan-950 {
    --tw-ring-color: var(--color-cyan-950);
  }
  .ring-emerald-50 {
    --tw-ring-color: var(--color-emerald-50);
  }
  .ring-emerald-100 {
    --tw-ring-color: var(--color-emerald-100);
  }
  .ring-emerald-200 {
    --tw-ring-color: var(--color-emerald-200);
  }
  .ring-emerald-300 {
    --tw-ring-color: var(--color-emerald-300);
  }
  .ring-emerald-400 {
    --tw-ring-color: var(--color-emerald-400);
  }
  .ring-emerald-500 {
    --tw-ring-color: var(--color-emerald-500);
  }
  .ring-emerald-600 {
    --tw-ring-color: var(--color-emerald-600);
  }
  .ring-emerald-700 {
    --tw-ring-color: var(--color-emerald-700);
  }
  .ring-emerald-800 {
    --tw-ring-color: var(--color-emerald-800);
  }
  .ring-emerald-900 {
    --tw-ring-color: var(--color-emerald-900);
  }
  .ring-emerald-950 {
    --tw-ring-color: var(--color-emerald-950);
  }
  .ring-fuchsia-50 {
    --tw-ring-color: var(--color-fuchsia-50);
  }
  .ring-fuchsia-100 {
    --tw-ring-color: var(--color-fuchsia-100);
  }
  .ring-fuchsia-200 {
    --tw-ring-color: var(--color-fuchsia-200);
  }
  .ring-fuchsia-300 {
    --tw-ring-color: var(--color-fuchsia-300);
  }
  .ring-fuchsia-400 {
    --tw-ring-color: var(--color-fuchsia-400);
  }
  .ring-fuchsia-500 {
    --tw-ring-color: var(--color-fuchsia-500);
  }
  .ring-fuchsia-600 {
    --tw-ring-color: var(--color-fuchsia-600);
  }
  .ring-fuchsia-700 {
    --tw-ring-color: var(--color-fuchsia-700);
  }
  .ring-fuchsia-800 {
    --tw-ring-color: var(--color-fuchsia-800);
  }
  .ring-fuchsia-900 {
    --tw-ring-color: var(--color-fuchsia-900);
  }
  .ring-fuchsia-950 {
    --tw-ring-color: var(--color-fuchsia-950);
  }
  .ring-gray-50 {
    --tw-ring-color: var(--color-gray-50);
  }
  .ring-gray-100 {
    --tw-ring-color: var(--color-gray-100);
  }
  .ring-gray-200 {
    --tw-ring-color: var(--color-gray-200);
  }
  .ring-gray-300 {
    --tw-ring-color: var(--color-gray-300);
  }
  .ring-gray-400 {
    --tw-ring-color: var(--color-gray-400);
  }
  .ring-gray-500 {
    --tw-ring-color: var(--color-gray-500);
  }
  .ring-gray-600 {
    --tw-ring-color: var(--color-gray-600);
  }
  .ring-gray-700 {
    --tw-ring-color: var(--color-gray-700);
  }
  .ring-gray-800 {
    --tw-ring-color: var(--color-gray-800);
  }
  .ring-gray-900 {
    --tw-ring-color: var(--color-gray-900);
  }
  .ring-gray-950 {
    --tw-ring-color: var(--color-gray-950);
  }
  .ring-green-50 {
    --tw-ring-color: var(--color-green-50);
  }
  .ring-green-100 {
    --tw-ring-color: var(--color-green-100);
  }
  .ring-green-200 {
    --tw-ring-color: var(--color-green-200);
  }
  .ring-green-300 {
    --tw-ring-color: var(--color-green-300);
  }
  .ring-green-400 {
    --tw-ring-color: var(--color-green-400);
  }
  .ring-green-500 {
    --tw-ring-color: var(--color-green-500);
  }
  .ring-green-600 {
    --tw-ring-color: var(--color-green-600);
  }
  .ring-green-700 {
    --tw-ring-color: var(--color-green-700);
  }
  .ring-green-800 {
    --tw-ring-color: var(--color-green-800);
  }
  .ring-green-900 {
    --tw-ring-color: var(--color-green-900);
  }
  .ring-green-950 {
    --tw-ring-color: var(--color-green-950);
  }
  .ring-indigo-50 {
    --tw-ring-color: var(--color-indigo-50);
  }
  .ring-indigo-100 {
    --tw-ring-color: var(--color-indigo-100);
  }
  .ring-indigo-200 {
    --tw-ring-color: var(--color-indigo-200);
  }
  .ring-indigo-300 {
    --tw-ring-color: var(--color-indigo-300);
  }
  .ring-indigo-400 {
    --tw-ring-color: var(--color-indigo-400);
  }
  .ring-indigo-500 {
    --tw-ring-color: var(--color-indigo-500);
  }
  .ring-indigo-600 {
    --tw-ring-color: var(--color-indigo-600);
  }
  .ring-indigo-700 {
    --tw-ring-color: var(--color-indigo-700);
  }
  .ring-indigo-800 {
    --tw-ring-color: var(--color-indigo-800);
  }
  .ring-indigo-900 {
    --tw-ring-color: var(--color-indigo-900);
  }
  .ring-indigo-950 {
    --tw-ring-color: var(--color-indigo-950);
  }
  .ring-lime-50 {
    --tw-ring-color: var(--color-lime-50);
  }
  .ring-lime-100 {
    --tw-ring-color: var(--color-lime-100);
  }
  .ring-lime-200 {
    --tw-ring-color: var(--color-lime-200);
  }
  .ring-lime-300 {
    --tw-ring-color: var(--color-lime-300);
  }
  .ring-lime-400 {
    --tw-ring-color: var(--color-lime-400);
  }
  .ring-lime-500 {
    --tw-ring-color: var(--color-lime-500);
  }
  .ring-lime-600 {
    --tw-ring-color: var(--color-lime-600);
  }
  .ring-lime-700 {
    --tw-ring-color: var(--color-lime-700);
  }
  .ring-lime-800 {
    --tw-ring-color: var(--color-lime-800);
  }
  .ring-lime-900 {
    --tw-ring-color: var(--color-lime-900);
  }
  .ring-lime-950 {
    --tw-ring-color: var(--color-lime-950);
  }
  .ring-neutral-50 {
    --tw-ring-color: var(--color-neutral-50);
  }
  .ring-neutral-100 {
    --tw-ring-color: var(--color-neutral-100);
  }
  .ring-neutral-200 {
    --tw-ring-color: var(--color-neutral-200);
  }
  .ring-neutral-300 {
    --tw-ring-color: var(--color-neutral-300);
  }
  .ring-neutral-400 {
    --tw-ring-color: var(--color-neutral-400);
  }
  .ring-neutral-500 {
    --tw-ring-color: var(--color-neutral-500);
  }
  .ring-neutral-600 {
    --tw-ring-color: var(--color-neutral-600);
  }
  .ring-neutral-700 {
    --tw-ring-color: var(--color-neutral-700);
  }
  .ring-neutral-800 {
    --tw-ring-color: var(--color-neutral-800);
  }
  .ring-neutral-900 {
    --tw-ring-color: var(--color-neutral-900);
  }
  .ring-neutral-950 {
    --tw-ring-color: var(--color-neutral-950);
  }
  .ring-orange-50 {
    --tw-ring-color: var(--color-orange-50);
  }
  .ring-orange-100 {
    --tw-ring-color: var(--color-orange-100);
  }
  .ring-orange-200 {
    --tw-ring-color: var(--color-orange-200);
  }
  .ring-orange-300 {
    --tw-ring-color: var(--color-orange-300);
  }
  .ring-orange-400 {
    --tw-ring-color: var(--color-orange-400);
  }
  .ring-orange-500 {
    --tw-ring-color: var(--color-orange-500);
  }
  .ring-orange-600 {
    --tw-ring-color: var(--color-orange-600);
  }
  .ring-orange-700 {
    --tw-ring-color: var(--color-orange-700);
  }
  .ring-orange-800 {
    --tw-ring-color: var(--color-orange-800);
  }
  .ring-orange-900 {
    --tw-ring-color: var(--color-orange-900);
  }
  .ring-orange-950 {
    --tw-ring-color: var(--color-orange-950);
  }
  .ring-pink-50 {
    --tw-ring-color: var(--color-pink-50);
  }
  .ring-pink-100 {
    --tw-ring-color: var(--color-pink-100);
  }
  .ring-pink-200 {
    --tw-ring-color: var(--color-pink-200);
  }
  .ring-pink-300 {
    --tw-ring-color: var(--color-pink-300);
  }
  .ring-pink-400 {
    --tw-ring-color: var(--color-pink-400);
  }
  .ring-pink-500 {
    --tw-ring-color: var(--color-pink-500);
  }
  .ring-pink-600 {
    --tw-ring-color: var(--color-pink-600);
  }
  .ring-pink-700 {
    --tw-ring-color: var(--color-pink-700);
  }
  .ring-pink-800 {
    --tw-ring-color: var(--color-pink-800);
  }
  .ring-pink-900 {
    --tw-ring-color: var(--color-pink-900);
  }
  .ring-pink-950 {
    --tw-ring-color: var(--color-pink-950);
  }
  .ring-purple-50 {
    --tw-ring-color: var(--color-purple-50);
  }
  .ring-purple-100 {
    --tw-ring-color: var(--color-purple-100);
  }
  .ring-purple-200 {
    --tw-ring-color: var(--color-purple-200);
  }
  .ring-purple-300 {
    --tw-ring-color: var(--color-purple-300);
  }
  .ring-purple-400 {
    --tw-ring-color: var(--color-purple-400);
  }
  .ring-purple-500 {
    --tw-ring-color: var(--color-purple-500);
  }
  .ring-purple-600 {
    --tw-ring-color: var(--color-purple-600);
  }
  .ring-purple-700 {
    --tw-ring-color: var(--color-purple-700);
  }
  .ring-purple-800 {
    --tw-ring-color: var(--color-purple-800);
  }
  .ring-purple-900 {
    --tw-ring-color: var(--color-purple-900);
  }
  .ring-purple-950 {
    --tw-ring-color: var(--color-purple-950);
  }
  .ring-red-50 {
    --tw-ring-color: var(--color-red-50);
  }
  .ring-red-100 {
    --tw-ring-color: var(--color-red-100);
  }
  .ring-red-200 {
    --tw-ring-color: var(--color-red-200);
  }
  .ring-red-300 {
    --tw-ring-color: var(--color-red-300);
  }
  .ring-red-400 {
    --tw-ring-color: var(--color-red-400);
  }
  .ring-red-500 {
    --tw-ring-color: var(--color-red-500);
  }
  .ring-red-600 {
    --tw-ring-color: var(--color-red-600);
  }
  .ring-red-700 {
    --tw-ring-color: var(--color-red-700);
  }
  .ring-red-800 {
    --tw-ring-color: var(--color-red-800);
  }
  .ring-red-900 {
    --tw-ring-color: var(--color-red-900);
  }
  .ring-red-950 {
    --tw-ring-color: var(--color-red-950);
  }
  .ring-rose-50 {
    --tw-ring-color: var(--color-rose-50);
  }
  .ring-rose-100 {
    --tw-ring-color: var(--color-rose-100);
  }
  .ring-rose-200 {
    --tw-ring-color: var(--color-rose-200);
  }
  .ring-rose-300 {
    --tw-ring-color: var(--color-rose-300);
  }
  .ring-rose-400 {
    --tw-ring-color: var(--color-rose-400);
  }
  .ring-rose-500 {
    --tw-ring-color: var(--color-rose-500);
  }
  .ring-rose-600 {
    --tw-ring-color: var(--color-rose-600);
  }
  .ring-rose-700 {
    --tw-ring-color: var(--color-rose-700);
  }
  .ring-rose-800 {
    --tw-ring-color: var(--color-rose-800);
  }
  .ring-rose-900 {
    --tw-ring-color: var(--color-rose-900);
  }
  .ring-rose-950 {
    --tw-ring-color: var(--color-rose-950);
  }
  .ring-sky-50 {
    --tw-ring-color: var(--color-sky-50);
  }
  .ring-sky-100 {
    --tw-ring-color: var(--color-sky-100);
  }
  .ring-sky-200 {
    --tw-ring-color: var(--color-sky-200);
  }
  .ring-sky-300 {
    --tw-ring-color: var(--color-sky-300);
  }
  .ring-sky-400 {
    --tw-ring-color: var(--color-sky-400);
  }
  .ring-sky-500 {
    --tw-ring-color: var(--color-sky-500);
  }
  .ring-sky-600 {
    --tw-ring-color: var(--color-sky-600);
  }
  .ring-sky-700 {
    --tw-ring-color: var(--color-sky-700);
  }
  .ring-sky-800 {
    --tw-ring-color: var(--color-sky-800);
  }
  .ring-sky-900 {
    --tw-ring-color: var(--color-sky-900);
  }
  .ring-sky-950 {
    --tw-ring-color: var(--color-sky-950);
  }
  .ring-slate-50 {
    --tw-ring-color: var(--color-slate-50);
  }
  .ring-slate-100 {
    --tw-ring-color: var(--color-slate-100);
  }
  .ring-slate-200 {
    --tw-ring-color: var(--color-slate-200);
  }
  .ring-slate-300 {
    --tw-ring-color: var(--color-slate-300);
  }
  .ring-slate-400 {
    --tw-ring-color: var(--color-slate-400);
  }
  .ring-slate-500 {
    --tw-ring-color: var(--color-slate-500);
  }
  .ring-slate-600 {
    --tw-ring-color: var(--color-slate-600);
  }
  .ring-slate-700 {
    --tw-ring-color: var(--color-slate-700);
  }
  .ring-slate-800 {
    --tw-ring-color: var(--color-slate-800);
  }
  .ring-slate-900 {
    --tw-ring-color: var(--color-slate-900);
  }
  .ring-slate-950 {
    --tw-ring-color: var(--color-slate-950);
  }
  .ring-stone-50 {
    --tw-ring-color: var(--color-stone-50);
  }
  .ring-stone-100 {
    --tw-ring-color: var(--color-stone-100);
  }
  .ring-stone-200 {
    --tw-ring-color: var(--color-stone-200);
  }
  .ring-stone-300 {
    --tw-ring-color: var(--color-stone-300);
  }
  .ring-stone-400 {
    --tw-ring-color: var(--color-stone-400);
  }
  .ring-stone-500 {
    --tw-ring-color: var(--color-stone-500);
  }
  .ring-stone-600 {
    --tw-ring-color: var(--color-stone-600);
  }
  .ring-stone-700 {
    --tw-ring-color: var(--color-stone-700);
  }
  .ring-stone-800 {
    --tw-ring-color: var(--color-stone-800);
  }
  .ring-stone-900 {
    --tw-ring-color: var(--color-stone-900);
  }
  .ring-stone-950 {
    --tw-ring-color: var(--color-stone-950);
  }
  .ring-teal-50 {
    --tw-ring-color: var(--color-teal-50);
  }
  .ring-teal-100 {
    --tw-ring-color: var(--color-teal-100);
  }
  .ring-teal-200 {
    --tw-ring-color: var(--color-teal-200);
  }
  .ring-teal-300 {
    --tw-ring-color: var(--color-teal-300);
  }
  .ring-teal-400 {
    --tw-ring-color: var(--color-teal-400);
  }
  .ring-teal-500 {
    --tw-ring-color: var(--color-teal-500);
  }
  .ring-teal-600 {
    --tw-ring-color: var(--color-teal-600);
  }
  .ring-teal-700 {
    --tw-ring-color: var(--color-teal-700);
  }
  .ring-teal-800 {
    --tw-ring-color: var(--color-teal-800);
  }
  .ring-teal-900 {
    --tw-ring-color: var(--color-teal-900);
  }
  .ring-teal-950 {
    --tw-ring-color: var(--color-teal-950);
  }
  .ring-violet-50 {
    --tw-ring-color: var(--color-violet-50);
  }
  .ring-violet-100 {
    --tw-ring-color: var(--color-violet-100);
  }
  .ring-violet-200 {
    --tw-ring-color: var(--color-violet-200);
  }
  .ring-violet-300 {
    --tw-ring-color: var(--color-violet-300);
  }
  .ring-violet-400 {
    --tw-ring-color: var(--color-violet-400);
  }
  .ring-violet-500 {
    --tw-ring-color: var(--color-violet-500);
  }
  .ring-violet-600 {
    --tw-ring-color: var(--color-violet-600);
  }
  .ring-violet-700 {
    --tw-ring-color: var(--color-violet-700);
  }
  .ring-violet-800 {
    --tw-ring-color: var(--color-violet-800);
  }
  .ring-violet-900 {
    --tw-ring-color: var(--color-violet-900);
  }
  .ring-violet-950 {
    --tw-ring-color: var(--color-violet-950);
  }
  .ring-yellow-50 {
    --tw-ring-color: var(--color-yellow-50);
  }
  .ring-yellow-100 {
    --tw-ring-color: var(--color-yellow-100);
  }
  .ring-yellow-200 {
    --tw-ring-color: var(--color-yellow-200);
  }
  .ring-yellow-300 {
    --tw-ring-color: var(--color-yellow-300);
  }
  .ring-yellow-400 {
    --tw-ring-color: var(--color-yellow-400);
  }
  .ring-yellow-500 {
    --tw-ring-color: var(--color-yellow-500);
  }
  .ring-yellow-600 {
    --tw-ring-color: var(--color-yellow-600);
  }
  .ring-yellow-700 {
    --tw-ring-color: var(--color-yellow-700);
  }
  .ring-yellow-800 {
    --tw-ring-color: var(--color-yellow-800);
  }
  .ring-yellow-900 {
    --tw-ring-color: var(--color-yellow-900);
  }
  .ring-yellow-950 {
    --tw-ring-color: var(--color-yellow-950);
  }
  .ring-zinc-50 {
    --tw-ring-color: var(--color-zinc-50);
  }
  .ring-zinc-100 {
    --tw-ring-color: var(--color-zinc-100);
  }
  .ring-zinc-200 {
    --tw-ring-color: var(--color-zinc-200);
  }
  .ring-zinc-300 {
    --tw-ring-color: var(--color-zinc-300);
  }
  .ring-zinc-400 {
    --tw-ring-color: var(--color-zinc-400);
  }
  .ring-zinc-500 {
    --tw-ring-color: var(--color-zinc-500);
  }
  .ring-zinc-600 {
    --tw-ring-color: var(--color-zinc-600);
  }
  .ring-zinc-700 {
    --tw-ring-color: var(--color-zinc-700);
  }
  .ring-zinc-800 {
    --tw-ring-color: var(--color-zinc-800);
  }
  .ring-zinc-900 {
    --tw-ring-color: var(--color-zinc-900);
  }
  .ring-zinc-950 {
    --tw-ring-color: var(--color-zinc-950);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .outline-amber-50 {
    outline-color: var(--color-amber-50);
  }
  .outline-amber-100 {
    outline-color: var(--color-amber-100);
  }
  .outline-amber-200 {
    outline-color: var(--color-amber-200);
  }
  .outline-amber-300 {
    outline-color: var(--color-amber-300);
  }
  .outline-amber-400 {
    outline-color: var(--color-amber-400);
  }
  .outline-amber-500 {
    outline-color: var(--color-amber-500);
  }
  .outline-amber-600 {
    outline-color: var(--color-amber-600);
  }
  .outline-amber-700 {
    outline-color: var(--color-amber-700);
  }
  .outline-amber-800 {
    outline-color: var(--color-amber-800);
  }
  .outline-amber-900 {
    outline-color: var(--color-amber-900);
  }
  .outline-amber-950 {
    outline-color: var(--color-amber-950);
  }
  .outline-blue-50 {
    outline-color: var(--color-blue-50);
  }
  .outline-blue-100 {
    outline-color: var(--color-blue-100);
  }
  .outline-blue-200 {
    outline-color: var(--color-blue-200);
  }
  .outline-blue-300 {
    outline-color: var(--color-blue-300);
  }
  .outline-blue-400 {
    outline-color: var(--color-blue-400);
  }
  .outline-blue-500 {
    outline-color: var(--color-blue-500);
  }
  .outline-blue-600 {
    outline-color: var(--color-blue-600);
  }
  .outline-blue-700 {
    outline-color: var(--color-blue-700);
  }
  .outline-blue-800 {
    outline-color: var(--color-blue-800);
  }
  .outline-blue-900 {
    outline-color: var(--color-blue-900);
  }
  .outline-blue-950 {
    outline-color: var(--color-blue-950);
  }
  .outline-cyan-50 {
    outline-color: var(--color-cyan-50);
  }
  .outline-cyan-100 {
    outline-color: var(--color-cyan-100);
  }
  .outline-cyan-200 {
    outline-color: var(--color-cyan-200);
  }
  .outline-cyan-300 {
    outline-color: var(--color-cyan-300);
  }
  .outline-cyan-400 {
    outline-color: var(--color-cyan-400);
  }
  .outline-cyan-500 {
    outline-color: var(--color-cyan-500);
  }
  .outline-cyan-600 {
    outline-color: var(--color-cyan-600);
  }
  .outline-cyan-700 {
    outline-color: var(--color-cyan-700);
  }
  .outline-cyan-800 {
    outline-color: var(--color-cyan-800);
  }
  .outline-cyan-900 {
    outline-color: var(--color-cyan-900);
  }
  .outline-cyan-950 {
    outline-color: var(--color-cyan-950);
  }
  .outline-emerald-50 {
    outline-color: var(--color-emerald-50);
  }
  .outline-emerald-100 {
    outline-color: var(--color-emerald-100);
  }
  .outline-emerald-200 {
    outline-color: var(--color-emerald-200);
  }
  .outline-emerald-300 {
    outline-color: var(--color-emerald-300);
  }
  .outline-emerald-400 {
    outline-color: var(--color-emerald-400);
  }
  .outline-emerald-500 {
    outline-color: var(--color-emerald-500);
  }
  .outline-emerald-600 {
    outline-color: var(--color-emerald-600);
  }
  .outline-emerald-700 {
    outline-color: var(--color-emerald-700);
  }
  .outline-emerald-800 {
    outline-color: var(--color-emerald-800);
  }
  .outline-emerald-900 {
    outline-color: var(--color-emerald-900);
  }
  .outline-emerald-950 {
    outline-color: var(--color-emerald-950);
  }
  .outline-fuchsia-50 {
    outline-color: var(--color-fuchsia-50);
  }
  .outline-fuchsia-100 {
    outline-color: var(--color-fuchsia-100);
  }
  .outline-fuchsia-200 {
    outline-color: var(--color-fuchsia-200);
  }
  .outline-fuchsia-300 {
    outline-color: var(--color-fuchsia-300);
  }
  .outline-fuchsia-400 {
    outline-color: var(--color-fuchsia-400);
  }
  .outline-fuchsia-500 {
    outline-color: var(--color-fuchsia-500);
  }
  .outline-fuchsia-600 {
    outline-color: var(--color-fuchsia-600);
  }
  .outline-fuchsia-700 {
    outline-color: var(--color-fuchsia-700);
  }
  .outline-fuchsia-800 {
    outline-color: var(--color-fuchsia-800);
  }
  .outline-fuchsia-900 {
    outline-color: var(--color-fuchsia-900);
  }
  .outline-fuchsia-950 {
    outline-color: var(--color-fuchsia-950);
  }
  .outline-gray-50 {
    outline-color: var(--color-gray-50);
  }
  .outline-gray-100 {
    outline-color: var(--color-gray-100);
  }
  .outline-gray-200 {
    outline-color: var(--color-gray-200);
  }
  .outline-gray-300 {
    outline-color: var(--color-gray-300);
  }
  .outline-gray-400 {
    outline-color: var(--color-gray-400);
  }
  .outline-gray-500 {
    outline-color: var(--color-gray-500);
  }
  .outline-gray-600 {
    outline-color: var(--color-gray-600);
  }
  .outline-gray-700 {
    outline-color: var(--color-gray-700);
  }
  .outline-gray-800 {
    outline-color: var(--color-gray-800);
  }
  .outline-gray-900 {
    outline-color: var(--color-gray-900);
  }
  .outline-gray-950 {
    outline-color: var(--color-gray-950);
  }
  .outline-green-50 {
    outline-color: var(--color-green-50);
  }
  .outline-green-100 {
    outline-color: var(--color-green-100);
  }
  .outline-green-200 {
    outline-color: var(--color-green-200);
  }
  .outline-green-300 {
    outline-color: var(--color-green-300);
  }
  .outline-green-400 {
    outline-color: var(--color-green-400);
  }
  .outline-green-500 {
    outline-color: var(--color-green-500);
  }
  .outline-green-600 {
    outline-color: var(--color-green-600);
  }
  .outline-green-700 {
    outline-color: var(--color-green-700);
  }
  .outline-green-800 {
    outline-color: var(--color-green-800);
  }
  .outline-green-900 {
    outline-color: var(--color-green-900);
  }
  .outline-green-950 {
    outline-color: var(--color-green-950);
  }
  .outline-indigo-50 {
    outline-color: var(--color-indigo-50);
  }
  .outline-indigo-100 {
    outline-color: var(--color-indigo-100);
  }
  .outline-indigo-200 {
    outline-color: var(--color-indigo-200);
  }
  .outline-indigo-300 {
    outline-color: var(--color-indigo-300);
  }
  .outline-indigo-400 {
    outline-color: var(--color-indigo-400);
  }
  .outline-indigo-500 {
    outline-color: var(--color-indigo-500);
  }
  .outline-indigo-600 {
    outline-color: var(--color-indigo-600);
  }
  .outline-indigo-700 {
    outline-color: var(--color-indigo-700);
  }
  .outline-indigo-800 {
    outline-color: var(--color-indigo-800);
  }
  .outline-indigo-900 {
    outline-color: var(--color-indigo-900);
  }
  .outline-indigo-950 {
    outline-color: var(--color-indigo-950);
  }
  .outline-lime-50 {
    outline-color: var(--color-lime-50);
  }
  .outline-lime-100 {
    outline-color: var(--color-lime-100);
  }
  .outline-lime-200 {
    outline-color: var(--color-lime-200);
  }
  .outline-lime-300 {
    outline-color: var(--color-lime-300);
  }
  .outline-lime-400 {
    outline-color: var(--color-lime-400);
  }
  .outline-lime-500 {
    outline-color: var(--color-lime-500);
  }
  .outline-lime-600 {
    outline-color: var(--color-lime-600);
  }
  .outline-lime-700 {
    outline-color: var(--color-lime-700);
  }
  .outline-lime-800 {
    outline-color: var(--color-lime-800);
  }
  .outline-lime-900 {
    outline-color: var(--color-lime-900);
  }
  .outline-lime-950 {
    outline-color: var(--color-lime-950);
  }
  .outline-neutral-50 {
    outline-color: var(--color-neutral-50);
  }
  .outline-neutral-100 {
    outline-color: var(--color-neutral-100);
  }
  .outline-neutral-200 {
    outline-color: var(--color-neutral-200);
  }
  .outline-neutral-300 {
    outline-color: var(--color-neutral-300);
  }
  .outline-neutral-400 {
    outline-color: var(--color-neutral-400);
  }
  .outline-neutral-500 {
    outline-color: var(--color-neutral-500);
  }
  .outline-neutral-600 {
    outline-color: var(--color-neutral-600);
  }
  .outline-neutral-700 {
    outline-color: var(--color-neutral-700);
  }
  .outline-neutral-800 {
    outline-color: var(--color-neutral-800);
  }
  .outline-neutral-900 {
    outline-color: var(--color-neutral-900);
  }
  .outline-neutral-950 {
    outline-color: var(--color-neutral-950);
  }
  .outline-orange-50 {
    outline-color: var(--color-orange-50);
  }
  .outline-orange-100 {
    outline-color: var(--color-orange-100);
  }
  .outline-orange-200 {
    outline-color: var(--color-orange-200);
  }
  .outline-orange-300 {
    outline-color: var(--color-orange-300);
  }
  .outline-orange-400 {
    outline-color: var(--color-orange-400);
  }
  .outline-orange-500 {
    outline-color: var(--color-orange-500);
  }
  .outline-orange-600 {
    outline-color: var(--color-orange-600);
  }
  .outline-orange-700 {
    outline-color: var(--color-orange-700);
  }
  .outline-orange-800 {
    outline-color: var(--color-orange-800);
  }
  .outline-orange-900 {
    outline-color: var(--color-orange-900);
  }
  .outline-orange-950 {
    outline-color: var(--color-orange-950);
  }
  .outline-pink-50 {
    outline-color: var(--color-pink-50);
  }
  .outline-pink-100 {
    outline-color: var(--color-pink-100);
  }
  .outline-pink-200 {
    outline-color: var(--color-pink-200);
  }
  .outline-pink-300 {
    outline-color: var(--color-pink-300);
  }
  .outline-pink-400 {
    outline-color: var(--color-pink-400);
  }
  .outline-pink-500 {
    outline-color: var(--color-pink-500);
  }
  .outline-pink-600 {
    outline-color: var(--color-pink-600);
  }
  .outline-pink-700 {
    outline-color: var(--color-pink-700);
  }
  .outline-pink-800 {
    outline-color: var(--color-pink-800);
  }
  .outline-pink-900 {
    outline-color: var(--color-pink-900);
  }
  .outline-pink-950 {
    outline-color: var(--color-pink-950);
  }
  .outline-purple-50 {
    outline-color: var(--color-purple-50);
  }
  .outline-purple-100 {
    outline-color: var(--color-purple-100);
  }
  .outline-purple-200 {
    outline-color: var(--color-purple-200);
  }
  .outline-purple-300 {
    outline-color: var(--color-purple-300);
  }
  .outline-purple-400 {
    outline-color: var(--color-purple-400);
  }
  .outline-purple-500 {
    outline-color: var(--color-purple-500);
  }
  .outline-purple-600 {
    outline-color: var(--color-purple-600);
  }
  .outline-purple-700 {
    outline-color: var(--color-purple-700);
  }
  .outline-purple-800 {
    outline-color: var(--color-purple-800);
  }
  .outline-purple-900 {
    outline-color: var(--color-purple-900);
  }
  .outline-purple-950 {
    outline-color: var(--color-purple-950);
  }
  .outline-red-50 {
    outline-color: var(--color-red-50);
  }
  .outline-red-100 {
    outline-color: var(--color-red-100);
  }
  .outline-red-200 {
    outline-color: var(--color-red-200);
  }
  .outline-red-300 {
    outline-color: var(--color-red-300);
  }
  .outline-red-400 {
    outline-color: var(--color-red-400);
  }
  .outline-red-500 {
    outline-color: var(--color-red-500);
  }
  .outline-red-600 {
    outline-color: var(--color-red-600);
  }
  .outline-red-700 {
    outline-color: var(--color-red-700);
  }
  .outline-red-800 {
    outline-color: var(--color-red-800);
  }
  .outline-red-900 {
    outline-color: var(--color-red-900);
  }
  .outline-red-950 {
    outline-color: var(--color-red-950);
  }
  .outline-rose-50 {
    outline-color: var(--color-rose-50);
  }
  .outline-rose-100 {
    outline-color: var(--color-rose-100);
  }
  .outline-rose-200 {
    outline-color: var(--color-rose-200);
  }
  .outline-rose-300 {
    outline-color: var(--color-rose-300);
  }
  .outline-rose-400 {
    outline-color: var(--color-rose-400);
  }
  .outline-rose-500 {
    outline-color: var(--color-rose-500);
  }
  .outline-rose-600 {
    outline-color: var(--color-rose-600);
  }
  .outline-rose-700 {
    outline-color: var(--color-rose-700);
  }
  .outline-rose-800 {
    outline-color: var(--color-rose-800);
  }
  .outline-rose-900 {
    outline-color: var(--color-rose-900);
  }
  .outline-rose-950 {
    outline-color: var(--color-rose-950);
  }
  .outline-sky-50 {
    outline-color: var(--color-sky-50);
  }
  .outline-sky-100 {
    outline-color: var(--color-sky-100);
  }
  .outline-sky-200 {
    outline-color: var(--color-sky-200);
  }
  .outline-sky-300 {
    outline-color: var(--color-sky-300);
  }
  .outline-sky-400 {
    outline-color: var(--color-sky-400);
  }
  .outline-sky-500 {
    outline-color: var(--color-sky-500);
  }
  .outline-sky-600 {
    outline-color: var(--color-sky-600);
  }
  .outline-sky-700 {
    outline-color: var(--color-sky-700);
  }
  .outline-sky-800 {
    outline-color: var(--color-sky-800);
  }
  .outline-sky-900 {
    outline-color: var(--color-sky-900);
  }
  .outline-sky-950 {
    outline-color: var(--color-sky-950);
  }
  .outline-slate-50 {
    outline-color: var(--color-slate-50);
  }
  .outline-slate-100 {
    outline-color: var(--color-slate-100);
  }
  .outline-slate-200 {
    outline-color: var(--color-slate-200);
  }
  .outline-slate-300 {
    outline-color: var(--color-slate-300);
  }
  .outline-slate-400 {
    outline-color: var(--color-slate-400);
  }
  .outline-slate-500 {
    outline-color: var(--color-slate-500);
  }
  .outline-slate-600 {
    outline-color: var(--color-slate-600);
  }
  .outline-slate-700 {
    outline-color: var(--color-slate-700);
  }
  .outline-slate-800 {
    outline-color: var(--color-slate-800);
  }
  .outline-slate-900 {
    outline-color: var(--color-slate-900);
  }
  .outline-slate-950 {
    outline-color: var(--color-slate-950);
  }
  .outline-stone-50 {
    outline-color: var(--color-stone-50);
  }
  .outline-stone-100 {
    outline-color: var(--color-stone-100);
  }
  .outline-stone-200 {
    outline-color: var(--color-stone-200);
  }
  .outline-stone-300 {
    outline-color: var(--color-stone-300);
  }
  .outline-stone-400 {
    outline-color: var(--color-stone-400);
  }
  .outline-stone-500 {
    outline-color: var(--color-stone-500);
  }
  .outline-stone-600 {
    outline-color: var(--color-stone-600);
  }
  .outline-stone-700 {
    outline-color: var(--color-stone-700);
  }
  .outline-stone-800 {
    outline-color: var(--color-stone-800);
  }
  .outline-stone-900 {
    outline-color: var(--color-stone-900);
  }
  .outline-stone-950 {
    outline-color: var(--color-stone-950);
  }
  .outline-teal-50 {
    outline-color: var(--color-teal-50);
  }
  .outline-teal-100 {
    outline-color: var(--color-teal-100);
  }
  .outline-teal-200 {
    outline-color: var(--color-teal-200);
  }
  .outline-teal-300 {
    outline-color: var(--color-teal-300);
  }
  .outline-teal-400 {
    outline-color: var(--color-teal-400);
  }
  .outline-teal-500 {
    outline-color: var(--color-teal-500);
  }
  .outline-teal-600 {
    outline-color: var(--color-teal-600);
  }
  .outline-teal-700 {
    outline-color: var(--color-teal-700);
  }
  .outline-teal-800 {
    outline-color: var(--color-teal-800);
  }
  .outline-teal-900 {
    outline-color: var(--color-teal-900);
  }
  .outline-teal-950 {
    outline-color: var(--color-teal-950);
  }
  .outline-violet-50 {
    outline-color: var(--color-violet-50);
  }
  .outline-violet-100 {
    outline-color: var(--color-violet-100);
  }
  .outline-violet-200 {
    outline-color: var(--color-violet-200);
  }
  .outline-violet-300 {
    outline-color: var(--color-violet-300);
  }
  .outline-violet-400 {
    outline-color: var(--color-violet-400);
  }
  .outline-violet-500 {
    outline-color: var(--color-violet-500);
  }
  .outline-violet-600 {
    outline-color: var(--color-violet-600);
  }
  .outline-violet-700 {
    outline-color: var(--color-violet-700);
  }
  .outline-violet-800 {
    outline-color: var(--color-violet-800);
  }
  .outline-violet-900 {
    outline-color: var(--color-violet-900);
  }
  .outline-violet-950 {
    outline-color: var(--color-violet-950);
  }
  .outline-yellow-50 {
    outline-color: var(--color-yellow-50);
  }
  .outline-yellow-100 {
    outline-color: var(--color-yellow-100);
  }
  .outline-yellow-200 {
    outline-color: var(--color-yellow-200);
  }
  .outline-yellow-300 {
    outline-color: var(--color-yellow-300);
  }
  .outline-yellow-400 {
    outline-color: var(--color-yellow-400);
  }
  .outline-yellow-500 {
    outline-color: var(--color-yellow-500);
  }
  .outline-yellow-600 {
    outline-color: var(--color-yellow-600);
  }
  .outline-yellow-700 {
    outline-color: var(--color-yellow-700);
  }
  .outline-yellow-800 {
    outline-color: var(--color-yellow-800);
  }
  .outline-yellow-900 {
    outline-color: var(--color-yellow-900);
  }
  .outline-yellow-950 {
    outline-color: var(--color-yellow-950);
  }
  .outline-zinc-50 {
    outline-color: var(--color-zinc-50);
  }
  .outline-zinc-100 {
    outline-color: var(--color-zinc-100);
  }
  .outline-zinc-200 {
    outline-color: var(--color-zinc-200);
  }
  .outline-zinc-300 {
    outline-color: var(--color-zinc-300);
  }
  .outline-zinc-400 {
    outline-color: var(--color-zinc-400);
  }
  .outline-zinc-500 {
    outline-color: var(--color-zinc-500);
  }
  .outline-zinc-600 {
    outline-color: var(--color-zinc-600);
  }
  .outline-zinc-700 {
    outline-color: var(--color-zinc-700);
  }
  .outline-zinc-800 {
    outline-color: var(--color-zinc-800);
  }
  .outline-zinc-900 {
    outline-color: var(--color-zinc-900);
  }
  .outline-zinc-950 {
    outline-color: var(--color-zinc-950);
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.1))) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.06)));
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow( 0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .\[setup\:fuseki\] {
    setup: fuseki;
  }
  .transition {
    transition: var(--transition);
  }
}
.ld-loader {
  width: 1.5em;
  height: 1.5em;
  color: var(--color-gray-500);
  display: inline-block;
  vertical-align: middle;
}
.ld-loader__track {
  stroke-width: 2;
  opacity: 0.2;
}
.ld-loader__arc {
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 56.5;
  stroke-dashoffset: 42.4;
  transform-origin: center;
  animation: ld-loader-spin 900ms linear infinite;
}
@keyframes ld-loader-spin {
  to {
    transform: rotate(360deg);
  }
}
.ld-loader--infinity {
  width: 3em;
  height: 1.5em;
  color: var(--color-primary-500);
}
.ld-loader--infinity path {
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 160;
  stroke-dashoffset: 160;
  animation: ld-loader-infinity-trace 2400ms ease-in-out infinite;
}
@keyframes ld-loader-infinity-trace {
  0% {
    stroke-dashoffset: 160;
  }
  50% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -160;
  }
}
.ld-error {
  width: 1.25em;
  height: 1.25em;
  color: var(--color-error);
  display: inline-block;
  vertical-align: middle;
}
.ld-error line {
  stroke-width: 2;
  stroke-linecap: round;
}
:root {
  --layer-base: 0;
  --layer-surface: 10;
  --layer-popover: 30;
  --layer-modal: 50;
  --layer-overlay: 40;
  --layer-tooltip: 100;
  --bg-panel: var(--color-white);
  --bg-hover: var(--color-gray-100);
  --bg-active: var(--color-primary-100);
  --bg-focus: var(--color-primary-50);
  --bg-disabled: var(--color-gray-200);
  --bg-overlay: color-mix(in srgb, oklch(21% 0.034 264.665) 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --bg-overlay: color-mix(in srgb, var(--color-gray-900) 60%, transparent);
  }
  --border-focus: var(--color-primary-500);
  --border-default: var(--color-gray-200);
  --border-strong: var(--color-gray-300);
  --border-hover: var(--color-gray-400);
  --border-active: var(--color-gray-500);
  --border-disabled: var(--color-gray-200);
  --text-primary: var(--color-gray-900);
  --text-auxiliary: var(--color-gray-600);
  --text-placeholder: var(--color-gray-500);
  --text-disabled: var(--color-gray-400);
  --transition-duration-fast: 150ms;
  --transition-duration-normal: 300ms;
  --transition-duration-slow: 500ms;
  --transition-easing: var(--default-transition-timing-function);
  --transition-fast: all var(--transition-duration-fast) var(--transition-easing);
  --transition-normal: all var(--default-transition-duration) var(--default-transition-timing-function);
  --transition-slow: all var(--transition-duration-slow) var(--transition-easing);
  --transition: var(--transition-normal);
  --section-bg: var(--color-gray-50);
  --section-border: transparent;
  --section-text: var(--text-primary);
  --section-padding: calc(var(--spacing) * 16);
  --section-gap: calc(var(--spacing) * 8);
  --section-radius: var(--radius-section);
  --section-shadow: var(--shadow-section);
  --surface-bg: var(--color-gray-100);
  --surface-border: var(--border-default);
  --surface-text: var(--text-primary);
  --surface-padding: calc(var(--spacing) * 6);
  --surface-gap: calc(var(--spacing) * 4);
  --surface-radius: var(--radius-surface);
  --surface-shadow: var(--shadow-surface);
  --box-bg: var(--bg-panel);
  --box-border: var(--border-default);
  --box-text: var(--text-primary);
  --box-padding: calc(var(--spacing) * 6);
  --box-gap: calc(var(--spacing) * 4);
  --box-radius: var(--radius-box);
  --box-shadow: var(--shadow-box);
  --popover-bg: var(--bg-panel);
  --popover-border: var(--border-default);
  --popover-text: var(--text-primary);
  --popover-padding: calc(var(--spacing) * 4);
  --popover-gap: calc(var(--spacing) * 2);
  --popover-radius: var(--radius-popover);
  --popover-shadow: var(--shadow-popover);
  --modal-bg: var(--bg-panel);
  --modal-border: var(--border-default);
  --modal-text: var(--text-primary);
  --modal-padding: calc(var(--spacing) * 6);
  --modal-gap: calc(var(--spacing) * 4);
  --modal-overlay-bg: var(--bg-overlay);
  --modal-radius: var(--radius-modal);
  --modal-shadow: var(--shadow-modal);
  --navigation-bg: transparent;
  --navigation-border: var(--border-default);
  --navigation-text: var(--color-gray-700);
  --navigation-text-active: var(--text-primary);
  --navigation-padding: calc(var(--spacing) * 2);
  --navigation-gap: calc(var(--spacing) * 2);
  --navigation-radius: var(--radius-navigation);
  --navigation-shadow: var(--shadow-navigation);
  --list-item-bg: transparent;
  --list-item-bg-hover: var(--bg-hover);
  --list-item-bg-active: var(--bg-active);
  --list-item-text: var(--text-primary);
  --list-item-text-disabled: var(--text-disabled);
  --list-item-text-auxiliary: var(--text-auxiliary);
  --list-item-padding-x: calc(var(--spacing) * 3);
  --list-item-padding-y: calc(var(--spacing) * 2);
  --list-item-gap: calc(var(--spacing) * 2);
  --list-item-radius: var(--radius-list-item);
  --list-item-shadow: var(--shadow-list-item);
  --control-bg: var(--color-gray-100);
  --control-bg-hover: var(--color-gray-200);
  --control-bg-active: var(--color-gray-300);
  --control-border: var(--border-strong);
  --control-border-hover: var(--border-hover);
  --control-text: var(--text-primary);
  --control-text-contrast: var(--color-white);
  --control-accent: var(--color-primary-500);
  --control-accent-hover: var(--color-primary-700);
  --control-padding-x: calc(var(--spacing) * 4);
  --control-padding-y: calc(var(--spacing) * 2);
  --control-padding-sm-x: calc(var(--spacing) * 3);
  --control-padding-sm-y: calc(var(--spacing) * 1.5);
  --control-padding-lg-x: calc(var(--spacing) * 6);
  --control-padding-lg-y: calc(var(--spacing) * 3);
  --control-gap: calc(var(--spacing) * 2);
  --control-height-sm: var(--field-height-sm);
  --control-height-md: var(--field-height-md);
  --control-height-lg: var(--field-height-lg);
  --control-outline-width: 2px;
  --control-outline-color: var(--control-accent);
  @supports (color: color-mix(in lab, red, red)) {
    --control-outline-color: color-mix(in srgb, var(--control-accent) 60%, transparent);
  }
  --control-outline-offset: 2px;
  --control-radius: var(--radius-control);
  --control-shadow: var(--shadow-control);
  --control-toggle-size: 2.5rem;
  --field-bg: var(--color-white);
  --field-bg-hover: var(--color-gray-50);
  --field-bg-focus: var(--color-white);
  --field-border: var(--color-gray-300);
  --field-border-hover: var(--color-gray-400);
  --field-border-focus: var(--border-focus);
  --field-text: var(--text-primary);
  --field-text-placeholder: var(--text-placeholder);
  --field-padding-x: calc(var(--spacing) * 3);
  --field-padding-y: calc(var(--spacing) * 2);
  --field-height-sm: 2rem;
  --field-height-md: 2.5rem;
  --field-height-lg: 3rem;
  --field-radius: var(--radius-field);
  --field-shadow: var(--shadow-field);
  --field-font-family: var(--typography-font-family);
  --field-font-size: var(--typography-font-size);
  --field-font-size-sm: var(--text-sm);
  --field-font-size-lg: var(--text-lg);
  --field-font-weight: var(--typography-font-weight);
  --field-line-height: var(--typography-line-height);
  --selector-trigger-bg: var(--field-bg);
  --selector-trigger-border: var(--field-border);
  --selector-trigger-text: var(--field-text);
  --selector-trigger-padding-x: var(--field-padding-x);
  --selector-trigger-padding-y: calc(var(--spacing) * 2);
  --selector-trigger-gap: calc(var(--spacing) * 2);
  --selector-trigger-height-sm: var(--field-height-sm);
  --selector-trigger-height-md: var(--field-height-md);
  --selector-trigger-height-lg: var(--field-height-lg);
  --selector-trigger-icon-size: var(--icon-size-md);
  --selector-trigger-shadow: var(--shadow-selector);
  --selector-panel-bg: var(--popover-bg);
  --selector-panel-border: var(--popover-border);
  --selector-panel-shadow: var(--shadow-popover);
  --selector-option-bg: var(--list-item-bg);
  --selector-option-bg-hover: var(--list-item-bg-hover);
  --selector-option-bg-active: var(--list-item-bg-active);
  --selector-option-text: var(--list-item-text);
  --selector-radius: var(--radius-selector);
  --selector-shadow: var(--shadow-selector);
  --choice-bg: var(--field-bg);
  --choice-bg-hover: var(--field-bg-hover);
  --choice-bg-checked: var(--control-accent);
  --choice-border: var(--field-border);
  --choice-border-hover: var(--field-border-hover);
  --choice-border-checked: var(--control-accent);
  --choice-indicator: var(--color-white);
  --choice-text: var(--text-primary);
  --choice-size: calc(var(--spacing) * 6);
  --choice-indicator-size: calc(var(--spacing) * 6);
  --choice-radius: var(--radius-choice);
  --choice-shadow: var(--shadow-choice);
  --choice-gap: calc(var(--spacing) * 3);
  --track-control-width: 100%;
  --track-control-height: calc(var(--spacing) * 5);
  --track-control-track-height: calc(var(--spacing) * 1);
  --track-control-thumb-size: calc(var(--spacing) * 5);
  --track-control-track-bg: var(--color-gray-200);
  --track-control-track-bg-active: var(--control-accent);
  --track-control-track-radius: var(--radius-track-control);
  --track-control-thumb-bg: var(--color-white);
  --track-control-thumb-border: var(--control-accent);
  --track-control-thumb-shadow: var(--shadow-track-control);
  --track-control-radius: var(--radius-track-control);
  --track-control-shadow: var(--shadow-track-control);
  --notification-bg: var(--color-white);
  --notification-border: var(--color-gray-200);
  --notification-text: var(--text-primary);
  --notification-accent: var(--control-accent);
  --notification-padding: calc(var(--spacing) * 4);
  --notification-gap: calc(var(--spacing) * 3);
  --notification-radius: var(--radius-notification);
  --notification-shadow: var(--shadow-notification);
  --meter-track-bg: var(--color-gray-200);
  --meter-indicator-bg: var(--control-accent);
  --meter-text: var(--text-primary);
  --meter-radius: var(--radius-meter);
  --meter-shadow: var(--shadow-meter);
  --media-bg: var(--color-gray-200);
  --media-border: transparent;
  --media-radius: var(--radius-media);
  --media-shadow: var(--shadow-media);
  --avatar-size-sm: calc(var(--spacing) * 8);
  --avatar-size-md: calc(var(--spacing) * 10);
  --avatar-size-lg: calc(var(--spacing) * 12);
  --avatar-radius: var(--radius-full);
  --avatar-bg: var(--media-bg);
  --avatar-color: var(--text-auxiliary);
  --avatar-shadow: var(--media-shadow);
  --avatar-font-weight: var(--font-medium);
  --typography-font-family: var(--font-family-sans);
  --typography-font-size: var(--text-base);
  --typography-font-weight: var(--font-normal);
  --typography-line-height: var(--line-height-normal);
  --typography-line-height-none: 1;
  --typography-color: var(--text-primary);
  --typography-auxiliary-color: var(--text-auxiliary);
  --typography-small-size: var(--text-sm);
  --typography-large-size: var(--text-lg);
  --typography-radius: var(--radius-typography);
  --typography-shadow: var(--shadow-typography);
  --link-color: var(--control-accent);
  --link-color-hover: var(--color-primary-600);
  --link-font-family: var(--font-family-sans);
  --link-font-weight: var(--font-medium);
  --link-text-decoration: underline;
  --link-text-decoration-hover: underline;
  --link-transition: color 0.15s ease-in-out;
  --heading-font-family: var(--font-family-sans);
  --heading-font-weight: var(--font-semibold);
  --heading-line-height: var(--line-height-tight);
  --heading-letter-spacing: var(--letter-spacing-tight);
  --heading-color: var(--text-primary);
  --heading-font-style: normal;
  --heading-1-font-family: var(--heading-font-family);
  --heading-1-font-size: 2.25rem;
  --heading-1-font-weight: var(--heading-font-weight);
  --heading-1-line-height: var(--heading-line-height);
  --heading-1-letter-spacing: var(--heading-letter-spacing);
  --heading-1-color: var(--heading-color);
  --heading-1-font-style: var(--heading-font-style);
  --heading-1-margin-top: calc(var(--spacing) * 0);
  --heading-1-margin-bottom: calc(var(--spacing) * 4);
  --heading-2-font-family: var(--heading-font-family);
  --heading-2-font-size: 1.875rem;
  --heading-2-font-weight: var(--heading-font-weight);
  --heading-2-line-height: var(--heading-line-height);
  --heading-2-letter-spacing: var(--heading-letter-spacing);
  --heading-2-color: var(--heading-color);
  --heading-2-font-style: var(--heading-font-style);
  --heading-2-margin-top: calc(var(--spacing) * 0);
  --heading-2-margin-bottom: calc(var(--spacing) * 3);
  --heading-3-font-family: var(--heading-font-family);
  --heading-3-font-size: 1.5rem;
  --heading-3-font-weight: var(--heading-font-weight);
  --heading-3-line-height: var(--heading-line-height);
  --heading-3-letter-spacing: var(--heading-letter-spacing);
  --heading-3-color: var(--heading-color);
  --heading-3-font-style: var(--heading-font-style);
  --heading-3-margin-top: calc(var(--spacing) * 0);
  --heading-3-margin-bottom: calc(var(--spacing) * 3);
  --heading-4-font-family: var(--heading-font-family);
  --heading-4-font-size: 1.25rem;
  --heading-4-font-weight: var(--heading-font-weight);
  --heading-4-line-height: var(--heading-line-height);
  --heading-4-letter-spacing: var(--heading-letter-spacing);
  --heading-4-color: var(--heading-color);
  --heading-4-font-style: var(--heading-font-style);
  --heading-4-margin-top: calc(var(--spacing) * 0);
  --heading-4-margin-bottom: calc(var(--spacing) * 2);
  --heading-5-font-family: var(--heading-font-family);
  --heading-5-font-size: 1.125rem;
  --heading-5-font-weight: var(--heading-font-weight);
  --heading-5-line-height: var(--heading-line-height);
  --heading-5-letter-spacing: var(--heading-letter-spacing);
  --heading-5-color: var(--heading-color);
  --heading-5-font-style: var(--heading-font-style);
  --heading-5-margin-top: calc(var(--spacing) * 0);
  --heading-5-margin-bottom: calc(var(--spacing) * 2);
  --heading-6-font-family: var(--heading-font-family);
  --heading-6-font-size: 1rem;
  --heading-6-font-weight: var(--heading-font-weight);
  --heading-6-line-height: var(--heading-line-height);
  --heading-6-letter-spacing: var(--heading-letter-spacing);
  --heading-6-color: var(--heading-color);
  --heading-6-font-style: var(--heading-font-style);
  --heading-6-margin-top: calc(var(--spacing) * 0);
  --heading-6-margin-bottom: calc(var(--spacing) * 1);
  --icon-color: var(--color-gray-500);
  --icon-color-active: var(--control-accent);
  --icon-size-sm: 1rem;
  --icon-size-md: 1.25rem;
  --icon-size-lg: 1.5rem;
  --icon-radius: var(--radius-icon);
  --icon-shadow: var(--shadow-icon);
  --separator-color: var(--color-gray-200);
  --separator-thickness: 1px;
  --separator-radius: var(--radius-separator);
  --separator-shadow: var(--shadow-separator);
  --button-primary-bg: var(--control-accent);
  --button-primary-bg-hover: var(--control-accent-hover);
  --button-secondary-bg: var(--color-secondary-500);
  --button-secondary-bg-hover: var(--color-secondary-700);
  --button-tertiary-bg: var(--color-tertiary-500);
  --button-tertiary-bg-hover: var(--color-tertiary-700);
  --button-primary-color: var(--control-text-contrast);
  --button-primary-color-hover: var(--control-text-contrast);
  --button-secondary-color: var(--control-text-contrast);
  --button-secondary-color-hover: var(--control-text-contrast);
  --button-tertiary-color: var(--control-text-contrast);
  --button-tertiary-color-hover: var(--control-text-contrast);
  --button-font-family: var(--typography-font-family);
  --button-font-size: calc(var(--typography-font-size) - 0.0625rem);
  --button-font-size-sm: calc(var(--typography-font-size) - 0.125rem);
  --button-font-weight: var(--typography-font-weight);
  --button-line-height: var(--typography-line-height);
  --button-gap: calc(var(--spacing) * 2);
  --button-padding-x: calc(var(--spacing) * 4);
  --button-padding-y: calc(var(--spacing) * 2);
  --button-padding-sm-x: calc(var(--spacing) * 3);
  --button-padding-sm-y: calc(var(--spacing) * 1.5);
  --button-padding-lg-x: calc(var(--spacing) * 6);
  --button-padding-lg-y: calc(var(--spacing) * 3);
  --button-height-sm: calc(var(--spacing) * 9);
  --button-height-md: calc(var(--spacing) * 10);
  --button-height-lg: calc(var(--spacing) * 11);
  --toggle-size: var(--control-toggle-size);
}
@layer theme {
  :root, :host {
    --tw-duration: var(--default-transition-duration);
    --tw-ease: var(--default-transition-timing-function);
    --tw-rotate-x: ;
    --tw-rotate-y: ;
    --tw-rotate-z: ;
    --tw-skew-x: ;
    --tw-skew-y: ;
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: ;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-gradient-position: to bottom in oklab;
    --tw-gradient-from: transparent;
    --tw-gradient-to: transparent;
    --tw-gradient-via-stops: ;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position, 0%), var(--tw-gradient-to) var(--tw-gradient-to-position, 100%));
    --tw-outline-style: solid;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-color: currentcolor;
    --tw-ring-shadow: ;
    --tw-inset-shadow: ;
    --tw-inset-ring-shadow: ;
    --tw-ring-offset-shadow: ;
    --tw-shadow-color: rgb(0 0 0 / 0.1);
    --tw-shadow: 0 0 #0000;
    --tw-space-x-reverse: 0;
    --tw-space-y-reverse: 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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
    }
  }
}

/*!***********************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/css/theme.css ***!
  \***********************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
:root, :host {
  --bg-page: var(--color-gray-50);
}
:root {
  --control-accent: #F1C638;
  --control-accent-hover: #E08A1A;
  --control-text-contrast: #1A0F00;
  --text-primary: #F2EAD7;
  --text-secondary: rgba(242, 234, 215, 0.78);
  --text-auxiliary: rgba(242, 234, 215, 0.50);
  --text-faint: rgba(242, 234, 215, 0.32);
  --bg-page: #0A1228;
  --bg-2: #0F1A38;
  --bg-rich: linear-gradient(180deg, #0F1A38 0%, #0A1228 60%);
  --bg-panel: rgba(255, 255, 255, 0.06);
  --bg-hover: rgba(255, 255, 255, 0.10);
  --bg-active: rgba(255, 255, 255, 0.14);
  --bg-overlay: rgba(0, 0, 0, 0.55);
  --bg-inset: rgba(0, 0, 0, 0.18);
  --box-bg: rgba(255, 255, 255, 0.06);
  --box-border: rgba(255, 255, 255, 0.10);
  --border-default: rgba(255, 255, 255, 0.10);
  --border-strong: rgba(255, 255, 255, 0.20);
  --border-hover: rgba(255, 255, 255, 0.20);
  --border-focus: #F1C638;
  --media-bg: #F1C638;
  --success: #6EE7B7;
  --warning: #E26D3A;
  --info: #5FB6D9;
  --danger: #E25555;
  --complete: #B889F0;
  --accent-soft: #FFD377;
  --state-open-fg: var(--accent-soft);
  --state-open-dot: var(--control-accent);
  --state-reserved-fg: var(--success);
  --state-reserved-dot: var(--success);
  --state-today-fg: var(--warning);
  --state-today-dot: var(--warning);
  --state-live-fg: var(--control-accent);
  --state-live-dot: var(--control-accent);
  --state-done-fg: var(--complete);
  --state-done-dot: var(--complete);
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --font-family-sans: "Inter", system-ui, -apple-system, sans-serif;
  --font-family-serif: "Spectral", "Source Serif 4", Georgia, serif;
  --font-family-mono: "JetBrains Mono", ui-monospace, monospace;
  --text-2xs: 0.625rem;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --status-bar-h: 62px;
  --home-indicator-h: 34px;
  --nav-clearance: 6.5rem;
}
body {
  background: var(--bg-page);
  color: var(--text-primary);
  font-family: var(--typography-font-family);
}
:where(a, button, summary, input, select, textarea, [role='button'], [role='tab'], [role='radio'], [role='checkbox'], [role='switch'], [tabindex]:not([tabindex='-1'])):focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}
::selection {
  background: var(--control-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--control-accent) 32%, transparent);
  }
  color: var(--text-primary);
}
:where(input, textarea, [contenteditable]) {
  caret-color: var(--control-accent);
}
:root {
  --typography-font-family: var(--font-family-sans);
  --link-font-family: var(--font-family-sans);
  --heading-font-family: var(--font-family-serif);
  --label-font-family: var(--font-family-mono);
  --label-font-weight: 400;
  --label-letter-spacing: 0.12em;
  --badge-font-weight: 700;
  --control-radius: var(--radius-full);
  --radius-control: var(--radius-full);
  --radius-field: var(--radius-md);
  --radius-selector: var(--radius-md);
  --radius-choice: var(--radius-sm);
  --radius-box: var(--radius-lg);
  --box-radius: var(--radius-lg);
  --radius-popover: var(--radius-md);
  --radius-tooltip: var(--radius-sm);
  --radius-modal: var(--radius-xl);
  --radius-navigation: var(--radius-md);
  --radius-list-item: var(--radius-md);
  --shadow-color: rgba(5, 9, 20, 0.45);
  --shadow-box: 0 6px 24px var(--shadow-color), 0 1px 0 rgba(255, 255, 255, 0.05) inset;
  --box-shadow: var(--shadow-box);
  --shadow-modal: 0 -24px 64px var(--shadow-color);
  --shadow-floating-action: 0 10px 24px var(--control-accent), 0 1px 0 rgba(255, 255, 255, 0.25) inset;
  @supports (color: color-mix(in lab, red, red)) {
    --shadow-floating-action: 0 10px 24px color-mix(in srgb, var(--control-accent) 32%, transparent), 0 1px 0 rgba(255, 255, 255, 0.25) inset;
  }
  --text-placeholder: var(--text-auxiliary);
  --border-focus: var(--control-accent);
  --choice-indicator: var(--control-text-contrast);
  --avatar-color: var(--control-text-contrast);
  --tabs-trigger-text: var(--text-secondary);
  --tabs-trigger-text-hover: var(--text-primary);
  --tabs-trigger-text-active: var(--control-accent);
  --tabs-trigger-bg: transparent;
  --tabs-panel-bg: transparent;
  --tabs-border: var(--border-default);
  --tabs-panel-border: var(--border-default);
  --button-secondary-bg: var(--text-secondary);
  --button-secondary-bg-hover: var(--text-primary);
  --button-secondary-color: var(--bg-page);
  --button-secondary-color-hover: var(--bg-page);
  --button-tertiary-bg: var(--text-auxiliary);
  --button-tertiary-bg-hover: var(--text-secondary);
  --button-tertiary-color: var(--bg-page);
  --button-tertiary-color-hover: var(--bg-page);
  --dur-fast: 130ms;
  --dur-normal: 240ms;
  --dur-slow: 380ms;
  --ease-soft: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out: cubic-bezier(0.4, 0, 0.2, 1);
  --space-2xs: 0.125rem;
  --space-xs: 0.25rem;
  --space-xs-plus: 0.375rem;
  --space-sm: 0.5rem;
  --space-sm-plus: 0.625rem;
  --space-md: 0.75rem;
  --space-md-plus: 0.875rem;
  --space-lg: 1rem;
  --space-xl: 1.5rem;
  --space-2xl: 2rem;
  --space-3xl: 2.5rem;
  --layout-padding: 1.5rem;
  --list-gap: var(--space-sm);
  --card-min: 280px;
  --card-narrow: 340px;
  --card: 440px;
  --card-wide: 480px;
  --control-height-sm: 2.25rem;
  --control-height-md: 2.75rem;
  --control-height-lg: 3.25rem;
  --field-height-sm: 2.25rem;
  --field-height-md: 2.75rem;
  --field-height-lg: 3.25rem;
  --button-font-weight: 700;
  --button-padding-x: var(--space-lg);
  --button-padding-y: var(--space-md-plus);
  --button-padding-sm-x: var(--space-md);
  --button-padding-sm-y: var(--space-sm);
  --button-padding-lg-x: var(--space-xl);
  --button-padding-lg-y: var(--space-lg);
}

/*!***********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/css/global-overwrites.css ***!
  \***********************************************************************************************************************************************************************************/
/* Global base overrides — mirrors create-now-serve/src/css/global-overwrites.css.
   App-wide element / base-layer overrides (html, body, scrollbars, resets) live here. */

/*!**************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/css/component-overwrites.css ***!
  \**************************************************************************************************************************************************************************************/
/* Component-level CSS overrides — mirrors create-now-serve/src/css/component-overwrites.css.
   App-wide tweaks to @_linked/primitives / @_linked/ui component styles live here.
   Prefer per-component *.module.css; use this only for cross-cutting component overrides.

   P3.0 — Dusk PRIMITIVE SKIN. @_linked/css/theme-defaults.css already derives most component
   tokens from our state tokens (--button-primary-bg ← --control-accent, --avatar-bg ← --media-bg,
   --modal-bg ← --bg-panel, --choice-bg-checked ← --control-accent, Tabs/Switch/Drawer fall back to
   --bg-panel/--control-accent/--modal-bg). So those primitives theme to all 8 Dusk themes for free.
   The gaps we close here: FIELDS (default to hardcoded light), the Switch off-track, the Drawer
   sheet surface, and the three Dusk variants the primitives lack (danger / glass / press). */

:root {
  /* --- Fields: theme-defaults sets these to hardcoded white/gray, so inputs are invisible on dark
     themes. Re-derive from our state tokens so Input/Textarea/Select/Combobox theme correctly.
     (Input/* fall back to field/*; choice/* + selector-trigger/* also inherit field-bg.) */
  --field-bg: var(--bg-panel);
  --field-bg-hover: var(--bg-hover);
  --field-bg-focus: var(--bg-panel);
  --field-border: var(--border-default);
  --field-border-hover: var(--border-strong);
  /* --field-border-focus already = --border-focus = --control-accent (themed) */
  /* --field-text already = --text-primary (themed) */
  --field-text-placeholder: var(--text-auxiliary);

  /* --- Switch off-track: default is --color-gray-200 (invisible on dark). Use a themed border. */
  --switch-track-bg: var(--border-strong);

  /* --- Drawer / bottom sheet: give it a more opaque themed panel + Dusk radius + visible grabber.
     (Drawer falls back to --modal-bg = translucent --bg-panel otherwise.) */
  --drawer-bg: var(--bg-2);
  --drawer-handle-bg: var(--border-strong);
  --drawer-radius: var(--r-xl);

  /* --- Checkbox: the primitive pushes its check DOWN with a margin-top and sizes the glyph to fill
     the whole box (looked off-center + oversized). Center it + give it padding. (Radio's dot uses
     its own --radiogroup-* tokens, so this only affects the checkbox.) */
  --choice-size: 20px;
  --checkbox-indicator-size: 14px;
  --checkbox-indicator-margin-top: 0;
  --checkbox-radius: var(--r-sm);
}

/* Checkbox check animates in (the indicator only mounts when checked). Targets the stable semantic
   role, so no dependency on hashed module classes. */
button[role='checkbox'] svg {
  animation: checkPop 160ms ease-out;
}
@media (prefers-reduced-motion: reduce) {
  button[role='checkbox'] svg { animation: none; }
}

/* --- Dusk variants the primitives don't ship. Applied via className on the primitive Button /
   IconButton; each just rebinds the component tokens (or adds chrome), staying fully token-driven.
   Wrapper atoms in P3.1/P3.2 will surface these as `tone="danger"` / `glass` / `press` props. */

/* Danger — rebinds the primary tokens, so it works across solid / outline / ghost automatically. */
.serve-danger {
  --button-primary-bg: var(--danger);
  --button-primary-bg-hover: color-mix(in srgb, var(--danger) 82%, black);
  --button-primary-color: #fff;
  --button-primary-color-hover: #fff;
}

/* Glass — translucent blurred chrome for icon buttons sitting over media (DTopBar etc.). Both the
   resting AND hover icon colors must stay light (the default --button-primary-color-hover is the
   dark on-accent ink, which made the icon vanish on hover over dark media). */
.serve-glass {
  --button-primary-bg: color-mix(in srgb, var(--bg-page) 42%, transparent);
  --button-primary-bg-hover: color-mix(in srgb, var(--bg-page) 58%, transparent);
  --button-primary-color: var(--text-primary);
  --button-primary-color-hover: var(--text-primary);
  -webkit-backdrop-filter: blur(var(--blur-md));
  backdrop-filter: blur(var(--blur-md));
  border: 1px solid var(--border-default);
}

/* Press — the pointer-down scale micro-interaction the Dusk buttons use. */
.serve-press {
  transition: transform var(--dur-fast, 130ms) ease;
}
.serve-press:active {
  transform: scale(0.96);
}

/* Ghost — replace the primitive's hover-circle with a glow + slight grow. The primitive's ghost uses
   --button-primary-bg for BOTH the resting icon color AND the hover fill; we repoint that var to a
   neutral ink (so the icon reads at rest) and set the hover ink to the accent, then kill the hover
   fill and add the glow/scale. One !important is needed to beat the primitive's .ghost:hover bg. */
.serve-ghost {
  --button-primary-bg: var(--text-secondary);
  --button-primary-color: var(--control-accent);
  transition: transform var(--dur-fast, 130ms) var(--ease-soft, ease), filter var(--dur-fast, 130ms) var(--ease-soft, ease), color var(--dur-fast, 130ms) var(--ease-soft, ease);
}
.serve-ghost:hover {
  background: transparent !important;
  transform: scale(1.13);
  filter: drop-shadow(0 0 var(--space-2xs) color-mix(in srgb, var(--control-accent) 55%, transparent));
}
.serve-ghost:active {
  transform: scale(1.02);
}

/* Line-clamp utilities — cap text to N lines so a card never grows on long content (defensive sizing).
   `serve-clamp-1` also works as a single-line ellipsis. Applied via className alongside the title/body. */
.serve-clamp-1,
.serve-clamp-2,
.serve-clamp-3,
.serve-clamp-4,
.serve-clamp-5 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-width: 0;
}
.serve-clamp-1 {
  -webkit-line-clamp: 1;
}
.serve-clamp-2 {
  -webkit-line-clamp: 2;
}
.serve-clamp-3 {
  -webkit-line-clamp: 3;
}
.serve-clamp-4 {
  -webkit-line-clamp: 4;
}
.serve-clamp-5 {
  -webkit-line-clamp: 5;
}

/*!************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/css/motion.css ***!
  \************************************************************************************************************************************************************************/
/* P3.0 — Shared motion. Ports the Dusk design's DPAnimations (an injected \3c style> in the
   prototype) to real global CSS keyframes + utilities. Durations/easings reference tokens where
   they exist. Components reference these by name (e.g. animation: drise .35s ease both) or apply
   the .rise stagger wrapper. Keep PURELY presentational — no colors here. */

/* Soft pulsing halo (map pins, live indicators). */
@keyframes dpulse {
  0%, 100% { transform: scale(1); opacity: 0.25; }
  50% { transform: scale(1.6); opacity: 0; }
}

/* Expanding ring (live mission, check-in). */
@keyframes dring {
  0% { transform: scale(1); opacity: 0.55; }
  100% { transform: scale(2.2); opacity: 0; }
}

/* Entrance rise — list items fade up. */
@keyframes drise {
  from { transform: translateY(8px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* Nav orb — breathing + shimmer while a nav menu is open (FuzzyOrb, P3.4). */
@keyframes orbBreathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}
@keyframes orbShimmer {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Scan line — sweeps down a photo during verification. */
@keyframes scanline {
  0% { top: 8%; opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { top: 92%; opacity: 0; }
}

/* Check pop — the checkbox indicator scales + fades in when checked. */
@keyframes checkPop {
  from { transform: scale(0.5); opacity: 0; }
  60% { transform: scale(1.1); }
  to { transform: scale(1); opacity: 1; }
}

/* Theme-apply wave — radiates from the tapped tile (ThemePicker / theme sheet, P3.3). */
@keyframes themeWave {
  from { transform: scale(0); opacity: 0.6; }
  to { transform: scale(3.2); opacity: 0; }
}

/* Staggered entrance: wrap a list in `.rise` and its direct children rise in sequence. */
.rise > * { animation: drise 0.35s ease both; }
.rise > *:nth-child(2) { animation-delay: 0.05s; }
.rise > *:nth-child(3) { animation-delay: 0.10s; }
.rise > *:nth-child(4) { animation-delay: 0.15s; }
.rise > *:nth-child(5) { animation-delay: 0.20s; }
.rise > *:nth-child(6) { animation-delay: 0.25s; }
.rise > *:nth-child(7) { animation-delay: 0.30s; }
.rise > *:nth-child(8) { animation-delay: 0.35s; }

/* Respect reduced-motion. */
@media (prefers-reduced-motion: reduce) {
  .rise > * { animation: none; }
}

/*!***************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/Spinner.module.css ***!
  \***************************************************************************************************************************************************************************************/
.serve_cn_Spinner_spinner.serve_cn_Spinner_active {
  border: 4px solid transparent;
  border-top: 4px solid #474545;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  animation: serve_cn_Spinner_spin 1s linear infinite;
}

@keyframes serve_cn_Spinner_spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*!*************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/Error.module.css ***!
  \*************************************************************************************************************************************************************************************/
.serve_cn_Error_error {
  color: white;
  margin: 2rem;

  pre {
    white-space: pre-wrap;
    padding: 1rem;
  }
}

/*!***************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/@_linked/server-utils/lib/esm/components/Body.module.css ***!
  \***************************************************************************************************************************************************************************************************************************/
.__linked_server_utils_Body_pageDefault {
  display: block;
}

/*!***************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/@_linked/primitives/lib/esm/components/Button.module.css ***!
  \***************************************************************************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@define-mixin focus {
  outline: var(--control-outline-width) solid transparent;
  outline-offset: var(--control-outline-offset);
  box-shadow: 0 0 0 var(--control-outline-width) var(--control-outline-color);
}
@define-mixin disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.__linked_primitives_Button_Root {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: var(--control-radius);
  font-family: var(--button-font-family);
  font-size: var(--button-font-size);
  font-weight: var(--button-font-weight);
  line-height: var(--button-line-height);
  outline: none;
  transition: var(--transition-fast);
  border: solid 1px transparent;
  cursor: pointer;
  gap: var(--button-gap);
  padding: var(--button-padding-y) var(--button-padding-x);
  height: var(--button-height-md);
  &.__linked_primitives_Button_primary {
    &.__linked_primitives_Button_solid {
      background: var(--button-primary-bg);
      color: var(--button-primary-color);
      border-color: var(--button-primary-bg);
      &:hover {
        background: var(--button-primary-bg-hover);
        color: var(--button-primary-color-hover);
      }
    }
    &.__linked_primitives_Button_outline {
      background: transparent;
      color: var(--button-primary-bg);
      border: 1px solid var(--button-primary-bg);
      &:hover {
        background: var(--button-primary-bg);
        color: var(--button-primary-color);
      }
    }
    &.__linked_primitives_Button_ghost,
    &.__linked_primitives_Button_link {
      background: transparent;
      color: var(--button-primary-bg);
    }
    &.__linked_primitives_Button_ghost {
      &:hover {
        background: var(--button-primary-bg);
        color: var(--button-primary-color);
      }
    }
    &.__linked_primitives_Button_link {
      &:hover {
        text-decoration: underline;
      }
    }
  }
  &.__linked_primitives_Button_secondary {
    &.__linked_primitives_Button_solid {
      background: var(--button-secondary-bg);
      color: var(--button-secondary-color);
      border-color: var(--button-secondary-bg);
      &:hover {
        background: var(--button-secondary-bg-hover);
        color: var(--button-secondary-color-hover);
      }
    }
    &.__linked_primitives_Button_outline {
      background: transparent;
      color: var(--button-secondary-bg);
      border: 1px solid var(--button-secondary-bg);
      &:hover {
        background: var(--button-secondary-bg);
        color: var(--button-secondary-color);
      }
    }
    &.__linked_primitives_Button_ghost {
      background: transparent;
      color: var(--button-secondary-bg);
      &:hover {
        background: var(--button-secondary-bg);
        color: var(--button-secondary-color);
      }
    }
    &.__linked_primitives_Button_link {
      background: transparent;
      color: var(--button-secondary-bg);
      &:hover {
        text-decoration: underline;
      }
    }
  }
  &.__linked_primitives_Button_tertiary {
    &.__linked_primitives_Button_solid {
      background: var(--button-tertiary-bg);
      color: var(--button-tertiary-color);
      border-color: var(--button-tertiary-bg);
      &:hover {
        background: var(--button-tertiary-bg-hover);
        color: var(--button-tertiary-color-hover);
      }
    }
    &.__linked_primitives_Button_outline {
      background: transparent;
      color: var(--button-tertiary-bg);
      border: 1px solid var(--button-tertiary-bg);
      &:hover {
        background: var(--button-tertiary-bg);
        color: var(--button-tertiary-color);
      }
    }
    &.__linked_primitives_Button_ghost {
      background: transparent;
      color: var(--button-tertiary-bg);
      &:hover {
        background: var(--button-tertiary-bg);
        color: var(--button-tertiary-color);
      }
    }
    &.__linked_primitives_Button_link {
      background: transparent;
      color: var(--button-tertiary-bg);
      &:hover {
        text-decoration: underline;
      }
    }
  }
  &.__linked_primitives_Button_small {
    padding: var(--button-padding-sm-y) var(--button-padding-sm-x);
    height: var(--button-height-sm);
    font-size: var(--button-font-size-sm);
  }
  &.__linked_primitives_Button_medium,
  &.__linked_primitives_Button_default {
    padding: var(--button-padding-y) var(--button-padding-x);
    height: var(--button-height-md);
  }
  &.__linked_primitives_Button_large {
    padding: var(--button-padding-lg-y) var(--button-padding-lg-x);
    height: var(--button-height-lg);
    font-size: var(--typography-large-size);
  }
}

/*!*******************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/@_linked/primitives/lib/esm/components/IconButton.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
:root, :host {
  --spacing: 0.25rem;
}
@define-mixin focus {
  outline: var(--control-outline-width) solid transparent;
  outline-offset: var(--control-outline-offset);
  box-shadow: 0 0 0 var(--control-outline-width) var(--control-outline-color);
}
@define-mixin disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.__linked_primitives_IconButton_Root {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: var(--iconbutton-radius, var(--control-radius));
  font-size: var(--iconbutton-font-size, var(--typography-small-size));
  font-weight: var(--iconbutton-font-weight, var(--font-medium));
  font-family: var(--iconbutton-font-family, var(--typography-font-family));
  outline: none;
  transition: var(--transition-fast);
  border: solid 1px transparent;
  cursor: pointer;
  gap: var(--iconbutton-gap, calc(var(--spacing) * 2));
  &.__linked_primitives_IconButton_primary {
    &.__linked_primitives_IconButton_solid {
      background: var(--button-primary-bg);
      color: var(--button-primary-color);
      border-color: var(--button-primary-bg);
      &:hover {
        background: var(--button-primary-bg-hover);
        color: var(--button-primary-color-hover);
      }
    }
    &.__linked_primitives_IconButton_outline {
      background: transparent;
      color: var(--button-primary-bg);
      border: 1px solid var(--button-primary-bg);
      &:hover {
        background: var(--button-primary-bg);
        color: var(--button-primary-color);
      }
    }
    &.__linked_primitives_IconButton_ghost {
      background: transparent;
      color: var(--button-primary-bg);
      &:hover {
        background: var(--button-primary-bg);
        color: var(--button-primary-color);
      }
    }
  }
  &.__linked_primitives_IconButton_secondary {
    &.__linked_primitives_IconButton_solid {
      background: var(--button-secondary-bg);
      color: var(--button-secondary-color);
      border-color: var(--button-secondary-bg);
      &:hover {
        background: var(--button-secondary-bg-hover);
        color: var(--button-secondary-color-hover);
      }
    }
    &.__linked_primitives_IconButton_outline {
      background: transparent;
      color: var(--button-secondary-bg);
      border: 1px solid var(--button-secondary-bg);
      &:hover {
        background: var(--button-secondary-bg);
        color: var(--button-secondary-color);
      }
    }
    &.__linked_primitives_IconButton_ghost {
      background: transparent;
      color: var(--button-secondary-bg);
      &:hover {
        background: var(--button-secondary-bg);
        color: var(--button-secondary-color);
      }
    }
  }
  &.__linked_primitives_IconButton_tertiary {
    &.__linked_primitives_IconButton_solid {
      background: var(--button-tertiary-bg);
      color: var(--button-tertiary-color);
      border-color: var(--button-tertiary-bg);
      &:hover {
        background: var(--button-tertiary-bg-hover);
        color: var(--button-tertiary-color-hover);
      }
    }
    &.__linked_primitives_IconButton_outline {
      background: transparent;
      color: var(--button-tertiary-bg);
      border: 1px solid var(--button-tertiary-bg);
      &:hover {
        background: var(--button-tertiary-bg);
        color: var(--button-tertiary-color);
      }
    }
    &.__linked_primitives_IconButton_ghost {
      background: transparent;
      color: var(--button-tertiary-bg);
      &:hover {
        background: var(--button-tertiary-bg);
        color: var(--button-tertiary-color);
      }
    }
  }
  &.__linked_primitives_IconButton_small {
    height: var(--iconbutton-size-sm, var(--control-height-sm));
    width: var(--iconbutton-size-sm, var(--control-height-sm));
  }
  &.__linked_primitives_IconButton_medium,
  &.__linked_primitives_IconButton_default {
    height: var(--iconbutton-size-md, var(--control-height-md));
    width: var(--iconbutton-size-md, var(--control-height-md));
  }
  &.__linked_primitives_IconButton_large {
    height: var(--iconbutton-size-lg, var(--control-height-lg));
    width: var(--iconbutton-size-lg, var(--control-height-lg));
  }
}

/*!***************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/@_linked/primitives/lib/esm/components/Toggle.module.css ***!
  \***************************************************************************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@define-mixin focus {
  outline: var(--control-outline-width) solid transparent;
  outline-offset: var(--control-outline-offset);
  box-shadow: 0 0 0 var(--control-outline-width) var(--control-outline-color);
}
@define-mixin disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
:root, :host {
  --spacing: 0.25rem;
}
.__linked_primitives_Toggle_Root {
  background-color: var(--toggle-bg, var(--control-bg));
  color: var(--toggle-text, var(--control-text));
  height: var(--toggle-size, var(--control-toggle-size));
  min-width: var(--toggle-size, var(--control-toggle-size));
  padding: var(--toggle-padding-y, calc(var(--spacing) * 1))
    var(--toggle-padding-x, calc(var(--spacing) * 2));
  border-radius: var(--toggle-radius, var(--control-radius));
  display: flex;
  font-size: var(--toggle-font-size, var(--typography-font-size));
  line-height: var(--toggle-line-height, var(--typography-line-height-none));
  align-items: center;
  justify-content: center;
  box-shadow: var(--toggle-shadow, var(--control-shadow));
  transition: var(--transition-fast);
  &:hover {
    background-color: var(--toggle-bg-hover, var(--bg-active));
  }
  &[data-state='on'] {
    background-color: var(--toggle-bg-active, var(--control-accent));
    color: var(--toggle-text-active, var(--control-text-contrast));
  }
}

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Initials.module.css ***!
  \**********************************************************************************************************************************************************************************************/
/* Initials — colored disc. bg = --media-bg (or a per-person color inline); text = on-accent ink. */
.serve_cn_Initials_Root {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: var(--radius-full);
  background: var(--media-bg);
  color: var(--control-text-contrast);
  font-family: var(--typography-font-family);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
}

/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Avatar.module.css ***!
  \********************************************************************************************************************************************************************************************/
/* Avatar photo — round, cover-fit, themed placeholder bg while loading. */
.serve_cn_Avatar_Root {
  display: block;
  flex-shrink: 0;
  border-radius: var(--radius-full);
  object-fit: cover;
  background: var(--media-bg);
}

/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Spinner.module.css ***!
  \*********************************************************************************************************************************************************************************************/
.serve_cn_Spinner_spinner.serve_cn_Spinner_active {
  border: 4px solid color-mix(in srgb, var(--control-accent) 22%, transparent);
  border-top: 4px solid var(--control-accent);
  border-radius: var(--radius-full);
  width: 16px;
  height: 16px;
  animation: serve_cn_Spinner_spin 1s linear infinite;
}

@keyframes serve_cn_Spinner_spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*!*******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Error.module.css ***!
  \*******************************************************************************************************************************************************************************************/
.serve_cn_Error_error {
  color: white;
  margin: 2rem;

  pre {
    white-space: pre-wrap;
    padding: 1rem;
  }
}

/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Eyebrow.module.css ***!
  \*********************************************************************************************************************************************************************************************/
/* DEyebrow — small uppercase MONO kicker/label (the Dusk label role). Token-driven. */
.serve_cn_Eyebrow_Root {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--label-font-weight);
  letter-spacing: var(--label-letter-spacing);
  text-transform: uppercase;
  color: var(--text-auxiliary);
}

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/TextLink.module.css ***!
  \**********************************************************************************************************************************************************************************************/
/* TextLink — small uppercase accent text action. */
.serve_cn_TextLink_Root {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--control-accent);
  cursor: pointer;
  transition: opacity var(--dur-fast) var(--ease-soft);
}
.serve_cn_TextLink_Root:hover {
  opacity: 0.78;
}

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Skeleton.module.css ***!
  \**********************************************************************************************************************************************************************************************/
/* Skeleton — shimmering loading placeholder. Token-driven; sweep highlight = --bg-hover over --bg-panel. */
.serve_cn_Skeleton_Root {
  display: block;
  border-radius: var(--radius-sm);
  background: linear-gradient(90deg, var(--bg-panel) 25%, var(--bg-hover) 37%, var(--bg-panel) 63%);
  background-size: 200% 100%;
  animation: serve_cn_Skeleton_skeletonShimmer 1.4s ease-in-out infinite;
}

@keyframes serve_cn_Skeleton_skeletonShimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_Skeleton_Root {
    animation: none;
    background: var(--bg-panel);
  }
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/StatePill.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* DStatePill — mission-state badge. Each state maps to a SEMANTIC status token; the bg/border
   derive from it via color-mix, so there's no hardcoded color. Spacing = --space-* tokens. */
.serve_cn_StatePill_Root {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs-plus);
  padding: var(--space-xs-plus) var(--space-sm-plus);
  border-radius: var(--radius-full);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pill-color);
  background: color-mix(in srgb, var(--pill-color) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--pill-color) 32%, transparent);
}

.serve_cn_StatePill_dot {
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--pill-color);
  box-shadow: 0 0 8px var(--pill-color);
}

/* state → semantic status token */
.serve_cn_StatePill_Root[data-state='open'] { --pill-color: var(--control-accent); }
.serve_cn_StatePill_Root[data-state='reserved'] { --pill-color: var(--success); }
.serve_cn_StatePill_Root[data-state='today'] { --pill-color: var(--warning); }
.serve_cn_StatePill_Root[data-state='live'] { --pill-color: var(--control-accent); }
.serve_cn_StatePill_Root[data-state='done'] { --pill-color: var(--complete); }

/*!******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Card.module.css ***!
  \******************************************************************************************************************************************************************************************/
/* Generic surface card — entirely token-driven (LINKED card tokens + Dusk elevation). */
.serve_cn_Card_Root {
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-box);
  box-shadow: var(--shadow-box);
  padding: var(--spacing-card);
}

/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Aurora.module.css ***!
  \********************************************************************************************************************************************************************************************/
/* Aurora — a living cause-print backdrop: a few heavily-blurred colour blobs (one per dominant cause)
   that slowly drift and breathe, so the surface looks like the user's fingerprint. Keyframes only —
   the blob colours are the cause-print data, set inline (computed-visual exemption). */
/* fills its container; the screens give the container min-height:100% so it covers ≥ the viewport */
.serve_cn_Aurora_Root {
  position: absolute;
  inset: 0;
  min-height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.serve_cn_Aurora_blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(64px);
  will-change: transform;
  mix-blend-mode: screen;
}
/* glacial drift — 90–150s, ~3% travel + a hair of scale. Almost imperceptible, but always alive. */
.serve_cn_Aurora_d0 {
  animation: serve_cn_Aurora_auroraDrift0 96s ease-in-out infinite;
}
.serve_cn_Aurora_d1 {
  animation: serve_cn_Aurora_auroraDrift1 132s ease-in-out infinite;
}
.serve_cn_Aurora_d2 {
  animation: serve_cn_Aurora_auroraDrift2 114s ease-in-out infinite;
}
.serve_cn_Aurora_d3 {
  animation: serve_cn_Aurora_auroraDrift3 150s ease-in-out infinite;
}

@keyframes serve_cn_Aurora_auroraDrift0 {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(3%, 2.5%) scale(1.06);
  }
}
@keyframes serve_cn_Aurora_auroraDrift1 {
  0%,
  100% {
    transform: translate(0, 0) scale(1.04);
  }
  50% {
    transform: translate(-3%, 2%) scale(0.98);
  }
}
@keyframes serve_cn_Aurora_auroraDrift2 {
  0%,
  100% {
    transform: translate(0, 0) scale(0.98);
  }
  50% {
    transform: translate(2.5%, -3%) scale(1.05);
  }
}
@keyframes serve_cn_Aurora_auroraDrift3 {
  0%,
  100% {
    transform: translate(0, 0) scale(1.03);
  }
  50% {
    transform: translate(-2.5%, -2%) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_Aurora_blob {
    animation: none;
  }
}

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/VoiceOrb.module.css ***!
  \**********************************************************************************************************************************************************************************************/
/* VoiceOrb — the listening orb: a core sphere with concentric rings that pulse outward while it's
   hearing you, so voice capture is visibly alive. Keyframes only; colours set inline (the Ally tint). */
.serve_cn_VoiceOrb_Root {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.serve_cn_VoiceOrb_core {
  position: relative;
  z-index: 2;
  display: inline-flex;
  transition: transform var(--dur-normal) var(--ease-soft);
}
.serve_cn_VoiceOrb_Root[data-listening] .serve_cn_VoiceOrb_core {
  animation: serve_cn_VoiceOrb_voiceCore 1.6s ease-in-out infinite;
}
.serve_cn_VoiceOrb_ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid;
  opacity: 0;
  pointer-events: none;
}
.serve_cn_VoiceOrb_Root[data-listening] .serve_cn_VoiceOrb_r0 {
  animation: serve_cn_VoiceOrb_voicePulse 2.1s ease-out infinite;
}
.serve_cn_VoiceOrb_Root[data-listening] .serve_cn_VoiceOrb_r1 {
  animation: serve_cn_VoiceOrb_voicePulse 2.1s ease-out infinite 0.7s;
}
.serve_cn_VoiceOrb_Root[data-listening] .serve_cn_VoiceOrb_r2 {
  animation: serve_cn_VoiceOrb_voicePulse 2.1s ease-out infinite 1.4s;
}

@keyframes serve_cn_VoiceOrb_voicePulse {
  0% {
    transform: scale(0.62);
    opacity: 0.55;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}
@keyframes serve_cn_VoiceOrb_voiceCore {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_VoiceOrb_Root[data-listening] .serve_cn_VoiceOrb_core,
  .serve_cn_VoiceOrb_Root[data-listening] .serve_cn_VoiceOrb_r0,
  .serve_cn_VoiceOrb_Root[data-listening] .serve_cn_VoiceOrb_r1,
  .serve_cn_VoiceOrb_Root[data-listening] .serve_cn_VoiceOrb_r2 {
    animation: none;
  }
  .serve_cn_VoiceOrb_ring {
    opacity: 0.3;
  }
}

/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Swatch.module.css ***!
  \********************************************************************************************************************************************************************************************/
/* DSwatch — color chips. Chip backgrounds are data (theme palette); spacing = --space-* tokens,
   chip dimensions are fixed px sizes. */
.serve_cn_Swatch_Root {
  display: flex;
  gap: var(--space-xs-plus);
}

.serve_cn_Swatch_chip {
  flex: 1;
  border-radius: var(--radius-sm);
  border: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);
}

.serve_cn_Swatch_Root[data-size='md'] .serve_cn_Swatch_chip {
  height: 22px;
}

.serve_cn_Swatch_Root[data-size='sm'] {
  gap: var(--space-xs);
}

.serve_cn_Swatch_Root[data-size='sm'] .serve_cn_Swatch_chip {
  flex: 0 0 18px;
  height: 18px;
}

/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Header.module.css ***!
  \********************************************************************************************************************************************************************************************/
/* Header — the one typographic header atom. Accent lives on the kicker + terminal mark only; the
   title stays monochrome. `size` drives the type scale (section → hero); `section` uses the mono
   Eyebrow kicker + baseline alignment, the larger sizes use the italic-serif accent kicker. */
.serve_cn_Header_Root {
  --st-accent: var(--control-accent);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-md);
}
.serve_cn_Header_Root[data-size='section'] {
  align-items: baseline;
  margin-bottom: var(--space-md);
}
.serve_cn_Header_lead {
  flex: none;
  display: inline-flex;
}
.serve_cn_Header_col {
  min-width: 0;
}

.serve_cn_Header_kicker {
  font-family: var(--heading-font-family);
  font-weight: 300;
  font-style: italic;
  line-height: 1.05;
  letter-spacing: 0.005em;
  color: var(--st-accent);
}
.serve_cn_Header_title {
  font-family: var(--heading-font-family);
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1;
  letter-spacing: -0.025em;
  margin-top: var(--space-2xs);
}
.serve_cn_Header_period {
  color: var(--st-accent);
}
.serve_cn_Header_subtitle {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.45;
  color: var(--text-secondary);
  margin-top: var(--space-xs);
}

.serve_cn_Header_Root[data-size='sm'] .serve_cn_Header_title {
  font-size: var(--text-lg);
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.serve_cn_Header_Root[data-size='sm'] {
  align-items: baseline;
}
.serve_cn_Header_Root[data-size='section'] .serve_cn_Header_title {
  font-size: var(--text-2xl);
  letter-spacing: -0.015em;
  margin-top: var(--space-xs);
}
.serve_cn_Header_Root[data-size='md'] .serve_cn_Header_title {
  font-size: var(--text-3xl);
}
.serve_cn_Header_Root[data-size='md'] .serve_cn_Header_kicker {
  font-size: var(--text-lg);
}
.serve_cn_Header_Root[data-size='lg'] .serve_cn_Header_title {
  font-size: var(--text-4xl);
}
.serve_cn_Header_Root[data-size='lg'] .serve_cn_Header_kicker {
  font-size: var(--text-xl);
}
.serve_cn_Header_Root[data-size='xl'] .serve_cn_Header_title {
  font-size: var(--text-5xl);
}
.serve_cn_Header_Root[data-size='xl'] .serve_cn_Header_kicker {
  font-size: var(--text-2xl);
}

/*!******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Stat.module.css ***!
  \******************************************************************************************************************************************************************************************/
/* DStat — label + serif value. Value color defaults to text-primary; --stat-accent overrides.
   `compact` is the smaller detail-row scale; `icon` lays a leading glyph beside the stack. */
.serve_cn_Stat_Root {
  --stat-accent: var(--text-primary);
  display: flex;
  flex-direction: column;
}
/* with a leading icon, the icon sits to the left of the value/label stack */
.serve_cn_Stat_Root[data-has-icon] {
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-sm);
}
.serve_cn_Stat_icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--text-auxiliary);
}
.serve_cn_Stat_stack {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.serve_cn_Stat_value {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--stat-accent);
}
/* compact — the mission "fact" rows: a small bold value + tiny caption */
.serve_cn_Stat_Root[data-size='compact'] .serve_cn_Stat_value {
  font-size: var(--text-base);
  letter-spacing: -0.01em;
}

/* label-first: label over value (gap above the value) */
.serve_cn_Stat_Root[data-emphasis='label-first'] .serve_cn_Stat_value {
  margin-top: var(--space-xs-plus);
}
.serve_cn_Stat_Root[data-size='compact'][data-emphasis='label-first'] .serve_cn_Stat_value {
  margin-top: var(--space-2xs);
}
/* value-first: value over a delicate mono micro-caption */
.serve_cn_Stat_caption {
  margin-top: var(--space-xs);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  font-weight: var(--label-font-weight);
  letter-spacing: var(--label-letter-spacing);
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_Stat_Root[data-size='compact'] .serve_cn_Stat_caption {
  margin-top: var(--space-3xs, 2px);
}

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Selector.module.css ***!
  \**********************************************************************************************************************************************************************************************/
/* Selector — animated check control. Every transition is eased (no harsh/linear changes); the
   spring variants use a gentle overshoot curve. The box fills with --sel-accent on check; the
   indicator uses the on-accent ink. */
.serve_cn_Selector_Root {
  --sel-accent: var(--control-accent);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--border-strong);
  background: transparent;
  cursor: pointer;
  overflow: hidden;
  transition: background 220ms var(--ease-soft), border-color 220ms var(--ease-soft);
}
.serve_cn_Selector_Root:hover {
  border-color: var(--sel-accent);
}
.serve_cn_Selector_Root:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}
.serve_cn_Selector_Root[aria-disabled='true'] {
  cursor: not-allowed;
  opacity: 0.5;
}

/* The box fills on check — except `sweep`, which animates its own fill. */
.serve_cn_Selector_Root[data-checked]:not([data-variant='sweep']) {
  background: var(--sel-accent);
  border-color: var(--sel-accent);
}
.serve_cn_Selector_Root[data-checked][data-variant='sweep'] {
  border-color: var(--sel-accent);
}

/* check — draws on */
.serve_cn_Selector_glyph {
  width: 72%;
  height: 72%;
}
.serve_cn_Selector_check {
  stroke: var(--control-text-contrast);
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 26;
  stroke-dashoffset: 26;
  transition: stroke-dashoffset 280ms cubic-bezier(0.65, 0, 0.35, 1) 70ms;
}
.serve_cn_Selector_Root[data-checked] .serve_cn_Selector_check {
  stroke-dashoffset: 0;
}

/* dot — spring pop */
.serve_cn_Selector_dot {
  width: 42%;
  height: 42%;
  border-radius: var(--radius-full);
  background: var(--control-text-contrast);
  transform: scale(0);
  transition: transform 260ms var(--ease-spring);
}
.serve_cn_Selector_Root[data-checked] .serve_cn_Selector_dot {
  transform: scale(1);
}

/* square — spring pop, settling from a tilt */
.serve_cn_Selector_square {
  width: 42%;
  height: 42%;
  border-radius: 3px;
  background: var(--control-text-contrast);
  transform: scale(0) rotate(-30deg);
  transition: transform 300ms var(--ease-spring);
}
.serve_cn_Selector_Root[data-checked] .serve_cn_Selector_square {
  transform: scale(1) rotate(0deg);
}

/* ring — spring pop */
.serve_cn_Selector_ring {
  width: 48%;
  height: 48%;
  border-radius: var(--radius-full);
  border: 2.5px solid var(--control-text-contrast);
  transform: scale(0);
  transition: transform 260ms var(--ease-spring);
}
.serve_cn_Selector_Root[data-checked] .serve_cn_Selector_ring {
  transform: scale(1);
}

/* sweep — accent rises from the bottom, check fades in over it */
.serve_cn_Selector_sweep {
  position: absolute;
  inset: 0;
  background: var(--sel-accent);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 260ms var(--ease-soft);
}
.serve_cn_Selector_Root[data-checked] .serve_cn_Selector_sweep {
  transform: scaleY(1);
}
.serve_cn_Selector_checkFade {
  stroke: var(--control-text-contrast);
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  transition: opacity 200ms ease 150ms;
}
.serve_cn_Selector_Root[data-checked] .serve_cn_Selector_checkFade {
  opacity: 1;
}

/* field (with label) */
.serve_cn_Selector_Field {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
  user-select: none;
}
.serve_cn_Selector_Field[data-disabled] {
  cursor: not-allowed;
}
.serve_cn_Selector_label {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_Selector_Root,
  .serve_cn_Selector_check,
  .serve_cn_Selector_dot,
  .serve_cn_Selector_square,
  .serve_cn_Selector_ring,
  .serve_cn_Selector_sweep,
  .serve_cn_Selector_checkFade {
    transition-duration: 1ms;
  }
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/SegmentedControl.module.css ***!
  \******************************************************************************************************************************************************************************************************/
/* SegmentedControl — single-select segmented toggle. */
.serve_cn_SegmentedControl_Root {
  display: inline-flex;
  gap: var(--space-2xs);
  padding: var(--space-2xs);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
}
.serve_cn_SegmentedControl_seg {
  flex: 1;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-full);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
  transition: background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.serve_cn_SegmentedControl_on {
  background: var(--control-accent);
  color: var(--control-text-contrast);
}
@media (prefers-reduced-motion: reduce) {
  .serve_cn_SegmentedControl_seg {
    transition: none;
  }
}

/*!******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Chip.module.css ***!
  \******************************************************************************************************************************************************************************************/
/* DChip — selectable pill. Off = panel surface; on = accent fill (--chip-accent, default control). */
.serve_cn_Chip_Root {
  --chip-accent: var(--control-accent);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs-plus);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-full);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
  color: var(--text-primary);
  transition: background var(--dur-fast, 130ms) ease, border-color var(--dur-fast, 130ms) ease;
}

.serve_cn_Chip_Root[data-selected] {
  background: var(--chip-accent);
  border-color: var(--chip-accent);
  color: var(--control-text-contrast);
}
/* soft — always tinted by --chip-accent (reason/tag pills): smaller, colored text, no selection fill */
.serve_cn_Chip_Root[data-soft] {
  padding: var(--space-2xs) var(--space-sm);
  font-size: var(--text-xs);
  background: color-mix(in srgb, var(--chip-accent) 14%, transparent);
  border-color: color-mix(in srgb, var(--chip-accent) 28%, transparent);
  color: var(--chip-accent);
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/ProgressBar.module.css ***!
  \*************************************************************************************************************************************************************************************************/
/* ProgressBar — track + fill, both token-driven. Fill = --bar-color (default control-accent). */
.serve_cn_ProgressBar_Root {
  --bar-color: var(--control-accent);
  width: 100%;
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  overflow: hidden;
}

.serve_cn_ProgressBar_fill {
  height: 100%;
  border-radius: var(--radius-full);
  background: var(--bar-color);
  transition: width var(--dur-normal, 240ms) ease;
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/MiniBadge.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* MiniBadge — dense mono tag. `tone` sets --badge-color; bg/border derive via color-mix. */
.serve_cn_MiniBadge_Root {
  --badge-color: var(--text-auxiliary);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs-plus);
  border-radius: var(--radius-sm);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--badge-color);
  background: color-mix(in srgb, var(--badge-color) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--badge-color) 28%, transparent);
}

.serve_cn_MiniBadge_Root[data-tone='accent'] { --badge-color: var(--control-accent); }
.serve_cn_MiniBadge_Root[data-tone='success'] { --badge-color: var(--success); }
.serve_cn_MiniBadge_Root[data-tone='warning'] { --badge-color: var(--warning); }
.serve_cn_MiniBadge_Root[data-tone='info'] { --badge-color: var(--info); }
.serve_cn_MiniBadge_Root[data-tone='complete'] { --badge-color: var(--complete); }
.serve_cn_MiniBadge_Root[data-tone='danger'] { --badge-color: var(--danger); }

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/DateChip.module.css ***!
  \**********************************************************************************************************************************************************************************************/
/* DateChip — a hard (opaque) themed date stamp for sitting on a cinematic Cover: the page color,
   themed border + day, accent month. The whole badge follows the theme (dark on Dusk, light on Sand…). */
.serve_cn_DateChip_Root {
  --date-color: var(--control-accent);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: var(--space-xs-plus) var(--space-sm);
  border-radius: var(--radius-md);
  background: var(--bg-page);
  border: 1px solid var(--border-strong);
}

.serve_cn_DateChip_month {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--date-color);
}

.serve_cn_DateChip_day {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Verified.module.css ***!
  \**********************************************************************************************************************************************************************************************/
/* Verified marks — jade (--success) trust signals. */
.serve_cn_Verified_Seal {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs-plus);
  padding: var(--space-xs) var(--space-sm-plus);
  border-radius: var(--radius-full);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--success);
  background: color-mix(in srgb, var(--success) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--success) 30%, transparent);
}

.serve_cn_Verified_Name {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--typography-font-family);
  font-weight: 700;
  color: var(--text-primary);
}

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

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/HoursVerified.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* HoursVerified — organizer-cosigned-hours mark (jade by default). */
.serve_cn_HoursVerified_Mark {
  --hv-tint: var(--success);
  display: inline-flex;
  align-items: center;
  color: var(--hv-tint);
}

.serve_cn_HoursVerified_Pill {
  --hv-tint: var(--success);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-xs-plus);
  border-radius: var(--radius-full);
  color: var(--hv-tint);
  background: color-mix(in srgb, var(--hv-tint) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--hv-tint) 30%, transparent);
}
.serve_cn_HoursVerified_label {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/AllyBadge.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* AllyBadge — mono tag with a glowing orb dot. The orb uses the info→complete sweep as Ally's hue. */
.serve_cn_AllyBadge_Root {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs-plus);
  padding: var(--space-xs) var(--space-sm-plus);
  border-radius: var(--radius-full);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-secondary);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
}

.serve_cn_AllyBadge_Root[data-size='sm'] {
  padding: var(--space-2xs) var(--space-sm);
}

.serve_cn_AllyBadge_orb {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle at 35% 30%, var(--info), var(--complete));
  box-shadow: 0 0 8px color-mix(in srgb, var(--info) 60%, transparent);
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/OrDivider.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* OrDivider — centered label over a hairline rule (via a center line behind the label). */
.serve_cn_OrDivider_Root {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
}

.serve_cn_OrDivider_Root::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: var(--border-default);
}

.serve_cn_OrDivider_label {
  position: relative;
  padding: 0 var(--space-md);
  background: var(--bg-page);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/ActionOrb.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* ActionOrb — big circular check-in CTA with an expanding ring. Glow derives from the accent. */
.serve_cn_ActionOrb_Root {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  border-radius: var(--radius-full);
  background: radial-gradient(
    circle at 50% 38%,
    var(--accent-soft) 0%,
    var(--control-accent) 60%,
    color-mix(in srgb, var(--control-accent) 70%, var(--color-black)) 100%
  );
  color: var(--control-text-contrast);
  box-shadow: 0 0 32px color-mix(in srgb, var(--control-accent) 60%, transparent), 0 0 0 6px var(--bg-overlay);
}
.serve_cn_ActionOrb_Root:disabled {
  cursor: not-allowed;
  background: var(--bg-active);
  color: var(--text-auxiliary);
  box-shadow: none;
}

.serve_cn_ActionOrb_ring {
  position: absolute;
  inset: -16px;
  border-radius: var(--radius-full);
  border: 2px solid var(--control-accent);
  opacity: 0.6;
  animation: serve_cn_ActionOrb_dring 1.8s ease-out infinite;
  pointer-events: none;
}

.serve_cn_ActionOrb_icon {
  display: inline-flex;
}
.serve_cn_ActionOrb_label {
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_ActionOrb_ring {
    animation: none;
  }
}

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/GlowCard.module.css ***!
  \**********************************************************************************************************************************************************************************************/
/* GlowCard — tinted gradient panel + corner blob. --glow-tint (default control-accent) drives the
   wash + blob. Spacing = --space-* tokens; the blob is a fixed-size soft radial positioned by
   data-blob. */
.serve_cn_GlowCard_Root {
  --glow-tint: var(--control-accent);
  /* second wash hue; defaults to the primary tint so single-tint cards are unchanged */
  --glow-tint-2: var(--glow-tint);
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  background:
    linear-gradient(
      155deg in oklab,
      color-mix(in srgb, var(--glow-tint) 18%, var(--bg-panel)) 0%,
      color-mix(in srgb, var(--glow-tint-2) 13%, var(--bg-panel)) 38%,
      var(--bg-panel) 70%
    );
  border: 1px solid color-mix(in srgb, var(--glow-tint) 24%, var(--border-default));
}

.serve_cn_GlowCard_Root[data-dashed] {
  background: var(--bg-panel);
  border-style: dashed;
  border-color: var(--border-strong);
}

.serve_cn_GlowCard_blob {
  position: absolute;
  width: 144px;
  height: 144px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle, color-mix(in srgb, var(--glow-tint) 45%, transparent), transparent 70%);
  filter: blur(var(--blur-lg));
  pointer-events: none;
}

.serve_cn_GlowCard_Root[data-blob='top-right'] .serve_cn_GlowCard_blob { top: -32px; right: -32px; }
.serve_cn_GlowCard_Root[data-blob='top-left'] .serve_cn_GlowCard_blob { top: -32px; left: -32px; }
.serve_cn_GlowCard_Root[data-blob='center'] .serve_cn_GlowCard_blob { top: 50%; left: 50%; transform: translate(-50%, -50%); }

.serve_cn_GlowCard_body {
  position: relative;
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/IconBadge.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* IconBadge — generic tinted icon container. Tint defaults to the control accent. */
.serve_cn_IconBadge_Root {
  --badge-tint: var(--control-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  color: var(--badge-tint);
}
.serve_cn_IconBadge_Root[data-shape='round'] {
  border-radius: var(--radius-full);
}
.serve_cn_IconBadge_Root[data-shape='box'] {
  border-radius: var(--radius-md);
}

/* soft — tinted wash + hairline */
.serve_cn_IconBadge_Root[data-variant='soft'] {
  background: color-mix(in srgb, var(--badge-tint) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--badge-tint) 38%, transparent);
}
/* solid — filled, on-accent ink */
.serve_cn_IconBadge_Root[data-variant='solid'] {
  background: var(--badge-tint);
  color: var(--control-text-contrast);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--badge-tint) 45%, transparent);
}
/* ring — emblem: transparent core, accent ring + glow (game medallion) */
.serve_cn_IconBadge_Root[data-variant='ring'] {
  background: var(--bg-rich);
  border: 2px solid color-mix(in srgb, var(--badge-tint) 70%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--badge-tint) 40%, transparent);
}

/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/GlowDot.module.css ***!
  \*********************************************************************************************************************************************************************************************/
/* GlowDot — luminous dot + halo. */
.serve_cn_GlowDot_Root {
  --dot-color: var(--control-accent);
  display: inline-block;
  flex: none;
  border-radius: var(--radius-full);
  background: var(--dot-color);
  box-shadow: 0 0 8px color-mix(in srgb, var(--dot-color) 80%, transparent);
}
.serve_cn_GlowDot_pulse {
  animation: serve_cn_GlowDot_dpulse 2s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .serve_cn_GlowDot_pulse {
    animation: none;
  }
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/TokenDisc.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* TokenDisc — gradient reward/token disc with a serif value. Gradient computed from --disc-tint. */
.serve_cn_TokenDisc_Root {
  --disc-tint: var(--control-accent);
  /* second hue; defaults to the primary tint so single-tint discs are unchanged */
  --disc-tint-2: var(--disc-tint);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  border-radius: var(--radius-full);
  background: radial-gradient(
    circle at 35% 30% in oklab,
    color-mix(in srgb, var(--disc-tint) 55%, var(--color-white)) 0%,
    var(--disc-tint) 45%,
    var(--disc-tint-2) 82%,
    color-mix(in srgb, var(--disc-tint-2) 70%, var(--color-black)) 100%
  );
  color: var(--control-text-contrast);
  font-family: var(--heading-font-family);
  font-weight: 600;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--disc-tint) 45%, transparent);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/DonationBubbles.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* DonationBubbles — cause-colored gift bubbles over a baseline. */
.serve_cn_DonationBubbles_Root {
  position: relative;
  padding: var(--space-2xl) var(--space-sm) var(--space-lg);
}
.serve_cn_DonationBubbles_axis {
  position: absolute;
  left: var(--space-sm);
  right: var(--space-sm);
  top: 50%;
  height: 1px;
  background: color-mix(in srgb, var(--text-primary) 12%, transparent);
}
.serve_cn_DonationBubbles_row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: var(--space-xs);
  min-height: 100px;
}
.serve_cn_DonationBubbles_cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
}
.serve_cn_DonationBubbles_bubble {
  --bubble-color: var(--control-accent);
  border-radius: var(--radius-full);
  /* --bubble-bg defaults to the flat anchor; gradient mode overrides it with a cause sweep */
  background: var(--bubble-bg, var(--bubble-color));
  box-shadow: 0 0 18px color-mix(in srgb, var(--bubble-color) 66%, transparent);
  opacity: 0.85;
}
.serve_cn_DonationBubbles_label {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/CauseIconTile.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* CauseIconTile — rounded gradient medallion. Gradient is set inline from the cause color; radius /
   centering / icon color are tokens. */
.serve_cn_CauseIconTile_Root {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: var(--radius-md);
  color: var(--color-white);
  box-shadow: var(--shadow-box);
}

/*!************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/CauseBadge.module.css ***!
  \************************************************************************************************************************************************************************************************/
/* CauseBadge — conic progress ring + icon disc + label. Ring computed from --cb-tint / --cb-pct. */
.serve_cn_CauseBadge_Root {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xs);
}
.serve_cn_CauseBadge_ringWrap {
  --cb-tint: var(--control-accent);
  --cb-pct: 0%;
  position: relative;
  display: inline-flex;
  flex: none;
}
.serve_cn_CauseBadge_ring {
  position: absolute;
  inset: 0;
  border-radius: var(--radius-full);
  background: conic-gradient(from -90deg, var(--cb-tint) var(--cb-pct), var(--bg-active) 0);
  /* cut the center to make it a ring (mask only on this layer) */
  -webkit-mask: radial-gradient(circle, transparent 58%, var(--color-black) 60%);
  mask: radial-gradient(circle, transparent 58%, var(--color-black) 60%);
}
.serve_cn_CauseBadge_disc {
  position: absolute;
  inset: 22%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--cb-tint) 18%, transparent);
  color: var(--cb-tint);
}
.serve_cn_CauseBadge_label {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-2xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
  text-align: center;
}

/*!*******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/atoms/Cover.module.css ***!
  \*******************************************************************************************************************************************************************************************/
/* Cover — cinematic media backdrop. The sky gradient is set inline (tone data); the sun/scrim/waves
   are positioned here (fixed px sizes), the scrim + waves fading into the themed page. */
.serve_cn_Cover_Root {
  position: relative;
  overflow: hidden;
}

.serve_cn_Cover_sun {
  position: absolute;
  top: 48px;
  left: 50%;
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  border-radius: var(--radius-full);
}

.serve_cn_Cover_scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 30%,
    color-mix(in srgb, var(--bg-page) 65%, transparent) 85%,
    var(--bg-page) 100%
  );
}

.serve_cn_Cover_waves {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 44px;
  opacity: 0.5;
}

.serve_cn_Cover_body {
  position: relative;
  height: 100%;
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/ThemeTile.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* ThemeTile — previews one theme in its own colors. --tile-* are DATA (the theme's palette).
   Spacing = --space-* tokens; fixed dimensions = px; the tile's own colors come inline. */
.serve_cn_ThemeTile_Root {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-lg);
  min-height: 128px;
  padding: var(--space-md-plus) var(--space-md);
  border-radius: var(--radius-lg);
  background: var(--tile-bg);
  border: 2px solid color-mix(in srgb, var(--tile-text) 12%, transparent);
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  transition: border-color var(--dur-normal) var(--ease-soft), box-shadow var(--dur-normal) var(--ease-soft),
    transform var(--dur-normal) var(--ease-spring);
}
.serve_cn_ThemeTile_Root:hover {
  transform: translateY(-2px);
}

.serve_cn_ThemeTile_Root[data-selected] {
  border-color: var(--tile-accent);
  box-shadow: 0 12px 32px color-mix(in srgb, var(--tile-accent) 33%, transparent);
  transform: translateY(-3px);
}

.serve_cn_ThemeTile_glow {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle, color-mix(in srgb, var(--tile-accent) 33%, transparent), transparent 70%);
  filter: blur(var(--blur-lg));
  pointer-events: none;
}

.serve_cn_ThemeTile_swatch {
  position: relative;
}

.serve_cn_ThemeTile_label {
  position: relative;
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-2xl);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--tile-text);
}

.serve_cn_ThemeTile_chosen {
  position: absolute;
  bottom: var(--space-md);
  right: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--radius-full);
  background: var(--tile-accent);
  color: var(--tile-ink);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/ThemePicker.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* ThemePicker — preview card + 2-column tile grid. Spacing = --space-* tokens; tiles carry their
   own theme colors (see ThemeTile). */
.serve_cn_ThemePicker_Root {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.serve_cn_ThemePicker_preview {
  padding: var(--space-lg);
  border-radius: var(--radius-xl);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
}

.serve_cn_ThemePicker_sub {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: 1.3;
  color: var(--text-secondary);
  margin-top: var(--space-sm);
}

.serve_cn_ThemePicker_previewSwatch {
  margin-top: var(--space-md-plus);
}

.serve_cn_ThemePicker_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-sm-plus);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/ListItemRow.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* ListItemRow — the base row. Spacing = --space-* tokens; optional left accent spine via
   --row-accent. */
.serve_cn_ListItemRow_Root {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-md-plus);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
  text-align: left;
}

.serve_cn_ListItemRow_Root[data-dense] {
  padding: var(--space-sm) var(--space-sm-plus);
  gap: var(--space-sm-plus);
}

.serve_cn_ListItemRow_Root[data-selected] {
  border-color: var(--control-accent);
  background: color-mix(in srgb, var(--control-accent) 8%, var(--bg-panel));
}

.serve_cn_ListItemRow_Root[data-clickable] {
  cursor: pointer;
  transition: background var(--dur-fast, 130ms) var(--ease-soft), border-color var(--dur-fast, 130ms) var(--ease-soft);
}
.serve_cn_ListItemRow_Root[data-clickable]:hover {
  background: var(--bg-hover);
  border-color: var(--border-strong);
}
.serve_cn_ListItemRow_Root[data-clickable]:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}

/* Left cause spine. */
.serve_cn_ListItemRow_spine {
  position: absolute;
  left: 0;
  top: var(--space-sm);
  bottom: var(--space-sm);
  width: 3px;
  border-radius: var(--radius-full);
  background: var(--row-accent, var(--control-accent));
}

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

.serve_cn_ListItemRow_body {
  flex: 1;
  min-width: 0; /* allow truncation */
}

.serve_cn_ListItemRow_title {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
}

.serve_cn_ListItemRow_subtitle {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  margin-top: var(--space-2xs);
  line-height: 1.35;
}

.serve_cn_ListItemRow_trailing {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--text-auxiliary);
}

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/StatGrid.module.css ***!
  \**************************************************************************************************************************************************************************************************/
/* StatGrid — equal columns of Stat atoms. `hairline` adds 1px dividers via a border-bg + gap. */
.serve_cn_StatGrid_Root {
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), 1fr);
  gap: var(--space-lg);
}

.serve_cn_StatGrid_Root[data-variant='hairline'] {
  gap: 1px;
  background: var(--border-default);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.serve_cn_StatGrid_Root[data-variant='hairline'] .serve_cn_StatGrid_cell {
  background: var(--bg-panel);
  padding: var(--space-md-plus);
}

/* tile — dark-filled centered tiles (hero stat strips: value on top, label below) */
.serve_cn_StatGrid_Root[data-variant='tile'] {
  gap: var(--space-sm-plus);
}
.serve_cn_StatGrid_Root[data-variant='tile'] .serve_cn_StatGrid_cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--space-md) var(--space-sm);
  background: var(--bg-inset);
  border-radius: var(--radius-md);
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/Callout.module.css ***!
  \*************************************************************************************************************************************************************************************************/
/* Callout — soft tinted note. `tone` sets --callout-color; bg/border derive via color-mix. */
.serve_cn_Callout_Root {
  --callout-color: var(--success);
  display: flex;
  gap: var(--space-sm-plus);
  padding: var(--space-md) var(--space-md-plus);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--callout-color) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--callout-color) 26%, transparent);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.45;
  color: var(--text-secondary);
}

.serve_cn_Callout_Root[data-tone='accent'] { --callout-color: var(--control-accent); }
.serve_cn_Callout_Root[data-tone='warning'] { --callout-color: var(--warning); }
.serve_cn_Callout_Root[data-tone='neutral'] {
  --callout-color: var(--text-auxiliary);
  background: var(--bg-panel);
}
.serve_cn_Callout_Root[data-tone='dashed'] {
  --callout-color: var(--text-auxiliary);
  background: transparent;
  border-style: dashed;
  border-color: var(--border-strong);
}

.serve_cn_Callout_icon {
  display: flex;
  flex-shrink: 0;
  color: var(--callout-color);
  margin-top: var(--space-2xs);
}

.serve_cn_Callout_body {
  min-width: 0;
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/SuccessState.module.css ***!
  \******************************************************************************************************************************************************************************************************/
/* SuccessState — centered confirmation. --success-tone (default --success) colors the medallion. */
.serve_cn_SuccessState_Root {
  --success-tone: var(--success);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
  padding: var(--space-xl) var(--space-lg);
}

.serve_cn_SuccessState_medallion {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: var(--radius-full);
  background: var(--success-tone);
  box-shadow: 0 0 32px color-mix(in srgb, var(--success-tone) 50%, transparent);
}

.serve_cn_SuccessState_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-3xl);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

.serve_cn_SuccessState_body {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--text-secondary);
  max-width: 32ch;
}

.serve_cn_SuccessState_cta {
  margin-top: var(--space-sm);
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/RadioGroup.module.css ***!
  \****************************************************************************************************************************************************************************************************/
/* RadioGroup — single-select dot rows. */
.serve_cn_RadioGroup_Root {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.serve_cn_RadioGroup_option {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
}

.serve_cn_RadioGroup_label {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/AvatarStack.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* AvatarStack — overlapped discs (page-ring separates them) + "+N" chip. */
.serve_cn_AvatarStack_Root {
  display: inline-flex;
  align-items: center;
}

.serve_cn_AvatarStack_item {
  display: inline-flex;
  border-radius: var(--radius-full);
  box-shadow: 0 0 0 2px var(--bg-page);
}

.serve_cn_AvatarStack_more {
  display: inline-flex;
  align-items: center;
  padding: 0 var(--space-sm);
  border-radius: var(--radius-full);
  background: var(--bg-active);
  color: var(--text-secondary);
  font-family: var(--typography-font-family);
  font-weight: 700;
  box-shadow: 0 0 0 2px var(--bg-page);
}

/*!***************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/@_linked/primitives/lib/esm/components/Switch.module.css ***!
  \***************************************************************************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@define-mixin focus {
  outline: var(--control-outline-width) solid transparent;
  outline-offset: var(--control-outline-offset);
  box-shadow: 0 0 0 var(--control-outline-width) var(--control-outline-color);
}
@define-mixin disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
:root, :host {
  --spacing: 0.25rem;
}
.__linked_primitives_Switch_Root {
  width: var(--switch-track-width, calc(var(--spacing) * 11));
  height: var(--switch-track-height, calc(var(--spacing) * 6));
  background-color: var(--switch-track-bg, var(--color-gray-200));
  border-radius: 9999px;
  position: relative;
  box-shadow: var(--switch-track-shadow, var(--shadow-sm));
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  transition: var(--transition-normal);
  &[data-state='checked'] {
    background-color: var(--switch-track-bg-checked, var(--control-accent));
  }
}
.__linked_primitives_Switch_Thumb {
  display: block;
  width: var(--switch-thumb-size, calc(var(--spacing) * 5));
  height: var(--switch-thumb-size, calc(var(--spacing) * 5));
  background-color: var(--switch-thumb-bg, var(--color-white));
  border-radius: 50%;
  box-shadow: var(--switch-thumb-shadow, 0 2px 4px rgba(0, 0, 0, 0.2));
  transition: transform var(--transition-normal);
  transform: translateX(var(--switch-thumb-offset, calc(var(--spacing) * 0.5)));
  will-change: transform;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: calc(var(--switch-thumb-size, calc(var(--spacing) * 5)) / -2);
  &[data-state='checked'] {
    transform: translateX(
      calc(
        var(--switch-track-width, calc(var(--spacing) * 11)) -
          var(--switch-thumb-size, calc(var(--spacing) * 5)) -
          var(--switch-thumb-offset, calc(var(--spacing) * 0.5))
      )
    );
  }
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/SettingsRow.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* SettingsRow — neutral leading icon tile + right-side control treatments. */
.serve_cn_SettingsRow_tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  background: var(--bg-active);
  color: var(--text-secondary);
}

.serve_cn_SettingsRow_value {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--text-auxiliary);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
}

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

.serve_cn_SettingsRow_off {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-faint);
}

.serve_cn_SettingsRow_danger {
  color: var(--danger);
}

/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/SelectableRow.module.css ***!
  \*******************************************************************************************************************************************************************************************************/
/* SelectableRow — the indicator is presentational (row handles the click). */
.serve_cn_SelectableRow_trail {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
}

.serve_cn_SelectableRow_indicator {
  display: inline-flex;
  pointer-events: none;
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/SearchBar.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* SearchBar — pill field, token-driven. */
.serve_cn_SearchBar_Root {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 0 var(--space-md);
  height: var(--control-height-md);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
  transition: border-color var(--dur-fast) var(--ease-soft);
}
.serve_cn_SearchBar_Root:focus-within {
  border-color: var(--border-focus);
}

.serve_cn_SearchBar_icon {
  color: var(--text-auxiliary);
  flex-shrink: 0;
}

.serve_cn_SearchBar_input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;
  color: var(--text-primary);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
}
.serve_cn_SearchBar_input::placeholder {
  color: var(--text-auxiliary);
}

.serve_cn_SearchBar_filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-xs);
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: var(--radius-full);
  transition: color var(--dur-fast) var(--ease-soft);
}
.serve_cn_SearchBar_filter:hover {
  color: var(--control-accent);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/SheetHeader.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* SheetHeader — eyebrow + serif title + body. */
.serve_cn_SheetHeader_Root {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.serve_cn_SheetHeader_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--text-primary);
}

.serve_cn_SheetHeader_body {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--text-secondary);
  margin-top: var(--space-xs);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/FilterBar.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* FilterBar — horizontal scroll, hidden scrollbar. */
.serve_cn_FilterBar_Root {
  display: flex;
  gap: var(--space-sm);
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: var(--space-2xs);
}
.serve_cn_FilterBar_Root::-webkit-scrollbar {
  display: none;
}

/*!*********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/StickyActionBar.module.css ***!
  \*********************************************************************************************************************************************************************************************************/
/* StickyActionBar — bottom CTA with a gradient fade into the page + safe-area padding. */
.serve_cn_StickyActionBar_Root {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-lg) var(--layout-padding);
  padding-bottom: calc(var(--space-lg) + var(--safe-bottom));
  background: linear-gradient(180deg, transparent 0%, var(--bg-page) 36%);
}
.serve_cn_StickyActionBar_Root[data-inline] {
  position: static;
  background: none;
  padding-left: 0;
  padding-right: 0;
}

.serve_cn_StickyActionBar_actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_StickyActionBar_actions > button {
  flex: 1;
}

.serve_cn_StickyActionBar_hint {
  text-align: center;
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/MissionCard.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* MissionCard — tile / angle / calendar layouts (row composes ListItemRow). Token-driven. */
.serve_cn_MissionCard_Card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--shadow-box);
  cursor: pointer;
  transition: transform var(--dur-normal) var(--ease-spring), border-color var(--dur-fast) var(--ease-soft);
}
.serve_cn_MissionCard_Card:hover {
  transform: translateY(-3px);
  border-color: var(--border-strong);
}
.serve_cn_MissionCard_Card:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}

.serve_cn_MissionCard_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--text-primary);
}

.serve_cn_MissionCard_meta {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

.serve_cn_MissionCard_going {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
}

/* tile — compact vertical carousel card */
.serve_cn_MissionCard_Tile {
  min-width: 220px;
  max-width: 260px;
  min-height: 132px;
}
.serve_cn_MissionCard_tileBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
}
.serve_cn_MissionCard_tileTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.serve_cn_MissionCard_footer {
  margin-top: var(--space-2xs);
}

/* angle — lens reason + italic "why" quote */
.serve_cn_MissionCard_Angle {
  min-width: 240px;
  max-width: 300px;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
}
.serve_cn_MissionCard_angleTop {
  display: flex;
}
.serve_cn_MissionCard_why {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-sm);
  line-height: 1.4;
  color: var(--text-secondary);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--border-default);
}

/* calendar — day event row with cause spine */
.serve_cn_MissionCard_Calendar {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  padding: var(--space-md) var(--space-md) var(--space-md) var(--space-lg);
}
.serve_cn_MissionCard_Calendar::before {
  content: '';
  position: absolute;
  left: 0;
  top: var(--space-sm);
  bottom: var(--space-sm);
  width: 3px;
  border-radius: var(--radius-full);
  background: var(--cal-accent, var(--control-accent));
}
.serve_cn_MissionCard_calMeta {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_MissionCard_calBadge {
  margin-top: var(--space-2xs);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--success);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/EventCard.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* EventCard — cover hero (stripe + dark date + glow orb) + body. Token-driven. */
.serve_cn_EventCard_Card {
  position: relative;
  overflow: hidden;
  min-width: 280px;
  max-width: 320px;
  min-height: 150px;
  border-radius: var(--radius-lg);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--shadow-box);
  cursor: pointer;
  transition: transform var(--dur-normal) var(--ease-spring), border-color var(--dur-fast) var(--ease-soft);
}
.serve_cn_EventCard_Card:hover {
  transform: translateY(-3px);
  border-color: var(--border-strong);
}
.serve_cn_EventCard_Card:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}
.serve_cn_EventCard_Card[data-minimal] {
  min-width: 220px;
  max-width: 240px;
}

.serve_cn_EventCard_coverWrap {
  position: relative;
}
/* soft glowing sphere in the cover center */
.serve_cn_EventCard_orb {
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    color-mix(in srgb, var(--info) 55%, var(--color-white)) 0%,
    color-mix(in srgb, var(--info) 30%, transparent) 45%,
    transparent 70%
  );
  filter: blur(var(--blur-sm));
  opacity: 0.7;
  pointer-events: none;
}
/* extra bottom darkening (themed overlay scrim) so the date/tag + body edge read */
.serve_cn_EventCard_coverScrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, var(--bg-overlay));
  pointer-events: none;
}
.serve_cn_EventCard_date {
  position: absolute;
  top: var(--space-sm);
  left: var(--space-sm);
  z-index: 2;
}
/* EVENT tag — a HARD (opaque) themed pill matching the date badge, so it stays legible over the
   cover on every theme (the translucent MiniBadge washed out, esp. on light themes). */
.serve_cn_EventCard_eventTag {
  position: absolute;
  top: var(--space-sm);
  right: var(--space-sm);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--info);
  background: var(--bg-page);
  border: 1px solid color-mix(in srgb, var(--info) 45%, var(--border-strong));
}

.serve_cn_EventCard_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-md);
}
.serve_cn_EventCard_chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.serve_cn_EventCard_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--text-primary);
}
.serve_cn_EventCard_meta {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

.serve_cn_EventCard_friends {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-2xs);
}
.serve_cn_EventCard_friendsLabel {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

.serve_cn_EventCard_footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-top: var(--space-xs);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--border-default);
}
.serve_cn_EventCard_foot {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_EventCard_stat {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 700;
  color: var(--success);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/CauseTile.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* CauseTile — grid + card sizes. --ct-tint is the cause color. */
.serve_cn_CauseTile_GridTile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-md) var(--space-sm);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
  cursor: pointer;
  text-align: center;
  transition: transform var(--dur-normal) var(--ease-spring), border-color var(--dur-fast) var(--ease-soft);
}
.serve_cn_CauseTile_GridTile:hover {
  transform: translateY(-3px);
  border-color: var(--border-strong);
}
.serve_cn_CauseTile_GridTile[data-selected] {
  border-color: var(--ct-tint);
  background: color-mix(in srgb, var(--ct-tint) 10%, var(--bg-panel));
}

.serve_cn_CauseTile_CardTile {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-lg);
  border-radius: var(--radius-lg);
  background: linear-gradient(155deg, color-mix(in srgb, var(--ct-tint) 16%, var(--bg-panel)) 0%, var(--bg-panel) 60%);
  border: 1px solid color-mix(in srgb, var(--ct-tint) 22%, var(--border-default));
  cursor: pointer;
  text-align: left;
  transition: transform var(--dur-normal) var(--ease-spring);
}
.serve_cn_CauseTile_CardTile:hover {
  transform: translateY(-3px);
}
.serve_cn_CauseTile_CardTile[data-selected] {
  border-color: var(--ct-tint);
}

.serve_cn_CauseTile_glow {
  position: absolute;
  top: -32px;
  right: -32px;
  width: 120px;
  height: 120px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle, color-mix(in srgb, var(--ct-tint) 40%, transparent), transparent 70%);
  filter: blur(var(--blur-lg));
  pointer-events: none;
}

.serve_cn_CauseTile_cardBody {
  position: relative;
  display: flex;
  flex-direction: column;
}

.serve_cn_CauseTile_stat {
  display: flex;
  flex-direction: column;
}
.serve_cn_CauseTile_statValue {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  line-height: 1;
  color: var(--text-primary);
}
.serve_cn_CauseTile_statLabel {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}

.serve_cn_CauseTile_name {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--text-secondary);
}

.serve_cn_CauseTile_sub {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  margin-top: var(--space-2xs);
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/ProgressHeader.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* ProgressHeader — back + segmented progress + counter. */
.serve_cn_ProgressHeader_Root {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.serve_cn_ProgressHeader_hiddenBack {
  visibility: hidden;
}

.serve_cn_ProgressHeader_bar {
  display: flex;
  flex: 1;
  gap: var(--space-xs);
}

.serve_cn_ProgressHeader_seg {
  flex: 1;
  height: 4px;
  border-radius: var(--radius-full);
  background: var(--bg-active);
  transition: background var(--dur-normal) var(--ease-soft);
}
.serve_cn_ProgressHeader_seg[data-filled] {
  background: var(--control-accent);
}

.serve_cn_ProgressHeader_counter {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  color: var(--text-auxiliary);
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/OnboardingStep.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* OnboardingStep — step scaffold: header slot, headline block, body, footer slot. */
.serve_cn_OnboardingStep_Root {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.serve_cn_OnboardingStep_head {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* headline = the ScreenTitle atom (white title + colored period) */

.serve_cn_OnboardingStep_sub {
  margin: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--text-secondary);
}

.serve_cn_OnboardingStep_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/PhotoUploader.module.css ***!
  \*******************************************************************************************************************************************************************************************************/
/* PhotoUploader — dashed empty state → photo with a Change overlay. */
.serve_cn_PhotoUploader_Root {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
  background: var(--bg-panel);
  border: 2px dashed var(--border-strong);
  color: var(--text-auxiliary);
  transition: border-color var(--dur-fast) var(--ease-soft), background var(--dur-fast) var(--ease-soft);
}
.serve_cn_PhotoUploader_Root[data-shape='round'] {
  border-radius: var(--radius-full);
}
.serve_cn_PhotoUploader_Root[data-shape='rect'] {
  border-radius: var(--radius-lg);
}
.serve_cn_PhotoUploader_Root[data-filled] {
  border-style: solid;
  border-color: var(--border-default);
}
.serve_cn_PhotoUploader_Root:hover {
  border-color: var(--control-accent);
}

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

.serve_cn_PhotoUploader_empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_PhotoUploader_label {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
}

.serve_cn_PhotoUploader_change {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
  background: var(--bg-overlay);
  color: var(--color-white);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
}

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/Composer.module.css ***!
  \**************************************************************************************************************************************************************************************************/
/* Composer — pill input bar. */
.serve_cn_Composer_Root {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs);
  padding-left: var(--space-md);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
  transition: border-color var(--dur-fast) var(--ease-soft);
}
.serve_cn_Composer_Root:focus-within {
  border-color: var(--border-focus);
}

.serve_cn_Composer_input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;
  color: var(--text-primary);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
}
.serve_cn_Composer_input::placeholder {
  color: var(--text-auxiliary);
}

/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/MapPreviewRow.module.css ***!
  \*******************************************************************************************************************************************************************************************************/
/* MapPreviewRow — map thumb + address + Open. */
.serve_cn_MapPreviewRow_Root {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-sm);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
}

.serve_cn_MapPreviewRow_map {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, var(--bg-2), var(--bg-active));
  border: 1px solid var(--border-default);
}

.serve_cn_MapPreviewRow_body {
  flex: 1;
  min-width: 0;
}
.serve_cn_MapPreviewRow_address {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--text-primary);
}
.serve_cn_MapPreviewRow_detail {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  margin-top: var(--space-2xs);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/PostActions.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* PostActions — engagement row, hairline-topped. */
.serve_cn_PostActions_Root {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--border-default);
}

.serve_cn_PostActions_action {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--text-secondary);
  transition: color var(--dur-fast) var(--ease-soft);
}
.serve_cn_PostActions_action:hover {
  color: var(--text-primary);
}
.serve_cn_PostActions_liked {
  color: var(--control-accent);
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/Pills.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* Small role/status pills. --pill-tint defaults to the control accent. */
.serve_cn_Pills_RolePill {
  --pill-tint: var(--control-accent);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--pill-tint) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--pill-tint) 30%, transparent);
  color: var(--pill-tint);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-soft);
}
.serve_cn_Pills_roleIcon {
  display: inline-flex;
}

.serve_cn_Pills_FollowPill {
  --pill-tint: var(--control-accent);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-full);
  background: transparent;
  border: 1px solid var(--pill-tint);
  color: var(--pill-tint);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 700;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.serve_cn_Pills_FollowPill[data-followed] {
  background: var(--pill-tint);
  color: var(--control-text-contrast);
}

.serve_cn_Pills_Connection {
  --pill-tint: var(--text-auxiliary);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
  color: var(--text-secondary);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
}
.serve_cn_Pills_Connection[data-shared] {
  background: color-mix(in srgb, var(--pill-tint) 14%, transparent);
  border-color: color-mix(in srgb, var(--pill-tint) 30%, transparent);
  color: var(--pill-tint);
}

.serve_cn_Pills_OgStatus {
  --st-color: var(--success);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--st-color) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--st-color) 24%, transparent);
  color: var(--st-color);
}
.serve_cn_Pills_OgStatus[data-status='pending'] {
  --st-color: var(--warning);
}
.serve_cn_Pills_ogBody {
  display: flex;
  flex-direction: column;
}
.serve_cn_Pills_ogLabel {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}
.serve_cn_Pills_ogValue {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--text-primary);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/CalendarNav.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* CalendarNav — prev / label / next. */
.serve_cn_CalendarNav_Root {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}

.serve_cn_CalendarNav_label {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  letter-spacing: -0.01em;
  color: var(--text-primary);
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/AmountSlider.module.css ***!
  \******************************************************************************************************************************************************************************************************/
/* AmountSlider — amount + native range (accent-color themed) + ticks. */
.serve_cn_AmountSlider_Root {
  --slider-tint: var(--control-accent);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.serve_cn_AmountSlider_head {
  display: flex;
  align-items: baseline;
}
.serve_cn_AmountSlider_head[data-with-label] {
  justify-content: space-between;
}
.serve_cn_AmountSlider_amount {
  font-family: var(--heading-font-family);
  font-size: var(--text-4xl);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--slider-tint);
}
.serve_cn_AmountSlider_head[data-with-label] .serve_cn_AmountSlider_amount {
  font-size: var(--text-2xl);
}

.serve_cn_AmountSlider_ticks span[data-active] {
  color: var(--slider-tint);
  font-weight: 700;
}

.serve_cn_AmountSlider_range {
  width: 100%;
  accent-color: var(--slider-tint);
  cursor: pointer;
}

.serve_cn_AmountSlider_ticks {
  display: flex;
  justify-content: space-between;
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/AppHeader.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* AppHeader — brand + actions + avatar, padded for the safe-area top. */
.serve_cn_AppHeader_Root {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-sm) var(--layout-padding);
  padding-top: calc(var(--space-sm) + var(--safe-top));
}

.serve_cn_AppHeader_actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.serve_cn_AppHeader_bell {
  position: relative;
  display: inline-flex;
}
.serve_cn_AppHeader_badge {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 16px;
  height: 16px;
  padding: 0 var(--space-2xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background: var(--control-accent);
  color: var(--control-text-contrast);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 700;
}

.serve_cn_AppHeader_avatarBtn {
  display: inline-flex;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

/*!*********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/EndorsementCard.module.css ***!
  \*********************************************************************************************************************************************************************************************************/
/* EndorsementCard — quote + attribution. */
.serve_cn_EndorsementCard_Root {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}

.serve_cn_EndorsementCard_quote {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--text-secondary);
}

.serve_cn_EndorsementCard_attrRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_EndorsementCard_attr {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
}
.serve_cn_EndorsementCard_attrBody {
  display: flex;
  flex-direction: column;
}
.serve_cn_EndorsementCard_meta {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  margin-top: var(--space-2xs);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/OfferCard.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* OfferCard — Gratitude reward card (cover lockup + cause stripe + cost). */
.serve_cn_OfferCard_Root {
  position: relative;
  display: flex;
  gap: var(--space-sm);
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  padding: 0;
  text-align: left;
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-box);
  overflow: hidden;
  cursor: pointer;
}

.serve_cn_OfferCard_cover {
  position: relative;
  width: 80px;
  flex: none;
}
.serve_cn_OfferCard_cover > * {
  width: 80px;
}
.serve_cn_OfferCard_coverText {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  font-family: var(--heading-font-family);
  font-style: italic;
  font-weight: 400;
  font-size: var(--text-2xl);
  color: var(--color-white);
  text-shadow: 0 2px 8px color-mix(in srgb, var(--color-black) 50%, transparent);
}
.serve_cn_OfferCard_coverText[data-kind='discount'] {
  font-size: var(--text-xl);
}

.serve_cn_OfferCard_body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  padding: var(--space-sm) var(--space-sm) var(--space-sm) 0;
  min-width: 0;
}
.serve_cn_OfferCard_badges {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
}
.serve_cn_OfferCard_causeBadge {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--offer-tint);
}
.serve_cn_OfferCard_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  line-height: 1.15;
  color: var(--text-primary);
}
.serve_cn_OfferCard_biz {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_OfferCard_meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-top: var(--space-2xs);
  padding-top: var(--space-xs);
  border-top: 1px solid var(--box-border);
}
.serve_cn_OfferCard_metaParts {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-auxiliary);
}
.serve_cn_OfferCard_cost {
  flex: none;
  padding: var(--space-2xs) var(--space-xs-plus);
  border-radius: var(--radius-sm);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  color: var(--text-auxiliary);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
}
.serve_cn_OfferCard_cost[data-redeem] {
  color: var(--control-accent);
  background: color-mix(in srgb, var(--control-accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--control-accent) 40%, transparent);
}

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/GameCard.module.css ***!
  \**************************************************************************************************************************************************************************************************/
/* GameCard — service game card (featured hero + compact grid). Accent = cause color. */
.serve_cn_GameCard_Root {
  --game-accent: var(--control-accent);
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: left;
  background: var(--box-bg);
  border: 1px solid color-mix(in srgb, var(--game-accent) 25%, var(--box-border));
  border-radius: var(--radius-box);
  overflow: hidden;
}
.serve_cn_GameCard_featured {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  border-color: color-mix(in srgb, var(--game-accent) 25%, transparent);
  box-shadow: 0 16px 48px color-mix(in srgb, var(--game-accent) 33%, transparent);
}
.serve_cn_GameCard_grid {
  width: 200px;
  min-width: 200px;
  cursor: pointer;
}

.serve_cn_GameCard_coverWrap {
  position: relative;
  display: block;
}
.serve_cn_GameCard_badges {
  position: absolute;
  top: var(--space-xs);
  right: var(--space-xs);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-2xs);
}
.serve_cn_GameCard_lvl {
  font-family: var(--label-font-family);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: var(--text-xs);
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-sm);
}
.serve_cn_GameCard_lvlOutline {
  color: var(--game-accent);
  background: color-mix(in srgb, var(--game-accent) 22%, transparent);
  border: 1px solid color-mix(in srgb, var(--game-accent) 66%, transparent);
}
.serve_cn_GameCard_lvlSolid {
  color: var(--control-text-contrast);
  background: var(--game-accent);
  border-radius: var(--radius-sm);
  padding: var(--space-2xs) var(--space-xs-plus);
}
.serve_cn_GameCard_linked {
  font-family: var(--label-font-family);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.08em;
  font-size: var(--text-xs);
  color: var(--text-secondary);
  background: var(--bg-overlay);
  border-radius: var(--radius-sm);
  padding: var(--space-2xs) var(--space-xs-plus);
}
.serve_cn_GameCard_medallion {
  position: absolute;
  left: var(--space-md);
  bottom: calc(-1 * var(--space-md));
  z-index: 3;
}

.serve_cn_GameCard_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  padding: var(--space-lg) var(--space-md) var(--space-md);
}
.serve_cn_GameCard_featured .serve_cn_GameCard_body {
  gap: var(--space-sm);
  padding: var(--space-2xl) var(--space-lg) var(--space-lg);
}

.serve_cn_GameCard_chips {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.serve_cn_GameCard_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  line-height: 1.1;
  color: var(--text-primary);
}
.serve_cn_GameCard_featured .serve_cn_GameCard_title {
  font-size: var(--text-2xl);
}
.serve_cn_GameCard_tagline {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_GameCard_meta {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-auxiliary);
}
.serve_cn_GameCard_foot {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-2xs);
}
.serve_cn_GameCard_players {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

.serve_cn_GameCard_progressBox {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-top: var(--space-xs);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
}
.serve_cn_GameCard_progressHead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.serve_cn_GameCard_points {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: var(--game-accent);
}
.serve_cn_GameCard_streak {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
}
.serve_cn_GameCard_streak b {
  color: var(--game-accent);
}

.serve_cn_GameCard_actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-top: var(--space-xs);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/CausePicker.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* CausePicker — wrapped row of cause chips. */
.serve_cn_CausePicker_Root {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/EarnRow.module.css ***!
  \*************************************************************************************************************************************************************************************************/
/* EarnRow — milestone row extras (BASE tag, progress/CTA under sub, done tint). */
.serve_cn_EarnRow_titleRow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.serve_cn_EarnRow_subCol {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.serve_cn_EarnRow_cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--control-accent);
}
.serve_cn_EarnRow_done {
  background: color-mix(in srgb, var(--success) 7%, transparent);
  border-color: color-mix(in srgb, var(--success) 22%, transparent);
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/DayEventCard.module.css ***!
  \******************************************************************************************************************************************************************************************************/
/* DayEventCard — calendar agenda row (cause spine + time + kind + title). --de-tint = cause color. */
.serve_cn_DayEventCard_Root {
  --de-tint: var(--control-accent);
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_DayEventCard_Root.serve_cn_DayEventCard_mine {
  background: linear-gradient(135deg, color-mix(in srgb, var(--de-tint) 15%, transparent), color-mix(in srgb, var(--de-tint) 3%, transparent));
  border-color: color-mix(in srgb, var(--de-tint) 34%, transparent);
}
.serve_cn_DayEventCard_spine {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--de-tint);
}
.serve_cn_DayEventCard_body {
  display: block;
  padding: var(--space-sm) var(--space-md) var(--space-sm) var(--space-md-plus);
}
.serve_cn_DayEventCard_head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_DayEventCard_time {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  color: var(--de-tint);
}
.serve_cn_DayEventCard_title {
  display: block;
  margin-top: var(--space-2xs);
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--text-primary);
}
.serve_cn_DayEventCard_going {
  display: inline-flex;
  align-items: center;
  margin-top: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs-plus);
  border-radius: var(--radius-sm);
  background: var(--de-tint);
  color: var(--control-text-contrast);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/CauseFilterRow.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* CauseFilterRow — toggleable cause color dots. --cf-tint = cause color. */
.serve_cn_CauseFilterRow_Root {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.serve_cn_CauseFilterRow_dot {
  --cf-tint: var(--control-accent);
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  border: 1px solid color-mix(in srgb, var(--cf-tint) 40%, transparent);
  transition: transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-soft);
}
.serve_cn_CauseFilterRow_fill {
  width: 12px;
  height: 12px;
  border-radius: var(--radius-full);
  background: var(--cf-tint);
  opacity: 0.5;
  transition: opacity var(--dur-fast) var(--ease-soft);
}
.serve_cn_CauseFilterRow_dot[data-on] {
  border-color: var(--cf-tint);
  box-shadow: 0 0 10px color-mix(in srgb, var(--cf-tint) 55%, transparent);
}
.serve_cn_CauseFilterRow_dot[data-on] .serve_cn_CauseFilterRow_fill {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .serve_cn_CauseFilterRow_dot,
  .serve_cn_CauseFilterRow_fill {
    transition: none;
  }
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/LessonCard.module.css ***!
  \****************************************************************************************************************************************************************************************************/
/* LessonCard — learning resource card. --lc-tint = optional cause color. */
.serve_cn_LessonCard_Root {
  --lc-tint: var(--control-accent);
  width: 200px;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-md);
  text-align: left;
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  cursor: pointer;
}
.serve_cn_LessonCard_top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_LessonCard_kind {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lc-tint);
}
.serve_cn_LessonCard_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  line-height: 1.15;
  color: var(--text-primary);
}
.serve_cn_LessonCard_duration {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/ScoreBreakdown.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* ScoreBreakdown — factor rows with score bars. */
.serve_cn_ScoreBreakdown_Root {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_ScoreBreakdown_rows {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.serve_cn_ScoreBreakdown_row {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.serve_cn_ScoreBreakdown_head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_ScoreBreakdown_label {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_ScoreBreakdown_value {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: var(--text-auxiliary);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/FormField.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* FormField — labeled field wrapper. */
.serve_cn_FormField_Root {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.serve_cn_FormField_hint {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}
.serve_cn_FormField_error {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--danger);
}

/*!**************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/@_linked/primitives/lib/esm/components/Input.module.css ***!
  \**************************************************************************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@define-mixin focus {
  outline: var(--control-outline-width) solid transparent;
  outline-offset: var(--control-outline-offset);
  box-shadow: 0 0 0 var(--control-outline-width) var(--control-outline-color);
}
@define-mixin disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.__linked_primitives_Input_Root {
  font-family: var(--input-font-family, var(--field-font-family));
  display: flex;
  color: var(--input-text, var(--field-text));
  padding: 0px var(--input-padding-x, var(--field-padding-x));
  border-radius: var(--input-radius, var(--field-radius));
  font-size: var(--input-font-size, var(--field-font-size));
  box-shadow: var(--input-shadow, var(--field-shadow));
  font-weight: var(--input-font-weight, var(--field-font-weight));
  line-height: var(--input-line-height, var(--field-line-height));
  background-color: var(--input-bg, var(--field-bg));
  transition: var(--transition-normal);
  border: 1px solid var(--input-border, var(--field-border));
  &::placeholder {
    color: var(--input-text-placeholder, var(--field-text-placeholder));
  }
  &:hover {
    background-color: var(--input-bg-hover, var(--field-bg-hover));
    border-color: var(--input-border-hover, var(--field-border-hover));
  }
  &:focus-visible {
    background-color: var(--input-bg-focus, var(--field-bg-focus));
    border-color: var(--input-border-focus, var(--field-border-focus));
  }
  &[type='file'] {
    appearance: none;
    border: 0;
  }
  &.__linked_primitives_Input_small {
    height: var(--input-height-sm, var(--field-height-sm));
    font-size: var(
      --input-font-size-sm,
      var(--field-font-size-sm, var(--field-font-size))
    );
  }
  &.__linked_primitives_Input_medium {
    height: var(--input-height-md, var(--field-height-md));
    font-size: var(--input-font-size, var(--field-font-size));
  }
  &.__linked_primitives_Input_large {
    height: var(--input-height-lg, var(--field-height-lg));
    font-size: var(
      --input-font-size-lg,
      var(--field-font-size-lg, var(--field-font-size))
    );
  }
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/PhoneInput.module.css ***!
  \****************************************************************************************************************************************************************************************************/
/* PhoneInput — country code prefix + number. */
.serve_cn_PhoneInput_Row {
  display: flex;
  gap: var(--space-sm);
  align-items: stretch;
}
.serve_cn_PhoneInput_code {
  flex: none;
  padding: 0 var(--space-md);
  border-radius: var(--radius-field);
  background: var(--field-bg);
  border: 1px solid var(--field-border);
  color: var(--text-primary);
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-sm);
}
.serve_cn_PhoneInput_input {
  flex: 1;
}

/*!***********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/DestinationPicker.module.css ***!
  \***********************************************************************************************************************************************************************************************************/
/* DestinationPicker — share destination grid. */
.serve_cn_DestinationPicker_Root {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
.serve_cn_DestinationPicker_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
}
.serve_cn_DestinationPicker_label {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: var(--text-secondary);
}

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/RoleCard.module.css ***!
  \**************************************************************************************************************************************************************************************************/
/* RoleCard — selectable role option. `--role-tone` (default accent) tints the selected row + radio. */
.serve_cn_RoleCard_Root {
  --role-tone: var(--control-accent);
  display: flex;
  align-items: center;
  gap: var(--space-md);
  width: 100%;
  padding: var(--space-md);
  text-align: left;
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-soft), background var(--dur-fast) var(--ease-soft);
}
.serve_cn_RoleCard_Root:hover {
  background: var(--bg-hover);
}
.serve_cn_RoleCard_Root[data-selected] {
  background: color-mix(in srgb, var(--role-tone) 12%, transparent);
  border-color: var(--role-tone);
}
/* radio indicator — empty circle → filled tone + check */
.serve_cn_RoleCard_radio {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--box-border);
  color: var(--control-text-contrast);
}
.serve_cn_RoleCard_Root[data-selected] .serve_cn_RoleCard_radio {
  background: var(--role-tone);
  border-color: var(--role-tone);
}
.serve_cn_RoleCard_text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_RoleCard_role {
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--text-primary);
}
.serve_cn_RoleCard_sub {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_RoleCard_check {
  color: var(--control-accent);
}
@media (prefers-reduced-motion: reduce) {
  .serve_cn_RoleCard_Root {
    transition: none;
  }
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/EmptyState.module.css ***!
  \****************************************************************************************************************************************************************************************************/
/* EmptyState — centered empty / error surface. */
.serve_cn_EmptyState_Root {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-sm);
  max-width: 360px;
  margin-inline: auto;
  padding: var(--space-2xl) var(--space-lg);
}
.serve_cn_EmptyState_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: var(--space-xs);
  border-radius: var(--radius-full);
  color: var(--text-auxiliary);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
}
/* center the Header atom (it defaults to a left-aligned row) */
.serve_cn_EmptyState_head {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.serve_cn_EmptyState_message {
  margin: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--text-secondary);
}
.serve_cn_EmptyState_action {
  margin-top: var(--space-sm);
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/molecules/SkeletonCard.module.css ***!
  \******************************************************************************************************************************************************************************************************/
/* SkeletonCard — a card-shaped loading placeholder. */
.serve_cn_SkeletonCard_Root {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_SkeletonCard_body {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
}
.serve_cn_SkeletonCard_lines {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/MissionHero.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* MissionHero — state-machine hero. --hero-accent is the per-state edge color. Card body sits on the
   themed surface; the cover/live-stage provide the top imagery. Token-driven throughout. */
.serve_cn_MissionHero_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  --hero-accent: var(--control-accent);
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: var(--bg-rich);
  border: 1px solid color-mix(in srgb, var(--hero-accent) 24%, var(--border-default));
  box-shadow: var(--shadow-box), 0 0 48px color-mix(in srgb, var(--hero-accent) 16%, transparent);
}
.serve_cn_MissionHero_Root[role='button'] {
  cursor: pointer;
}
.serve_cn_MissionHero_Root[data-state='open'] { --hero-accent: var(--info); }
.serve_cn_MissionHero_Root[data-state='reserved'] { --hero-accent: var(--success); }
.serve_cn_MissionHero_Root[data-state='today'] { --hero-accent: var(--warning); }
.serve_cn_MissionHero_Root[data-state='live'] { --hero-accent: var(--control-accent); }
.serve_cn_MissionHero_Root[data-state='done'] { --hero-accent: var(--complete); }

.serve_cn_MissionHero_pill {
  position: absolute;
  top: var(--space-md);
  left: var(--space-md);
  z-index: 2;
}

.serve_cn_MissionHero_glassPill {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  z-index: 2;
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-full);
  background: var(--bg-overlay);
  -webkit-backdrop-filter: blur(var(--blur-sm));
  backdrop-filter: blur(var(--blur-sm));
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  color: var(--color-white);
}

.serve_cn_MissionHero_body {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-lg) var(--space-lg) var(--space-sm);
}
.serve_cn_MissionHero_body[data-overlap] {
  margin-top: calc(-1 * var(--space-2xl));
}

.serve_cn_MissionHero_title {
  margin: 0;
  font-family: var(--heading-font-family);
  font-size: var(--text-3xl);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}
.serve_cn_MissionHero_lead {
  font-style: italic;
  color: var(--hero-accent);
}

.serve_cn_MissionHero_timeRow {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
}
.serve_cn_MissionHero_time {
  font-family: var(--heading-font-family);
  font-size: var(--text-3xl);
  letter-spacing: -0.02em;
  color: var(--text-primary);
}
.serve_cn_MissionHero_countdown {
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--success);
}

.serve_cn_MissionHero_blurb {
  margin: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--text-secondary);
}

.serve_cn_MissionHero_packed {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
  border: 1px solid var(--border-default);
}
.serve_cn_MissionHero_packedChips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.serve_cn_MissionHero_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-md);
  margin-top: var(--space-xs);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border-default);
}
.serve_cn_MissionHero_metaItem {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
}

.serve_cn_MissionHero_stats {
  margin-top: var(--space-sm);
}

.serve_cn_MissionHero_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md) var(--space-md);
}
.serve_cn_MissionHero_primary {
  flex: 1;
}
.serve_cn_MissionHero_mapBtn {
  flex-shrink: 0;
}

/* live stage — pulsing ring + orb */
.serve_cn_MissionHero_liveStage {
  position: relative;
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(at 50% 35%, color-mix(in srgb, var(--control-accent) 20%, transparent), transparent 70%),
    var(--bg-rich);
}
.serve_cn_MissionHero_liveRing {
  position: absolute;
  width: 96px;
  height: 96px;
  border-radius: var(--radius-full);
  border: 2px solid var(--control-accent);
  opacity: 0.6;
  animation: serve_cn_MissionHero_dring 1.6s infinite;
}
.serve_cn_MissionHero_liveOrb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle, color-mix(in srgb, var(--control-accent) 70%, var(--color-white)) 0%, var(--control-accent) 60%, var(--control-accent-hover) 100%);
  box-shadow: 0 0 32px var(--control-accent);
  color: var(--control-text-contrast);
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_MissionHero_liveRing {
    animation: none;
  }
}

/*!**********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/CrewProgressCard.module.css ***!
  \**********************************************************************************************************************************************************************************************************/
/* CrewProgressCard — goal card. */
.serve_cn_CrewProgressCard_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  position: relative;
  overflow: hidden;
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--box-shadow);
}
.serve_cn_CrewProgressCard_content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.serve_cn_CrewProgressCard_head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_CrewProgressCard_name {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--text-primary);
  margin-top: var(--space-xs);
}

.serve_cn_CrewProgressCard_numbers {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
}
.serve_cn_CrewProgressCard_hours {
  font-family: var(--heading-font-family);
  font-size: var(--text-5xl);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--control-accent);
}
.serve_cn_CrewProgressCard_goal {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-lg);
  color: var(--text-auxiliary);
}

.serve_cn_CrewProgressCard_chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/FeedPost.module.css ***!
  \**************************************************************************************************************************************************************************************************/
/* FeedPost — post card; `pinned` tints the surface. */
.serve_cn_FeedPost_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_FeedPost_Root[data-pinned] {
  background: color-mix(in srgb, var(--control-accent) 8%, var(--box-bg));
  border-color: color-mix(in srgb, var(--control-accent) 24%, var(--box-border));
}

.serve_cn_FeedPost_pinTab {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  align-self: flex-start;
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--control-accent);
}

.serve_cn_FeedPost_head {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_FeedPost_headBody {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.serve_cn_FeedPost_authorRow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_FeedPost_meta {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  margin-top: var(--space-2xs);
}

.serve_cn_FeedPost_body {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.55;
  color: var(--text-secondary);
}

.serve_cn_FeedPost_photo {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.serve_cn_FeedPost_actions {
  margin-top: var(--space-2xs);
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/VerifiedTicker.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* VerifiedTicker — success-tinted hero with a corner glow. */
.serve_cn_VerifiedTicker_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: linear-gradient(155deg, color-mix(in srgb, var(--success) 16%, var(--box-bg)) 0%, var(--box-bg) 60%);
  border: 1px solid color-mix(in srgb, var(--success) 22%, var(--box-border));
  box-shadow: var(--box-shadow);
}
.serve_cn_VerifiedTicker_glow {
  position: absolute;
  top: calc(-1 * var(--space-2xl));
  right: calc(-1 * var(--space-2xl));
  width: 140px;
  height: 140px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle, color-mix(in srgb, var(--success) 40%, transparent), transparent 70%);
  filter: blur(var(--blur-lg));
  pointer-events: none;
}

.serve_cn_VerifiedTicker_head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}

.serve_cn_VerifiedTicker_hours {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: var(--space-xs);
  font-family: var(--heading-font-family);
  font-size: var(--text-5xl);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--text-primary);
}
.serve_cn_VerifiedTicker_unit {
  font-family: var(--typography-font-family);
  font-size: var(--text-lg);
  color: var(--text-auxiliary);
}

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

/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/YourPrintCard.module.css ***!
  \*******************************************************************************************************************************************************************************************************/
/* YourPrintCard — prism + spectrum showcase. */
.serve_cn_YourPrintCard_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--box-shadow);
}

.serve_cn_YourPrintCard_prism {
  display: flex;
  justify-content: center;
}

.serve_cn_YourPrintCard_tagline {
  text-align: center;
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: 1.3;
  color: var(--text-secondary);
}

.serve_cn_YourPrintCard_lit {
  text-align: center;
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/ShareCard.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* ShareCard — generated artifact. */
.serve_cn_ShareCard_Root {
  position: relative;
  overflow: hidden;
  max-width: var(--card-narrow);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--box-shadow);
}

.serve_cn_ShareCard_coverWrap {
  position: relative;
}
.serve_cn_ShareCard_seal {
  position: absolute;
  top: var(--space-sm);
  right: var(--space-sm);
  z-index: 2;
}

.serve_cn_ShareCard_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-lg);
  margin-top: calc(-1 * var(--space-xl));
  position: relative;
}

.serve_cn_ShareCard_identity {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_ShareCard_name {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--text-primary);
}

.serve_cn_ShareCard_headline {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--text-primary);
}
.serve_cn_ShareCard_subhead {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}

.serve_cn_ShareCard_footer {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-xs);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border-default);
}
.serve_cn_ShareCard_brand {
  font-family: var(--heading-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  flex: 1;
}
.serve_cn_ShareCard_ref {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/AllyAskCard.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* AllyAskCard — a HERO AI briefing: cause-tinted glow + a left cause line. `--ask-tone` is the cause
   color when `code` is passed, else Ally's --info. */
.serve_cn_AllyAskCard_Root {
  --ask-tone: var(--info);
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: linear-gradient(155deg, color-mix(in srgb, var(--ask-tone) 14%, var(--box-bg)) 0%, var(--box-bg) 60%);
  border: 1px solid color-mix(in srgb, var(--ask-tone) 24%, var(--box-border));
  box-shadow: var(--box-shadow);
}
/* desktop: fill the column (no mobile card-width cap) */
.serve_cn_AllyAskCard_Root[data-wide] {
  max-width: none;
}
/* left cause line — the hero's spine (this card is wide, so the line is vertical/left) */
.serve_cn_AllyAskCard_band {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.serve_cn_AllyAskCard_glow {
  position: absolute;
  top: calc(-1 * var(--space-2xl));
  left: 50%;
  transform: translateX(-50%);
  width: 160px;
  height: 120px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle, color-mix(in srgb, var(--ask-tone) 36%, transparent), transparent 70%);
  filter: blur(var(--blur-lg));
  pointer-events: none;
}

.serve_cn_AllyAskCard_head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_AllyAskCard_match {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  font-weight: var(--badge-font-weight);
  letter-spacing: 0.04em;
  color: var(--success);
}

/* the Header sits above the glow — styling comes from the Header atom, this only handles layering */
.serve_cn_AllyAskCard_title {
  position: relative;
  z-index: 1;
}

.serve_cn_AllyAskCard_reasons {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.serve_cn_AllyAskCard_summary {
  margin: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--text-secondary);
}

.serve_cn_AllyAskCard_actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.serve_cn_AllyAskCard_yes {
  flex: 1;
}

/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/Screen.module.css ***!
  \*********************************************************************************************************************************************************************************************/
/* Screen — the frame every page sits in: a pinned header slot, a scrolling content region (safe-area
   aware), and an optional pinned footer. Fills its positioned container. */
.serve_cn_Screen_Root {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg-page);
  color: var(--text-primary);
  overflow: hidden;
}
/* ambient cause-print backdrop — fills the screen behind the content (which scrolls over it) */
.serve_cn_Screen_aurora {
  z-index: 0;
}
.serve_cn_Screen_header {
  flex: none;
  position: relative;
  z-index: 5;
}
.serve_cn_Screen_scroll {
  flex: 1;
  min-height: 0;
  position: relative;
  z-index: 1;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.serve_cn_Screen_content {
  min-height: 100%;
  padding-bottom: calc(var(--space-xl) + var(--safe-bottom));
}
/* no pinned header → the content itself clears the status bar */
.serve_cn_Screen_Root:not([data-header]) .serve_cn_Screen_content {
  padding-top: var(--safe-top);
}
/* a tab screen leaves room for the floating nav pill */
.serve_cn_Screen_content[data-navclear] {
  padding-bottom: calc(var(--nav-clearance) + var(--safe-bottom));
}
/* Horizontal sizing is owned by the <Page width> tier INSIDE each screen (standard/detail/narrow) — the
 * SAME frame the main tabbed screens use — so push-overlay screens match them and stay consistent. (Was a
 * hard 600px clamp here that overrode Page on desktop, making every overlay a cramped phone column.) */
.serve_cn_Screen_footer {
  flex: none;
  position: relative;
  z-index: 5;
  padding-bottom: var(--safe-bottom);
}

/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/TopBar.module.css ***!
  \*********************************************************************************************************************************************************************************************/
/* TopBar — detail-screen header: back chevron · title · actions. Pads the status bar via --safe-top.
   `solid` pins a blurred bar with a hairline; `floating` is transparent chrome over a hero. */
.serve_cn_TopBar_Root {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: 44px;
  padding: var(--space-2xs) var(--space-md);
  padding-top: calc(var(--safe-top) + var(--space-2xs));
}
.serve_cn_TopBar_solid {
  background: color-mix(in srgb, var(--bg-page) 82%, transparent);
  backdrop-filter: blur(var(--blur-md));
  border-bottom: 1px solid var(--box-border);
}
.serve_cn_TopBar_floating {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  background: transparent;
}
.serve_cn_TopBar_side {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  flex: none;
}
.serve_cn_TopBar_right {
  margin-left: auto;
  justify-content: flex-end;
}
.serve_cn_TopBar_back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  color: var(--text-primary);
  transition: background var(--dur-fast) var(--ease-soft);
}
.serve_cn_TopBar_back:hover {
  background: var(--bg-hover);
}
.serve_cn_TopBar_floating .serve_cn_TopBar_back {
  background: var(--control-glass-bg, color-mix(in srgb, var(--text-primary) 8%, transparent));
  backdrop-filter: blur(var(--blur-sm));
}
.serve_cn_TopBar_title {
  flex: 1;
  min-width: 0;
  text-align: center;
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* keep the title optically centered when only one side has content */
.serve_cn_TopBar_spacer {
  width: 36px;
  flex: none;
}

/*!************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/AppHeader.module.css ***!
  \************************************************************************************************************************************************************************************************/
/* AppHeader — the root-tab header: brand mark + wordmark on the left, actions + avatar on the right.
   Sits on the page background (no bar surface), pinned at the top, padding the status bar. */
.serve_cn_AppHeader_Root {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-lg) var(--space-xs);
  padding-top: calc(var(--safe-top) + var(--space-sm));
}
/* tablet+ (iPad): keep the header aligned with the centered content column */
@media (min-width: 680px) {
  .serve_cn_AppHeader_Root {
    max-width: 600px;
    margin-inline: auto;
    width: 100%;
  }
}
.serve_cn_AppHeader_brand {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_AppHeader_wordmark {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-lg);
  letter-spacing: 0.01em;
  color: var(--text-primary);
}
.serve_cn_AppHeader_actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}
.serve_cn_AppHeader_avatar {
  display: inline-flex;
  border-radius: var(--radius-full);
  cursor: pointer;
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/PushScreen.module.css ***!
  \*************************************************************************************************************************************************************************************************/
/* PushScreen — an iOS-style stack screen: slides in from the right over whatever's beneath, with a
   soft left shadow. It owns its TopBar (the back button calls onClose). The slide (x) + exit are
   animated by framer-motion (AnimatePresence); reduced-motion is handled there via useReducedMotion. */
.serve_cn_PushScreen_Root {
  position: absolute;
  inset: 0;
  z-index: 50;
  background: var(--bg-page);
  box-shadow: -20px 0 60px var(--bg-overlay);
}
/* contentWidth — clamp the content to a centered reading column on wide views (no-op on phones). */
.serve_cn_PushScreen_narrow {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.serve_cn_PushScreen_wide {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/*!*******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/Page.module.css ***!
  \*******************************************************************************************************************************************************************************************/
/* Page — centered content column. (Relocated from Desktop.module.css `.page`.) */
.serve_cn_Page_page {
  max-width: 1180px;
  margin: 0 auto;
  /* Top gap sits just below the 64px desktop topbar — 22px reads as a clean break without the heavy dead
     space the old 34px left above every converged screen's title (the "top spacing" issue across pages). */
  padding: 22px 40px 80px;
}
/* phone width: tighten the side padding so content isn't crushed, and add bottom room so the floating
   bottom-nav pill (< RAIL_BP) never covers the last rows. */
@media (max-width: 767.98px) {
  .serve_cn_Page_page {
    padding: 14px 16px 104px;
  }
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/ScreenHeader.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* ScreenHeader — the standardized page-title row (was each screen's bespoke `.hero`). */
.serve_cn_ScreenHeader_header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-xl);
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.serve_cn_ScreenHeader_titleCol {
  min-width: 0;
  flex: 1 1 auto;
}
.serve_cn_ScreenHeader_actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-shrink: 0;
}

/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/Split.module.css ***!
  \********************************************************************************************************************************************************************************************/
/* Split — two-column (main + sticky rail) ≥ SPLIT_BP, single column below. (Relocated from
   Desktop.module.css `.split`/`.splitMain`/`.splitRail`; collapse breakpoint moved 1200 → SPLIT_BP.) */
.serve_cn_Split_split {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 28px;
  align-items: start;
}
.serve_cn_Split_split > .serve_cn_Split_main {
  min-width: 0;
}
.serve_cn_Split_rail {
  position: sticky;
  top: 24px;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
/* below SPLIT_BP (1024): one column; the rail drops below the main content and stops being sticky. */
@media (max-width: 1023.98px) {
  .serve_cn_Split_split {
    grid-template-columns: 1fr;
  }
  .serve_cn_Split_rail {
    position: static;
  }
}

/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/Panel.module.css ***!
  \********************************************************************************************************************************************************************************************/
/* Panel — bordered content box with optional hover-lift. (Relocated from Desktop.module.css
   `.panel`/`.panelHover`.) */
.serve_cn_Panel_panel {
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  overflow: hidden;
}
.serve_cn_Panel_hover {
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft);
}
.serve_cn_Panel_hover:hover {
  border-color: color-mix(in srgb, var(--control-accent) 40%, var(--box-border));
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_Panel_hover {
    transition: none;
  }
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/RailHead.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* RailHead — section header row (Eyebrow + optional right action). Layout only; the label styling
   comes from the Eyebrow atom. (Relocated from Desktop.module.css `.railHead`.) */
.serve_cn_RailHead_railHead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--space-xs);
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/CoverageView.module.css ***!
  \******************************************************************************************************************************************************************************************************/
.serve_cn_CoverageView_section {
  margin-bottom: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.serve_cn_CoverageView_statRow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
.serve_cn_CoverageView_stat {
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  text-align: center;
}
.serve_cn_CoverageView_statN {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  color: var(--text-primary);
  line-height: 1;
}
.serve_cn_CoverageView_statL {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-auxiliary);
  margin-top: var(--space-2xs);
}

.serve_cn_CoverageView_list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.serve_cn_CoverageView_resRow {
  display: flex;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-bottom: 1px solid var(--box-border);
}
.serve_cn_CoverageView_resRow:last-child {
  border-bottom: none;
}
.serve_cn_CoverageView_resIcon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-full);
  background: var(--bg-2);
  color: var(--text-secondary);
}
.serve_cn_CoverageView_resBody {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_CoverageView_resHead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_CoverageView_resName {
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_CoverageView_resCount {
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--warning);
}
.serve_cn_CoverageView_resCount[data-full] {
  color: var(--success);
}
.serve_cn_CoverageView_bar {
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--bg-2);
  overflow: hidden;
}
.serve_cn_CoverageView_barFill {
  display: block;
  height: 100%;
  border-radius: var(--radius-full);
}
.serve_cn_CoverageView_resBy {
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}
.serve_cn_CoverageView_muted {
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  color: var(--text-auxiliary);
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 560px) {
  .serve_cn_CoverageView_statRow {
    grid-template-columns: repeat(2, 1fr);
  }
}

/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/OrganizerFold.module.css ***!
  \*******************************************************************************************************************************************************************************************************/
/* OrganizerFold — distinct "coordinator surface" treatment: a tinted, accent-edged panel set apart from
   the personal content above it. Tokens only. */
.serve_cn_OrganizerFold_fold {
  margin-bottom: var(--space-xl);
  border: 1px solid color-mix(in srgb, var(--control-accent) 30%, var(--box-border));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--control-accent) 5%, transparent);
  overflow: hidden;
}
.serve_cn_OrganizerFold_head {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  background: color-mix(in srgb, var(--control-accent) 10%, transparent);
  border: none;
  cursor: pointer;
  color: var(--control-accent);
  text-align: left;
}
.serve_cn_OrganizerFold_title {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-sm);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--control-accent);
}
.serve_cn_OrganizerFold_sub {
  flex: 1;
  min-width: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  text-transform: none;
  letter-spacing: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.serve_cn_OrganizerFold_chevron {
  flex-shrink: 0;
  font-size: var(--text-lg);
  line-height: 1;
  color: var(--text-auxiliary);
  transform: rotate(90deg);
  transition: transform var(--dur-fast) var(--ease-soft);
}
.serve_cn_OrganizerFold_chevron[data-open] {
  transform: rotate(-90deg);
}
.serve_cn_OrganizerFold_body {
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/*!******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/lib/calendar/Calendar.module.css ***!
  \******************************************************************************************************************************************************************************************/
/* Calendar engine — token-themed (no hardcoded colors). Month grid + agenda. */
.serve_cn_Calendar_cal {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.serve_cn_Calendar_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  flex-wrap: wrap;
}
.serve_cn_Calendar_nav {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_Calendar_navBtn {
  width: 32px;
  height: 32px;
  border-radius: var(--radius-md);
  border: 1px solid var(--box-border);
  background: var(--bg-panel);
  color: var(--text-primary);
  font-size: var(--text-lg);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.serve_cn_Calendar_navBtn:hover {
  background: var(--bg-hover);
}
.serve_cn_Calendar_today {
  height: 32px;
  padding: 0 var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--box-border);
  background: var(--bg-panel);
  color: var(--text-secondary);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  cursor: pointer;
}
.serve_cn_Calendar_today:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}
.serve_cn_Calendar_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  color: var(--text-primary);
  margin: 0 0 0 var(--space-sm);
}
.serve_cn_Calendar_views {
  display: flex;
  gap: var(--space-2xs);
  padding: var(--space-2xs);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
}
.serve_cn_Calendar_viewBtn {
  padding: var(--space-2xs) var(--space-md);
  border-radius: var(--radius-full);
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  cursor: pointer;
}
.serve_cn_Calendar_viewBtn[data-active] {
  background: var(--control-accent);
  color: var(--control-text-contrast);
}
.serve_cn_Calendar_empty {
  padding: 48px var(--space-lg);
  text-align: center;
  color: var(--text-auxiliary);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
}

/* ── month grid ── */
.serve_cn_Calendar_grid {
  display: grid;
  /* minmax(0,1fr) → EVERY column is exactly equal; long event titles can't stretch a column */
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 1px;
  background: var(--box-border);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-box);
  overflow: hidden;
}
.serve_cn_Calendar_dow {
  background: var(--bg-2);
  padding: var(--space-xs);
  text-align: center;
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_cell {
  background: var(--box-bg);
  min-height: 104px;
  min-width: 0; /* allow the column to stay 1fr; content clips instead of expanding it */
  padding: var(--space-2xs);
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_Calendar_cell[data-out] {
  background: var(--bg-2);
}
.serve_cn_Calendar_cell[data-out] .serve_cn_Calendar_date {
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_date {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
  align-self: flex-end;
  padding: 0 var(--space-2xs);
}
.serve_cn_Calendar_cell[data-today] .serve_cn_Calendar_date {
  background: var(--control-accent);
  color: var(--control-text-contrast);
  border-radius: var(--radius-full);
  min-width: 20px;
  text-align: center;
}
.serve_cn_Calendar_chips {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.serve_cn_Calendar_chip {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: 1px var(--space-2xs);
  border-radius: var(--radius-sm);
  border: none;
  background: color-mix(in srgb, var(--c) 14%, transparent);
  cursor: pointer;
  text-align: left;
  width: 100%;
}
.serve_cn_Calendar_chip:hover {
  background: color-mix(in srgb, var(--c) 24%, transparent);
}
.serve_cn_Calendar_dot {
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--c);
  flex-shrink: 0;
}
.serve_cn_Calendar_chipText {
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.serve_cn_Calendar_more {
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
  padding: 0 var(--space-2xs);
}

/* phones: shorter cells, hide chip text (dots only) */
@media (max-width: 640px) {
  .serve_cn_Calendar_cell {
    min-height: 64px;
  }
  .serve_cn_Calendar_chipText,
  .serve_cn_Calendar_more {
    display: none;
  }
}

/* ── agenda ── */
.serve_cn_Calendar_agenda {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.serve_cn_Calendar_agDay {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: var(--space-md);
}
.serve_cn_Calendar_agDate {
  text-align: center;
}
.serve_cn_Calendar_agDow {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_agNum {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  color: var(--text-primary);
}
.serve_cn_Calendar_agDate[data-today] .serve_cn_Calendar_agNum {
  color: var(--control-accent);
}
.serve_cn_Calendar_agItems {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_Calendar_agItem {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm);
  border-radius: var(--radius-box);
  border: 1px solid var(--box-border);
  background: var(--box-bg);
  cursor: pointer;
  text-align: left;
}
.serve_cn_Calendar_agItem:hover {
  border-color: color-mix(in srgb, var(--control-accent) 40%, var(--box-border));
}
.serve_cn_Calendar_agBar {
  width: 3px;
  align-self: stretch;
  border-radius: var(--radius-full);
  flex-shrink: 0;
}
.serve_cn_Calendar_agTime {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
  min-width: 64px;
}
.serve_cn_Calendar_agTitle {
  font-family: var(--heading-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  flex: 1;
}
.serve_cn_Calendar_agLoc {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_agCross {
  display: block;
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--info);
  margin-top: 2px;
}

/* ── week / day time grid ── */
.serve_cn_Calendar_tg {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--box-border);
  border-radius: var(--radius-box);
  overflow: hidden;
}
.serve_cn_Calendar_tgHead {
  display: flex;
  border-bottom: 1px solid var(--box-border);
  background: var(--bg-2);
}
.serve_cn_Calendar_tgDayHead {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: var(--space-2xs);
  padding: var(--space-xs);
  border-left: 1px solid var(--box-border);
}
.serve_cn_Calendar_tgDow {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_tgNum {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_Calendar_tgDayHead[data-today] .serve_cn_Calendar_tgNum {
  color: var(--control-accent);
}
.serve_cn_Calendar_tgAllDay {
  display: grid;
  gap: 2px 0;
  padding: var(--space-2xs) 0;
  border-bottom: 1px solid var(--box-border);
  background: var(--bg-2);
}
.serve_cn_Calendar_tgAllDayLabel {
  grid-column: 1;
  grid-row: 1 / -1;
  align-self: center;
  padding-left: var(--space-xs);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_tgAllDayEvent {
  display: block;
  height: 20px;
  margin: 0 2px;
  padding: 0 var(--space-xs);
  border: none;
  border-left: 3px solid var(--a, var(--c));
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--c) 22%, transparent);
  color: var(--text-primary);
  font-size: var(--text-2xs);
  line-height: 20px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.serve_cn_Calendar_tgBody {
  display: flex;
  align-items: flex-start; /* columns keep their true 24h height instead of stretching to the viewport */
  position: relative;
  max-height: 68vh;
  overflow-y: auto;
}
.serve_cn_Calendar_tgGutter {
  width: 56px;
  flex-shrink: 0;
}
.serve_cn_Calendar_tgHour {
  height: var(--hour-h);
  position: relative;
}
.serve_cn_Calendar_tgHourLabel {
  position: absolute;
  top: -7px;
  right: var(--space-xs);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_tgCols {
  display: flex;
  flex: 1;
  min-width: 0;
  position: relative;
  height: calc(var(--hour-h) * 24); /* the columns area — grid-level pointer target for cross-day drag */
  touch-action: pan-y; /* allow vertical scroll; long-press starts a move, a scroll cancels the press */
}
.serve_cn_Calendar_tgCol {
  flex: 1;
  min-width: 0;
  height: 100%;
  position: relative;
  border-left: 1px solid var(--box-border);
  cursor: pointer;
}
.serve_cn_Calendar_tgSlot {
  height: var(--hour-h);
  border-top: 1px solid color-mix(in srgb, var(--box-border) 60%, transparent);
}
.serve_cn_Calendar_tgNow {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--danger);
  z-index: 3;
  pointer-events: none;
}
.serve_cn_Calendar_tgSel {
  position: absolute;
  left: 2px;
  right: 2px;
  background: color-mix(in srgb, var(--control-accent) 22%, transparent);
  border: 1px dashed var(--control-accent);
  border-radius: var(--radius-sm);
  z-index: 2;
  pointer-events: none;
}
.serve_cn_Calendar_tgEvent {
  position: absolute;
  z-index: 2;
  overflow: hidden;
  border: none;
  border-left: 3px solid var(--a, var(--c));
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--c) 18%, var(--box-bg));
  padding: 3px var(--space-xs);
  text-align: left;
  cursor: grab;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
/* organizer attention marker — a small dot on the card (warn = amber, danger = red) */
.serve_cn_Calendar_alertDot,
.serve_cn_Calendar_tgAlert {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-radius: var(--radius-full);
  background: var(--warning);
}
.serve_cn_Calendar_alertDot {
  display: inline-block;
  margin-left: var(--space-2xs);
}
.serve_cn_Calendar_alertDot[data-tone='danger'],
.serve_cn_Calendar_tgAlert[data-tone='danger'] {
  background: var(--danger);
}
.serve_cn_Calendar_tgAlert {
  position: absolute;
  top: 4px;
  right: 4px;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--bg-panel) 70%, transparent);
}
.serve_cn_Calendar_tgEvent[data-continues] {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 2px dashed color-mix(in srgb, var(--c) 60%, transparent); /* runs into the next day */
}
.serve_cn_Calendar_tgEvent[data-dragging] {
  cursor: grabbing;
  opacity: 0.92;
  box-shadow: var(--box-shadow);
  z-index: 4;
}
/* resize grips — top edge changes the start, bottom edge changes the end */
.serve_cn_Calendar_tgResize,
.serve_cn_Calendar_tgResizeTop {
  position: absolute;
  left: 0;
  right: 0;
  height: 8px;
  cursor: ns-resize;
}
.serve_cn_Calendar_tgResize {
  bottom: 0;
  border-bottom-left-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
}
.serve_cn_Calendar_tgResizeTop {
  top: 0;
  border-top-left-radius: var(--radius-sm);
  border-top-right-radius: var(--radius-sm);
}
.serve_cn_Calendar_tgEvent:hover .serve_cn_Calendar_tgResize,
.serve_cn_Calendar_tgEvent:hover .serve_cn_Calendar_tgResizeTop {
  background: color-mix(in srgb, var(--c) 45%, transparent);
}
/* ghost left where the event was, during a move + while awaiting confirmation */
.serve_cn_Calendar_tgGhost {
  position: absolute;
  z-index: 1;
  border: 1px dashed var(--c);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--c) 8%, transparent);
  opacity: 0.7;
  pointer-events: none;
}
/* confirm/cancel — a centered floating toast (not crammed into the column) until the move is committed */
.serve_cn_Calendar_tgConfirm {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 80;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-full);
  background: var(--bg-rich, var(--box-bg));
  border: 1px solid var(--control-accent);
  box-shadow: var(--box-shadow);
  white-space: nowrap;
}
.serve_cn_Calendar_tgConfirmText {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  white-space: nowrap;
}
.serve_cn_Calendar_tgConfirmYes,
.serve_cn_Calendar_tgConfirmNo {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-md);
  cursor: pointer;
  border: 1px solid var(--box-border);
}
.serve_cn_Calendar_tgConfirmYes {
  background: var(--control-accent);
  color: var(--control-text-contrast);
  border-color: transparent;
}
.serve_cn_Calendar_tgConfirmNo {
  background: transparent;
  color: var(--text-secondary);
}
.serve_cn_Calendar_tgEvTime {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  color: var(--text-secondary);
}
.serve_cn_Calendar_tgEvTitle {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── quick-action popover (single click) ── */
.serve_cn_Calendar_popBackdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
}
.serve_cn_Calendar_pop {
  position: fixed;
  z-index: 71;
  background: var(--bg-rich, var(--box-bg));
  border: 1px solid var(--box-border);
  border-radius: var(--radius-box);
  box-shadow: var(--box-shadow);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_Calendar_popHead {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_Calendar_popDot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  flex-shrink: 0;
}
.serve_cn_Calendar_popTitle {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_Calendar_popMeta {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.serve_cn_Calendar_popExtra {
  padding-top: var(--space-2xs);
  margin-top: var(--space-2xs);
  border-top: 1px solid var(--box-border);
}
.serve_cn_Calendar_popTimeRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
}
.serve_cn_Calendar_popEditBtn {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  color: var(--control-accent);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.serve_cn_Calendar_popEdit {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_Calendar_popField {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_popInput {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-primary);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-sm);
  padding: var(--space-3xs) var(--space-2xs);
}
.serve_cn_Calendar_popEditRow {
  display: flex;
  gap: var(--space-xs);
  margin-top: var(--space-2xs);
}
.serve_cn_Calendar_popSave,
.serve_cn_Calendar_popEditCancel {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  line-height: 1.2;
  border-radius: var(--radius-full);
  padding: var(--space-xs) var(--space-md);
  cursor: pointer;
}
.serve_cn_Calendar_popSave {
  color: var(--control-text-contrast);
  background: var(--control-accent);
  border: none;
}
.serve_cn_Calendar_popEditCancel {
  color: var(--text-secondary);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
}
.serve_cn_Calendar_popCross {
  color: var(--info);
}
.serve_cn_Calendar_popLoc {
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_popActions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}
.serve_cn_Calendar_popAction {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-primary);
  text-decoration: none;
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-sm);
  cursor: pointer;
}
.serve_cn_Calendar_popAction:hover {
  background: var(--bg-hover);
}
.serve_cn_Calendar_popExpand {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--control-text-contrast);
  background: var(--control-accent);
  border: none;
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-sm);
  cursor: pointer;
  align-self: flex-start;
}

/* ── Month view (spanning bars) — multi-day events span their days, single-day events occupy one column.
   Each week is a 7-col grid of cells with an absolutely-positioned bar overlay above. ── */
.serve_cn_Calendar_month {
  --m-date-h: 22px;
  --m-bar-h: 18px;
  border: 1px solid var(--box-border);
  border-radius: var(--radius-box);
  overflow: hidden;
}
.serve_cn_Calendar_dowRow {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-bottom: 1px solid var(--box-border);
}
.serve_cn_Calendar_mWeek {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  /* room for the date row + the lane cap of bars */
  min-height: calc(var(--m-date-h) + 4 * (var(--m-bar-h) + 2px) + var(--space-sm));
  border-bottom: 1px solid var(--box-border);
}
.serve_cn_Calendar_mWeek:last-child {
  border-bottom: none;
}
.serve_cn_Calendar_mCell {
  position: relative;
  min-width: 0;
  background: var(--box-bg);
  border-right: 1px solid var(--box-border);
  padding: var(--space-2xs);
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
.serve_cn_Calendar_mCell:last-child {
  border-right: none;
}
.serve_cn_Calendar_mCell[data-out] {
  background: var(--bg-2);
}
.serve_cn_Calendar_mCell[data-out] .serve_cn_Calendar_mDate {
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_mDate {
  align-self: flex-end;
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
  padding: 0 2px;
  height: calc(var(--m-date-h) - 4px);
}
.serve_cn_Calendar_mCell[data-today] .serve_cn_Calendar_mDate {
  background: var(--control-accent);
  color: var(--control-text-contrast);
  border-radius: var(--radius-full);
  min-width: 20px;
  text-align: center;
}
.serve_cn_Calendar_mMore {
  margin-top: auto;
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
  padding: 0 2px;
}
/* bar overlay — sits above the cells; empty space lets clicks fall through to open the day */
.serve_cn_Calendar_mBars {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.serve_cn_Calendar_mBar {
  position: absolute;
  height: var(--m-bar-h);
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: 0 var(--space-xs);
  border: none;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--c) 16%, transparent);
  cursor: pointer;
  pointer-events: auto;
  text-align: left;
  overflow: hidden;
}
.serve_cn_Calendar_mBar[data-multi] {
  background: color-mix(in srgb, var(--c) 30%, transparent);
}
.serve_cn_Calendar_mBar:hover,
.serve_cn_Calendar_mBar:focus-visible {
  outline: none;
  background: color-mix(in srgb, var(--c) 40%, transparent);
}
.serve_cn_Calendar_mDot {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--a, var(--c));
}
.serve_cn_Calendar_mBarText {
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/CoveragePeek.module.css ***!
  \******************************************************************************************************************************************************************************************************/
.serve_cn_CoveragePeek_peek {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_CoveragePeek_chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}
.serve_cn_CoveragePeek_backfill {
  align-self: flex-start;
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  color: var(--control-text-contrast);
  background: var(--control-accent);
  border: none;
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-sm);
  cursor: pointer;
}
.serve_cn_CoveragePeek_chip {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  border-radius: var(--radius-full);
  padding: 2px var(--space-xs);
  border: 1px solid var(--box-border);
}
.serve_cn_CoveragePeek_chip[data-tone='warn'] {
  color: var(--warning);
  border-color: color-mix(in srgb, var(--warning) 45%, transparent);
  background: color-mix(in srgb, var(--warning) 12%, transparent);
}
.serve_cn_CoveragePeek_chip[data-tone='ok'] {
  color: var(--success);
  border-color: color-mix(in srgb, var(--success) 45%, transparent);
  background: color-mix(in srgb, var(--success) 12%, transparent);
}
.serve_cn_CoveragePeek_chip[data-tone='danger'] {
  color: var(--danger);
  border-color: color-mix(in srgb, var(--danger) 45%, transparent);
  background: color-mix(in srgb, var(--danger) 12%, transparent);
}
.serve_cn_CoveragePeek_muted {
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
}

/*!*********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/ServeCardInline.module.css ***!
  \*********************************************************************************************************************************************************************************************************/
.serve_cn_ServeCardInline_card {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  max-width: 420px;
  margin-top: var(--space-2xs);
  padding: var(--space-sm) var(--space-md);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-md);
  position: relative;
  overflow: hidden;
}
.serve_cn_ServeCardInline_bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--cc);
}
.serve_cn_ServeCardInline_body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.serve_cn_ServeCardInline_kind {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--cc);
}
.serve_cn_ServeCardInline_title {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_ServeCardInline_meta {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}
.serve_cn_ServeCardInline_track {
  height: 5px;
  margin-top: var(--space-3xs);
  border-radius: var(--radius-full);
  background: var(--bg-2);
  overflow: hidden;
}
.serve_cn_ServeCardInline_fill {
  display: block;
  height: 100%;
  background: var(--cc);
  border-radius: var(--radius-full);
}
.serve_cn_ServeCardInline_cta {
  flex-shrink: 0;
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--control-text-contrast);
  background: var(--cc);
  border: none;
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-md);
  cursor: pointer;
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/CrewCrest.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* CrewCrest — gradient emblem inside the cause-print ring. */
.serve_cn_CrewCrest_Root {
  display: inline-flex;
}

.serve_cn_CrewCrest_badge {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  color: var(--color-white);
  box-shadow: var(--box-shadow);
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/Sheet.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* Sheet — a framer-motion edge-anchored sheet (scrim + sliding panel). Content-height, never full-page. */
.serve_cn_Sheet_layer {
  position: fixed;
  inset: 0;
  z-index: 200;
}
.serve_cn_Sheet_scrim {
  position: absolute;
  inset: 0;
  background: var(--bg-overlay, rgba(8, 12, 22, 0.55));
  backdrop-filter: blur(var(--blur-sm, 2px));
}
.serve_cn_Sheet_panel {
  position: absolute;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 100%;
  max-width: 540px;
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  background: var(--bg-rich, var(--box-bg));
  border: 1px solid var(--box-border);
  box-shadow: var(--shadow-lg, var(--box-shadow));
}
.serve_cn_Sheet_panelBottom {
  bottom: 0;
  border-radius: var(--radius-box) var(--radius-box) 0 0;
}
.serve_cn_Sheet_panelTop {
  top: 0;
  border-radius: 0 0 var(--radius-box) var(--radius-box);
}

/* grab handle */
.serve_cn_Sheet_handle {
  flex-shrink: 0;
  width: 40px;
  height: 4px;
  margin: var(--space-sm) auto var(--space-2xs);
  border-radius: var(--radius-full);
  background: var(--border-default, var(--box-border));
}

.serve_cn_Sheet_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-lg);
  padding-bottom: calc(var(--space-lg) + var(--safe-bottom));
}
.serve_cn_Sheet_footer {
  padding: var(--space-md) var(--space-lg);
  padding-bottom: calc(var(--space-md) + var(--safe-bottom));
  border-top: 1px solid var(--border-default, var(--box-border));
}

.serve_cn_Sheet_triggerWrap {
  display: contents;
}
.serve_cn_Sheet_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/ShortLinkShare.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* ShortLinkShare — QR + entry code + URL, the one share artifact. Token-driven. */
.serve_cn_ShortLinkShare_root {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  width: 100%;
}
.serve_cn_ShortLinkShare_caption {
  margin: 0;
  text-align: center;
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}
.serve_cn_ShortLinkShare_qrWrap {
  padding: var(--space-sm);
  border-radius: var(--radius-lg);
  background: var(--bg-2);
  border: 1px solid var(--box-border);
}

/* entry code — the hero affordance for app users who can't follow a deep link */
.serve_cn_ShortLinkShare_codeBlock {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xs);
  width: 100%;
}
.serve_cn_ShortLinkShare_codeRow {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_ShortLinkShare_code {
  font-family: var(--mono-font-family, ui-monospace, monospace);
  font-size: var(--text-xl);
  letter-spacing: 0.12em;
  color: var(--text-primary);
  font-weight: 600;
}

.serve_cn_ShortLinkShare_urlRow {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  max-width: 360px;
  padding: var(--space-xs) var(--space-sm) var(--space-xs) var(--space-md);
  border-radius: var(--radius-md);
  background: var(--bg-inset, var(--bg-hover));
  border: 1px solid var(--box-border);
}
.serve_cn_ShortLinkShare_url {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_ShortLinkShare_hint {
  margin: 0;
  text-align: center;
  font-size: var(--text-xs);
  color: var(--text-tertiary, var(--text-secondary));
  line-height: 1.5;
  max-width: 340px;
}

/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/Map.module.css ***!
  \*********************************************************************************************************************************************************************************************/
/* Map — themed backdrop + positioned pins + "you" marker. */
.serve_cn_Map_Root {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-box);
  border: 1px solid var(--border-default);
  background: linear-gradient(150deg, var(--bg-2), var(--bg-page));
}

/* faint topo/grid lines */
.serve_cn_Map_grid {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, transparent 0, transparent 22px, color-mix(in srgb, var(--text-primary) 5%, transparent) 23px),
    repeating-linear-gradient(90deg, transparent 0, transparent 22px, color-mix(in srgb, var(--text-primary) 5%, transparent) 23px);
  pointer-events: none;
}

.serve_cn_Map_pin {
  position: absolute;
  transform: translate(-50%, -100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xs);
}
.serve_cn_Map_label {
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-sm);
  background: var(--bg-overlay);
  -webkit-backdrop-filter: blur(var(--blur-sm));
  backdrop-filter: blur(var(--blur-sm));
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--color-white);
  white-space: nowrap;
}

.serve_cn_Map_you {
  position: absolute;
  transform: translate(-50%, -50%);
}
.serve_cn_Map_youHalo {
  position: absolute;
  inset: -10px;
  border-radius: var(--radius-full);
  background: var(--control-accent);
  opacity: 0.25;
  animation: serve_cn_Map_dpulse 2s infinite;
}
.serve_cn_Map_youDot {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: var(--radius-full);
  background: var(--control-accent);
  border: 2.5px solid var(--bg-page);
  box-shadow: 0 0 12px var(--control-accent);
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_Map_youHalo {
    animation: none;
  }
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/maplibre-gl/dist/maplibre-gl.css ***!
  \***************************************************************************************************************************************************************************************************/
.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}
/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/ServeMap.module.css ***!
  \**************************************************************************************************************************************************************************************************/
.serve_cn_ServeMap_Root {
  position: relative;
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-inset);
}

/* The map canvas fills the Root; MapLibre injects its own canvas + controls. */
.serve_cn_ServeMap_Root .maplibregl-map {
  position: absolute;
  inset: 0;
  border-radius: inherit;
}

/* SSR / pre-paint fallback — a themed surface with the primary pin, so the slot never flashes empty. */
.serve_cn_ServeMap_fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--bg-inset), var(--bg-subtle, var(--bg-inset)));
}

.serve_cn_ServeMap_grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--box-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--box-border) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.4;
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/QrScanner.module.css ***!
  \***************************************************************************************************************************************************************************************************/
.serve_cn_QrScanner_Root {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal, 1000);
  background: var(--color-black, #000);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* The live camera preview fills the screen (the core appends its <video> here). */
.serve_cn_QrScanner_camera {
  position: absolute;
  inset: 0;
}
.serve_cn_QrScanner_camera > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* A centered scan reticle — a rounded square with a soft cause-accent glow. */
.serve_cn_QrScanner_reticle {
  position: relative;
  width: min(64vw, 280px);
  aspect-ratio: 1;
  border: 3px solid var(--color-white, #fff);
  border-radius: var(--radius-lg);
  box-shadow:
    0 0 0 100vmax rgba(0, 0, 0, 0.55),
    0 0 24px var(--info, #3b82f6) inset;
}

.serve_cn_QrScanner_chrome {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--space-xl) + env(safe-area-inset-bottom, 0px));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  padding: 0 var(--space-lg);
}

.serve_cn_QrScanner_hint {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: var(--radius-pill, 999px);
  background: var(--bg-overlay, rgba(0, 0, 0, 0.55));
  color: var(--color-white, #fff);
  font-size: var(--text-sm);
  text-align: center;
  backdrop-filter: blur(var(--blur-sm));
}

/*!**********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/VerificationScan.module.css ***!
  \**********************************************************************************************************************************************************************************************************/
/* VerificationScan — uploader + scan/verified status + privacy note + guidelines. */
.serve_cn_VerificationScan_Root {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.serve_cn_VerificationScan_uploader {
  position: relative;
  border-radius: var(--radius-full);
  overflow: hidden;
}
.serve_cn_VerificationScan_scanline {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--info);
  box-shadow: 0 0 12px var(--info);
  animation: serve_cn_VerificationScan_scanline 1.6s ease-in-out infinite;
}
.serve_cn_VerificationScan_verified {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
  background: color-mix(in srgb, var(--success) 88%, transparent);
  color: var(--control-text-contrast);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 700;
}

.serve_cn_VerificationScan_guidelines {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
}
.serve_cn_VerificationScan_guide {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_VerificationScan_scanline {
    animation: none;
  }
}

/*!***********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/SharedJourneyCard.module.css ***!
  \***********************************************************************************************************************************************************************************************************/
/* SharedJourneyCard — faithful to dusk-profile.jsx: kicker + cause-tinted gradient card. */
.serve_cn_SharedJourneyCard_Wrap {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.serve_cn_SharedJourneyCard_Card {
  --sj-tint: var(--control-accent);
  display: flex;
  flex-direction: column;
  padding: var(--space-xl) var(--space-lg);
  border-radius: var(--radius-box);
  background: linear-gradient(135deg, color-mix(in srgb, var(--sj-tint) 14%, transparent), var(--bg-panel));
  border: 1px solid color-mix(in srgb, var(--sj-tint) 30%, transparent);
  overflow: hidden;
}

.serve_cn_SharedJourneyCard_headline {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--text-primary);
}
.serve_cn_SharedJourneyCard_since {
  color: var(--sj-tint);
}
.serve_cn_SharedJourneyCard_note {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin-top: var(--space-xs);
}

.serve_cn_SharedJourneyCard_stats {
  margin-top: var(--space-lg);
}

.serve_cn_SharedJourneyCard_missions {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}
.serve_cn_SharedJourneyCard_mRow {
  background: var(--bg-inset);
  border-radius: var(--radius-md);
}
.serve_cn_SharedJourneyCard_mDate {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/RewardShelf.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* RewardShelf — Gratitude wallet + offer grid. */
.serve_cn_RewardShelf_Root {
  width: 100%;
  max-width: var(--card-wide);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.serve_cn_RewardShelf_wallet {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.serve_cn_RewardShelf_walletText {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_RewardShelf_walletLine {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-lg);
  color: var(--text-primary);
}
.serve_cn_RewardShelf_walletSub {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}
.serve_cn_RewardShelf_walletSub b {
  color: var(--text-primary);
  font-weight: 700;
}
.serve_cn_RewardShelf_dot {
  color: var(--text-faint);
}

.serve_cn_RewardShelf_grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/GamesBoard.module.css ***!
  \****************************************************************************************************************************************************************************************************/
/* GamesBoard — Games discovery: filters + featured + grid + create CTA. */
.serve_cn_GamesBoard_Root {
  width: 100%;
  max-width: var(--card-wide);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.serve_cn_GamesBoard_grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.serve_cn_GamesBoard_create {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.serve_cn_GamesBoard_createRow {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.serve_cn_GamesBoard_createText {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_GamesBoard_createBtn {
  width: 100%;
}
.serve_cn_GamesBoard_createTitle {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  letter-spacing: -0.015em;
  color: var(--text-primary);
}
.serve_cn_GamesBoard_createDesc {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.4;
  color: var(--text-secondary);
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/DonateForm.module.css ***!
  \****************************************************************************************************************************************************************************************************/
/* DonateForm — Give flow. Accent = chosen cause color. */
.serve_cn_DonateForm_Root {
  --give-accent: var(--control-accent);
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.serve_cn_DonateForm_impact {
  text-align: center;
}
.serve_cn_DonateForm_accomplish {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-2xl);
  line-height: 1.2;
  color: var(--give-accent);
  margin-top: var(--space-xs);
}
.serve_cn_DonateForm_more {
  margin-top: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  border: 1px dashed var(--box-border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}

.serve_cn_DonateForm_field {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.serve_cn_DonateForm_note {
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  text-align: center;
}

/*!*********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/DonationPattern.module.css ***!
  \*********************************************************************************************************************************************************************************************************/
/* DonationPattern — giving "shape" card. */
.serve_cn_DonationPattern_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--box-shadow);
}

.serve_cn_DonationPattern_head {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.serve_cn_DonationPattern_headText {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_DonationPattern_title {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-xl);
  color: var(--text-primary);
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/GivingTimeline.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* GivingTimeline — the giving "pattern" as a shape on a time axis (dusk-donate · Profile). Token-driven
   chrome; the only inline values are the per-bubble data geometry (cause color / size / offset). */
.serve_cn_GivingTimeline_root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--box-shadow);
}

.serve_cn_GivingTimeline_lede {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_GivingTimeline_headline {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--text-primary);
}
.serve_cn_GivingTimeline_headline em {
  font-style: italic;
  color: var(--give-accent, var(--control-accent));
}
.serve_cn_GivingTimeline_sub {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Print ring + year + zoom toggle */
.serve_cn_GivingTimeline_ringRow {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.serve_cn_GivingTimeline_ringMeta {
  display: flex;
  flex-direction: column;
}
.serve_cn_GivingTimeline_year {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs, 0.625rem);
  letter-spacing: 0.1em;
  color: var(--text-tertiary, var(--text-secondary));
}
.serve_cn_GivingTimeline_soFar {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  letter-spacing: -0.02em;
  color: var(--text-primary);
}
.serve_cn_GivingTimeline_zoom {
  margin-left: auto;
  display: inline-flex;
  padding: 2px;
  gap: 2px;
  border-radius: var(--radius-full);
  background: var(--bg-inset, var(--bg-hover));
  border: 1px solid var(--box-border);
}
.serve_cn_GivingTimeline_zoomBtn {
  border: none;
  background: transparent;
  cursor: pointer;
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  color: var(--text-secondary);
}
.serve_cn_GivingTimeline_zoomOn {
  background: var(--box-bg);
  color: var(--text-primary);
  box-shadow: var(--shadow-sm, var(--box-shadow));
}

/* The timeline field */
.serve_cn_GivingTimeline_field {
  position: relative;
  margin: 0;
  padding: var(--space-xl) var(--space-md) var(--space-sm);
  border-radius: var(--radius-lg);
  min-height: 220px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 28% 50%, color-mix(in srgb, var(--control-accent) 16%, transparent), transparent 60%),
    radial-gradient(ellipse at 72% 50%, color-mix(in srgb, var(--give-accent, var(--control-accent)) 18%, transparent), transparent 60%),
    var(--bg-inset, var(--bg-hover));
  border: 1px solid var(--box-border);
}
.serve_cn_GivingTimeline_hint {
  position: absolute;
  top: var(--space-sm);
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  font-size: var(--text-xs);
  color: var(--text-tertiary, var(--text-secondary));
  opacity: 0.7;
  pointer-events: none;
  transition: opacity var(--dur-fast, 150ms) ease;
}
.serve_cn_GivingTimeline_hintOn {
  opacity: 1;
  color: var(--text-primary);
}
.serve_cn_GivingTimeline_hintDot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
}
.serve_cn_GivingTimeline_axis {
  position: absolute;
  left: var(--space-md);
  right: var(--space-md);
  top: 52%;
  height: 1px;
  background: var(--border-subtle, var(--box-border));
}
.serve_cn_GivingTimeline_buckets {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: var(--space-xs);
  min-height: 150px;
}
.serve_cn_GivingTimeline_bucket {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.serve_cn_GivingTimeline_bubbles {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
/* single luminous line of gifts on the axis (replaces the per-month columns) */
.serve_cn_GivingTimeline_line {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-around;
  min-height: 150px;
  padding: 0 var(--space-2xs);
}
.serve_cn_GivingTimeline_labels {
  display: flex;
  justify-content: space-around;
  margin-top: var(--space-xs);
}
.serve_cn_GivingTimeline_labels .serve_cn_GivingTimeline_bucketLabel {
  flex: 1 1 0;
  margin-top: 0;
}
.serve_cn_GivingTimeline_bubble {
  border: none;
  padding: 0;
  border-radius: var(--radius-full);
  flex-shrink: 0;
  cursor: pointer;
  transition:
    transform var(--dur-fast, 150ms) ease,
    opacity var(--dur-fast, 150ms) ease,
    filter var(--dur-fast, 150ms) ease;
}
.serve_cn_GivingTimeline_bubble:hover,
.serve_cn_GivingTimeline_bubble:focus-visible {
  outline: none;
  opacity: 1;
  filter: brightness(1.08);
}
@media (prefers-reduced-motion: reduce) {
  .serve_cn_GivingTimeline_bubble {
    transition: none;
  }
}
.serve_cn_GivingTimeline_bucketLabel {
  margin-top: var(--space-sm);
  text-align: center;
  font-family: var(--label-font-family);
  font-size: var(--text-2xs, 0.625rem);
  letter-spacing: 0.14em;
  color: var(--text-tertiary, var(--text-secondary));
}

/* Share + privacy */
.serve_cn_GivingTimeline_foot {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_GivingTimeline_shareBtn {
  width: 100%;
  gap: var(--space-2xs);
}
.serve_cn_GivingTimeline_privacy {
  display: flex;
  gap: var(--space-xs);
  align-items: flex-start;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--success) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--success) 22%, transparent);
  font-size: var(--text-xs);
  color: var(--text-secondary);
  line-height: 1.5;
}
.serve_cn_GivingTimeline_privacy svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--success);
}

/* Tap-popup */
.serve_cn_GivingTimeline_detail {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding-bottom: var(--space-sm);
}
.serve_cn_GivingTimeline_detailHead {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_GivingTimeline_detailDot {
  width: 0.75rem;
  height: 0.75rem;
  flex: none;
  border-radius: var(--radius-full);
}
.serve_cn_GivingTimeline_detailCause {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
}
.serve_cn_GivingTimeline_detailMeta {
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_GivingTimeline_detailAmount {
  margin-left: auto;
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  color: var(--text-primary);
}
.serve_cn_GivingTimeline_detailType {
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: var(--text-tertiary, var(--text-secondary));
  text-transform: uppercase;
}

.serve_cn_GivingTimeline_funded {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--c) 8%, var(--box-bg));
  border: 1px solid color-mix(in srgb, var(--c) 30%, transparent);
}
.serve_cn_GivingTimeline_fundedKicker {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs, 0.625rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-tertiary, var(--text-secondary));
}
.serve_cn_GivingTimeline_fundedRow {
  display: flex;
  gap: var(--space-sm);
  align-items: flex-start;
}
.serve_cn_GivingTimeline_fundedIcon {
  width: 2rem;
  height: 2rem;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--c) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 30%, transparent);
}
.serve_cn_GivingTimeline_fundedBody {
  min-width: 0;
}
.serve_cn_GivingTimeline_fundedHeadline {
  font-family: var(--heading-font-family);
  font-size: var(--text-md, 0.95rem);
  color: var(--text-primary);
  line-height: 1.2;
}
.serve_cn_GivingTimeline_fundedOrg {
  margin-top: 2px;
  font-size: var(--text-xs);
  color: var(--text-secondary);
}
.serve_cn_GivingTimeline_fundedStory {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}
.serve_cn_GivingTimeline_pipeline {
  display: flex;
  gap: var(--space-xs);
  align-items: flex-start;
  padding: var(--space-md);
  border-radius: var(--radius-md);
  background: var(--bg-inset, var(--bg-hover));
  border: 1px dashed var(--box-border);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}
.serve_cn_GivingTimeline_pipeline svg {
  flex-shrink: 0;
  margin-top: 2px;
}

/* Click-anchored gift popover (reliable on desktop; replaces the bottom drawer) */
.serve_cn_GivingTimeline_popBackdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
}
.serve_cn_GivingTimeline_pop {
  position: fixed;
  z-index: 71;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: var(--bg-rich, var(--box-bg));
  border: 1px solid var(--box-border);
  box-shadow: var(--shadow-lg, var(--box-shadow));
}

/*!***********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/ImpactDeployments.module.css ***!
  \***********************************************************************************************************************************************************************************************************/
/* ImpactDeployments — "what your money did" (dusk-donate · Impact). Token-driven chrome; per-row cause
   color is the only inline (data-derived) value, set via --c. */
.serve_cn_ImpactDeployments_root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--box-shadow);
}

.serve_cn_ImpactDeployments_lede {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_ImpactDeployments_headline {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--text-primary);
}
.serve_cn_ImpactDeployments_headline em {
  font-style: italic;
  color: var(--give-accent, var(--control-accent));
}
.serve_cn_ImpactDeployments_sub {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Deployed-by-cause spectrum panel */
.serve_cn_ImpactDeployments_deployed {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--give-accent, var(--control-accent)) 10%, var(--box-bg));
  border: 1px solid color-mix(in srgb, var(--give-accent, var(--control-accent)) 28%, transparent);
}
.serve_cn_ImpactDeployments_deployedTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_ImpactDeployments_deployedAmt {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
}

/* Latest deployments list */
.serve_cn_ImpactDeployments_list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_ImpactDeployments_rows {
  display: flex;
  flex-direction: column;
  gap: var(--list-gap);
}
.serve_cn_ImpactDeployments_row {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  text-align: left;
  padding: var(--space-sm) var(--space-md) var(--space-sm) calc(var(--space-md) + 4px);
  border-radius: var(--radius-md);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  cursor: pointer;
  overflow: hidden;
  transition: background var(--dur-fast, 150ms) ease;
}
.serve_cn_ImpactDeployments_row:hover,
.serve_cn_ImpactDeployments_row:focus-visible {
  outline: none;
  background: var(--bg-hover);
}
.serve_cn_ImpactDeployments_rowBar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--c);
}
.serve_cn_ImpactDeployments_rowIcon {
  width: 2.25rem;
  height: 2.25rem;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  color: var(--c);
  background: color-mix(in srgb, var(--c) 13%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 28%, transparent);
}
.serve_cn_ImpactDeployments_rowBody {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.serve_cn_ImpactDeployments_rowTitle {
  font-family: var(--heading-font-family);
  font-size: var(--text-md, 0.95rem);
  color: var(--text-primary);
  line-height: 1.2;
}
.serve_cn_ImpactDeployments_rowMeta {
  margin-top: 3px;
  font-family: var(--label-font-family);
  font-size: var(--text-2xs, 0.625rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-tertiary, var(--text-secondary));
}
.serve_cn_ImpactDeployments_rowArrow {
  flex: none;
  color: var(--text-tertiary, var(--text-secondary));
}

/* Pipeline note */
.serve_cn_ImpactDeployments_pipeline {
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: var(--bg-inset, var(--bg-hover));
  border: 1px dashed var(--box-border);
  font-size: var(--text-xs);
  color: var(--text-secondary);
  line-height: 1.5;
}
.serve_cn_ImpactDeployments_pipeline b {
  color: var(--text-primary);
}

/* How-spent popup */
.serve_cn_ImpactDeployments_detail {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding-bottom: var(--space-sm);
}
.serve_cn_ImpactDeployments_detailHead {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_ImpactDeployments_detailIcon {
  width: 2.5rem;
  height: 2.5rem;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 30%, transparent);
}
.serve_cn_ImpactDeployments_detailOrg {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
}
.serve_cn_ImpactDeployments_detailMeta {
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_ImpactDeployments_spend {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--c) 8%, var(--box-bg));
  border: 1px solid color-mix(in srgb, var(--c) 26%, transparent);
}
.serve_cn_ImpactDeployments_spendKicker {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs, 0.625rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-tertiary, var(--text-secondary));
}
.serve_cn_ImpactDeployments_spendValue {
  font-family: var(--heading-font-family);
  font-size: var(--text-md, 0.95rem);
  color: var(--text-primary);
  text-transform: capitalize;
}
.serve_cn_ImpactDeployments_story {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.55;
}
.serve_cn_ImpactDeployments_trace {
  display: flex;
  gap: var(--space-xs);
  align-items: flex-start;
  font-size: var(--text-xs);
  color: var(--text-tertiary, var(--text-secondary));
  line-height: 1.5;
}
.serve_cn_ImpactDeployments_trace svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--success);
}

/* Click-anchored deployment popover (reliable on desktop; replaces the bottom drawer) */
.serve_cn_ImpactDeployments_popBackdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
}
.serve_cn_ImpactDeployments_pop {
  position: fixed;
  z-index: 71;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: var(--bg-rich, var(--box-bg));
  border: 1px solid var(--box-border);
  box-shadow: var(--shadow-lg, var(--box-shadow));
}
.serve_cn_ImpactDeployments_detailHeadline {
  font-family: var(--heading-font-family);
  font-size: var(--text-md, 0.95rem);
  color: var(--text-primary);
  line-height: 1.2;
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/InvitesPanel.module.css ***!
  \******************************************************************************************************************************************************************************************************/
/* InvitesPanel — balance hero + earn rows + people brought + legacy cascade. */
.serve_cn_InvitesPanel_Root {
  width: 100%;
  max-width: var(--card-wide);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.serve_cn_InvitesPanel_hero {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.serve_cn_InvitesPanel_cluster {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: var(--space-2xs);
  flex: none;
}
.serve_cn_InvitesPanel_heroText {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}
.serve_cn_InvitesPanel_count {
  font-family: var(--heading-font-family);
  font-size: var(--text-5xl);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--text-primary);
}
.serve_cn_InvitesPanel_sub {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-auxiliary);
  margin-bottom: var(--space-2xs);
}
.serve_cn_InvitesPanel_sent {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}

.serve_cn_InvitesPanel_section {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.serve_cn_InvitesPanel_legacy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.serve_cn_InvitesPanel_gens {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.serve_cn_InvitesPanel_genRow {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
}
.serve_cn_InvitesPanel_genLabel {
  flex: 1;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_InvitesPanel_genWho {
  color: var(--text-auxiliary);
}
.serve_cn_InvitesPanel_genHours {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  color: var(--info);
}

.serve_cn_InvitesPanel_connector {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  margin-top: var(--space-xs);
  padding-top: var(--space-md);
  border-top: 1px solid var(--box-border);
  text-align: left;
  color: var(--text-auxiliary);
}
.serve_cn_InvitesPanel_connectorText {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.serve_cn_InvitesPanel_connectorTier {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--text-primary);
}
.serve_cn_InvitesPanel_connectorNote {
  font-size: var(--text-xs);
  color: var(--text-secondary);
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/InviteSheet.module.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* InviteSheet — invite form inside a Sheet. */
.serve_cn_InviteSheet_form {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/Calendar.module.css ***!
  \**************************************************************************************************************************************************************************************************/
/* Calendar — month / week / day. Token-driven; selected = accent, today = accent tint + border. */
.serve_cn_Calendar_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/* view toggle */
.serve_cn_Calendar_toggle {
  display: inline-flex;
  gap: var(--space-2xs);
  padding: var(--space-2xs);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  align-self: flex-start;
}
.serve_cn_Calendar_tab {
  padding: var(--space-2xs) var(--space-md);
  border-radius: var(--radius-full);
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_tabOn {
  background: var(--control-accent);
  color: var(--control-text-contrast);
}

/* month grid */
.serve_cn_Calendar_dowRow,
.serve_cn_Calendar_grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: var(--space-2xs);
}
.serve_cn_Calendar_dow {
  text-align: center;
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-2xs);
  letter-spacing: 0.1em;
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_cell {
  aspect-ratio: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  transition: background var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft);
}
.serve_cn_Calendar_cell[data-other] {
  opacity: 0.32;
}
.serve_cn_Calendar_cell[data-today] {
  background: color-mix(in srgb, var(--control-accent) 10%, transparent);
  border-color: var(--control-accent);
}
.serve_cn_Calendar_cell[data-selected] {
  background: var(--control-accent);
}
.serve_cn_Calendar_cellDay {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  line-height: 1;
  color: var(--text-primary);
}
.serve_cn_Calendar_cell[data-selected] .serve_cn_Calendar_cellDay {
  color: var(--control-text-contrast);
}
.serve_cn_Calendar_dots {
  display: flex;
  gap: 2px;
  margin-top: var(--space-2xs);
}
.serve_cn_Calendar_dot {
  width: 4px;
  height: 4px;
  border-radius: var(--radius-full);
}

/* week rail */
.serve_cn_Calendar_rail {
  display: flex;
  gap: var(--space-xs);
}
.serve_cn_Calendar_dayPill {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-sm) var(--space-2xs);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
  border: 1px solid transparent;
}
.serve_cn_Calendar_dayPill[data-today] {
  background: color-mix(in srgb, var(--control-accent) 10%, transparent);
  border-color: var(--control-accent);
}
.serve_cn_Calendar_dayPill[data-selected] {
  background: var(--control-accent);
}
.serve_cn_Calendar_pillDow {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_pillNum {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  line-height: 1;
  color: var(--text-primary);
}
.serve_cn_Calendar_dayPill[data-selected] .serve_cn_Calendar_pillDow,
.serve_cn_Calendar_dayPill[data-selected] .serve_cn_Calendar_pillNum {
  color: var(--control-text-contrast);
}
.serve_cn_Calendar_pillDot {
  width: 4px;
  height: 4px;
  border-radius: var(--radius-full);
}

/* day timeline */
.serve_cn_Calendar_timeline {
  display: flex;
  flex-direction: column;
}
.serve_cn_Calendar_hourRow {
  display: flex;
  gap: var(--space-md);
  align-items: flex-start;
  min-height: 56px;
  padding: var(--space-sm) 0;
  border-top: 1px solid var(--box-border);
}
.serve_cn_Calendar_hourLabel {
  flex: none;
  width: 56px;
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_Calendar_hourBody {
  flex: 1;
  min-width: 0;
}

/* agenda list (month + week) */
.serve_cn_Calendar_agenda {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_Calendar_empty {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-sm);
  color: var(--text-auxiliary);
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/CheckIn.module.css ***!
  \*************************************************************************************************************************************************************************************************/
/* CheckIn — GPS proximity or contact-the-host arrival flow. */
.serve_cn_CheckIn_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: center;
}

.serve_cn_CheckIn_lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
}
.serve_cn_CheckIn_hero {
  font-family: var(--heading-font-family);
  font-size: var(--text-3xl);
  line-height: 1.1;
  color: var(--text-primary);
}
.serve_cn_CheckIn_accent {
  color: var(--control-accent);
  font-style: italic;
}
.serve_cn_CheckIn_sub {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  max-width: 32ch;
  margin-inline: auto;
}

.serve_cn_CheckIn_orbWrap {
  display: flex;
  justify-content: center;
  padding: var(--space-sm) 0;
}

/* contact mode */
.serve_cn_CheckIn_host {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_CheckIn_hostText {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_CheckIn_hostName {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  color: var(--text-primary);
}
.serve_cn_CheckIn_hostRole {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_CheckIn_contacts {
  display: flex;
  justify-content: center;
  gap: var(--space-sm);
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/CauseHero.module.css ***!
  \***************************************************************************************************************************************************************************************************/
/* CauseHero — cause/entity page hero. --ch-tint = cause color. */
.serve_cn_CauseHero_Root {
  position: relative;
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  overflow: hidden;
}

.serve_cn_CauseHero_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  text-align: center;
}
.serve_cn_CauseHero_name {
  margin: 0;
  font-family: var(--heading-font-family);
  font-size: var(--text-3xl);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}
.serve_cn_CauseHero_desc {
  margin: 0;
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: 1.3;
  color: var(--text-secondary);
  max-width: 36ch;
}

.serve_cn_CauseHero_lockup {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
}
.serve_cn_CauseHero_you {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-sm-plus);
  border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--ch-tint) 18%, transparent);
  color: var(--ch-tint);
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/OrganizerBlock.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* OrganizerBlock — jade elevated-access panel. */
.serve_cn_OrganizerBlock_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  border-radius: var(--radius-box);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--success) 28%, transparent);
  background: color-mix(in srgb, var(--success) 5%, transparent);
}

.serve_cn_OrganizerBlock_header {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  background: color-mix(in srgb, var(--success) 10%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--success) 20%, transparent);
  color: var(--success);
}
.serve_cn_OrganizerBlock_headLabel {
  flex: 1;
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.serve_cn_OrganizerBlock_headSub {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

.serve_cn_OrganizerBlock_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-md);
}
.serve_cn_OrganizerBlock_status {
  display: flex;
  gap: var(--space-sm);
}
.serve_cn_OrganizerBlock_rows {
  display: flex;
  flex-direction: column;
}
.serve_cn_OrganizerBlock_row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  border-top: 1px solid var(--box-border);
}
.serve_cn_OrganizerBlock_row:first-child {
  border-top: none;
}
.serve_cn_OrganizerBlock_rowIcon {
  display: inline-flex;
  color: var(--text-auxiliary);
  padding-top: var(--space-2xs);
}
.serve_cn_OrganizerBlock_rowText {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_OrganizerBlock_rowValue {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}

/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/IdentityHeader.module.css ***!
  \********************************************************************************************************************************************************************************************************/
/* IdentityHeader — centered profile/you identity block. */
.serve_cn_IdentityHeader_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  text-align: center;
}
.serve_cn_IdentityHeader_name {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  color: var(--text-primary);
  margin-top: var(--space-2xs);
}
.serve_cn_IdentityHeader_role {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_IdentityHeader_tagline {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-base);
  color: var(--text-secondary);
  max-width: 34ch;
}
.serve_cn_IdentityHeader_actions {
  display: flex;
  gap: var(--space-sm);
  margin-top: var(--space-xs);
}

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/AllyChat.module.css ***!
  \**************************************************************************************************************************************************************************************************/
/* AllyChat — Ask Ally transcript + dual-mode (voice/text) input. */
.serve_cn_AllyChat_Root {
  width: 100%;
  max-width: var(--card);
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.serve_cn_AllyChat_thread {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  /* horizontal room so the orb's soft glow isn't clipped by the scroll container's edge */
  padding: var(--space-2xs) var(--space-sm);
}
.serve_cn_AllyChat_row {
  display: flex;
  align-items: flex-end;
  gap: var(--space-sm);
  max-width: 86%;
}
/* keep the orb/avatar perfectly round — never let a wide bubble squish it into an oval */
.serve_cn_AllyChat_row > :first-child {
  flex-shrink: 0;
}
.serve_cn_AllyChat_mine {
  align-self: flex-end;
  flex-direction: row-reverse;
}
.serve_cn_AllyChat_bubble {
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-lg);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.45;
  background: var(--bg-panel);
  color: var(--text-primary);
}
.serve_cn_AllyChat_mine .serve_cn_AllyChat_bubble {
  background: color-mix(in srgb, var(--control-accent) 22%, transparent);
  color: var(--text-primary);
}

/* voice mode */
.serve_cn_AllyChat_voiceZone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg) 0 var(--space-sm);
}
.serve_cn_AllyChat_voiceStatus {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--info);
}
.serve_cn_AllyChat_transcript {
  min-height: 2.6em;
  text-align: center;
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  line-height: 1.4;
  color: var(--text-primary);
  padding: 0 var(--space-lg);
}
.serve_cn_AllyChat_muted {
  color: var(--text-auxiliary);
  font-style: italic;
}
.serve_cn_AllyChat_voiceControls {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

/* text mode */
.serve_cn_AllyChat_inputBar {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_AllyChat_composer {
  flex: 1;
}

/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/RefineOverlay.module.css ***!
  \*******************************************************************************************************************************************************************************************************/
/* RefineOverlay — Ally refine pivot panel. */
.serve_cn_RefineOverlay_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg);
  border-radius: var(--radius-box);
  background: var(--bg-rich);
  border: 1px solid var(--box-border);
  text-align: center;
}
.serve_cn_RefineOverlay_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_RefineOverlay_prompt {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
}
.serve_cn_RefineOverlay_pivots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-xs);
}

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/CrewCard.module.css ***!
  \**************************************************************************************************************************************************************************************************/
/* CrewCard — selectable crew option. --crew-tint = cause color. */
.serve_cn_CrewCard_Root {
  --crew-tint: var(--control-accent);
  position: relative;
  width: 160px;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-md);
  text-align: center;
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-soft);
}
.serve_cn_CrewCard_Root[data-selected] {
  border-color: var(--crew-tint);
  box-shadow: 0 0 0 1px var(--crew-tint), 0 0 18px color-mix(in srgb, var(--crew-tint) 30%, transparent);
}
.serve_cn_CrewCard_name {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_CrewCard_vibe {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_CrewCard_members {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}
.serve_cn_CrewCard_check {
  position: absolute;
  top: var(--space-xs);
  right: var(--space-xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: var(--radius-full);
  background: var(--crew-tint);
  color: var(--control-text-contrast);
}
@media (prefers-reduced-motion: reduce) {
  .serve_cn_CrewCard_Root {
    transition: none;
  }
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/CrewPicker.module.css ***!
  \****************************************************************************************************************************************************************************************************/
/* CrewPicker — grid of crew options. */
.serve_cn_CrewPicker_Root {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

/*!**********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/MissionSpotlight.module.css ***!
  \**********************************************************************************************************************************************************************************************************/
/* MissionSpotlight — the first Shared-Element-Transition surface. A grid of mission cards; tapping one
   morphs (framer layoutId) into a detail panel that overlays the content window. Only the tagged
   elements (card surface, cause tile, title) morph; the rest cross-fades. Scoped to its own wrapper so
   the rail/topbar never move. */
.serve_cn_MissionSpotlight_wrap {
  position: relative;
}

.serve_cn_MissionSpotlight_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: var(--space-md);
}
/* defensive sizing — a card never collapses or deforms: a floor height, a min width so the grid can't
   crush it, and clamped text so any title/meta length keeps the same footprint. */
.serve_cn_MissionSpotlight_card {
  container-type: inline-size; /* the card is the query container — band placement follows its width */
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 128px;
  text-align: left;
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid color-mix(in srgb, var(--m-tone) 22%, var(--box-border));
  cursor: pointer;
}
/* the cause band, both orientations — absolutely placed so they don't shift the body; default (tile)
   shows the TOP bar, the container query below swaps to the LEFT rail when the card is wide. */
.serve_cn_MissionSpotlight_bandTop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.serve_cn_MissionSpotlight_bandLeft {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
  display: none;
}
.serve_cn_MissionSpotlight_cardBody {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
  min-width: 0;
}
/* wide/horizontal card → cause line on the LEFT, body cleared past it */
@container (min-width: 360px) {
  .serve_cn_MissionSpotlight_bandTop {
    display: none;
  }
  .serve_cn_MissionSpotlight_bandLeft {
    display: block;
  }
  .serve_cn_MissionSpotlight_cardBody {
    padding-left: calc(var(--space-md) + var(--space-2xs));
  }
}
.serve_cn_MissionSpotlight_cardTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_MissionSpotlight_cardMeta {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* the overlay layer — covers the content column (its positioned ancestor), not the whole app */
.serve_cn_MissionSpotlight_scrim {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  min-height: 100%;
  z-index: 40;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: var(--space-lg);
  background: var(--bg-overlay);
  -webkit-backdrop-filter: blur(var(--blur-md));
  backdrop-filter: blur(var(--blur-md));
}
.serve_cn_MissionSpotlight_detail {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 660px;
  border-radius: var(--radius-box);
  background: var(--bg-rich);
  border: 1px solid var(--box-border);
  box-shadow: 0 24px 70px var(--bg-overlay);
}
.serve_cn_MissionSpotlight_close {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: var(--radius-full);
  color: var(--text-primary);
  background: color-mix(in srgb, var(--bg-page) 40%, transparent);
  transition: background var(--dur-fast) var(--ease-soft);
}
.serve_cn_MissionSpotlight_close:hover {
  background: var(--bg-hover);
}
.serve_cn_MissionSpotlight_hero {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xl);
  min-height: 128px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--m-tone) 38%, var(--bg-rich)), var(--bg-rich));
}
.serve_cn_MissionSpotlight_heroText {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}
.serve_cn_MissionSpotlight_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-xl);
}
.serve_cn_MissionSpotlight_blurb {
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  line-height: 1.55;
  color: var(--text-secondary);
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* the facts row — each item is a compact Stat atom */
.serve_cn_MissionSpotlight_facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xl);
}
.serve_cn_MissionSpotlight_ctas {
  display: flex;
  gap: var(--space-sm);
}

/* ── full-page variant (MissionDetailPage) — layered so the hero morphs while bg + body fade ── */
/* opaque page background — its own motion layer (fades in on enter, out on exit) */
.serve_cn_MissionSpotlight_pageBg {
  position: absolute;
  inset: 0;
  background: var(--bg-page);
}
/* the scrolling content sits above the bg; the hero (layoutId) lives here and never fades */
.serve_cn_MissionSpotlight_pageScroll {
  position: absolute;
  inset: 0;
  overflow-y: auto;
}
.serve_cn_MissionSpotlight_back {
  position: sticky;
  top: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  margin: var(--space-md) 0 0 var(--space-lg);
  padding: var(--space-2xs) var(--space-sm) var(--space-2xs) var(--space-2xs);
  border-radius: var(--radius-full);
  color: var(--text-secondary);
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color var(--dur-fast) var(--ease-soft);
}
.serve_cn_MissionSpotlight_back:hover {
  color: var(--text-primary);
}
.serve_cn_MissionSpotlight_pageHero {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  max-width: 720px;
  margin: var(--space-md) auto 0;
  padding: var(--space-2xl);
  border-radius: var(--radius-box);
  background: linear-gradient(135deg, color-mix(in srgb, var(--m-tone) 40%, var(--bg-rich)), var(--bg-rich));
  border: 1px solid color-mix(in srgb, var(--m-tone) 24%, var(--box-border));
}
.serve_cn_MissionSpotlight_pageMeta {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin-top: var(--space-2xs);
}
.serve_cn_MissionSpotlight_pageBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  max-width: 720px;
  margin: 0 auto;
  padding: var(--space-2xl) var(--space-2xl) var(--space-3xl);
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_MissionSpotlight_close,
  .serve_cn_MissionSpotlight_back {
    transition: none;
  }
}

/* RSVP-aware CTA: a "you're going / checked in" status pill shown instead of "Hold my spot" */
.serve_cn_MissionSpotlight_goingTag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-md);
  border-radius: var(--radius-full);
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--success);
  background: color-mix(in srgb, var(--success) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--success) 32%, transparent);
}
.serve_cn_MissionSpotlight_goingTag svg {
  color: var(--success);
}

/* Full mission brief sections inside the morph detail page (mirrors the Mission brief layout) */
.serve_cn_MissionSpotlight_detailSection {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_MissionSpotlight_detailChips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}
.serve_cn_MissionSpotlight_twoCol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-sm);
}
@media (max-width: 420px) {
  .serve_cn_MissionSpotlight_twoCol {
    grid-template-columns: 1fr;
  }
}
.serve_cn_MissionSpotlight_listCard {
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_MissionSpotlight_briefList {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
}
.serve_cn_MissionSpotlight_briefListItem {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_MissionSpotlight_bullet {
  width: 5px;
  height: 5px;
  border-radius: var(--radius-full);
  flex-shrink: 0;
}
.serve_cn_MissionSpotlight_hostRow {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_MissionSpotlight_hostText {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.serve_cn_MissionSpotlight_hostName {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_MissionSpotlight_hostName svg {
  color: var(--success);
}
.serve_cn_MissionSpotlight_hostStats {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/RoleSwitcher.module.css ***!
  \******************************************************************************************************************************************************************************************************/
/* RoleSwitcher — composes Header (headline) + RoleCard rows (per-role tone, badges, radio) inside the
   Sheet. Only the layout chrome lives here; the row + header styling come from their own atoms/molecules. */

/* the role list — capped height so a long list scrolls instead of pushing the sheet full-page */
.serve_cn_RoleSwitcher_list {
  display: flex;
  flex-direction: column;
  gap: var(--list-gap);
  max-height: min(56vh, 460px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.serve_cn_RoleSwitcher_note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--success) 7%, transparent);
  border: 1px solid color-mix(in srgb, var(--success) 22%, transparent);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  line-height: 1.5;
  color: var(--text-secondary);
}
.serve_cn_RoleSwitcher_noteIcon {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--success);
}

/* desktop top sheet: full width, content centered to a comfortable measure */
.serve_cn_RoleSwitcher_bodyTop {
  max-width: var(--page-wide, 1180px);
  margin-inline: auto;
  width: 100%;
}
/* bottom grip for the top sheet (pull-down affordance) */
.serve_cn_RoleSwitcher_grip {
  width: 100px;
  height: 5px;
  margin: var(--space-xs) auto 0;
  border-radius: var(--radius-full);
  background: var(--border-default);
}

/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/organisms/NetworkRipple.module.css ***!
  \*******************************************************************************************************************************************************************************************************/
/* NetworkRipple — WP22 long-tail "your network ripple". Token-driven (no hardcoded CSS); the only
   data-derived visuals (cause stripe / badge rings) live in the cause-print atoms it composes. */
.serve_cn_NetworkRipple_Root {
  width: 100%;
  max-width: var(--card);
  min-width: var(--card-min);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.serve_cn_NetworkRipple_headline {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--text-primary);
}
.serve_cn_NetworkRipple_figure {
  color: var(--control-accent);
}

.serve_cn_NetworkRipple_metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: var(--space-sm);
}
.serve_cn_NetworkRipple_tile {
  display: flex;
  padding: var(--space-md);
  border-radius: var(--radius-md);
  background: var(--bg-inset);
}
.serve_cn_NetworkRipple_unit {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  letter-spacing: 0;
}

.serve_cn_NetworkRipple_causes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.serve_cn_NetworkRipple_members {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_NetworkRipple_membersLabel {
  font-family: var(--label-font-family);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}

/*!******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/nav/NavBar.module.css ***!
  \******************************************************************************************************************************************************************************************/
/* NavBar — bottom floating nav pill + center logo launcher. */
.serve_cn_NavBar_Root {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 30;
  padding: var(--space-md) var(--space-md) calc(var(--space-xl) + var(--safe-bottom));
  background: linear-gradient(180deg, transparent, var(--bg-page) 35%);
  pointer-events: none;
}
.serve_cn_NavBar_pill {
  pointer-events: auto;
  width: 100%;
  max-width: var(--card-narrow);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2xs);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-full);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--box-shadow);
  backdrop-filter: blur(var(--blur-md));
}

.serve_cn_NavBar_slot {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-xs) var(--space-2xs);
  color: var(--text-auxiliary);
  transition: color var(--dur-fast) var(--ease-soft);
}
.serve_cn_NavBar_slot[data-active] {
  color: var(--control-accent);
}
.serve_cn_NavBar_slotIcon {
  position: relative;
  display: inline-flex;
}
.serve_cn_NavBar_slotLabel {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-2xs);
  letter-spacing: 0.04em;
}
.serve_cn_NavBar_badge {
  position: absolute;
  top: -4px;
  right: -8px;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background: var(--danger);
  color: var(--control-text-contrast);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  font-weight: var(--badge-font-weight);
}

.serve_cn_NavBar_launcher {
  position: relative;
  flex: none;
  /* Deliberately larger than the 22px slot icons — the center heart is the focal launcher. */
  width: 64px;
  height: 64px;
  margin-top: calc(var(--space-sm) * -1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  touch-action: none;
}
.serve_cn_NavBar_ring {
  position: absolute;
  inset: -4px;
  transform: rotate(-90deg);
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-soft);
}
.serve_cn_NavBar_launcher[data-pressing] .serve_cn_NavBar_ring {
  opacity: 1;
}
.serve_cn_NavBar_orb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: scale(calc(0.92 + var(--lp, 0) * 0.1));
  transition: transform var(--dur-fast) var(--ease-spring);
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_NavBar_slot,
  .serve_cn_NavBar_orb,
  .serve_cn_NavBar_ring {
    transition: none;
  }
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/nav/NavGridMenu.module.css ***!
  \***********************************************************************************************************************************************************************************************/
/* NavGridMenu — single-tap destinations overlay. */
.serve_cn_NavGridMenu_Root {
  position: absolute;
  inset: 0;
  z-index: 60;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* backdrop opacity, panel slide, card stagger are all animated by framer-motion */
.serve_cn_NavGridMenu_backdrop {
  position: absolute;
  inset: 0;
  background: var(--bg-overlay);
  backdrop-filter: blur(var(--blur-lg));
}

.serve_cn_NavGridMenu_panel {
  position: relative;
  z-index: 1;
  padding: var(--space-xl);
  padding-top: calc(var(--space-2xl) + var(--safe-top));
}
/* the menu mode's content column (the panel's single morph child) */
.serve_cn_NavGridMenu_modeBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.serve_cn_NavGridMenu_header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
}
.serve_cn_NavGridMenu_tip {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

.serve_cn_NavGridMenu_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-sm);
}
.serve_cn_NavGridMenu_card {
  --dest-tone: var(--control-accent);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  padding: var(--space-md);
  text-align: left;
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid color-mix(in srgb, var(--dest-tone) 25%, var(--box-border));
}
.serve_cn_NavGridMenu_cardGlow {
  position: absolute;
  top: -24px;
  right: -24px;
  width: 80px;
  height: 80px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle, color-mix(in srgb, var(--dest-tone) 40%, transparent), transparent 70%);
  filter: blur(var(--blur-md));
  pointer-events: none;
}
.serve_cn_NavGridMenu_cardIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--dest-tone) 18%, transparent);
  color: var(--dest-tone);
}
.serve_cn_NavGridMenu_cardLabel {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
  margin-top: var(--space-2xs);
}
.serve_cn_NavGridMenu_cardSub {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-secondary);
}

.serve_cn_NavGridMenu_more {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  color: var(--text-secondary);
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Ally row — tap-to-talk / text-to-chat */
.serve_cn_NavGridMenu_allyRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-sm);
}
.serve_cn_NavGridMenu_allyBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid color-mix(in srgb, var(--control-accent) 28%, var(--box-border));
  color: var(--text-primary);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  transition: background var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft);
}
.serve_cn_NavGridMenu_allyBtn:hover {
  background: var(--bg-hover);
}
.serve_cn_NavGridMenu_allyIcon {
  display: inline-flex;
  color: var(--control-accent);
}

/* chat morph */
.serve_cn_NavGridMenu_chatWrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  height: 62vh;
}
.serve_cn_NavGridMenu_chatHead {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_NavGridMenu_chatBack {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: var(--radius-full);
  color: var(--text-primary);
  transition: background var(--dur-fast) var(--ease-soft);
}
.serve_cn_NavGridMenu_chatBack:hover {
  background: var(--bg-hover);
}
.serve_cn_NavGridMenu_chatTitle {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
}
.serve_cn_NavGridMenu_chatBody {
  flex: 1;
  min-height: 0;
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_NavGridMenu_backdrop,
  .serve_cn_NavGridMenu_header,
  .serve_cn_NavGridMenu_card {
    transition: none;
  }
}

/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/nav/FuzzyOrb.module.css ***!
  \********************************************************************************************************************************************************************************************/
/* FuzzyOrb — keyframes only (no color literals; the tinted gradients are computed inline in the TSX,
   exempt from the token guard like the other computed-visual atoms). */
.serve_cn_FuzzyOrb_orb {
  position: relative;
  width: 100%;
  height: 100%;
}
.serve_cn_FuzzyOrb_layer {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.serve_cn_FuzzyOrb_breathe {
  animation: serve_cn_FuzzyOrb_orbBreathe 4s ease-in-out infinite;
}
.serve_cn_FuzzyOrb_breatheDelay {
  animation: serve_cn_FuzzyOrb_orbBreathe 4s ease-in-out infinite 0.4s;
}
.serve_cn_FuzzyOrb_shimmer {
  animation: serve_cn_FuzzyOrb_orbShimmer 6s ease-in-out infinite;
}
.serve_cn_FuzzyOrb_heart {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.88;
  pointer-events: none;
}

@keyframes serve_cn_FuzzyOrb_orbBreathe {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.08);
    opacity: 0.85;
  }
}
@keyframes serve_cn_FuzzyOrb_orbShimmer {
  0%,
  100% {
    transform: translate(0, 0) rotate(0);
    opacity: 0.6;
  }
  33% {
    transform: translate(4px, -2px) rotate(8deg);
    opacity: 0.8;
  }
  66% {
    transform: translate(-3px, 3px) rotate(-6deg);
    opacity: 0.5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_FuzzyOrb_breathe,
  .serve_cn_FuzzyOrb_breatheDelay,
  .serve_cn_FuzzyOrb_shimmer {
    animation: none;
  }
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/nav/NavRadialMenu.module.css ***!
  \*************************************************************************************************************************************************************************************************/
/* NavRadialMenu — the long-press joystick. Structural + typographic styling only; every cause-tinted
   surface (glows, the focused bead ring, the preview accent) is computed from the focused item's
   color and set inline in the TSX, the same computed-visual exemption used across the atoms. */
.serve_cn_NavRadialMenu_Root {
  position: absolute;
  inset: 0;
  z-index: 60;
}
.serve_cn_NavRadialMenu_backdrop {
  position: absolute;
  inset: 0;
  background: var(--bg-overlay);
  opacity: 0;
  backdrop-filter: blur(0px);
  transition: opacity var(--dur-normal) var(--ease-soft), backdrop-filter var(--dur-normal) var(--ease-soft);
}
.serve_cn_NavRadialMenu_Root[data-show] .serve_cn_NavRadialMenu_backdrop {
  opacity: 1;
  backdrop-filter: blur(var(--blur-lg));
}
.serve_cn_NavRadialMenu_glow {
  position: absolute;
  top: 0;
  left: 50%;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  transform: translateX(-50%);
  filter: blur(40px);
  opacity: 0;
  pointer-events: none;
  transition: background var(--dur-slow) var(--ease-soft), opacity var(--dur-normal) var(--ease-soft);
}
.serve_cn_NavRadialMenu_Root[data-show] .serve_cn_NavRadialMenu_glow {
  opacity: 1;
}

/* ambient cause-print aurora — sits above the backdrop, beneath the glow/beads */
.serve_cn_NavRadialMenu_aurora {
  z-index: 1;
}
/* gooey orb↔focus tendril */
.serve_cn_NavRadialMenu_gooDefs {
  position: absolute;
  width: 0;
  height: 0;
}
.serve_cn_NavRadialMenu_gooLayer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  filter: url(https://staging.serve.community/public/#serve-radial-goo);
}
.serve_cn_NavRadialMenu_gooBlob {
  position: absolute;
  left: 50%;
  border-radius: 50%;
  transition: transform 0.18s var(--ease-soft), opacity 0.2s var(--ease-soft);
}

/* ── PART 1: the focused-destination preview ── */
.serve_cn_NavRadialMenu_preview {
  position: absolute;
  top: calc(var(--safe-top) + var(--space-xl));
  left: 0;
  right: 0;
  max-width: var(--card-wide);
  margin-inline: auto;
  padding: 0 var(--space-lg);
  pointer-events: none;
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity var(--dur-normal) var(--ease-soft) 0.06s, transform var(--dur-normal) var(--ease-soft) 0.06s;
}
.serve_cn_NavRadialMenu_Root[data-show] .serve_cn_NavRadialMenu_preview {
  opacity: 1;
  transform: translateY(0);
}
.serve_cn_NavRadialMenu_badgeRow {
  display: flex;
  justify-content: center;
  margin-bottom: var(--space-md);
}
.serve_cn_NavRadialMenu_card {
  position: relative;
  padding: var(--space-xl) var(--space-lg) var(--space-lg);
  border-radius: var(--radius-box);
  overflow: hidden;
  transition: background var(--dur-slow) var(--ease-soft), border-color var(--dur-slow) var(--ease-soft);
}
.serve_cn_NavRadialMenu_cardGlow {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  filter: blur(28px);
  pointer-events: none;
  transition: background var(--dur-slow) var(--ease-soft);
}
.serve_cn_NavRadialMenu_medallion {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-md);
  transition: background var(--dur-slow) var(--ease-soft), box-shadow var(--dur-slow) var(--ease-soft);
}
.serve_cn_NavRadialMenu_title {
  font-family: var(--heading-font-family);
  font-size: var(--text-4xl, 2.75rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
  color: var(--text-primary);
}
.serve_cn_NavRadialMenu_titleAccent {
  font-style: italic;
  transition: color var(--dur-slow) var(--ease-soft);
}
.serve_cn_NavRadialMenu_sub {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--text-primary);
  opacity: 0.85;
  margin-top: var(--space-xs);
}
.serve_cn_NavRadialMenu_desc {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--text-secondary);
  margin-top: var(--space-sm);
}
.serve_cn_NavRadialMenu_strip {
  margin-top: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-full);
  background: var(--bg-hover);
  border: 1px solid var(--box-border);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.serve_cn_NavRadialMenu_stripDot {
  opacity: 0.4;
}
.serve_cn_NavRadialMenu_stripActive {
  font-weight: var(--badge-font-weight);
  transition: color var(--dur-fast) var(--ease-soft);
}

/* ── PART 2: the bead arc ── */
.serve_cn_NavRadialMenu_bead {
  position: absolute;
  left: 50%;
  width: 72px;
  margin-left: -36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  cursor: pointer;
  pointer-events: auto;
}
.serve_cn_NavRadialMenu_chevron {
  position: absolute;
  top: -18px;
  pointer-events: none;
}
.serve_cn_NavRadialMenu_ring {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  backdrop-filter: blur(var(--blur-sm));
  position: relative;
  transition: width 0.2s var(--ease-soft), height 0.2s var(--ease-soft), background 0.2s var(--ease-soft),
    border-color 0.2s var(--ease-soft), box-shadow 0.2s var(--ease-soft);
}
.serve_cn_NavRadialMenu_label {
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  font-weight: 700;
  letter-spacing: -0.005em;
  white-space: nowrap;
  pointer-events: none;
  transition: opacity 0.2s var(--ease-soft), transform 0.2s var(--ease-soft);
}

/* ── the orb the arc fans out from ── */
.serve_cn_NavRadialMenu_orbWrap {
  position: absolute;
  left: 50%;
  width: 60px;
  height: 60px;
  margin-left: -30px;
}
.serve_cn_NavRadialMenu_orbRing {
  position: absolute;
  inset: -3px;
  transform: rotate(-90deg);
  pointer-events: none;
  z-index: 2;
}

/* ── push/pull hint pills ── */
.serve_cn_NavRadialMenu_hint {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  pointer-events: none;
  transition: opacity 0.18s var(--ease-soft), transform 0.18s var(--ease-soft);
}
.serve_cn_NavRadialMenu_hintUp {
  top: calc(var(--safe-top) + var(--space-md));
  opacity: 0;
  transform: translateY(-8px);
  z-index: 6;
}
.serve_cn_NavRadialMenu_hintUp[data-on] {
  opacity: 1;
  transform: translateY(0);
}
/* Back popup sits at the TOP too (next to the forward one) — never under the thumb/orb where the
   finger hides it. Push and pull are mutually exclusive, so they share the spot. */
.serve_cn_NavRadialMenu_hintDown {
  top: calc(var(--safe-top) + var(--space-md));
  opacity: 0;
  transform: translateY(-8px);
  z-index: 6;
}
.serve_cn_NavRadialMenu_hintDown[data-on] {
  opacity: 1;
  transform: translateY(0);
}
.serve_cn_NavRadialMenu_pill {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--bg-rich) 86%, transparent);
  border: 1px solid var(--box-border);
  box-shadow: 0 8px 24px var(--bg-overlay);
  -webkit-backdrop-filter: blur(var(--blur-md));
  backdrop-filter: blur(var(--blur-md));
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  font-weight: var(--label-font-weight);
  letter-spacing: 0.02em;
}
.serve_cn_NavRadialMenu_pillArrow {
  position: relative;
  z-index: 2;
  font-size: var(--text-xs);
  line-height: 1;
}
.serve_cn_NavRadialMenu_pillText {
  position: relative;
  z-index: 2;
}
.serve_cn_NavRadialMenu_pillFill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  transition: width 0.04s linear;
}

/* end-of-list paging affordance — a small chevron sitting ON the arc, one slot past the last bead,
   so it reads as "the next item". Positioned like a bead (left:50% + inline arc transform). */
.serve_cn_NavRadialMenu_endChev {
  position: absolute;
  left: 50%;
  width: 26px;
  height: 26px;
  margin-left: -13px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--box-border);
  backdrop-filter: blur(var(--blur-sm));
  pointer-events: none;
  transition: opacity 0.2s var(--ease-soft), background 0.15s var(--ease-soft), border-color 0.15s var(--ease-soft),
    transform 0.2s var(--ease-soft);
}
.serve_cn_NavRadialMenu_endRing {
  position: absolute;
  inset: 0;
  transform: rotate(-90deg);
  pointer-events: none;
}

.serve_cn_NavRadialMenu_dots {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: var(--space-2xs);
  pointer-events: none;
}
.serve_cn_NavRadialMenu_dot {
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--box-border);
  transition: all var(--dur-normal) var(--ease-soft);
}

@keyframes serve_cn_NavRadialMenu_navHopUp {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.55;
  }
  50% {
    transform: translateY(-4px);
    opacity: 1;
  }
}
@keyframes serve_cn_NavRadialMenu_navArmPulse {
  0%,
  100% {
    transform: translateY(0) scale(1);
    opacity: 0.85;
  }
  50% {
    transform: translateY(-3px) scale(1.18);
    opacity: 1;
  }
}
.serve_cn_NavRadialMenu_hop {
  animation: serve_cn_NavRadialMenu_navHopUp 1.6s ease-in-out infinite;
}
.serve_cn_NavRadialMenu_armPulse {
  animation: serve_cn_NavRadialMenu_navArmPulse 0.55s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_NavRadialMenu_hop,
  .serve_cn_NavRadialMenu_armPulse {
    animation: none;
  }
  .serve_cn_NavRadialMenu_backdrop,
  .serve_cn_NavRadialMenu_glow,
  .serve_cn_NavRadialMenu_preview,
  .serve_cn_NavRadialMenu_ring,
  .serve_cn_NavRadialMenu_label,
  .serve_cn_NavRadialMenu_hint {
    transition-duration: 0.01ms;
  }
}

/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/layout/desktop/Desktop.module.css ***!
  \******************************************************************************************************************************************************************************************************/
/* Desktop shell — standing left rail + topbar + centered content (+ optional right rail) + Ally dock.
   Faithful to desktop-shell.jsx. Token-driven; shows on ≥1024px (the app switches via useIsDesktop). */
.serve_cn_Desktop_shell {
  position: fixed;
  inset: 0;
  display: flex;
  overflow: hidden;
  background: var(--bg-page);
  color: var(--text-primary);
}

/* ── left rail ── */
/* width is animated inline by framer-motion (motion.aside); flex:none so it isn't stretched */
.serve_cn_Desktop_rail {
  flex: none;
  width: 256px;
  height: 100%;
  overflow: hidden;
  background: var(--bg-2);
  border-right: 1px solid var(--box-border);
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 30;
}
/* the SAME rail, presented as the mobile slide-in: fills its panel, no collapse, scrolls if tall. */
.serve_cn_Desktop_railInDrawer {
  width: 100%;
  height: 100%;
  border-right: none;
  overflow-y: auto;
}
.serve_cn_Desktop_railInDrawer .serve_cn_Desktop_navWrap {
  overflow-y: visible;
}
.serve_cn_Desktop_brand {
  height: 64px;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 0 18px;
  flex-shrink: 0;
  border-bottom: 1px solid var(--box-border);
}
.serve_cn_Desktop_wordmark {
  font-family: var(--heading-font-family);
  font-style: italic;
  font-size: var(--text-lg);
  letter-spacing: 0.01em;
  color: var(--text-primary);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  transition: opacity 0.22s ease;
}
.serve_cn_Desktop_navWrap {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-md) 0;
}
.serve_cn_Desktop_groupLabel {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-2xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
  padding: var(--space-md) 22px var(--space-2xs);
  transition: opacity 0.22s ease;
}
/* Collapse = fade the labels only; the icon/logo/avatar keep a FIXED horizontal position (set by the
   item's own left padding), so collapsing just shrinks the rail from the right and cross-fades labels —
   nothing jumps. The labels stay in flow (flex:1, width→0) and are clipped by the rail's overflow, so
   they never reserve width or shove the icons off-center. */
.serve_cn_Desktop_rail[data-collapsed] .serve_cn_Desktop_groupLabel,
.serve_cn_Desktop_rail[data-collapsed] .serve_cn_Desktop_wordmark,
.serve_cn_Desktop_rail[data-collapsed] .serve_cn_Desktop_navLabel,
.serve_cn_Desktop_rail[data-collapsed] .serve_cn_Desktop_navBadge,
.serve_cn_Desktop_rail[data-collapsed] .serve_cn_Desktop_userText {
  opacity: 0;
  pointer-events: none;
}
/* Click-open (persistent expand) cascades the labels in; hover-open leaves delay at 0 — just a smooth
   simultaneous fade. `.cascade` is present only when the rail is click-expanded (see DeskSidebar). */
.serve_cn_Desktop_rail.serve_cn_Desktop_cascade .serve_cn_Desktop_navLabel {
  transition-delay: calc(var(--i, 0) * 26ms);
}
.serve_cn_Desktop_navItem {
  position: relative;
  display: flex;
  align-items: center;
  gap: 13px;
  height: 40px;
  margin: 1px 12px;
  padding: 0 10px;
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  transition: background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.serve_cn_Desktop_navItem:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}
.serve_cn_Desktop_navItem[data-active] {
  background: color-mix(in srgb, var(--control-accent) 14%, transparent);
  color: var(--text-primary);
}
.serve_cn_Desktop_navItem[data-active]::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: var(--radius-full);
  background: var(--control-accent);
}
.serve_cn_Desktop_navIcon {
  width: 22px;
  display: inline-flex;
  justify-content: center;
  flex-shrink: 0;
}
.serve_cn_Desktop_navLabel {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  white-space: nowrap;
  flex: 1;
  transition: opacity 0.22s ease;
}
.serve_cn_Desktop_navBadge {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: var(--radius-full);
  background: var(--danger);
  color: var(--control-text-contrast);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  font-weight: var(--badge-font-weight);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.serve_cn_Desktop_railFoot {
  border-top: 1px solid var(--box-border);
  padding: var(--space-md);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
/* the whole person card — one highlighted region wrapping the identity AND the role pill */
.serve_cn_Desktop_userCard {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  padding: var(--space-sm);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
}
.serve_cn_Desktop_userMain {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  border-radius: var(--radius-sm);
  text-align: left;
}
.serve_cn_Desktop_userMain:hover .serve_cn_Desktop_userName {
  color: var(--control-accent);
}
/* collapsed: drop the card chrome, just center the avatar */
.serve_cn_Desktop_rail[data-collapsed] .serve_cn_Desktop_userCard {
  background: transparent;
  border-color: transparent;
  padding: 0;
}
.serve_cn_Desktop_rail[data-collapsed] .serve_cn_Desktop_userMain {
  justify-content: center;
}
.serve_cn_Desktop_userText {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  transition: opacity 0.22s ease;
}
.serve_cn_Desktop_userName {
  font-family: var(--heading-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_Desktop_userMeta {
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* role pill sits below the user card, left-aligned under the name; hidden when the rail is collapsed */
.serve_cn_Desktop_rolePill {
  align-self: flex-start;
  margin-left: calc(30px + var(--space-sm)); /* clear the avatar so it lines up under the name */
  max-width: calc(100% - 30px - var(--space-sm));
}
.serve_cn_Desktop_rail[data-collapsed] .serve_cn_Desktop_rolePill {
  display: none;
}

/* ── main column ── */
.serve_cn_Desktop_col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  position: relative;
}
/* full-page detail overlay — fills the content window below the topbar (rail is outside .col, so no
   rail-width math); under the Ally dock (z-60). Transparent: the page's own bg layer fades in/out so
   the morphing hero is visible against a materializing page (not an instantly-opaque slab). */
.serve_cn_Desktop_pageOverlay {
  position: absolute;
  top: 64px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
}
/* push-screen host — push pages render HERE (inside the content column, below the topbar and right of
   the rail) so they read as normal in-content pages that keep the nav, not full-window overlays. The
   host is click-through when empty; an open PushScreen re-enables pointer events on itself. */
.serve_cn_Desktop_pushHost {
  position: absolute;
  top: 64px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 48;
  pointer-events: none;
}
.serve_cn_Desktop_pushHost > * {
  pointer-events: auto;
}
.serve_cn_Desktop_topbar {
  height: 64px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  padding: 0 var(--space-xl) 0 var(--space-sm);
  border-bottom: 1px solid var(--box-border);
  background: color-mix(in srgb, var(--bg-page) 82%, transparent);
  backdrop-filter: blur(var(--blur-md));
}
/* phones (< RAIL_BP, mirrors theme/breakpoints.ts): no topbar — the bottom pill + launcher own search/
   Ally/menu there. Hidden via CSS (not unmounted) so SSR markup matches client hydration. */
@media (max-width: 767px) {
  .serve_cn_Desktop_topbar {
    display: none;
  }
}
.serve_cn_Desktop_searchWrap {
  flex: 1;
  max-width: 460px;
}
.serve_cn_Desktop_spacer {
  flex: 1;
}
/* notification bell + its derived unread badge (count, not a hardcoded number) */
.serve_cn_Desktop_bell {
  position: relative;
  display: inline-flex;
}
.serve_cn_Desktop_bellBadge {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 16px;
  height: 16px;
  padding: 0 var(--space-2xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background: var(--control-accent);
  color: var(--control-text-contrast);
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  font-weight: 700;
  pointer-events: none;
}
.serve_cn_Desktop_main {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
/* the route fills the main area so the Aurora backdrop covers ≥ the viewport (never stops partway) */
.serve_cn_Desktop_route {
  position: relative; /* containing block for the shared backdrop Aurora */
  min-height: 100%;
}
/* the screen content sits ABOVE the absolute Aurora backdrop */
.serve_cn_Desktop_routeContent {
  position: relative;
  z-index: 1;
  min-height: 100%;
}

/* content primitives (Page/Split/Panel/RailHead) relocated to ../{Page,Split,Panel,RailHead}.module.css
   (plan 004 P0). */

/* ── Ally dock (right slide-in) ── */
/* opacity + transform animated inline by framer-motion (AnimatePresence) */
.serve_cn_Desktop_dockBackdrop {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: var(--bg-overlay);
}
.serve_cn_Desktop_dock {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 380px;
  z-index: 61;
  background: var(--bg-rich);
  border-left: 1px solid var(--box-border);
  box-shadow: -20px 0 60px var(--bg-overlay);
  display: flex;
  flex-direction: column;
}
.serve_cn_Desktop_dockHead {
  height: 64px;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 0 var(--space-lg);
  border-bottom: 1px solid var(--box-border);
}
.serve_cn_Desktop_dockTitle {
  flex: 1;
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
}
.serve_cn_Desktop_dockBody {
  flex: 1;
  min-height: 0;
  padding: var(--space-md);
  display: flex;
}

@media (prefers-reduced-motion: reduce) {
  .serve_cn_Desktop_rail,
  .serve_cn_Desktop_dock,
  .serve_cn_Desktop_dockBackdrop {
    transition: none;
  }
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/components/nav/MobileSidebar.module.css ***!
  \*************************************************************************************************************************************************************************************************/
/* MobileSidebar — the slide-in chrome (scrim + left panel) that hosts the SAME AppRail bar on phones.
   Only the open/close behaviour differs from the desktop standing rail; the bar inside is identical. */
.serve_cn_MobileSidebar_layer {
  position: fixed;
  inset: 0;
  z-index: 120;
}
.serve_cn_MobileSidebar_scrim {
  position: absolute;
  inset: 0;
  background: var(--bg-overlay, rgba(8, 12, 22, 0.55));
  backdrop-filter: blur(var(--blur-sm, 2px));
}
.serve_cn_MobileSidebar_panel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 84vw;
  max-width: 300px;
  display: flex;
  background: var(--bg-2);
  border-right: 1px solid var(--box-border);
  box-shadow: var(--shadow-lg, var(--box-shadow));
}

/*!**********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/Today.module.css ***!
  \**********************************************************************************************************************************************************************************/
/* DeskToday — the converged Today: dynamic greeting, MissionHero, then a Split (crew + week list / Ally
   rail). Single column on phones (Split collapses at SPLIT_BP); the hero + cards reflow on their own. */
.serve_cn_Today_wrap {
  position: relative;
  min-height: 100%;
}
.serve_cn_Today_hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-xl);
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.serve_cn_Today_heroActions {
  display: flex;
  gap: var(--space-sm);
  flex-shrink: 0;
}

/* featured mission — the desktop horizontal hero (cover left, detail right), state-aware. */
.serve_cn_Today_missionPanel {
  margin-bottom: 28px;
}
/* 3-zone desktop hero: cover | info | action panel. */
.serve_cn_Today_missionGrid {
  position: relative;
  display: grid;
  grid-template-columns: 360px 1fr 300px;
}
.serve_cn_Today_featBand {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 2;
}
/* tablet/narrow: collapse the 3 zones to a single column (cover → info → action) so nothing crushes */
@media (max-width: 1100px) {
  .serve_cn_Today_missionGrid {
    grid-template-columns: 1fr;
  }
}
.serve_cn_Today_cover {
  position: relative;
  min-height: 240px;
}
.serve_cn_Today_coverInner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-lg);
}
.serve_cn_Today_causeLabel {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.serve_cn_Today_missionInfo {
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.serve_cn_Today_brief {
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  color: var(--text-secondary);
  line-height: 1.55;
  max-width: 60ch;
  margin-top: var(--space-sm);
}
/* the right action column — facts stacked + CTAs, divided from the info */
.serve_cn_Today_missionAction {
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-lg);
  border-left: 1px solid var(--box-border);
}
@media (max-width: 1100px) {
  .serve_cn_Today_missionAction {
    border-left: none;
    border-top: 1px solid var(--box-border);
  }
}
.serve_cn_Today_facts {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
@media (max-width: 1100px) {
  /* when stacked, lay the facts out in a row again so the action panel isn't a tall column */
  .serve_cn_Today_facts {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 26px;
  }
}
.serve_cn_Today_ctas {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
@media (max-width: 1100px) {
  .serve_cn_Today_ctas {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.serve_cn_Today_section {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-top: 26px;
}
.serve_cn_Today_events {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_Today_rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.serve_cn_Today_allyPick {
  display: flex;
  gap: var(--space-md);
}
.serve_cn_Today_allyText {
  flex: 1;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  line-height: 1.6;
}
.serve_cn_Today_allyActions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}
.serve_cn_Today_note {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  line-height: 1.5;
  margin-top: var(--space-xs);
}

/*!*************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/Discover.module.css ***!
  \*************************************************************************************************************************************************************************************/
/* DeskDiscover — focused Ally ask + tabbed explore. Layout chrome only; cards come from atoms/molecules. */
.serve_cn_Discover_wrap {
  position: relative;
  min-height: 100%;
}
/* "Ally proposes" focus zone — a clamped, centered column so the single ask reads as a spotlight, not
   a billboard. The EXPLORE section below stays full-width. */
.serve_cn_Discover_focus {
  max-width: 820px;
  margin: 0 auto;
}
.serve_cn_Discover_ask {
  margin-top: var(--space-2xl);
}
/* Other angles Ally can take — the mobile design's pivot strip, restored. */
.serve_cn_Discover_angles {
  margin-top: var(--space-2xl);
}
.serve_cn_Discover_angleStrip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--space-md);
  margin-top: var(--space-md);
}
.serve_cn_Discover_explore {
  margin-top: var(--space-3xl);
}
.serve_cn_Discover_exploreHead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-lg);
  flex-wrap: wrap;
  margin-bottom: var(--space-lg);
}
/* segmented tabs — a rail of Chip atoms */
.serve_cn_Discover_tabs {
  display: flex;
  gap: var(--space-2xs);
  padding: var(--space-2xs);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
}
.serve_cn_Discover_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--space-md);
}
.serve_cn_Discover_causeGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--space-md);
}
.serve_cn_Discover_list {
  display: flex;
  flex-direction: column;
  gap: var(--list-gap);
}

/* selections that trigger the Ally chat — interest chips (no browse surfing) */
.serve_cn_Discover_interests {
  margin-top: var(--space-2xl);
}
.serve_cn_Discover_interestSub {
  margin: var(--space-2xs) 0 var(--space-md);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
  max-width: 60ch;
}
.serve_cn_Discover_chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
/* colorful cause cards — each tinted by its cause color (--c), the medallion carries the icon */
.serve_cn_Discover_causePicks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--space-sm);
}
.serve_cn_Discover_causePick {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--c) 9%, var(--box-bg));
  border: 1px solid color-mix(in srgb, var(--c) 30%, var(--box-border));
  cursor: pointer;
  text-align: left;
  transition: background var(--dur-fast, 150ms) ease;
}
.serve_cn_Discover_causePick:hover,
.serve_cn_Discover_causePick:focus-visible {
  outline: none;
  background: color-mix(in srgb, var(--c) 17%, var(--box-bg));
}
.serve_cn_Discover_causePickName {
  font-family: var(--heading-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  line-height: 1.15;
}

/* "Start a conversation" composer — type anything, it opens the Ally chat seeded with your words */
.serve_cn_Discover_starter {
  margin-top: var(--space-2xl);
}
.serve_cn_Discover_composer {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
  max-width: 640px;
  margin-top: var(--space-md);
}
.serve_cn_Discover_composer > :first-child {
  flex: 1 1 auto;
  min-width: 0;
}
.serve_cn_Discover_composer input {
  width: 100%;
}

/*!*********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/Team.module.css ***!
  \*********************************************************************************************************************************************************************************/
/* DeskTeam — crew banner + month goal + roster + feed. Layout chrome only; cards from atoms/molecules. */
.serve_cn_Team_wrap {
  position: relative;
  min-height: 100%;
}
.serve_cn_Team_banner {
  overflow: hidden;
  margin-bottom: 26px;
}
.serve_cn_Team_bannerBody {
  display: flex;
  align-items: center;
  gap: var(--space-xl);
  padding: var(--space-xl);
  flex-wrap: wrap;
}
.serve_cn_Team_statStrip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--box-border);
}
.serve_cn_Team_statCell {
  padding: var(--space-md) var(--space-lg);
}
.serve_cn_Team_statCell + .serve_cn_Team_statCell {
  border-left: 1px solid var(--box-border);
}

/* main column clamped to a comfortable reading width so feed posts + composer don't run too wide */
.serve_cn_Team_mainCol {
  max-width: 680px;
  margin: 0 auto;
}
.serve_cn_Team_goal {
  margin-bottom: 24px;
}
.serve_cn_Team_goalNum {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-xs);
  color: var(--control-accent);
}
.serve_cn_Team_bar {
  margin-top: var(--space-md);
}
.serve_cn_Team_goalNote {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin-top: var(--space-sm);
}
.serve_cn_Team_goalNote b {
  color: var(--text-primary);
}

/* roster now lives in the rail → single column */
.serve_cn_Team_roster {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  margin-top: var(--space-sm);
}
.serve_cn_Team_you {
  background: color-mix(in srgb, var(--control-accent) 10%, transparent);
  border-radius: var(--radius-box);
}

.serve_cn_Team_rail {
  display: flex;
  flex-direction: column;
}
.serve_cn_Team_composer {
  margin: var(--space-sm) 0 var(--space-md);
}
.serve_cn_Team_feed {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.serve_cn_Team_muted {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

@media (max-width: 720px) {
  .serve_cn_Team_statStrip {
    grid-template-columns: repeat(2, 1fr);
  }
  .serve_cn_Team_roster {
    grid-template-columns: 1fr;
  }
}

/*!************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/lib/messaging/MessageClient.module.css ***!
  \************************************************************************************************************************************************************************************************/
/* MessageClient — Discord-style chat client (Dusk UX). Team rail + channel column + message view, with a
   density toggle (full / list / focus) that doubles as the mobile drill. Tokens only. */
.serve_cn_MessageClient_client {
  display: flex;
  height: calc(100vh - 64px);
  min-height: 0;
}
.serve_cn_MessageClient_left {
  display: flex;
  flex-shrink: 0;
  width: 316px;
  min-height: 0;
  border-right: 1px solid var(--box-border);
  background: var(--bg-2);
}
.serve_cn_MessageClient_client[data-density='list'] .serve_cn_MessageClient_left {
  width: 100%;
}
.serve_cn_MessageClient_client[data-density='list'] .serve_cn_MessageClient_main {
  display: none;
}
.serve_cn_MessageClient_client[data-density='focus'] .serve_cn_MessageClient_left {
  display: none;
}

/* ── team rail ── */
.serve_cn_MessageClient_rail {
  width: 60px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  overflow-y: auto;
  background: var(--bg);
  border-right: 1px solid var(--box-border);
}
.serve_cn_MessageClient_personal,
.serve_cn_MessageClient_squircle,
.serve_cn_MessageClient_add {
  position: relative;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  transition: border-radius 0.22s ease;
}
.serve_cn_MessageClient_personal {
  background: var(--bg-panel);
  border: 1.5px solid var(--box-border);
  color: var(--text-secondary);
}
.serve_cn_MessageClient_personal[data-active] {
  border-radius: var(--radius-md);
  border-color: var(--text-primary);
  color: var(--text-primary);
}
.serve_cn_MessageClient_squircle {
  background: linear-gradient(135deg, var(--a), color-mix(in srgb, var(--a) 55%, white));
  color: #0a1228;
  font-family: var(--label-font-family);
  font-weight: 800;
  font-size: var(--text-sm);
}
.serve_cn_MessageClient_squircle[data-active] {
  border-radius: var(--radius-md);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--a) 45%, transparent);
}
.serve_cn_MessageClient_add {
  background: var(--bg-panel);
  border: 1px dashed var(--box-border);
  color: var(--text-auxiliary);
  font-size: var(--text-lg);
}
.serve_cn_MessageClient_railDiv {
  width: 26px;
  height: 1px;
  background: var(--box-border);
}
.serve_cn_MessageClient_railBadge {
  position: absolute;
  bottom: -2px;
  right: -2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: var(--radius-full);
  border: 2px solid var(--bg);
  background: var(--text-primary);
  color: var(--bg);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  display: flex;
  align-items: center;
  justify-content: center;
}
.serve_cn_MessageClient_railBadge[data-ping] {
  background: var(--danger);
  color: var(--control-text-contrast);
}
.serve_cn_MessageClient_extDot {
  position: absolute;
  top: -1px;
  right: -1px;
  width: 9px;
  height: 9px;
  border-radius: var(--radius-full);
  background: var(--info);
  border: 2px solid var(--bg);
}

/* ── column (channel tree / direct list / external) ── */
.serve_cn_MessageClient_col {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
  padding: var(--space-sm);
}
.serve_cn_MessageClient_tree {
  display: flex;
  flex-direction: column;
}
.serve_cn_MessageClient_treeHead {
  padding: var(--space-2xs) var(--space-xs) var(--space-sm);
  border-bottom: 1px solid var(--box-border);
  margin-bottom: var(--space-sm);
}
.serve_cn_MessageClient_treeName {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_MessageClient_treeRegion {
  display: block;
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
  margin-top: 2px;
}
.serve_cn_MessageClient_family {
  margin-bottom: var(--space-sm);
}
.serve_cn_MessageClient_familyLabel {
  display: block;
  padding: 0 var(--space-xs);
  margin-bottom: var(--space-3xs);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
  opacity: 0.7;
}
.serve_cn_MessageClient_thread {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  width: 100%;
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  text-align: left;
  transition: background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.serve_cn_MessageClient_thread:hover {
  background: var(--bg-hover);
}
.serve_cn_MessageClient_thread[data-active] {
  background: color-mix(in srgb, var(--control-accent) 14%, transparent);
  color: var(--text-primary);
}
.serve_cn_MessageClient_thIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  flex-shrink: 0;
  color: var(--text-auxiliary);
}
.serve_cn_MessageClient_thLabel {
  flex: 1;
  min-width: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.serve_cn_MessageClient_lock {
  display: inline-flex;
  color: var(--text-auxiliary);
  opacity: 0.7;
}
.serve_cn_MessageClient_live {
  width: 7px;
  height: 7px;
  border-radius: var(--radius-full);
  background: var(--danger);
  flex-shrink: 0;
}
.serve_cn_MessageClient_badge {
  flex-shrink: 0;
  min-width: 18px;
  padding: 0 var(--space-3xs);
  border-radius: var(--radius-full);
  background: var(--danger);
  color: var(--control-text-contrast);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-align: center;
}
.serve_cn_MessageClient_prog {
  flex-basis: 100%;
  height: 3px;
  margin-top: var(--space-3xs);
  border-radius: var(--radius-full);
  background: var(--bg-2);
  overflow: hidden;
}
.serve_cn_MessageClient_progFill {
  display: block;
  height: 100%;
  background: var(--control-accent);
  border-radius: var(--radius-full);
}

/* ── direct list rows ── */
.serve_cn_MessageClient_convo {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-sm);
  text-align: left;
}
.serve_cn_MessageClient_convo:hover {
  background: var(--bg-hover);
}
.serve_cn_MessageClient_convo[data-active] {
  background: color-mix(in srgb, var(--control-accent) 14%, transparent);
}
.serve_cn_MessageClient_convoAvatar {
  flex-shrink: 0;
  display: inline-flex;
}
.serve_cn_MessageClient_convoBody {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.serve_cn_MessageClient_convoTop {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-xs);
}
.serve_cn_MessageClient_convoName {
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.serve_cn_MessageClient_convoWhen {
  flex-shrink: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
}
.serve_cn_MessageClient_convoLast {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.serve_cn_MessageClient_avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  color: var(--text-secondary);
}

/* ── external invite ── */
.serve_cn_MessageClient_extPane {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-lg);
}
.serve_cn_MessageClient_extCard {
  margin: var(--space-sm) var(--space-2xs);
  padding: var(--space-md);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
}
.serve_cn_MessageClient_extProvider {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_MessageClient_extMeta {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
  margin-top: 2px;
}
.serve_cn_MessageClient_extNote {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
  margin: var(--space-sm) 0;
}
.serve_cn_MessageClient_extQr {
  display: flex;
  justify-content: center;
  margin: var(--space-md) 0;
}
.serve_cn_MessageClient_extBtn {
  display: inline-flex;
  text-decoration: none;
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--control-text-contrast);
  background: var(--control-accent);
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-md);
}

/* ── message view ── */
.serve_cn_MessageClient_main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}
.serve_cn_MessageClient_head {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--box-border);
  flex-shrink: 0;
}
.serve_cn_MessageClient_back {
  display: none; /* shown only in focus (drill) density */
  align-self: center;
  background: none;
  border: none;
  font-size: var(--text-2xl);
  line-height: 1;
  color: var(--text-secondary);
  cursor: pointer;
  padding: 0 var(--space-xs) 0 0;
}
.serve_cn_MessageClient_client[data-density='focus'] .serve_cn_MessageClient_back {
  display: inline-flex;
}
.serve_cn_MessageClient_headTitle {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
}
.serve_cn_MessageClient_headIcon {
  color: var(--text-auxiliary);
}
.serve_cn_MessageClient_headTopic {
  flex: 1;
  min-width: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.serve_cn_MessageClient_tierNote {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
  color: var(--text-secondary);
}
.serve_cn_MessageClient_density {
  flex-shrink: 0;
  align-self: center;
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  cursor: pointer;
  padding: var(--space-3xs) var(--space-2xs);
  font-size: var(--text-sm);
}
.serve_cn_MessageClient_messages {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-lg);
}
.serve_cn_MessageClient_msg {
  display: flex;
  gap: var(--space-sm);
  max-width: 80%;
}
.serve_cn_MessageClient_msg > :first-child {
  flex-shrink: 0;
}
.serve_cn_MessageClient_mine {
  align-self: flex-end;
  flex-direction: row-reverse;
}
.serve_cn_MessageClient_pinned {
  max-width: 100%;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--warning) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--warning) 25%, transparent);
}
.serve_cn_MessageClient_msgAvatar {
  display: inline-flex;
}
.serve_cn_MessageClient_msgBody {
  min-width: 0;
}
.serve_cn_MessageClient_msgHead {
  display: flex;
  align-items: baseline;
  gap: var(--space-xs);
  flex-wrap: wrap;
  margin-bottom: var(--space-2xs);
}
.serve_cn_MessageClient_mine .serve_cn_MessageClient_msgHead {
  flex-direction: row-reverse;
}
.serve_cn_MessageClient_msgWho {
  font-family: var(--label-font-family);
  font-weight: var(--label-font-weight);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_MessageClient_msgRole {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-auxiliary);
}
.serve_cn_MessageClient_msgVerified {
  display: inline-flex;
  color: var(--success);
}
.serve_cn_MessageClient_msgTime {
  font-family: var(--typography-font-family);
  font-size: var(--text-2xs);
  color: var(--text-auxiliary);
}
.serve_cn_MessageClient_pinTag {
  padding: 1px var(--space-2xs);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--warning) 20%, transparent);
  color: var(--warning);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  letter-spacing: 0.06em;
}
.serve_cn_MessageClient_bubble {
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-lg);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  line-height: 1.45;
  background: var(--bg-panel);
  color: var(--text-primary);
}
.serve_cn_MessageClient_mine .serve_cn_MessageClient_bubble {
  background: color-mix(in srgb, var(--control-accent) 22%, transparent);
}
.serve_cn_MessageClient_botBubble {
  background: color-mix(in srgb, var(--complete) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--complete) 30%, transparent);
}
.serve_cn_MessageClient_reactions {
  display: flex;
  gap: var(--space-2xs);
  margin-top: var(--space-2xs);
  flex-wrap: wrap;
}
.serve_cn_MessageClient_reaction {
  padding: 1px var(--space-xs);
  border-radius: var(--radius-full);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  font-size: var(--text-2xs);
  color: var(--text-secondary);
}

/* ── composer ── */
.serve_cn_MessageClient_composer {
  flex-shrink: 0;
  padding: var(--space-md) var(--space-lg) calc(var(--space-md) + var(--safe-bottom));
  border-top: 1px solid var(--box-border);
}
.serve_cn_MessageClient_composerRow {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
}
.serve_cn_MessageClient_input {
  flex: 1;
  min-width: 0;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-full);
  border: 1px solid var(--box-border);
  background: var(--bg-panel);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_MessageClient_sendBtn {
  flex-shrink: 0;
  padding: var(--space-sm) var(--space-lg);
  border: none;
  border-radius: var(--radius-full);
  background: var(--control-accent);
  color: var(--control-text-contrast);
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  cursor: pointer;
}
.serve_cn_MessageClient_sendBtn:disabled {
  opacity: 0.5;
  cursor: default;
}
.serve_cn_MessageClient_readOnly {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-auxiliary);
}

/* phone: reserve the floating bottom-nav pill's clearance */
@media (max-width: 860px) {
  .serve_cn_MessageClient_composer {
    padding-bottom: calc(var(--space-md) + var(--safe-bottom) + var(--nav-clearance));
  }
  .serve_cn_MessageClient_col {
    padding-bottom: calc(var(--space-sm) + var(--nav-clearance));
  }
}

/*!********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/You.module.css ***!
  \********************************************************************************************************************************************************************************/
/* DeskYou — a clamp page (Page max 1040), composed: identity centered, then 2-up cards + 2-up
   endorsements on desktop, collapsing to one column below SPLIT_BP (the mobile read). */
.serve_cn_You_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}
.serve_cn_You_identity {
  /* the identity block reads best a touch narrower than the cards below it, centered */
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
}
.serve_cn_You_cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}
.serve_cn_You_section {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
/* below SPLIT_BP: everything stacks to one column (the mobile read) */
@media (max-width: 1023.98px) {
  .serve_cn_You_cols {
    grid-template-columns: 1fr;
  }
}
/* the real held-role chips under the identity block */
.serve_cn_You_roles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
}
/* the logged-activity ledger — a stack of ledger rows */
.serve_cn_You_log {
  display: flex;
  flex-direction: column;
  gap: var(--list-gap);
}
/* each activity row's trailing slot: the status badge + (while awaiting) the remind action */
.serve_cn_You_entryEnd {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
}

/* Record hero — a banner (cause-print engagement, or a banner image) + larger avatar + right-aligned identity */
.serve_cn_You_hero {
  position: relative;
  border-radius: var(--radius-box);
  overflow: hidden;
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_You_banner {
  position: relative;
  height: 152px;
  overflow: hidden;
  background: var(--bg-2);
}
.serve_cn_You_bannerImg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.serve_cn_You_bannerScrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 35%, color-mix(in srgb, var(--box-bg) 78%, transparent));
}
.serve_cn_You_heroBody {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: var(--space-lg);
  padding: 0 var(--space-lg) var(--space-lg);
  margin-top: -46px;
}
.serve_cn_You_heroInfo {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-xs);
  text-align: right;
  padding-bottom: var(--space-2xs);
  min-width: 0;
}
.serve_cn_You_heroName {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  color: var(--text-primary);
  line-height: 1.1;
}
.serve_cn_You_heroChips {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2xs);
}
.serve_cn_You_heroAvatar {
  flex-shrink: 0;
  border-radius: var(--radius-full);
  border: 4px solid var(--box-bg);
  box-shadow: var(--box-shadow);
  line-height: 0;
}
@media (max-width: 560px) {
  .serve_cn_You_heroBody {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
  }
  .serve_cn_You_heroInfo {
    align-items: center;
    text-align: center;
  }
  .serve_cn_You_heroChips {
    justify-content: center;
  }
}

/*!************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/Mission.module.css ***!
  \************************************************************************************************************************************************************************************/
/* Mission detail — title via the shared ScreenHeader, cover hero below, padded body sections, sticky CTA. */
.serve_cn_Mission_hero {
  position: relative;
  border-radius: var(--radius-box);
  overflow: hidden;
}
.serve_cn_Mission_host {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
}
.serve_cn_Mission_host b {
  color: var(--text-primary);
}
.serve_cn_Mission_host .serve_cn_Mission_muted {
  color: var(--text-auxiliary);
}

/* the body is a centered reading column under the cover hero — clamped to a comfortable measure inside Page */
.serve_cn_Mission_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  margin-top: var(--space-lg);
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
}
/* auto-fit so the fact cells reflow (and never cut off) on narrow widths instead of staying 3-up */
.serve_cn_Mission_facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-sm);
}
/* the box around each Stat */
.serve_cn_Mission_fact {
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_Mission_section {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_Mission_brief {
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  line-height: 1.45;
  color: var(--text-primary);
}
.serve_cn_Mission_chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}
.serve_cn_Mission_note {
  font-family: var(--typography-font-family);
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}
.serve_cn_Mission_twoCol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-sm);
}
/* stack the bring / we-bring columns on narrow phones so they don't crush */
@media (max-width: 420px) {
  .serve_cn_Mission_twoCol {
    grid-template-columns: 1fr;
  }
}
.serve_cn_Mission_listCard {
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_Mission_list {
  display: flex;
  flex-direction: column;
  gap: var(--list-gap);
  margin-top: var(--space-sm);
}
.serve_cn_Mission_listItem {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_Mission_bullet {
  width: 5px;
  height: 5px;
  border-radius: var(--radius-full);
  flex-shrink: 0;
}

/* sticky CTA pill (PushScreen footer) */
.serve_cn_Mission_cta {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin: 0 var(--space-md) var(--space-md);
  padding: var(--space-2xs) var(--space-2xs) var(--space-2xs) var(--space-md);
  border-radius: var(--radius-full);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  box-shadow: var(--box-shadow);
  backdrop-filter: blur(var(--blur-md));
}
.serve_cn_Mission_ctaInfo {
  flex: 1;
  min-width: 0;
}
.serve_cn_Mission_ctaValue {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
  margin-top: var(--space-2xs);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*!***********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/common.module.css ***!
  \***********************************************************************************************************************************************************************************/
/* Shared screen body rhythm for the feature screens. */
.serve_cn_common_body {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-md) var(--space-lg) 0;
}
/* body rhythm for content that sits INSIDE a <Page> (Page owns the width + padding; this only supplies
   the inter-block vertical gap). Use in place of `.body` once a screen routes its title through
   <ScreenHeader> and its frame through <Page>. */
.serve_cn_common_pageBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.serve_cn_common_section {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_common_stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* Sub-cause (focus area) cards — colorful, tinted by the cause color (--c) + its medallion. */
.serve_cn_common_subCauseGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: var(--space-sm);
}
.serve_cn_common_subCauseCard {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--c) 9%, var(--box-bg));
  border: 1px solid color-mix(in srgb, var(--c) 30%, var(--box-border));
}
.serve_cn_common_subCauseName {
  font-family: var(--heading-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  line-height: 1.2;
}

/*!***************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/Onboarding.module.css ***!
  \***************************************************************************************************************************************************************************************/
/* Onboarding — first-run multi-step flow. The focused-flow column now comes from the shared frame
   (<Page width="narrow">), so each step is centered at all widths without a bespoke per-screen clamp;
   these rules own only the in-flow step layout (stack / gap / padding / centering). The ProgressHeader
   and CTA live in Screen's pinned slots (outside Page), so they keep their own clamp. */
.serve_cn_Onboarding_headerWrap {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: var(--space-sm) var(--space-lg) 0;
}
.serve_cn_Onboarding_body {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-xl) var(--space-lg) 0;
}
.serve_cn_Onboarding_welcome {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
  padding: var(--space-3xl) var(--space-lg);
}
/* center the Header atom for the hero moment (it defaults to a left-aligned title/right row) */
.serve_cn_Onboarding_welcomeHead {
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 34ch;
  margin-top: var(--space-md);
}
.serve_cn_Onboarding_cta {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: var(--space-md) var(--space-lg);
}

/*!*************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/Settings.module.css ***!
  \*************************************************************************************************************************************************************************************/
/* Settings — grouped sections stacked in the shared Page column (Page owns the centered max-width +
   page padding now; .wrap is just the section stack). */
.serve_cn_Settings_wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}
.serve_cn_Settings_group {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_Settings_rows {
  display: flex;
  flex-direction: column;
  gap: var(--list-gap);
}
.serve_cn_Settings_tzRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-box);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
}
.serve_cn_Settings_tzLabel {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_Settings_tzSelect {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-md);
  padding: var(--space-2xs) var(--space-sm);
  max-width: 60%;
}
/* the player you're currently acting as — a faint accent wash so the checked row reads as selected */
.serve_cn_Settings_activePlayer {
  background: var(--bg-active);
  border-radius: var(--radius-box);
}

/*!*******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/CalendarScreen.module.css ***!
  \*******************************************************************************************************************************************************************************************/
/* Calendar invites — pending accept/reject above the grid */
.serve_cn_CalendarScreen_invites {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: color-mix(in srgb, var(--info) 7%, var(--box-bg));
  border: 1px solid color-mix(in srgb, var(--info) 26%, transparent);
}
.serve_cn_CalendarScreen_invitesHead {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
}
.serve_cn_CalendarScreen_invitesHead svg {
  color: var(--info);
}
.serve_cn_CalendarScreen_inviteList {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_CalendarScreen_invite {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md) var(--space-sm) calc(var(--space-md) + 3px);
  border-radius: var(--radius-md);
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  overflow: hidden;
}
.serve_cn_CalendarScreen_inviteBar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--c);
}
.serve_cn_CalendarScreen_inviteBody {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  padding: 0;
}
.serve_cn_CalendarScreen_inviteTitle {
  font-family: var(--heading-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_CalendarScreen_inviteWhen {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-auxiliary);
}
.serve_cn_CalendarScreen_inviteActions {
  display: flex;
  gap: var(--space-2xs);
  flex-shrink: 0;
}

/* Calendar lanes — toggle each on/off */
.serve_cn_CalendarScreen_lanes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}
.serve_cn_CalendarScreen_lane {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-md);
  border-radius: var(--radius-full);
  border: 1px solid var(--box-border);
  background: var(--box-bg);
  cursor: pointer;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-auxiliary);
  opacity: 0.6;
  transition: opacity var(--dur-fast, 150ms) ease, color var(--dur-fast, 150ms) ease;
}
.serve_cn_CalendarScreen_lane[data-on] {
  opacity: 1;
  color: var(--text-primary);
  background: color-mix(in srgb, var(--c) 10%, var(--box-bg));
  border-color: color-mix(in srgb, var(--c) 36%, transparent);
}
.serve_cn_CalendarScreen_laneDot {
  width: 9px;
  height: 9px;
  border-radius: var(--radius-full);
  background: var(--c);
  flex-shrink: 0;
}
.serve_cn_CalendarScreen_lane:not([data-on]) .serve_cn_CalendarScreen_laneDot {
  background: var(--text-auxiliary);
}
.serve_cn_CalendarScreen_lane svg {
  color: var(--text-auxiliary);
}
.serve_cn_CalendarScreen_laneLink {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-md);
  border-radius: var(--radius-full);
  border: 1px dashed var(--box-border);
  background: none;
  cursor: pointer;
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.serve_cn_CalendarScreen_laneLink:hover {
  color: var(--text-primary);
}

/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/screens/EventDetailPage.module.css ***!
  \********************************************************************************************************************************************************************************************/
/* Opaque full-window wrapper — the detail is shown as a `page` overlay (z above the route), so it must
   paint its own background or the calendar behind it bleeds through. Fills the overlay and scrolls. */
.serve_cn_EventDetailPage_screen {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  background: var(--bg-page);
}

.serve_cn_EventDetailPage_back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  padding: var(--space-2xs) 0;
  margin-bottom: var(--space-sm);
}
.serve_cn_EventDetailPage_back:hover {
  color: var(--text-primary);
}
.serve_cn_EventDetailPage_backArrow {
  display: inline-flex;
  transform: rotate(180deg);
}
.serve_cn_EventDetailPage_state {
  padding: 80px 20px;
  text-align: center;
  font-family: var(--typography-font-family);
  color: var(--text-auxiliary);
}

.serve_cn_EventDetailPage_hero {
  position: relative;
  padding-left: var(--space-md);
  margin-bottom: var(--space-xl);
}
.serve_cn_EventDetailPage_heroLine {
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 4px;
  border-radius: var(--radius-full);
  background: var(--accent);
}
.serve_cn_EventDetailPage_badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  margin-bottom: var(--space-xs);
}
.serve_cn_EventDetailPage_meta {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  margin-top: var(--space-sm);
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  color: var(--text-secondary);
}
.serve_cn_EventDetailPage_metaRow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.serve_cn_EventDetailPage_cross {
  font-size: var(--text-sm);
  color: var(--info);
  padding-left: calc(15px + var(--space-xs));
}
.serve_cn_EventDetailPage_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  margin-top: var(--space-lg);
}
.serve_cn_EventDetailPage_action {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  text-decoration: none;
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-md);
}
.serve_cn_EventDetailPage_action:hover {
  background: var(--bg-hover);
}

.serve_cn_EventDetailPage_section {
  margin-bottom: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.serve_cn_EventDetailPage_statRow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
.serve_cn_EventDetailPage_stat {
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  text-align: center;
}
.serve_cn_EventDetailPage_statN {
  font-family: var(--heading-font-family);
  font-size: var(--text-2xl);
  color: var(--text-primary);
  line-height: 1;
}
.serve_cn_EventDetailPage_statL {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-auxiliary);
  margin-top: var(--space-2xs);
}

.serve_cn_EventDetailPage_list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.serve_cn_EventDetailPage_resRow {
  display: flex;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-bottom: 1px solid var(--box-border);
}
.serve_cn_EventDetailPage_resRow:last-child {
  border-bottom: none;
}
.serve_cn_EventDetailPage_resIcon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-full);
  background: var(--bg-2);
  color: var(--text-secondary);
}
.serve_cn_EventDetailPage_resBody {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_EventDetailPage_resHead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
}
.serve_cn_EventDetailPage_resName {
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
}
.serve_cn_EventDetailPage_resCount {
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--warning);
}
.serve_cn_EventDetailPage_resCount[data-full] {
  color: var(--success);
}
.serve_cn_EventDetailPage_bar {
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--bg-2);
  overflow: hidden;
}
.serve_cn_EventDetailPage_barFill {
  display: block;
  height: 100%;
  border-radius: var(--radius-full);
}
.serve_cn_EventDetailPage_resBy {
  font-size: var(--text-xs);
  color: var(--text-auxiliary);
}

.serve_cn_EventDetailPage_muted {
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  color: var(--text-auxiliary);
  line-height: 1.55;
  margin: 0;
}

/* Causes the event serves — small cause-colored chips on the hero meta block */
.serve_cn_EventDetailPage_causes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  margin-top: var(--space-2xs);
}
.serve_cn_EventDetailPage_causeChip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  background: color-mix(in srgb, var(--c) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 30%, transparent);
  border-radius: var(--radius-full);
  padding: 2px var(--space-sm);
}
.serve_cn_EventDetailPage_causeDot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  background: var(--c);
}

/* viewer status + public tally */
.serve_cn_EventDetailPage_statusRow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-bottom: var(--space-xl);
}

/* Coordinator (role-gated) section — visually distinct so it reads as privileged surface */
.serve_cn_EventDetailPage_coord {
  margin-bottom: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-box);
  background: color-mix(in srgb, var(--info) 7%, var(--box-bg));
  border: 1px solid color-mix(in srgb, var(--info) 28%, transparent);
}
.serve_cn_EventDetailPage_coordBanner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.serve_cn_EventDetailPage_coordBannerMain {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--heading-font-family);
  font-size: var(--text-lg);
  color: var(--text-primary);
}
.serve_cn_EventDetailPage_coordBannerMain svg {
  color: var(--info);
}
.serve_cn_EventDetailPage_coordNote {
  margin: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}
.serve_cn_EventDetailPage_coordNote strong {
  color: var(--text-primary);
}

.serve_cn_EventDetailPage_attendees {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_EventDetailPage_attendeesHead {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-auxiliary);
}
.serve_cn_EventDetailPage_youTag {
  margin-left: var(--space-2xs);
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--control-text-contrast);
  background: var(--info);
  border-radius: var(--radius-full);
  padding: 0 var(--space-2xs);
}
.serve_cn_EventDetailPage_roleChip[data-you] {
  border-color: color-mix(in srgb, var(--info) 50%, transparent);
  background: color-mix(in srgb, var(--info) 10%, var(--bg-panel));
}

.serve_cn_EventDetailPage_chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.serve_cn_EventDetailPage_roleChip {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-md);
}
.serve_cn_EventDetailPage_roleChip strong {
  color: var(--text-primary);
}
.serve_cn_EventDetailPage_sponsorChip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-full);
  padding: var(--space-2xs) var(--space-md);
}
.serve_cn_EventDetailPage_sponsorChip[data-sought] {
  border-style: dashed;
}
.serve_cn_EventDetailPage_sponsorName {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_EventDetailPage_sponsorAmt {
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}

@media (max-width: 560px) {
  .serve_cn_EventDetailPage_statRow {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Details / logistics — an icon-led row per fact (getting there, check-in, bring, provided, a11y) */
.serve_cn_EventDetailPage_details {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.serve_cn_EventDetailPage_detailItem {
  display: flex;
  gap: var(--space-sm);
  align-items: flex-start;
}
.serve_cn_EventDetailPage_detailIcon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-full);
  background: var(--bg-2);
  color: var(--text-secondary);
}
.serve_cn_EventDetailPage_detailBody {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.serve_cn_EventDetailPage_detailLabel {
  font-family: var(--label-font-family);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-auxiliary);
}
.serve_cn_EventDetailPage_detailText {
  margin: 0;
  font-family: var(--typography-font-family);
  font-size: var(--text-base);
  color: var(--text-primary);
  line-height: 1.5;
}
.serve_cn_EventDetailPage_detailLink {
  align-self: flex-start;
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--info);
  text-decoration: none;
}
.serve_cn_EventDetailPage_detailLink:hover {
  text-decoration: underline;
}

/* bring / provided as pill tags */
.serve_cn_EventDetailPage_tagList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}
.serve_cn_EventDetailPage_tag {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
  background: var(--bg-panel);
  border: 1px solid var(--box-border);
  border-radius: var(--radius-full);
  padding: var(--space-3xs) var(--space-sm);
}
.serve_cn_EventDetailPage_tag[data-provided] {
  color: var(--success);
  border-color: color-mix(in srgb, var(--success) 35%, transparent);
  background: color-mix(in srgb, var(--success) 8%, transparent);
}

/* coordinator-only extras inside the gated fold */
.serve_cn_EventDetailPage_coordExtra {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--info) 6%, var(--bg-panel));
  border: 1px solid color-mix(in srgb, var(--info) 22%, transparent);
}
.serve_cn_EventDetailPage_coordExtraItem {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

/* day-of contacts (coordinator-only) — real per-coordinator contact, tel/wa.me/mailto links */
.serve_cn_EventDetailPage_contacts {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.serve_cn_EventDetailPage_contact {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.serve_cn_EventDetailPage_contactName {
  font-family: var(--typography-font-family);
  font-size: var(--text-sm);
  color: var(--text-primary);
}
.serve_cn_EventDetailPage_contactLinks {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.serve_cn_EventDetailPage_contactLinks a {
  font-family: var(--label-font-family);
  font-size: var(--text-sm);
  color: var(--info);
  text-decoration: none;
}
.serve_cn_EventDetailPage_contactLinks a:hover {
  text-decoration: underline;
}

/*!************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./src/App.module.css ***!
  \************************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
:root, :host {
  --spacing: 0.25rem;
}
body {
  font-family: var(--font-sans);
  background: var(--bg-page);
  color: var(--color-gray-900);
  margin: 0;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(
      circle at 18% 22%,
      var(--color-primary-300) 0%,
      transparent 38%
    ),
    radial-gradient(
      circle at 82% 76%,
      var(--color-secondary-300) 0%,
      transparent 42%
    ),
    radial-gradient(
      circle at 55% 58%,
      var(--color-tertiary-200) 0%,
      transparent 50%
    );
  opacity: 0.35;
  filter: blur(40px);
  animation: serve_cn_App_drift 22s ease-in-out infinite;
}
@keyframes serve_cn_App_drift {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  33% {
    transform: translate3d(-3%, 2%, 0) scale(1.05);
  }
  66% {
    transform: translate3d(3%, -2%, 0) scale(0.97);
  }
}
@media (prefers-reduced-motion: reduce) {
  body::before {
    animation: none;
  }
}
.serve_cn_App_App {
  min-height: 100vh;
  position: relative;
}
h1 {
  font-size: 1.75rem;
  font-weight: 600;
  margin: 0;
}
h2 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 calc(var(--spacing) * 3);
}
a {
  color: var(--color-primary-600);
}
a:hover {
  color: var(--color-primary-700);
}

