@retrivora-ai/rag-engine 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/{LicenseValidator-CENvo9o2.d.mts → BatchProcessor-7yV-UCHW.d.mts} +142 -3
  2. package/dist/{LicenseValidator-CsjJp2PP.d.ts → BatchProcessor-BfzuU4cK.d.ts} +142 -3
  3. package/dist/handlers/index.d.mts +1 -1
  4. package/dist/handlers/index.d.ts +1 -1
  5. package/dist/handlers/index.js +881 -331
  6. package/dist/handlers/index.mjs +881 -331
  7. package/dist/index-DR_O_B-W.d.ts +394 -0
  8. package/dist/index-fnpaCuma.d.mts +394 -0
  9. package/dist/index.css +58 -0
  10. package/dist/index.d.mts +63 -3
  11. package/dist/index.d.ts +63 -3
  12. package/dist/index.js +454 -36
  13. package/dist/index.mjs +453 -38
  14. package/dist/server.d.mts +35 -73
  15. package/dist/server.d.ts +35 -73
  16. package/dist/server.js +911 -345
  17. package/dist/server.mjs +911 -345
  18. package/package.json +3 -2
  19. package/src/components/ChatWidget.tsx +149 -48
  20. package/src/components/ChatWindow.tsx +52 -9
  21. package/src/components/CodeViewer.tsx +1 -1
  22. package/src/core/BatchProcessor.ts +42 -4
  23. package/src/core/CircuitBreaker.ts +118 -0
  24. package/src/core/DatabaseStorage.ts +55 -24
  25. package/src/core/FreeTierLimitsGuard.ts +281 -0
  26. package/src/core/LangChainAgent.ts +0 -2
  27. package/src/core/LicenseValidator.ts +66 -2
  28. package/src/core/LicenseVerifier.ts +31 -3
  29. package/src/core/VectorPlugin.ts +30 -0
  30. package/src/handlers/index.ts +491 -36
  31. package/src/index.css +58 -0
  32. package/src/index.ts +4 -0
  33. package/src/providers/vectordb/MilvusProvider.ts +0 -1
  34. package/src/providers/vectordb/MongoDBProvider.ts +0 -1
  35. package/src/providers/vectordb/MultiTablePostgresProvider.ts +2 -2
  36. package/src/providers/vectordb/RedisProvider.ts +0 -1
  37. package/src/providers/vectordb/WeaviateProvider.ts +0 -1
  38. package/src/rag/LlamaIndexIngestor.ts +0 -1
  39. package/src/server.ts +1 -0
  40. package/dist/index-BPJ3KDYI.d.ts +0 -195
  41. package/dist/index-Dmq5lH0j.d.mts +0 -195
package/dist/index.mjs CHANGED
@@ -60,11 +60,11 @@ function styleInject(css, { insertAt } = {}) {
60
60
  }
61
61
 
62
62
  // src/index.css
