@khanglvm/llm-router 2.5.2 → 2.6.1
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 +1 -1
- package/src/node/coding-tool-config.js +15 -1
- package/src/node/provider-probe.js +18 -0
- package/src/node/quota-probe-mapping.js +215 -0
- package/src/node/quota-probe-runner.js +234 -0
- package/src/node/web-console-client.js +33 -27
- package/src/node/web-console-server.js +99 -0
- package/src/node/web-console-styles.generated.js +1 -1
- package/src/node/web-console-ui/api-client.js +27 -0
- package/src/runtime/balancer.js +47 -4
- package/src/runtime/config.js +9 -4
- package/src/runtime/handler/fallback.js +7 -0
- package/src/runtime/quota-probe.js +179 -0
|
@@ -83,6 +83,7 @@ import {
|
|
|
83
83
|
downloadManagedHuggingFaceGguf,
|
|
84
84
|
searchHuggingFaceGgufCandidates
|
|
85
85
|
} from "./huggingface-gguf.js";
|
|
86
|
+
import { createQuotaProbeRunner } from "./quota-probe-runner.js";
|
|
86
87
|
import {
|
|
87
88
|
CONFIG_VERSION,
|
|
88
89
|
DEFAULT_MODEL_ALIAS_ID,
|
|
@@ -1035,6 +1036,8 @@ export async function startWebConsoleServer(options = {}, deps = {}) {
|
|
|
1035
1036
|
requireAuth: routerRequireAuth === true
|
|
1036
1037
|
};
|
|
1037
1038
|
|
|
1039
|
+
const quotaProbeRunner = createQuotaProbeRunner({ fetchImpl: globalThis.fetch });
|
|
1040
|
+
|
|
1038
1041
|
async function readWebSearchState(config = null) {
|
|
1039
1042
|
if (!config || typeof config !== "object") return null;
|
|
1040
1043
|
const runtimeFlags = resolveRuntimeFlags({ runtime: "node" }, runtimeEnv);
|
|
@@ -3033,6 +3036,102 @@ export async function startWebConsoleServer(options = {}, deps = {}) {
|
|
|
3033
3036
|
return;
|
|
3034
3037
|
}
|
|
3035
3038
|
|
|
3039
|
+
// ── Quota Probe routes ──────────────────────────────────────────
|
|
3040
|
+
const quotaProbeTestMatch = requestUrl.pathname.match(/^\/api\/providers\/([^/]+)\/quota-probe\/test$/);
|
|
3041
|
+
if (method === "POST" && quotaProbeTestMatch) {
|
|
3042
|
+
const providerId = decodeURIComponent(quotaProbeTestMatch[1]);
|
|
3043
|
+
const body = await readJsonBody(req);
|
|
3044
|
+
const configState = await readConfigState(configPath);
|
|
3045
|
+
const provider = (configState.normalizedConfig?.providers || []).find((entry) => entry.id === providerId);
|
|
3046
|
+
if (!provider) {
|
|
3047
|
+
sendJson(res, 404, { error: "Provider not found." });
|
|
3048
|
+
return;
|
|
3049
|
+
}
|
|
3050
|
+
const shortcodeCtx = {
|
|
3051
|
+
providerApiKey: resolveProviderApiKey(provider, process.env) || "",
|
|
3052
|
+
providerBaseUrl: provider.baseUrl || "",
|
|
3053
|
+
providerId: provider.id
|
|
3054
|
+
};
|
|
3055
|
+
const probeConfig = {
|
|
3056
|
+
...(provider.quotaProbe || {}),
|
|
3057
|
+
enabled: true,
|
|
3058
|
+
capKind: body.capKind || provider.quotaProbe?.capKind || "dollars",
|
|
3059
|
+
mode: body.mode || provider.quotaProbe?.mode || "http",
|
|
3060
|
+
http: body.http || provider.quotaProbe?.http,
|
|
3061
|
+
custom: body.custom || provider.quotaProbe?.custom
|
|
3062
|
+
};
|
|
3063
|
+
const tempRunner = createQuotaProbeRunner({ fetchImpl: globalThis.fetch });
|
|
3064
|
+
const now = Date.now();
|
|
3065
|
+
const startMs = now;
|
|
3066
|
+
try {
|
|
3067
|
+
const snapshot = await tempRunner.executeProbe({ providerId, probeConfig, shortcodeCtx, env: process.env, now });
|
|
3068
|
+
const latencyMs = Date.now() - startMs;
|
|
3069
|
+
sendJson(res, 200, { snapshot, raw: snapshot.raw, latencyMs, error: snapshot.error });
|
|
3070
|
+
} finally {
|
|
3071
|
+
tempRunner.dispose();
|
|
3072
|
+
}
|
|
3073
|
+
return;
|
|
3074
|
+
}
|
|
3075
|
+
|
|
3076
|
+
const quotaProbeRefreshMatch = requestUrl.pathname.match(/^\/api\/providers\/([^/]+)\/quota-probe\/refresh$/);
|
|
3077
|
+
if (method === "POST" && quotaProbeRefreshMatch) {
|
|
3078
|
+
const providerId = decodeURIComponent(quotaProbeRefreshMatch[1]);
|
|
3079
|
+
const configState = await readConfigState(configPath);
|
|
3080
|
+
const provider = (configState.normalizedConfig?.providers || []).find((entry) => entry.id === providerId);
|
|
3081
|
+
if (!provider) {
|
|
3082
|
+
sendJson(res, 404, { error: "Provider not found." });
|
|
3083
|
+
return;
|
|
3084
|
+
}
|
|
3085
|
+
if (!provider.quotaProbe?.enabled) {
|
|
3086
|
+
sendJson(res, 400, { error: "Quota probe not enabled for this provider." });
|
|
3087
|
+
return;
|
|
3088
|
+
}
|
|
3089
|
+
const shortcodeCtx = {
|
|
3090
|
+
providerApiKey: resolveProviderApiKey(provider, process.env) || "",
|
|
3091
|
+
providerBaseUrl: provider.baseUrl || "",
|
|
3092
|
+
providerId: provider.id
|
|
3093
|
+
};
|
|
3094
|
+
const snapshot = await quotaProbeRunner.enqueueRefresh({
|
|
3095
|
+
providerId,
|
|
3096
|
+
probeConfig: provider.quotaProbe,
|
|
3097
|
+
shortcodeCtx,
|
|
3098
|
+
env: process.env,
|
|
3099
|
+
bypassCircuit: true
|
|
3100
|
+
});
|
|
3101
|
+
sendJson(res, 200, { snapshot });
|
|
3102
|
+
return;
|
|
3103
|
+
}
|
|
3104
|
+
|
|
3105
|
+
const quotaProbeSnapshotMatch = requestUrl.pathname.match(/^\/api\/providers\/([^/]+)\/quota-probe\/snapshot$/);
|
|
3106
|
+
if (method === "GET" && quotaProbeSnapshotMatch) {
|
|
3107
|
+
const providerId = decodeURIComponent(quotaProbeSnapshotMatch[1]);
|
|
3108
|
+
sendJson(res, 200, { snapshot: quotaProbeRunner.getSnapshot(providerId) });
|
|
3109
|
+
return;
|
|
3110
|
+
}
|
|
3111
|
+
|
|
3112
|
+
const quotaProbeSaveMatch = requestUrl.pathname.match(/^\/api\/providers\/([^/]+)\/quota-probe\/save$/);
|
|
3113
|
+
if (method === "POST" && quotaProbeSaveMatch) {
|
|
3114
|
+
const providerId = decodeURIComponent(quotaProbeSaveMatch[1]);
|
|
3115
|
+
const body = await readJsonBody(req);
|
|
3116
|
+
const configState = await readConfigState(configPath);
|
|
3117
|
+
if (configState.parseError) {
|
|
3118
|
+
sendJson(res, 400, { error: `Config parse error: ${configState.parseError}` });
|
|
3119
|
+
return;
|
|
3120
|
+
}
|
|
3121
|
+
const rawConfig = configState.rawConfig || {};
|
|
3122
|
+
const providerList = Array.isArray(rawConfig.providers) ? rawConfig.providers : [];
|
|
3123
|
+
const providerIndex = providerList.findIndex((entry) => entry?.id === providerId);
|
|
3124
|
+
if (providerIndex === -1) {
|
|
3125
|
+
sendJson(res, 404, { error: "Provider not found." });
|
|
3126
|
+
return;
|
|
3127
|
+
}
|
|
3128
|
+
providerList[providerIndex] = { ...providerList[providerIndex], quotaProbe: body.quotaProbe || null };
|
|
3129
|
+
rawConfig.providers = providerList;
|
|
3130
|
+
const { snapshot } = await writeAndBroadcastConfig(rawConfig, { source: "quota-probe-save" });
|
|
3131
|
+
sendJson(res, 200, { ok: true, snapshot });
|
|
3132
|
+
return;
|
|
3133
|
+
}
|
|
3134
|
+
|
|
3036
3135
|
if (method === "POST" && requestUrl.pathname === "/api/config/test-provider") {
|
|
3037
3136
|
const body = await readJsonBody(req);
|
|
3038
3137
|
const endpoints = Array.isArray(body?.endpoints) ? body.endpoints.map((entry) => String(entry || "").trim()).filter(Boolean) : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const WEB_CONSOLE_CSS = "/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", \"SF Pro Display\", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-950:oklch(12.9% .042 264.695);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-800:oklch(27.4% .006 286.033);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:oklch(98.2% .006 80.4);--color-foreground:oklch(30.9% .019 48.7);--color-card:oklch(99.5% .004 80.2);--color-card-foreground:oklch(30.9% .019 48.7);--color-popover:oklch(99.5% .004 80.2);--color-popover-foreground:oklch(30.9% .019 48.7);--color-primary:oklch(37.6% .027 49.2);--color-primary-foreground:oklch(98.6% .003 80.1);--color-secondary:oklch(95.4% .009 78.5);--color-secondary-foreground:oklch(40.9% .021 50.1);--color-muted:oklch(95.4% .009 78.5);--color-muted-foreground:oklch(55.4% .015 54.5);--color-accent:oklch(94% .017 75.8);--color-accent-foreground:oklch(33.9% .024 48.4);--color-destructive:oklch(63% .204 28.8);--color-destructive-foreground:oklch(98.6% .003 80.1);--color-border:oklch(88.8% .008 71.6);--color-input:oklch(88.8% .008 71.6);--color-ring:oklch(73% .021 73.2)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light}*{border-color:var(--color-border)}html{font-family:var(--font-sans)}body{background:radial-gradient(circle at top, #fdfbf9 0%, transparent 38%), linear-gradient(180deg, #fbf9f5 0%, var(--color-background) 100%);min-height:100vh;margin:0}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at top, color-mix(in oklab, var(--color-accent) 18%, white) 0%, transparent 38%), linear-gradient(180deg, color-mix(in oklab, var(--color-background) 96%, white) 0%, var(--color-background) 100%)}}body{color:var(--color-foreground)}a{color:inherit;text-decoration:none}button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href],summary{cursor:pointer}button:disabled,[aria-disabled=true]{cursor:not-allowed}code,pre,textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}::selection{background:#dfdcdb}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in oklab, var(--color-primary) 18%, white)}}}@layer components{.console-shell{background-image:linear-gradient(90deg,#78716c0d 1px,#0000 1px),linear-gradient(#78716c0d 1px,#0000 1px);background-position:50%;background-size:28px 28px}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-x-4{inset-inline:calc(var(--spacing) * 4)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-y-1{inset-block:calc(var(--spacing) * 1)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-auto{height:auto}.h-full{height:100%}.max-h-20{max-height:calc(var(--spacing) * 20)}.max-h-28{max-height:calc(var(--spacing) * 28)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\\[32rem\\]{max-height:32rem}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[92vh\\]{max-height:92vh}.max-h-\\[calc\\(92vh-5\\.5rem\\)\\]{max-height:calc(92vh - 5.5rem)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-80{width:calc(var(--spacing) * 80)}.w-\\[2px\\]{width:2px}.w-\\[5\\.5rem\\]{width:5.5rem}.w-\\[160px\\]{width:160px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\\[16rem\\]{max-width:16rem}.max-w-\\[22rem\\]{max-width:22rem}.max-w-\\[34rem\\]{max-width:34rem}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-\\[7rem\\]{min-width:7rem}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[10rem\\]{min-width:10rem}.min-w-\\[11rem\\]{min-width:11rem}.min-w-\\[12rem\\]{min-width:12rem}.min-w-\\[13rem\\]{min-width:13rem}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-3{--tw-translate-x:calc(var(--spacing) * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\\[auto_auto_auto_minmax\\(0\\,1fr\\)_5\\.5rem\\]{grid-template-columns:auto auto auto minmax(0,1fr) 5.5rem}.grid-cols-\\[auto_auto_auto_minmax\\(0\\,1fr\\)_10rem_5\\.5rem\\]{grid-template-columns:auto auto auto minmax(0,1fr) 10rem 5.5rem}.grid-cols-\\[auto_auto_auto_minmax\\(0\\,1fr\\)_minmax\\(12rem\\,14rem\\)_5\\.5rem\\]{grid-template-columns:auto auto auto minmax(0,1fr) minmax(12rem,14rem) 5.5rem}.grid-cols-\\[auto_auto_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:auto auto minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\\[2px\\]{gap:2px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[1\\.75rem\\]{border-radius:1.75rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-full{border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[1rem\\]{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-y-0{border-block-style:var(--tw-border-style);border-block-width:0}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-300\\/60{border-color:#ffd23699}@supports (color:color-mix(in lab, red, red)){.border-amber-300\\/60{border-color:color-mix(in oklab, var(--color-amber-300) 60%, transparent)}}.border-amber-300\\/70{border-color:#ffd236b3}@supports (color:color-mix(in lab, red, red)){.border-amber-300\\/70{border-color:color-mix(in oklab, var(--color-amber-300) 70%, transparent)}}.border-amber-300\\/80{border-color:#ffd236cc}@supports (color:color-mix(in lab, red, red)){.border-amber-300\\/80{border-color:color-mix(in oklab, var(--color-amber-300) 80%, transparent)}}.border-border{border-color:var(--color-border)}.border-border\\/55{border-color:#ddd9d48c}@supports (color:color-mix(in lab, red, red)){.border-border\\/55{border-color:color-mix(in oklab, var(--color-border) 55%, transparent)}}.border-border\\/60{border-color:#ddd9d499}@supports (color:color-mix(in lab, red, red)){.border-border\\/60{border-color:color-mix(in oklab, var(--color-border) 60%, transparent)}}.border-border\\/70{border-color:#ddd9d4b3}@supports (color:color-mix(in lab, red, red)){.border-border\\/70{border-color:color-mix(in oklab, var(--color-border) 70%, transparent)}}.border-current,.border-current\\/15{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.border-current\\/15{border-color:color-mix(in oklab, currentcolor 15%, transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-input{border-color:var(--color-input)}.border-primary{border-color:var(--color-primary)}.border-primary\\/45{border-color:#4e3d3573}@supports (color:color-mix(in lab, red, red)){.border-primary\\/45{border-color:color-mix(in oklab, var(--color-primary) 45%, transparent)}}.border-ring{border-color:var(--color-ring)}.border-rose-200{border-color:var(--color-rose-200)}.border-sky-200{border-color:var(--color-sky-200)}.border-transparent{border-color:#0000}.border-r-transparent{border-right-color:#0000}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-50\\/70{background-color:#fffbebb3}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\\/70{background-color:color-mix(in oklab, var(--color-amber-50) 70%, transparent)}}.bg-amber-50\\/80{background-color:#fffbebcc}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\\/80{background-color:color-mix(in oklab, var(--color-amber-50) 80%, transparent)}}.bg-amber-50\\/90{background-color:#fffbebe6}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\\/90{background-color:color-mix(in oklab, var(--color-amber-50) 90%, transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background{background-color:var(--color-background)}.bg-background\\/55{background-color:#fbf9f58c}@supports (color:color-mix(in lab, red, red)){.bg-background\\/55{background-color:color-mix(in oklab, var(--color-background) 55%, transparent)}}.bg-background\\/60{background-color:#fbf9f599}@supports (color:color-mix(in lab, red, red)){.bg-background\\/60{background-color:color-mix(in oklab, var(--color-background) 60%, transparent)}}.bg-background\\/70{background-color:#fbf9f5b3}@supports (color:color-mix(in lab, red, red)){.bg-background\\/70{background-color:color-mix(in oklab, var(--color-background) 70%, transparent)}}.bg-background\\/75{background-color:#fbf9f5bf}@supports (color:color-mix(in lab, red, red)){.bg-background\\/75{background-color:color-mix(in oklab, var(--color-background) 75%, transparent)}}.bg-background\\/80{background-color:#fbf9f5cc}@supports (color:color-mix(in lab, red, red)){.bg-background\\/80{background-color:color-mix(in oklab, var(--color-background) 80%, transparent)}}.bg-background\\/85{background-color:#fbf9f5d9}@supports (color:color-mix(in lab, red, red)){.bg-background\\/85{background-color:color-mix(in oklab, var(--color-background) 85%, transparent)}}.bg-background\\/90{background-color:#fbf9f5e6}@supports (color:color-mix(in lab, red, red)){.bg-background\\/90{background-color:color-mix(in oklab, var(--color-background) 90%, transparent)}}.bg-background\\/95{background-color:#fbf9f5f2}@supports (color:color-mix(in lab, red, red)){.bg-background\\/95{background-color:color-mix(in oklab, var(--color-background) 95%, transparent)}}.bg-background\\/96{background-color:#fbf9f5f5}@supports (color:color-mix(in lab, red, red)){.bg-background\\/96{background-color:color-mix(in oklab, var(--color-background) 96%, transparent)}}.bg-background\\/98{background-color:#fbf9f5fa}@supports (color:color-mix(in lab, red, red)){.bg-background\\/98{background-color:color-mix(in oklab, var(--color-background) 98%, transparent)}}.bg-card{background-color:var(--color-card)}.bg-card\\/90{background-color:#fffdfae6}@supports (color:color-mix(in lab, red, red)){.bg-card\\/90{background-color:color-mix(in oklab, var(--color-card) 90%, transparent)}}.bg-card\\/92{background-color:#fffdfaeb}@supports (color:color-mix(in lab, red, red)){.bg-card\\/92{background-color:color-mix(in oklab, var(--color-card) 92%, transparent)}}.bg-card\\/95{background-color:#fffdfaf2}@supports (color:color-mix(in lab, red, red)){.bg-card\\/95{background-color:color-mix(in oklab, var(--color-card) 95%, transparent)}}.bg-current,.bg-current\\/75{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.bg-current\\/75{background-color:color-mix(in oklab, currentcolor 75%, transparent)}}.bg-destructive{background-color:var(--color-destructive)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\\/70{background-color:#ecfdf5b3}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\\/70{background-color:color-mix(in oklab, var(--color-emerald-50) 70%, transparent)}}.bg-emerald-50\\/80{background-color:#ecfdf5cc}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\\/80{background-color:color-mix(in oklab, var(--color-emerald-50) 80%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\\/45{background-color:#00d29473}@supports (color:color-mix(in lab, red, red)){.bg-emerald-400\\/45{background-color:color-mix(in oklab, var(--color-emerald-400) 45%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-foreground{background-color:var(--color-foreground)}.bg-foreground\\/50{background-color:#382d2880}@supports (color:color-mix(in lab, red, red)){.bg-foreground\\/50{background-color:color-mix(in oklab, var(--color-foreground) 50%, transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-muted{background-color:var(--color-muted)}.bg-muted-foreground{background-color:var(--color-muted-foreground)}.bg-muted-foreground\\/25{background-color:#7a716b40}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/25{background-color:color-mix(in oklab, var(--color-muted-foreground) 25%, transparent)}}.bg-muted\\/30{background-color:#f3efe94d}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/30{background-color:color-mix(in oklab, var(--color-muted) 30%, transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-primary-foreground{background-color:var(--color-primary-foreground)}.bg-primary-foreground\\/20{background-color:#fbfaf833}@supports (color:color-mix(in lab, red, red)){.bg-primary-foreground\\/20{background-color:color-mix(in oklab, var(--color-primary-foreground) 20%, transparent)}}.bg-primary\\/5{background-color:#4e3d350d}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-50\\/60{background-color:#fff1f299}@supports (color:color-mix(in lab, red, red)){.bg-rose-50\\/60{background-color:color-mix(in oklab, var(--color-rose-50) 60%, transparent)}}.bg-rose-50\\/70{background-color:#fff1f2b3}@supports (color:color-mix(in lab, red, red)){.bg-rose-50\\/70{background-color:color-mix(in oklab, var(--color-rose-50) 70%, transparent)}}.bg-rose-400{background-color:var(--color-rose-400)}.bg-secondary{background-color:var(--color-secondary)}.bg-secondary\\/25{background-color:#f3efe940}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/25{background-color:color-mix(in oklab, var(--color-secondary) 25%, transparent)}}.bg-secondary\\/35{background-color:#f3efe959}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/35{background-color:color-mix(in oklab, var(--color-secondary) 35%, transparent)}}.bg-secondary\\/40{background-color:#f3efe966}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/40{background-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.bg-secondary\\/45{background-color:#f3efe973}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/45{background-color:color-mix(in oklab, var(--color-secondary) 45%, transparent)}}.bg-secondary\\/55{background-color:#f3efe98c}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/55{background-color:color-mix(in oklab, var(--color-secondary) 55%, transparent)}}.bg-secondary\\/70{background-color:#f3efe9b3}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/70{background-color:color-mix(in oklab, var(--color-secondary) 70%, transparent)}}.bg-secondary\\/80{background-color:#f3efe9cc}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/80{background-color:color-mix(in oklab, var(--color-secondary) 80%, transparent)}}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-50\\/70{background-color:#f0f9ffb3}@supports (color:color-mix(in lab, red, red)){.bg-sky-50\\/70{background-color:color-mix(in oklab, var(--color-sky-50) 70%, transparent)}}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-slate-950\\/55{background-color:#0206188c}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\\/55{background-color:color-mix(in oklab, var(--color-slate-950) 55%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/75{background-color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.bg-white\\/75{background-color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.bg-white\\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.bg-white\\/85{background-color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\\[linear-gradient\\(135deg\\,rgba\\(255\\,247\\,237\\,0\\.98\\)\\,rgba\\(255\\,251\\,235\\,0\\.97\\)\\,rgba\\(254\\,243\\,199\\,0\\.82\\)\\)\\]{background-image:linear-gradient(135deg,#fff7edfa,#fffbebf7,#fef3c7d1)}.from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-background{--tw-gradient-from:var(--color-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-background{--tw-gradient-via:var(--color-background);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-amber-100{--tw-gradient-to:var(--color-amber-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-background{--tw-gradient-to:var(--color-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-40{padding-right:calc(var(--spacing) * 40)}.pr-\\[50px\\]{padding-right:50px}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-\\[-0\\.125em\\]{vertical-align:-.125em}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[8px\\]{font-size:8px}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\\[0\\.12em\\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\\[0\\.14em\\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\\[0\\.16em\\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\\[0\\.18em\\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-amber-900\\/80{color:#7b3306cc}@supports (color:color-mix(in lab, red, red)){.text-amber-900\\/80{color:color-mix(in oklab, var(--color-amber-900) 80%, transparent)}}.text-amber-950{color:var(--color-amber-950)}.text-amber-950\\/75{color:#461901bf}@supports (color:color-mix(in lab, red, red)){.text-amber-950\\/75{color:color-mix(in oklab, var(--color-amber-950) 75%, transparent)}}.text-amber-950\\/80{color:#461901cc}@supports (color:color-mix(in lab, red, red)){.text-amber-950\\/80{color:color-mix(in oklab, var(--color-amber-950) 80%, transparent)}}.text-border{color:var(--color-border)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-emerald-950{color:var(--color-emerald-950)}.text-foreground{color:var(--color-foreground)}.text-foreground\\/80{color:#382d28cc}@supports (color:color-mix(in lab, red, red)){.text-foreground\\/80{color:color-mix(in oklab, var(--color-foreground) 80%, transparent)}}.text-green-700{color:var(--color-green-700)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\\/40{color:#7a716b66}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/40{color:color-mix(in oklab, var(--color-muted-foreground) 40%, transparent)}}.text-muted-foreground\\/50{color:#7a716b80}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/50{color:color-mix(in oklab, var(--color-muted-foreground) 50%, transparent)}}.text-muted-foreground\\/80{color:#7a716bcc}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/80{color:color-mix(in oklab, var(--color-muted-foreground) 80%, transparent)}}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-600{color:var(--color-red-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-rose-900{color:var(--color-rose-900)}.text-rose-950{color:var(--color-rose-950)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sky-700{color:var(--color-sky-700)}.text-sky-800{color:var(--color-sky-800)}.text-sky-800\\/90{color:#005986e6}@supports (color:color-mix(in lab, red, red)){.text-sky-800\\/90{color:color-mix(in oklab, var(--color-sky-800) 90%, transparent)}}.text-sky-900{color:var(--color-sky-900)}.text-sky-950{color:var(--color-sky-950)}.text-white{color:var(--color-white)}.text-zinc-500{color:var(--color-zinc-500)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_20px_60px_rgba\\(180\\,83\\,9\\,0\\.12\\)\\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,#b453091f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_32px_120px_rgba\\(15\\,23\\,42\\,0\\.48\\)\\]{--tw-shadow:0 32px 120px var(--tw-shadow-color,#0f172a7a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-amber-100{--tw-ring-color:var(--color-amber-100)}.ring-background{--tw-ring-color:var(--color-background)}.ring-border{--tw-ring-color:var(--color-border)}.ring-border\\/60{--tw-ring-color:#ddd9d499}@supports (color:color-mix(in lab, red, red)){.ring-border\\/60{--tw-ring-color:color-mix(in oklab, var(--color-border) 60%, transparent)}}.ring-emerald-100{--tw-ring-color:var(--color-emerald-100)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.ring-emerald-500{--tw-ring-color:var(--color-emerald-500)}.ring-emerald-500\\/15{--tw-ring-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.ring-emerald-500\\/15{--tw-ring-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.ring-ring{--tw-ring-color:var(--color-ring)}.ring-ring\\/40{--tw-ring-color:#b0a69a66}@supports (color:color-mix(in lab, red, red)){.ring-ring\\/40{--tw-ring-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}.ring-rose-100{--tw-ring-color:var(--color-rose-100)}.ring-sky-100{--tw-ring-color:var(--color-sky-100)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[stroke-dashoffset\\,opacity\\]{transition-property:stroke-dashoffset,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[wrangler\\:info\\]{wrangler:info}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.placeholder\\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.placeholder\\:text-muted-foreground\\/55::placeholder{color:#7a716b8c}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/55::placeholder{color:color-mix(in oklab, var(--color-muted-foreground) 55%, transparent)}}.focus-within\\:border-ring:focus-within{border-color:var(--color-ring)}.focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\\:ring-ring\\/40:focus-within{--tw-ring-color:#b0a69a66}@supports (color:color-mix(in lab, red, red)){.focus-within\\:ring-ring\\/40:focus-within{--tw-ring-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}@media (hover:hover){.hover\\:border-accent:hover{border-color:var(--color-accent)}.hover\\:border-border:hover{border-color:var(--color-border)}.hover\\:border-current\\/30:hover{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.hover\\:border-current\\/30:hover{border-color:color-mix(in oklab, currentcolor 30%, transparent)}}.hover\\:border-destructive:hover{border-color:var(--color-destructive)}.hover\\:border-destructive\\/35:hover{border-color:#eb463859}@supports (color:color-mix(in lab, red, red)){.hover\\:border-destructive\\/35:hover{border-color:color-mix(in oklab, var(--color-destructive) 35%, transparent)}}.hover\\:border-primary\\/35:hover{border-color:#4e3d3559}@supports (color:color-mix(in lab, red, red)){.hover\\:border-primary\\/35:hover{border-color:color-mix(in oklab, var(--color-primary) 35%, transparent)}}.hover\\:bg-accent:hover{background-color:var(--color-accent)}.hover\\:bg-accent\\/60:hover{background-color:#f2eadf99}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/60:hover{background-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.hover\\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\\:bg-background\\/90:hover{background-color:#fbf9f5e6}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-background\\/90:hover{background-color:color-mix(in oklab, var(--color-background) 90%, transparent)}}.hover\\:bg-destructive\\/5:hover{background-color:#eb46380d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/5:hover{background-color:color-mix(in oklab, var(--color-destructive) 5%, transparent)}}.hover\\:bg-destructive\\/92:hover{background-color:#eb4638eb}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/92:hover{background-color:color-mix(in oklab, var(--color-destructive) 92%, transparent)}}.hover\\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\\:bg-primary\\/5:hover{background-color:#4e3d350d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/5:hover{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.hover\\:bg-primary\\/92:hover{background-color:#4e3d35eb}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/92:hover{background-color:color-mix(in oklab, var(--color-primary) 92%, transparent)}}.hover\\:bg-secondary\\/60:hover{background-color:#f3efe999}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/60:hover{background-color:color-mix(in oklab, var(--color-secondary) 60%, transparent)}}.hover\\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\\:text-amber-950:hover{color:var(--color-amber-950)}.hover\\:text-destructive:hover{color:var(--color-destructive)}.hover\\:text-foreground:hover{color:var(--color-foreground)}.hover\\:text-primary:hover{color:var(--color-primary)}.hover\\:text-red-700:hover{color:var(--color-red-700)}.hover\\:opacity-100:hover{opacity:1}}.focus\\:border-ring:focus{border-color:var(--color-ring)}.focus\\:border-transparent:focus{border-color:#0000}.focus\\:bg-accent:focus{background-color:var(--color-accent)}.focus\\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-ring\\/40:focus{--tw-ring-color:#b0a69a66}@supports (color:color-mix(in lab, red, red)){.focus\\:ring-ring\\/40:focus{--tw-ring-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-amber-500\\/60:focus-visible{--tw-ring-color:#f99c0099}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-amber-500\\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-amber-500) 60%, transparent)}}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:#b0a69a80}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.focus-visible\\:ring-ring\\/60:focus-visible{--tw-ring-color:#b0a69a99}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 60%, transparent)}}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}.disabled\\:opacity-70:disabled{opacity:.7}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[disabled\\]\\:opacity-60[data-disabled]{opacity:.6}.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--color-background)}.data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--color-foreground)}.data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\\[state\\=unchecked\\]\\:translate-x-0\\.5[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:bg-secondary[data-state=unchecked]{background-color:var(--color-secondary)}@media (prefers-reduced-motion:reduce){.motion-reduce\\:animate-none{animation:none}}@media (min-width:40rem){.sm\\:inline{display:inline}.sm\\:max-w-\\[18rem\\]{max-width:18rem}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:items-start{align-items:flex-start}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-4{gap:calc(var(--spacing) * 4)}.sm\\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (min-width:48rem){.md\\:col-span-2{grid-column:span 2/span 2}.md\\:max-w-2xl{max-width:var(--container-2xl)}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-\\[minmax\\(0\\,0\\.9fr\\)_minmax\\(0\\,1\\.3fr\\)_auto\\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) auto}.md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:justify-between{justify-content:space-between}.md\\:justify-end{justify-content:flex-end}.md\\:gap-4{gap:calc(var(--spacing) * 4)}.md\\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\\:py-6{padding-block:calc(var(--spacing) * 6)}}@media (min-width:64rem){.lg\\:grid-cols-\\[minmax\\(0\\,0\\.9fr\\)_minmax\\(0\\,1\\.35fr\\)\\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}.lg\\:flex-row{flex-direction:row}.lg\\:items-center{align-items:center}.lg\\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\\:col-span-4{grid-column:span 4/span 4}.xl\\:w-auto{width:auto}.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\\:grid-cols-\\[160px_minmax\\(0\\,1fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:160px minmax(0,1fr) minmax(0,1fr)}.xl\\:grid-cols-\\[minmax\\(0\\,1\\.1fr\\)_minmax\\(0\\,0\\.9fr\\)\\]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.xl\\:grid-cols-\\[minmax\\(0\\,1\\.5fr\\)_minmax\\(0\\,0\\.72fr\\)_minmax\\(0\\,0\\.72fr\\)_minmax\\(0\\,0\\.86fr\\)_auto\\]{grid-template-columns:minmax(0,1.5fr) minmax(0,.72fr) minmax(0,.72fr) minmax(0,.86fr) auto}.xl\\:grid-cols-\\[minmax\\(0\\,1\\.15fr\\)_minmax\\(320px\\,0\\.85fr\\)\\]{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.xl\\:grid-cols-\\[minmax\\(0\\,1\\.35fr\\)_minmax\\(0\\,0\\.8fr\\)_minmax\\(0\\,0\\.8fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr)}.xl\\:flex-row{flex-direction:row}.xl\\:items-end{align-items:flex-end}.xl\\:items-start{align-items:flex-start}.xl\\:justify-between{justify-content:space-between}.xl\\:self-end{align-self:flex-end}}@media (prefers-color-scheme:dark){.dark\\:border-amber-500\\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.dark\\:border-amber-500\\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.dark\\:bg-amber-950\\/40{background-color:#46190166}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-amber-950\\/40{background-color:color-mix(in oklab, var(--color-amber-950) 40%, transparent)}}.dark\\:text-amber-300{color:var(--color-amber-300)}}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-pan-x{syntax:\"*\";inherits:false}@property --tw-pan-y{syntax:\"*\";inherits:false}@property --tw-pinch-zoom{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}";
|
|
1
|
+
export const WEB_CONSOLE_CSS = "/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", \"SF Pro Display\", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-950:oklch(12.9% .042 264.695);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-800:oklch(27.4% .006 286.033);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:oklch(98.2% .006 80.4);--color-foreground:oklch(30.9% .019 48.7);--color-card:oklch(99.5% .004 80.2);--color-card-foreground:oklch(30.9% .019 48.7);--color-popover:oklch(99.5% .004 80.2);--color-popover-foreground:oklch(30.9% .019 48.7);--color-primary:oklch(37.6% .027 49.2);--color-primary-foreground:oklch(98.6% .003 80.1);--color-secondary:oklch(95.4% .009 78.5);--color-secondary-foreground:oklch(40.9% .021 50.1);--color-muted:oklch(95.4% .009 78.5);--color-muted-foreground:oklch(55.4% .015 54.5);--color-accent:oklch(94% .017 75.8);--color-accent-foreground:oklch(33.9% .024 48.4);--color-destructive:oklch(63% .204 28.8);--color-destructive-foreground:oklch(98.6% .003 80.1);--color-border:oklch(88.8% .008 71.6);--color-input:oklch(88.8% .008 71.6);--color-ring:oklch(73% .021 73.2)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light}*{border-color:var(--color-border)}html{font-family:var(--font-sans)}body{background:radial-gradient(circle at top, #fdfbf9 0%, transparent 38%), linear-gradient(180deg, #fbf9f5 0%, var(--color-background) 100%);min-height:100vh;margin:0}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at top, color-mix(in oklab, var(--color-accent) 18%, white) 0%, transparent 38%), linear-gradient(180deg, color-mix(in oklab, var(--color-background) 96%, white) 0%, var(--color-background) 100%)}}body{color:var(--color-foreground)}a{color:inherit;text-decoration:none}button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href],summary{cursor:pointer}button:disabled,[aria-disabled=true]{cursor:not-allowed}code,pre,textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}::selection{background:#dfdcdb}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in oklab, var(--color-primary) 18%, white)}}}@layer components{.console-shell{background-image:linear-gradient(90deg,#78716c0d 1px,#0000 1px),linear-gradient(#78716c0d 1px,#0000 1px);background-position:50%;background-size:28px 28px}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-x-4{inset-inline:calc(var(--spacing) * 4)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-y-1{inset-block:calc(var(--spacing) * 1)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-auto{height:auto}.h-full{height:100%}.max-h-20{max-height:calc(var(--spacing) * 20)}.max-h-28{max-height:calc(var(--spacing) * 28)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\\[32rem\\]{max-height:32rem}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[92vh\\]{max-height:92vh}.max-h-\\[calc\\(92vh-5\\.5rem\\)\\]{max-height:calc(92vh - 5.5rem)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-40{width:calc(var(--spacing) * 40)}.w-80{width:calc(var(--spacing) * 80)}.w-\\[2px\\]{width:2px}.w-\\[5\\.5rem\\]{width:5.5rem}.w-\\[160px\\]{width:160px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-\\[16rem\\]{max-width:16rem}.max-w-\\[22rem\\]{max-width:22rem}.max-w-\\[34rem\\]{max-width:34rem}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-\\[7rem\\]{min-width:7rem}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[10rem\\]{min-width:10rem}.min-w-\\[11rem\\]{min-width:11rem}.min-w-\\[12rem\\]{min-width:12rem}.min-w-\\[13rem\\]{min-width:13rem}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-3{--tw-translate-x:calc(var(--spacing) * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\\[auto_auto_auto_minmax\\(0\\,1fr\\)_5\\.5rem\\]{grid-template-columns:auto auto auto minmax(0,1fr) 5.5rem}.grid-cols-\\[auto_auto_auto_minmax\\(0\\,1fr\\)_10rem_5\\.5rem\\]{grid-template-columns:auto auto auto minmax(0,1fr) 10rem 5.5rem}.grid-cols-\\[auto_auto_auto_minmax\\(0\\,1fr\\)_minmax\\(12rem\\,14rem\\)_5\\.5rem\\]{grid-template-columns:auto auto auto minmax(0,1fr) minmax(12rem,14rem) 5.5rem}.grid-cols-\\[auto_auto_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:auto auto minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\\[2px\\]{gap:2px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-0{row-gap:calc(var(--spacing) * 0)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[1\\.75rem\\]{border-radius:1.75rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-full{border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[1rem\\]{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-y-0{border-block-style:var(--tw-border-style);border-block-width:0}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-300\\/60{border-color:#ffd23699}@supports (color:color-mix(in lab, red, red)){.border-amber-300\\/60{border-color:color-mix(in oklab, var(--color-amber-300) 60%, transparent)}}.border-amber-300\\/70{border-color:#ffd236b3}@supports (color:color-mix(in lab, red, red)){.border-amber-300\\/70{border-color:color-mix(in oklab, var(--color-amber-300) 70%, transparent)}}.border-amber-300\\/80{border-color:#ffd236cc}@supports (color:color-mix(in lab, red, red)){.border-amber-300\\/80{border-color:color-mix(in oklab, var(--color-amber-300) 80%, transparent)}}.border-border{border-color:var(--color-border)}.border-border\\/40{border-color:#ddd9d466}@supports (color:color-mix(in lab, red, red)){.border-border\\/40{border-color:color-mix(in oklab, var(--color-border) 40%, transparent)}}.border-border\\/50{border-color:#ddd9d480}@supports (color:color-mix(in lab, red, red)){.border-border\\/50{border-color:color-mix(in oklab, var(--color-border) 50%, transparent)}}.border-border\\/55{border-color:#ddd9d48c}@supports (color:color-mix(in lab, red, red)){.border-border\\/55{border-color:color-mix(in oklab, var(--color-border) 55%, transparent)}}.border-border\\/60{border-color:#ddd9d499}@supports (color:color-mix(in lab, red, red)){.border-border\\/60{border-color:color-mix(in oklab, var(--color-border) 60%, transparent)}}.border-border\\/70{border-color:#ddd9d4b3}@supports (color:color-mix(in lab, red, red)){.border-border\\/70{border-color:color-mix(in oklab, var(--color-border) 70%, transparent)}}.border-current,.border-current\\/15{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.border-current\\/15{border-color:color-mix(in oklab, currentcolor 15%, transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-input{border-color:var(--color-input)}.border-primary{border-color:var(--color-primary)}.border-primary\\/45{border-color:#4e3d3573}@supports (color:color-mix(in lab, red, red)){.border-primary\\/45{border-color:color-mix(in oklab, var(--color-primary) 45%, transparent)}}.border-ring{border-color:var(--color-ring)}.border-rose-200{border-color:var(--color-rose-200)}.border-sky-200{border-color:var(--color-sky-200)}.border-transparent{border-color:#0000}.border-r-transparent{border-right-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-accent\\/40{background-color:#f2eadf66}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/40{background-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-50\\/70{background-color:#fffbebb3}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\\/70{background-color:color-mix(in oklab, var(--color-amber-50) 70%, transparent)}}.bg-amber-50\\/80{background-color:#fffbebcc}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\\/80{background-color:color-mix(in oklab, var(--color-amber-50) 80%, transparent)}}.bg-amber-50\\/90{background-color:#fffbebe6}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\\/90{background-color:color-mix(in oklab, var(--color-amber-50) 90%, transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background{background-color:var(--color-background)}.bg-background\\/55{background-color:#fbf9f58c}@supports (color:color-mix(in lab, red, red)){.bg-background\\/55{background-color:color-mix(in oklab, var(--color-background) 55%, transparent)}}.bg-background\\/60{background-color:#fbf9f599}@supports (color:color-mix(in lab, red, red)){.bg-background\\/60{background-color:color-mix(in oklab, var(--color-background) 60%, transparent)}}.bg-background\\/70{background-color:#fbf9f5b3}@supports (color:color-mix(in lab, red, red)){.bg-background\\/70{background-color:color-mix(in oklab, var(--color-background) 70%, transparent)}}.bg-background\\/75{background-color:#fbf9f5bf}@supports (color:color-mix(in lab, red, red)){.bg-background\\/75{background-color:color-mix(in oklab, var(--color-background) 75%, transparent)}}.bg-background\\/80{background-color:#fbf9f5cc}@supports (color:color-mix(in lab, red, red)){.bg-background\\/80{background-color:color-mix(in oklab, var(--color-background) 80%, transparent)}}.bg-background\\/85{background-color:#fbf9f5d9}@supports (color:color-mix(in lab, red, red)){.bg-background\\/85{background-color:color-mix(in oklab, var(--color-background) 85%, transparent)}}.bg-background\\/90{background-color:#fbf9f5e6}@supports (color:color-mix(in lab, red, red)){.bg-background\\/90{background-color:color-mix(in oklab, var(--color-background) 90%, transparent)}}.bg-background\\/95{background-color:#fbf9f5f2}@supports (color:color-mix(in lab, red, red)){.bg-background\\/95{background-color:color-mix(in oklab, var(--color-background) 95%, transparent)}}.bg-background\\/96{background-color:#fbf9f5f5}@supports (color:color-mix(in lab, red, red)){.bg-background\\/96{background-color:color-mix(in oklab, var(--color-background) 96%, transparent)}}.bg-background\\/98{background-color:#fbf9f5fa}@supports (color:color-mix(in lab, red, red)){.bg-background\\/98{background-color:color-mix(in oklab, var(--color-background) 98%, transparent)}}.bg-card{background-color:var(--color-card)}.bg-card\\/90{background-color:#fffdfae6}@supports (color:color-mix(in lab, red, red)){.bg-card\\/90{background-color:color-mix(in oklab, var(--color-card) 90%, transparent)}}.bg-card\\/92{background-color:#fffdfaeb}@supports (color:color-mix(in lab, red, red)){.bg-card\\/92{background-color:color-mix(in oklab, var(--color-card) 92%, transparent)}}.bg-card\\/95{background-color:#fffdfaf2}@supports (color:color-mix(in lab, red, red)){.bg-card\\/95{background-color:color-mix(in oklab, var(--color-card) 95%, transparent)}}.bg-current,.bg-current\\/75{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.bg-current\\/75{background-color:color-mix(in oklab, currentcolor 75%, transparent)}}.bg-destructive{background-color:var(--color-destructive)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\\/70{background-color:#ecfdf5b3}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\\/70{background-color:color-mix(in oklab, var(--color-emerald-50) 70%, transparent)}}.bg-emerald-50\\/80{background-color:#ecfdf5cc}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\\/80{background-color:color-mix(in oklab, var(--color-emerald-50) 80%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\\/45{background-color:#00d29473}@supports (color:color-mix(in lab, red, red)){.bg-emerald-400\\/45{background-color:color-mix(in oklab, var(--color-emerald-400) 45%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-foreground{background-color:var(--color-foreground)}.bg-foreground\\/50{background-color:#382d2880}@supports (color:color-mix(in lab, red, red)){.bg-foreground\\/50{background-color:color-mix(in oklab, var(--color-foreground) 50%, transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-muted{background-color:var(--color-muted)}.bg-muted-foreground{background-color:var(--color-muted-foreground)}.bg-muted-foreground\\/25{background-color:#7a716b40}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/25{background-color:color-mix(in oklab, var(--color-muted-foreground) 25%, transparent)}}.bg-muted\\/20{background-color:#f3efe933}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/20{background-color:color-mix(in oklab, var(--color-muted) 20%, transparent)}}.bg-muted\\/30{background-color:#f3efe94d}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/30{background-color:color-mix(in oklab, var(--color-muted) 30%, transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-primary-foreground{background-color:var(--color-primary-foreground)}.bg-primary-foreground\\/20{background-color:#fbfaf833}@supports (color:color-mix(in lab, red, red)){.bg-primary-foreground\\/20{background-color:color-mix(in oklab, var(--color-primary-foreground) 20%, transparent)}}.bg-primary\\/5{background-color:#4e3d350d}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-50\\/60{background-color:#fff1f299}@supports (color:color-mix(in lab, red, red)){.bg-rose-50\\/60{background-color:color-mix(in oklab, var(--color-rose-50) 60%, transparent)}}.bg-rose-50\\/70{background-color:#fff1f2b3}@supports (color:color-mix(in lab, red, red)){.bg-rose-50\\/70{background-color:color-mix(in oklab, var(--color-rose-50) 70%, transparent)}}.bg-rose-400{background-color:var(--color-rose-400)}.bg-secondary{background-color:var(--color-secondary)}.bg-secondary\\/25{background-color:#f3efe940}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/25{background-color:color-mix(in oklab, var(--color-secondary) 25%, transparent)}}.bg-secondary\\/35{background-color:#f3efe959}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/35{background-color:color-mix(in oklab, var(--color-secondary) 35%, transparent)}}.bg-secondary\\/40{background-color:#f3efe966}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/40{background-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.bg-secondary\\/45{background-color:#f3efe973}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/45{background-color:color-mix(in oklab, var(--color-secondary) 45%, transparent)}}.bg-secondary\\/55{background-color:#f3efe98c}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/55{background-color:color-mix(in oklab, var(--color-secondary) 55%, transparent)}}.bg-secondary\\/70{background-color:#f3efe9b3}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/70{background-color:color-mix(in oklab, var(--color-secondary) 70%, transparent)}}.bg-secondary\\/80{background-color:#f3efe9cc}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/80{background-color:color-mix(in oklab, var(--color-secondary) 80%, transparent)}}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-50\\/70{background-color:#f0f9ffb3}@supports (color:color-mix(in lab, red, red)){.bg-sky-50\\/70{background-color:color-mix(in oklab, var(--color-sky-50) 70%, transparent)}}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-slate-950\\/55{background-color:#0206188c}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\\/55{background-color:color-mix(in oklab, var(--color-slate-950) 55%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/75{background-color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.bg-white\\/75{background-color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.bg-white\\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.bg-white\\/85{background-color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\\[linear-gradient\\(135deg\\,rgba\\(255\\,247\\,237\\,0\\.98\\)\\,rgba\\(255\\,251\\,235\\,0\\.97\\)\\,rgba\\(254\\,243\\,199\\,0\\.82\\)\\)\\]{background-image:linear-gradient(135deg,#fff7edfa,#fffbebf7,#fef3c7d1)}.from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-background{--tw-gradient-from:var(--color-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-background{--tw-gradient-via:var(--color-background);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-amber-100{--tw-gradient-to:var(--color-amber-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-background{--tw-gradient-to:var(--color-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.p-0{padding:calc(var(--spacing) * 0)}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-40{padding-right:calc(var(--spacing) * 40)}.pr-\\[50px\\]{padding-right:50px}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-\\[-0\\.125em\\]{vertical-align:-.125em}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[8px\\]{font-size:8px}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\\[0\\.12em\\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\\[0\\.14em\\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\\[0\\.16em\\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\\[0\\.18em\\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-amber-900\\/80{color:#7b3306cc}@supports (color:color-mix(in lab, red, red)){.text-amber-900\\/80{color:color-mix(in oklab, var(--color-amber-900) 80%, transparent)}}.text-amber-950{color:var(--color-amber-950)}.text-amber-950\\/75{color:#461901bf}@supports (color:color-mix(in lab, red, red)){.text-amber-950\\/75{color:color-mix(in oklab, var(--color-amber-950) 75%, transparent)}}.text-amber-950\\/80{color:#461901cc}@supports (color:color-mix(in lab, red, red)){.text-amber-950\\/80{color:color-mix(in oklab, var(--color-amber-950) 80%, transparent)}}.text-blue-600{color:var(--color-blue-600)}.text-border{color:var(--color-border)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-emerald-950{color:var(--color-emerald-950)}.text-foreground{color:var(--color-foreground)}.text-foreground\\/80{color:#382d28cc}@supports (color:color-mix(in lab, red, red)){.text-foreground\\/80{color:color-mix(in oklab, var(--color-foreground) 80%, transparent)}}.text-green-700{color:var(--color-green-700)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\\/40{color:#7a716b66}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/40{color:color-mix(in oklab, var(--color-muted-foreground) 40%, transparent)}}.text-muted-foreground\\/50{color:#7a716b80}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/50{color:color-mix(in oklab, var(--color-muted-foreground) 50%, transparent)}}.text-muted-foreground\\/60{color:#7a716b99}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/60{color:color-mix(in oklab, var(--color-muted-foreground) 60%, transparent)}}.text-muted-foreground\\/70{color:#7a716bb3}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/70{color:color-mix(in oklab, var(--color-muted-foreground) 70%, transparent)}}.text-muted-foreground\\/80{color:#7a716bcc}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/80{color:color-mix(in oklab, var(--color-muted-foreground) 80%, transparent)}}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-600{color:var(--color-red-600)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-rose-900{color:var(--color-rose-900)}.text-rose-950{color:var(--color-rose-950)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sky-700{color:var(--color-sky-700)}.text-sky-800{color:var(--color-sky-800)}.text-sky-800\\/90{color:#005986e6}@supports (color:color-mix(in lab, red, red)){.text-sky-800\\/90{color:color-mix(in oklab, var(--color-sky-800) 90%, transparent)}}.text-sky-900{color:var(--color-sky-900)}.text-sky-950{color:var(--color-sky-950)}.text-white{color:var(--color-white)}.text-zinc-500{color:var(--color-zinc-500)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_20px_60px_rgba\\(180\\,83\\,9\\,0\\.12\\)\\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,#b453091f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_32px_120px_rgba\\(15\\,23\\,42\\,0\\.48\\)\\]{--tw-shadow:0 32px 120px var(--tw-shadow-color,#0f172a7a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-amber-100{--tw-ring-color:var(--color-amber-100)}.ring-background{--tw-ring-color:var(--color-background)}.ring-border{--tw-ring-color:var(--color-border)}.ring-border\\/60{--tw-ring-color:#ddd9d499}@supports (color:color-mix(in lab, red, red)){.ring-border\\/60{--tw-ring-color:color-mix(in oklab, var(--color-border) 60%, transparent)}}.ring-emerald-100{--tw-ring-color:var(--color-emerald-100)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.ring-emerald-500{--tw-ring-color:var(--color-emerald-500)}.ring-emerald-500\\/15{--tw-ring-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.ring-emerald-500\\/15{--tw-ring-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.ring-ring{--tw-ring-color:var(--color-ring)}.ring-ring\\/40{--tw-ring-color:#b0a69a66}@supports (color:color-mix(in lab, red, red)){.ring-ring\\/40{--tw-ring-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}.ring-rose-100{--tw-ring-color:var(--color-rose-100)}.ring-sky-100{--tw-ring-color:var(--color-sky-100)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[stroke-dashoffset\\,opacity\\]{transition-property:stroke-dashoffset,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[wrangler\\:info\\]{wrangler:info}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.placeholder\\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.placeholder\\:text-muted-foreground\\/55::placeholder{color:#7a716b8c}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/55::placeholder{color:color-mix(in oklab, var(--color-muted-foreground) 55%, transparent)}}.focus-within\\:border-ring:focus-within{border-color:var(--color-ring)}.focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\\:ring-ring\\/40:focus-within{--tw-ring-color:#b0a69a66}@supports (color:color-mix(in lab, red, red)){.focus-within\\:ring-ring\\/40:focus-within{--tw-ring-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}@media (hover:hover){.hover\\:border-accent:hover{border-color:var(--color-accent)}.hover\\:border-border:hover{border-color:var(--color-border)}.hover\\:border-current\\/30:hover{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.hover\\:border-current\\/30:hover{border-color:color-mix(in oklab, currentcolor 30%, transparent)}}.hover\\:border-destructive:hover{border-color:var(--color-destructive)}.hover\\:border-destructive\\/35:hover{border-color:#eb463859}@supports (color:color-mix(in lab, red, red)){.hover\\:border-destructive\\/35:hover{border-color:color-mix(in oklab, var(--color-destructive) 35%, transparent)}}.hover\\:border-primary\\/35:hover{border-color:#4e3d3559}@supports (color:color-mix(in lab, red, red)){.hover\\:border-primary\\/35:hover{border-color:color-mix(in oklab, var(--color-primary) 35%, transparent)}}.hover\\:bg-accent:hover{background-color:var(--color-accent)}.hover\\:bg-accent\\/40:hover{background-color:#f2eadf66}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/40:hover{background-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\\:bg-accent\\/60:hover{background-color:#f2eadf99}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/60:hover{background-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.hover\\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\\:bg-background\\/90:hover{background-color:#fbf9f5e6}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-background\\/90:hover{background-color:color-mix(in oklab, var(--color-background) 90%, transparent)}}.hover\\:bg-destructive\\/5:hover{background-color:#eb46380d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/5:hover{background-color:color-mix(in oklab, var(--color-destructive) 5%, transparent)}}.hover\\:bg-destructive\\/92:hover{background-color:#eb4638eb}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/92:hover{background-color:color-mix(in oklab, var(--color-destructive) 92%, transparent)}}.hover\\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\\:bg-primary\\/5:hover{background-color:#4e3d350d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/5:hover{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.hover\\:bg-primary\\/92:hover{background-color:#4e3d35eb}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/92:hover{background-color:color-mix(in oklab, var(--color-primary) 92%, transparent)}}.hover\\:bg-secondary\\/60:hover{background-color:#f3efe999}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/60:hover{background-color:color-mix(in oklab, var(--color-secondary) 60%, transparent)}}.hover\\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\\:text-amber-950:hover{color:var(--color-amber-950)}.hover\\:text-destructive:hover{color:var(--color-destructive)}.hover\\:text-foreground:hover{color:var(--color-foreground)}.hover\\:text-primary:hover{color:var(--color-primary)}.hover\\:text-red-700:hover{color:var(--color-red-700)}.hover\\:opacity-100:hover{opacity:1}}.focus\\:border-ring:focus{border-color:var(--color-ring)}.focus\\:border-transparent:focus{border-color:#0000}.focus\\:bg-accent:focus{background-color:var(--color-accent)}.focus\\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-ring\\/40:focus{--tw-ring-color:#b0a69a66}@supports (color:color-mix(in lab, red, red)){.focus\\:ring-ring\\/40:focus{--tw-ring-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-amber-500\\/60:focus-visible{--tw-ring-color:#f99c0099}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-amber-500\\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-amber-500) 60%, transparent)}}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:#b0a69a80}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.focus-visible\\:ring-ring\\/60:focus-visible{--tw-ring-color:#b0a69a99}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 60%, transparent)}}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}.disabled\\:opacity-70:disabled{opacity:.7}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[disabled\\]\\:opacity-60[data-disabled]{opacity:.6}.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--color-background)}.data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--color-foreground)}.data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\\[state\\=unchecked\\]\\:translate-x-0\\.5[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:bg-secondary[data-state=unchecked]{background-color:var(--color-secondary)}@media (prefers-reduced-motion:reduce){.motion-reduce\\:animate-none{animation:none}}@media (min-width:40rem){.sm\\:inline{display:inline}.sm\\:max-w-\\[18rem\\]{max-width:18rem}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:items-start{align-items:flex-start}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-4{gap:calc(var(--spacing) * 4)}.sm\\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (min-width:48rem){.md\\:col-span-2{grid-column:span 2/span 2}.md\\:max-w-2xl{max-width:var(--container-2xl)}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-\\[minmax\\(0\\,0\\.9fr\\)_minmax\\(0\\,1\\.3fr\\)_auto\\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) auto}.md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:justify-between{justify-content:space-between}.md\\:justify-end{justify-content:flex-end}.md\\:gap-4{gap:calc(var(--spacing) * 4)}.md\\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\\:py-6{padding-block:calc(var(--spacing) * 6)}}@media (min-width:64rem){.lg\\:grid-cols-\\[minmax\\(0\\,0\\.9fr\\)_minmax\\(0\\,1\\.35fr\\)\\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}.lg\\:flex-row{flex-direction:row}.lg\\:items-center{align-items:center}.lg\\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\\:col-span-4{grid-column:span 4/span 4}.xl\\:w-auto{width:auto}.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\\:grid-cols-\\[160px_minmax\\(0\\,1fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:160px minmax(0,1fr) minmax(0,1fr)}.xl\\:grid-cols-\\[minmax\\(0\\,1\\.1fr\\)_minmax\\(0\\,0\\.9fr\\)\\]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.xl\\:grid-cols-\\[minmax\\(0\\,1\\.5fr\\)_minmax\\(0\\,0\\.72fr\\)_minmax\\(0\\,0\\.72fr\\)_minmax\\(0\\,0\\.86fr\\)_auto\\]{grid-template-columns:minmax(0,1.5fr) minmax(0,.72fr) minmax(0,.72fr) minmax(0,.86fr) auto}.xl\\:grid-cols-\\[minmax\\(0\\,1\\.15fr\\)_minmax\\(320px\\,0\\.85fr\\)\\]{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.xl\\:grid-cols-\\[minmax\\(0\\,1\\.35fr\\)_minmax\\(0\\,0\\.8fr\\)_minmax\\(0\\,0\\.8fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr)}.xl\\:flex-row{flex-direction:row}.xl\\:items-end{align-items:flex-end}.xl\\:items-start{align-items:flex-start}.xl\\:justify-between{justify-content:space-between}.xl\\:self-end{align-self:flex-end}}@media (prefers-color-scheme:dark){.dark\\:border-amber-500\\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.dark\\:border-amber-500\\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.dark\\:border-amber-900\\/30{border-color:#7b33064d}@supports (color:color-mix(in lab, red, red)){.dark\\:border-amber-900\\/30{border-color:color-mix(in oklab, var(--color-amber-900) 30%, transparent)}}.dark\\:border-rose-900\\/30{border-color:#8b08364d}@supports (color:color-mix(in lab, red, red)){.dark\\:border-rose-900\\/30{border-color:color-mix(in oklab, var(--color-rose-900) 30%, transparent)}}.dark\\:bg-amber-950\\/30{background-color:#4619014d}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-amber-950\\/30{background-color:color-mix(in oklab, var(--color-amber-950) 30%, transparent)}}.dark\\:bg-amber-950\\/40{background-color:#46190166}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-amber-950\\/40{background-color:color-mix(in oklab, var(--color-amber-950) 40%, transparent)}}.dark\\:bg-rose-950\\/30{background-color:#4d02184d}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-rose-950\\/30{background-color:color-mix(in oklab, var(--color-rose-950) 30%, transparent)}}.dark\\:text-amber-300{color:var(--color-amber-300)}.dark\\:text-amber-400{color:var(--color-amber-400)}.dark\\:text-blue-400{color:var(--color-blue-400)}.dark\\:text-emerald-400{color:var(--color-emerald-400)}.dark\\:text-rose-300{color:var(--color-rose-300)}.dark\\:text-rose-400{color:var(--color-rose-400)}}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-pan-x{syntax:\"*\";inherits:false}@property --tw-pan-y{syntax:\"*\";inherits:false}@property --tw-pinch-zoom{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}";
|
|
@@ -220,3 +220,30 @@ export async function scanLocalModelPath(targetPath) {
|
|
|
220
220
|
body: JSON.stringify({ path: targetPath })
|
|
221
221
|
});
|
|
222
222
|
}
|
|
223
|
+
|
|
224
|
+
export async function testQuotaProbe(providerId, config) {
|
|
225
|
+
return fetchJson(`/api/providers/${encodeURIComponent(providerId)}/quota-probe/test`, {
|
|
226
|
+
method: "POST",
|
|
227
|
+
headers: JSON_HEADERS,
|
|
228
|
+
body: JSON.stringify(config)
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export async function refreshQuotaProbe(providerId) {
|
|
233
|
+
return fetchJson(`/api/providers/${encodeURIComponent(providerId)}/quota-probe/refresh`, {
|
|
234
|
+
method: "POST",
|
|
235
|
+
headers: JSON_HEADERS
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
export async function getQuotaProbeSnapshot(providerId) {
|
|
240
|
+
return fetchJson(`/api/providers/${encodeURIComponent(providerId)}/quota-probe/snapshot`);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export async function saveQuotaProbeConfig(providerId, quotaProbe) {
|
|
244
|
+
return fetchJson(`/api/providers/${encodeURIComponent(providerId)}/quota-probe/save`, {
|
|
245
|
+
method: "POST",
|
|
246
|
+
headers: JSON_HEADERS,
|
|
247
|
+
body: JSON.stringify({ quotaProbe })
|
|
248
|
+
});
|
|
249
|
+
}
|
package/src/runtime/balancer.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { evaluateCandidatesRateLimits, consumeCandidateRateLimits } from "./rate-limits.js";
|
|
2
2
|
import { buildCandidateKey, buildRouteKey } from "./state-store.js";
|
|
3
|
+
import { resolveProbeVerdict, applyQuotaProbeGate } from "./quota-probe.js";
|
|
3
4
|
|
|
4
5
|
const WEIGHT_SCALE = 100;
|
|
5
6
|
const MAX_WEIGHT_SLOTS = 512;
|
|
@@ -199,10 +200,16 @@ function isCooldownOnlyEntry(entry) {
|
|
|
199
200
|
return reasons.length > 0 && reasons.every((reason) => reason === "cooldown");
|
|
200
201
|
}
|
|
201
202
|
|
|
203
|
+
function isFallbackTierEntry(entry) {
|
|
204
|
+
return String(entry?.candidate?.routeTier || "").trim() === "fallback";
|
|
205
|
+
}
|
|
206
|
+
|
|
202
207
|
async function buildCandidateEntries({
|
|
203
208
|
candidates,
|
|
204
209
|
stateStore,
|
|
205
210
|
rateLimitEvaluations,
|
|
211
|
+
quotaProbeSnapshots,
|
|
212
|
+
config,
|
|
206
213
|
now
|
|
207
214
|
}) {
|
|
208
215
|
const entries = [];
|
|
@@ -216,9 +223,33 @@ async function buildCandidateEntries({
|
|
|
216
223
|
const rateLimitEvaluation = rateLimitEvaluations?.get(candidateKey) || null;
|
|
217
224
|
const health = resolveHealthState(candidateState, now);
|
|
218
225
|
const blockedByRateLimits = rateLimitEvaluation ? !rateLimitEvaluation.eligible : false;
|
|
226
|
+
|
|
227
|
+
// Quota probe gate
|
|
228
|
+
const providerId = candidate?.providerId;
|
|
229
|
+
const providerConfig = (config?.providers || []).find((p) => p.id === providerId);
|
|
230
|
+
const probeConfig = providerConfig?.quotaProbe;
|
|
231
|
+
const snapshot = quotaProbeSnapshots?.get(providerId) || null;
|
|
232
|
+
const probeVerdict = resolveProbeVerdict(snapshot, probeConfig, now);
|
|
233
|
+
|
|
234
|
+
let finalEligibleByQuota;
|
|
235
|
+
let quotaSkipReason = null;
|
|
236
|
+
|
|
237
|
+
if (probeConfig?.enabled && probeConfig?.enforce === "gate") {
|
|
238
|
+
const gate = applyQuotaProbeGate({
|
|
239
|
+
combinator: probeConfig.combinator,
|
|
240
|
+
probeAvailable: probeVerdict?.available ?? null,
|
|
241
|
+
rateLimitEligible: !blockedByRateLimits
|
|
242
|
+
});
|
|
243
|
+
finalEligibleByQuota = gate.eligible;
|
|
244
|
+
quotaSkipReason = gate.skipReason;
|
|
245
|
+
} else {
|
|
246
|
+
finalEligibleByQuota = !blockedByRateLimits;
|
|
247
|
+
quotaSkipReason = blockedByRateLimits ? "quota-exhausted" : null;
|
|
248
|
+
}
|
|
249
|
+
|
|
219
250
|
const skipReasons = [];
|
|
220
251
|
if (health.blocked) skipReasons.push("cooldown");
|
|
221
|
-
if (
|
|
252
|
+
if (quotaSkipReason) skipReasons.push(quotaSkipReason);
|
|
222
253
|
|
|
223
254
|
entries.push({
|
|
224
255
|
candidate,
|
|
@@ -230,7 +261,7 @@ async function buildCandidateEntries({
|
|
|
230
261
|
remainingCapacityRatio: rateLimitEvaluation?.remainingCapacityRatio ?? 1,
|
|
231
262
|
healthFactor: health.healthFactor,
|
|
232
263
|
openUntil: health.openUntil,
|
|
233
|
-
eligible: !health.blocked &&
|
|
264
|
+
eligible: !health.blocked && finalEligibleByQuota,
|
|
234
265
|
skipReasons
|
|
235
266
|
});
|
|
236
267
|
}
|
|
@@ -302,6 +333,7 @@ export async function rankRouteCandidates({
|
|
|
302
333
|
stateStore,
|
|
303
334
|
config,
|
|
304
335
|
rateLimitEvaluations,
|
|
336
|
+
quotaProbeSnapshots,
|
|
305
337
|
requestContext,
|
|
306
338
|
now = Date.now()
|
|
307
339
|
}) {
|
|
@@ -320,6 +352,8 @@ export async function rankRouteCandidates({
|
|
|
320
352
|
candidates,
|
|
321
353
|
stateStore,
|
|
322
354
|
rateLimitEvaluations: evaluations,
|
|
355
|
+
quotaProbeSnapshots,
|
|
356
|
+
config,
|
|
323
357
|
now: currentTime
|
|
324
358
|
});
|
|
325
359
|
const eligibleEntries = entries
|
|
@@ -353,10 +387,18 @@ export async function rankRouteCandidates({
|
|
|
353
387
|
const rankableEntries = fallbackCooldownEntries.length > 0
|
|
354
388
|
? fallbackCooldownEntries
|
|
355
389
|
: eligibleEntries;
|
|
390
|
+
const primaryRankableEntries = rankableEntries.filter((entry) => !isFallbackTierEntry(entry));
|
|
391
|
+
const fallbackRankableEntries = rankableEntries.filter((entry) => isFallbackTierEntry(entry));
|
|
392
|
+
const activeRankableEntries = primaryRankableEntries.length > 0
|
|
393
|
+
? primaryRankableEntries
|
|
394
|
+
: fallbackRankableEntries;
|
|
395
|
+
const inactiveRankableEntries = primaryRankableEntries.length > 0
|
|
396
|
+
? fallbackRankableEntries
|
|
397
|
+
: [];
|
|
356
398
|
const contextAwareGroups = shouldApplyContextAwareOrdering(route, estimatedRequiredTokens)
|
|
357
|
-
? partitionEligibleEntriesByContextWindow(
|
|
399
|
+
? partitionEligibleEntriesByContextWindow(activeRankableEntries, estimatedRequiredTokens)
|
|
358
400
|
: {
|
|
359
|
-
prioritizedEntries:
|
|
401
|
+
prioritizedEntries: activeRankableEntries,
|
|
360
402
|
deferredEntries: []
|
|
361
403
|
};
|
|
362
404
|
const ranking = rankEligibleEntries(
|
|
@@ -368,6 +410,7 @@ export async function rankRouteCandidates({
|
|
|
368
410
|
const rankedEntries = [
|
|
369
411
|
...ranking.orderedEligible,
|
|
370
412
|
...contextAwareGroups.deferredEntries,
|
|
413
|
+
...inactiveRankableEntries,
|
|
371
414
|
...skippedIneligibleEntries
|
|
372
415
|
];
|
|
373
416
|
|