@shellui/core 0.0.17 → 0.0.19
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.
- package/package.json +2 -2
- package/src/dist/CookiePreferencesView.52b5aec8.js +1182 -0
- package/src/dist/CookiePreferencesView.52b5aec8.js.map +1 -0
- package/src/dist/DefaultLayout.045a82ff.js +1964 -0
- package/src/dist/DefaultLayout.045a82ff.js.map +1 -0
- package/src/dist/DefaultLayout.4454f259.js +4414 -0
- package/src/dist/DefaultLayout.4454f259.js.map +1 -0
- package/src/dist/FullscreenLayout.555c4987.js +1054 -0
- package/src/dist/FullscreenLayout.555c4987.js.map +1 -0
- package/src/dist/HomeView.ddfa7b68.js +771 -0
- package/src/dist/HomeView.ddfa7b68.js.map +1 -0
- package/src/dist/NotFoundView.c75be4f1.js +811 -0
- package/src/dist/NotFoundView.c75be4f1.js.map +1 -0
- package/src/dist/SettingsView.052b03a6.js +4965 -0
- package/src/dist/SettingsView.052b03a6.js.map +1 -0
- package/src/dist/ViewRoute.e6e3b142.js +1042 -0
- package/src/dist/ViewRoute.e6e3b142.js.map +1 -0
- package/src/dist/WindowsLayout.08724167.js +1762 -0
- package/src/dist/WindowsLayout.08724167.js.map +1 -0
- package/src/dist/esm.f0d741e6.js +29520 -0
- package/src/dist/esm.f0d741e6.js.map +1 -0
- package/src/dist/favicon.4367ac1e.svg +14 -0
- package/src/dist/index.parcel.36d65383.js +54089 -0
- package/src/dist/index.parcel.36d65383.js.map +1 -0
- package/src/dist/index.parcel.ca6d8a47.css +3493 -0
- package/src/dist/index.parcel.ca6d8a47.css.map +1 -0
- package/src/dist/index.parcel.html +88 -0
- package/src/index.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";AACA;EA6vFE;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7vFJ;EAEE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFF;EA2FE;;;;;;;EAMA;;;;;;;;;;;;EAWA;;;;;;EAKA;;;;EAIA;;;;;EAIA;;;;;;EAKA;;;;EAGA;;;;;;;EAMA;;;;EAGA;;;;;;;EAMA;;;;EAGA;;;;EAGA;;;;;;EAKA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;;EAIA;;;;;EAIA;;;;;;;;;;;EAUA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAAA;;;;EAMA;IACE;;;MAEE;QAAgD;;;;IAIlD;;;MAEE;QAAgD;;;;;EAKpD;;;;EAGA;;;;EAGA;;;;;EAIA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;;;EAKA;;;;EAGA;;;;EAghEA;;;;EAGA;;;;;;;;;EAqBA;;;;;;EA0BA;;;;EAIA;;;;EAIA;;;;EAKA;;;;;;;;;;;EAUA;;;;EAyBA;;;;EAGA;;;;;;EAKA;;;;EAGA;;;;;EAKA;;;;EAIA;;;;;EAKA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAKA;;;;EAGA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;;AAl6EF;;AAAA;EA4PE;;;;EAGA;;;;EAGA;;;;;;;;;;;;EAWA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;IAEE;MAAyB;;;IAGzB;MAAyB;;;IAGzB;MAAyB;;;IAGzB;MAAyB;;;IAGzB;MAAyB;;;;EAI3B;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;;;;EAMA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;;EAIA;;;;;EAIA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAMA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;IACE;;;;;;;EAMF;IACE;;;;;;;EAMF;IACE;;;;;;;EAMF;IACE;;;;;;;EAMF;IACE;;;;;;;EAMF;IACE;;;;;;;EAMF;IACE;;;;;;;EAMF;;;;;EAIA;;;;EAGA;;;;;;EAKA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;;EAGA;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;IAEE;MAAgD;;;;EAIlD;;;IAEE;MAAgD;;;;EAIlD;;;IAEE;MAAgD;;;;EAIlD;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;IAEE;MAAgD;;;;EAIlD;;;;EAGA;;;;;EAIA;;;;;EAIA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;EAGA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;EAGA;;;;EAGA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;;EAIA;;;;EAGA;;;;EAGA;;;;E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","sources":["94fc8e3dff43e591"],"sourcesContent":["/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", 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-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-950: oklch(25.8% 0.092 26.042);\n --color-orange-400: oklch(75% 0.183 55.934);\n --color-orange-600: oklch(64.6% 0.222 41.116);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\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 --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --tracking-tighter: -0.05em;\n --tracking-tight: -0.025em;\n --tracking-wider: 0.05em;\n --leading-tight: 1.25;\n --leading-relaxed: 1.625;\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --radius-xl: 0.75rem;\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --blur-sm: 8px;\n --blur-md: 12px;\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 --color-background: hsl(var(--background));\n --color-foreground: hsl(var(--foreground));\n --color-card: hsl(var(--card));\n --color-popover: hsl(var(--popover));\n --color-popover-foreground: hsl(var(--popover-foreground));\n --color-primary: hsl(var(--primary));\n --color-primary-foreground: hsl(var(--primary-foreground));\n --color-secondary: hsl(var(--secondary));\n --color-secondary-foreground: hsl(var(--secondary-foreground));\n --color-muted: hsl(var(--muted));\n --color-muted-foreground: hsl(var(--muted-foreground));\n --color-accent: hsl(var(--accent));\n --color-accent-foreground: hsl(var(--accent-foreground));\n --color-destructive: hsl(var(--destructive));\n --color-destructive-foreground: hsl(var(--destructive-foreground));\n --color-border: hsl(var(--border));\n --color-input: hsl(var(--input));\n --color-ring: hsl(var(--ring));\n --color-sidebar-background: hsl(var(--sidebar-background));\n --color-sidebar-foreground: hsl(var(--sidebar-foreground));\n --color-sidebar-primary: hsl(var(--sidebar-primary));\n --color-sidebar-accent: hsl(var(--sidebar-accent));\n --color-sidebar-accent-foreground: hsl(var(--sidebar-accent-foreground));\n --color-sidebar-border: hsl(var(--sidebar-border));\n --color-sidebar-ring: hsl(var(--sidebar-ring));\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\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, h2, h3, h4, h5, 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, strong {\n font-weight: bolder;\n }\n code, kbd, samp, 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, 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, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::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 ::-moz-placeholder {\n opacity: 1;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::-moz-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 ::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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-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, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-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 .collapse {\n visibility: collapse;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\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 .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\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 .top-\\[1px\\] {\n top: 1px;\n }\n .top-\\[50\\%\\] {\n top: 50%;\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 .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .bottom-2 {\n bottom: calc(var(--spacing) * 2);\n }\n .bottom-full {\n bottom: 100%;\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-\\[1px\\] {\n left: 1px;\n }\n .left-\\[50\\%\\] {\n left: 50%;\n }\n .z-10 {\n z-index: 10;\n }\n .z-\\[9999\\] {\n z-index: 9999;\n }\n .z-\\[10001\\] {\n z-index: 10001;\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 .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .-mx-6 {\n margin-inline: calc(var(--spacing) * -6);\n }\n .mx-auto {\n margin-inline: auto;\n }\n .mt-0 {\n margin-top: calc(var(--spacing) * 0);\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-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-24 {\n margin-top: calc(var(--spacing) * 24);\n }\n .mt-auto {\n margin-top: auto;\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mr-24 {\n margin-right: calc(var(--spacing) * 24);\n }\n .-mb-6 {\n margin-bottom: calc(var(--spacing) * -6);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\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 .mb-24 {\n margin-bottom: calc(var(--spacing) * 24);\n }\n .-ml-px {\n margin-left: -1px;\n }\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .ml-24 {\n margin-left: calc(var(--spacing) * 24);\n }\n .ml-auto {\n margin-left: auto;\n }\n .box-border {\n box-sizing: border-box;\n }\n .line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .block {\n display: block;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .size-10 {\n width: calc(var(--spacing) * 10);\n height: calc(var(--spacing) * 10);\n }\n .h-1 {\n height: calc(var(--spacing) * 1);\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-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-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-11 {\n height: calc(var(--spacing) * 11);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-\\[1px\\] {\n height: 1px;\n }\n .h-\\[80vh\\] {\n height: 80vh;\n }\n .h-auto {\n height: auto;\n }\n .h-full {\n height: 100%;\n }\n .h-screen {\n height: 100vh;\n }\n .max-h-64 {\n max-height: calc(var(--spacing) * 64);\n }\n .max-h-\\[70vh\\] {\n max-height: 70vh;\n }\n .max-h-\\[680px\\] {\n max-height: 680px;\n }\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .min-h-full {\n min-height: 100%;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .w-0 {\n width: calc(var(--spacing) * 0);\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n .w-11 {\n width: calc(var(--spacing) * 11);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-\\[100px\\] {\n width: 100px;\n }\n .w-\\[calc\\(100\\%-32px\\)\\] {\n width: calc(100% - 32px);\n }\n .w-auto {\n width: auto;\n }\n .w-full {\n width: 100%;\n }\n .max-w-4xl {\n max-width: var(--container-4xl);\n }\n .max-w-\\[100px\\] {\n max-width: 100px;\n }\n .max-w-\\[140px\\] {\n max-width: 140px;\n }\n .max-w-\\[520px\\] {\n max-width: 520px;\n }\n .max-w-\\[calc\\(100vw-2rem\\)\\] {\n max-width: calc(100vw - 2rem);\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-lg {\n max-width: var(--container-lg);\n }\n .max-w-md {\n max-width: var(--container-md);\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-full {\n min-width: 100%;\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 .-translate-x-px {\n --tw-translate-x: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-5 {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\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-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\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-spin {\n animation: var(--animate-spin);\n }\n .cursor-e-resize {\n cursor: e-resize;\n }\n .cursor-move {\n cursor: move;\n }\n .cursor-n-resize {\n cursor: n-resize;\n }\n .cursor-ne-resize {\n cursor: ne-resize;\n }\n .cursor-nw-resize {\n cursor: nw-resize;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .cursor-s-resize {\n cursor: s-resize;\n }\n .cursor-se-resize {\n cursor: se-resize;\n }\n .cursor-sw-resize {\n cursor: sw-resize;\n }\n .cursor-w-resize {\n cursor: w-resize;\n }\n .resize {\n resize: both;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .grid-rows-\\[0fr\\] {\n grid-template-rows: 0fr;\n }\n .grid-rows-\\[1fr\\] {\n grid-template-rows: 1fr;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-baseline {\n align-items: baseline;\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-items-center {\n justify-items: center;\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-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\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-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-2\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2.5) * 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-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .gap-x-2 {\n -moz-column-gap: calc(var(--spacing) * 2);\n column-gap: calc(var(--spacing) * 2);\n }\n .gap-y-1 {\n row-gap: calc(var(--spacing) * 1);\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-x-hidden {\n overflow-x: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\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-l-md {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n .rounded-r-md {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n .rounded-b-lg {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n .rounded-b-xl {\n border-bottom-right-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\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-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-l-0 {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n .border-l-2 {\n border-left-style: var(--tw-border-style);\n border-left-width: 2px;\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-border\\/50 {\n border-color: color-mix(in srgb, hsl(var(--border)) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-border) 50%, transparent);\n }\n }\n .border-border\\/60 {\n border-color: color-mix(in srgb, hsl(var(--border)) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-border) 60%, transparent);\n }\n }\n .border-current {\n border-color: currentcolor;\n }\n .border-destructive\\/50 {\n border-color: color-mix(in srgb, hsl(var(--destructive)) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n .border-input {\n border-color: var(--color-input);\n }\n .border-primary {\n border-color: var(--color-primary);\n }\n .border-primary\\/20 {\n border-color: color-mix(in srgb, hsl(var(--primary)) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 20%, transparent);\n }\n }\n .border-red-200 {\n border-color: var(--color-red-200);\n }\n .border-sidebar-border {\n border-color: var(--color-sidebar-border);\n }\n .border-sidebar-border\\/50 {\n border-color: color-mix(in srgb, hsl(var(--sidebar-border)) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-sidebar-border) 50%, transparent);\n }\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .bg-\\[hsl\\(var\\(--background\\)\\/0\\.8\\)\\] {\n background-color: hsl(var(--background)/0.8);\n }\n .bg-accent {\n background-color: var(--color-accent);\n }\n .bg-background {\n background-color: var(--color-background);\n }\n .bg-background\\/90 {\n background-color: color-mix(in srgb, hsl(var(--background)) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-background) 90%, transparent);\n }\n }\n .bg-background\\/95 {\n background-color: color-mix(in srgb, hsl(var(--background)) 95%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-background) 95%, transparent);\n }\n }\n .bg-border {\n background-color: var(--color-border);\n }\n .bg-card {\n background-color: var(--color-card);\n }\n .bg-destructive {\n background-color: var(--color-destructive);\n }\n .bg-destructive\\/10 {\n background-color: color-mix(in srgb, hsl(var(--destructive)) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-muted-foreground\\/50 {\n background-color: color-mix(in srgb, hsl(var(--muted-foreground)) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted-foreground) 50%, transparent);\n }\n }\n .bg-muted\\/30 {\n background-color: color-mix(in srgb, hsl(var(--muted)) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 30%, transparent);\n }\n }\n .bg-muted\\/50 {\n background-color: color-mix(in srgb, hsl(var(--muted)) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n .bg-muted\\/60 {\n background-color: color-mix(in srgb, hsl(var(--muted)) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);\n }\n }\n .bg-muted\\/80 {\n background-color: color-mix(in srgb, hsl(var(--muted)) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 80%, transparent);\n }\n }\n .bg-popover {\n background-color: var(--color-popover);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-primary\\/10 {\n background-color: color-mix(in srgb, hsl(var(--primary)) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-sidebar-accent {\n background-color: var(--color-sidebar-accent);\n }\n .bg-sidebar-background {\n background-color: var(--color-sidebar-background);\n }\n .bg-sidebar-primary\\/10 {\n background-color: color-mix(in srgb, hsl(var(--sidebar-primary)) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-sidebar-primary) 10%, transparent);\n }\n }\n .bg-transparent {\n background-color: transparent;\n }\n .object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n }\n .object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0);\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-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 .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-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\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-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6);\n }\n .py-12 {\n padding-block: calc(var(--spacing) * 12);\n }\n .pt-0 {\n padding-top: calc(var(--spacing) * 0);\n }\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pt-3 {\n padding-top: calc(var(--spacing) * 3);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-5 {\n padding-top: calc(var(--spacing) * 5);\n }\n .pt-6 {\n padding-top: calc(var(--spacing) * 6);\n }\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n .pr-10 {\n padding-right: calc(var(--spacing) * 10);\n }\n .pb-0 {\n padding-bottom: calc(var(--spacing) * 0);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\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-16 {\n padding-bottom: calc(var(--spacing) * 16);\n }\n .pl-1 {\n padding-left: calc(var(--spacing) * 1);\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .pl-2\\.5 {\n padding-left: calc(var(--spacing) * 2.5);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\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-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--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-\\[10px\\] {\n font-size: 10px;\n }\n .text-\\[11px\\] {\n font-size: 11px;\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\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-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\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-tighter {\n --tw-tracking: var(--tracking-tighter);\n letter-spacing: var(--tracking-tighter);\n }\n .tracking-wider {\n --tw-tracking: var(--tracking-wider);\n letter-spacing: var(--tracking-wider);\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .break-all {\n word-break: break-all;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .text-accent-foreground {\n color: var(--color-accent-foreground);\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-border {\n color: var(--color-border);\n }\n .text-destructive {\n color: var(--color-destructive);\n }\n .text-destructive-foreground {\n color: var(--color-destructive-foreground);\n }\n .text-foreground {\n color: var(--color-foreground);\n }\n .text-foreground\\/40 {\n color: color-mix(in srgb, hsl(var(--foreground)) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-foreground) 40%, transparent);\n }\n }\n .text-foreground\\/60 {\n color: color-mix(in srgb, hsl(var(--foreground)) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-foreground) 60%, transparent);\n }\n }\n .text-foreground\\/70 {\n color: color-mix(in srgb, hsl(var(--foreground)) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-foreground) 70%, transparent);\n }\n }\n .text-foreground\\/80 {\n color: color-mix(in srgb, hsl(var(--foreground)) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-foreground) 80%, transparent);\n }\n }\n .text-green-600 {\n color: var(--color-green-600);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-muted-foreground\\/30 {\n color: color-mix(in srgb, hsl(var(--muted-foreground)) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-muted-foreground) 30%, transparent);\n }\n }\n .text-muted-foreground\\/50 {\n color: color-mix(in srgb, hsl(var(--muted-foreground)) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-muted-foreground) 50%, transparent);\n }\n }\n .text-muted-foreground\\/70 {\n color: color-mix(in srgb, hsl(var(--muted-foreground)) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-muted-foreground) 70%, transparent);\n }\n }\n .text-orange-600 {\n color: var(--color-orange-600);\n }\n .text-popover-foreground {\n color: var(--color-popover-foreground);\n }\n .text-primary {\n color: var(--color-primary);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-red-600 {\n color: var(--color-red-600);\n }\n .text-red-700 {\n color: var(--color-red-700);\n }\n .text-secondary-foreground {\n color: var(--color-secondary-foreground);\n }\n .text-sidebar-accent-foreground {\n color: var(--color-sidebar-accent-foreground);\n }\n .text-sidebar-foreground {\n color: var(--color-sidebar-foreground);\n }\n .text-sidebar-foreground\\/70 {\n color: color-mix(in srgb, hsl(var(--sidebar-foreground)) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-sidebar-foreground) 70%, transparent);\n }\n }\n .text-sidebar-foreground\\/80 {\n color: color-mix(in srgb, hsl(var(--sidebar-foreground)) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-sidebar-foreground) 80%, transparent);\n }\n }\n .text-sidebar-foreground\\/90 {\n color: color-mix(in srgb, hsl(var(--sidebar-foreground)) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-sidebar-foreground) 90%, transparent);\n }\n }\n .capitalize {\n text-transform: capitalize;\n }\n .uppercase {\n text-transform: uppercase;\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 .underline-offset-2 {\n text-underline-offset: 2px;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-70 {\n opacity: 70%;\n }\n .opacity-90 {\n opacity: 90%;\n }\n .shadow {\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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-border\\)\\)\\] {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-primary {\n --tw-ring-color: var(--color-primary);\n }\n .ring-sidebar-ring {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n .ring-offset-2 {\n --tw-ring-offset-width: 2px;\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-background {\n --tw-ring-offset-color: var(--color-background);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .backdrop-blur-\\[1px\\] {\n --tw-backdrop-blur: blur(1px);\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-md {\n --tw-backdrop-blur: blur(var(--blur-md));\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 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-\\[grid-template-rows\\] {\n transition-property: grid-template-rows;\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-\\[margin\\,opa\\] {\n transition-property: margin,opa;\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-\\[width\\,height\\,padding\\] {\n transition-property: width,height,padding;\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-\\[width\\,height\\] {\n transition-property: width,height;\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-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: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --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-transform {\n transition-property: transform, translate, scale, 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-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n .group-hover\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-hover\\/sidebar-group\\:opacity-100 {\n &:is(:where(.group\\/sidebar-group):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-focus\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):focus *) {\n opacity: 100%;\n }\n }\n .group-data-\\[size\\=sm\\]\\:flex-row {\n &:is(:where(.group)[data-size=\"sm\"] *) {\n flex-direction: row;\n }\n }\n .group-data-\\[size\\=sm\\]\\:items-center {\n &:is(:where(.group)[data-size=\"sm\"] *) {\n align-items: center;\n }\n }\n .group-data-\\[size\\=sm\\]\\:gap-2 {\n &:is(:where(.group)[data-size=\"sm\"] *) {\n gap: calc(var(--spacing) * 2);\n }\n }\n .group-data-\\[size\\=sm\\]\\:text-center {\n &:is(:where(.group)[data-size=\"sm\"] *) {\n text-align: center;\n }\n }\n .group-\\[\\.toast\\]\\:bg-muted {\n &:is(:where(.group):is(.toast) *) {\n background-color: var(--color-muted);\n }\n }\n .group-\\[\\.toast\\]\\:bg-primary {\n &:is(:where(.group):is(.toast) *) {\n background-color: var(--color-primary);\n }\n }\n .group-\\[\\.toast\\]\\:text-muted-foreground {\n &:is(:where(.group):is(.toast) *) {\n color: var(--color-muted-foreground);\n }\n }\n .group-\\[\\.toast\\]\\:text-primary-foreground {\n &:is(:where(.group):is(.toast) *) {\n color: var(--color-primary-foreground);\n }\n }\n .group-\\[\\.toaster\\]\\:border-border {\n &:is(:where(.group):is(.toaster) *) {\n border-color: var(--color-border);\n }\n }\n .group-\\[\\.toaster\\]\\:bg-background {\n &:is(:where(.group):is(.toaster) *) {\n background-color: var(--color-background);\n }\n }\n .group-\\[\\.toaster\\]\\:text-foreground {\n &:is(:where(.group):is(.toaster) *) {\n color: var(--color-foreground);\n }\n }\n .group-\\[\\.toaster\\]\\:shadow-lg {\n &:is(:where(.group):is(.toaster) *) {\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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .peer-data-\\[size\\=sm\\]\\/sidebar-group-action\\:opacity-0 {\n &:is(:where(.peer\\/sidebar-group-action)[data-size=\"sm\"] ~ *) {\n opacity: 0%;\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .placeholder\\:text-muted-foreground {\n &::-moz-placeholder {\n color: var(--color-muted-foreground);\n }\n &::placeholder {\n color: var(--color-muted-foreground);\n }\n }\n .last\\:mb-0 {\n &:last-child {\n margin-bottom: calc(var(--spacing) * 0);\n }\n }\n .focus-within\\:ring-2 {\n &:focus-within {\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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-ring {\n &:focus-within {\n --tw-ring-color: var(--color-ring);\n }\n }\n .focus-within\\:outline-none {\n &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n .hover\\:bg-accent\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--accent)) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-destructive\\/20 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--destructive)) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--destructive)) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--primary)) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--secondary)) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-sidebar-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-sidebar-accent);\n }\n }\n }\n .hover\\:bg-sidebar-accent\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--sidebar-accent)) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-sidebar-accent) 50%, transparent);\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .hover\\:text-destructive {\n &:hover {\n @media (hover: hover) {\n color: var(--color-destructive);\n }\n }\n }\n .hover\\:text-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n .hover\\:text-sidebar-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-sidebar-accent-foreground);\n }\n }\n }\n .hover\\:text-sidebar-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-sidebar-foreground);\n }\n }\n }\n .hover\\:text-sidebar-foreground\\/80 {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, hsl(var(--sidebar-foreground)) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-sidebar-foreground) 80%, transparent);\n }\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .hover\\:opacity-90 {\n &:hover {\n @media (hover: hover) {\n opacity: 90%;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .hover\\:shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-ring\\)\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-ring)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .focus\\:ring-2 {\n &:focus {\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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-ring {\n &:focus {\n --tw-ring-color: var(--color-ring);\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .focus-visible\\:bg-sidebar-accent {\n &:focus-visible {\n background-color: var(--color-sidebar-accent);\n }\n }\n .focus-visible\\:text-sidebar-accent-foreground {\n &:focus-visible {\n color: var(--color-sidebar-accent-foreground);\n }\n }\n .focus-visible\\:opacity-100 {\n &:focus-visible {\n opacity: 100%;\n }\n }\n .focus-visible\\:ring-2 {\n &:focus-visible {\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: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-ring {\n &:focus-visible {\n --tw-ring-color: var(--color-ring);\n }\n }\n .focus-visible\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .active\\:bg-sidebar-accent {\n &:active {\n background-color: var(--color-sidebar-accent);\n }\n }\n .active\\:text-sidebar-accent-foreground {\n &:active {\n color: var(--color-sidebar-accent-foreground);\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .aria-disabled\\:pointer-events-none {\n &[aria-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .aria-disabled\\:opacity-50 {\n &[aria-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .data-\\[active\\=true\\]\\:bg-sidebar-accent {\n &[data-active=\"true\"] {\n background-color: var(--color-sidebar-accent);\n }\n }\n .data-\\[active\\=true\\]\\:font-medium {\n &[data-active=\"true\"] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .data-\\[active\\=true\\]\\:text-sidebar-accent-foreground {\n &[data-active=\"true\"] {\n color: var(--color-sidebar-accent-foreground);\n }\n }\n .data-\\[has-content\\=false\\]\\:gap-0 {\n &[data-has-content=\"false\"] {\n gap: calc(var(--spacing) * 0);\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--color-accent);\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--color-muted-foreground);\n }\n }\n .sm\\:inline {\n @media (width >= 40rem) {\n display: inline;\n }\n }\n .sm\\:w-auto {\n @media (width >= 40rem) {\n width: auto;\n }\n }\n .sm\\:w-full {\n @media (width >= 40rem) {\n width: 100%;\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:justify-center {\n @media (width >= 40rem) {\n justify-content: center;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .sm\\:gap-2\\.5 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 2.5);\n }\n }\n .sm\\:gap-5 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 5);\n }\n }\n .sm\\:space-x-2 {\n @media (width >= 40rem) {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n }\n .sm\\:rounded-lg {\n @media (width >= 40rem) {\n border-radius: var(--radius-lg);\n }\n }\n .sm\\:rounded-b-lg {\n @media (width >= 40rem) {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n .sm\\:p-7 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 7);\n }\n }\n .sm\\:px-7 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 7);\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .md\\:grid-cols-3 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .md\\:p-10 {\n @media (width >= 48rem) {\n padding: calc(var(--spacing) * 10);\n }\n }\n .md\\:pb-0 {\n @media (width >= 48rem) {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n .dark\\:border-red-800 {\n &:is(.dark *) {\n border-color: var(--color-red-800);\n }\n }\n .dark\\:bg-destructive\\/20 {\n &:is(.dark *) {\n background-color: color-mix(in srgb, hsl(var(--destructive)) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .dark\\:bg-red-950\\/30 {\n &:is(.dark *) {\n background-color: color-mix(in srgb, oklch(25.8% 0.092 26.042) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-red-950) 30%, transparent);\n }\n }\n }\n .dark\\:text-blue-400 {\n &:is(.dark *) {\n color: var(--color-blue-400);\n }\n }\n .dark\\:text-destructive {\n &:is(.dark *) {\n color: var(--color-destructive);\n }\n }\n .dark\\:text-green-400 {\n &:is(.dark *) {\n color: var(--color-green-400);\n }\n }\n .dark\\:text-orange-400 {\n &:is(.dark *) {\n color: var(--color-orange-400);\n }\n }\n .dark\\:text-red-300 {\n &:is(.dark *) {\n color: var(--color-red-300);\n }\n }\n .dark\\:text-red-400 {\n &:is(.dark *) {\n color: var(--color-red-400);\n }\n }\n .dark\\:opacity-100 {\n &:is(.dark *) {\n opacity: 100%;\n }\n }\n .dark\\:invert {\n &:is(.dark *) {\n --tw-invert: invert(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 }\n .\\[\\&_button\\]\\:h-8 {\n & button {\n height: calc(var(--spacing) * 8);\n }\n }\n .\\[\\&_button\\]\\:px-3 {\n & button {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&_button\\]\\:text-xs {\n & button {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .\\[\\&_span\\]\\:text-accent-foreground {\n & span {\n color: var(--color-accent-foreground);\n }\n }\n .\\[\\&_span\\]\\:text-sidebar-accent-foreground {\n & span {\n color: var(--color-sidebar-accent-foreground);\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n .\\[\\&_svg\\]\\:size-4 {\n & svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&_svg\\]\\:text-current {\n & svg {\n color: currentcolor;\n }\n }\n .\\[\\&\\:has\\(\\~\\:focus\\)\\]\\:opacity-100 {\n &:has(~:focus) {\n opacity: 100%;\n }\n }\n .\\[\\&\\:has\\(\\~\\:hover\\)\\]\\:opacity-100 {\n &:has(~:hover) {\n opacity: 100%;\n }\n }\n .group-data-\\[size\\=sm\\]\\:\\[\\&\\>\\*\\:not\\(\\:only-child\\)\\]\\:min-w-0 {\n &:is(:where(.group)[data-size=\"sm\"] *) {\n &>*:not(:only-child) {\n min-width: calc(var(--spacing) * 0);\n }\n }\n }\n .group-data-\\[size\\=sm\\]\\:\\[\\&\\>\\*\\:not\\(\\:only-child\\)\\]\\:flex-1 {\n &:is(:where(.group)[data-size=\"sm\"] *) {\n &>*:not(:only-child) {\n flex: 1;\n }\n }\n }\n .data-\\[has-content\\=false\\]\\:\\[\\&\\>\\[data-dialog-header\\]\\]\\:border-b-0 {\n &[data-has-content=\"false\"] {\n &>[data-dialog-header] {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n .data-\\[has-content\\=false\\]\\:\\[\\&\\>\\[data-dialog-header\\]\\]\\:pb-0 {\n &[data-has-content=\"false\"] {\n &>[data-dialog-header] {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n }\n .\\[\\&\\>span\\:last-child\\]\\:truncate {\n &>span:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .\\[\\&\\>svg\\]\\:size-3\\.5 {\n &>svg {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:size-4 {\n &>svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\>svg\\]\\:size-5 {\n &>svg {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&\\>svg\\]\\:shrink-0 {\n &>svg {\n flex-shrink: 0;\n }\n }\n}\n:root {\n --background: 0 0% 100%;\n --foreground: 222.2 84% 4.9%;\n --card: 0 0% 100%;\n --card-foreground: 222.2 84% 4.9%;\n --popover: 0 0% 100%;\n --popover-foreground: 222.2 84% 4.9%;\n --primary: 142 71% 45%;\n --primary-foreground: 0 0% 100%;\n --secondary: 210 40% 96.1%;\n --secondary-foreground: 222.2 47.4% 11.2%;\n --muted: 210 40% 96.1%;\n --muted-foreground: 215.4 16.3% 46.9%;\n --accent: 210 40% 96.1%;\n --accent-foreground: 222.2 47.4% 11.2%;\n --destructive: 0 84.2% 60.2%;\n --destructive-foreground: 210 40% 98%;\n --border: 214.3 31.8% 91.4%;\n --input: 214.3 31.8% 91.4%;\n --ring: 222.2 84% 4.9%;\n --radius: 0.5rem;\n --sidebar-background: 0 0% 98%;\n --sidebar-foreground: 240 5.3% 26.1%;\n --sidebar-primary: 240 5.9% 10%;\n --sidebar-primary-foreground: 0 0% 98%;\n --sidebar-accent: 240 4.8% 95.9%;\n --sidebar-accent-foreground: 240 5.9% 10%;\n --sidebar-border: 220 13% 91%;\n --sidebar-ring: 217.2 91.2% 59.8%;\n}\n.dark {\n --background: 222.2 84% 4.9%;\n --foreground: 210 40% 98%;\n --card: 222.2 84% 4.9%;\n --card-foreground: 210 40% 98%;\n --popover: 222.2 84% 4.9%;\n --popover-foreground: 210 40% 98%;\n --primary: 142 71% 55%;\n --primary-foreground: 0 0% 100%;\n --secondary: 217.2 32.6% 17.5%;\n --secondary-foreground: 210 40% 98%;\n --muted: 217.2 32.6% 17.5%;\n --muted-foreground: 215 20.2% 65.1%;\n --accent: 217.2 32.6% 17.5%;\n --accent-foreground: 210 40% 98%;\n --destructive: 0 62.8% 30.6%;\n --destructive-foreground: 210 40% 98%;\n --border: 217.2 32.6% 17.5%;\n --input: 217.2 32.6% 17.5%;\n --ring: 212.7 26.8% 83.9%;\n --sidebar-background: 240 5.9% 10%;\n --sidebar-foreground: 240 4.8% 95.9%;\n --sidebar-primary: 224.3 76.3% 94.9%;\n --sidebar-primary-foreground: 240 5.9% 10%;\n --sidebar-accent: 240 3.7% 15.9%;\n --sidebar-accent-foreground: 240 4.8% 95.9%;\n --sidebar-border: 240 3.7% 15.9%;\n --sidebar-ring: 217.2 91.2% 59.8%;\n}\n@layer base {\n * {\n border-color: hsl(var(--border));\n }\n body {\n background-color: hsl(var(--background));\n color: hsl(var(--foreground));\n font-family: var(\n --body-font-family,\n var(\n --font-family,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n 'Helvetica Neue',\n Arial,\n sans-serif\n )\n );\n letter-spacing: var(--letter-spacing, normal);\n text-shadow: var(--text-shadow, none);\n line-height: var(--line-height, 1.5);\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-family: var(\n --heading-font-family,\n var(\n --body-font-family,\n var(\n --font-family,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n 'Helvetica Neue',\n Arial,\n sans-serif\n )\n )\n );\n letter-spacing: var(--letter-spacing, normal);\n text-shadow: var(--text-shadow, none);\n }\n button,\n [role='button'] {\n letter-spacing: var(--letter-spacing, normal);\n }\n button:hover,\n [role='button']:hover {\n filter: brightness(0.95);\n }\n input,\n textarea,\n select {\n letter-spacing: var(--letter-spacing, normal);\n }\n select.select-field {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 1rem 1rem;\n padding-right: 2.5rem;\n }\n .dark select.select-field {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");\n }\n}\n:root {\n --sidebar: hsl(0 0% 98%);\n --sidebar-foreground: hsl(240 5.3% 26.1%);\n --sidebar-primary: hsl(240 5.9% 10%);\n --sidebar-primary-foreground: hsl(0 0% 98%);\n --sidebar-accent: hsl(240 4.8% 95.9%);\n --sidebar-accent-foreground: hsl(240 5.9% 10%);\n --sidebar-border: hsl(220 13% 91%);\n --sidebar-ring: hsl(217.2 91.2% 59.8%);\n}\n.dark {\n --sidebar: hsl(240 5.9% 10%);\n --sidebar-foreground: hsl(240 4.8% 95.9%);\n --sidebar-primary: hsl(224.3 76.3% 48%);\n --sidebar-primary-foreground: hsl(0 0% 100%);\n --sidebar-accent: hsl(240 3.7% 15.9%);\n --sidebar-accent-foreground: hsl(240 4.8% 95.9%);\n --sidebar-border: hsl(240 3.7% 15.9%);\n --sidebar-ring: hsl(217.2 91.2% 59.8%);\n}\n@layer base {\n * {\n outline-color: hsl(var(--ring) / 0.5);\n }\n [data-sonner-toast] {\n background-color: hsl(var(--background)) !important;\n color: hsl(var(--foreground)) !important;\n border-color: hsl(var(--border)) !important;\n }\n [data-sonner-toast] [data-description] {\n color: hsl(var(--muted-foreground)) !important;\n }\n [data-sonner-toast] [data-button],\n [data-sonner-toast] button[data-button] {\n background-color: hsl(var(--primary)) !important;\n color: hsl(var(--primary-foreground)) !important;\n }\n [data-sonner-toast] [data-button]:hover,\n [data-sonner-toast] button[data-button]:hover {\n background-color: hsl(var(--primary) / 0.9) !important;\n }\n [data-sonner-toast] [data-cancel],\n [data-sonner-toast] button[data-cancel] {\n background-color: hsl(var(--muted)) !important;\n color: hsl(var(--muted-foreground)) !important;\n }\n [data-sonner-toast] [data-cancel]:hover,\n [data-sonner-toast] button[data-cancel]:hover {\n background-color: hsl(var(--muted) / 0.8) !important;\n }\n [data-sonner-toast][data-type='success'] [data-icon],\n [data-sonner-toast][data-type='success'] [data-icon] svg {\n color: hsl(var(--foreground)) !important;\n }\n [data-sonner-toast][data-type='error'] [data-icon],\n [data-sonner-toast][data-type='error'] svg {\n color: hsl(var(--destructive)) !important;\n }\n .dark [data-sidebar='sidebar'] img[src*='/icons/']:not(.sidebar-app-icon):not(.sidebar-logo),\n .dark [data-sidebar='sidebar'] img[src*='icons/']:not(.sidebar-app-icon):not(.sidebar-logo),\n .dark [data-sidebar='sidebar'] img[src$='.svg']:not(.sidebar-app-icon):not(.sidebar-logo) {\n filter: invert(1) brightness(1.2);\n }\n .dark button[aria-label*='sidebar'] img {\n filter: invert(1);\n }\n [data-sidebar='sidebar'] img.sidebar-app-icon {\n filter: brightness(0) saturate(100%);\n opacity: 0.9;\n }\n .dark [data-sidebar='sidebar'] img.sidebar-app-icon {\n filter: brightness(0) invert(1) saturate(100%);\n opacity: 0.9;\n }\n [data-sidebar='sidebar'] img.sidebar-logo {\n filter: brightness(0) saturate(100%);\n opacity: 0.9;\n }\n .dark [data-sidebar='sidebar'] img.sidebar-logo {\n filter: brightness(0) invert(1) saturate(100%);\n opacity: 0.9;\n }\n}\n[data-dialog-content] {\n left: 50%;\n top: 50%;\n}\n@keyframes dialog-overlay-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes dialog-overlay-fade-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes dialog-content-in {\n from {\n opacity: 0;\n transform: scale(0.96);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes dialog-content-out {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.96);\n }\n}\n[data-dialog-overlay][data-state='open'] {\n animation: dialog-overlay-fade-in 0.1s ease-out;\n}\n[data-dialog-overlay][data-state='closed'] {\n animation: dialog-overlay-fade-out 0.1s ease-in;\n}\n[data-dialog-content][data-state='open'] {\n animation: dialog-content-in 0.1s ease-out 0.05s both;\n}\n[data-dialog-content][data-state='closed'] {\n animation: dialog-content-out 0.1s ease-in both;\n}\n@keyframes cookie-dialog-content-in {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes cookie-dialog-content-out {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(20px);\n }\n}\n[data-cookie-consent][data-state='open'] {\n animation: cookie-dialog-content-in 0.15s ease-out 0.05s both;\n}\n[data-cookie-consent][data-state='closed'] {\n animation: cookie-dialog-content-out 0.15s ease-in both;\n}\n@keyframes loading-bar-slide {\n from {\n width: 0%;\n }\n to {\n width: 100%;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\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 *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\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-space-y-reverse: 0;\n --tw-border-style: solid;\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-outline-style: solid;\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 --tw-space-x-reverse: 0;\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 }\n }\n}\n"],"names":[],"version":3,"file":"index.parcel.ca6d8a47.css.map","sourceRoot":"/__parcel_source_root/"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><script type="importmap">{"imports":{"3cAib":"/WindowsLayout.08724167.js","60iea":"/esm.f0d741e6.js","6JLnx":"/NotFoundView.c75be4f1.js","6x1WJ":"/CookiePreferencesView.52b5aec8.js","8y8PP":"/DefaultLayout.045a82ff.js","9g537":"/HomeView.ddfa7b68.js","cqjIa":"/ViewRoute.e6e3b142.js","gVpAG":"/DefaultLayout.4454f259.js","hu3qn":"/SettingsView.052b03a6.js","lETPL":"/FullscreenLayout.555c4987.js"}}</script><link rel="stylesheet" href="/index.parcel.ca6d8a47.css">
|
|
2
|
+
<meta charset="UTF-8">
|
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
4
|
+
<title></title>
|
|
5
|
+
<link rel="icon" href="/favicon.4367ac1e.svg" type="image/svg+xml">
|
|
6
|
+
<script>// Initialize theme immediately to prevent FOUC
|
|
7
|
+
// This sets both the dark class AND CSS variables before React loads
|
|
8
|
+
(function() {
|
|
9
|
+
try {
|
|
10
|
+
const stored = localStorage.getItem('shellui:settings');
|
|
11
|
+
let theme = 'system';
|
|
12
|
+
let themeName = 'default';
|
|
13
|
+
if (stored) {
|
|
14
|
+
const parsed = JSON.parse(stored);
|
|
15
|
+
theme = parsed.appearance?.theme || 'system';
|
|
16
|
+
themeName = parsed.appearance?.themeName || 'default';
|
|
17
|
+
}
|
|
18
|
+
// Determine if dark mode
|
|
19
|
+
let isDark = false;
|
|
20
|
+
if (theme === 'system') {
|
|
21
|
+
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
|
22
|
+
isDark = mediaQuery.matches;
|
|
23
|
+
} else isDark = theme === 'dark';
|
|
24
|
+
// Apply dark class
|
|
25
|
+
if (isDark) document.documentElement.classList.add('dark');
|
|
26
|
+
// Set default theme CSS variables immediately
|
|
27
|
+
// This ensures bg-primary works from the start
|
|
28
|
+
// These HSL values match the default theme in themes.ts
|
|
29
|
+
const root = document.documentElement;
|
|
30
|
+
if (isDark) {
|
|
31
|
+
// Dark mode default theme colors
|
|
32
|
+
root.style.setProperty('--primary', '142 71% 55%');
|
|
33
|
+
root.style.setProperty('--primary-foreground', '0 0% 100%');
|
|
34
|
+
root.style.setProperty('--background', '222.2 84% 4.9%');
|
|
35
|
+
root.style.setProperty('--foreground', '210 40% 98%');
|
|
36
|
+
} else {
|
|
37
|
+
// Light mode default theme colors
|
|
38
|
+
root.style.setProperty('--primary', '142 71% 45%');
|
|
39
|
+
root.style.setProperty('--primary-foreground', '0 0% 100%');
|
|
40
|
+
root.style.setProperty('--background', '0 0% 100%');
|
|
41
|
+
root.style.setProperty('--foreground', '222.2 84% 4.9%');
|
|
42
|
+
}
|
|
43
|
+
// Set other essential variables with defaults
|
|
44
|
+
root.style.setProperty('--card', isDark ? '222.2 84% 4.9%' : '0 0% 100%');
|
|
45
|
+
root.style.setProperty('--card-foreground', isDark ? '210 40% 98%' : '222.2 84% 4.9%');
|
|
46
|
+
root.style.setProperty('--secondary', isDark ? '217.2 32.6% 17.5%' : '210 40% 96.1%');
|
|
47
|
+
root.style.setProperty('--muted', isDark ? '217.2 32.6% 17.5%' : '210 40% 96.1%');
|
|
48
|
+
root.style.setProperty('--border', isDark ? '217.2 32.6% 17.5%' : '214.3 31.8% 91.4%');
|
|
49
|
+
root.style.setProperty('--input', isDark ? '217.2 32.6% 17.5%' : '214.3 31.8% 91.4%');
|
|
50
|
+
root.style.setProperty('--ring', isDark ? '212.7 26.8% 83.9%' : '222.2 84% 4.9%');
|
|
51
|
+
root.style.setProperty('--radius', '0.5rem');
|
|
52
|
+
} catch (e) {
|
|
53
|
+
// Ignore errors
|
|
54
|
+
console.error('[Theme Init] Error:', e);
|
|
55
|
+
}
|
|
56
|
+
})();
|
|
57
|
+
|
|
58
|
+
</script>
|
|
59
|
+
<style>* {
|
|
60
|
+
box-sizing: border-box;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
html, body {
|
|
64
|
+
height: 100%;
|
|
65
|
+
margin: 0;
|
|
66
|
+
padding: 0;
|
|
67
|
+
overflow: hidden;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
#root {
|
|
71
|
+
height: 100%;
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
74
|
+
|
|
75
|
+
<script>// ShellUI config injection (injected by Parcel build)
|
|
76
|
+
(function() {
|
|
77
|
+
window.__SHELLUI_CONFIG__ = '{"port":4000,"title":"shellui","version":"0.0.15-dev","favicon":"/favicon.svg","logo":"/logo.svg","cookieConsent":{"cookies":[{"name":"Sentry Error Reporting","host":"sentry.io","durationSeconds":31536000,"type":"third_party","category":"functional_performance","description":{"en":"Helps us fix errors and improve stability.","fr":"Nous aide \xe0 corriger les erreurs et \xe0 am\xe9liorer la stabilit\xe9."}}]},"layout":"sidebar","language":["en","fr"],"themes":[{"name":"sebastienbarbier","displayName":"sebastienbarbier.com","fontFiles":["https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&family=Source+Serif+Pro:wght@400;600;700&display=swap"],"headingFontFamily":"\\"Source Serif Pro\\", Georgia, serif","bodyFontFamily":"\\"Open Sans\\", system-ui, -apple-system, BlinkMacSystemFont, \\"Segoe UI\\", Roboto, sans-serif","lineHeight":"1.6","letterSpacing":"0.01em","colors":{"light":{"background":"#F8F5F2","foreground":"#202124","card":"#F2EDEA","cardForeground":"#202124","popover":"#F2EDEA","popoverForeground":"#202124","primary":"#1F1D1D","primaryForeground":"#E8EAED","secondary":"#A37200","secondaryForeground":"#FFF9EB","muted":"#F2EDEA","mutedForeground":"#5F5959","accent":"#DBB778","accentForeground":"#202124","destructive":"#DC2626","destructiveForeground":"#FFFFFF","border":"#D7D5D5","input":"#D7D5D5","ring":"#A37200","radius":"0.375rem","sidebarBackground":"#F2EDEA","sidebarForeground":"#202124","sidebarPrimary":"#1F1D1D","sidebarPrimaryForeground":"#E8EAED","sidebarAccent":"#F8F5F2","sidebarAccentForeground":"#202124","sidebarBorder":"#D7D5D5","sidebarRing":"#A37200"},"dark":{"background":"#1F1D1D","foreground":"#E8EAED","card":"#2A2828","cardForeground":"#E8EAED","popover":"#2A2828","popoverForeground":"#E8EAED","primary":"#DBB778","primaryForeground":"#202124","secondary":"#A37200","secondaryForeground":"#FFF9EB","muted":"#2A2828","mutedForeground":"#9C9696","accent":"#A37200","accentForeground":"#FFF9EB","destructive":"#EF4444","destructiveForeground":"#FFFFFF","border":"#3F3B3B","input":"#3F3B3B","ring":"#DBB778","radius":"0.375rem","sidebarBackground":"#1F1D1D","sidebarForeground":"#E8EAED","sidebarPrimary":"#DBB778","sidebarPrimaryForeground":"#202124","sidebarAccent":"#2A2828","sidebarAccentForeground":"#E8EAED","sidebarBorder":"#2A2828","sidebarRing":"#DBB778"}}}],"navigation":[{"label":"Playground","path":"playground","url":"/","icon":"/icons/play.svg"},{"label":{"en":"Docs","fr":"Documentation"},"path":"docs","url":"http://localhost:3000","icon":"/icons/book-open.svg"},{"label":"ShellUI","path":"shellui","url":"https://shellui.com/","icon":"/icons/user.svg","openIn":"drawer","drawerPosition":"right"},{"label":"Sebastienbarbier","path":"sebastienbarbier","url":"https://sebastienbarbier.com/","openIn":"external","position":"end","hiddenOnMobile":true},{"title":{"en":"System","fr":"Syst\xe8me"},"items":[{"label":{"en":"Page not found","fr":"Page non trouv\xe9e"},"path":"404","url":"/thisisnotfound","hidden":true},{"label":{"en":"Settings","fr":"Param\xe8tres"},"path":"settings","url":"/__settings","icon":"/icons/settings.svg"}]},{"label":{"en":"Settings","fr":"Param\xe8tres"},"path":"settings","url":"/__settings","icon":"/icons/settings.svg","openIn":"modal","position":"end","hiddenOnMobile":true}]}';
|
|
78
|
+
})();
|
|
79
|
+
|
|
80
|
+
</script>
|
|
81
|
+
|
|
82
|
+
</head>
|
|
83
|
+
<body>
|
|
84
|
+
<div id="root"></div>
|
|
85
|
+
<script type="module" src="/index.parcel.36d65383.js"></script>
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
</body></html>
|
package/src/index.ts
CHANGED
|
@@ -22,6 +22,8 @@ export type {
|
|
|
22
22
|
CookieConsentConfig,
|
|
23
23
|
} from './features/config/types.js';
|
|
24
24
|
export { useConfig } from './features/config/useConfig.js';
|
|
25
|
+
export { ConfigProvider } from './features/config/ConfigProvider.js';
|
|
26
|
+
export type { ConfigContextValue, ConfigProviderProps } from './features/config/ConfigProvider.js';
|
|
25
27
|
export { default as urls } from './constants/urls.js';
|
|
26
28
|
export {
|
|
27
29
|
getCookieConsentAccepted,
|