63
- styleInject('/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif,\n system-ui,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji";\n --font-mono:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-orange-100: oklch(95.4% 0.038 75.164);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-orange-950: oklch(26.6% 0.079 36.259);\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-100: oklch(96.2% 0.059 95.617);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-300: oklch(87.9% 0.169 91.605);\n --color-amber-400: oklch(82.8% 0.189 84.429);\n --color-amber-500: oklch(76.9% 0.188 70.08);\n --color-amber-600: oklch(66.6% 0.179 58.318);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-800: oklch(47.3% 0.137 46.201);\n --color-amber-900: oklch(41.4% 0.112 45.904);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-100: oklch(95% 0.052 163.051);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-300: oklch(84.5% 0.143 164.978);\n --color-emerald-400: oklch(76.5% 0.177 163.223);\n --color-emerald-500: oklch(69.6% 0.17 162.48);\n --color-emerald-600: oklch(59.6% 0.145 163.225);\n --color-emerald-700: oklch(50.8% 0.118 165.612);\n --color-emerald-800: oklch(43.2% 0.095 166.913);\n --color-emerald-900: oklch(37.8% 0.077 168.94);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n --color-cyan-50: oklch(98.4% 0.019 200.873);\n --color-cyan-100: oklch(95.6% 0.045 203.388);\n --color-cyan-200: oklch(91.7% 0.08 205.041);\n --color-cyan-300: oklch(86.5% 0.127 207.078);\n --color-cyan-400: oklch(78.9% 0.154 211.53);\n --color-cyan-700: oklch(52% 0.105 223.128);\n --color-cyan-800: oklch(45% 0.085 224.283);\n --color-cyan-900: oklch(39.8% 0.07 227.392);\n --color-cyan-950: oklch(30.2% 0.056 229.695);\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-100: oklch(93.2% 0.032 255.585);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n --color-indigo-50: oklch(96.2% 0.018 272.314);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-400: oklch(67.3% 0.182 276.935);\n --color-indigo-500: oklch(58.5% 0.233 277.117);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-indigo-800: oklch(39.8% 0.195 277.366);\n --color-indigo-900: oklch(35.9% 0.144 278.697);\n --color-indigo-950: oklch(25.7% 0.09 281.288);\n --color-violet-100: oklch(94.3% 0.029 294.588);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-800: oklch(43.2% 0.232 292.759);\n --color-violet-900: oklch(38% 0.189 293.745);\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-100: oklch(94.6% 0.033 307.174);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-300: oklch(82.7% 0.119 306.383);\n --color-purple-400: oklch(71.4% 0.203 305.504);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-purple-800: oklch(43.8% 0.218 303.724);\n --color-purple-900: oklch(38.1% 0.176 304.987);\n --color-purple-950: oklch(29.1% 0.149 302.717);\n --color-pink-50: oklch(97.1% 0.014 343.198);\n --color-pink-100: oklch(94.8% 0.028 342.258);\n --color-pink-200: oklch(89.9% 0.061 343.231);\n --color-pink-300: oklch(82.3% 0.12 346.018);\n --color-pink-400: oklch(71.8% 0.202 349.761);\n --color-pink-700: oklch(52.5% 0.223 3.958);\n --color-pink-800: oklch(45.9% 0.187 3.815);\n --color-pink-900: oklch(40.8% 0.153 2.432);\n --color-pink-950: oklch(28.4% 0.109 3.907);\n --color-rose-50: oklch(96.9% 0.015 12.422);\n --color-rose-100: oklch(94.1% 0.03 12.58);\n --color-rose-200: oklch(89.2% 0.058 10.001);\n --color-rose-400: oklch(71.2% 0.194 13.428);\n --color-rose-500: oklch(64.5% 0.246 16.439);\n --color-rose-600: oklch(58.6% 0.253 17.585);\n --color-rose-800: oklch(45.5% 0.188 13.697);\n --color-rose-900: oklch(41% 0.159 10.272);\n --color-rose-950: oklch(27.1% 0.105 12.094);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-2xl: 42rem;\n --container-4xl: 56rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --tracking-tight: -0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n --leading-tight: 1.25;\n --leading-relaxed: 1.625;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --animate-bounce: bounce 1s infinite;\n --blur-sm: 8px;\n --blur-md: 12px;\n --blur-xl: 24px;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit,\n ::-webkit-datetime-edit-year-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type=button], [type=reset], [type=submit]),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=until-found])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .-top-8 {\n top: calc(var(--spacing) * -8);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .top-2 {\n top: calc(var(--spacing) * 2);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .-right-4 {\n right: calc(var(--spacing) * -4);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .right-5 {\n right: calc(var(--spacing) * 5);\n }\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n .-bottom-1\\.5 {\n bottom: calc(var(--spacing) * -1.5);\n }\n .bottom-6 {\n bottom: calc(var(--spacing) * 6);\n }\n .bottom-20 {\n bottom: calc(var(--spacing) * 20);\n }\n .bottom-24 {\n bottom: calc(var(--spacing) * 24);\n }\n .-left-4 {\n left: calc(var(--spacing) * -4);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-5 {\n left: calc(var(--spacing) * 5);\n }\n .left-6 {\n left: calc(var(--spacing) * 6);\n }\n .z-0 {\n z-index: 0;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-50 {\n z-index: 50;\n }\n .z-\\[100\\] {\n z-index: 100;\n }\n .z-\\[9998\\] {\n z-index: 9998;\n }\n .z-\\[9999\\] {\n z-index: 9999;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .mx-1 {\n margin-inline: calc(var(--spacing) * 1);\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-1\\.5 {\n margin-block: calc(var(--spacing) * 1.5);\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n .my-3 {\n margin-block: calc(var(--spacing) * 3);\n }\n .my-4 {\n margin-block: calc(var(--spacing) * 4);\n }\n .my-5 {\n margin-block: calc(var(--spacing) * 5);\n }\n .my-6 {\n margin-block: calc(var(--spacing) * 6);\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0\\.5 {\n margin-top: calc(var(--spacing) * 0.5);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-1\\.5 {\n margin-top: calc(var(--spacing) * 1.5);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-0\\.5 {\n margin-bottom: calc(var(--spacing) * 0.5);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n .ml-1\\.5 {\n margin-left: calc(var(--spacing) * 1.5);\n }\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n .ml-auto {\n margin-left: auto;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .\\!table {\n display: table !important;\n }\n .\\!table-cell {\n display: table-cell !important;\n }\n .\\!table-header-group {\n display: table-header-group !important;\n }\n .\\!table-row {\n display: table-row !important;\n }\n .\\!table-row-group {\n display: table-row-group !important;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .table {\n display: table;\n }\n .aspect-\\[4\\/3\\] {\n aspect-ratio: 4/3;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .h-1 {\n height: calc(var(--spacing) * 1);\n }\n .h-1\\.5 {\n height: calc(var(--spacing) * 1.5);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-2\\.5 {\n height: calc(var(--spacing) * 2.5);\n }\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-28 {\n height: calc(var(--spacing) * 28);\n }\n .h-32 {\n height: calc(var(--spacing) * 32);\n }\n .h-40 {\n height: calc(var(--spacing) * 40);\n }\n .h-\\[400\\%\\] {\n height: 400%;\n }\n .h-\\[600px\\] {\n height: 600px;\n }\n .h-full {\n height: 100%;\n }\n .max-h-24 {\n max-height: calc(var(--spacing) * 24);\n }\n .max-h-32 {\n max-height: calc(var(--spacing) * 32);\n }\n .max-h-40 {\n max-height: calc(var(--spacing) * 40);\n }\n .max-h-56 {\n max-height: calc(var(--spacing) * 56);\n }\n .max-h-60 {\n max-height: calc(var(--spacing) * 60);\n }\n .max-h-64 {\n max-height: calc(var(--spacing) * 64);\n }\n .max-h-\\[320px\\] {\n max-height: 320px;\n }\n .max-h-\\[400px\\] {\n max-height: 400px;\n }\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .min-h-\\[300px\\] {\n min-height: 300px;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .w-1\\.5 {\n width: calc(var(--spacing) * 1.5);\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n }\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n .w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-7 {\n width: calc(var(--spacing) * 7);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-14 {\n width: calc(var(--spacing) * 14);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-28 {\n width: calc(var(--spacing) * 28);\n }\n .w-36 {\n width: calc(var(--spacing) * 36);\n }\n .w-40 {\n width: calc(var(--spacing) * 40);\n }\n .w-44 {\n width: calc(var(--spacing) * 44);\n }\n .w-\\[400\\%\\] {\n width: 400%;\n }\n .w-\\[500px\\] {\n width: 500px;\n }\n .w-\\[min\\(88\\%\\,18rem\\)\\] {\n width: min(88%, 18rem);\n }\n .w-full {\n width: 100%;\n }\n .w-px {\n width: 1px;\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-4xl {\n max-width: var(--container-4xl);\n }\n .max-w-\\[90\\%\\] {\n max-width: 90%;\n }\n .max-w-\\[92\\%\\] {\n max-width: 92%;\n }\n .max-w-\\[94\\%\\] {\n max-width: 94%;\n }\n .max-w-\\[calc\\(100vw-3rem\\)\\] {\n max-width: calc(100vw - 3rem);\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .max-w-none {\n max-width: none;\n }\n .max-w-sm {\n max-width: var(--container-sm);\n }\n .max-w-xs {\n max-width: var(--container-xs);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .min-w-\\[11rem\\] {\n min-width: 11rem;\n }\n .min-w-\\[400px\\] {\n min-width: 400px;\n }\n .flex-1 {\n flex: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-4 {\n --tw-translate-y: calc(var(--spacing) * 4);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-90 {\n --tw-scale-x: 90%;\n --tw-scale-y: 90%;\n --tw-scale-z: 90%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-95 {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-110 {\n --tw-scale-x: 110%;\n --tw-scale-y: 110%;\n --tw-scale-z: 110%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .rotate-0 {\n rotate: 0deg;\n }\n .rotate-45 {\n rotate: 45deg;\n }\n .rotate-90 {\n rotate: 90deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-\\[pulse_1\\.2s_infinite\\] {\n animation: pulse 1.2s infinite;\n }\n .animate-bounce {\n animation: var(--animate-bounce);\n }\n .animate-ping {\n animation: var(--animate-ping);\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .cursor-nw-resize {\n cursor: nw-resize;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n }\n .snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n }\n .snap-start {\n scroll-snap-align: start;\n }\n .scrollbar-thin {\n scrollbar-width: thin;\n }\n .scrollbar-thumb-slate-200 {\n --tw-scrollbar-thumb: var(--color-slate-200);\n scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);\n }\n .scrollbar-track-transparent {\n --tw-scrollbar-track: transparent;\n scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .items-end {\n align-items: flex-end;\n }\n .items-start {\n align-items: flex-start;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .space-y-0\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-1 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-1\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-8 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .divide-y {\n :where(& > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n }\n .divide-slate-100 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-slate-100);\n }\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n .rounded-\\[2px\\] {\n border-radius: 2px;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n }\n .rounded-tl-\\[2px\\] {\n border-top-left-radius: 2px;\n }\n .rounded-tl-sm {\n border-top-left-radius: var(--radius-sm);\n }\n .rounded-tr-sm {\n border-top-right-radius: var(--radius-sm);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-l-2 {\n border-left-style: var(--tw-border-style);\n border-left-width: 2px;\n }\n .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .border-amber-100 {\n border-color: var(--color-amber-100);\n }\n .border-amber-200 {\n border-color: var(--color-amber-200);\n }\n .border-amber-200\\/80 {\n border-color: color-mix(in srgb, oklch(92.4% 0.12 95.746) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-200) 80%, transparent);\n }\n }\n .border-emerald-100 {\n border-color: var(--color-emerald-100);\n }\n .border-emerald-100\\/50 {\n border-color: color-mix(in srgb, oklch(95% 0.052 163.051) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-100) 50%, transparent);\n }\n }\n .border-emerald-200 {\n border-color: var(--color-emerald-200);\n }\n .border-emerald-500 {\n border-color: var(--color-emerald-500);\n }\n .border-emerald-500\\/20 {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);\n }\n }\n .border-indigo-200 {\n border-color: var(--color-indigo-200);\n }\n .border-indigo-500 {\n border-color: var(--color-indigo-500);\n }\n .border-red-200 {\n border-color: var(--color-red-200);\n }\n .border-rose-100 {\n border-color: var(--color-rose-100);\n }\n .border-rose-200 {\n border-color: var(--color-rose-200);\n }\n .border-rose-200\\/60 {\n border-color: color-mix(in srgb, oklch(89.2% 0.058 10.001) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-200) 60%, transparent);\n }\n }\n .border-slate-100 {\n border-color: var(--color-slate-100);\n }\n .border-slate-200 {\n border-color: var(--color-slate-200);\n }\n .border-slate-200\\/50 {\n border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-200) 50%, transparent);\n }\n }\n .border-slate-200\\/60 {\n border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-200) 60%, transparent);\n }\n }\n .border-slate-200\\/80 {\n border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);\n }\n }\n .border-slate-300 {\n border-color: var(--color-slate-300);\n }\n .border-slate-800 {\n border-color: var(--color-slate-800);\n }\n .border-transparent {\n border-color: transparent;\n }\n .border-white {\n border-color: var(--color-white);\n }\n .border-white\\/5 {\n border-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n .border-white\\/8 {\n border-color: color-mix(in srgb, #fff 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 8%, transparent);\n }\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .bg-\\[\\#0d0d1a\\] {\n background-color: #0d0d1a;\n }\n .bg-\\[\\#080818\\] {\n background-color: #080818;\n }\n .bg-amber-50 {\n background-color: var(--color-amber-50);\n }\n .bg-amber-50\\/70 {\n background-color: color-mix(in srgb, oklch(98.7% 0.022 95.277) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-50) 70%, transparent);\n }\n }\n .bg-amber-100 {\n background-color: var(--color-amber-100);\n }\n .bg-amber-200 {\n background-color: var(--color-amber-200);\n }\n .bg-amber-500 {\n background-color: var(--color-amber-500);\n }\n .bg-amber-500\\/80 {\n background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-500) 80%, transparent);\n }\n }\n .bg-blue-50 {\n background-color: var(--color-blue-50);\n }\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n .bg-blue-200 {\n background-color: var(--color-blue-200);\n }\n .bg-cyan-50 {\n background-color: var(--color-cyan-50);\n }\n .bg-cyan-100 {\n background-color: var(--color-cyan-100);\n }\n .bg-cyan-200 {\n background-color: var(--color-cyan-200);\n }\n .bg-emerald-50 {\n background-color: var(--color-emerald-50);\n }\n .bg-emerald-50\\/50 {\n background-color: color-mix(in srgb, oklch(97.9% 0.021 166.113) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-50) 50%, transparent);\n }\n }\n .bg-emerald-100 {\n background-color: var(--color-emerald-100);\n }\n .bg-emerald-200 {\n background-color: var(--color-emerald-200);\n }\n .bg-emerald-500 {\n background-color: var(--color-emerald-500);\n }\n .bg-emerald-500\\/10 {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);\n }\n }\n .bg-emerald-500\\/80 {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 80%, transparent);\n }\n }\n .bg-indigo-50 {\n background-color: var(--color-indigo-50);\n }\n .bg-indigo-100 {\n background-color: var(--color-indigo-100);\n }\n .bg-indigo-500 {\n background-color: var(--color-indigo-500);\n }\n .bg-indigo-600 {\n background-color: var(--color-indigo-600);\n }\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n .bg-pink-50 {\n background-color: var(--color-pink-50);\n }\n .bg-pink-100 {\n background-color: var(--color-pink-100);\n }\n .bg-pink-200 {\n background-color: var(--color-pink-200);\n }\n .bg-purple-50 {\n background-color: var(--color-purple-50);\n }\n .bg-purple-100 {\n background-color: var(--color-purple-100);\n }\n .bg-purple-200 {\n background-color: var(--color-purple-200);\n }\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .bg-red-500 {\n background-color: var(--color-red-500);\n }\n .bg-rose-50 {\n background-color: var(--color-rose-50);\n }\n .bg-rose-50\\/50 {\n background-color: color-mix(in srgb, oklch(96.9% 0.015 12.422) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-50) 50%, transparent);\n }\n }\n .bg-rose-100 {\n background-color: var(--color-rose-100);\n }\n .bg-rose-500 {\n background-color: var(--color-rose-500);\n }\n .bg-rose-500\\/80 {\n background-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-500) 80%, transparent);\n }\n }\n .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .bg-slate-50\\/20 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 20%, transparent);\n }\n }\n .bg-slate-50\\/50 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);\n }\n }\n .bg-slate-100 {\n background-color: var(--color-slate-100);\n }\n .bg-slate-100\\/50 {\n background-color: color-mix(in srgb, oklch(96.8% 0.007 247.896) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-100) 50%, transparent);\n }\n }\n .bg-slate-200 {\n background-color: var(--color-slate-200);\n }\n .bg-slate-400 {\n background-color: var(--color-slate-400);\n }\n .bg-slate-800 {\n background-color: var(--color-slate-800);\n }\n .bg-slate-900 {\n background-color: var(--color-slate-900);\n }\n .bg-slate-900\\/50 {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent);\n }\n }\n .bg-slate-900\\/90 {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 90%, transparent);\n }\n }\n .bg-slate-950 {\n background-color: var(--color-slate-950);\n }\n .bg-slate-950\\/70 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 70%, transparent);\n }\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-violet-100 {\n background-color: var(--color-violet-100);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-white\\/60 {\n background-color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n .bg-white\\/90 {\n background-color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n .bg-white\\/95 {\n background-color: color-mix(in srgb, #fff 95%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 95%, transparent);\n }\n }\n .bg-gradient-to-br {\n --tw-gradient-position: to bottom right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .from-slate-100 {\n --tw-gradient-from: var(--color-slate-100);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-slate-200 {\n --tw-gradient-to: var(--color-slate-200);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .object-cover {\n object-fit: cover;\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .p-10 {\n padding: calc(var(--spacing) * 10);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-1\\.5 {\n padding-inline: calc(var(--spacing) * 1.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pb-6 {\n padding-bottom: calc(var(--spacing) * 6);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .align-middle {\n vertical-align: middle;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-\\[9px\\] {\n font-size: 9px;\n }\n .text-\\[10px\\] {\n font-size: 10px;\n }\n .text-\\[11px\\] {\n font-size: 11px;\n }\n .text-\\[12px\\] {\n font-size: 12px;\n }\n .text-\\[13px\\] {\n font-size: 13px;\n }\n .leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: var(--leading-relaxed);\n }\n .leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-extrabold {\n --tw-font-weight: var(--font-weight-extrabold);\n font-weight: var(--font-weight-extrabold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .tracking-wider {\n --tw-tracking: var(--tracking-wider);\n letter-spacing: var(--tracking-wider);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre {\n white-space: pre;\n }\n .whitespace-pre-line {\n white-space: pre-line;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .text-amber-300 {\n color: var(--color-amber-300);\n }\n .text-amber-400 {\n color: var(--color-amber-400);\n }\n .text-amber-500 {\n color: var(--color-amber-500);\n }\n .text-amber-600 {\n color: var(--color-amber-600);\n }\n .text-amber-700 {\n color: var(--color-amber-700);\n }\n .text-amber-800 {\n color: var(--color-amber-800);\n }\n .text-amber-900 {\n color: var(--color-amber-900);\n }\n .text-amber-950 {\n color: var(--color-amber-950);\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n .text-blue-800 {\n color: var(--color-blue-800);\n }\n .text-blue-950 {\n color: var(--color-blue-950);\n }\n .text-cyan-700 {\n color: var(--color-cyan-700);\n }\n .text-cyan-800 {\n color: var(--color-cyan-800);\n }\n .text-cyan-950 {\n color: var(--color-cyan-950);\n }\n .text-emerald-400 {\n color: var(--color-emerald-400);\n }\n .text-emerald-500 {\n color: var(--color-emerald-500);\n }\n .text-emerald-500\\/70 {\n color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-emerald-500) 70%, transparent);\n }\n }\n .text-emerald-600 {\n color: var(--color-emerald-600);\n }\n .text-emerald-700 {\n color: var(--color-emerald-700);\n }\n .text-emerald-800 {\n color: var(--color-emerald-800);\n }\n .text-emerald-900 {\n color: var(--color-emerald-900);\n }\n .text-emerald-950 {\n color: var(--color-emerald-950);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-indigo-200\\/85 {\n color: color-mix(in srgb, oklch(87% 0.065 274.039) 85%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-indigo-200) 85%, transparent);\n }\n }\n .text-indigo-400 {\n color: var(--color-indigo-400);\n }\n .text-indigo-500 {\n color: var(--color-indigo-500);\n }\n .text-indigo-600 {\n color: var(--color-indigo-600);\n }\n .text-indigo-900 {\n color: var(--color-indigo-900);\n }\n .text-indigo-950 {\n color: var(--color-indigo-950);\n }\n .text-orange-950 {\n color: var(--color-orange-950);\n }\n .text-pink-700 {\n color: var(--color-pink-700);\n }\n .text-pink-800 {\n color: var(--color-pink-800);\n }\n .text-pink-950 {\n color: var(--color-pink-950);\n }\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n .text-purple-800 {\n color: var(--color-purple-800);\n }\n .text-purple-950 {\n color: var(--color-purple-950);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-600 {\n color: var(--color-red-600);\n }\n .text-rose-400 {\n color: var(--color-rose-400);\n }\n .text-rose-500 {\n color: var(--color-rose-500);\n }\n .text-rose-600 {\n color: var(--color-rose-600);\n }\n .text-slate-100 {\n color: var(--color-slate-100);\n }\n .text-slate-200 {\n color: var(--color-slate-200);\n }\n .text-slate-300 {\n color: var(--color-slate-300);\n }\n .text-slate-400 {\n color: var(--color-slate-400);\n }\n .text-slate-500 {\n color: var(--color-slate-500);\n }\n .text-slate-600 {\n color: var(--color-slate-600);\n }\n .text-slate-700 {\n color: var(--color-slate-700);\n }\n .text-slate-800 {\n color: var(--color-slate-800);\n }\n .text-slate-900 {\n color: var(--color-slate-900);\n }\n .text-violet-900 {\n color: var(--color-violet-900);\n }\n .text-white {\n color: var(--color-white);\n }\n .text-white\\/25 {\n color: color-mix(in srgb, #fff 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 25%, transparent);\n }\n }\n .text-white\\/35 {\n color: color-mix(in srgb, #fff 35%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 35%, transparent);\n }\n }\n .lowercase {\n text-transform: lowercase;\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .placeholder-slate-400 {\n &::placeholder {\n color: var(--color-slate-400);\n }\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-20 {\n opacity: 20%;\n }\n .opacity-30 {\n opacity: 30%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-sm {\n --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));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-rose-500\\/20 {\n --tw-shadow-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-rose-500) 20%, transparent) var(--tw-shadow-alpha), transparent);\n }\n }\n .ring-slate-200\\/80 {\n --tw-ring-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);\n }\n }\n .ring-offset-1 {\n --tw-ring-offset-width: 1px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n .ring-offset-transparent {\n --tw-ring-offset-color: transparent;\n }\n .drop-shadow-2xl {\n --tw-drop-shadow-size: drop-shadow(0 25px 25px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));\n --tw-drop-shadow: drop-shadow(var(--drop-shadow-2xl));\n 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,);\n }\n .filter {\n 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,);\n }\n .backdrop-blur-md {\n --tw-backdrop-blur: blur(var(--blur-md));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-sm {\n --tw-backdrop-blur: blur(var(--blur-sm));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-xl {\n --tw-backdrop-blur: blur(var(--blur-xl));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n outline-color,\n text-decoration-color,\n fill,\n stroke,\n --tw-gradient-from,\n --tw-gradient-via,\n --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property:\n transform,\n translate,\n scale,\n rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .duration-700 {\n --tw-duration: 700ms;\n transition-duration: 700ms;\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-all {\n -webkit-user-select: all;\n user-select: all;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .select-text {\n -webkit-user-select: text;\n user-select: text;\n }\n .\\[animation-delay\\:0ms\\] {\n animation-delay: 0ms;\n }\n .\\[animation-delay\\:150ms\\] {\n animation-delay: 150ms;\n }\n .\\[animation-delay\\:300ms\\] {\n animation-delay: 300ms;\n }\n .group-hover\\:scale-100 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .group-hover\\:scale-105 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .group-hover\\:animate-\\[gradientMove_3\\.5s_ease-in-out_infinite_alternate\\] {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n animation: gradientMove 3.5s ease-in-out infinite alternate;\n }\n }\n }\n .group-hover\\:animate-\\[shapeshift_5s_ease-in-out_infinite_forwards\\] {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n animation: shapeshift 5s ease-in-out infinite forwards;\n }\n }\n }\n .group-hover\\:rounded-none {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-radius: 0;\n }\n }\n }\n .group-hover\\:border-slate-500 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-color: var(--color-slate-500);\n }\n }\n }\n .group-hover\\:opacity-100 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .focus-within\\:border-slate-300 {\n &:focus-within {\n border-color: var(--color-slate-300);\n }\n }\n .hover\\:scale-105 {\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .hover\\:scale-110 {\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 110%;\n --tw-scale-y: 110%;\n --tw-scale-z: 110%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .hover\\:scale-\\[1\\.01\\] {\n &:hover {\n @media (hover: hover) {\n scale: 1.01;\n }\n }\n }\n .hover\\:scale-\\[1\\.02\\] {\n &:hover {\n @media (hover: hover) {\n scale: 1.02;\n }\n }\n }\n .hover\\:border-emerald-200 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-emerald-200);\n }\n }\n }\n .hover\\:border-rose-200 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-rose-200);\n }\n }\n }\n .hover\\:border-slate-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-300);\n }\n }\n }\n .hover\\:border-slate-300\\/60 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, oklch(86.9% 0.022 252.894) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-300) 60%, transparent);\n }\n }\n }\n }\n .hover\\:border-slate-800 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-800);\n }\n }\n }\n .hover\\:bg-emerald-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-emerald-50);\n }\n }\n }\n .hover\\:bg-rose-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-rose-50);\n }\n }\n }\n .hover\\:bg-rose-600 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-rose-600);\n }\n }\n }\n .hover\\:bg-slate-50\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);\n }\n }\n }\n }\n .hover\\:bg-slate-50\\/70 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 70%, transparent);\n }\n }\n }\n }\n .hover\\:bg-slate-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-100);\n }\n }\n }\n .hover\\:bg-slate-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-200);\n }\n }\n }\n .hover\\:bg-slate-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-800);\n }\n }\n }\n .hover\\:bg-white {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n .hover\\:bg-white\\/5 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n }\n .hover\\:text-blue-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-500);\n }\n }\n }\n .hover\\:text-emerald-400 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-emerald-400);\n }\n }\n }\n .hover\\:text-emerald-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-emerald-500);\n }\n }\n }\n .hover\\:text-indigo-300 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-300);\n }\n }\n }\n .hover\\:text-indigo-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-500);\n }\n }\n }\n .hover\\:text-rose-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-rose-500);\n }\n }\n }\n .hover\\:text-slate-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-600);\n }\n }\n }\n .hover\\:text-slate-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-900);\n }\n }\n }\n .hover\\:text-white\\/80 {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 80%, transparent);\n }\n }\n }\n }\n .hover\\:opacity-90 {\n &:hover {\n @media (hover: hover) {\n opacity: 90%;\n }\n }\n }\n .hover\\:shadow-lg {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-md {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n }\n }\n .focus\\:border-emerald-500 {\n &:focus {\n border-color: var(--color-emerald-500);\n }\n }\n .focus\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n .active\\:scale-95 {\n &:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .active\\:scale-\\[0\\.98\\] {\n &:active {\n scale: 0.98;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:text-slate-400 {\n &:disabled {\n color: var(--color-slate-400);\n }\n }\n .disabled\\:opacity-30 {\n &:disabled {\n opacity: 30%;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .disabled\\:hover\\:scale-100 {\n &:disabled {\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n }\n .disabled\\:active\\:scale-100 {\n &:disabled {\n &:active {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:p-12 {\n @media (width >= 48rem) {\n padding: calc(var(--spacing) * 12);\n }\n }\n .md\\:opacity-0 {\n @media (width >= 48rem) {\n opacity: 0%;\n }\n }\n .md\\:group-hover\\/carousel\\:opacity-100 {\n @media (width >= 48rem) {\n &:is(:where(.group\\/carousel):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n }\n .dark\\:scrollbar-thumb-white\\/10 {\n @media (prefers-color-scheme: dark) {\n --tw-scrollbar-thumb: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-scrollbar-thumb: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);\n }\n }\n .dark\\:divide-white\\/5 {\n @media (prefers-color-scheme: dark) {\n :where(& > :not(:last-child)) {\n border-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n }\n .dark\\:border-amber-400\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-400) 20%, transparent);\n }\n }\n }\n .dark\\:border-amber-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-amber-800\\/40 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(47.3% 0.137 46.201) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-800) 40%, transparent);\n }\n }\n }\n .dark\\:border-emerald-400\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-400) 20%, transparent);\n }\n }\n }\n .dark\\:border-emerald-500\\/10 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);\n }\n }\n }\n .dark\\:border-emerald-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-emerald-500\\/25 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 25%, transparent);\n }\n }\n }\n .dark\\:border-indigo-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-indigo-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-red-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-rose-400\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-400) 20%, transparent);\n }\n }\n }\n .dark\\:border-rose-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-rose-500\\/25 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-500) 25%, transparent);\n }\n }\n }\n .dark\\:border-rose-800\\/40 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(45.5% 0.188 13.697) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-800) 40%, transparent);\n }\n }\n }\n .dark\\:border-rose-900\\/60 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(41% 0.159 10.272) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-900) 60%, transparent);\n }\n }\n }\n .dark\\:border-slate-700 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-slate-700);\n }\n }\n .dark\\:border-slate-800 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-slate-800);\n }\n }\n .dark\\:border-white\\/5 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n .dark\\:border-white\\/8 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 8%, transparent);\n }\n }\n }\n .dark\\:border-white\\/10 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n .dark\\:border-white\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n .dark\\:bg-\\[\\#0f0f1a\\] {\n @media (prefers-color-scheme: dark) {\n background-color: #0f0f1a;\n }\n }\n .dark\\:bg-\\[\\#0f0f1a\\]\\/90 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in oklab, #0f0f1a 90%, transparent);\n }\n }\n .dark\\:bg-\\[\\#0f0f1a\\]\\/95 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in oklab, #0f0f1a 95%, transparent);\n }\n }\n .dark\\:bg-\\[\\#080811\\] {\n @media (prefers-color-scheme: dark) {\n background-color: #080811;\n }\n }\n .dark\\:bg-amber-400\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-400) 10%, transparent);\n }\n }\n }\n .dark\\:bg-amber-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-amber-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(55.5% 0.163 48.998) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-amber-800\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(47.3% 0.137 46.201) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-800) 30%, transparent);\n }\n }\n }\n .dark\\:bg-amber-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-amber-900\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-900) 40%, transparent);\n }\n }\n }\n .dark\\:bg-amber-950\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-950) 20%, transparent);\n }\n }\n }\n .dark\\:bg-amber-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-black\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n }\n }\n .dark\\:bg-black\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #000 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 60%, transparent);\n }\n }\n }\n .dark\\:bg-blue-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(48.8% 0.243 264.376) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-blue-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(37.9% 0.146 265.522) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-blue-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-cyan-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(52% 0.105 223.128) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-cyan-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-cyan-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(39.8% 0.07 227.392) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-cyan-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-cyan-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(30.2% 0.056 229.695) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-cyan-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-400 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-emerald-400);\n }\n }\n .dark\\:bg-emerald-400\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-400) 10%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-500\\/5 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 5%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(50.8% 0.118 165.612) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-800\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(43.2% 0.095 166.913) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-800) 40%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(37.8% 0.077 168.94) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-indigo-400 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-indigo-400);\n }\n }\n .dark\\:bg-indigo-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-indigo-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(45.7% 0.24 277.023) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-indigo-800\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(39.8% 0.195 277.366) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-800) 30%, transparent);\n }\n }\n }\n .dark\\:bg-indigo-900\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(35.9% 0.144 278.697) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-900) 30%, transparent);\n }\n }\n }\n .dark\\:bg-orange-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(55.3% 0.195 38.402) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-orange-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-pink-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(52.5% 0.223 3.958) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-pink-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-pink-800\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(45.9% 0.187 3.815) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-pink-800) 30%, transparent);\n }\n }\n }\n .dark\\:bg-pink-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(40.8% 0.153 2.432) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-pink-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-pink-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(28.4% 0.109 3.907) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-pink-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-purple-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(49.6% 0.265 301.924) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-purple-800\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(43.8% 0.218 303.724) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-800) 40%, transparent);\n }\n }\n }\n .dark\\:bg-purple-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(38.1% 0.176 304.987) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-purple-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(29.1% 0.149 302.717) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-red-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-rose-400\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-400) 10%, transparent);\n }\n }\n }\n .dark\\:bg-rose-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-rose-900\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(41% 0.159 10.272) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-900) 40%, transparent);\n }\n }\n }\n .dark\\:bg-rose-950\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.1% 0.105 12.094) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-950) 20%, transparent);\n }\n }\n }\n .dark\\:bg-slate-700 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-slate-700);\n }\n }\n .dark\\:bg-slate-800 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-slate-800);\n }\n }\n .dark\\:bg-slate-900 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-slate-900);\n }\n }\n .dark\\:bg-slate-900\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent);\n }\n }\n }\n .dark\\:bg-slate-900\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);\n }\n }\n }\n .dark\\:bg-slate-900\\/80 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 80%, transparent);\n }\n }\n }\n .dark\\:bg-slate-950 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-slate-950);\n }\n }\n .dark\\:bg-transparent {\n @media (prefers-color-scheme: dark) {\n background-color: transparent;\n }\n }\n .dark\\:bg-violet-800\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(43.2% 0.232 292.759) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-violet-800) 30%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/3 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 3%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 3%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/5 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/8 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 8%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n .dark\\:from-white\\/10 {\n @media (prefers-color-scheme: dark) {\n --tw-gradient-from: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-from: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n }\n .dark\\:to-white\\/5 {\n @media (prefers-color-scheme: dark) {\n --tw-gradient-to: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n }\n .dark\\:text-amber-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-100);\n }\n }\n .dark\\:text-amber-200 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-200);\n }\n }\n .dark\\:text-amber-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-300);\n }\n }\n .dark\\:text-amber-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-400);\n }\n }\n .dark\\:text-blue-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-blue-100);\n }\n }\n .dark\\:text-blue-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-blue-300);\n }\n }\n .dark\\:text-blue-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-blue-400);\n }\n }\n .dark\\:text-cyan-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-cyan-100);\n }\n }\n .dark\\:text-cyan-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-cyan-300);\n }\n }\n .dark\\:text-cyan-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-cyan-400);\n }\n }\n .dark\\:text-emerald-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-emerald-100);\n }\n }\n .dark\\:text-emerald-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-emerald-300);\n }\n }\n .dark\\:text-emerald-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-emerald-400);\n }\n }\n .dark\\:text-emerald-500\\/50 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);\n }\n }\n }\n .dark\\:text-indigo-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-indigo-100);\n }\n }\n .dark\\:text-indigo-200 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-indigo-200);\n }\n }\n .dark\\:text-indigo-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-indigo-400);\n }\n }\n .dark\\:text-indigo-400\\/70 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(67.3% 0.182 276.935) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-indigo-400) 70%, transparent);\n }\n }\n }\n .dark\\:text-orange-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-orange-100);\n }\n }\n .dark\\:text-pink-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-pink-100);\n }\n }\n .dark\\:text-pink-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-pink-300);\n }\n }\n .dark\\:text-pink-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-pink-400);\n }\n }\n .dark\\:text-purple-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-purple-100);\n }\n }\n .dark\\:text-purple-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-purple-300);\n }\n }\n .dark\\:text-purple-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-purple-400);\n }\n }\n .dark\\:text-red-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-red-400);\n }\n }\n .dark\\:text-rose-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-rose-400);\n }\n }\n .dark\\:text-slate-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-100);\n }\n }\n .dark\\:text-slate-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-300);\n }\n }\n .dark\\:text-slate-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-400);\n }\n }\n .dark\\:text-violet-200 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-violet-200);\n }\n }\n .dark\\:text-white {\n @media (prefers-color-scheme: dark) {\n color: var(--color-white);\n }\n }\n .dark\\:text-white\\/20 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n .dark\\:text-white\\/30 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n }\n .dark\\:text-white\\/40 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 40%, transparent);\n }\n }\n }\n .dark\\:text-white\\/50 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n }\n .dark\\:text-white\\/60 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n .dark\\:text-white\\/70 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n }\n .dark\\:text-white\\/75 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 75%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 75%, transparent);\n }\n }\n }\n .dark\\:text-white\\/80 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 80%, transparent);\n }\n }\n }\n .dark\\:text-white\\/90 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n }\n .dark\\:placeholder-white\\/30 {\n @media (prefers-color-scheme: dark) {\n &::placeholder {\n color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n }\n }\n .dark\\:ring-white\\/10 {\n @media (prefers-color-scheme: dark) {\n --tw-ring-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n .dark\\:group-hover\\:border-white\\/50 {\n @media (prefers-color-scheme: dark) {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #fff 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:focus-within\\:border-white\\/20 {\n @media (prefers-color-scheme: dark) {\n &:focus-within {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n }\n .dark\\:hover\\:border-emerald-500\\/20 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:border-rose-500\\/20 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:border-white\\/15 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #fff 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 15%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:border-white\\/20 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-emerald-500\\/10 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-rose-500\\/10 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-white\\/5 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-white\\/10 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-white\\/20 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-blue-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-emerald-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-emerald-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-indigo-300 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-300);\n }\n }\n }\n }\n .dark\\:hover\\:text-indigo-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-rose-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-rose-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-white {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-white);\n }\n }\n }\n }\n .dark\\:hover\\:text-white\\/60 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-white\\/70 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-white\\/80 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 80%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-white\\/90 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n }\n }\n }\n .dark\\:disabled\\:text-white\\/30 {\n @media (prefers-color-scheme: dark) {\n &:disabled {\n color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n }\n }\n}\n@layer base {\n :root {\n --star: shape(evenodd from 50% 24.787%, curve by 7.143% 18.016% with 0% 0% / 2.9725% 13.814%, curve by 17.882% 7.197% with 4.171% 4.2025% / 17.882% 7.197%, curve by -17.882% 8.6765% with 0% 0% / -13.711% 4.474%, curve by -7.143% 16.5365% with -4.1705% 4.202% / -7.143% 16.5365%, curve by -8.6115% -16.5365% with 0% 0% / -4.441% -12.3345%, curve by -16.4135% -8.6765% with -4.171% -4.2025% / -16.4135% -8.6765%, curve by 16.4135% -7.197% with 0% 0% / 12.2425% -2.9945%, curve by 8.6115% -18.016% with 4.1705% -4.202% / 8.6115% -18.016%, close);\n --flower: shape(evenodd from 17.9665% 82.0335%, curve by -12.349% -32.0335% with -13.239% -5.129% / -18.021% -15.402%, curve by -0.0275% -22.203% with -3.1825% -9.331% / -3.074% -16.6605%, curve by 12.3765% -9.8305% with 2.3835% -4.3365% / 6.565% -7.579%, curve by 32.0335% -12.349% with 5.129% -13.239% / 15.402% -18.021%, curve by 20.4535% -0.8665% with 8.3805% -2.858% / 15.1465% -3.062%, curve by 11.58% 13.2155% with 5.225% 2.161% / 9.0355% 6.6475%, curve by 12.349% 32.0335% with 13.239% 5.129% / 18.021% 15.402%, curve by 0.5715% 21.1275% with 2.9805% 8.7395% / 3.0745% 15.723%, curve by -12.9205% 10.906% with -2.26% 4.88% / -6.638% 8.472%, curve by -32.0335% 12.349% with -5.129% 13.239% / -15.402% 18.021%, curve by -21.1215% 0.5745% with -8.736% 2.9795% / -15.718% 3.0745%, curve by -10.912% -12.9235% with -4.883% -2.2595% / -8.477% -6.6385%, close);\n --hexagon: shape(evenodd from 6.47% 67.001%, curve by 0% -34.002% with -1.1735% -7.7% / -1.1735% -26.302%, curve by 7.0415% -12.1965% with 0.7075% -4.641% / 3.3765% -9.2635%, curve by 29.447% -17.001% with 6.0815% -4.8665% / 22.192% -14.1675%, curve by 14.083% 0% with 4.3725% -1.708% / 9.7105% -1.708%, curve by 29.447% 17.001% with 7.255% 2.8335% / 23.3655% 12.1345%, curve by 7.0415% 12.1965% with 3.665% 2.933% / 6.334% 7.5555%, curve by 0% 34.002% with 1.1735% 7.7% / 1.1735% 26.302%, curve by -7.0415% 12.1965% with -0.7075% 4.641% / -3.3765% 9.2635%, curve by -29.447% 17.001% with -6.0815% 4.8665% / -22.192% 14.1675%, curve by -14.083% 0% with -4.3725% 1.708% / -9.7105% 1.708%, curve by -29.447% -17.001% with -7.255% -2.8335% / -23.3655% -12.1345%, curve by -7.0415% -12.1965% with -3.665% -2.933% / -6.334% -7.5555%, close);\n --cylinder: shape(evenodd from 10.5845% 59.7305%, curve by 0% -19.461% with -0.113% -1.7525% / -0.11% -18.14%, curve by 10.098% -26.213% with 0.837% -10.0375% / 3.821% -19.2625%, curve by 29.3175% -13.0215% with 7.2175% -7.992% / 17.682% -13.0215%, curve by 19.5845% 5.185% with 7.1265% 0% / 13.8135% 1.887%, curve by 9.8595% 7.9775% with 3.7065% 2.1185% / 7.035% 4.8195%, curve by 9.9715% 26.072% with 6.2015% 6.933% / 9.4345% 16.082%, curve by 0% 19.461% with 0.074% 1.384% / 0.0745% 17.7715%, curve by -13.0065% 29.1155% with -0.511% 11.5345% / -5.021% 21.933%, curve by -26.409% 10.119% with -6.991% 6.288% / -16.254% 10.119%, curve by -20.945% -5.9995% with -7.6935% 0% / -14.8755% -2.199%, curve by -8.713% -7.404% with -3.255% -2.0385% / -6.1905% -4.537%, curve by -9.7575% -25.831% with -6.074% -6.9035% / -9.1205% -15.963%, close);\n --circle: shape(evenodd from 13.482% 79.505%, curve by -7.1945% -12.47% with -1.4985% -1.8575% / -6.328% -10.225%, curve by 0.0985% -33.8965% with -4.1645% -10.7945% / -4.1685% -23.0235%, curve by 6.9955% -12.101% with 1.72% -4.3825% / 4.0845% -8.458%, curve by 30.125% -17.119% with 7.339% -9.1825% / 18.4775% -15.5135%, curve by 13.4165% 0.095% with 4.432% -0.6105% / 8.9505% -0.5855%, curve by 29.364% 16.9% with 11.6215% 1.77% / 22.102% 7.9015%, curve by 7.176% 12.4145% with 3.002% 3.7195% / 5.453% 7.968%, curve by -0.0475% 33.8925% with 4.168% 10.756% / 4.2305% 22.942%, curve by -7.1135% 12.2825% with -1.74% 4.4535% / -4.1455% 8.592%, curve by -29.404% 16.9075% with -7.202% 8.954% / -18.019% 15.137%, curve by -14.19% -0.018% with -4.6635% 0.7255% / -9.4575% 0.7205%, curve by -29.226% -16.8875% with -11.573% -1.8065% / -21.9955% -7.9235%, close);\n --heart: shape(evenodd from 51.311% 83.603%, curve by -8.333% -20.508% with -14.104% -4.287% / -16.406% -16.185%, curve by -4.271% -37.41% with -5.419% -9.658% / -6.815% -22.733%, curve by 13.589% -33.586% with 3.982% -7.448% / 8.411% -15.994%, curve by 28.187% -21.985% with 4.029% -4.29% / 4.029% -4.29%, curve by 33.835% 0.721% with 9.618% 4.647% / 22.541% 9.618%, curve by 37.596% 21.304% with 3.306% 13.266% / 7.589% 24.251%, curve by 21.985% 43.613% with -4.208% 3.982% / -15.994% 8.411%, curve by 0.721% 37.596% with -7.448% 4.029% / -15.994% 8.411%, curve by -16.185% 28.187% with -9.658% 5.419% / -22.733% 6.815%, curve by -37.41% 4.271% with -4.29% 4.029% / -4.29% 4.029%, curve by -33.586% -13.589% with -7.448% 3.982% / -15.994% 8.411%, curve by -28.187% -32.094% with -4.029% 4.029% / -4.029% 4.029%, close);\n --spiral: shape(evenodd from 13.347% 30.885%, curve by 5.502% 18.447% with 11.052% 5.562% / 19.995% 9.169%, curve by -20.309% 16.907% with -7.146% -1.332% / -9.016% -2.812%, curve by -25.848% -13.087% with -7.017% -7.46% / -9.941% -15.041%, curve by 10.154% -25.731% with 2.473% -6.063% / 7.163% -10.656%, curve by 31.473% -7.963% with 8.814% 2.403% / 13.84% 8.748%, curve by 16.526% 20.487% with -4.058% 1.502% / -9.51% 3.304%, curve by 5.502% 18.447% with 11.052% 5.562% / 19.995% 9.169%, close);\n --sun: shape(evenodd from 12.758% 22.039%, curve by 2.2585% 27.561% with 4.517% 18.961% / 2.2585% 27.561%, curve by 3.187% -11.541% with 2.2585% -8.483% / 4.7615% -12.541%, curve by 31.034% 31.034% with 31.034% 31.034% / 31.034% 31.034%, curve by 33.825% -14.163% with 8.961% -7.455% / 13.585% -11.059%, curve by 19.814% -34.731% with 4.7615% -12.541% / 2.2585% -27.561%, curve by 33.825% -14.163% with 2.2585% -8.483% / 4.517% -18.961%, curve by 19.814% -34.731% with 0% 0% / -3.187% 11.541%, curve by 33.825% -14.163% with 8.961% -7.455% / 13.585% -11.059%, curve by 31.034% 31.034% with 31.034% 31.034% / 31.034% 31.034%, curve by 19.814% -34.731% with 4.7615% -12.541% / 2.2585% -27.561%, curve by 33.825% -14.163% with 2.2585% -8.483% / 4.517% -18.961%, close);\n --star2: shape(open from 28.947% 47.744%, curve by 24.042% -2.139% with 0% 0% / -24.042% 2.139%, curve by 4.208% -25.165% with 4.208% -25.165% / 4.208% -25.165%, curve by 2.341% -18.447% with 0% 0% / 1.888% -1.438%, curve by 32.355% 1.085% with 0% 0% / 25.984% 1.085%, curve by -4.655% 25.165% with 0% 0% / -4.655% 25.165%, curve by -4.208% -25.165% with -4.208% -25.165% / -4.208% -25.165%, curve by 2.566% -4.208% with 0% 0% / 2.072% -1.639%, curve by 30.069% 1.085% with 0% 0% / 24.156% 1.085%, curve by -2.791% 25.165% with 0% 0% / -2.791% 25.165%, curve by -4.208% -25.165% with -4.208% -25.165% / -4.208% -25.165%, curve by 2.116% -4.208% with 0% 0% / 1.659% -1.557%, close);\n --tri-star: shape(open from 25% 25%, curve by 25% 25% with 0% 0% / 25% 25%, close);\n }\n}\n@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-rotate-x { syntax: "*"; inherits: false; }\n@property --tw-rotate-y { syntax: "*"; inherits: false; }\n@property --tw-rotate-z { syntax: "*"; inherits: false; }\n@property --tw-skew-x { syntax: "*"; inherits: false; }\n@property --tw-skew-y { syntax: "*"; inherits: false; }\n@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }\n@property --tw-scrollbar-thumb { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-scrollbar-track { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }\n@property --tw-gradient-position { syntax: "*"; inherits: false; }\n@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }\n@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }\n@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-leading { syntax: "*"; inherits: false; }\n@property --tw-font-weight { syntax: "*"; inherits: false; }\n@property --tw-tracking { syntax: "*"; inherits: false; }\n@property --tw-ordinal { syntax: "*"; inherits: false; }\n@property --tw-slashed-zero { syntax: "*"; inherits: false; }\n@property --tw-numeric-figure { syntax: "*"; inherits: false; }\n@property --tw-numeric-spacing { syntax: "*"; inherits: false; }\n@property --tw-numeric-fraction { syntax: "*"; inherits: false; }\n@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-ring-color { syntax: "*"; inherits: false; }\n@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-ring-color { syntax: "*"; inherits: false; }\n@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-ring-inset { syntax: "*"; inherits: false; }\n@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }\n@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }\n@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-blur { syntax: "*"; inherits: false; }\n@property --tw-brightness { syntax: "*"; inherits: false; }\n@property --tw-contrast { syntax: "*"; inherits: false; }\n@property --tw-grayscale { syntax: "*"; inherits: false; }\n@property --tw-hue-rotate { syntax: "*"; inherits: false; }\n@property --tw-invert { syntax: "*"; inherits: false; }\n@property --tw-opacity { syntax: "*"; inherits: false; }\n@property --tw-saturate { syntax: "*"; inherits: false; }\n@property --tw-sepia { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }\n@property --tw-backdrop-blur { syntax: "*"; inherits: false; }\n@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }\n@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }\n@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }\n@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }\n@property --tw-backdrop-invert { syntax: "*"; inherits: false; }\n@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }\n@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }\n@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }\n@property --tw-duration { syntax: "*"; inherits: false; }\n@property --tw-ease { syntax: "*"; inherits: false; }\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@keyframes shapeshift {\n 0% {\n clip-path: var(--circle);\n rotate: 0turn;\n }\n 25% {\n clip-path: var(--flower);\n }\n 50% {\n clip-path: var(--cylinder);\n }\n 75% {\n clip-path: var(--hexagon);\n }\n 100% {\n clip-path: var(--circle);\n rotate: 1turn;\n }\n 120% {\n clip-path: var(--flower);\n }\n 140% {\n clip-path: var(--cylinder);\n }\n 160% {\n clip-path: var(--hexagon);\n }\n 180% {\n clip-path: var(--circle);\n rotate: 1turn;\n }\n}\n@keyframes gradientMove {\n 0% {\n translate: 0 0;\n }\n 100% {\n translate: -75% -75%;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *,\n ::before,\n ::after,\n ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-scroll-snap-strictness: proximity;\n --tw-scrollbar-thumb: #0000;\n --tw-scrollbar-track: #0000;\n --tw-space-y-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n');
63
+ styleInject('/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif,\n system-ui,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji";\n --font-mono:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-orange-100: oklch(95.4% 0.038 75.164);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-orange-950: oklch(26.6% 0.079 36.259);\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-100: oklch(96.2% 0.059 95.617);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-300: oklch(87.9% 0.169 91.605);\n --color-amber-400: oklch(82.8% 0.189 84.429);\n --color-amber-500: oklch(76.9% 0.188 70.08);\n --color-amber-600: oklch(66.6% 0.179 58.318);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-800: oklch(47.3% 0.137 46.201);\n --color-amber-900: oklch(41.4% 0.112 45.904);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-100: oklch(95% 0.052 163.051);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-300: oklch(84.5% 0.143 164.978);\n --color-emerald-400: oklch(76.5% 0.177 163.223);\n --color-emerald-500: oklch(69.6% 0.17 162.48);\n --color-emerald-600: oklch(59.6% 0.145 163.225);\n --color-emerald-700: oklch(50.8% 0.118 165.612);\n --color-emerald-800: oklch(43.2% 0.095 166.913);\n --color-emerald-900: oklch(37.8% 0.077 168.94);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n --color-cyan-50: oklch(98.4% 0.019 200.873);\n --color-cyan-100: oklch(95.6% 0.045 203.388);\n --color-cyan-200: oklch(91.7% 0.08 205.041);\n --color-cyan-300: oklch(86.5% 0.127 207.078);\n --color-cyan-400: oklch(78.9% 0.154 211.53);\n --color-cyan-700: oklch(52% 0.105 223.128);\n --color-cyan-800: oklch(45% 0.085 224.283);\n --color-cyan-900: oklch(39.8% 0.07 227.392);\n --color-cyan-950: oklch(30.2% 0.056 229.695);\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-100: oklch(93.2% 0.032 255.585);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n --color-indigo-50: oklch(96.2% 0.018 272.314);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-400: oklch(67.3% 0.182 276.935);\n --color-indigo-500: oklch(58.5% 0.233 277.117);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-indigo-800: oklch(39.8% 0.195 277.366);\n --color-indigo-900: oklch(35.9% 0.144 278.697);\n --color-indigo-950: oklch(25.7% 0.09 281.288);\n --color-violet-100: oklch(94.3% 0.029 294.588);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-800: oklch(43.2% 0.232 292.759);\n --color-violet-900: oklch(38% 0.189 293.745);\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-100: oklch(94.6% 0.033 307.174);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-300: oklch(82.7% 0.119 306.383);\n --color-purple-400: oklch(71.4% 0.203 305.504);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-purple-800: oklch(43.8% 0.218 303.724);\n --color-purple-900: oklch(38.1% 0.176 304.987);\n --color-purple-950: oklch(29.1% 0.149 302.717);\n --color-pink-50: oklch(97.1% 0.014 343.198);\n --color-pink-100: oklch(94.8% 0.028 342.258);\n --color-pink-200: oklch(89.9% 0.061 343.231);\n --color-pink-300: oklch(82.3% 0.12 346.018);\n --color-pink-400: oklch(71.8% 0.202 349.761);\n --color-pink-700: oklch(52.5% 0.223 3.958);\n --color-pink-800: oklch(45.9% 0.187 3.815);\n --color-pink-900: oklch(40.8% 0.153 2.432);\n --color-pink-950: oklch(28.4% 0.109 3.907);\n --color-rose-50: oklch(96.9% 0.015 12.422);\n --color-rose-100: oklch(94.1% 0.03 12.58);\n --color-rose-200: oklch(89.2% 0.058 10.001);\n --color-rose-400: oklch(71.2% 0.194 13.428);\n --color-rose-500: oklch(64.5% 0.246 16.439);\n --color-rose-600: oklch(58.6% 0.253 17.585);\n --color-rose-800: oklch(45.5% 0.188 13.697);\n --color-rose-900: oklch(41% 0.159 10.272);\n --color-rose-950: oklch(27.1% 0.105 12.094);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-2xl: 42rem;\n --container-4xl: 56rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --tracking-tight: -0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n --leading-tight: 1.25;\n --leading-relaxed: 1.625;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --animate-bounce: bounce 1s infinite;\n --blur-sm: 8px;\n --blur-md: 12px;\n --blur-xl: 24px;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit,\n ::-webkit-datetime-edit-year-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type=button], [type=reset], [type=submit]),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=until-found])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .-top-8 {\n top: calc(var(--spacing) * -8);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .top-2 {\n top: calc(var(--spacing) * 2);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .-right-4 {\n right: calc(var(--spacing) * -4);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .right-5 {\n right: calc(var(--spacing) * 5);\n }\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n .-bottom-1\\.5 {\n bottom: calc(var(--spacing) * -1.5);\n }\n .bottom-6 {\n bottom: calc(var(--spacing) * 6);\n }\n .bottom-20 {\n bottom: calc(var(--spacing) * 20);\n }\n .bottom-24 {\n bottom: calc(var(--spacing) * 24);\n }\n .-left-4 {\n left: calc(var(--spacing) * -4);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-5 {\n left: calc(var(--spacing) * 5);\n }\n .left-6 {\n left: calc(var(--spacing) * 6);\n }\n .z-0 {\n z-index: 0;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-50 {\n z-index: 50;\n }\n .z-\\[100\\] {\n z-index: 100;\n }\n .z-\\[9998\\] {\n z-index: 9998;\n }\n .z-\\[9999\\] {\n z-index: 9999;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .mx-1 {\n margin-inline: calc(var(--spacing) * 1);\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-1\\.5 {\n margin-block: calc(var(--spacing) * 1.5);\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n .my-3 {\n margin-block: calc(var(--spacing) * 3);\n }\n .my-4 {\n margin-block: calc(var(--spacing) * 4);\n }\n .my-5 {\n margin-block: calc(var(--spacing) * 5);\n }\n .my-6 {\n margin-block: calc(var(--spacing) * 6);\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0\\.5 {\n margin-top: calc(var(--spacing) * 0.5);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-1\\.5 {\n margin-top: calc(var(--spacing) * 1.5);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-0\\.5 {\n margin-bottom: calc(var(--spacing) * 0.5);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n .ml-1\\.5 {\n margin-left: calc(var(--spacing) * 1.5);\n }\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n .ml-auto {\n margin-left: auto;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .\\!table {\n display: table !important;\n }\n .\\!table-cell {\n display: table-cell !important;\n }\n .\\!table-header-group {\n display: table-header-group !important;\n }\n .\\!table-row {\n display: table-row !important;\n }\n .\\!table-row-group {\n display: table-row-group !important;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .table {\n display: table;\n }\n .aspect-\\[4\\/3\\] {\n aspect-ratio: 4/3;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .h-1 {\n height: calc(var(--spacing) * 1);\n }\n .h-1\\.5 {\n height: calc(var(--spacing) * 1.5);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-2\\.5 {\n height: calc(var(--spacing) * 2.5);\n }\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-28 {\n height: calc(var(--spacing) * 28);\n }\n .h-32 {\n height: calc(var(--spacing) * 32);\n }\n .h-40 {\n height: calc(var(--spacing) * 40);\n }\n .h-\\[400\\%\\] {\n height: 400%;\n }\n .h-\\[600px\\] {\n height: 600px;\n }\n .h-full {\n height: 100%;\n }\n .max-h-24 {\n max-height: calc(var(--spacing) * 24);\n }\n .max-h-32 {\n max-height: calc(var(--spacing) * 32);\n }\n .max-h-40 {\n max-height: calc(var(--spacing) * 40);\n }\n .max-h-56 {\n max-height: calc(var(--spacing) * 56);\n }\n .max-h-60 {\n max-height: calc(var(--spacing) * 60);\n }\n .max-h-64 {\n max-height: calc(var(--spacing) * 64);\n }\n .max-h-\\[320px\\] {\n max-height: 320px;\n }\n .max-h-\\[400px\\] {\n max-height: 400px;\n }\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .min-h-\\[300px\\] {\n min-height: 300px;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .w-1\\.5 {\n width: calc(var(--spacing) * 1.5);\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n }\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n .w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-7 {\n width: calc(var(--spacing) * 7);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-14 {\n width: calc(var(--spacing) * 14);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-28 {\n width: calc(var(--spacing) * 28);\n }\n .w-36 {\n width: calc(var(--spacing) * 36);\n }\n .w-40 {\n width: calc(var(--spacing) * 40);\n }\n .w-44 {\n width: calc(var(--spacing) * 44);\n }\n .w-\\[400\\%\\] {\n width: 400%;\n }\n .w-\\[500px\\] {\n width: 500px;\n }\n .w-\\[min\\(88\\%\\,18rem\\)\\] {\n width: min(88%, 18rem);\n }\n .w-full {\n width: 100%;\n }\n .w-px {\n width: 1px;\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-4xl {\n max-width: var(--container-4xl);\n }\n .max-w-\\[90\\%\\] {\n max-width: 90%;\n }\n .max-w-\\[92\\%\\] {\n max-width: 92%;\n }\n .max-w-\\[94\\%\\] {\n max-width: 94%;\n }\n .max-w-\\[calc\\(100vw-3rem\\)\\] {\n max-width: calc(100vw - 3rem);\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .max-w-none {\n max-width: none;\n }\n .max-w-sm {\n max-width: var(--container-sm);\n }\n .max-w-xs {\n max-width: var(--container-xs);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .min-w-\\[11rem\\] {\n min-width: 11rem;\n }\n .min-w-\\[400px\\] {\n min-width: 400px;\n }\n .flex-1 {\n flex: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-4 {\n --tw-translate-y: calc(var(--spacing) * 4);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-90 {\n --tw-scale-x: 90%;\n --tw-scale-y: 90%;\n --tw-scale-z: 90%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-95 {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-110 {\n --tw-scale-x: 110%;\n --tw-scale-y: 110%;\n --tw-scale-z: 110%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .rotate-0 {\n rotate: 0deg;\n }\n .rotate-45 {\n rotate: 45deg;\n }\n .rotate-90 {\n rotate: 90deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-\\[pulse_1\\.2s_infinite\\] {\n animation: pulse 1.2s infinite;\n }\n .animate-bounce {\n animation: var(--animate-bounce);\n }\n .animate-ping {\n animation: var(--animate-ping);\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .cursor-nw-resize {\n cursor: nw-resize;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n }\n .snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n }\n .snap-start {\n scroll-snap-align: start;\n }\n .scrollbar-thin {\n scrollbar-width: thin;\n }\n .scrollbar-thumb-slate-200 {\n --tw-scrollbar-thumb: var(--color-slate-200);\n scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);\n }\n .scrollbar-track-transparent {\n --tw-scrollbar-track: transparent;\n scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .items-end {\n align-items: flex-end;\n }\n .items-start {\n align-items: flex-start;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .space-y-0\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-1 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-1\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-8 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .divide-y {\n :where(& > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n }\n .divide-slate-100 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-slate-100);\n }\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n .rounded-\\[2px\\] {\n border-radius: 2px;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n }\n .rounded-tl-\\[2px\\] {\n border-top-left-radius: 2px;\n }\n .rounded-tl-sm {\n border-top-left-radius: var(--radius-sm);\n }\n .rounded-tr-sm {\n border-top-right-radius: var(--radius-sm);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-l-2 {\n border-left-style: var(--tw-border-style);\n border-left-width: 2px;\n }\n .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .border-amber-100 {\n border-color: var(--color-amber-100);\n }\n .border-amber-200 {\n border-color: var(--color-amber-200);\n }\n .border-amber-200\\/80 {\n border-color: color-mix(in srgb, oklch(92.4% 0.12 95.746) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-200) 80%, transparent);\n }\n }\n .border-emerald-100 {\n border-color: var(--color-emerald-100);\n }\n .border-emerald-100\\/50 {\n border-color: color-mix(in srgb, oklch(95% 0.052 163.051) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-100) 50%, transparent);\n }\n }\n .border-emerald-200 {\n border-color: var(--color-emerald-200);\n }\n .border-emerald-500 {\n border-color: var(--color-emerald-500);\n }\n .border-emerald-500\\/20 {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);\n }\n }\n .border-indigo-200 {\n border-color: var(--color-indigo-200);\n }\n .border-indigo-500 {\n border-color: var(--color-indigo-500);\n }\n .border-red-200 {\n border-color: var(--color-red-200);\n }\n .border-rose-100 {\n border-color: var(--color-rose-100);\n }\n .border-rose-200 {\n border-color: var(--color-rose-200);\n }\n .border-rose-200\\/60 {\n border-color: color-mix(in srgb, oklch(89.2% 0.058 10.001) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-200) 60%, transparent);\n }\n }\n .border-slate-100 {\n border-color: var(--color-slate-100);\n }\n .border-slate-200 {\n border-color: var(--color-slate-200);\n }\n .border-slate-200\\/50 {\n border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-200) 50%, transparent);\n }\n }\n .border-slate-200\\/60 {\n border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-200) 60%, transparent);\n }\n }\n .border-slate-200\\/80 {\n border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);\n }\n }\n .border-slate-300 {\n border-color: var(--color-slate-300);\n }\n .border-slate-800 {\n border-color: var(--color-slate-800);\n }\n .border-transparent {\n border-color: transparent;\n }\n .border-white {\n border-color: var(--color-white);\n }\n .border-white\\/5 {\n border-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n .border-white\\/8 {\n border-color: color-mix(in srgb, #fff 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 8%, transparent);\n }\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .bg-\\[\\#0d0d1a\\] {\n background-color: #0d0d1a;\n }\n .bg-\\[\\#080818\\] {\n background-color: #080818;\n }\n .bg-amber-50 {\n background-color: var(--color-amber-50);\n }\n .bg-amber-50\\/70 {\n background-color: color-mix(in srgb, oklch(98.7% 0.022 95.277) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-50) 70%, transparent);\n }\n }\n .bg-amber-100 {\n background-color: var(--color-amber-100);\n }\n .bg-amber-200 {\n background-color: var(--color-amber-200);\n }\n .bg-amber-500 {\n background-color: var(--color-amber-500);\n }\n .bg-amber-500\\/80 {\n background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-500) 80%, transparent);\n }\n }\n .bg-blue-50 {\n background-color: var(--color-blue-50);\n }\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n .bg-blue-200 {\n background-color: var(--color-blue-200);\n }\n .bg-cyan-50 {\n background-color: var(--color-cyan-50);\n }\n .bg-cyan-100 {\n background-color: var(--color-cyan-100);\n }\n .bg-cyan-200 {\n background-color: var(--color-cyan-200);\n }\n .bg-emerald-50 {\n background-color: var(--color-emerald-50);\n }\n .bg-emerald-50\\/50 {\n background-color: color-mix(in srgb, oklch(97.9% 0.021 166.113) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-50) 50%, transparent);\n }\n }\n .bg-emerald-100 {\n background-color: var(--color-emerald-100);\n }\n .bg-emerald-200 {\n background-color: var(--color-emerald-200);\n }\n .bg-emerald-500 {\n background-color: var(--color-emerald-500);\n }\n .bg-emerald-500\\/10 {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);\n }\n }\n .bg-emerald-500\\/80 {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 80%, transparent);\n }\n }\n .bg-indigo-50 {\n background-color: var(--color-indigo-50);\n }\n .bg-indigo-100 {\n background-color: var(--color-indigo-100);\n }\n .bg-indigo-500 {\n background-color: var(--color-indigo-500);\n }\n .bg-indigo-600 {\n background-color: var(--color-indigo-600);\n }\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n .bg-pink-50 {\n background-color: var(--color-pink-50);\n }\n .bg-pink-100 {\n background-color: var(--color-pink-100);\n }\n .bg-pink-200 {\n background-color: var(--color-pink-200);\n }\n .bg-purple-50 {\n background-color: var(--color-purple-50);\n }\n .bg-purple-100 {\n background-color: var(--color-purple-100);\n }\n .bg-purple-200 {\n background-color: var(--color-purple-200);\n }\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .bg-red-500 {\n background-color: var(--color-red-500);\n }\n .bg-rose-50 {\n background-color: var(--color-rose-50);\n }\n .bg-rose-50\\/50 {\n background-color: color-mix(in srgb, oklch(96.9% 0.015 12.422) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-50) 50%, transparent);\n }\n }\n .bg-rose-100 {\n background-color: var(--color-rose-100);\n }\n .bg-rose-500 {\n background-color: var(--color-rose-500);\n }\n .bg-rose-500\\/80 {\n background-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-500) 80%, transparent);\n }\n }\n .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .bg-slate-50\\/20 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 20%, transparent);\n }\n }\n .bg-slate-50\\/50 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);\n }\n }\n .bg-slate-100 {\n background-color: var(--color-slate-100);\n }\n .bg-slate-100\\/50 {\n background-color: color-mix(in srgb, oklch(96.8% 0.007 247.896) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-100) 50%, transparent);\n }\n }\n .bg-slate-200 {\n background-color: var(--color-slate-200);\n }\n .bg-slate-400 {\n background-color: var(--color-slate-400);\n }\n .bg-slate-800 {\n background-color: var(--color-slate-800);\n }\n .bg-slate-900 {\n background-color: var(--color-slate-900);\n }\n .bg-slate-900\\/50 {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent);\n }\n }\n .bg-slate-900\\/90 {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 90%, transparent);\n }\n }\n .bg-slate-950 {\n background-color: var(--color-slate-950);\n }\n .bg-slate-950\\/70 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 70%, transparent);\n }\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-violet-100 {\n background-color: var(--color-violet-100);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-white\\/60 {\n background-color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n .bg-white\\/90 {\n background-color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n .bg-white\\/95 {\n background-color: color-mix(in srgb, #fff 95%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 95%, transparent);\n }\n }\n .bg-gradient-to-br {\n --tw-gradient-position: to bottom right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .from-slate-100 {\n --tw-gradient-from: var(--color-slate-100);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-slate-200 {\n --tw-gradient-to: var(--color-slate-200);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .object-cover {\n object-fit: cover;\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .p-10 {\n padding: calc(var(--spacing) * 10);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-1\\.5 {\n padding-inline: calc(var(--spacing) * 1.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pb-6 {\n padding-bottom: calc(var(--spacing) * 6);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .align-middle {\n vertical-align: middle;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-\\[9px\\] {\n font-size: 9px;\n }\n .text-\\[10px\\] {\n font-size: 10px;\n }\n .text-\\[11px\\] {\n font-size: 11px;\n }\n .text-\\[12px\\] {\n font-size: 12px;\n }\n .text-\\[13px\\] {\n font-size: 13px;\n }\n .leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: var(--leading-relaxed);\n }\n .leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-extrabold {\n --tw-font-weight: var(--font-weight-extrabold);\n font-weight: var(--font-weight-extrabold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .tracking-wider {\n --tw-tracking: var(--tracking-wider);\n letter-spacing: var(--tracking-wider);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre {\n white-space: pre;\n }\n .whitespace-pre-line {\n white-space: pre-line;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .text-amber-300 {\n color: var(--color-amber-300);\n }\n .text-amber-400 {\n color: var(--color-amber-400);\n }\n .text-amber-500 {\n color: var(--color-amber-500);\n }\n .text-amber-600 {\n color: var(--color-amber-600);\n }\n .text-amber-700 {\n color: var(--color-amber-700);\n }\n .text-amber-800 {\n color: var(--color-amber-800);\n }\n .text-amber-900 {\n color: var(--color-amber-900);\n }\n .text-amber-950 {\n color: var(--color-amber-950);\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n .text-blue-800 {\n color: var(--color-blue-800);\n }\n .text-blue-950 {\n color: var(--color-blue-950);\n }\n .text-cyan-700 {\n color: var(--color-cyan-700);\n }\n .text-cyan-800 {\n color: var(--color-cyan-800);\n }\n .text-cyan-950 {\n color: var(--color-cyan-950);\n }\n .text-emerald-400 {\n color: var(--color-emerald-400);\n }\n .text-emerald-500 {\n color: var(--color-emerald-500);\n }\n .text-emerald-500\\/70 {\n color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-emerald-500) 70%, transparent);\n }\n }\n .text-emerald-600 {\n color: var(--color-emerald-600);\n }\n .text-emerald-700 {\n color: var(--color-emerald-700);\n }\n .text-emerald-800 {\n color: var(--color-emerald-800);\n }\n .text-emerald-900 {\n color: var(--color-emerald-900);\n }\n .text-emerald-950 {\n color: var(--color-emerald-950);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-indigo-200\\/85 {\n color: color-mix(in srgb, oklch(87% 0.065 274.039) 85%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-indigo-200) 85%, transparent);\n }\n }\n .text-indigo-400 {\n color: var(--color-indigo-400);\n }\n .text-indigo-500 {\n color: var(--color-indigo-500);\n }\n .text-indigo-600 {\n color: var(--color-indigo-600);\n }\n .text-indigo-900 {\n color: var(--color-indigo-900);\n }\n .text-indigo-950 {\n color: var(--color-indigo-950);\n }\n .text-orange-950 {\n color: var(--color-orange-950);\n }\n .text-pink-700 {\n color: var(--color-pink-700);\n }\n .text-pink-800 {\n color: var(--color-pink-800);\n }\n .text-pink-950 {\n color: var(--color-pink-950);\n }\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n .text-purple-800 {\n color: var(--color-purple-800);\n }\n .text-purple-950 {\n color: var(--color-purple-950);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-600 {\n color: var(--color-red-600);\n }\n .text-rose-400 {\n color: var(--color-rose-400);\n }\n .text-rose-500 {\n color: var(--color-rose-500);\n }\n .text-rose-600 {\n color: var(--color-rose-600);\n }\n .text-slate-100 {\n color: var(--color-slate-100);\n }\n .text-slate-200 {\n color: var(--color-slate-200);\n }\n .text-slate-300 {\n color: var(--color-slate-300);\n }\n .text-slate-400 {\n color: var(--color-slate-400);\n }\n .text-slate-500 {\n color: var(--color-slate-500);\n }\n .text-slate-600 {\n color: var(--color-slate-600);\n }\n .text-slate-700 {\n color: var(--color-slate-700);\n }\n .text-slate-800 {\n color: var(--color-slate-800);\n }\n .text-slate-900 {\n color: var(--color-slate-900);\n }\n .text-violet-900 {\n color: var(--color-violet-900);\n }\n .text-white {\n color: var(--color-white);\n }\n .text-white\\/25 {\n color: color-mix(in srgb, #fff 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 25%, transparent);\n }\n }\n .text-white\\/35 {\n color: color-mix(in srgb, #fff 35%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 35%, transparent);\n }\n }\n .lowercase {\n text-transform: lowercase;\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .placeholder-slate-400 {\n &::placeholder {\n color: var(--color-slate-400);\n }\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-20 {\n opacity: 20%;\n }\n .opacity-30 {\n opacity: 30%;\n }\n .opacity-60 {\n opacity: 60%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-sm {\n --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));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .shadow-rose-500\\/20 {\n --tw-shadow-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-rose-500) 20%, transparent) var(--tw-shadow-alpha), transparent);\n }\n }\n .ring-slate-200\\/80 {\n --tw-ring-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);\n }\n }\n .ring-offset-1 {\n --tw-ring-offset-width: 1px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n .ring-offset-transparent {\n --tw-ring-offset-color: transparent;\n }\n .drop-shadow-2xl {\n --tw-drop-shadow-size: drop-shadow(0 25px 25px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));\n --tw-drop-shadow: drop-shadow(var(--drop-shadow-2xl));\n 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,);\n }\n .grayscale {\n --tw-grayscale: grayscale(100%);\n 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,);\n }\n .filter {\n 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,);\n }\n .backdrop-blur-md {\n --tw-backdrop-blur: blur(var(--blur-md));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-sm {\n --tw-backdrop-blur: blur(var(--blur-sm));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-xl {\n --tw-backdrop-blur: blur(var(--blur-xl));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n outline-color,\n text-decoration-color,\n fill,\n stroke,\n --tw-gradient-from,\n --tw-gradient-via,\n --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property:\n transform,\n translate,\n scale,\n rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .duration-700 {\n --tw-duration: 700ms;\n transition-duration: 700ms;\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-all {\n -webkit-user-select: all;\n user-select: all;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .select-text {\n -webkit-user-select: text;\n user-select: text;\n }\n .\\[animation-delay\\:0ms\\] {\n animation-delay: 0ms;\n }\n .\\[animation-delay\\:150ms\\] {\n animation-delay: 150ms;\n }\n .\\[animation-delay\\:300ms\\] {\n animation-delay: 300ms;\n }\n .group-hover\\:scale-100 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .group-hover\\:scale-105 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .group-hover\\:animate-\\[gradientMove_3\\.5s_ease-in-out_infinite_alternate\\] {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n animation: gradientMove 3.5s ease-in-out infinite alternate;\n }\n }\n }\n .group-hover\\:animate-\\[shapeshift_5s_ease-in-out_infinite_forwards\\] {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n animation: shapeshift 5s ease-in-out infinite forwards;\n }\n }\n }\n .group-hover\\:rounded-none {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-radius: 0;\n }\n }\n }\n .group-hover\\:border-slate-500 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-color: var(--color-slate-500);\n }\n }\n }\n .group-hover\\:opacity-100 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .focus-within\\:border-slate-300 {\n &:focus-within {\n border-color: var(--color-slate-300);\n }\n }\n .hover\\:scale-105 {\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .hover\\:scale-110 {\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 110%;\n --tw-scale-y: 110%;\n --tw-scale-z: 110%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .hover\\:scale-\\[1\\.01\\] {\n &:hover {\n @media (hover: hover) {\n scale: 1.01;\n }\n }\n }\n .hover\\:scale-\\[1\\.02\\] {\n &:hover {\n @media (hover: hover) {\n scale: 1.02;\n }\n }\n }\n .hover\\:border-emerald-200 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-emerald-200);\n }\n }\n }\n .hover\\:border-rose-200 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-rose-200);\n }\n }\n }\n .hover\\:border-slate-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-300);\n }\n }\n }\n .hover\\:border-slate-300\\/60 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, oklch(86.9% 0.022 252.894) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-300) 60%, transparent);\n }\n }\n }\n }\n .hover\\:border-slate-800 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-800);\n }\n }\n }\n .hover\\:bg-emerald-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-emerald-50);\n }\n }\n }\n .hover\\:bg-rose-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-rose-50);\n }\n }\n }\n .hover\\:bg-rose-600 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-rose-600);\n }\n }\n }\n .hover\\:bg-slate-50\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);\n }\n }\n }\n }\n .hover\\:bg-slate-50\\/70 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 70%, transparent);\n }\n }\n }\n }\n .hover\\:bg-slate-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-100);\n }\n }\n }\n .hover\\:bg-slate-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-200);\n }\n }\n }\n .hover\\:bg-slate-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-800);\n }\n }\n }\n .hover\\:bg-white {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n .hover\\:bg-white\\/5 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n }\n .hover\\:text-blue-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-500);\n }\n }\n }\n .hover\\:text-emerald-400 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-emerald-400);\n }\n }\n }\n .hover\\:text-emerald-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-emerald-500);\n }\n }\n }\n .hover\\:text-indigo-300 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-300);\n }\n }\n }\n .hover\\:text-indigo-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-500);\n }\n }\n }\n .hover\\:text-rose-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-rose-500);\n }\n }\n }\n .hover\\:text-slate-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-600);\n }\n }\n }\n .hover\\:text-slate-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-900);\n }\n }\n }\n .hover\\:text-white\\/80 {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 80%, transparent);\n }\n }\n }\n }\n .hover\\:opacity-90 {\n &:hover {\n @media (hover: hover) {\n opacity: 90%;\n }\n }\n }\n .hover\\:shadow-lg {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-md {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n }\n }\n .focus\\:border-emerald-500 {\n &:focus {\n border-color: var(--color-emerald-500);\n }\n }\n .focus\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n .active\\:scale-95 {\n &:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .active\\:scale-\\[0\\.98\\] {\n &:active {\n scale: 0.98;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:text-slate-400 {\n &:disabled {\n color: var(--color-slate-400);\n }\n }\n .disabled\\:opacity-30 {\n &:disabled {\n opacity: 30%;\n }\n }\n .disabled\\:opacity-40 {\n &:disabled {\n opacity: 40%;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .disabled\\:hover\\:scale-100 {\n &:disabled {\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n }\n .disabled\\:hover\\:text-slate-400 {\n &:disabled {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-400);\n }\n }\n }\n }\n .disabled\\:hover\\:text-slate-600 {\n &:disabled {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-600);\n }\n }\n }\n }\n .disabled\\:active\\:scale-100 {\n &:disabled {\n &:active {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:p-12 {\n @media (width >= 48rem) {\n padding: calc(var(--spacing) * 12);\n }\n }\n .md\\:opacity-0 {\n @media (width >= 48rem) {\n opacity: 0%;\n }\n }\n .md\\:group-hover\\/carousel\\:opacity-100 {\n @media (width >= 48rem) {\n &:is(:where(.group\\/carousel):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n }\n .dark\\:scrollbar-thumb-white\\/10 {\n @media (prefers-color-scheme: dark) {\n --tw-scrollbar-thumb: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-scrollbar-thumb: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);\n }\n }\n .dark\\:divide-white\\/5 {\n @media (prefers-color-scheme: dark) {\n :where(& > :not(:last-child)) {\n border-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n }\n .dark\\:border-amber-400\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-400) 20%, transparent);\n }\n }\n }\n .dark\\:border-amber-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-amber-800\\/40 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(47.3% 0.137 46.201) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-800) 40%, transparent);\n }\n }\n }\n .dark\\:border-emerald-400\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-400) 20%, transparent);\n }\n }\n }\n .dark\\:border-emerald-500\\/10 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);\n }\n }\n }\n .dark\\:border-emerald-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-emerald-500\\/25 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 25%, transparent);\n }\n }\n }\n .dark\\:border-indigo-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-indigo-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-red-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-rose-400\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-400) 20%, transparent);\n }\n }\n }\n .dark\\:border-rose-500\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);\n }\n }\n }\n .dark\\:border-rose-500\\/25 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-500) 25%, transparent);\n }\n }\n }\n .dark\\:border-rose-800\\/40 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(45.5% 0.188 13.697) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-800) 40%, transparent);\n }\n }\n }\n .dark\\:border-rose-900\\/60 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(41% 0.159 10.272) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-900) 60%, transparent);\n }\n }\n }\n .dark\\:border-slate-700 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-slate-700);\n }\n }\n .dark\\:border-slate-800 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-slate-800);\n }\n }\n .dark\\:border-white\\/5 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n .dark\\:border-white\\/8 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 8%, transparent);\n }\n }\n }\n .dark\\:border-white\\/10 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n .dark\\:border-white\\/20 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n .dark\\:bg-\\[\\#0f0f1a\\] {\n @media (prefers-color-scheme: dark) {\n background-color: #0f0f1a;\n }\n }\n .dark\\:bg-\\[\\#0f0f1a\\]\\/90 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in oklab, #0f0f1a 90%, transparent);\n }\n }\n .dark\\:bg-\\[\\#0f0f1a\\]\\/95 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in oklab, #0f0f1a 95%, transparent);\n }\n }\n .dark\\:bg-\\[\\#080811\\] {\n @media (prefers-color-scheme: dark) {\n background-color: #080811;\n }\n }\n .dark\\:bg-amber-400\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-400) 10%, transparent);\n }\n }\n }\n .dark\\:bg-amber-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-amber-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(55.5% 0.163 48.998) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-amber-800\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(47.3% 0.137 46.201) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-800) 30%, transparent);\n }\n }\n }\n .dark\\:bg-amber-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-amber-900\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-900) 40%, transparent);\n }\n }\n }\n .dark\\:bg-amber-950\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-950) 20%, transparent);\n }\n }\n }\n .dark\\:bg-amber-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-black\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n }\n }\n .dark\\:bg-black\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #000 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 60%, transparent);\n }\n }\n }\n .dark\\:bg-blue-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(48.8% 0.243 264.376) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-blue-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(37.9% 0.146 265.522) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-blue-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-cyan-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(52% 0.105 223.128) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-cyan-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-cyan-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(39.8% 0.07 227.392) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-cyan-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-cyan-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(30.2% 0.056 229.695) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-cyan-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-400 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-emerald-400);\n }\n }\n .dark\\:bg-emerald-400\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-400) 10%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-500\\/5 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 5%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(50.8% 0.118 165.612) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-800\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(43.2% 0.095 166.913) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-800) 40%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(37.8% 0.077 168.94) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-indigo-400 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-indigo-400);\n }\n }\n .dark\\:bg-indigo-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-indigo-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(45.7% 0.24 277.023) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-indigo-800\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(39.8% 0.195 277.366) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-800) 30%, transparent);\n }\n }\n }\n .dark\\:bg-indigo-900\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(35.9% 0.144 278.697) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-900) 30%, transparent);\n }\n }\n }\n .dark\\:bg-orange-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(55.3% 0.195 38.402) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-orange-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-pink-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(52.5% 0.223 3.958) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-pink-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-pink-800\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(45.9% 0.187 3.815) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-pink-800) 30%, transparent);\n }\n }\n }\n .dark\\:bg-pink-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(40.8% 0.153 2.432) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-pink-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-pink-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(28.4% 0.109 3.907) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-pink-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-purple-700\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(49.6% 0.265 301.924) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-700) 40%, transparent);\n }\n }\n }\n .dark\\:bg-purple-800\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(43.8% 0.218 303.724) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-800) 40%, transparent);\n }\n }\n }\n .dark\\:bg-purple-900\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(38.1% 0.176 304.987) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-900) 20%, transparent);\n }\n }\n }\n .dark\\:bg-purple-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(29.1% 0.149 302.717) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-red-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-rose-400\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-400) 10%, transparent);\n }\n }\n }\n .dark\\:bg-rose-500\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);\n }\n }\n }\n .dark\\:bg-rose-900\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(41% 0.159 10.272) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-900) 40%, transparent);\n }\n }\n }\n .dark\\:bg-rose-950\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.1% 0.105 12.094) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-950) 20%, transparent);\n }\n }\n }\n .dark\\:bg-slate-700 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-slate-700);\n }\n }\n .dark\\:bg-slate-800 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-slate-800);\n }\n }\n .dark\\:bg-slate-900 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-slate-900);\n }\n }\n .dark\\:bg-slate-900\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent);\n }\n }\n }\n .dark\\:bg-slate-900\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);\n }\n }\n }\n .dark\\:bg-slate-900\\/80 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 80%, transparent);\n }\n }\n }\n .dark\\:bg-slate-950 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-slate-950);\n }\n }\n .dark\\:bg-transparent {\n @media (prefers-color-scheme: dark) {\n background-color: transparent;\n }\n }\n .dark\\:bg-violet-800\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(43.2% 0.232 292.759) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-violet-800) 30%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/3 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 3%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 3%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/5 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/8 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 8%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/10 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n .dark\\:bg-white\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n .dark\\:from-white\\/10 {\n @media (prefers-color-scheme: dark) {\n --tw-gradient-from: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-from: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n }\n .dark\\:to-white\\/5 {\n @media (prefers-color-scheme: dark) {\n --tw-gradient-to: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n }\n .dark\\:text-amber-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-100);\n }\n }\n .dark\\:text-amber-200 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-200);\n }\n }\n .dark\\:text-amber-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-300);\n }\n }\n .dark\\:text-amber-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-400);\n }\n }\n .dark\\:text-blue-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-blue-100);\n }\n }\n .dark\\:text-blue-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-blue-300);\n }\n }\n .dark\\:text-blue-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-blue-400);\n }\n }\n .dark\\:text-cyan-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-cyan-100);\n }\n }\n .dark\\:text-cyan-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-cyan-300);\n }\n }\n .dark\\:text-cyan-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-cyan-400);\n }\n }\n .dark\\:text-emerald-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-emerald-100);\n }\n }\n .dark\\:text-emerald-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-emerald-300);\n }\n }\n .dark\\:text-emerald-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-emerald-400);\n }\n }\n .dark\\:text-emerald-500\\/50 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);\n }\n }\n }\n .dark\\:text-indigo-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-indigo-100);\n }\n }\n .dark\\:text-indigo-200 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-indigo-200);\n }\n }\n .dark\\:text-indigo-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-indigo-400);\n }\n }\n .dark\\:text-indigo-400\\/70 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(67.3% 0.182 276.935) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-indigo-400) 70%, transparent);\n }\n }\n }\n .dark\\:text-orange-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-orange-100);\n }\n }\n .dark\\:text-pink-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-pink-100);\n }\n }\n .dark\\:text-pink-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-pink-300);\n }\n }\n .dark\\:text-pink-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-pink-400);\n }\n }\n .dark\\:text-purple-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-purple-100);\n }\n }\n .dark\\:text-purple-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-purple-300);\n }\n }\n .dark\\:text-purple-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-purple-400);\n }\n }\n .dark\\:text-red-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-red-400);\n }\n }\n .dark\\:text-rose-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-rose-400);\n }\n }\n .dark\\:text-slate-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-100);\n }\n }\n .dark\\:text-slate-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-300);\n }\n }\n .dark\\:text-slate-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-400);\n }\n }\n .dark\\:text-violet-200 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-violet-200);\n }\n }\n .dark\\:text-white {\n @media (prefers-color-scheme: dark) {\n color: var(--color-white);\n }\n }\n .dark\\:text-white\\/20 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n .dark\\:text-white\\/30 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n }\n .dark\\:text-white\\/40 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 40%, transparent);\n }\n }\n }\n .dark\\:text-white\\/50 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n }\n .dark\\:text-white\\/60 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n .dark\\:text-white\\/70 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n }\n .dark\\:text-white\\/75 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 75%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 75%, transparent);\n }\n }\n }\n .dark\\:text-white\\/80 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 80%, transparent);\n }\n }\n }\n .dark\\:text-white\\/90 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n }\n .dark\\:placeholder-white\\/30 {\n @media (prefers-color-scheme: dark) {\n &::placeholder {\n color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n }\n }\n .dark\\:ring-white\\/10 {\n @media (prefers-color-scheme: dark) {\n --tw-ring-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n .dark\\:group-hover\\:border-white\\/50 {\n @media (prefers-color-scheme: dark) {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #fff 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:focus-within\\:border-white\\/20 {\n @media (prefers-color-scheme: dark) {\n &:focus-within {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n }\n .dark\\:hover\\:border-emerald-500\\/20 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:border-rose-500\\/20 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:border-white\\/15 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #fff 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 15%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:border-white\\/20 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-emerald-500\\/10 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-rose-500\\/10 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-white\\/5 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-white\\/10 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-white\\/20 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-blue-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-emerald-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-emerald-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-indigo-300 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-300);\n }\n }\n }\n }\n .dark\\:hover\\:text-indigo-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-rose-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-rose-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-white {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-white);\n }\n }\n }\n }\n .dark\\:hover\\:text-white\\/60 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-white\\/70 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-white\\/80 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 80%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-white\\/90 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n }\n }\n }\n .dark\\:disabled\\:text-white\\/30 {\n @media (prefers-color-scheme: dark) {\n &:disabled {\n color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n }\n }\n .dark\\:disabled\\:hover\\:text-white\\/40 {\n @media (prefers-color-scheme: dark) {\n &:disabled {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 40%, transparent);\n }\n }\n }\n }\n }\n }\n .dark\\:disabled\\:hover\\:text-white\\/60 {\n @media (prefers-color-scheme: dark) {\n &:disabled {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n }\n }\n }\n}\n@layer base {\n :root {\n --star: shape(evenodd from 50% 24.787%, curve by 7.143% 18.016% with 0% 0% / 2.9725% 13.814%, curve by 17.882% 7.197% with 4.171% 4.2025% / 17.882% 7.197%, curve by -17.882% 8.6765% with 0% 0% / -13.711% 4.474%, curve by -7.143% 16.5365% with -4.1705% 4.202% / -7.143% 16.5365%, curve by -8.6115% -16.5365% with 0% 0% / -4.441% -12.3345%, curve by -16.4135% -8.6765% with -4.171% -4.2025% / -16.4135% -8.6765%, curve by 16.4135% -7.197% with 0% 0% / 12.2425% -2.9945%, curve by 8.6115% -18.016% with 4.1705% -4.202% / 8.6115% -18.016%, close);\n --flower: shape(evenodd from 17.9665% 82.0335%, curve by -12.349% -32.0335% with -13.239% -5.129% / -18.021% -15.402%, curve by -0.0275% -22.203% with -3.1825% -9.331% / -3.074% -16.6605%, curve by 12.3765% -9.8305% with 2.3835% -4.3365% / 6.565% -7.579%, curve by 32.0335% -12.349% with 5.129% -13.239% / 15.402% -18.021%, curve by 20.4535% -0.8665% with 8.3805% -2.858% / 15.1465% -3.062%, curve by 11.58% 13.2155% with 5.225% 2.161% / 9.0355% 6.6475%, curve by 12.349% 32.0335% with 13.239% 5.129% / 18.021% 15.402%, curve by 0.5715% 21.1275% with 2.9805% 8.7395% / 3.0745% 15.723%, curve by -12.9205% 10.906% with -2.26% 4.88% / -6.638% 8.472%, curve by -32.0335% 12.349% with -5.129% 13.239% / -15.402% 18.021%, curve by -21.1215% 0.5745% with -8.736% 2.9795% / -15.718% 3.0745%, curve by -10.912% -12.9235% with -4.883% -2.2595% / -8.477% -6.6385%, close);\n --hexagon: shape(evenodd from 6.47% 67.001%, curve by 0% -34.002% with -1.1735% -7.7% / -1.1735% -26.302%, curve by 7.0415% -12.1965% with 0.7075% -4.641% / 3.3765% -9.2635%, curve by 29.447% -17.001% with 6.0815% -4.8665% / 22.192% -14.1675%, curve by 14.083% 0% with 4.3725% -1.708% / 9.7105% -1.708%, curve by 29.447% 17.001% with 7.255% 2.8335% / 23.3655% 12.1345%, curve by 7.0415% 12.1965% with 3.665% 2.933% / 6.334% 7.5555%, curve by 0% 34.002% with 1.1735% 7.7% / 1.1735% 26.302%, curve by -7.0415% 12.1965% with -0.7075% 4.641% / -3.3765% 9.2635%, curve by -29.447% 17.001% with -6.0815% 4.8665% / -22.192% 14.1675%, curve by -14.083% 0% with -4.3725% 1.708% / -9.7105% 1.708%, curve by -29.447% -17.001% with -7.255% -2.8335% / -23.3655% -12.1345%, curve by -7.0415% -12.1965% with -3.665% -2.933% / -6.334% -7.5555%, close);\n --cylinder: shape(evenodd from 10.5845% 59.7305%, curve by 0% -19.461% with -0.113% -1.7525% / -0.11% -18.14%, curve by 10.098% -26.213% with 0.837% -10.0375% / 3.821% -19.2625%, curve by 29.3175% -13.0215% with 7.2175% -7.992% / 17.682% -13.0215%, curve by 19.5845% 5.185% with 7.1265% 0% / 13.8135% 1.887%, curve by 9.8595% 7.9775% with 3.7065% 2.1185% / 7.035% 4.8195%, curve by 9.9715% 26.072% with 6.2015% 6.933% / 9.4345% 16.082%, curve by 0% 19.461% with 0.074% 1.384% / 0.0745% 17.7715%, curve by -13.0065% 29.1155% with -0.511% 11.5345% / -5.021% 21.933%, curve by -26.409% 10.119% with -6.991% 6.288% / -16.254% 10.119%, curve by -20.945% -5.9995% with -7.6935% 0% / -14.8755% -2.199%, curve by -8.713% -7.404% with -3.255% -2.0385% / -6.1905% -4.537%, curve by -9.7575% -25.831% with -6.074% -6.9035% / -9.1205% -15.963%, close);\n --circle: shape(evenodd from 13.482% 79.505%, curve by -7.1945% -12.47% with -1.4985% -1.8575% / -6.328% -10.225%, curve by 0.0985% -33.8965% with -4.1645% -10.7945% / -4.1685% -23.0235%, curve by 6.9955% -12.101% with 1.72% -4.3825% / 4.0845% -8.458%, curve by 30.125% -17.119% with 7.339% -9.1825% / 18.4775% -15.5135%, curve by 13.4165% 0.095% with 4.432% -0.6105% / 8.9505% -0.5855%, curve by 29.364% 16.9% with 11.6215% 1.77% / 22.102% 7.9015%, curve by 7.176% 12.4145% with 3.002% 3.7195% / 5.453% 7.968%, curve by -0.0475% 33.8925% with 4.168% 10.756% / 4.2305% 22.942%, curve by -7.1135% 12.2825% with -1.74% 4.4535% / -4.1455% 8.592%, curve by -29.404% 16.9075% with -7.202% 8.954% / -18.019% 15.137%, curve by -14.19% -0.018% with -4.6635% 0.7255% / -9.4575% 0.7205%, curve by -29.226% -16.8875% with -11.573% -1.8065% / -21.9955% -7.9235%, close);\n --heart: shape(evenodd from 51.311% 83.603%, curve by -8.333% -20.508% with -14.104% -4.287% / -16.406% -16.185%, curve by -4.271% -37.41% with -5.419% -9.658% / -6.815% -22.733%, curve by 13.589% -33.586% with 3.982% -7.448% / 8.411% -15.994%, curve by 28.187% -21.985% with 4.029% -4.29% / 4.029% -4.29%, curve by 33.835% 0.721% with 9.618% 4.647% / 22.541% 9.618%, curve by 37.596% 21.304% with 3.306% 13.266% / 7.589% 24.251%, curve by 21.985% 43.613% with -4.208% 3.982% / -15.994% 8.411%, curve by 0.721% 37.596% with -7.448% 4.029% / -15.994% 8.411%, curve by -16.185% 28.187% with -9.658% 5.419% / -22.733% 6.815%, curve by -37.41% 4.271% with -4.29% 4.029% / -4.29% 4.029%, curve by -33.586% -13.589% with -7.448% 3.982% / -15.994% 8.411%, curve by -28.187% -32.094% with -4.029% 4.029% / -4.029% 4.029%, close);\n --spiral: shape(evenodd from 13.347% 30.885%, curve by 5.502% 18.447% with 11.052% 5.562% / 19.995% 9.169%, curve by -20.309% 16.907% with -7.146% -1.332% / -9.016% -2.812%, curve by -25.848% -13.087% with -7.017% -7.46% / -9.941% -15.041%, curve by 10.154% -25.731% with 2.473% -6.063% / 7.163% -10.656%, curve by 31.473% -7.963% with 8.814% 2.403% / 13.84% 8.748%, curve by 16.526% 20.487% with -4.058% 1.502% / -9.51% 3.304%, curve by 5.502% 18.447% with 11.052% 5.562% / 19.995% 9.169%, close);\n --sun: shape(evenodd from 12.758% 22.039%, curve by 2.2585% 27.561% with 4.517% 18.961% / 2.2585% 27.561%, curve by 3.187% -11.541% with 2.2585% -8.483% / 4.7615% -12.541%, curve by 31.034% 31.034% with 31.034% 31.034% / 31.034% 31.034%, curve by 33.825% -14.163% with 8.961% -7.455% / 13.585% -11.059%, curve by 19.814% -34.731% with 4.7615% -12.541% / 2.2585% -27.561%, curve by 33.825% -14.163% with 2.2585% -8.483% / 4.517% -18.961%, curve by 19.814% -34.731% with 0% 0% / -3.187% 11.541%, curve by 33.825% -14.163% with 8.961% -7.455% / 13.585% -11.059%, curve by 31.034% 31.034% with 31.034% 31.034% / 31.034% 31.034%, curve by 19.814% -34.731% with 4.7615% -12.541% / 2.2585% -27.561%, curve by 33.825% -14.163% with 2.2585% -8.483% / 4.517% -18.961%, close);\n --star2: shape(open from 28.947% 47.744%, curve by 24.042% -2.139% with 0% 0% / -24.042% 2.139%, curve by 4.208% -25.165% with 4.208% -25.165% / 4.208% -25.165%, curve by 2.341% -18.447% with 0% 0% / 1.888% -1.438%, curve by 32.355% 1.085% with 0% 0% / 25.984% 1.085%, curve by -4.655% 25.165% with 0% 0% / -4.655% 25.165%, curve by -4.208% -25.165% with -4.208% -25.165% / -4.208% -25.165%, curve by 2.566% -4.208% with 0% 0% / 2.072% -1.639%, curve by 30.069% 1.085% with 0% 0% / 24.156% 1.085%, curve by -2.791% 25.165% with 0% 0% / -2.791% 25.165%, curve by -4.208% -25.165% with -4.208% -25.165% / -4.208% -25.165%, curve by 2.116% -4.208% with 0% 0% / 1.659% -1.557%, close);\n --tri-star: shape(open from 25% 25%, curve by 25% 25% with 0% 0% / 25% 25%, close);\n }\n}\n@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-rotate-x { syntax: "*"; inherits: false; }\n@property --tw-rotate-y { syntax: "*"; inherits: false; }\n@property --tw-rotate-z { syntax: "*"; inherits: false; }\n@property --tw-skew-x { syntax: "*"; inherits: false; }\n@property --tw-skew-y { syntax: "*"; inherits: false; }\n@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }\n@property --tw-scrollbar-thumb { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-scrollbar-track { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }\n@property --tw-gradient-position { syntax: "*"; inherits: false; }\n@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }\n@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }\n@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-leading { syntax: "*"; inherits: false; }\n@property --tw-font-weight { syntax: "*"; inherits: false; }\n@property --tw-tracking { syntax: "*"; inherits: false; }\n@property --tw-ordinal { syntax: "*"; inherits: false; }\n@property --tw-slashed-zero { syntax: "*"; inherits: false; }\n@property --tw-numeric-figure { syntax: "*"; inherits: false; }\n@property --tw-numeric-spacing { syntax: "*"; inherits: false; }\n@property --tw-numeric-fraction { syntax: "*"; inherits: false; }\n@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-ring-color { syntax: "*"; inherits: false; }\n@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-ring-color { syntax: "*"; inherits: false; }\n@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-ring-inset { syntax: "*"; inherits: false; }\n@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }\n@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }\n@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-blur { syntax: "*"; inherits: false; }\n@property --tw-brightness { syntax: "*"; inherits: false; }\n@property --tw-contrast { syntax: "*"; inherits: false; }\n@property --tw-grayscale { syntax: "*"; inherits: false; }\n@property --tw-hue-rotate { syntax: "*"; inherits: false; }\n@property --tw-invert { syntax: "*"; inherits: false; }\n@property --tw-opacity { syntax: "*"; inherits: false; }\n@property --tw-saturate { syntax: "*"; inherits: false; }\n@property --tw-sepia { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }\n@property --tw-backdrop-blur { syntax: "*"; inherits: false; }\n@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }\n@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }\n@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }\n@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }\n@property --tw-backdrop-invert { syntax: "*"; inherits: false; }\n@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }\n@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }\n@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }\n@property --tw-duration { syntax: "*"; inherits: false; }\n@property --tw-ease { syntax: "*"; inherits: false; }\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@keyframes shapeshift {\n 0% {\n clip-path: var(--circle);\n rotate: 0turn;\n }\n 25% {\n clip-path: var(--flower);\n }\n 50% {\n clip-path: var(--cylinder);\n }\n 75% {\n clip-path: var(--hexagon);\n }\n 100% {\n clip-path: var(--circle);\n rotate: 1turn;\n }\n 120% {\n clip-path: var(--flower);\n }\n 140% {\n clip-path: var(--cylinder);\n }\n 160% {\n clip-path: var(--hexagon);\n }\n 180% {\n clip-path: var(--circle);\n rotate: 1turn;\n }\n}\n@keyframes gradientMove {\n 0% {\n translate: 0 0;\n }\n 100% {\n translate: -75% -75%;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *,\n ::before,\n ::after,\n ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-scroll-snap-strictness: proximity;\n --tw-scrollbar-thumb: #0000;\n --tw-scrollbar-track: #0000;\n --tw-space-y-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n');
64
64
 
65
65
  // src/components/ChatWidget.tsx
66
- import { useState as useState7 } from "react";
67
- import { MessageSquare, X as X3, AlertTriangle as AlertTriangle2 } from "lucide-react";
66
+ import { useState as useState7, useEffect as useEffect6, useCallback as useCallback3 } from "react";
67
+ import { MessageSquare, X as X3, AlertTriangle as AlertTriangle2, Lock } from "lucide-react";
68
68
 
69
69
  // src/components/ChatWindow.tsx
70
70
  import { useState as useState6, useRef as useRef6, useEffect as useEffect5, useCallback as useCallback2 } from "react";
@@ -3049,7 +3049,7 @@ function useRagChat(projectId, options = {}) {
3049
3049
  // package.json
3050
3050
  var package_default = {
3051
3051
  name: "@retrivora-ai/rag-engine",
3052
- version: "2.3.0",
3052
+ version: "2.3.2",
3053
3053
  description: "Retrivora AI is a plug-and-play AI engine for RAG chat experiences \u2014 generic vector DB + LLM provider, embeddable or standalone.",
3054
3054
  author: "Abhinav Alkuchi",
3055
3055
  license: "UNLICENSED",
@@ -3128,6 +3128,7 @@ var package_default = {
3128
3128
  build: "npm run build:pkg",
3129
3129
  "build:pkg": "npx @tailwindcss/cli -i src/tailwind.css -o src/index.css && tsup src/index.ts src/handlers/index.ts src/server.ts --format cjs,esm --dts --clean --no-splitting --tsconfig tsconfig.build.json --external react,react-dom,next,mongodb,pg,openai,@anthropic-ai/sdk,@pinecone-database/pinecone,axios,lucide-react,mammoth,pdf-parse,xlsx,react-markdown,remark-gfm,next-themes,langchain,@langchain/core,@langchain/openai,llamaindex --inject-style && npx @tailwindcss/cli -i src/tailwind.css -o dist/index.css",
3130
3130
  lint: "eslint",
3131
+ typecheck: "tsc --noEmit -p tsconfig.build.json",
3131
3132
  clean: "rm -rf dist"
3132
3133
  },
3133
3134
  peerDependencies: {
@@ -3453,6 +3454,7 @@ var _LicenseValidator = class _LicenseValidator {
3453
3454
  constructor() {
3454
3455
  this.cache = /* @__PURE__ */ new Map();
3455
3456
  }
3457
+ /** @returns Singleton instance of the validator (shared cache across all consumers). */
3456
3458
  static getInstance() {
3457
3459
  if (!_LicenseValidator.instance) {
3458
3460
  _LicenseValidator.instance = new _LicenseValidator();
@@ -3460,7 +3462,12 @@ var _LicenseValidator = class _LicenseValidator {
3460
3462
  return _LicenseValidator.instance;
3461
3463
  }
3462
3464
  /**
3463
- * Invalidate local validation cache for a license key
3465
+ * Purge entries from the local success cache.
3466
+ *
3467
+ * @param licenseKey - Optional. If provided, only that key's cache entry is
3468
+ * removed. If omitted the entire cache is cleared.
3469
+ * Callers use this after any 401/403 to ensure the next
3470
+ * validate() call re-validates against the server.
3464
3471
  */
3465
3472
  purgeCache(licenseKey) {
3466
3473
  if (licenseKey) {
@@ -3470,7 +3477,17 @@ var _LicenseValidator = class _LicenseValidator {
3470
3477
  }
3471
3478
  }
3472
3479
  /**
3473
- * Validate license status and SDK version against Retrivora License Service
3480
+ * Primary validation entry-point for UI / hook consumers.
3481
+ *
3482
+ * Resolves the license key, consults the local success cache, performs a
3483
+ * server POST for authoritative status, and falls back to local RSA
3484
+ * signature verification if the server can't be reached.
3485
+ *
3486
+ * @throws LicenseValidationError - When no key is provided OR both the
3487
+ * server call AND the local-RSA fallback report an invalid/expired key.
3488
+ * @throws SDKVersionUnsupportedError - When server reports forceUpgrade=true.
3489
+ * @returns A `LicenseValidationResponse` that the UI can use to enable or
3490
+ * lock the chat widget.
3474
3491
  */
3475
3492
  async validate(request) {
3476
3493
  var _a;
@@ -3632,6 +3649,7 @@ function ChatWindow({
3632
3649
  const [licenseError, setLicenseError] = useState6(null);
3633
3650
  const [versionError, setVersionError] = useState6(null);
3634
3651
  const recognitionRef = useRef6(null);
3652
+ const isDisabled = !!licenseError || !!versionError;
3635
3653
  useEffect5(() => {
3636
3654
  let isMounted = true;
3637
3655
  async function validateSessionLicense() {
@@ -3855,7 +3873,8 @@ function ChatWindow({
3855
3873
  {
3856
3874
  onClick: clearHistory,
3857
3875
  title: "Clear conversation",
3858
- className: "w-7 h-7 rounded-md flex items-center justify-center text-slate-400 hover:text-rose-500 dark:text-white/40 dark:hover:text-rose-400 hover:bg-white dark:hover:bg-white/10 transition-all cursor-pointer",
3876
+ disabled: isDisabled,
3877
+ className: "w-7 h-7 rounded-md flex items-center justify-center text-slate-400 hover:text-rose-500 dark:text-white/40 dark:hover:text-rose-400 hover:bg-white dark:hover:bg-white/10 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:text-slate-400 dark:disabled:hover:text-white/40",
3859
3878
  children: /* @__PURE__ */ jsx13(Trash2, { className: "w-3.5 h-3.5" })
3860
3879
  }
3861
3880
  ),
@@ -3991,11 +4010,13 @@ function ChatWindow({
3991
4010
  {
3992
4011
  onClick: () => {
3993
4012
  var _a2;
4013
+ if (isDisabled) return;
3994
4014
  setInput(suggestion);
3995
4015
  setSuggestions([]);
3996
4016
  (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
3997
4017
  },
3998
- className: "flex items-center gap-1.5 px-3 py-1.5 rounded-xl text-[11px] font-medium bg-white dark:bg-white/5 border border-slate-200 dark:border-white/10 text-slate-600 dark:text-white/60 hover:text-slate-900 dark:hover:text-white/90 hover:border-slate-300 dark:hover:border-white/20 transition-all shadow-sm cursor-pointer group",
4018
+ disabled: isDisabled,
4019
+ className: "flex items-center gap-1.5 px-3 py-1.5 rounded-xl text-[11px] font-medium bg-white dark:bg-white/5 border border-slate-200 dark:border-white/10 text-slate-600 dark:text-white/60 hover:text-slate-900 dark:hover:text-white/90 hover:border-slate-300 dark:hover:border-white/20 transition-all shadow-sm cursor-pointer group disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:text-slate-600 dark:disabled:hover:text-white/60",
3999
4020
  children: [
4000
4021
  /* @__PURE__ */ jsx13(Sparkles2, { className: "w-3 h-3 text-amber-400" }),
4001
4022
  suggestion
@@ -4024,7 +4045,7 @@ function ChatWindow({
4024
4045
  onKeyDown: handleKeyDown,
4025
4046
  placeholder: ui.placeholder,
4026
4047
  rows: 1,
4027
- disabled: isLoading || !!licenseError || !!versionError,
4048
+ disabled: isLoading || isDisabled,
4028
4049
  className: "flex-1 bg-transparent text-slate-900 dark:text-white/90 placeholder-slate-400 dark:placeholder-white/30 text-sm resize-none outline-none py-1.5 px-2 max-h-32 leading-relaxed disabled:opacity-50",
4029
4050
  style: { scrollbarWidth: "none" }
4030
4051
  }
@@ -4034,7 +4055,7 @@ function ChatWindow({
4034
4055
  {
4035
4056
  type: "button",
4036
4057
  onClick: toggleListening,
4037
- disabled: isLoading || !!licenseError || !!versionError,
4058
+ disabled: isLoading || isDisabled,
4038
4059
  className: `flex-shrink-0 w-9 h-9 rounded-xl flex items-center justify-center transition-all hover:scale-105 active:scale-95 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100 disabled:active:scale-100 ${isListening ? "bg-rose-500 text-white animate-pulse shadow-md shadow-rose-500/20" : "text-slate-400 dark:text-white/40 hover:bg-slate-200 dark:hover:bg-white/10"}`,
4039
4060
  title: isListening ? "Stop listening" : "Start voice input",
4040
4061
  children: isListening ? /* @__PURE__ */ jsx13(MicOff, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx13(Mic, { className: "w-4 h-4" })
@@ -4044,8 +4065,10 @@ function ChatWindow({
4044
4065
  "button",
4045
4066
  {
4046
4067
  type: "button",
4047
- onClick: () => setIsUploadModalOpen(true),
4048
- disabled: isLoading || !!licenseError || !!versionError,
4068
+ onClick: () => {
4069
+ if (!isDisabled) setIsUploadModalOpen(true);
4070
+ },
4071
+ disabled: isLoading || isDisabled,
4049
4072
  className: "flex-shrink-0 w-9 h-9 rounded-xl flex items-center justify-center transition-all hover:scale-105 active:scale-95 text-slate-400 dark:text-white/40 hover:bg-slate-200 dark:hover:bg-white/10 disabled:opacity-50 disabled:cursor-not-allowed",
4050
4073
  title: "Upload Document",
4051
4074
  children: /* @__PURE__ */ jsx13(Paperclip, { className: "w-4 h-4" })
@@ -4063,7 +4086,7 @@ function ChatWindow({
4063
4086
  "button",
4064
4087
  {
4065
4088
  onClick: sendMessage,
4066
- disabled: !input.trim() || !!licenseError || !!versionError,
4089
+ disabled: !input.trim() || isDisabled,
4067
4090
  className: `flex-shrink-0 w-9 h-9 flex items-center justify-center transition-all shadow-md active:scale-95 cursor-pointer disabled:opacity-30 disabled:cursor-not-allowed disabled:active:scale-100 ${ui.borderRadius === "full" ? "rounded-full" : "rounded-xl"}`,
4068
4091
  style: { background: `linear-gradient(135deg, ${ui.primaryColor}, ${ui.accentColor})` },
4069
4092
  title: "Send message",
@@ -4106,11 +4129,6 @@ var GEMINI_STYLES = `
4106
4129
  100% { translate: -75% -75%; }
4107
4130
  }
4108
4131
 
4109
- @keyframes gradientMove {
4110
- 0% { translate: 0 0; }
4111
- 100% { translate: -75% -75%; }
4112
- }
4113
-
4114
4132
  :root {
4115
4133
  --flower: shape(evenodd from 17.9665% 82.0335%, curve by -12.349% -32.0335% with -13.239% -5.129% / -18.021% -15.402%, curve by -0.0275% -22.203% with -3.1825% -9.331% / -3.074% -16.6605%, curve by 12.3765% -9.8305% with 2.3835% -4.3365% / 6.565% -7.579%, curve by 32.0335% -12.349% with 5.129% -13.239% / 15.402% -18.021%, curve by 20.4535% -0.8665% with 8.3805% -2.858% / 15.1465% -3.062%, curve by 11.58% 13.2155% with 5.225% 2.161% / 9.0355% 6.6475%, curve by 12.349% 32.0335% with 13.239% 5.129% / 18.021% 15.402%, curve by 0.5715% 21.1275% with 2.9805% 8.7395% / 3.0745% 15.723%, curve by -12.9205% 10.906% with -2.26% 4.88% / -6.638% 8.472%, curve by -32.0335% 12.349% with -5.129% 13.239% / -15.402% 18.021%, curve by -21.1215% 0.5745% with -8.736% 2.9795% / -15.718% 3.0745%, curve by -10.912% -12.9235% with -4.883% -2.2595% / -8.477% -6.6385%, close);
4116
4134
  --hexagon: shape(evenodd from 6.47% 67.001%, curve by 0% -34.002% with -1.1735% -7.7% / -1.1735% -26.302%, curve by 7.0415% -12.1965% with 0.7075% -4.641% / 3.3765% -9.2635%, curve by 29.447% -17.001% with 6.0815% -4.8665% / 22.192% -14.1675%, curve by 14.083% 0% with 4.3725% -1.708% / 9.7105% -1.708%, curve by 29.447% 17.001% with 7.255% 2.8335% / 23.3655% 12.1345%, curve by 7.0415% 12.1965% with 3.665% 2.933% / 6.334% 7.5555%, curve by 0% 34.002% with 1.1735% 7.7% / 1.1735% 26.302%, curve by -7.0415% 12.1965% with -0.7075% 4.641% / -3.3765% 9.2635%, curve by -29.447% 17.001% with -6.0815% 4.8665% / -22.192% 14.1675%, curve by -14.083% 0% with -4.3725% 1.708% / -9.7105% 1.708%, curve by -29.447% -17.001% with -7.255% -2.8335% / -23.3655% -12.1345%, curve by -7.0415% -12.1965% with -3.665% -2.933% / -6.334% -7.5555%, close);
@@ -4128,22 +4146,56 @@ function ChatWidget({ position = "bottom-right", onAddToCart, apiUrl, retrivoraA
4128
4146
  const [prevDimensions, setPrevDimensions] = useState7(DEFAULT_DIMENSIONS);
4129
4147
  const [widgetError, setWidgetError] = useState7(null);
4130
4148
  const [isValidating, setIsValidating] = useState7(false);
4131
- if (ui.showWidget === false) return null;
4149
+ const [hasMountValidationFailed, setHasMountValidationFailed] = useState7(false);
4132
4150
  const positionClass = position === "bottom-left" ? "bottom-6 left-6" : "bottom-6 right-6";
4133
4151
  const windowPositionClass = position === "bottom-left" ? "bottom-20 left-6" : "bottom-20 right-6";
4134
- const handleOpen = async () => {
4152
+ const resolveLicenseKey = useCallback3(() => {
4135
4153
  var _a;
4154
+ const getHeader = (name) => {
4155
+ if (!headers) return void 0;
4156
+ const target = name.toLowerCase();
4157
+ for (const [k, v] of Object.entries(headers)) {
4158
+ if (k.toLowerCase() === target) return v;
4159
+ }
4160
+ return void 0;
4161
+ };
4162
+ return licenseKeyProp || getHeader("x-license-key") || ((_a = getHeader("authorization")) == null ? void 0 : _a.replace(/^Bearer\s+/i, "")) || (typeof process !== "undefined" ? process.env.NEXT_PUBLIC_RETRIVORA_LICENSE_KEY || process.env.RETRIVORA_LICENSE_KEY : "") || "";
4163
+ }, [licenseKeyProp, headers]);
4164
+ useEffect6(() => {
4165
+ let isMounted = true;
4166
+ async function validateOnMount() {
4167
+ try {
4168
+ const resolvedLicenseKey = resolveLicenseKey();
4169
+ await LicenseValidator.getInstance().validate({
4170
+ licenseKey: resolvedLicenseKey,
4171
+ projectId,
4172
+ retrivoraApiBase,
4173
+ headers
4174
+ });
4175
+ if (isMounted) {
4176
+ setHasMountValidationFailed(false);
4177
+ setWidgetError(null);
4178
+ }
4179
+ } catch (err) {
4180
+ if (isMounted) {
4181
+ setHasMountValidationFailed(true);
4182
+ setWidgetError((err == null ? void 0 : err.message) || "Access denied.");
4183
+ }
4184
+ }
4185
+ }
4186
+ validateOnMount();
4187
+ return () => {
4188
+ isMounted = false;
4189
+ };
4190
+ }, [resolveLicenseKey, projectId, retrivoraApiBase, headers]);
4191
+ const handleOpen = useCallback3(async () => {
4192
+ if (hasMountValidationFailed && widgetError) {
4193
+ setWidgetError(widgetError);
4194
+ return;
4195
+ }
4136
4196
  setIsValidating(true);
4137
4197
  try {
4138
- const getHeader = (name) => {
4139
- if (!headers) return void 0;
4140
- const target = name.toLowerCase();
4141
- for (const [k, v] of Object.entries(headers)) {
4142
- if (k.toLowerCase() === target) return v;
4143
- }
4144
- return void 0;
4145
- };
4146
- const resolvedLicenseKey = licenseKeyProp || getHeader("x-license-key") || ((_a = getHeader("authorization")) == null ? void 0 : _a.replace(/^Bearer\s+/i, "")) || (typeof process !== "undefined" ? process.env.NEXT_PUBLIC_RETRIVORA_LICENSE_KEY || process.env.RETRIVORA_LICENSE_KEY : "") || "";
4198
+ const resolvedLicenseKey = resolveLicenseKey();
4147
4199
  await LicenseValidator.getInstance().validate({
4148
4200
  licenseKey: resolvedLicenseKey,
4149
4201
  projectId,
@@ -4151,15 +4203,18 @@ function ChatWidget({ position = "bottom-right", onAddToCart, apiUrl, retrivoraA
4151
4203
  headers
4152
4204
  });
4153
4205
  setWidgetError(null);
4206
+ setHasMountValidationFailed(false);
4154
4207
  setIsOpen(true);
4155
4208
  setHasUnread(false);
4156
4209
  } catch (err) {
4210
+ setHasMountValidationFailed(true);
4157
4211
  setWidgetError((err == null ? void 0 : err.message) || "Access denied.");
4158
4212
  setIsOpen(false);
4159
4213
  } finally {
4160
4214
  setIsValidating(false);
4161
4215
  }
4162
- };
4216
+ }, [hasMountValidationFailed, widgetError, resolveLicenseKey, projectId, retrivoraApiBase, headers]);
4217
+ const isWidgetLocked = hasMountValidationFailed || isValidating;
4163
4218
  const handleResizeStart = (e) => {
4164
4219
  e.preventDefault();
4165
4220
  setIsResizing(true);
@@ -4201,6 +4256,7 @@ function ChatWidget({ position = "bottom-right", onAddToCart, apiUrl, retrivoraA
4201
4256
  }
4202
4257
  };
4203
4258
  const isResized = dimensions.width !== DEFAULT_DIMENSIONS.width || dimensions.height !== DEFAULT_DIMENSIONS.height;
4259
+ if (ui.showWidget === false) return null;
4204
4260
  return /* @__PURE__ */ jsxs13(Fragment6, { children: [
4205
4261
  /* @__PURE__ */ jsx14("style", { dangerouslySetInnerHTML: { __html: GEMINI_STYLES } }),
4206
4262
  /* @__PURE__ */ jsxs13(
@@ -4265,14 +4321,19 @@ function ChatWidget({ position = "bottom-right", onAddToCart, apiUrl, retrivoraA
4265
4321
  "button",
4266
4322
  {
4267
4323
  onClick: isOpen ? () => setIsOpen(false) : handleOpen,
4268
- className: `group fixed z-[9999] w-14 h-14 drop-shadow-2xl flex items-center justify-center transition-all duration-300 cursor-pointer hover:scale-110 active:scale-95 ${positionClass}`,
4269
- "aria-label": "Open chat",
4324
+ disabled: isWidgetLocked && !isOpen,
4325
+ "aria-label": isWidgetLocked ? "Chat unavailable - invalid or missing license key" : isOpen ? "Close chat" : "Open chat",
4326
+ "aria-disabled": isWidgetLocked && !isOpen,
4327
+ className: `group fixed z-[9999] w-14 h-14 drop-shadow-2xl flex items-center justify-center transition-all duration-300 ${positionClass} ${isWidgetLocked && !isOpen ? "grayscale opacity-60 cursor-not-allowed" : "cursor-pointer hover:scale-110 active:scale-95"}`,
4270
4328
  children: [
4271
4329
  /* @__PURE__ */ jsx14(
4272
4330
  "div",
4273
4331
  {
4274
- className: "absolute inset-0 transition-all duration-300 overflow-hidden rounded-full group-hover:rounded-none group-hover:animate-[shapeshift_5s_ease-in-out_infinite_forwards]",
4275
- children: /* @__PURE__ */ jsx14(
4332
+ className: `absolute inset-0 transition-all duration-300 overflow-hidden rounded-full ${!(isWidgetLocked && !isOpen) && "group-hover:rounded-none group-hover:animate-[shapeshift_5s_ease-in-out_infinite_forwards]"}`,
4333
+ style: {
4334
+ background: isWidgetLocked && !isOpen ? "linear-gradient(135deg, #64748b, #475569)" : void 0
4335
+ },
4336
+ children: !(isWidgetLocked && !isOpen) && /* @__PURE__ */ jsx14(
4276
4337
  "div",
4277
4338
  {
4278
4339
  className: "absolute top-0 left-0 w-[400%] h-[400%] transition-transform duration-300 group-hover:animate-[gradientMove_3.5s_ease-in-out_infinite_alternate]",
@@ -4283,7 +4344,7 @@ function ChatWidget({ position = "bottom-right", onAddToCart, apiUrl, retrivoraA
4283
4344
  )
4284
4345
  }
4285
4346
  ),
4286
- /* @__PURE__ */ jsx14(
4347
+ !(isWidgetLocked && !isOpen) && /* @__PURE__ */ jsx14(
4287
4348
  "span",
4288
4349
  {
4289
4350
  className: "absolute inset-0 rounded-full animate-ping opacity-20 pointer-events-none",
@@ -4293,11 +4354,11 @@ function ChatWidget({ position = "bottom-right", onAddToCart, apiUrl, retrivoraA
4293
4354
  /* @__PURE__ */ jsx14(
4294
4355
  "span",
4295
4356
  {
4296
- className: `relative z-10 transition-transform duration-300 ${isOpen ? "rotate-90 scale-90" : "rotate-0 scale-100"}`,
4297
- children: isOpen ? /* @__PURE__ */ jsx14(X3, { className: "w-6 h-6 text-white" }) : /* @__PURE__ */ jsx14(MessageSquare, { className: "w-6 h-6 text-white" })
4357
+ className: `relative z-10 transition-transform duration-300 ${isOpen ? "rotate-90 scale-90" : isWidgetLocked ? "scale-90" : "rotate-0 scale-100"}`,
4358
+ children: isOpen ? /* @__PURE__ */ jsx14(X3, { className: "w-6 h-6 text-white" }) : isWidgetLocked ? /* @__PURE__ */ jsx14(Lock, { className: "w-6 h-6 text-white" }) : /* @__PURE__ */ jsx14(MessageSquare, { className: "w-6 h-6 text-white" })
4298
4359
  }
4299
4360
  ),
4300
- hasUnread && !isOpen && /* @__PURE__ */ jsx14("span", { className: "absolute top-0 right-0 w-4 h-4 bg-rose-500 rounded-full border-2 border-white flex items-center justify-center text-[9px] font-bold text-white", children: "1" })
4361
+ hasUnread && !isOpen && !isWidgetLocked && /* @__PURE__ */ jsx14("span", { className: "absolute top-0 right-0 w-4 h-4 bg-rose-500 rounded-full border-2 border-white flex items-center justify-center text-[9px] font-bold text-white", children: "1" })
4301
4362
  ]
4302
4363
  }
4303
4364
  )
@@ -6295,10 +6356,363 @@ _RendererRegistry.registerStrategy(new CarouselRendererStrategy());
6295
6356
  _RendererRegistry.registerStrategy(new ChartRendererStrategy());
6296
6357
  _RendererRegistry.registerStrategy(new MixedRendererStrategy());
6297
6358
  var RendererRegistry = _RendererRegistry;
6359
+
6360
+ // src/core/CircuitBreaker.ts
6361
+ var CircuitBreaker = class {
6362
+ constructor(options = {}) {
6363
+ this.state = "closed";
6364
+ this.failureCount = 0;
6365
+ this.successCount = 0;
6366
+ this.lastFailureAt = 0;
6367
+ this.halfOpenCalls = 0;
6368
+ var _a, _b, _c;
6369
+ this.failureThreshold = (_a = options.failureThreshold) != null ? _a : 5;
6370
+ this.resetTimeoutMs = (_b = options.resetTimeoutMs) != null ? _b : 3e4;
6371
+ this.halfOpenMaxCalls = (_c = options.halfOpenMaxCalls) != null ? _c : 1;
6372
+ }
6373
+ record(success) {
6374
+ const now = Date.now();
6375
+ if (success) {
6376
+ this.successCount++;
6377
+ if (this.state === "half-open") {
6378
+ this.state = "closed";
6379
+ this.failureCount = 0;
6380
+ this.halfOpenCalls = 0;
6381
+ this.successCount = 1;
6382
+ } else if (this.state === "closed") {
6383
+ if (this.successCount >= this.failureThreshold) {
6384
+ this.failureCount = Math.max(0, this.failureCount - 1);
6385
+ this.successCount = 0;
6386
+ }
6387
+ }
6388
+ } else {
6389
+ this.failureCount++;
6390
+ this.lastFailureAt = now;
6391
+ this.successCount = 0;
6392
+ if (this.state === "half-open") {
6393
+ this.state = "open";
6394
+ this.halfOpenCalls = 0;
6395
+ } else if (this.state === "closed" && this.failureCount >= this.failureThreshold) {
6396
+ this.state = "open";
6397
+ }
6398
+ }
6399
+ }
6400
+ canExecute() {
6401
+ const now = Date.now();
6402
+ if (this.state === "closed") {
6403
+ return true;
6404
+ }
6405
+ if (this.state === "open") {
6406
+ if (now - this.lastFailureAt >= this.resetTimeoutMs) {
6407
+ this.state = "half-open";
6408
+ this.halfOpenCalls = 0;
6409
+ return true;
6410
+ }
6411
+ return false;
6412
+ }
6413
+ if (this.state === "half-open") {
6414
+ return this.halfOpenCalls < this.halfOpenMaxCalls;
6415
+ }
6416
+ return true;
6417
+ }
6418
+ async wrap(fn) {
6419
+ if (!this.canExecute()) {
6420
+ const retryAfterSec = Math.ceil(
6421
+ Math.max(0, this.resetTimeoutMs - (Date.now() - this.lastFailureAt)) / 1e3
6422
+ );
6423
+ throw new Error(
6424
+ `Circuit breaker is open. Try again in ${retryAfterSec}s. Failed ${this.failureCount}/${this.failureThreshold} consecutive calls.`
6425
+ );
6426
+ }
6427
+ if (this.state === "half-open") {
6428
+ this.halfOpenCalls++;
6429
+ }
6430
+ try {
6431
+ const result = await fn();
6432
+ this.record(true);
6433
+ return result;
6434
+ } catch (err) {
6435
+ this.record(false);
6436
+ throw err;
6437
+ }
6438
+ }
6439
+ getState() {
6440
+ return this.state;
6441
+ }
6442
+ getFailureCount() {
6443
+ return this.failureCount;
6444
+ }
6445
+ reset() {
6446
+ this.state = "closed";
6447
+ this.failureCount = 0;
6448
+ this.successCount = 0;
6449
+ this.lastFailureAt = 0;
6450
+ this.halfOpenCalls = 0;
6451
+ }
6452
+ };
6453
+
6454
+ // src/core/BatchProcessor.ts
6455
+ function isTransientError(error) {
6456
+ if (!(error instanceof Error)) return false;
6457
+ const message = error.message.toLowerCase();
6458
+ if (message.includes("econnrefused") || message.includes("econnreset") || message.includes("timeout") || message.includes("network") || message.includes("socket")) {
6459
+ return true;
6460
+ }
6461
+ if (message.includes("429") || message.includes("503") || message.includes("502") || message.includes("rate limit") || message.includes("too many requests")) {
6462
+ return true;
6463
+ }
6464
+ return false;
6465
+ }
6466
+ function calculateBackoffDelay(attempt, initialDelayMs, maxDelayMs, multiplier) {
6467
+ const exponentialDelay = Math.min(
6468
+ initialDelayMs * Math.pow(multiplier, attempt),
6469
+ maxDelayMs
6470
+ );
6471
+ const jitter = exponentialDelay * 0.1 * (Math.random() * 2 - 1);
6472
+ return Math.max(0, exponentialDelay + jitter);
6473
+ }
6474
+ function sleep(ms) {
6475
+ return new Promise((resolve) => setTimeout(resolve, ms));
6476
+ }
6477
+ var _BatchProcessor = class _BatchProcessor {
6478
+ /**
6479
+ * Execute a processor call through the circuit breaker.
6480
+ * Only transient failures count toward opening the circuit.
6481
+ */
6482
+ static async executeWithCircuitBreaker(processor) {
6483
+ if (!this.cb.canExecute()) {
6484
+ const retryAfterSec = Math.ceil(
6485
+ Math.max(0, 3e4 - (Date.now() - this.cb.lastFailureAt || 0)) / 1e3
6486
+ );
6487
+ throw new Error(
6488
+ `[BatchProcessor] Circuit breaker is open. Try again in ${retryAfterSec}s.`
6489
+ );
6490
+ }
6491
+ if (this.cb.state === "half-open") {
6492
+ this.cb.halfOpenCalls++;
6493
+ }
6494
+ try {
6495
+ const result = await processor();
6496
+ this.cb.record(true);
6497
+ return result;
6498
+ } catch (err) {
6499
+ if (isTransientError(err)) {
6500
+ this.cb.record(false);
6501
+ }
6502
+ throw err;
6503
+ }
6504
+ }
6505
+ /**
6506
+ * Processes an array of items in configurable batches with retry logic.
6507
+ *
6508
+ * @param items - Items to process
6509
+ * @param processor - Async function that processes a batch of items
6510
+ * @param options - Configuration for batch size, retries, etc.
6511
+ * @returns Object with results, errors, and statistics
6512
+ *
6513
+ * @example
6514
+ * const docs = [...];
6515
+ * const result = await BatchProcessor.processBatch(
6516
+ * docs,
6517
+ * (batch) => vectorDB.batchUpsert(batch),
6518
+ * { batchSize: 100, maxRetries: 3 }
6519
+ * );
6520
+ */
6521
+ static async processBatch(items, processor, options) {
6522
+ const {
6523
+ batchSize = 100,
6524
+ maxRetries = 3,
6525
+ initialDelayMs = 100,
6526
+ maxDelayMs = 1e4,
6527
+ backoffMultiplier = 2,
6528
+ throwOnPartialFailure = false
6529
+ } = options != null ? options : {};
6530
+ const results = [];
6531
+ const errors = [];
6532
+ const batches = [];
6533
+ for (let i = 0; i < items.length; i += batchSize) {
6534
+ batches.push(items.slice(i, i + batchSize));
6535
+ }
6536
+ if (batches.length === 0) {
6537
+ return { results: [], errors: [], totalProcessed: 0, totalFailed: 0 };
6538
+ }
6539
+ for (let batchIndex = 0; batchIndex < batches.length; batchIndex++) {
6540
+ const batch = batches[batchIndex];
6541
+ let success = false;
6542
+ let lastError;
6543
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
6544
+ try {
6545
+ const result = await _BatchProcessor.executeWithCircuitBreaker(() => processor(batch));
6546
+ results.push(result);
6547
+ success = true;
6548
+ break;
6549
+ } catch (err) {
6550
+ lastError = err instanceof Error ? err : new Error(String(err));
6551
+ if (!isTransientError(err) || attempt === maxRetries) {
6552
+ break;
6553
+ }
6554
+ const delay = calculateBackoffDelay(
6555
+ attempt,
6556
+ initialDelayMs,
6557
+ maxDelayMs,
6558
+ backoffMultiplier
6559
+ );
6560
+ await sleep(delay);
6561
+ }
6562
+ }
6563
+ if (!success && lastError) {
6564
+ errors.push({
6565
+ index: batchIndex,
6566
+ error: lastError,
6567
+ itemCount: batch.length
6568
+ });
6569
+ }
6570
+ }
6571
+ const totalProcessed = items.length - (errors.length > 0 ? errors.reduce((sum, e) => sum + (e.itemCount || 0), 0) : 0);
6572
+ const totalFailed = errors.reduce((sum, e) => sum + (e.itemCount || 0), 0);
6573
+ if (throwOnPartialFailure && errors.length > 0) {
6574
+ const errorMessages = errors.map((e) => `Batch ${e.index} (${e.itemCount} items): ${e.error.message}`).join("\n");
6575
+ throw new Error(
6576
+ `[BatchProcessor] Batch processing failed:
6577
+ ${errorMessages}`
6578
+ );
6579
+ }
6580
+ return { results, errors, totalProcessed, totalFailed };
6581
+ }
6582
+ /**
6583
+ * Processes items sequentially (one at a time) with retry logic.
6584
+ * Useful for operations that don't support batching or when granular
6585
+ * error tracking is needed.
6586
+ */
6587
+ static async processSequential(items, processor, options) {
6588
+ const {
6589
+ maxRetries = 3,
6590
+ initialDelayMs = 100,
6591
+ maxDelayMs = 1e4,
6592
+ backoffMultiplier = 2,
6593
+ throwOnPartialFailure = false
6594
+ } = options != null ? options : {};
6595
+ const results = [];
6596
+ const errors = [];
6597
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
6598
+ const item = items[itemIndex];
6599
+ let success = false;
6600
+ let lastError;
6601
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
6602
+ try {
6603
+ const result = await _BatchProcessor.executeWithCircuitBreaker(() => processor(item));
6604
+ results.push(result);
6605
+ success = true;
6606
+ break;
6607
+ } catch (err) {
6608
+ lastError = err instanceof Error ? err : new Error(String(err));
6609
+ if (!isTransientError(err) || attempt === maxRetries) {
6610
+ break;
6611
+ }
6612
+ const delay = calculateBackoffDelay(
6613
+ attempt,
6614
+ initialDelayMs,
6615
+ maxDelayMs,
6616
+ backoffMultiplier
6617
+ );
6618
+ await sleep(delay);
6619
+ }
6620
+ }
6621
+ if (!success && lastError) {
6622
+ errors.push({ index: itemIndex, error: lastError, itemCount: 1 });
6623
+ }
6624
+ }
6625
+ const totalProcessed = items.length - errors.length;
6626
+ const totalFailed = errors.length;
6627
+ if (throwOnPartialFailure && errors.length > 0) {
6628
+ const errorMessages = errors.map((e) => `Item ${e.index}: ${e.error.message}`).join("\n");
6629
+ throw new Error(
6630
+ `[BatchProcessor] Sequential processing failed:
6631
+ ${errorMessages}`
6632
+ );
6633
+ }
6634
+ return { results, errors, totalProcessed, totalFailed };
6635
+ }
6636
+ /**
6637
+ * Maps over items with retry logic, returning results in order.
6638
+ * Like Array.map() but with async processing and automatic retries.
6639
+ */
6640
+ static async mapWithRetry(items, mapper, options) {
6641
+ const result = await this.processSequential(items, mapper, options);
6642
+ if (result.errors.length > 0) {
6643
+ console.warn(
6644
+ `[BatchProcessor] mapWithRetry: ${result.errors.length} items failed`
6645
+ );
6646
+ }
6647
+ const orderedResults = new Array(items.length);
6648
+ let resultIndex = 0;
6649
+ let errorIndex = 0;
6650
+ for (let i = 0; i < items.length; i++) {
6651
+ if (errorIndex < result.errors.length && result.errors[errorIndex].index === i) {
6652
+ orderedResults[i] = void 0;
6653
+ errorIndex++;
6654
+ } else {
6655
+ orderedResults[i] = result.results[resultIndex];
6656
+ resultIndex++;
6657
+ }
6658
+ }
6659
+ return orderedResults.filter((r) => r !== void 0);
6660
+ }
6661
+ /**
6662
+ * Parallel processor with concurrency limit.
6663
+ * Processes up to `concurrency` items at the same time.
6664
+ */
6665
+ static async processConcurrent(items, processor, concurrency = 5, options) {
6666
+ const { throwOnPartialFailure = false } = options != null ? options : {};
6667
+ const results = [];
6668
+ const errors = [];
6669
+ for (let i = 0; i < items.length; i += concurrency) {
6670
+ const chunk = items.slice(i, i + concurrency).map((item, idx) => ({
6671
+ item,
6672
+ originalIndex: i + idx
6673
+ }));
6674
+ const chunkPromises = chunk.map(async ({ item, originalIndex }) => {
6675
+ try {
6676
+ const result = await _BatchProcessor.executeWithCircuitBreaker(() => processor(item));
6677
+ return { success: true, result, index: originalIndex };
6678
+ } catch (err) {
6679
+ const error = err instanceof Error ? err : new Error(String(err));
6680
+ return { success: false, error, index: originalIndex };
6681
+ }
6682
+ });
6683
+ const chunkResults = await Promise.all(chunkPromises);
6684
+ for (const { success, result, error, index } of chunkResults) {
6685
+ if (success) {
6686
+ results.push(result);
6687
+ } else {
6688
+ errors.push({ index, error, itemCount: 1 });
6689
+ }
6690
+ }
6691
+ }
6692
+ const totalProcessed = items.length - errors.length;
6693
+ const totalFailed = errors.length;
6694
+ if (throwOnPartialFailure && errors.length > 0) {
6695
+ const errorMessages = errors.map((e) => `Item ${e.index}: ${e.error.message}`).join("\n");
6696
+ throw new Error(
6697
+ `[BatchProcessor] Concurrent processing failed:
6698
+ ${errorMessages}`
6699
+ );
6700
+ }
6701
+ return { results, errors, totalProcessed, totalFailed };
6702
+ }
6703
+ };
6704
+ _BatchProcessor.cb = new CircuitBreaker({
6705
+ failureThreshold: 5,
6706
+ resetTimeoutMs: 3e4,
6707
+ halfOpenMaxCalls: 1
6708
+ });
6709
+ var BatchProcessor = _BatchProcessor;
6298
6710
  export {
6299
6711
  AuthenticationException,
6712
+ BatchProcessor,
6300
6713
  ChatWidget,
6301
6714
  ChatWindow,
6715
+ CircuitBreaker,
6302
6716
  CodeViewer,
6303
6717
  ConfigProvider,
6304
6718
  ConfigurationException,
@@ -6323,6 +6737,7 @@ export {
6323
6737
  VisualizationDecisionEngine,
6324
6738
  addSynonyms,
6325
6739
  decideVisualization,
6740
+ isTransientError,
6326
6741
  useConfig,
6327
6742
  useRagChat
6328
6743
  };