diff --git a/apps/fabro-web/app/app.css b/apps/fabro-web/app/app.css
index f0c5bc131..c4c2eae5b 100644
--- a/apps/fabro-web/app/app.css
+++ b/apps/fabro-web/app/app.css
@@ -40,7 +40,7 @@
--color-amber: #F0A45B;
--color-coral: #E86B6B;
- /* ── Semantic tokens (dark defaults) ── */
+ /* ── Semantic tokens ── */
--color-page: #0F1729;
--color-panel: #252C3D;
--color-panel-alt: #1a2133;
@@ -53,39 +53,10 @@
--color-line: rgba(255, 255, 255, 0.06);
--color-line-strong: rgba(255, 255, 255, 0.12);
--color-focus: rgba(103, 178, 215, 0.4);
- /* Text color that sits on --color-teal-500 primary fills.
- Dark mode: teal-500 is light (#67B2D7) so dark text reads best.
- Light mode: teal-500 is dark (#0e7490) so white reads best. */
+ /* Text color that sits on --color-teal-500 primary fills. */
--color-on-primary: #0F1729;
}
-/* ── Light theme overrides ── */
-
-.light {
- /* Semantic tokens — page is softly tinted so panels/cards (white)
- read as the lighter surface, mirroring the dark-theme hierarchy. */
- --color-page: #eef2f7;
- --color-panel: #ffffff;
- --color-panel-alt: #e4eaf1;
- --color-overlay: rgba(15, 23, 41, 0.05);
- --color-overlay-strong: rgba(15, 23, 41, 0.10);
- --color-fg: #0f172a;
- --color-fg-2: #1e293b;
- --color-fg-3: #475569;
- --color-fg-muted: #64748b;
- --color-line: rgba(15, 23, 41, 0.10);
- --color-line-strong: rgba(15, 23, 41, 0.18);
- --color-focus: rgba(14, 116, 144, 0.5);
- --color-on-primary: #ffffff;
-
- /* Accent — darkened for WCAG AA on white */
- --color-mint: #0d9488;
- --color-amber: #d97706;
- --color-coral: #dc2626;
- --color-teal-300: #0891b2;
- --color-teal-500: #0e7490;
-}
-
/* ── Chart variables ── */
:root {
@@ -93,11 +64,6 @@
--chart-axis-label: rgba(75, 87, 104, 1);
}
-.light {
- --chart-gridline: rgba(0, 0, 0, 0.06);
- --chart-axis-label: rgba(71, 85, 105, 1);
-}
-
/* ── Background atmosphere ── */
.bg-atmosphere {
@@ -108,13 +74,6 @@
background-attachment: fixed;
}
-.light .bg-atmosphere,
-.light.bg-atmosphere {
- background-image:
- radial-gradient(ellipse 120% 60% at 15% 5%, rgba(14, 116, 144, 0.06) 0%, transparent 50%),
- radial-gradient(ellipse 80% 50% at 85% 90%, rgba(13, 148, 136, 0.04) 0%, transparent 45%);
-}
-
.bg-atmosphere::before {
content: "";
position: fixed;
@@ -127,11 +86,6 @@
background-size: 200px 200px;
}
-.light .bg-atmosphere::before,
-.light.bg-atmosphere::before {
- opacity: 0.03;
-}
-
/* ── @pierre/diffs brand overrides ── */
:root {
@@ -159,28 +113,16 @@
}
/* ── Server-rendered SVG graph overrides ── */
-/* The server injects @media (prefers-color-scheme: dark) but the app uses
- .dark/.light classes, so we apply dark-mode colors via the class. */
+/* The server injects @media (prefers-color-scheme: dark) which won't reliably
+ fire when the OS is in light mode, so we apply dark graph colors always. */
-.dark .graph-svg text { fill: #c6d4e0; }
-.dark .graph-svg [stroke="#357f9e"] { stroke: #67B2D7; }
-.dark .graph-svg [stroke="#666666"] { stroke: #5a7a94; }
-.dark .graph-svg polygon[fill="#357f9e"] { fill: #67B2D7; }
-.dark .graph-svg polygon[fill="#666666"] { fill: #5a7a94; }
-.dark .graph-svg ellipse[fill="#ffffff"],
-.dark .graph-svg polygon[fill="#ffffff"] { fill: #1a2b3c; }
-.dark .graph-svg ellipse[stroke="#357f9e"],
-.dark .graph-svg polygon[stroke="#357f9e"] { stroke: #67B2D7; }
-.dark .graph-svg [fill="#1a1a1a"] { fill: #c6d4e0; }
-
-.light {
- --diffs-bg-buffer-override: #ffffff;
- --diffs-bg-context-override: #f8fafc;
- --diffs-bg-hover-override: #f1f5f9;
- --diffs-bg-separator-override: #e2e8f0;
- --diffs-fg-number-override: #94a3b8;
- --diffs-addition-color-override: #0d9488;
- --diffs-fg-number-addition-override: rgba(13, 148, 136, 0.5);
- --diffs-deletion-color-override: #dc2626;
- --diffs-fg-number-deletion-override: rgba(220, 38, 38, 0.5);
-}
+.graph-svg text { fill: #c6d4e0; }
+.graph-svg [stroke="#357f9e"] { stroke: #67B2D7; }
+.graph-svg [stroke="#666666"] { stroke: #5a7a94; }
+.graph-svg polygon[fill="#357f9e"] { fill: #67B2D7; }
+.graph-svg polygon[fill="#666666"] { fill: #5a7a94; }
+.graph-svg ellipse[fill="#ffffff"],
+.graph-svg polygon[fill="#ffffff"] { fill: #1a2b3c; }
+.graph-svg ellipse[stroke="#357f9e"],
+.graph-svg polygon[stroke="#357f9e"] { stroke: #67B2D7; }
+.graph-svg [fill="#1a1a1a"] { fill: #c6d4e0; }
diff --git a/apps/fabro-web/app/components/collapsible-file.tsx b/apps/fabro-web/app/components/collapsible-file.tsx
index 453e9a99d..725e8fc12 100644
--- a/apps/fabro-web/app/components/collapsible-file.tsx
+++ b/apps/fabro-web/app/components/collapsible-file.tsx
@@ -2,7 +2,6 @@ import { useState } from "react";
import { ChevronRightIcon } from "@heroicons/react/20/solid";
import type { FileContents } from "@pierre/diffs";
import { File } from "@pierre/diffs/react";
-import { useTheme } from "../lib/theme";
export function CollapsibleFile({
file,
@@ -12,7 +11,6 @@ export function CollapsibleFile({
defaultOpen?: boolean;
}) {
const [open, setOpen] = useState(defaultOpen);
- const { theme } = useTheme();
const lines = file.contents.split("\n");
const lineCount = lines.length;
@@ -38,7 +36,7 @@ export function CollapsibleFile({
diff --git a/apps/fabro-web/app/data/register-dot-language.ts b/apps/fabro-web/app/data/register-dot-language.ts
index f756065a6..6b2876ec9 100644
--- a/apps/fabro-web/app/data/register-dot-language.ts
+++ b/apps/fabro-web/app/data/register-dot-language.ts
@@ -7,7 +7,7 @@ import { dotLanguage } from "./dot-grammar";
export async function registerDotLanguage(): Promise {
const highlighter = await getSharedHighlighter({
- themes: ["pierre-dark", "pierre-light"],
+ themes: ["pierre-dark"],
langs: [],
});
attachResolvedLanguages(
diff --git a/apps/fabro-web/app/layouts/app-shell.tsx b/apps/fabro-web/app/layouts/app-shell.tsx
index cf6e523a1..4c2b81a71 100644
--- a/apps/fabro-web/app/layouts/app-shell.tsx
+++ b/apps/fabro-web/app/layouts/app-shell.tsx
@@ -12,17 +12,14 @@ import {
BeakerIcon,
ChartBarIcon,
Cog6ToothIcon,
- MoonIcon,
PlayIcon,
RectangleStackIcon,
- SunIcon,
XMarkIcon,
} from "@heroicons/react/24/outline";
import { Link, Outlet, useLocation, useMatches, useRevalidator } from "react-router";
import { getAuthMe } from "../api";
import { ToastProvider } from "../components/toast";
import { DemoModeProvider } from "../lib/demo-mode";
-import { useTheme } from "../lib/theme";
export async function loader() {
return getAuthMe();
@@ -48,7 +45,6 @@ export default function AppShell({ loaderData }: any) {
const { pathname } = useLocation();
const matches = useMatches();
const revalidator = useRevalidator();
- const { theme, toggle } = useTheme();
const navigation = getVisibleNavigation(demoMode);
const currentNav = navigation.find((item) => pathname.startsWith(item.href));
const title = currentNav?.name ?? "";
@@ -59,8 +55,6 @@ export default function AppShell({ loaderData }: any) {
const wide = matches.some((m) => (m.handle as { wide?: boolean } | undefined)?.wide);
const maxWidth = wide ? "" : "max-w-5xl";
- const ThemeIcon = theme === "dark" ? SunIcon : MoonIcon;
-
async function toggleDemoMode() {
await fetch("/api/v1/demo/toggle", {
method: "POST",
@@ -81,7 +75,7 @@ export default function AppShell({ loaderData }: any) {
-

+
@@ -122,15 +116,6 @@ export default function AppShell({ loaderData }: any) {
Toggle demo mode
-
{provider !== "tailscale" && (
diff --git a/apps/fabro-web/app/lib/graph-theme.ts b/apps/fabro-web/app/lib/graph-theme.ts
index e1edcb94d..66ca86319 100644
--- a/apps/fabro-web/app/lib/graph-theme.ts
+++ b/apps/fabro-web/app/lib/graph-theme.ts
@@ -1,6 +1,4 @@
-import type { Theme } from "./theme";
-
-interface GraphTheme {
+export interface GraphTheme {
fontcolor: string;
edgeColor: string;
nodeFill: string;
@@ -24,7 +22,7 @@ interface GraphTheme {
failedText: string;
}
-const dark: GraphTheme = {
+export const graphTheme: GraphTheme = {
fontcolor: "#5a7a94",
edgeColor: "#2a3f52",
nodeFill: "#1a2b3c",
@@ -47,32 +45,3 @@ const dark: GraphTheme = {
failedBorder: "#f87171",
failedText: "#fca5a5",
};
-
-const light: GraphTheme = {
- fontcolor: "#475569",
- edgeColor: "#cbd5e1",
- nodeFill: "#f1f5f9",
- nodeText: "#1e293b",
- startFill: "#ccfbf1",
- startBorder: "#0d9488",
- startText: "#0d9488",
- gateFill: "#fef3c7",
- gateBorder: "#d97706",
- gateText: "#d97706",
- completedFill: "#d1fae5",
- completedBorder: "#059669",
- completedText: "#059669",
- runningFill: "#ccfbf1",
- runningBorder: "#0d9488",
- runningText: "#0d9488",
- runningPulseFill: "#99f6e4",
- runningPulseStroke: "#0d9488",
- failedFill: "#fef2f2",
- failedBorder: "#dc2626",
- failedText: "#dc2626",
-};
-
-export function getGraphTheme(theme: Theme): GraphTheme {
- return theme === "dark" ? dark : light;
-}
-
diff --git a/apps/fabro-web/app/lib/theme-selection.test.ts b/apps/fabro-web/app/lib/theme-selection.test.ts
deleted file mode 100644
index fad7568cf..000000000
--- a/apps/fabro-web/app/lib/theme-selection.test.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { describe, expect, test } from "bun:test";
-import { buildThemeBootScript, resolveTheme } from "./theme-selection";
-
-describe("resolveTheme", () => {
- test("defaults to dark when no saved theme exists", () => {
- expect(resolveTheme(null)).toBe("dark");
- expect(resolveTheme("system")).toBe("dark");
- });
-
- test("uses the saved theme when it is valid", () => {
- expect(resolveTheme("light")).toBe("light");
- expect(resolveTheme("dark")).toBe("dark");
- });
-});
-
-describe("buildThemeBootScript", () => {
- test("defaults the boot script to dark without using system preference", () => {
- const script = buildThemeBootScript();
-
- expect(script).toContain('localStorage.getItem("fabro-theme")');
- expect(script).toContain('t="dark"');
- expect(script).not.toContain("matchMedia");
- });
-});
diff --git a/apps/fabro-web/app/lib/theme-selection.ts b/apps/fabro-web/app/lib/theme-selection.ts
deleted file mode 100644
index aa4a06013..000000000
--- a/apps/fabro-web/app/lib/theme-selection.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-type Theme = "light" | "dark";
-
-const STORAGE_KEY = "fabro-theme";
-
-function resolveTheme(storedTheme: string | null): Theme {
- return storedTheme === "light" || storedTheme === "dark"
- ? storedTheme
- : "dark";
-}
-
-function buildThemeBootScript(storageKey = STORAGE_KEY) {
- return `(function(){try{var t=localStorage.getItem("${storageKey}");if(t!=="light"&&t!=="dark")t="dark";document.documentElement.classList.add(t)}catch(e){document.documentElement.classList.add("dark")}})()`;
-}
-
-export { STORAGE_KEY, buildThemeBootScript, resolveTheme };
-export type { Theme };
diff --git a/apps/fabro-web/app/lib/theme.tsx b/apps/fabro-web/app/lib/theme.tsx
deleted file mode 100644
index 948340fe9..000000000
--- a/apps/fabro-web/app/lib/theme.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import { createContext, useCallback, useContext, useEffect, useState } from "react";
-import { STORAGE_KEY, resolveTheme } from "./theme-selection";
-import type { Theme } from "./theme-selection";
-
-function getInitialTheme(): Theme {
- if (typeof window === "undefined") return "dark";
- return resolveTheme(localStorage.getItem(STORAGE_KEY));
-}
-
-function applyThemeClass(theme: Theme) {
- const root = document.documentElement;
- root.classList.remove("light", "dark");
- root.classList.add(theme);
-}
-
-const ThemeContext = createContext<{
- theme: Theme;
- toggle: () => void;
-}>({ theme: "dark", toggle: () => {} });
-
-export function ThemeProvider({ children }: { children: React.ReactNode }) {
- const [theme, setTheme] = useState(getInitialTheme);
-
- useEffect(() => {
- applyThemeClass(theme);
- }, [theme]);
-
- const toggle = useCallback(() => {
- setTheme((prev) => {
- const next = prev === "dark" ? "light" : "dark";
- localStorage.setItem(STORAGE_KEY, next);
- return next;
- });
- }, []);
-
- return (
-
- {children}
-
- );
-}
-
-export function useTheme() {
- return useContext(ThemeContext);
-}
-
-export type { Theme };
diff --git a/apps/fabro-web/app/root.tsx b/apps/fabro-web/app/root.tsx
index 6b938eac9..a1cfa3506 100644
--- a/apps/fabro-web/app/root.tsx
+++ b/apps/fabro-web/app/root.tsx
@@ -1,21 +1,8 @@
import { isRouteErrorResponse, Outlet } from "react-router";
-import { ThemeProvider } from "./lib/theme";
-import { buildThemeBootScript } from "./lib/theme-selection";
import "./app.css";
-const themeScript = buildThemeBootScript();
-
export default function Root() {
- return (
-
-
-
-
- );
-}
-
-function ThemeBoot() {
- return ;
+ return ;
}
export function ErrorBoundary({ error }: any) {
diff --git a/apps/fabro-web/app/routes/run-detail.test.ts b/apps/fabro-web/app/routes/run-detail.test.ts
index fc9f3cc73..e5e03f62e 100644
--- a/apps/fabro-web/app/routes/run-detail.test.ts
+++ b/apps/fabro-web/app/routes/run-detail.test.ts
@@ -1,6 +1,13 @@
import { afterEach, describe, expect, test } from "bun:test";
-import { action, lifecycleActionVisibility, loader } from "./run-detail";
+import {
+ action,
+ handleLifecycleToastResult,
+ lifecycleActionVisibility,
+ loader,
+ type LifecycleToastState,
+ type RunDetailActionResult,
+} from "./run-detail";
type StubFetchEntry = {
status: number;
@@ -196,3 +203,117 @@ describe("lifecycleActionVisibility", () => {
expect(lifecycleActionVisibility("blocked").showBlockedNotice).toBe(true);
});
});
+
+describe("handleLifecycleToastResult", () => {
+ type PushedToast = { message: string; action?: { label: string; onClick: () => void } };
+
+ function makeToastApi() {
+ const pushed: PushedToast[] = [];
+ const dismissed: string[] = [];
+ return {
+ pushed,
+ dismissed,
+ api: {
+ push: (toast: PushedToast) => {
+ pushed.push(toast);
+ return `toast-${pushed.length}`;
+ },
+ dismiss: (id: string) => {
+ dismissed.push(id);
+ },
+ },
+ };
+ }
+
+ const initialState: LifecycleToastState = {
+ activeArchiveToastId: null,
+ lastProcessed: { cancel: null, archive: null, unarchive: null },
+ };
+
+ test("replaying the same cancel success result does not enqueue a duplicate toast", () => {
+ const { pushed, dismissed, api } = makeToastApi();
+ const result: RunDetailActionResult = {
+ intent: "cancel",
+ ok: true,
+ run: { id: "run-1", status: "failed", status_reason: "cancelled", created_at: "2026-04-20T12:00:00Z" },
+ };
+
+ const firstState = handleLifecycleToastResult("cancel", result, initialState, api);
+
+ expect(pushed).toEqual([{ message: "Run cancelled." }]);
+ expect(firstState.lastProcessed.cancel).toBe(result);
+
+ const replayedState = handleLifecycleToastResult("cancel", result, firstState, api);
+
+ expect(pushed).toHaveLength(1);
+ expect(dismissed).toEqual([]);
+ expect(replayedState).toBe(firstState);
+ });
+
+ test("cancel for non-terminal state reports cancellation as requested", () => {
+ const { pushed, api } = makeToastApi();
+ const result: RunDetailActionResult = {
+ intent: "cancel",
+ ok: true,
+ run: { id: "run-1", status: "running", created_at: "2026-04-20T12:00:00Z" },
+ };
+
+ handleLifecycleToastResult("cancel", result, initialState, api);
+
+ expect(pushed).toEqual([{ message: "Cancellation requested." }]);
+ });
+
+ test("replaying the same archive success result does not enqueue a duplicate toast", () => {
+ const { pushed, dismissed, api } = makeToastApi();
+ let unarchiveClicks = 0;
+ const result: RunDetailActionResult = {
+ intent: "archive",
+ ok: true,
+ run: { id: "run-1", status: "archived", created_at: "2026-04-20T12:00:00Z" },
+ };
+
+ const firstState = handleLifecycleToastResult("archive", result, initialState, api, () => {
+ unarchiveClicks += 1;
+ });
+
+ expect(pushed).toHaveLength(1);
+ expect(pushed[0]?.message).toBe("Run archived.");
+ expect(pushed[0]?.action?.label).toBe("Unarchive");
+ pushed[0]?.action?.onClick();
+ expect(unarchiveClicks).toBe(1);
+ expect(firstState.activeArchiveToastId).toBe("toast-1");
+
+ const replayedState = handleLifecycleToastResult("archive", result, firstState, api, () => {
+ unarchiveClicks += 1;
+ });
+
+ expect(pushed).toHaveLength(1);
+ expect(replayedState).toBe(firstState);
+ expect(dismissed).toEqual([]);
+ });
+
+ test("successful unarchive dismisses the active archive toast before showing restore feedback", () => {
+ const { pushed, dismissed, api } = makeToastApi();
+ const result: RunDetailActionResult = {
+ intent: "unarchive",
+ ok: true,
+ run: { id: "run-1", status: "succeeded", created_at: "2026-04-20T12:00:00Z" },
+ };
+ const stateWithActiveToast: LifecycleToastState = {
+ activeArchiveToastId: "toast-9",
+ lastProcessed: { cancel: null, archive: null, unarchive: null },
+ };
+
+ const nextState = handleLifecycleToastResult("unarchive", result, stateWithActiveToast, api);
+
+ expect(dismissed).toEqual(["toast-9"]);
+ expect(pushed).toEqual([{ message: "Run restored." }]);
+ expect(nextState.activeArchiveToastId).toBeNull();
+
+ const replayedState = handleLifecycleToastResult("unarchive", result, nextState, api);
+
+ expect(dismissed).toEqual(["toast-9"]);
+ expect(pushed).toEqual([{ message: "Run restored." }]);
+ expect(replayedState).toBe(nextState);
+ });
+});
diff --git a/apps/fabro-web/app/routes/run-detail.tsx b/apps/fabro-web/app/routes/run-detail.tsx
index c5f9f87e2..4bde02602 100644
--- a/apps/fabro-web/app/routes/run-detail.tsx
+++ b/apps/fabro-web/app/routes/run-detail.tsx
@@ -1,4 +1,4 @@
-import { useEffect } from "react";
+import { useEffect, useRef } from "react";
import { ArrowPathIcon, ChevronRightIcon } from "@heroicons/react/20/solid";
import { Link, Outlet, useFetcher, useLocation } from "react-router";
import type {
@@ -95,6 +95,18 @@ type LifecycleActionResult =
export type RunDetailActionResult = PreviewActionResult | LifecycleActionResult;
+export interface LifecycleToastState {
+ activeArchiveToastId: string | null;
+ lastProcessed: Record;
+}
+
+type ToastApi = Pick, "push" | "dismiss">;
+
+const INITIAL_LIFECYCLE_TOAST_STATE: LifecycleToastState = {
+ activeArchiveToastId: null,
+ lastProcessed: { cancel: null, archive: null, unarchive: null },
+};
+
export function lifecycleActionVisibility(status: string | null | undefined) {
return {
showPrimaryCancel: canCancel(status),
@@ -175,9 +187,10 @@ export default function RunDetail({ loaderData, params }: { loaderData: RunDetai
const cancelFetcher = useFetcher();
const archiveFetcher = useFetcher();
const unarchiveFetcher = useFetcher();
- const { push } = useToast();
+ const { push, dismiss } = useToast();
const demoMode = useDemoMode();
const tabs = allTabs.filter((t) => !t.demoOnly || demoMode);
+ const lifecycleToastStateRef = useRef(INITIAL_LIFECYCLE_TOAST_STATE);
useRunEventSource(run?.id ?? undefined, {
allowlist: RUN_DETAIL_EVENTS,
@@ -191,44 +204,32 @@ export default function RunDetail({ loaderData, params }: { loaderData: RunDetai
}, [previewFetcher.data]);
useEffect(() => {
- const result = cancelFetcher.data;
- if (!result || result.intent !== "cancel") return;
- if (isLifecycleActionFailure(result)) {
- push({ message: mapError(result.error, "cancel"), tone: "error" });
- return;
- }
- push({
- message: isTerminalCancelledRun(result.run)
- ? "Run cancelled."
- : "Cancellation requested.",
- });
- }, [cancelFetcher.data, push]);
+ lifecycleToastStateRef.current = handleLifecycleToastResult(
+ "cancel",
+ cancelFetcher.data,
+ lifecycleToastStateRef.current,
+ { push, dismiss },
+ );
+ }, [cancelFetcher.data, dismiss, push]);
useEffect(() => {
- const result = archiveFetcher.data;
- if (!result || result.intent !== "archive") return;
- if (isLifecycleActionFailure(result)) {
- push({ message: mapError(result.error, "archive"), tone: "error" });
- return;
- }
- push({
- message: "Run archived.",
- action: {
- label: "Unarchive",
- onClick: () => submitIntent(unarchiveFetcher, "unarchive"),
- },
- });
- }, [archiveFetcher, archiveFetcher.data, push, unarchiveFetcher]);
+ lifecycleToastStateRef.current = handleLifecycleToastResult(
+ "archive",
+ archiveFetcher.data,
+ lifecycleToastStateRef.current,
+ { push, dismiss },
+ () => submitIntent(unarchiveFetcher, "unarchive"),
+ );
+ }, [archiveFetcher.data, dismiss, push, unarchiveFetcher]);
useEffect(() => {
- const result = unarchiveFetcher.data;
- if (!result || result.intent !== "unarchive") return;
- if (isLifecycleActionFailure(result)) {
- push({ message: mapError(result.error, "unarchive"), tone: "error" });
- return;
- }
- push({ message: "Run restored." });
- }, [push, unarchiveFetcher.data]);
+ lifecycleToastStateRef.current = handleLifecycleToastResult(
+ "unarchive",
+ unarchiveFetcher.data,
+ lifecycleToastStateRef.current,
+ { push, dismiss },
+ );
+ }, [dismiss, push, unarchiveFetcher.data]);
if (!run) {
return (
@@ -458,6 +459,51 @@ function isLifecycleActionFailure(
return value.ok === false;
}
+export function handleLifecycleToastResult(
+ intent: LifecycleAction,
+ result: RunDetailActionResult | undefined,
+ state: LifecycleToastState,
+ toastApi: ToastApi,
+ onUnarchive?: () => void,
+): LifecycleToastState {
+ if (!result || result.intent !== intent) return state;
+ if (state.lastProcessed[intent] === result) return state;
+
+ const nextState: LifecycleToastState = {
+ ...state,
+ lastProcessed: { ...state.lastProcessed, [intent]: result },
+ };
+
+ if (isLifecycleActionFailure(result)) {
+ toastApi.push({ message: mapError(result.error, intent), tone: "error" });
+ return nextState;
+ }
+
+ if (intent === "cancel") {
+ toastApi.push({
+ message: isTerminalCancelledRun(result.run) ? "Run cancelled." : "Cancellation requested.",
+ });
+ return nextState;
+ }
+
+ if (state.activeArchiveToastId) {
+ toastApi.dismiss(state.activeArchiveToastId);
+ }
+
+ if (intent === "archive") {
+ return {
+ ...nextState,
+ activeArchiveToastId: toastApi.push({
+ message: "Run archived.",
+ action: onUnarchive ? { label: "Unarchive", onClick: onUnarchive } : undefined,
+ }),
+ };
+ }
+
+ toastApi.push({ message: "Run restored." });
+ return { ...nextState, activeArchiveToastId: null };
+}
+
function submitIntent(
fetcher: { submit: (target: FormData, options: { method: "post" }) => void },
intent: LifecycleAction,
diff --git a/apps/fabro-web/app/routes/run-files.tsx b/apps/fabro-web/app/routes/run-files.tsx
index fa28edded..e3a5b96da 100644
--- a/apps/fabro-web/app/routes/run-files.tsx
+++ b/apps/fabro-web/app/routes/run-files.tsx
@@ -14,7 +14,6 @@ import {
} from "react-router";
import * as PierreDiffs from "@pierre/diffs/react";
import { useToast } from "../components/toast";
-import { useTheme } from "../lib/theme";
import type {
FileDiff as ApiFileDiff,
PaginatedRunFileList,
@@ -318,7 +317,6 @@ function resolveRunStatus(matches: ReturnType): string | unde
}
export default function RunFiles({ loaderData }: any) {
- const theme = useTheme();
const params = useParams();
const navigation = useNavigation();
const revalidator = useRevalidator();
@@ -382,9 +380,6 @@ export default function RunFiles({ loaderData }: any) {
[diffStyleForced],
);
- const pierreTheme =
- theme.theme === "dark" ? "pierre-dark" : "pierre-light";
-
const refreshButtonRef = useRef(null);
const containerRef = useRef(null);
const lastDeepLinkToastRef = useRef(null);
@@ -477,14 +472,14 @@ export default function RunFiles({ loaderData }: any) {
newFile={file.new_file}
options={{
diffStyle,
- theme: pierreTheme,
+ theme: "pierre-dark",
expandUnchanged: isDeepLinkTarget ? true : undefined,
}}
/>
);
}),
- [diffStyle, pierreTheme, hashFile],
+ [diffStyle, hashFile],
);
if (isInitialLoading) {
@@ -553,7 +548,7 @@ export default function RunFiles({ loaderData }: any) {
patch={meta.patch}
options={{
diffStyle,
- theme: pierreTheme,
+ theme: "pierre-dark",
}}
/>
diff --git a/apps/fabro-web/app/routes/run-graph.tsx b/apps/fabro-web/app/routes/run-graph.tsx
index 9b34a9c51..1596c26a4 100644
--- a/apps/fabro-web/app/routes/run-graph.tsx
+++ b/apps/fabro-web/app/routes/run-graph.tsx
@@ -1,7 +1,6 @@
import { useCallback, useEffect, useRef, useState } from "react";
import { useParams } from "react-router";
-import { useTheme } from "../lib/theme";
-import { getGraphTheme } from "../lib/graph-theme";
+import { graphTheme } from "../lib/graph-theme";
import { apiFetch, apiJsonOrNull } from "../api";
import { isVisibleStage } from "../data/runs";
import { formatDurationSecs } from "../lib/format";
@@ -34,7 +33,7 @@ export async function loader({ request, params }: any) {
type Direction = "LR" | "TB";
-function buildDot(direction: Direction, gt: ReturnType) {
+function buildDot(direction: Direction) {
return `digraph sync {
graph [label="Sync"]
rankdir=${direction}
@@ -44,27 +43,27 @@ function buildDot(direction: Direction, gt: ReturnType) {
node [
fontname="ui-monospace, monospace"
fontsize=11
- fontcolor="${gt.nodeText}"
- color="${gt.edgeColor}"
- fillcolor="${gt.nodeFill}"
+ fontcolor="${graphTheme.nodeText}"
+ color="${graphTheme.edgeColor}"
+ fillcolor="${graphTheme.nodeFill}"
style=filled
penwidth=1.2
]
edge [
fontname="ui-monospace, monospace"
fontsize=9
- fontcolor="${gt.fontcolor}"
- color="${gt.edgeColor}"
+ fontcolor="${graphTheme.fontcolor}"
+ color="${graphTheme.edgeColor}"
arrowsize=0.7
penwidth=1.2
]
- start [shape=Mdiamond, label="Start", fillcolor="${gt.startFill}", color="${gt.startBorder}", fontcolor="${gt.startText}"]
- exit [shape=Msquare, label="Exit", fillcolor="${gt.startFill}", color="${gt.startBorder}", fontcolor="${gt.startText}"]
+ start [shape=Mdiamond, label="Start", fillcolor="${graphTheme.startFill}", color="${graphTheme.startBorder}", fontcolor="${graphTheme.startText}"]
+ exit [shape=Msquare, label="Exit", fillcolor="${graphTheme.startFill}", color="${graphTheme.startBorder}", fontcolor="${graphTheme.startText}"]
detect [label="Detect\\nDrift"]
propose [label="Propose\\nChanges"]
- review [shape=hexagon, label="Review\\nChanges", fillcolor="${gt.gateFill}", color="${gt.gateBorder}", fontcolor="${gt.gateText}"]
+ review [shape=hexagon, label="Review\\nChanges", fillcolor="${graphTheme.gateFill}", color="${graphTheme.gateBorder}", fontcolor="${graphTheme.gateText}"]
apply [label="Apply\\nChanges"]
start -> detect
@@ -89,90 +88,6 @@ function stripGraphTitle(svg: SVGSVGElement) {
title.remove();
}
-function annotateRunningNodes(svg: SVGSVGElement, gt: ReturnType, stageList: Stage[]) {
- const runningDotIds = new Set(
- stageList.filter((s) => s.status === "running").map((s) => s.dotId),
- );
- const completedDotIds = new Set(
- stageList.filter((s) => s.status === "completed").map((s) => s.dotId),
- );
-
- const nodeGroups = svg.querySelectorAll(".node");
- for (const group of nodeGroups) {
- const titleEl = group.querySelector("title");
- if (!titleEl) continue;
- const nodeId = titleEl.textContent?.trim();
- if (!nodeId) continue;
-
- if (runningDotIds.has(nodeId)) {
- // Animate with native SVG elements (cross-browser reliable)
- const ns = "http://www.w3.org/2000/svg";
- const shapes = group.querySelectorAll("ellipse, polygon, path");
- for (const shape of shapes) {
- shape.setAttribute("fill", gt.runningFill);
- shape.setAttribute("stroke", gt.runningBorder);
- shape.setAttribute("stroke-width", "2");
-
- const animFill = document.createElementNS(ns, "animate");
- animFill.setAttribute("attributeName", "fill");
- animFill.setAttribute("values", `${gt.runningFill};${gt.runningPulseFill};${gt.runningFill}`);
- animFill.setAttribute("dur", "1.5s");
- animFill.setAttribute("repeatCount", "indefinite");
- shape.appendChild(animFill);
-
- const animStroke = document.createElementNS(ns, "animate");
- animStroke.setAttribute("attributeName", "stroke");
- animStroke.setAttribute("values", `${gt.runningBorder};${gt.runningPulseStroke};${gt.runningBorder}`);
- animStroke.setAttribute("dur", "1.5s");
- animStroke.setAttribute("repeatCount", "indefinite");
- shape.appendChild(animStroke);
-
- const animWidth = document.createElementNS(ns, "animate");
- animWidth.setAttribute("attributeName", "stroke-width");
- animWidth.setAttribute("values", "2;3.5;2");
- animWidth.setAttribute("dur", "1.5s");
- animWidth.setAttribute("repeatCount", "indefinite");
- shape.appendChild(animWidth);
- }
- const texts = group.querySelectorAll("text");
- for (const text of texts) {
- text.setAttribute("fill", gt.runningText);
- }
- } else if (completedDotIds.has(nodeId)) {
- // Tint completed nodes green
- const shapes = group.querySelectorAll("ellipse, polygon, path");
- for (const shape of shapes) {
- shape.setAttribute("fill", gt.completedFill);
- shape.setAttribute("stroke", gt.completedBorder);
- }
- const texts = group.querySelectorAll("text");
- for (const text of texts) {
- text.setAttribute("fill", gt.completedText);
- }
- }
- }
-
- // Also color edges leading into completed nodes
- const edgeGroups = svg.querySelectorAll(".edge");
- for (const group of edgeGroups) {
- const titleEl = group.querySelector("title");
- if (!titleEl) continue;
- const edgeLabel = titleEl.textContent?.trim() ?? "";
- const [, target] = edgeLabel.split("->");
- if (!target) continue;
- const targetId = target.trim();
-
- if (completedDotIds.has(targetId)) {
- const paths = group.querySelectorAll("path, polygon");
- for (const p of paths) {
- p.setAttribute("stroke", gt.completedBorder);
- if (p.tagName === "polygon") p.setAttribute("fill", gt.completedBorder);
- }
- }
- }
-
-}
-
export default function RunGraph({ loaderData }: any) {
const { id } = useParams();
const { stages, graphSvg } = loaderData;
@@ -185,8 +100,6 @@ export default function RunGraph({ loaderData }: any) {
const [pan, setPan] = useState({ x: 0, y: 0 });
const dragState = useRef<{ startX: number; startY: number; startPanX: number; startPanY: number } | null>(null);
const zoom = GRAPH_ZOOM_STEPS[zoomIndex];
- const { theme } = useTheme();
- const graphTheme = getGraphTheme(theme);
useEffect(() => {
let cancelled = false;
@@ -214,7 +127,7 @@ export default function RunGraph({ loaderData }: any) {
const { instance } = await import("@viz-js/viz");
const viz = await instance();
if (cancelled) return;
- svg = viz.renderSVGElement(buildDot(direction, graphTheme));
+ svg = viz.renderSVGElement(buildDot(direction));
}
stripGraphTitle(svg);
@@ -231,7 +144,7 @@ export default function RunGraph({ loaderData }: any) {
setPan({ x: 0, y: 0 });
render();
return () => { cancelled = true; };
- }, [direction, graphTheme, graphSvg, id]);
+ }, [direction, graphSvg, id]);
const onPointerDown = useCallback((e: React.PointerEvent) => {
if ((e.target as HTMLElement).closest("button")) return;
diff --git a/apps/fabro-web/app/routes/run-overview.tsx b/apps/fabro-web/app/routes/run-overview.tsx
index e0d26bcb9..ae1736117 100644
--- a/apps/fabro-web/app/routes/run-overview.tsx
+++ b/apps/fabro-web/app/routes/run-overview.tsx
@@ -3,8 +3,7 @@ import { useNavigate, useParams } from "react-router";
import { apiFetch, apiJsonOrNull } from "../api";
import { isVisibleStage } from "../data/runs";
import { formatDurationSecs } from "../lib/format";
-import { useTheme } from "../lib/theme";
-import { getGraphTheme } from "../lib/graph-theme";
+import { graphTheme } from "../lib/graph-theme";
import { StageSidebar } from "../components/stage-sidebar";
import type { Stage } from "../components/stage-sidebar";
import {
@@ -47,7 +46,6 @@ export default function RunOverview({ loaderData }: any) {
const innerRef = useRef(null);
const svgRef = useRef(null);
const navigate = useNavigate();
- const { theme } = useTheme();
const [zoomIndex, setZoomIndex] = useState(GRAPH_DEFAULT_ZOOM_INDEX);
const [direction, setDirection] = useState("LR");
const [pan, setPan] = useState({ x: 0, y: 0 });
@@ -69,7 +67,7 @@ export default function RunOverview({ loaderData }: any) {
if (!svg) return;
svgRef.current = svg;
- const gt = getGraphTheme(theme);
+ const gt = graphTheme;
const runningDotIds = new Set(
stages.filter((s: Stage) => s.status === "running").map((s: Stage) => s.dotId ?? s.id),
);
@@ -157,7 +155,7 @@ export default function RunOverview({ loaderData }: any) {
}
})();
return () => { cancelled = true; };
- }, [stages, graphSvg, theme, direction, id]);
+ }, [stages, graphSvg, direction, id]);
const onPointerDown = useCallback((e: React.PointerEvent) => {
if ((e.target as HTMLElement).closest("button")) return;
diff --git a/apps/fabro-web/app/routes/workflow-diagram.tsx b/apps/fabro-web/app/routes/workflow-diagram.tsx
index b26c3cce3..8cbd7dfed 100644
--- a/apps/fabro-web/app/routes/workflow-diagram.tsx
+++ b/apps/fabro-web/app/routes/workflow-diagram.tsx
@@ -1,11 +1,10 @@
import { useCallback, useEffect, useRef, useState } from "react";
import { ArrowDownIcon, ArrowRightIcon, MinusIcon, PlusIcon } from "@heroicons/react/20/solid";
-import { useTheme } from "../lib/theme";
-import { getGraphTheme } from "../lib/graph-theme";
+import { graphTheme } from "../lib/graph-theme";
type Direction = "LR" | "TB";
-function buildDot(direction: Direction, theme: ReturnType) {
+function buildDot(direction: Direction) {
return `digraph fix_build {
graph [
label="Fix Build"
@@ -17,29 +16,29 @@ function buildDot(direction: Direction, theme: ReturnType)
node [
fontname="ui-monospace, monospace"
fontsize=11
- fontcolor="${theme.nodeText}"
- color="${theme.edgeColor}"
- fillcolor="${theme.nodeFill}"
+ fontcolor="${graphTheme.nodeText}"
+ color="${graphTheme.edgeColor}"
+ fillcolor="${graphTheme.nodeFill}"
style=filled
penwidth=1.2
]
edge [
fontname="ui-monospace, monospace"
fontsize=9
- fontcolor="${theme.fontcolor}"
- color="${theme.edgeColor}"
+ fontcolor="${graphTheme.fontcolor}"
+ color="${graphTheme.edgeColor}"
arrowsize=0.7
penwidth=1.2
]
- start [shape=Mdiamond, label="Start", fillcolor="${theme.startFill}", color="${theme.startBorder}", fontcolor="${theme.startText}"]
- exit [shape=Msquare, label="Exit", fillcolor="${theme.startFill}", color="${theme.startBorder}", fontcolor="${theme.startText}"]
+ start [shape=Mdiamond, label="Start", fillcolor="${graphTheme.startFill}", color="${graphTheme.startBorder}", fontcolor="${graphTheme.startText}"]
+ exit [shape=Msquare, label="Exit", fillcolor="${graphTheme.startFill}", color="${graphTheme.startBorder}", fontcolor="${graphTheme.startText}"]
analyze [label="Analyze\\nBuild Errors"]
diagnose [label="Diagnose\\nRoot Cause"]
fix [label="Apply\\nFix"]
validate [label="Validate\\nBuild"]
- approve [shape=hexagon, label="Review\\nChanges", fillcolor="${theme.gateFill}", color="${theme.gateBorder}", fontcolor="${theme.gateText}"]
+ approve [shape=hexagon, label="Review\\nChanges", fillcolor="${graphTheme.gateFill}", color="${graphTheme.gateBorder}", fontcolor="${graphTheme.gateText}"]
start -> analyze
analyze -> diagnose
@@ -47,7 +46,7 @@ function buildDot(direction: Direction, theme: ReturnType)
fix -> validate
validate -> exit [label="Pass"]
validate -> diagnose [label="Fail", style=dashed, color="#f87171"]
- validate -> approve [label="Needs review", color="${theme.gateBorder}"]
+ validate -> approve [label="Needs review", color="${graphTheme.gateBorder}"]
approve -> exit [label="Accept"]
approve -> fix [label="Revise", style=dashed]
}`;
@@ -78,8 +77,6 @@ export default function WorkflowDiagram() {
const [pan, setPan] = useState({ x: 0, y: 0 });
const dragState = useRef<{ startX: number; startY: number; startPanX: number; startPanY: number } | null>(null);
const zoom = ZOOM_STEPS[zoomIndex];
- const { theme } = useTheme();
- const graphTheme = getGraphTheme(theme);
useEffect(() => {
let cancelled = false;
@@ -90,7 +87,7 @@ export default function WorkflowDiagram() {
if (cancelled) return;
try {
- const svg = viz.renderSVGElement(buildDot(direction, graphTheme));
+ const svg = viz.renderSVGElement(buildDot(direction));
stripGraphTitle(svg);
svgRef.current = svg;
@@ -105,7 +102,7 @@ export default function WorkflowDiagram() {
setPan({ x: 0, y: 0 });
render();
return () => { cancelled = true; };
- }, [direction, graphTheme]);
+ }, [direction]);
const onPointerDown = useCallback((e: React.PointerEvent) => {
if ((e.target as HTMLElement).closest("button")) return;
diff --git a/apps/fabro-web/index.template.html b/apps/fabro-web/index.template.html
index a18354971..4f7f28d5b 100644
--- a/apps/fabro-web/index.template.html
+++ b/apps/fabro-web/index.template.html
@@ -1,5 +1,5 @@
-
+
@@ -13,9 +13,6 @@
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=JetBrains+Mono:wght@400;500;600&display=swap"
/>
-
{{styles}}
diff --git a/apps/fabro-web/public/logotype-light.svg b/apps/fabro-web/public/logotype-light.svg
deleted file mode 100644
index 70ba81f7b..000000000
--- a/apps/fabro-web/public/logotype-light.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/lib/crates/fabro-proc/src/signal.rs b/lib/crates/fabro-proc/src/signal.rs
index 04f650030..a418b6dca 100644
--- a/lib/crates/fabro-proc/src/signal.rs
+++ b/lib/crates/fabro-proc/src/signal.rs
@@ -146,12 +146,17 @@ pub fn sigusr2(pid: u32) {
}
#[cfg(test)]
+#[expect(
+ clippy::disallowed_types,
+ reason = "Tests use sync std::io::BufReader to read a short-lived helper's stdout synchronously."
+)]
mod tests {
use std::io::{BufRead, BufReader};
use std::process::{Command, Stdio};
use std::time::Duration;
use super::{process_exists, process_group_alive, process_running};
+ use crate::pre_exec::pre_exec_setpgid;
#[test]
fn process_running_returns_true_for_current_process() {
@@ -199,7 +204,7 @@ mod tests {
.stdin(Stdio::null())
.stdout(Stdio::null())
.stderr(Stdio::null());
- crate::pre_exec::pre_exec_setpgid(&mut child);
+ pre_exec_setpgid(&mut child);
let mut child = child.spawn().expect("group leader should spawn");
let pgid = child.id();
diff --git a/lib/crates/fabro-spa/assets/assets/app.css b/lib/crates/fabro-spa/assets/assets/app.css
index 92efdc1a4..1530de026 100644
--- a/lib/crates/fabro-spa/assets/assets/app.css
+++ b/lib/crates/fabro-spa/assets/assets/app.css
@@ -1,2 +1,2 @@
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
-@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#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;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, monospace;--color-amber-100:oklch(96.2% .059 95.617);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-950:oklch(27.9% .077 45.635);--color-teal-300:#b5ddef;--color-teal-500:#67b2d7;--color-teal-700:#357f9e;--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-500:oklch(64.5% .246 16.439);--color-rose-950:oklch(27.1% .105 12.094);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--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-navy-950:#0f1729;--color-mint:#5ac8a8;--color-amber:#f0a45b;--color-coral:#e86b6b;--color-page:#0f1729;--color-panel:#252c3d;--color-panel-alt:#1a2133;--color-overlay:#ffffff0a;--color-overlay-strong:#ffffff1a;--color-fg:#fff;--color-fg-2:#e8edf3;--color-fg-3:#a8b5c5;--color-fg-muted:#4b5768;--color-line:#ffffff0f;--color-line-strong:#ffffff1f;--color-focus:#67b2d766;--color-on-primary:#0f1729}}@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}a[href],button,select,summary,[role=button],[role=link],[role=option],[role=menuitem],[role=tab]{cursor:pointer}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.-inset-0\.5{inset:calc(var(--spacing) * -.5)}.-inset-1\.5{inset:calc(var(--spacing) * -1.5)}.-inset-px{inset:-1px}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-6{top:calc(var(--spacing) * 6)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.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-2{margin-inline:calc(var(--spacing) * -2)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-6{margin-block:calc(var(--spacing) * -6)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom: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-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-px{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-10{margin-left:calc(var(--spacing) * 10)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-1{height:calc(var(--spacing) * 1)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-\[7lh\]{min-height:7lh}.min-h-\[32px\]{min-height:32px}.min-h-\[44px\]{min-height:44px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-72{width:calc(var(--spacing) * 72)}.w-\[min\(24rem\,calc\(100vw-2rem\)\)\]{width:min(24rem,100vw - 2rem)}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[48ch\]{max-width:48ch}.max-w-\[56ch\]{max-width:56ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[120px\]{max-width:120px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-\[44px\]{min-width:44px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-top-right{transform-origin:100% 0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.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}.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-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.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-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-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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-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-line>:not(:last-child)){border-color:var(--color-line)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber\/20{border-color:#f0a45b33}@supports (color:color-mix(in lab, red, red)){.border-amber\/20{border-color:color-mix(in oklab, var(--color-amber) 20%, transparent)}}.border-amber\/30{border-color:#f0a45b4d}@supports (color:color-mix(in lab, red, red)){.border-amber\/30{border-color:color-mix(in oklab, var(--color-amber) 30%, transparent)}}.border-amber\/50{border-color:#f0a45b80}@supports (color:color-mix(in lab, red, red)){.border-amber\/50{border-color:color-mix(in oklab, var(--color-amber) 50%, transparent)}}.border-coral\/15{border-color:#e86b6b26}@supports (color:color-mix(in lab, red, red)){.border-coral\/15{border-color:color-mix(in oklab, var(--color-coral) 15%, transparent)}}.border-coral\/30{border-color:#e86b6b4d}@supports (color:color-mix(in lab, red, red)){.border-coral\/30{border-color:color-mix(in oklab, var(--color-coral) 30%, transparent)}}.border-coral\/40{border-color:#e86b6b66}@supports (color:color-mix(in lab, red, red)){.border-coral\/40{border-color:color-mix(in oklab, var(--color-coral) 40%, transparent)}}.border-fg-muted{border-color:var(--color-fg-muted)}.border-focus{border-color:var(--color-focus)}.border-line{border-color:var(--color-line)}.border-line-strong{border-color:var(--color-line-strong)}.border-mint\/15{border-color:#5ac8a826}@supports (color:color-mix(in lab, red, red)){.border-mint\/15{border-color:color-mix(in oklab, var(--color-mint) 15%, transparent)}}.border-mint\/20{border-color:#5ac8a833}@supports (color:color-mix(in lab, red, red)){.border-mint\/20{border-color:color-mix(in oklab, var(--color-mint) 20%, transparent)}}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/30{border-color:color-mix(in oklab, var(--color-rose-500) 30%, transparent)}}.border-rose-500\/40{border-color:#ff235766}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/40{border-color:color-mix(in oklab, var(--color-rose-500) 40%, transparent)}}.border-teal-500{border-color:var(--color-teal-500)}.border-teal-500\/20{border-color:#67b2d733}@supports (color:color-mix(in lab, red, red)){.border-teal-500\/20{border-color:color-mix(in oklab, var(--color-teal-500) 20%, transparent)}}.border-teal-500\/30{border-color:#67b2d74d}@supports (color:color-mix(in lab, red, red)){.border-teal-500\/30{border-color:color-mix(in oklab, var(--color-teal-500) 30%, transparent)}}.border-teal-500\/50{border-color:#67b2d780}@supports (color:color-mix(in lab, red, red)){.border-teal-500\/50{border-color:color-mix(in oklab, var(--color-teal-500) 50%, transparent)}}.border-transparent{border-color:#0000}.bg-amber{background-color:var(--color-amber)}.bg-amber-950\/20{background-color:#46190133}@supports (color:color-mix(in lab, red, red)){.bg-amber-950\/20{background-color:color-mix(in oklab, var(--color-amber-950) 20%, transparent)}}.bg-amber\/10{background-color:#f0a45b1a}@supports (color:color-mix(in lab, red, red)){.bg-amber\/10{background-color:color-mix(in oklab, var(--color-amber) 10%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-coral{background-color:var(--color-coral)}.bg-coral\/5{background-color:#e86b6b0d}@supports (color:color-mix(in lab, red, red)){.bg-coral\/5{background-color:color-mix(in oklab, var(--color-coral) 5%, transparent)}}.bg-coral\/10{background-color:#e86b6b1a}@supports (color:color-mix(in lab, red, red)){.bg-coral\/10{background-color:color-mix(in oklab, var(--color-coral) 10%, transparent)}}.bg-coral\/15{background-color:#e86b6b26}@supports (color:color-mix(in lab, red, red)){.bg-coral\/15{background-color:color-mix(in oklab, var(--color-coral) 15%, transparent)}}.bg-fg-muted{background-color:var(--color-fg-muted)}.bg-line-strong{background-color:var(--color-line-strong)}.bg-mint{background-color:var(--color-mint)}.bg-mint\/5{background-color:#5ac8a80d}@supports (color:color-mix(in lab, red, red)){.bg-mint\/5{background-color:color-mix(in oklab, var(--color-mint) 5%, transparent)}}.bg-mint\/15{background-color:#5ac8a826}@supports (color:color-mix(in lab, red, red)){.bg-mint\/15{background-color:color-mix(in oklab, var(--color-mint) 15%, transparent)}}.bg-mint\/40{background-color:#5ac8a866}@supports (color:color-mix(in lab, red, red)){.bg-mint\/40{background-color:color-mix(in oklab, var(--color-mint) 40%, transparent)}}.bg-navy-950{background-color:var(--color-navy-950)}.bg-overlay{background-color:var(--color-overlay)}.bg-overlay-strong{background-color:var(--color-overlay-strong)}.bg-page{background-color:var(--color-page)}.bg-page\/50{background-color:#0f172980}@supports (color:color-mix(in lab, red, red)){.bg-page\/50{background-color:color-mix(in oklab, var(--color-page) 50%, transparent)}}.bg-page\/60{background-color:#0f172999}@supports (color:color-mix(in lab, red, red)){.bg-page\/60{background-color:color-mix(in oklab, var(--color-page) 60%, transparent)}}.bg-page\/80{background-color:#0f1729cc}@supports (color:color-mix(in lab, red, red)){.bg-page\/80{background-color:color-mix(in oklab, var(--color-page) 80%, transparent)}}.bg-page\/85{background-color:#0f1729d9}@supports (color:color-mix(in lab, red, red)){.bg-page\/85{background-color:color-mix(in oklab, var(--color-page) 85%, transparent)}}.bg-panel{background-color:var(--color-panel)}.bg-panel-alt{background-color:var(--color-panel-alt)}.bg-panel-alt\/40{background-color:#1a213366}@supports (color:color-mix(in lab, red, red)){.bg-panel-alt\/40{background-color:color-mix(in oklab, var(--color-panel-alt) 40%, transparent)}}.bg-panel-alt\/60{background-color:#1a213399}@supports (color:color-mix(in lab, red, red)){.bg-panel-alt\/60{background-color:color-mix(in oklab, var(--color-panel-alt) 60%, transparent)}}.bg-panel-alt\/80{background-color:#1a2133cc}@supports (color:color-mix(in lab, red, red)){.bg-panel-alt\/80{background-color:color-mix(in oklab, var(--color-panel-alt) 80%, transparent)}}.bg-panel\/40{background-color:#252c3d66}@supports (color:color-mix(in lab, red, red)){.bg-panel\/40{background-color:color-mix(in oklab, var(--color-panel) 40%, transparent)}}.bg-panel\/50{background-color:#252c3d80}@supports (color:color-mix(in lab, red, red)){.bg-panel\/50{background-color:color-mix(in oklab, var(--color-panel) 50%, transparent)}}.bg-panel\/60{background-color:#252c3d99}@supports (color:color-mix(in lab, red, red)){.bg-panel\/60{background-color:color-mix(in oklab, var(--color-panel) 60%, transparent)}}.bg-panel\/80{background-color:#252c3dcc}@supports (color:color-mix(in lab, red, red)){.bg-panel\/80{background-color:color-mix(in oklab, var(--color-panel) 80%, transparent)}}.bg-panel\/90{background-color:#252c3de6}@supports (color:color-mix(in lab, red, red)){.bg-panel\/90{background-color:color-mix(in oklab, var(--color-panel) 90%, transparent)}}.bg-panel\/95{background-color:#252c3df2}@supports (color:color-mix(in lab, red, red)){.bg-panel\/95{background-color:color-mix(in oklab, var(--color-panel) 95%, transparent)}}.bg-rose-950\/20{background-color:#4d021833}@supports (color:color-mix(in lab, red, red)){.bg-rose-950\/20{background-color:color-mix(in oklab, var(--color-rose-950) 20%, transparent)}}.bg-rose-950\/40{background-color:#4d021866}@supports (color:color-mix(in lab, red, red)){.bg-rose-950\/40{background-color:color-mix(in oklab, var(--color-rose-950) 40%, transparent)}}.bg-rose-950\/90{background-color:#4d0218e6}@supports (color:color-mix(in lab, red, red)){.bg-rose-950\/90{background-color:color-mix(in oklab, var(--color-rose-950) 90%, transparent)}}.bg-teal-300{background-color:var(--color-teal-300)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-500\/5{background-color:#67b2d70d}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/5{background-color:color-mix(in oklab, var(--color-teal-500) 5%, transparent)}}.bg-teal-500\/10{background-color:#67b2d71a}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/10{background-color:color-mix(in oklab, var(--color-teal-500) 10%, transparent)}}.bg-teal-500\/15{background-color:#67b2d726}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/15{background-color:color-mix(in oklab, var(--color-teal-500) 15%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-teal-500\/30{--tw-gradient-from:#67b2d74d}@supports (color:color-mix(in lab, red, red)){.from-teal-500\/30{--tw-gradient-from:color-mix(in oklab, var(--color-teal-500) 30%, transparent)}}.from-teal-500\/30{--tw-gradient-stops:var(--tw-gradient-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-mint\/20{--tw-gradient-to:#5ac8a833}@supports (color:color-mix(in lab, red, red)){.to-mint\/20{--tw-gradient-to:color-mix(in oklab, var(--color-mint) 20%, transparent)}}.to-mint\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.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\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[12vh\]{padding-top:12vh}.pt-\[15vh\]{padding-top:15vh}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-base\/7{font-size:var(--text-base);line-height:calc(var(--spacing) * 7)}.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-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing) * 6)}.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-xs\/5{font-size:var(--text-xs);line-height:calc(var(--spacing) * 5)}.text-\[2rem\]{font-size:2rem}.text-\[8rem\]{font-size:8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.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-\[1\.625rem\]{--tw-leading:1.625rem;line-height:1.625rem}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber{color:var(--color-amber)}.text-amber-100{color:var(--color-amber-100)}.text-amber\/70{color:#f0a45bb3}@supports (color:color-mix(in lab, red, red)){.text-amber\/70{color:color-mix(in oklab, var(--color-amber) 70%, transparent)}}.text-coral{color:var(--color-coral)}.text-current,.text-current\/70{color:currentColor}@supports (color:color-mix(in lab, red, red)){.text-current\/70{color:color-mix(in oklab, currentcolor 70%, transparent)}}.text-fg{color:var(--color-fg)}.text-fg-2{color:var(--color-fg-2)}.text-fg-3{color:var(--color-fg-3)}.text-fg-muted{color:var(--color-fg-muted)}.text-fg-muted\/60{color:#4b576899}@supports (color:color-mix(in lab, red, red)){.text-fg-muted\/60{color:color-mix(in oklab, var(--color-fg-muted) 60%, transparent)}}.text-mint{color:var(--color-mint)}.text-on-primary{color:var(--color-on-primary)}.text-rose-50{color:var(--color-rose-50)}.text-rose-100{color:var(--color-rose-100)}.text-rose-200{color:var(--color-rose-200)}.text-teal-300{color:var(--color-teal-300)}.text-teal-500{color:var(--color-teal-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-fg-muted::placeholder{color:var(--color-fg-muted)}.opacity-0{opacity:0}.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-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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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-black\/30{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.shadow-black\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.shadow-black\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.outline,.outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.-outline-offset-1{outline-offset:calc(1px * -1)}.outline-amber\/30{outline-color:#f0a45b4d}@supports (color:color-mix(in lab, red, red)){.outline-amber\/30{outline-color:color-mix(in oklab, var(--color-amber) 30%, transparent)}}.outline-coral\/40{outline-color:#e86b6b66}@supports (color:color-mix(in lab, red, red)){.outline-coral\/40{outline-color:color-mix(in oklab, var(--color-coral) 40%, transparent)}}.outline-line-strong{outline-color:var(--color-line-strong)}.outline-teal-500{outline-color:var(--color-teal-500)}.outline-teal-500\/60{outline-color:#67b2d799}@supports (color:color-mix(in lab, red, red)){.outline-teal-500\/60{outline-color:color-mix(in oklab, var(--color-teal-500) 60%, transparent)}}.outline-white\/10{outline-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.outline-white\/10{outline-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.outline-white\/20{outline-color:#fff3}@supports (color:color-mix(in lab, red, red)){.outline-white\/20{outline-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.blur-sm{--tw-blur:blur(var(--blur-sm));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-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,)}.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-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--anchor-gap\:4px\]{--anchor-gap:4px}.group-open\:-rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:-180deg}.group-focus-within\:border-focus:is(:where(.group):focus-within *){border-color:var(--color-focus)}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:text-fg:is(:where(.group):hover *){color:var(--color-fg)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-open\:block:is(:where(.group)[data-open] *){display:block}.group-data-open\:hidden:is(:where(.group)[data-open] *){display:none}.placeholder\:text-fg-muted::placeholder{color:var(--color-fg-muted)}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing) * 0)}.after\:border-b:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.after\:border-line-strong:after{content:var(--tw-content);border-color:var(--color-line-strong)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-amber\/50:hover{border-color:#f0a45b80}@supports (color:color-mix(in lab, red, red)){.hover\:border-amber\/50:hover{border-color:color-mix(in oklab, var(--color-amber) 50%, transparent)}}.hover\:border-line-strong:hover{border-color:var(--color-line-strong)}.hover\:border-mint\/50:hover{border-color:#5ac8a880}@supports (color:color-mix(in lab, red, red)){.hover\:border-mint\/50:hover{border-color:color-mix(in oklab, var(--color-mint) 50%, transparent)}}.hover\:border-teal-500\/30:hover{border-color:#67b2d74d}@supports (color:color-mix(in lab, red, red)){.hover\:border-teal-500\/30:hover{border-color:color-mix(in oklab, var(--color-teal-500) 30%, transparent)}}.hover\:border-teal-500\/40:hover{border-color:#67b2d766}@supports (color:color-mix(in lab, red, red)){.hover\:border-teal-500\/40:hover{border-color:color-mix(in oklab, var(--color-teal-500) 40%, transparent)}}.hover\:border-teal-500\/50:hover{border-color:#67b2d780}@supports (color:color-mix(in lab, red, red)){.hover\:border-teal-500\/50:hover{border-color:color-mix(in oklab, var(--color-teal-500) 50%, transparent)}}.hover\:bg-amber\/10:hover{background-color:#f0a45b1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber\/10:hover{background-color:color-mix(in oklab, var(--color-amber) 10%, transparent)}}.hover\:bg-coral\/15:hover{background-color:#e86b6b26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-coral\/15:hover{background-color:color-mix(in oklab, var(--color-coral) 15%, transparent)}}.hover\:bg-mint\/10:hover{background-color:#5ac8a81a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-mint\/10:hover{background-color:color-mix(in oklab, var(--color-mint) 10%, transparent)}}.hover\:bg-overlay:hover{background-color:var(--color-overlay)}.hover\:bg-overlay-strong:hover{background-color:var(--color-overlay-strong)}.hover\:bg-page\/80:hover{background-color:#0f1729cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-page\/80:hover{background-color:color-mix(in oklab, var(--color-page) 80%, transparent)}}.hover\:bg-panel:hover{background-color:var(--color-panel)}.hover\:bg-panel\/80:hover{background-color:#252c3dcc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-panel\/80:hover{background-color:color-mix(in oklab, var(--color-panel) 80%, transparent)}}.hover\:bg-rose-950\/60:hover{background-color:#4d021899}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rose-950\/60:hover{background-color:color-mix(in oklab, var(--color-rose-950) 60%, transparent)}}.hover\:bg-teal-300:hover{background-color:var(--color-teal-300)}.hover\:bg-teal-500\/15:hover{background-color:#67b2d726}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal-500\/15:hover{background-color:color-mix(in oklab, var(--color-teal-500) 15%, transparent)}}.hover\:bg-teal-500\/20:hover{background-color:#67b2d733}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal-500\/20:hover{background-color:color-mix(in oklab, var(--color-teal-500) 20%, transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:text-current:hover{color:currentColor}.hover\:text-fg:hover{color:var(--color-fg)}.hover\:text-fg-2:hover{color:var(--color-fg-2)}.hover\:text-fg-3:hover{color:var(--color-fg-3)}.hover\:text-teal-300:hover{color:var(--color-teal-300)}.hover\:text-teal-500:hover{color:var(--color-teal-500)}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--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)}.hover\:shadow-black\/20:hover{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-black\/20:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:outline-white\/15:hover{outline-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:outline-white\/15:hover{outline-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}}.focus\:border-focus:focus{border-color:var(--color-focus)}.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\:outline-2:focus{outline-style:var(--tw-outline-style);outline-width:2px}.focus\:-outline-offset-1:focus{outline-offset:calc(1px * -1)}.focus\:outline-offset-2:focus{outline-offset:2px}.focus\:outline-focus:focus{outline-color:var(--color-focus)}.focus\:outline-teal-500:focus{outline-color:var(--color-teal-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-1:focus-visible{outline-offset:calc(1px * -1)}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-teal-500:focus-visible{outline-color:var(--color-teal-500)}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-line:disabled{border-color:var(--color-line)}.disabled\:text-fg-muted:disabled{color:var(--color-fg-muted)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:border-mint\/20:disabled:hover{border-color:#5ac8a833}@supports (color:color-mix(in lab, red, red)){.disabled\:hover\:border-mint\/20:disabled:hover{border-color:color-mix(in oklab, var(--color-mint) 20%, transparent)}}.disabled\:hover\:bg-coral\/10:disabled:hover{background-color:#e86b6b1a}@supports (color:color-mix(in lab, red, red)){.disabled\:hover\:bg-coral\/10:disabled:hover{background-color:color-mix(in oklab, var(--color-coral) 10%, transparent)}}.disabled\:hover\:bg-mint\/5:disabled:hover{background-color:#5ac8a80d}@supports (color:color-mix(in lab, red, red)){.disabled\:hover\:bg-mint\/5:disabled:hover{background-color:color-mix(in oklab, var(--color-mint) 5%, transparent)}}.disabled\:hover\:bg-teal-500:disabled:hover{background-color:var(--color-teal-500)}.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-fg-muted:disabled:hover{color:var(--color-fg-muted)}.disabled\:hover\:text-mint:disabled:hover{color:var(--color-mint)}}.data-closed\:scale-95[data-closed]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-closed\:transform[data-closed]{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.data-closed\:opacity-0[data-closed]{opacity:0}.data-enter\:duration-100[data-enter]{--tw-duration:.1s;transition-duration:.1s}.data-enter\:ease-out[data-enter]{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.data-focus\:bg-overlay[data-focus]{background-color:var(--color-overlay)}.data-focus\:outline-hidden[data-focus]{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.data-focus\:outline-hidden[data-focus]{outline-offset:2px;outline:2px solid #0000}}.data-leave\:duration-75[data-leave]{--tw-duration:75ms;transition-duration:75ms}.data-leave\:ease-in[data-leave]{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.data-selected\:text-teal-300[data-selected]{color:var(--color-teal-300)}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}}@media (min-width:40rem){.sm\:right-6{right:calc(var(--spacing) * 6)}.sm\:-mx-6{margin-inline:calc(var(--spacing) * -6)}.sm\:mt-12{margin-top:calc(var(--spacing) * 12)}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.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-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-\[0\.9375rem\]\/7{font-size:.9375rem;line-height:calc(var(--spacing) * 7)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.sm\:text-\[1\.75rem\]{font-size:1.75rem}}@media (min-width:48rem){.md\:ml-6{margin-left:calc(var(--spacing) * 6)}.md\:block{display:block}.md\:hidden{display:none}}@media (min-width:64rem){.lg\:-mx-8{margin-inline:calc(var(--spacing) * -8)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.prose-headings\:text-fg-2 :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-fg-2)}.prose-a\:text-teal-500 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-teal-500)}.prose-strong\:text-fg-2 :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-fg-2)}.prose-code\:rounded :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.25rem}.prose-code\:bg-overlay-strong :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--color-overlay-strong)}.prose-code\:px-1 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline:calc(var(--spacing) * 1)}.prose-code\:py-0\.5 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding-block:calc(var(--spacing) * .5)}.prose-code\:font-mono :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-family:var(--font-mono)}.prose-code\:text-\[0\.8em\] :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8em}.prose-code\:text-fg-3 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-fg-3)}.prose-code\:before\:content-none :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose-code\:after\:content-none :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:var(--tw-content);--tw-content:none;content:none}.prose-pre\:bg-overlay-strong :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--color-overlay-strong)}.prose-pre\:text-fg-3 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-fg-3)}.\[\&_svg\]\:mx-auto svg{margin-inline:auto}.\[\&_svg\]\:block svg{display:block}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:not\(\:first-child\)\]\:ml-1:not(:first-child){margin-left:calc(var(--spacing) * 1)}.\[\&\:not\(\:first-child\)\]\:border-l:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:1px}.\[\&\:not\(\:first-child\)\]\:border-line-strong:not(:first-child){border-color:var(--color-line-strong)}.\[\&\:not\(\:first-child\)\]\:pl-1:not(:first-child){padding-left:calc(var(--spacing) * 1)}}.light{--color-page:#eef2f7;--color-panel:#fff;--color-panel-alt:#e4eaf1;--color-overlay:#0f17290d;--color-overlay-strong:#0f17291a;--color-fg:#0f172a;--color-fg-2:#1e293b;--color-fg-3:#475569;--color-fg-muted:#64748b;--color-line:#0f17291a;--color-line-strong:#0f17292e;--color-focus:#0e749080;--color-on-primary:#fff;--color-mint:#0d9488;--color-amber:#d97706;--color-coral:#dc2626;--color-teal-300:#0891b2;--color-teal-500:#0e7490}:root{--chart-gridline:#ffffff0a;--chart-axis-label:#4b5768}.light{--chart-gridline:#0000000f;--chart-axis-label:#475569}.bg-atmosphere{background-color:var(--color-page);background-image:radial-gradient(120% 60% at 15% 5%,#357f9e1f 0%,#0000 50%),radial-gradient(80% 50% at 85% 90%,#5ac8a812 0%,#0000 45%);background-attachment:fixed}.light .bg-atmosphere,.light.bg-atmosphere{background-image:radial-gradient(120% 60% at 15% 5%,#0e74900f 0%,#0000 50%),radial-gradient(80% 50% at 85% 90%,#0d94880a 0%,#0000 45%)}.bg-atmosphere:before{content:"";z-index:1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}.light .bg-atmosphere:before,.light.bg-atmosphere:before{opacity:.03}:root{--diffs-font-family:"JetBrains Mono", ui-monospace, monospace;--diffs-header-font-family:"Geist", ui-sans-serif, system-ui, sans-serif;--diffs-font-size:13px;--diffs-line-height:20px;--diffs-bg-buffer-override:#0f1729;--diffs-bg-context-override:#161d2e;--diffs-bg-hover-override:#1c2438;--diffs-bg-separator-override:#252c3d;--diffs-fg-number-override:#4b5768;--diffs-addition-color-override:#5ac8a8;--diffs-fg-number-addition-override:#5ac8a880;--diffs-deletion-color-override:#e86b6b;--diffs-fg-number-deletion-override:#e86b6b80}.dark .graph-svg text{fill:#c6d4e0}.dark .graph-svg [stroke=\#357f9e]{stroke:#67b2d7}.dark .graph-svg [stroke=\#666666]{stroke:#5a7a94}.dark .graph-svg polygon[fill=\#357f9e]{fill:#67b2d7}.dark .graph-svg polygon[fill=\#666666]{fill:#5a7a94}.dark .graph-svg ellipse[fill=\#ffffff],.dark .graph-svg polygon[fill=\#ffffff]{fill:#1a2b3c}.dark .graph-svg ellipse[stroke=\#357f9e],.dark .graph-svg polygon[stroke=\#357f9e]{stroke:#67b2d7}.dark .graph-svg [fill=\#1a1a1a]{fill:#c6d4e0}.light{--diffs-bg-buffer-override:#fff;--diffs-bg-context-override:#f8fafc;--diffs-bg-hover-override:#f1f5f9;--diffs-bg-separator-override:#e2e8f0;--diffs-fg-number-override:#94a3b8;--diffs-addition-color-override:#0d9488;--diffs-fg-number-addition-override:#0d948880;--diffs-deletion-color-override:#dc2626;--diffs-fg-number-deletion-override:#dc262680}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";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:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";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:"";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:"";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:"";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:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
\ No newline at end of file
+@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#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;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, monospace;--color-amber-100:oklch(96.2% .059 95.617);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-950:oklch(27.9% .077 45.635);--color-teal-300:#b5ddef;--color-teal-500:#67b2d7;--color-teal-700:#357f9e;--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-500:oklch(64.5% .246 16.439);--color-rose-950:oklch(27.1% .105 12.094);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--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-navy-950:#0f1729;--color-mint:#5ac8a8;--color-amber:#f0a45b;--color-coral:#e86b6b;--color-page:#0f1729;--color-panel:#252c3d;--color-panel-alt:#1a2133;--color-overlay:#ffffff0a;--color-overlay-strong:#ffffff1a;--color-fg:#fff;--color-fg-2:#e8edf3;--color-fg-3:#a8b5c5;--color-fg-muted:#4b5768;--color-line:#ffffff0f;--color-line-strong:#ffffff1f;--color-focus:#67b2d766;--color-on-primary:#0f1729}}@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}a[href],button,select,summary,[role=button],[role=link],[role=option],[role=menuitem],[role=tab]{cursor:pointer}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.-inset-0\.5{inset:calc(var(--spacing) * -.5)}.-inset-1\.5{inset:calc(var(--spacing) * -1.5)}.-inset-px{inset:-1px}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-6{top:calc(var(--spacing) * 6)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.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-2{margin-inline:calc(var(--spacing) * -2)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-6{margin-block:calc(var(--spacing) * -6)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom: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-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-px{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-10{margin-left:calc(var(--spacing) * 10)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-1{height:calc(var(--spacing) * 1)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-\[7lh\]{min-height:7lh}.min-h-\[32px\]{min-height:32px}.min-h-\[44px\]{min-height:44px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-72{width:calc(var(--spacing) * 72)}.w-\[min\(24rem\,calc\(100vw-2rem\)\)\]{width:min(24rem,100vw - 2rem)}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[48ch\]{max-width:48ch}.max-w-\[56ch\]{max-width:56ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[120px\]{max-width:120px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-\[44px\]{min-width:44px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-top-right{transform-origin:100% 0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.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}.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-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.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-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-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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-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-line>:not(:last-child)){border-color:var(--color-line)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber\/20{border-color:#f0a45b33}@supports (color:color-mix(in lab, red, red)){.border-amber\/20{border-color:color-mix(in oklab, var(--color-amber) 20%, transparent)}}.border-amber\/30{border-color:#f0a45b4d}@supports (color:color-mix(in lab, red, red)){.border-amber\/30{border-color:color-mix(in oklab, var(--color-amber) 30%, transparent)}}.border-amber\/50{border-color:#f0a45b80}@supports (color:color-mix(in lab, red, red)){.border-amber\/50{border-color:color-mix(in oklab, var(--color-amber) 50%, transparent)}}.border-coral\/15{border-color:#e86b6b26}@supports (color:color-mix(in lab, red, red)){.border-coral\/15{border-color:color-mix(in oklab, var(--color-coral) 15%, transparent)}}.border-coral\/30{border-color:#e86b6b4d}@supports (color:color-mix(in lab, red, red)){.border-coral\/30{border-color:color-mix(in oklab, var(--color-coral) 30%, transparent)}}.border-coral\/40{border-color:#e86b6b66}@supports (color:color-mix(in lab, red, red)){.border-coral\/40{border-color:color-mix(in oklab, var(--color-coral) 40%, transparent)}}.border-fg-muted{border-color:var(--color-fg-muted)}.border-focus{border-color:var(--color-focus)}.border-line{border-color:var(--color-line)}.border-line-strong{border-color:var(--color-line-strong)}.border-mint\/15{border-color:#5ac8a826}@supports (color:color-mix(in lab, red, red)){.border-mint\/15{border-color:color-mix(in oklab, var(--color-mint) 15%, transparent)}}.border-mint\/20{border-color:#5ac8a833}@supports (color:color-mix(in lab, red, red)){.border-mint\/20{border-color:color-mix(in oklab, var(--color-mint) 20%, transparent)}}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/30{border-color:color-mix(in oklab, var(--color-rose-500) 30%, transparent)}}.border-rose-500\/40{border-color:#ff235766}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/40{border-color:color-mix(in oklab, var(--color-rose-500) 40%, transparent)}}.border-teal-500{border-color:var(--color-teal-500)}.border-teal-500\/20{border-color:#67b2d733}@supports (color:color-mix(in lab, red, red)){.border-teal-500\/20{border-color:color-mix(in oklab, var(--color-teal-500) 20%, transparent)}}.border-teal-500\/30{border-color:#67b2d74d}@supports (color:color-mix(in lab, red, red)){.border-teal-500\/30{border-color:color-mix(in oklab, var(--color-teal-500) 30%, transparent)}}.border-teal-500\/50{border-color:#67b2d780}@supports (color:color-mix(in lab, red, red)){.border-teal-500\/50{border-color:color-mix(in oklab, var(--color-teal-500) 50%, transparent)}}.border-transparent{border-color:#0000}.bg-amber{background-color:var(--color-amber)}.bg-amber-950\/20{background-color:#46190133}@supports (color:color-mix(in lab, red, red)){.bg-amber-950\/20{background-color:color-mix(in oklab, var(--color-amber-950) 20%, transparent)}}.bg-amber\/10{background-color:#f0a45b1a}@supports (color:color-mix(in lab, red, red)){.bg-amber\/10{background-color:color-mix(in oklab, var(--color-amber) 10%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-coral{background-color:var(--color-coral)}.bg-coral\/5{background-color:#e86b6b0d}@supports (color:color-mix(in lab, red, red)){.bg-coral\/5{background-color:color-mix(in oklab, var(--color-coral) 5%, transparent)}}.bg-coral\/10{background-color:#e86b6b1a}@supports (color:color-mix(in lab, red, red)){.bg-coral\/10{background-color:color-mix(in oklab, var(--color-coral) 10%, transparent)}}.bg-coral\/15{background-color:#e86b6b26}@supports (color:color-mix(in lab, red, red)){.bg-coral\/15{background-color:color-mix(in oklab, var(--color-coral) 15%, transparent)}}.bg-fg-muted{background-color:var(--color-fg-muted)}.bg-line-strong{background-color:var(--color-line-strong)}.bg-mint{background-color:var(--color-mint)}.bg-mint\/5{background-color:#5ac8a80d}@supports (color:color-mix(in lab, red, red)){.bg-mint\/5{background-color:color-mix(in oklab, var(--color-mint) 5%, transparent)}}.bg-mint\/15{background-color:#5ac8a826}@supports (color:color-mix(in lab, red, red)){.bg-mint\/15{background-color:color-mix(in oklab, var(--color-mint) 15%, transparent)}}.bg-mint\/40{background-color:#5ac8a866}@supports (color:color-mix(in lab, red, red)){.bg-mint\/40{background-color:color-mix(in oklab, var(--color-mint) 40%, transparent)}}.bg-navy-950{background-color:var(--color-navy-950)}.bg-overlay{background-color:var(--color-overlay)}.bg-overlay-strong{background-color:var(--color-overlay-strong)}.bg-page{background-color:var(--color-page)}.bg-page\/50{background-color:#0f172980}@supports (color:color-mix(in lab, red, red)){.bg-page\/50{background-color:color-mix(in oklab, var(--color-page) 50%, transparent)}}.bg-page\/60{background-color:#0f172999}@supports (color:color-mix(in lab, red, red)){.bg-page\/60{background-color:color-mix(in oklab, var(--color-page) 60%, transparent)}}.bg-page\/80{background-color:#0f1729cc}@supports (color:color-mix(in lab, red, red)){.bg-page\/80{background-color:color-mix(in oklab, var(--color-page) 80%, transparent)}}.bg-page\/85{background-color:#0f1729d9}@supports (color:color-mix(in lab, red, red)){.bg-page\/85{background-color:color-mix(in oklab, var(--color-page) 85%, transparent)}}.bg-panel{background-color:var(--color-panel)}.bg-panel-alt{background-color:var(--color-panel-alt)}.bg-panel-alt\/40{background-color:#1a213366}@supports (color:color-mix(in lab, red, red)){.bg-panel-alt\/40{background-color:color-mix(in oklab, var(--color-panel-alt) 40%, transparent)}}.bg-panel-alt\/60{background-color:#1a213399}@supports (color:color-mix(in lab, red, red)){.bg-panel-alt\/60{background-color:color-mix(in oklab, var(--color-panel-alt) 60%, transparent)}}.bg-panel-alt\/80{background-color:#1a2133cc}@supports (color:color-mix(in lab, red, red)){.bg-panel-alt\/80{background-color:color-mix(in oklab, var(--color-panel-alt) 80%, transparent)}}.bg-panel\/40{background-color:#252c3d66}@supports (color:color-mix(in lab, red, red)){.bg-panel\/40{background-color:color-mix(in oklab, var(--color-panel) 40%, transparent)}}.bg-panel\/50{background-color:#252c3d80}@supports (color:color-mix(in lab, red, red)){.bg-panel\/50{background-color:color-mix(in oklab, var(--color-panel) 50%, transparent)}}.bg-panel\/60{background-color:#252c3d99}@supports (color:color-mix(in lab, red, red)){.bg-panel\/60{background-color:color-mix(in oklab, var(--color-panel) 60%, transparent)}}.bg-panel\/80{background-color:#252c3dcc}@supports (color:color-mix(in lab, red, red)){.bg-panel\/80{background-color:color-mix(in oklab, var(--color-panel) 80%, transparent)}}.bg-panel\/90{background-color:#252c3de6}@supports (color:color-mix(in lab, red, red)){.bg-panel\/90{background-color:color-mix(in oklab, var(--color-panel) 90%, transparent)}}.bg-panel\/95{background-color:#252c3df2}@supports (color:color-mix(in lab, red, red)){.bg-panel\/95{background-color:color-mix(in oklab, var(--color-panel) 95%, transparent)}}.bg-rose-950\/20{background-color:#4d021833}@supports (color:color-mix(in lab, red, red)){.bg-rose-950\/20{background-color:color-mix(in oklab, var(--color-rose-950) 20%, transparent)}}.bg-rose-950\/40{background-color:#4d021866}@supports (color:color-mix(in lab, red, red)){.bg-rose-950\/40{background-color:color-mix(in oklab, var(--color-rose-950) 40%, transparent)}}.bg-rose-950\/90{background-color:#4d0218e6}@supports (color:color-mix(in lab, red, red)){.bg-rose-950\/90{background-color:color-mix(in oklab, var(--color-rose-950) 90%, transparent)}}.bg-teal-300{background-color:var(--color-teal-300)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-500\/5{background-color:#67b2d70d}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/5{background-color:color-mix(in oklab, var(--color-teal-500) 5%, transparent)}}.bg-teal-500\/10{background-color:#67b2d71a}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/10{background-color:color-mix(in oklab, var(--color-teal-500) 10%, transparent)}}.bg-teal-500\/15{background-color:#67b2d726}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/15{background-color:color-mix(in oklab, var(--color-teal-500) 15%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-teal-500\/30{--tw-gradient-from:#67b2d74d}@supports (color:color-mix(in lab, red, red)){.from-teal-500\/30{--tw-gradient-from:color-mix(in oklab, var(--color-teal-500) 30%, transparent)}}.from-teal-500\/30{--tw-gradient-stops:var(--tw-gradient-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-mint\/20{--tw-gradient-to:#5ac8a833}@supports (color:color-mix(in lab, red, red)){.to-mint\/20{--tw-gradient-to:color-mix(in oklab, var(--color-mint) 20%, transparent)}}.to-mint\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.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\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[12vh\]{padding-top:12vh}.pt-\[15vh\]{padding-top:15vh}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-base\/7{font-size:var(--text-base);line-height:calc(var(--spacing) * 7)}.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-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing) * 6)}.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-xs\/5{font-size:var(--text-xs);line-height:calc(var(--spacing) * 5)}.text-\[2rem\]{font-size:2rem}.text-\[8rem\]{font-size:8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.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-\[1\.625rem\]{--tw-leading:1.625rem;line-height:1.625rem}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber{color:var(--color-amber)}.text-amber-100{color:var(--color-amber-100)}.text-amber\/70{color:#f0a45bb3}@supports (color:color-mix(in lab, red, red)){.text-amber\/70{color:color-mix(in oklab, var(--color-amber) 70%, transparent)}}.text-coral{color:var(--color-coral)}.text-current,.text-current\/70{color:currentColor}@supports (color:color-mix(in lab, red, red)){.text-current\/70{color:color-mix(in oklab, currentcolor 70%, transparent)}}.text-fg{color:var(--color-fg)}.text-fg-2{color:var(--color-fg-2)}.text-fg-3{color:var(--color-fg-3)}.text-fg-muted{color:var(--color-fg-muted)}.text-fg-muted\/60{color:#4b576899}@supports (color:color-mix(in lab, red, red)){.text-fg-muted\/60{color:color-mix(in oklab, var(--color-fg-muted) 60%, transparent)}}.text-mint{color:var(--color-mint)}.text-on-primary{color:var(--color-on-primary)}.text-rose-50{color:var(--color-rose-50)}.text-rose-100{color:var(--color-rose-100)}.text-rose-200{color:var(--color-rose-200)}.text-teal-300{color:var(--color-teal-300)}.text-teal-500{color:var(--color-teal-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-fg-muted::placeholder{color:var(--color-fg-muted)}.scheme-only-dark{color-scheme:dark only}.opacity-0{opacity:0}.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-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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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-black\/30{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.shadow-black\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.shadow-black\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.outline,.outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.-outline-offset-1{outline-offset:calc(1px * -1)}.outline-amber\/30{outline-color:#f0a45b4d}@supports (color:color-mix(in lab, red, red)){.outline-amber\/30{outline-color:color-mix(in oklab, var(--color-amber) 30%, transparent)}}.outline-coral\/40{outline-color:#e86b6b66}@supports (color:color-mix(in lab, red, red)){.outline-coral\/40{outline-color:color-mix(in oklab, var(--color-coral) 40%, transparent)}}.outline-line-strong{outline-color:var(--color-line-strong)}.outline-teal-500{outline-color:var(--color-teal-500)}.outline-teal-500\/60{outline-color:#67b2d799}@supports (color:color-mix(in lab, red, red)){.outline-teal-500\/60{outline-color:color-mix(in oklab, var(--color-teal-500) 60%, transparent)}}.outline-white\/10{outline-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.outline-white\/10{outline-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.outline-white\/20{outline-color:#fff3}@supports (color:color-mix(in lab, red, red)){.outline-white\/20{outline-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.blur-sm{--tw-blur:blur(var(--blur-sm));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-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,)}.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-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--anchor-gap\:4px\]{--anchor-gap:4px}.group-open\:-rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:-180deg}.group-focus-within\:border-focus:is(:where(.group):focus-within *){border-color:var(--color-focus)}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:text-fg:is(:where(.group):hover *){color:var(--color-fg)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-open\:block:is(:where(.group)[data-open] *){display:block}.group-data-open\:hidden:is(:where(.group)[data-open] *){display:none}.placeholder\:text-fg-muted::placeholder{color:var(--color-fg-muted)}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing) * 0)}.after\:border-b:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.after\:border-line-strong:after{content:var(--tw-content);border-color:var(--color-line-strong)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-amber\/50:hover{border-color:#f0a45b80}@supports (color:color-mix(in lab, red, red)){.hover\:border-amber\/50:hover{border-color:color-mix(in oklab, var(--color-amber) 50%, transparent)}}.hover\:border-line-strong:hover{border-color:var(--color-line-strong)}.hover\:border-mint\/50:hover{border-color:#5ac8a880}@supports (color:color-mix(in lab, red, red)){.hover\:border-mint\/50:hover{border-color:color-mix(in oklab, var(--color-mint) 50%, transparent)}}.hover\:border-teal-500\/30:hover{border-color:#67b2d74d}@supports (color:color-mix(in lab, red, red)){.hover\:border-teal-500\/30:hover{border-color:color-mix(in oklab, var(--color-teal-500) 30%, transparent)}}.hover\:border-teal-500\/40:hover{border-color:#67b2d766}@supports (color:color-mix(in lab, red, red)){.hover\:border-teal-500\/40:hover{border-color:color-mix(in oklab, var(--color-teal-500) 40%, transparent)}}.hover\:border-teal-500\/50:hover{border-color:#67b2d780}@supports (color:color-mix(in lab, red, red)){.hover\:border-teal-500\/50:hover{border-color:color-mix(in oklab, var(--color-teal-500) 50%, transparent)}}.hover\:bg-amber\/10:hover{background-color:#f0a45b1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber\/10:hover{background-color:color-mix(in oklab, var(--color-amber) 10%, transparent)}}.hover\:bg-coral\/15:hover{background-color:#e86b6b26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-coral\/15:hover{background-color:color-mix(in oklab, var(--color-coral) 15%, transparent)}}.hover\:bg-mint\/10:hover{background-color:#5ac8a81a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-mint\/10:hover{background-color:color-mix(in oklab, var(--color-mint) 10%, transparent)}}.hover\:bg-overlay:hover{background-color:var(--color-overlay)}.hover\:bg-overlay-strong:hover{background-color:var(--color-overlay-strong)}.hover\:bg-page\/80:hover{background-color:#0f1729cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-page\/80:hover{background-color:color-mix(in oklab, var(--color-page) 80%, transparent)}}.hover\:bg-panel:hover{background-color:var(--color-panel)}.hover\:bg-panel\/80:hover{background-color:#252c3dcc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-panel\/80:hover{background-color:color-mix(in oklab, var(--color-panel) 80%, transparent)}}.hover\:bg-rose-950\/60:hover{background-color:#4d021899}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rose-950\/60:hover{background-color:color-mix(in oklab, var(--color-rose-950) 60%, transparent)}}.hover\:bg-teal-300:hover{background-color:var(--color-teal-300)}.hover\:bg-teal-500\/15:hover{background-color:#67b2d726}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal-500\/15:hover{background-color:color-mix(in oklab, var(--color-teal-500) 15%, transparent)}}.hover\:bg-teal-500\/20:hover{background-color:#67b2d733}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal-500\/20:hover{background-color:color-mix(in oklab, var(--color-teal-500) 20%, transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:text-current:hover{color:currentColor}.hover\:text-fg:hover{color:var(--color-fg)}.hover\:text-fg-2:hover{color:var(--color-fg-2)}.hover\:text-fg-3:hover{color:var(--color-fg-3)}.hover\:text-teal-300:hover{color:var(--color-teal-300)}.hover\:text-teal-500:hover{color:var(--color-teal-500)}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--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)}.hover\:shadow-black\/20:hover{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-black\/20:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:outline-white\/15:hover{outline-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:outline-white\/15:hover{outline-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}}.focus\:border-focus:focus{border-color:var(--color-focus)}.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\:outline-2:focus{outline-style:var(--tw-outline-style);outline-width:2px}.focus\:-outline-offset-1:focus{outline-offset:calc(1px * -1)}.focus\:outline-offset-2:focus{outline-offset:2px}.focus\:outline-focus:focus{outline-color:var(--color-focus)}.focus\:outline-teal-500:focus{outline-color:var(--color-teal-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-1:focus-visible{outline-offset:calc(1px * -1)}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-teal-500:focus-visible{outline-color:var(--color-teal-500)}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-line:disabled{border-color:var(--color-line)}.disabled\:text-fg-muted:disabled{color:var(--color-fg-muted)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:border-mint\/20:disabled:hover{border-color:#5ac8a833}@supports (color:color-mix(in lab, red, red)){.disabled\:hover\:border-mint\/20:disabled:hover{border-color:color-mix(in oklab, var(--color-mint) 20%, transparent)}}.disabled\:hover\:bg-coral\/10:disabled:hover{background-color:#e86b6b1a}@supports (color:color-mix(in lab, red, red)){.disabled\:hover\:bg-coral\/10:disabled:hover{background-color:color-mix(in oklab, var(--color-coral) 10%, transparent)}}.disabled\:hover\:bg-mint\/5:disabled:hover{background-color:#5ac8a80d}@supports (color:color-mix(in lab, red, red)){.disabled\:hover\:bg-mint\/5:disabled:hover{background-color:color-mix(in oklab, var(--color-mint) 5%, transparent)}}.disabled\:hover\:bg-teal-500:disabled:hover{background-color:var(--color-teal-500)}.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-fg-muted:disabled:hover{color:var(--color-fg-muted)}.disabled\:hover\:text-mint:disabled:hover{color:var(--color-mint)}}.data-closed\:scale-95[data-closed]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-closed\:transform[data-closed]{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.data-closed\:opacity-0[data-closed]{opacity:0}.data-enter\:duration-100[data-enter]{--tw-duration:.1s;transition-duration:.1s}.data-enter\:ease-out[data-enter]{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.data-focus\:bg-overlay[data-focus]{background-color:var(--color-overlay)}.data-focus\:outline-hidden[data-focus]{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.data-focus\:outline-hidden[data-focus]{outline-offset:2px;outline:2px solid #0000}}.data-leave\:duration-75[data-leave]{--tw-duration:75ms;transition-duration:75ms}.data-leave\:ease-in[data-leave]{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.data-selected\:text-teal-300[data-selected]{color:var(--color-teal-300)}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}}@media (min-width:40rem){.sm\:right-6{right:calc(var(--spacing) * 6)}.sm\:-mx-6{margin-inline:calc(var(--spacing) * -6)}.sm\:mt-12{margin-top:calc(var(--spacing) * 12)}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.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-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-\[0\.9375rem\]\/7{font-size:.9375rem;line-height:calc(var(--spacing) * 7)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.sm\:text-\[1\.75rem\]{font-size:1.75rem}}@media (min-width:48rem){.md\:ml-6{margin-left:calc(var(--spacing) * 6)}.md\:block{display:block}.md\:hidden{display:none}}@media (min-width:64rem){.lg\:-mx-8{margin-inline:calc(var(--spacing) * -8)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.prose-headings\:text-fg-2 :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-fg-2)}.prose-a\:text-teal-500 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-teal-500)}.prose-strong\:text-fg-2 :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-fg-2)}.prose-code\:rounded :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.25rem}.prose-code\:bg-overlay-strong :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--color-overlay-strong)}.prose-code\:px-1 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline:calc(var(--spacing) * 1)}.prose-code\:py-0\.5 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding-block:calc(var(--spacing) * .5)}.prose-code\:font-mono :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-family:var(--font-mono)}.prose-code\:text-\[0\.8em\] :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8em}.prose-code\:text-fg-3 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-fg-3)}.prose-code\:before\:content-none :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose-code\:after\:content-none :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:var(--tw-content);--tw-content:none;content:none}.prose-pre\:bg-overlay-strong :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--color-overlay-strong)}.prose-pre\:text-fg-3 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-fg-3)}.\[\&_svg\]\:mx-auto svg{margin-inline:auto}.\[\&_svg\]\:block svg{display:block}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:not\(\:first-child\)\]\:ml-1:not(:first-child){margin-left:calc(var(--spacing) * 1)}.\[\&\:not\(\:first-child\)\]\:border-l:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:1px}.\[\&\:not\(\:first-child\)\]\:border-line-strong:not(:first-child){border-color:var(--color-line-strong)}.\[\&\:not\(\:first-child\)\]\:pl-1:not(:first-child){padding-left:calc(var(--spacing) * 1)}}:root{--chart-gridline:#ffffff0a;--chart-axis-label:#4b5768}.bg-atmosphere{background-color:var(--color-page);background-image:radial-gradient(120% 60% at 15% 5%,#357f9e1f 0%,#0000 50%),radial-gradient(80% 50% at 85% 90%,#5ac8a812 0%,#0000 45%);background-attachment:fixed}.bg-atmosphere:before{content:"";z-index:1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}:root{--diffs-font-family:"JetBrains Mono", ui-monospace, monospace;--diffs-header-font-family:"Geist", ui-sans-serif, system-ui, sans-serif;--diffs-font-size:13px;--diffs-line-height:20px;--diffs-bg-buffer-override:#0f1729;--diffs-bg-context-override:#161d2e;--diffs-bg-hover-override:#1c2438;--diffs-bg-separator-override:#252c3d;--diffs-fg-number-override:#4b5768;--diffs-addition-color-override:#5ac8a8;--diffs-fg-number-addition-override:#5ac8a880;--diffs-deletion-color-override:#e86b6b;--diffs-fg-number-deletion-override:#e86b6b80}.graph-svg text{fill:#c6d4e0}.graph-svg [stroke=\#357f9e]{stroke:#67b2d7}.graph-svg [stroke=\#666666]{stroke:#5a7a94}.graph-svg polygon[fill=\#357f9e]{fill:#67b2d7}.graph-svg polygon[fill=\#666666]{fill:#5a7a94}.graph-svg ellipse[fill=\#ffffff],.graph-svg polygon[fill=\#ffffff]{fill:#1a2b3c}.graph-svg ellipse[stroke=\#357f9e],.graph-svg polygon[stroke=\#357f9e]{stroke:#67b2d7}.graph-svg [fill=\#1a1a1a]{fill:#c6d4e0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";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:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";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:"";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:"";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:"";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:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
\ No newline at end of file
diff --git a/lib/crates/fabro-spa/assets/assets/chunk-7fpy4pmb.js b/lib/crates/fabro-spa/assets/assets/chunk-7fpy4pmb.js
new file mode 100644
index 000000000..271497c14
--- /dev/null
+++ b/lib/crates/fabro-spa/assets/assets/chunk-7fpy4pmb.js
@@ -0,0 +1 @@
+import"./chunk-q07bg6gn.js";var e=Object.freeze(JSON.parse('{"name":"Pierre Dark","type":"dark","colors":{"editor.background":"#070707","editor.foreground":"#fbfbfb","foreground":"#fbfbfb","focusBorder":"#009fff","selection.background":"#19283c","editor.selectionBackground":"#009fff4d","editor.lineHighlightBackground":"#19283c8c","editorCursor.foreground":"#009fff","editorLineNumber.foreground":"#84848A","editorLineNumber.activeForeground":"#adadb1","editorIndentGuide.background":"#1F1F21","editorIndentGuide.activeBackground":"#2e2e30","diffEditor.insertedTextBackground":"#00cab11a","diffEditor.deletedTextBackground":"#ff2e3f1a","sideBar.background":"#141415","sideBar.foreground":"#adadb1","sideBar.border":"#070707","sideBarTitle.foreground":"#fbfbfb","sideBarSectionHeader.background":"#141415","sideBarSectionHeader.foreground":"#adadb1","sideBarSectionHeader.border":"#070707","activityBar.background":"#141415","activityBar.foreground":"#fbfbfb","activityBar.border":"#070707","activityBar.activeBorder":"#009fff","activityBarBadge.background":"#009fff","activityBarBadge.foreground":"#070707","titleBar.activeBackground":"#141415","titleBar.activeForeground":"#fbfbfb","titleBar.inactiveBackground":"#141415","titleBar.inactiveForeground":"#84848A","titleBar.border":"#070707","list.activeSelectionBackground":"#19283c99","list.activeSelectionForeground":"#fbfbfb","list.inactiveSelectionBackground":"#19283c73","list.hoverBackground":"#19283c59","list.focusOutline":"#009fff","tab.activeBackground":"#070707","tab.activeForeground":"#fbfbfb","tab.activeBorderTop":"#009fff","tab.inactiveBackground":"#141415","tab.inactiveForeground":"#84848A","tab.border":"#070707","editorGroupHeader.tabsBackground":"#141415","editorGroupHeader.tabsBorder":"#070707","panel.background":"#141415","panel.border":"#070707","panelTitle.activeBorder":"#009fff","panelTitle.activeForeground":"#fbfbfb","panelTitle.inactiveForeground":"#84848A","statusBar.background":"#141415","statusBar.foreground":"#adadb1","statusBar.border":"#070707","statusBar.noFolderBackground":"#141415","statusBar.debuggingBackground":"#ffca00","statusBar.debuggingForeground":"#070707","statusBarItem.remoteBackground":"#141415","statusBarItem.remoteForeground":"#adadb1","input.background":"#1F1F21","input.border":"#1F1F21","input.foreground":"#fbfbfb","input.placeholderForeground":"#79797F","dropdown.background":"#1F1F21","dropdown.border":"#1F1F21","dropdown.foreground":"#fbfbfb","button.background":"#009fff","button.foreground":"#070707","button.hoverBackground":"#0190e6","textLink.foreground":"#009fff","textLink.activeForeground":"#009fff","gitDecoration.addedResourceForeground":"#00cab1","gitDecoration.conflictingResourceForeground":"#ffca00","gitDecoration.modifiedResourceForeground":"#009fff","gitDecoration.deletedResourceForeground":"#ff2e3f","gitDecoration.untrackedResourceForeground":"#00cab1","gitDecoration.ignoredResourceForeground":"#84848A","terminal.titleForeground":"#adadb1","terminal.titleInactiveForeground":"#84848A","terminal.background":"#141415","terminal.foreground":"#adadb1","terminal.ansiBlack":"#141415","terminal.ansiRed":"#ff2e3f","terminal.ansiGreen":"#0dbe4e","terminal.ansiYellow":"#ffca00","terminal.ansiBlue":"#009fff","terminal.ansiMagenta":"#c635e4","terminal.ansiCyan":"#08c0ef","terminal.ansiWhite":"#c6c6c8","terminal.ansiBrightBlack":"#141415","terminal.ansiBrightRed":"#ff2e3f","terminal.ansiBrightGreen":"#0dbe4e","terminal.ansiBrightYellow":"#ffca00","terminal.ansiBrightBlue":"#009fff","terminal.ansiBrightMagenta":"#c635e4","terminal.ansiBrightCyan":"#08c0ef","terminal.ansiBrightWhite":"#c6c6c8"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#84848A"}},{"scope":"comment markup.link","settings":{"foreground":"#84848A"}},{"scope":["string","constant.other.symbol"],"settings":{"foreground":"#5ecc71"}},{"scope":["punctuation.definition.string.begin","punctuation.definition.string.end"],"settings":{"foreground":"#5ecc71"}},{"scope":["constant.numeric","constant.language.boolean"],"settings":{"foreground":"#68cdf2"}},{"scope":"constant","settings":{"foreground":"#ffd452"}},{"scope":"punctuation.definition.constant","settings":{"foreground":"#ffd452"}},{"scope":"constant.language","settings":{"foreground":"#68cdf2"}},{"scope":"variable.other.constant","settings":{"foreground":"#ffca00"}},{"scope":"keyword","settings":{"foreground":"#ff678d"}},{"scope":"keyword.control","settings":{"foreground":"#ff678d"}},{"scope":["storage","storage.type","storage.modifier"],"settings":{"foreground":"#ff678d"}},{"scope":"token.storage","settings":{"foreground":"#ff678d"}},{"scope":["keyword.operator.new","keyword.operator.expression.instanceof","keyword.operator.expression.typeof","keyword.operator.expression.void","keyword.operator.expression.delete","keyword.operator.expression.in","keyword.operator.expression.of","keyword.operator.expression.keyof"],"settings":{"foreground":"#ff678d"}},{"scope":"keyword.operator.delete","settings":{"foreground":"#ff678d"}},{"scope":["variable","identifier","meta.definition.variable"],"settings":{"foreground":"#ffa359"}},{"scope":["variable.other.readwrite","meta.object-literal.key","support.variable.property","support.variable.object.process","support.variable.object.node"],"settings":{"foreground":"#ffa359"}},{"scope":"variable.language","settings":{"foreground":"#ffca00"}},{"scope":"variable.parameter.function","settings":{"foreground":"#adadb1"}},{"scope":"function.parameter","settings":{"foreground":"#adadb1"}},{"scope":"variable.parameter","settings":{"foreground":"#adadb1"}},{"scope":"variable.parameter.function.language.python","settings":{"foreground":"#ffd452"}},{"scope":"variable.parameter.function.python","settings":{"foreground":"#ffd452"}},{"scope":["support.function","entity.name.function","meta.function-call","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#9d6afb"}},{"scope":"keyword.other.special-method","settings":{"foreground":"#9d6afb"}},{"scope":"entity.name.function","settings":{"foreground":"#9d6afb"}},{"scope":"support.function.console","settings":{"foreground":"#9d6afb"}},{"scope":["support.type","entity.name.type","entity.name.class","storage.type"],"settings":{"foreground":"#d568ea"}},{"scope":["support.class","entity.name.type.class"],"settings":{"foreground":"#d568ea"}},{"scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#d568ea"}},{"scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#d568ea"}},{"scope":"entity.name.type.namespace","settings":{"foreground":"#ffca00"}},{"scope":"entity.other.inherited-class","settings":{"foreground":"#d568ea"}},{"scope":"entity.name.namespace","settings":{"foreground":"#ffca00"}},{"scope":"keyword.operator","settings":{"foreground":"#79797F"}},{"scope":["keyword.operator.logical","keyword.operator.bitwise","keyword.operator.channel"],"settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.arithmetic","keyword.operator.comparison","keyword.operator.relational","keyword.operator.increment","keyword.operator.decrement"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.assignment","settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.assignment.compound","settings":{"foreground":"#ff678d"}},{"scope":["keyword.operator.assignment.compound.js","keyword.operator.assignment.compound.ts"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.ternary","settings":{"foreground":"#ff678d"}},{"scope":"keyword.operator.optional","settings":{"foreground":"#ff678d"}},{"scope":"punctuation","settings":{"foreground":"#79797F"}},{"scope":"punctuation.separator.delimiter","settings":{"foreground":"#79797F"}},{"scope":"punctuation.separator.key-value","settings":{"foreground":"#79797F"}},{"scope":"punctuation.terminator","settings":{"foreground":"#79797F"}},{"scope":"meta.brace","settings":{"foreground":"#79797F"}},{"scope":"meta.brace.square","settings":{"foreground":"#79797F"}},{"scope":"meta.brace.round","settings":{"foreground":"#79797F"}},{"scope":"function.brace","settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.parameters","punctuation.definition.typeparameters"],"settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.block","punctuation.definition.tag"],"settings":{"foreground":"#79797F"}},{"scope":["meta.tag.tsx","meta.tag.jsx","meta.tag.js","meta.tag.ts"],"settings":{"foreground":"#79797F"}},{"scope":"keyword.operator.expression.import","settings":{"foreground":"#9d6afb"}},{"scope":"keyword.operator.module","settings":{"foreground":"#ff678d"}},{"scope":"support.type.object.console","settings":{"foreground":"#ffa359"}},{"scope":["support.module.node","support.type.object.module","entity.name.type.module"],"settings":{"foreground":"#ffca00"}},{"scope":"support.constant.math","settings":{"foreground":"#ffca00"}},{"scope":"support.constant.property.math","settings":{"foreground":"#ffd452"}},{"scope":"support.constant.json","settings":{"foreground":"#ffd452"}},{"scope":"support.type.object.dom","settings":{"foreground":"#08c0ef"}},{"scope":["support.variable.dom","support.variable.property.dom"],"settings":{"foreground":"#ffa359"}},{"scope":"support.variable.property.process","settings":{"foreground":"#ffd452"}},{"scope":"meta.property.object","settings":{"foreground":"#ffa359"}},{"scope":"variable.parameter.function.js","settings":{"foreground":"#ffa359"}},{"scope":["keyword.other.template.begin","keyword.other.template.end"],"settings":{"foreground":"#5ecc71"}},{"scope":["keyword.other.substitution.begin","keyword.other.substitution.end"],"settings":{"foreground":"#5ecc71"}},{"scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end"],"settings":{"foreground":"#ff678d"}},{"scope":"meta.template.expression","settings":{"foreground":"#79797F"}},{"scope":"punctuation.section.embedded","settings":{"foreground":"#ffa359"}},{"scope":"variable.interpolation","settings":{"foreground":"#ffa359"}},{"scope":["punctuation.section.embedded.begin","punctuation.section.embedded.end"],"settings":{"foreground":"#ff678d"}},{"scope":"punctuation.quasi.element","settings":{"foreground":"#ff678d"}},{"scope":["support.type.primitive.ts","support.type.builtin.ts","support.type.primitive.tsx","support.type.builtin.tsx"],"settings":{"foreground":"#d568ea"}},{"scope":"support.type.type.flowtype","settings":{"foreground":"#9d6afb"}},{"scope":"support.type.primitive","settings":{"foreground":"#d568ea"}},{"scope":"support.variable.magic.python","settings":{"foreground":"#ff6762"}},{"scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#ffca00"}},{"scope":["punctuation.separator.period.python","punctuation.separator.element.python","punctuation.parenthesis.begin.python","punctuation.parenthesis.end.python"],"settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.arguments.begin.python","punctuation.definition.arguments.end.python","punctuation.separator.arguments.python","punctuation.definition.list.begin.python","punctuation.definition.list.end.python"],"settings":{"foreground":"#79797F"}},{"scope":"support.type.python","settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.logical.python","settings":{"foreground":"#ff678d"}},{"scope":"meta.function-call.generic.python","settings":{"foreground":"#9d6afb"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#ffd452"}},{"scope":"meta.function.decorator.python","settings":{"foreground":"#9d6afb"}},{"scope":["support.token.decorator.python","meta.function.decorator.identifier.python"],"settings":{"foreground":"#08c0ef"}},{"scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#79797F"}},{"scope":"support.function.std.rust","settings":{"foreground":"#9d6afb"}},{"scope":"entity.name.lifetime.rust","settings":{"foreground":"#ffca00"}},{"scope":"variable.language.rust","settings":{"foreground":"#ff6762"}},{"scope":"keyword.operator.misc.rust","settings":{"foreground":"#79797F"}},{"scope":"keyword.operator.sigil.rust","settings":{"foreground":"#ff678d"}},{"scope":"support.constant.core.rust","settings":{"foreground":"#ffd452"}},{"scope":["meta.function.c","meta.function.cpp"],"settings":{"foreground":"#ff6762"}},{"scope":["punctuation.section.block.begin.bracket.curly.cpp","punctuation.section.block.end.bracket.curly.cpp","punctuation.terminator.statement.c","punctuation.section.block.begin.bracket.curly.c","punctuation.section.block.end.bracket.curly.c","punctuation.section.parens.begin.bracket.round.c","punctuation.section.parens.end.bracket.round.c","punctuation.section.parameters.begin.bracket.round.c","punctuation.section.parameters.end.bracket.round.c"],"settings":{"foreground":"#79797F"}},{"scope":["keyword.operator.assignment.c","keyword.operator.comparison.c","keyword.operator.c","keyword.operator.increment.c","keyword.operator.decrement.c","keyword.operator.bitwise.shift.c"],"settings":{"foreground":"#ff678d"}},{"scope":["keyword.operator.assignment.cpp","keyword.operator.comparison.cpp","keyword.operator.cpp","keyword.operator.increment.cpp","keyword.operator.decrement.cpp","keyword.operator.bitwise.shift.cpp"],"settings":{"foreground":"#ff678d"}},{"scope":["punctuation.separator.c","punctuation.separator.cpp"],"settings":{"foreground":"#ff678d"}},{"scope":["support.type.posix-reserved.c","support.type.posix-reserved.cpp"],"settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.sizeof.c","keyword.operator.sizeof.cpp"],"settings":{"foreground":"#ff678d"}},{"scope":"variable.c","settings":{"foreground":"#79797F"}},{"scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#ffca00"}},{"scope":"source.java","settings":{"foreground":"#ff6762"}},{"scope":["punctuation.section.block.begin.java","punctuation.section.block.end.java","punctuation.definition.method-parameters.begin.java","punctuation.definition.method-parameters.end.java","meta.method.identifier.java","punctuation.section.method.begin.java","punctuation.section.method.end.java","punctuation.terminator.java","punctuation.section.class.begin.java","punctuation.section.class.end.java","punctuation.section.inner-class.begin.java","punctuation.section.inner-class.end.java","meta.method-call.java","punctuation.section.class.begin.bracket.curly.java","punctuation.section.class.end.bracket.curly.java","punctuation.section.method.begin.bracket.curly.java","punctuation.section.method.end.bracket.curly.java","punctuation.separator.period.java","punctuation.bracket.angle.java","punctuation.definition.annotation.java","meta.method.body.java"],"settings":{"foreground":"#79797F"}},{"scope":"meta.method.java","settings":{"foreground":"#9d6afb"}},{"scope":["storage.modifier.import.java","storage.type.java","storage.type.generic.java"],"settings":{"foreground":"#ffca00"}},{"scope":"keyword.operator.instanceof.java","settings":{"foreground":"#ff678d"}},{"scope":"meta.definition.variable.name.java","settings":{"foreground":"#ff6762"}},{"scope":"token.variable.parameter.java","settings":{"foreground":"#79797F"}},{"scope":"import.storage.java","settings":{"foreground":"#ffca00"}},{"scope":"token.package.keyword","settings":{"foreground":"#ff678d"}},{"scope":"token.package","settings":{"foreground":"#79797F"}},{"scope":"token.storage.type.java","settings":{"foreground":"#ffca00"}},{"scope":"keyword.operator.assignment.go","settings":{"foreground":"#ffca00"}},{"scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#ff678d"}},{"scope":"entity.name.package.go","settings":{"foreground":"#ffca00"}},{"scope":["support.other.namespace.use.php","support.other.namespace.use-as.php","support.other.namespace.php","entity.other.alias.php","meta.interface.php"],"settings":{"foreground":"#ffca00"}},{"scope":"keyword.operator.error-control.php","settings":{"foreground":"#ff678d"}},{"scope":"keyword.operator.type.php","settings":{"foreground":"#ff678d"}},{"scope":["punctuation.section.array.begin.php","punctuation.section.array.end.php"],"settings":{"foreground":"#79797F"}},{"scope":["storage.type.php","meta.other.type.phpdoc.php","keyword.other.type.php","keyword.other.array.phpdoc.php"],"settings":{"foreground":"#ffca00"}},{"scope":["meta.function-call.php","meta.function-call.object.php","meta.function-call.static.php"],"settings":{"foreground":"#9d6afb"}},{"scope":["punctuation.definition.parameters.begin.bracket.round.php","punctuation.definition.parameters.end.bracket.round.php","punctuation.separator.delimiter.php","punctuation.section.scope.begin.php","punctuation.section.scope.end.php","punctuation.terminator.expression.php","punctuation.definition.arguments.begin.bracket.round.php","punctuation.definition.arguments.end.bracket.round.php","punctuation.definition.storage-type.begin.bracket.round.php","punctuation.definition.storage-type.end.bracket.round.php","punctuation.definition.array.begin.bracket.round.php","punctuation.definition.array.end.bracket.round.php","punctuation.definition.begin.bracket.round.php","punctuation.definition.end.bracket.round.php","punctuation.definition.begin.bracket.curly.php","punctuation.definition.end.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php","punctuation.definition.section.switch-block.start.bracket.curly.php","punctuation.definition.section.switch-block.begin.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php"],"settings":{"foreground":"#79797F"}},{"scope":["support.constant.ext.php","support.constant.std.php","support.constant.core.php","support.constant.parser-token.php"],"settings":{"foreground":"#ffd452"}},{"scope":["entity.name.goto-label.php","support.other.php"],"settings":{"foreground":"#9d6afb"}},{"scope":["keyword.operator.logical.php","keyword.operator.bitwise.php","keyword.operator.arithmetic.php"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.regexp.php","settings":{"foreground":"#ff678d"}},{"scope":"keyword.operator.comparison.php","settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.heredoc.php","keyword.operator.nowdoc.php"],"settings":{"foreground":"#ff678d"}},{"scope":"variable.other.class.php","settings":{"foreground":"#ff6762"}},{"scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"scope":"variable.other.generic-type.haskell","settings":{"foreground":"#ff678d"}},{"scope":"storage.type.haskell","settings":{"foreground":"#ffd452"}},{"scope":"storage.type.cs","settings":{"foreground":"#ffca00"}},{"scope":"entity.name.variable.local.cs","settings":{"foreground":"#ff6762"}},{"scope":"entity.name.label.cs","settings":{"foreground":"#ffca00"}},{"scope":["entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#ffca00"}},{"scope":["punctuation.definition.delayed.unison","punctuation.definition.list.begin.unison","punctuation.definition.list.end.unison","punctuation.definition.ability.begin.unison","punctuation.definition.ability.end.unison","punctuation.operator.assignment.as.unison","punctuation.separator.pipe.unison","punctuation.separator.delimiter.unison","punctuation.definition.hash.unison"],"settings":{"foreground":"#ff6762"}},{"scope":"support.constant.edge","settings":{"foreground":"#ff678d"}},{"scope":"support.type.prelude.elm","settings":{"foreground":"#08c0ef"}},{"scope":"support.constant.elm","settings":{"foreground":"#ffd452"}},{"scope":"entity.global.clojure","settings":{"foreground":"#ffca00"}},{"scope":"meta.symbol.clojure","settings":{"foreground":"#ff6762"}},{"scope":"constant.keyword.clojure","settings":{"foreground":"#08c0ef"}},{"scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#ff6762"}},{"scope":"storage.modifier.import.groovy","settings":{"foreground":"#ffca00"}},{"scope":"meta.method.groovy","settings":{"foreground":"#9d6afb"}},{"scope":"meta.definition.variable.name.groovy","settings":{"foreground":"#ff6762"}},{"scope":"meta.definition.class.inherited.classes.groovy","settings":{"foreground":"#5ecc71"}},{"scope":"support.variable.semantic.hlsl","settings":{"foreground":"#ffca00"}},{"scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#ff678d"}},{"scope":["text.variable","text.bracketed"],"settings":{"foreground":"#ff6762"}},{"scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#ffca00"}},{"scope":"meta.scope.prerequisites.makefile","settings":{"foreground":"#ff6762"}},{"scope":"source.makefile","settings":{"foreground":"#ffca00"}},{"scope":"source.ini","settings":{"foreground":"#5ecc71"}},{"scope":"constant.language.symbol.ruby","settings":{"foreground":"#08c0ef"}},{"scope":["function.parameter.ruby","function.parameter.cs"],"settings":{"foreground":"#79797F"}},{"scope":"constant.language.symbol.elixir","settings":{"foreground":"#08c0ef"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#ff678d"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#ff678d"}},{"scope":"entity.name.function.xi","settings":{"foreground":"#ffca00"}},{"scope":"entity.name.class.xi","settings":{"foreground":"#08c0ef"}},{"scope":"constant.character.character-class.regexp.xi","settings":{"foreground":"#ff6762"}},{"scope":"constant.regexp.xi","settings":{"foreground":"#ff678d"}},{"scope":"keyword.control.xi","settings":{"foreground":"#08c0ef"}},{"scope":"invalid.xi","settings":{"foreground":"#79797F"}},{"scope":"beginning.punctuation.definition.quote.markdown.xi","settings":{"foreground":"#5ecc71"}},{"scope":"beginning.punctuation.definition.list.markdown.xi","settings":{"foreground":"#84848A"}},{"scope":"constant.character.xi","settings":{"foreground":"#9d6afb"}},{"scope":"accent.xi","settings":{"foreground":"#9d6afb"}},{"scope":"wikiword.xi","settings":{"foreground":"#ffd452"}},{"scope":"constant.other.color.rgb-value.xi","settings":{"foreground":"#fbfbfb"}},{"scope":"punctuation.definition.tag.xi","settings":{"foreground":"#84848A"}},{"scope":["support.constant.property-value.scss","support.constant.property-value.css"],"settings":{"foreground":"#ffd452"}},{"scope":["keyword.operator.css","keyword.operator.scss","keyword.operator.less"],"settings":{"foreground":"#08c0ef"}},{"scope":["support.constant.color.w3c-standard-color-name.css","support.constant.color.w3c-standard-color-name.scss"],"settings":{"foreground":"#ffd452"}},{"scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#79797F"}},{"scope":"support.type.vendored.property-name.css","settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name","settings":{"foreground":"#79797F"}},{"scope":"support.constant.property-value","settings":{"foreground":"#79797F"}},{"scope":"support.constant.font-name","settings":{"foreground":"#ffd452"}},{"scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#61d5c0","fontStyle":"normal"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#9d6afb","fontStyle":"normal"}},{"scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#08c0ef"}},{"scope":"meta.selector","settings":{"foreground":"#ff678d"}},{"scope":"selector.sass","settings":{"foreground":"#ff6762"}},{"scope":"rgb-value","settings":{"foreground":"#08c0ef"}},{"scope":"inline-color-decoration rgb-value","settings":{"foreground":"#ffd452"}},{"scope":"less rgb-value","settings":{"foreground":"#ffd452"}},{"scope":"control.elements","settings":{"foreground":"#ffd452"}},{"scope":"keyword.operator.less","settings":{"foreground":"#ffd452"}},{"scope":"entity.name.tag","settings":{"foreground":"#ff6762"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#61d5c0","fontStyle":"normal"}},{"scope":"constant.character.entity","settings":{"foreground":"#ff6762"}},{"scope":"meta.tag","settings":{"foreground":"#79797F"}},{"scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#79797F"}},{"scope":"markup.heading","settings":{"foreground":"#ff6762"}},{"scope":["markup.heading punctuation.definition.heading","entity.name.section"],"settings":{"foreground":"#9d6afb"}},{"scope":"entity.name.section.markdown","settings":{"foreground":"#ff6762"}},{"scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#ff6762"}},{"scope":"markup.heading.setext","settings":{"foreground":"#79797F"}},{"scope":["markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#ff6762"}},{"scope":["markup.bold","todo.bold"],"settings":{"foreground":"#ffd452"}},{"scope":"punctuation.definition.bold","settings":{"foreground":"#ffca00"}},{"scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#ffd452"}},{"scope":["markup.italic","punctuation.definition.italic","todo.emphasis"],"settings":{"foreground":"#ff678d","fontStyle":"italic"}},{"scope":"emphasis md","settings":{"foreground":"#ff678d"}},{"scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"foreground":"#ff678d"}},{"scope":["string.other.link.title.markdown","string.other.link.description.markdown"],"settings":{"foreground":"#9d6afb"}},{"scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#ff6762"}},{"scope":["markup.inline.raw.markdown","markup.inline.raw.string.markdown"],"settings":{"foreground":"#5ecc71"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#ff6762"}},{"scope":"punctuation.definition.list.markdown","settings":{"foreground":"#ff6762"}},{"scope":"beginning.punctuation.definition.list.markdown","settings":{"foreground":"#ff6762"}},{"scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],"settings":{"foreground":"#ff6762"}},{"scope":"markup.quote.markdown","settings":{"foreground":"#84848A"}},{"scope":"keyword.other.unit","settings":{"foreground":"#ff6762"}},{"scope":"markup.changed.diff","settings":{"foreground":"#ffca00"}},{"scope":["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],"settings":{"foreground":"#9d6afb"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#5ecc71"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#ff6762"}},{"scope":"string.regexp","settings":{"foreground":"#64d1db"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#ff6762"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#ffd452"}},{"scope":"constant.character.escape","settings":{"foreground":"#68cdf2"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#ff6762"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#ff6762"}},{"scope":["source.json meta.structure.dictionary.json > value.json > string.quoted.json","source.json meta.structure.array.json > value.json > string.quoted.json","source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation","source.json meta.structure.array.json > value.json > string.quoted.json > punctuation"],"settings":{"foreground":"#5ecc71"}},{"scope":["source.json meta.structure.dictionary.json > constant.language.json","source.json meta.structure.array.json > constant.language.json"],"settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#ff6762"}},{"scope":"support.type.property-name.json punctuation","settings":{"foreground":"#ff6762"}},{"scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#79797F"}},{"scope":"block.scope.end","settings":{"foreground":"#79797F"}},{"scope":"block.scope.begin","settings":{"foreground":"#79797F"}},{"scope":"token.info-token","settings":{"foreground":"#9d6afb"}},{"scope":"token.warn-token","settings":{"foreground":"#ffd452"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#ff678d"}},{"scope":"invalid.illegal","settings":{"foreground":"#fbfbfb"}},{"scope":"invalid.broken","settings":{"foreground":"#fbfbfb"}},{"scope":"invalid.deprecated","settings":{"foreground":"#fbfbfb"}},{"scope":"invalid.unimplemented","settings":{"foreground":"#fbfbfb"}}],"semanticTokenColors":{"comment":"#84848A","string":"#5ecc71","number":"#68cdf2","regexp":"#64d1db","keyword":"#ff678d","variable":"#ffa359","parameter":"#adadb1","property":"#ffa359","function":"#9d6afb","method":"#9d6afb","type":"#d568ea","class":"#d568ea","namespace":"#ffca00","enumMember":"#08c0ef","variable.constant":"#ffd452","variable.defaultLibrary":"#ffca00"}}'));export{e as default};
diff --git a/lib/crates/fabro-spa/assets/assets/chunk-nghb2mxb.js b/lib/crates/fabro-spa/assets/assets/chunk-nghb2mxb.js
new file mode 100644
index 000000000..db154f1f0
--- /dev/null
+++ b/lib/crates/fabro-spa/assets/assets/chunk-nghb2mxb.js
@@ -0,0 +1 @@
+import"./chunk-q07bg6gn.js";var e=Object.freeze(JSON.parse('{"name":"Pierre Light","type":"light","colors":{"editor.background":"#ffffff","editor.foreground":"#070707","foreground":"#070707","focusBorder":"#009fff","selection.background":"#dfebff","editor.selectionBackground":"#009fff2e","editor.lineHighlightBackground":"#dfebff8c","editorCursor.foreground":"#009fff","editorLineNumber.foreground":"#84848A","editorLineNumber.activeForeground":"#6C6C71","editorIndentGuide.background":"#eeeeef","editorIndentGuide.activeBackground":"#dbdbdd","diffEditor.insertedTextBackground":"#00cab133","diffEditor.deletedTextBackground":"#ff2e3f33","sideBar.background":"#f8f8f8","sideBar.foreground":"#6C6C71","sideBar.border":"#eeeeef","sideBarTitle.foreground":"#070707","sideBarSectionHeader.background":"#f8f8f8","sideBarSectionHeader.foreground":"#6C6C71","sideBarSectionHeader.border":"#eeeeef","activityBar.background":"#f8f8f8","activityBar.foreground":"#070707","activityBar.border":"#eeeeef","activityBar.activeBorder":"#009fff","activityBarBadge.background":"#009fff","activityBarBadge.foreground":"#ffffff","titleBar.activeBackground":"#f8f8f8","titleBar.activeForeground":"#070707","titleBar.inactiveBackground":"#f8f8f8","titleBar.inactiveForeground":"#84848A","titleBar.border":"#eeeeef","list.activeSelectionBackground":"#dfebffcc","list.activeSelectionForeground":"#070707","list.inactiveSelectionBackground":"#dfebff73","list.hoverBackground":"#dfebff59","list.focusOutline":"#009fff","tab.activeBackground":"#ffffff","tab.activeForeground":"#070707","tab.activeBorderTop":"#009fff","tab.inactiveBackground":"#f8f8f8","tab.inactiveForeground":"#84848A","tab.border":"#eeeeef","editorGroupHeader.tabsBackground":"#f8f8f8","editorGroupHeader.tabsBorder":"#eeeeef","panel.background":"#f8f8f8","panel.border":"#eeeeef","panelTitle.activeBorder":"#009fff","panelTitle.activeForeground":"#070707","panelTitle.inactiveForeground":"#84848A","statusBar.background":"#f8f8f8","statusBar.foreground":"#6C6C71","statusBar.border":"#eeeeef","statusBar.noFolderBackground":"#f8f8f8","statusBar.debuggingBackground":"#ffca00","statusBar.debuggingForeground":"#ffffff","statusBarItem.remoteBackground":"#f8f8f8","statusBarItem.remoteForeground":"#6C6C71","input.background":"#f2f2f3","input.border":"#dbdbdd","input.foreground":"#070707","input.placeholderForeground":"#8E8E95","dropdown.background":"#f2f2f3","dropdown.border":"#dbdbdd","dropdown.foreground":"#070707","button.background":"#009fff","button.foreground":"#ffffff","button.hoverBackground":"#1aa9ff","textLink.foreground":"#009fff","textLink.activeForeground":"#009fff","gitDecoration.addedResourceForeground":"#00cab1","gitDecoration.conflictingResourceForeground":"#ffca00","gitDecoration.modifiedResourceForeground":"#009fff","gitDecoration.deletedResourceForeground":"#ff2e3f","gitDecoration.untrackedResourceForeground":"#00cab1","gitDecoration.ignoredResourceForeground":"#84848A","terminal.titleForeground":"#6C6C71","terminal.titleInactiveForeground":"#84848A","terminal.background":"#f8f8f8","terminal.foreground":"#6C6C71","terminal.ansiBlack":"#1F1F21","terminal.ansiRed":"#ff2e3f","terminal.ansiGreen":"#0dbe4e","terminal.ansiYellow":"#ffca00","terminal.ansiBlue":"#009fff","terminal.ansiMagenta":"#c635e4","terminal.ansiCyan":"#08c0ef","terminal.ansiWhite":"#c6c6c8","terminal.ansiBrightBlack":"#1F1F21","terminal.ansiBrightRed":"#ff2e3f","terminal.ansiBrightGreen":"#0dbe4e","terminal.ansiBrightYellow":"#ffca00","terminal.ansiBrightBlue":"#009fff","terminal.ansiBrightMagenta":"#c635e4","terminal.ansiBrightCyan":"#08c0ef","terminal.ansiBrightWhite":"#c6c6c8"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#84848A"}},{"scope":"comment markup.link","settings":{"foreground":"#84848A"}},{"scope":["string","constant.other.symbol"],"settings":{"foreground":"#199f43"}},{"scope":["punctuation.definition.string.begin","punctuation.definition.string.end"],"settings":{"foreground":"#199f43"}},{"scope":["constant.numeric","constant.language.boolean"],"settings":{"foreground":"#1ca1c7"}},{"scope":"constant","settings":{"foreground":"#d5a910"}},{"scope":"punctuation.definition.constant","settings":{"foreground":"#d5a910"}},{"scope":"constant.language","settings":{"foreground":"#1ca1c7"}},{"scope":"variable.other.constant","settings":{"foreground":"#d5a910"}},{"scope":"keyword","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.control","settings":{"foreground":"#fc2b73"}},{"scope":["storage","storage.type","storage.modifier"],"settings":{"foreground":"#fc2b73"}},{"scope":"token.storage","settings":{"foreground":"#fc2b73"}},{"scope":["keyword.operator.new","keyword.operator.expression.instanceof","keyword.operator.expression.typeof","keyword.operator.expression.void","keyword.operator.expression.delete","keyword.operator.expression.in","keyword.operator.expression.of","keyword.operator.expression.keyof"],"settings":{"foreground":"#fc2b73"}},{"scope":"keyword.operator.delete","settings":{"foreground":"#fc2b73"}},{"scope":["variable","identifier","meta.definition.variable"],"settings":{"foreground":"#d47628"}},{"scope":["variable.other.readwrite","meta.object-literal.key","support.variable.property","support.variable.object.process","support.variable.object.node"],"settings":{"foreground":"#d47628"}},{"scope":"variable.language","settings":{"foreground":"#d5a910"}},{"scope":"variable.parameter.function","settings":{"foreground":"#79797F"}},{"scope":"function.parameter","settings":{"foreground":"#79797F"}},{"scope":"variable.parameter","settings":{"foreground":"#79797F"}},{"scope":"variable.parameter.function.language.python","settings":{"foreground":"#d5a910"}},{"scope":"variable.parameter.function.python","settings":{"foreground":"#d5a910"}},{"scope":["support.function","entity.name.function","meta.function-call","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#7b43f8"}},{"scope":"keyword.other.special-method","settings":{"foreground":"#7b43f8"}},{"scope":"entity.name.function","settings":{"foreground":"#7b43f8"}},{"scope":"support.function.console","settings":{"foreground":"#7b43f8"}},{"scope":["support.type","entity.name.type","entity.name.class","storage.type"],"settings":{"foreground":"#c635e4"}},{"scope":["support.class","entity.name.type.class"],"settings":{"foreground":"#c635e4"}},{"scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#c635e4"}},{"scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#c635e4"}},{"scope":"entity.name.type.namespace","settings":{"foreground":"#d5a910"}},{"scope":"entity.other.inherited-class","settings":{"foreground":"#c635e4"}},{"scope":"entity.name.namespace","settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator","settings":{"foreground":"#79797F"}},{"scope":["keyword.operator.logical","keyword.operator.bitwise","keyword.operator.channel"],"settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.arithmetic","keyword.operator.comparison","keyword.operator.relational","keyword.operator.increment","keyword.operator.decrement"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.assignment","settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.assignment.compound","settings":{"foreground":"#fc2b73"}},{"scope":["keyword.operator.assignment.compound.js","keyword.operator.assignment.compound.ts"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.ternary","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.operator.optional","settings":{"foreground":"#fc2b73"}},{"scope":"punctuation","settings":{"foreground":"#79797F"}},{"scope":"punctuation.separator.delimiter","settings":{"foreground":"#79797F"}},{"scope":"punctuation.separator.key-value","settings":{"foreground":"#79797F"}},{"scope":"punctuation.terminator","settings":{"foreground":"#79797F"}},{"scope":"meta.brace","settings":{"foreground":"#79797F"}},{"scope":"meta.brace.square","settings":{"foreground":"#79797F"}},{"scope":"meta.brace.round","settings":{"foreground":"#79797F"}},{"scope":"function.brace","settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.parameters","punctuation.definition.typeparameters"],"settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.block","punctuation.definition.tag"],"settings":{"foreground":"#79797F"}},{"scope":["meta.tag.tsx","meta.tag.jsx","meta.tag.js","meta.tag.ts"],"settings":{"foreground":"#79797F"}},{"scope":"keyword.operator.expression.import","settings":{"foreground":"#7b43f8"}},{"scope":"keyword.operator.module","settings":{"foreground":"#fc2b73"}},{"scope":"support.type.object.console","settings":{"foreground":"#d47628"}},{"scope":["support.module.node","support.type.object.module","entity.name.type.module"],"settings":{"foreground":"#d5a910"}},{"scope":"support.constant.math","settings":{"foreground":"#d5a910"}},{"scope":"support.constant.property.math","settings":{"foreground":"#d5a910"}},{"scope":"support.constant.json","settings":{"foreground":"#d5a910"}},{"scope":"support.type.object.dom","settings":{"foreground":"#08c0ef"}},{"scope":["support.variable.dom","support.variable.property.dom"],"settings":{"foreground":"#d47628"}},{"scope":"support.variable.property.process","settings":{"foreground":"#d5a910"}},{"scope":"meta.property.object","settings":{"foreground":"#d47628"}},{"scope":"variable.parameter.function.js","settings":{"foreground":"#d47628"}},{"scope":["keyword.other.template.begin","keyword.other.template.end"],"settings":{"foreground":"#199f43"}},{"scope":["keyword.other.substitution.begin","keyword.other.substitution.end"],"settings":{"foreground":"#199f43"}},{"scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end"],"settings":{"foreground":"#fc2b73"}},{"scope":"meta.template.expression","settings":{"foreground":"#79797F"}},{"scope":"punctuation.section.embedded","settings":{"foreground":"#d47628"}},{"scope":"variable.interpolation","settings":{"foreground":"#d47628"}},{"scope":["punctuation.section.embedded.begin","punctuation.section.embedded.end"],"settings":{"foreground":"#fc2b73"}},{"scope":"punctuation.quasi.element","settings":{"foreground":"#fc2b73"}},{"scope":["support.type.primitive.ts","support.type.builtin.ts","support.type.primitive.tsx","support.type.builtin.tsx"],"settings":{"foreground":"#c635e4"}},{"scope":"support.type.type.flowtype","settings":{"foreground":"#7b43f8"}},{"scope":"support.type.primitive","settings":{"foreground":"#c635e4"}},{"scope":"support.variable.magic.python","settings":{"foreground":"#d52c36"}},{"scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#d5a910"}},{"scope":["punctuation.separator.period.python","punctuation.separator.element.python","punctuation.parenthesis.begin.python","punctuation.parenthesis.end.python"],"settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.arguments.begin.python","punctuation.definition.arguments.end.python","punctuation.separator.arguments.python","punctuation.definition.list.begin.python","punctuation.definition.list.end.python"],"settings":{"foreground":"#79797F"}},{"scope":"support.type.python","settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.logical.python","settings":{"foreground":"#fc2b73"}},{"scope":"meta.function-call.generic.python","settings":{"foreground":"#7b43f8"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d5a910"}},{"scope":"meta.function.decorator.python","settings":{"foreground":"#7b43f8"}},{"scope":["support.token.decorator.python","meta.function.decorator.identifier.python"],"settings":{"foreground":"#08c0ef"}},{"scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#79797F"}},{"scope":"support.function.std.rust","settings":{"foreground":"#7b43f8"}},{"scope":"entity.name.lifetime.rust","settings":{"foreground":"#d5a910"}},{"scope":"variable.language.rust","settings":{"foreground":"#d52c36"}},{"scope":"keyword.operator.misc.rust","settings":{"foreground":"#79797F"}},{"scope":"keyword.operator.sigil.rust","settings":{"foreground":"#fc2b73"}},{"scope":"support.constant.core.rust","settings":{"foreground":"#d5a910"}},{"scope":["meta.function.c","meta.function.cpp"],"settings":{"foreground":"#d52c36"}},{"scope":["punctuation.section.block.begin.bracket.curly.cpp","punctuation.section.block.end.bracket.curly.cpp","punctuation.terminator.statement.c","punctuation.section.block.begin.bracket.curly.c","punctuation.section.block.end.bracket.curly.c","punctuation.section.parens.begin.bracket.round.c","punctuation.section.parens.end.bracket.round.c","punctuation.section.parameters.begin.bracket.round.c","punctuation.section.parameters.end.bracket.round.c"],"settings":{"foreground":"#79797F"}},{"scope":["keyword.operator.assignment.c","keyword.operator.comparison.c","keyword.operator.c","keyword.operator.increment.c","keyword.operator.decrement.c","keyword.operator.bitwise.shift.c"],"settings":{"foreground":"#fc2b73"}},{"scope":["keyword.operator.assignment.cpp","keyword.operator.comparison.cpp","keyword.operator.cpp","keyword.operator.increment.cpp","keyword.operator.decrement.cpp","keyword.operator.bitwise.shift.cpp"],"settings":{"foreground":"#fc2b73"}},{"scope":["punctuation.separator.c","punctuation.separator.cpp"],"settings":{"foreground":"#fc2b73"}},{"scope":["support.type.posix-reserved.c","support.type.posix-reserved.cpp"],"settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.sizeof.c","keyword.operator.sizeof.cpp"],"settings":{"foreground":"#fc2b73"}},{"scope":"variable.c","settings":{"foreground":"#79797F"}},{"scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#d5a910"}},{"scope":"source.java","settings":{"foreground":"#d52c36"}},{"scope":["punctuation.section.block.begin.java","punctuation.section.block.end.java","punctuation.definition.method-parameters.begin.java","punctuation.definition.method-parameters.end.java","meta.method.identifier.java","punctuation.section.method.begin.java","punctuation.section.method.end.java","punctuation.terminator.java","punctuation.section.class.begin.java","punctuation.section.class.end.java","punctuation.section.inner-class.begin.java","punctuation.section.inner-class.end.java","meta.method-call.java","punctuation.section.class.begin.bracket.curly.java","punctuation.section.class.end.bracket.curly.java","punctuation.section.method.begin.bracket.curly.java","punctuation.section.method.end.bracket.curly.java","punctuation.separator.period.java","punctuation.bracket.angle.java","punctuation.definition.annotation.java","meta.method.body.java"],"settings":{"foreground":"#79797F"}},{"scope":"meta.method.java","settings":{"foreground":"#7b43f8"}},{"scope":["storage.modifier.import.java","storage.type.java","storage.type.generic.java"],"settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator.instanceof.java","settings":{"foreground":"#fc2b73"}},{"scope":"meta.definition.variable.name.java","settings":{"foreground":"#d52c36"}},{"scope":"token.variable.parameter.java","settings":{"foreground":"#79797F"}},{"scope":"import.storage.java","settings":{"foreground":"#d5a910"}},{"scope":"token.package.keyword","settings":{"foreground":"#fc2b73"}},{"scope":"token.package","settings":{"foreground":"#79797F"}},{"scope":"token.storage.type.java","settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator.assignment.go","settings":{"foreground":"#d5a910"}},{"scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#fc2b73"}},{"scope":"entity.name.package.go","settings":{"foreground":"#d5a910"}},{"scope":["support.other.namespace.use.php","support.other.namespace.use-as.php","support.other.namespace.php","entity.other.alias.php","meta.interface.php"],"settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator.error-control.php","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.operator.type.php","settings":{"foreground":"#fc2b73"}},{"scope":["punctuation.section.array.begin.php","punctuation.section.array.end.php"],"settings":{"foreground":"#79797F"}},{"scope":["storage.type.php","meta.other.type.phpdoc.php","keyword.other.type.php","keyword.other.array.phpdoc.php"],"settings":{"foreground":"#d5a910"}},{"scope":["meta.function-call.php","meta.function-call.object.php","meta.function-call.static.php"],"settings":{"foreground":"#7b43f8"}},{"scope":["punctuation.definition.parameters.begin.bracket.round.php","punctuation.definition.parameters.end.bracket.round.php","punctuation.separator.delimiter.php","punctuation.section.scope.begin.php","punctuation.section.scope.end.php","punctuation.terminator.expression.php","punctuation.definition.arguments.begin.bracket.round.php","punctuation.definition.arguments.end.bracket.round.php","punctuation.definition.storage-type.begin.bracket.round.php","punctuation.definition.storage-type.end.bracket.round.php","punctuation.definition.array.begin.bracket.round.php","punctuation.definition.array.end.bracket.round.php","punctuation.definition.begin.bracket.round.php","punctuation.definition.end.bracket.round.php","punctuation.definition.begin.bracket.curly.php","punctuation.definition.end.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php","punctuation.definition.section.switch-block.start.bracket.curly.php","punctuation.definition.section.switch-block.begin.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php"],"settings":{"foreground":"#79797F"}},{"scope":["support.constant.ext.php","support.constant.std.php","support.constant.core.php","support.constant.parser-token.php"],"settings":{"foreground":"#d5a910"}},{"scope":["entity.name.goto-label.php","support.other.php"],"settings":{"foreground":"#7b43f8"}},{"scope":["keyword.operator.logical.php","keyword.operator.bitwise.php","keyword.operator.arithmetic.php"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.regexp.php","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.operator.comparison.php","settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.heredoc.php","keyword.operator.nowdoc.php"],"settings":{"foreground":"#fc2b73"}},{"scope":"variable.other.class.php","settings":{"foreground":"#d52c36"}},{"scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"scope":"variable.other.generic-type.haskell","settings":{"foreground":"#fc2b73"}},{"scope":"storage.type.haskell","settings":{"foreground":"#d5a910"}},{"scope":"storage.type.cs","settings":{"foreground":"#d5a910"}},{"scope":"entity.name.variable.local.cs","settings":{"foreground":"#d52c36"}},{"scope":"entity.name.label.cs","settings":{"foreground":"#d5a910"}},{"scope":["entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#d5a910"}},{"scope":["punctuation.definition.delayed.unison","punctuation.definition.list.begin.unison","punctuation.definition.list.end.unison","punctuation.definition.ability.begin.unison","punctuation.definition.ability.end.unison","punctuation.operator.assignment.as.unison","punctuation.separator.pipe.unison","punctuation.separator.delimiter.unison","punctuation.definition.hash.unison"],"settings":{"foreground":"#d52c36"}},{"scope":"support.constant.edge","settings":{"foreground":"#fc2b73"}},{"scope":"support.type.prelude.elm","settings":{"foreground":"#08c0ef"}},{"scope":"support.constant.elm","settings":{"foreground":"#d5a910"}},{"scope":"entity.global.clojure","settings":{"foreground":"#d5a910"}},{"scope":"meta.symbol.clojure","settings":{"foreground":"#d52c36"}},{"scope":"constant.keyword.clojure","settings":{"foreground":"#08c0ef"}},{"scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#d52c36"}},{"scope":"storage.modifier.import.groovy","settings":{"foreground":"#d5a910"}},{"scope":"meta.method.groovy","settings":{"foreground":"#7b43f8"}},{"scope":"meta.definition.variable.name.groovy","settings":{"foreground":"#d52c36"}},{"scope":"meta.definition.class.inherited.classes.groovy","settings":{"foreground":"#199f43"}},{"scope":"support.variable.semantic.hlsl","settings":{"foreground":"#d5a910"}},{"scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#fc2b73"}},{"scope":["text.variable","text.bracketed"],"settings":{"foreground":"#d52c36"}},{"scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#d5a910"}},{"scope":"meta.scope.prerequisites.makefile","settings":{"foreground":"#d52c36"}},{"scope":"source.makefile","settings":{"foreground":"#d5a910"}},{"scope":"source.ini","settings":{"foreground":"#199f43"}},{"scope":"constant.language.symbol.ruby","settings":{"foreground":"#08c0ef"}},{"scope":["function.parameter.ruby","function.parameter.cs"],"settings":{"foreground":"#79797F"}},{"scope":"constant.language.symbol.elixir","settings":{"foreground":"#08c0ef"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#fc2b73"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#fc2b73"}},{"scope":"entity.name.function.xi","settings":{"foreground":"#d5a910"}},{"scope":"entity.name.class.xi","settings":{"foreground":"#08c0ef"}},{"scope":"constant.character.character-class.regexp.xi","settings":{"foreground":"#d52c36"}},{"scope":"constant.regexp.xi","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.control.xi","settings":{"foreground":"#08c0ef"}},{"scope":"invalid.xi","settings":{"foreground":"#79797F"}},{"scope":"beginning.punctuation.definition.quote.markdown.xi","settings":{"foreground":"#199f43"}},{"scope":"beginning.punctuation.definition.list.markdown.xi","settings":{"foreground":"#84848A"}},{"scope":"constant.character.xi","settings":{"foreground":"#7b43f8"}},{"scope":"accent.xi","settings":{"foreground":"#7b43f8"}},{"scope":"wikiword.xi","settings":{"foreground":"#d5a910"}},{"scope":"constant.other.color.rgb-value.xi","settings":{"foreground":"#070707"}},{"scope":"punctuation.definition.tag.xi","settings":{"foreground":"#84848A"}},{"scope":["support.constant.property-value.scss","support.constant.property-value.css"],"settings":{"foreground":"#d5a910"}},{"scope":["keyword.operator.css","keyword.operator.scss","keyword.operator.less"],"settings":{"foreground":"#08c0ef"}},{"scope":["support.constant.color.w3c-standard-color-name.css","support.constant.color.w3c-standard-color-name.scss"],"settings":{"foreground":"#d5a910"}},{"scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#79797F"}},{"scope":"support.type.vendored.property-name.css","settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name","settings":{"foreground":"#79797F"}},{"scope":"support.constant.property-value","settings":{"foreground":"#79797F"}},{"scope":"support.constant.font-name","settings":{"foreground":"#d5a910"}},{"scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#16a994","fontStyle":"normal"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#7b43f8","fontStyle":"normal"}},{"scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#08c0ef"}},{"scope":"meta.selector","settings":{"foreground":"#fc2b73"}},{"scope":"selector.sass","settings":{"foreground":"#d52c36"}},{"scope":"rgb-value","settings":{"foreground":"#08c0ef"}},{"scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d5a910"}},{"scope":"less rgb-value","settings":{"foreground":"#d5a910"}},{"scope":"control.elements","settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator.less","settings":{"foreground":"#d5a910"}},{"scope":"entity.name.tag","settings":{"foreground":"#d52c36"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#16a994","fontStyle":"normal"}},{"scope":"constant.character.entity","settings":{"foreground":"#d52c36"}},{"scope":"meta.tag","settings":{"foreground":"#79797F"}},{"scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#79797F"}},{"scope":"markup.heading","settings":{"foreground":"#d52c36"}},{"scope":["markup.heading punctuation.definition.heading","entity.name.section"],"settings":{"foreground":"#7b43f8"}},{"scope":"entity.name.section.markdown","settings":{"foreground":"#d52c36"}},{"scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#d52c36"}},{"scope":"markup.heading.setext","settings":{"foreground":"#79797F"}},{"scope":["markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#d52c36"}},{"scope":["markup.bold","todo.bold"],"settings":{"foreground":"#d5a910"}},{"scope":"punctuation.definition.bold","settings":{"foreground":"#d5a910"}},{"scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d5a910"}},{"scope":["markup.italic","punctuation.definition.italic","todo.emphasis"],"settings":{"foreground":"#fc2b73","fontStyle":"italic"}},{"scope":"emphasis md","settings":{"foreground":"#fc2b73"}},{"scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"foreground":"#fc2b73"}},{"scope":["string.other.link.title.markdown","string.other.link.description.markdown"],"settings":{"foreground":"#7b43f8"}},{"scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#d52c36"}},{"scope":["markup.inline.raw.markdown","markup.inline.raw.string.markdown"],"settings":{"foreground":"#199f43"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#d52c36"}},{"scope":"punctuation.definition.list.markdown","settings":{"foreground":"#d52c36"}},{"scope":"beginning.punctuation.definition.list.markdown","settings":{"foreground":"#d52c36"}},{"scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],"settings":{"foreground":"#d52c36"}},{"scope":"markup.quote.markdown","settings":{"foreground":"#84848A"}},{"scope":"keyword.other.unit","settings":{"foreground":"#d52c36"}},{"scope":"markup.changed.diff","settings":{"foreground":"#d5a910"}},{"scope":["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],"settings":{"foreground":"#7b43f8"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#199f43"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#d52c36"}},{"scope":"string.regexp","settings":{"foreground":"#17a5af"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#d52c36"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d5a910"}},{"scope":"constant.character.escape","settings":{"foreground":"#1ca1c7"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#d52c36"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#d52c36"}},{"scope":["source.json meta.structure.dictionary.json > value.json > string.quoted.json","source.json meta.structure.array.json > value.json > string.quoted.json","source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation","source.json meta.structure.array.json > value.json > string.quoted.json > punctuation"],"settings":{"foreground":"#199f43"}},{"scope":["source.json meta.structure.dictionary.json > constant.language.json","source.json meta.structure.array.json > constant.language.json"],"settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#d52c36"}},{"scope":"support.type.property-name.json punctuation","settings":{"foreground":"#d52c36"}},{"scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#79797F"}},{"scope":"block.scope.end","settings":{"foreground":"#79797F"}},{"scope":"block.scope.begin","settings":{"foreground":"#79797F"}},{"scope":"token.info-token","settings":{"foreground":"#7b43f8"}},{"scope":"token.warn-token","settings":{"foreground":"#d5a910"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#fc2b73"}},{"scope":"invalid.illegal","settings":{"foreground":"#070707"}},{"scope":"invalid.broken","settings":{"foreground":"#070707"}},{"scope":"invalid.deprecated","settings":{"foreground":"#070707"}},{"scope":"invalid.unimplemented","settings":{"foreground":"#070707"}}],"semanticTokenColors":{"comment":"#84848A","string":"#199f43","number":"#1ca1c7","regexp":"#17a5af","keyword":"#fc2b73","variable":"#d47628","parameter":"#79797F","property":"#d47628","function":"#7b43f8","method":"#7b43f8","type":"#c635e4","class":"#c635e4","namespace":"#d5a910","enumMember":"#08c0ef","variable.constant":"#d5a910","variable.defaultLibrary":"#d5a910"}}'));export{e as default};
diff --git a/lib/crates/fabro-spa/assets/assets/chunk-q2qv5qr4.js b/lib/crates/fabro-spa/assets/assets/chunk-q2qv5qr4.js
deleted file mode 100644
index 8d5674785..000000000
--- a/lib/crates/fabro-spa/assets/assets/chunk-q2qv5qr4.js
+++ /dev/null
@@ -1 +0,0 @@
-import"./chunk-q07bg6gn.js";var b="pierre-dark",h="dark",q={"editor.background":"#070707","editor.foreground":"#fbfbfb",foreground:"#fbfbfb",focusBorder:"#009fff","selection.background":"#19283c","editor.selectionBackground":"#009fff4d","editor.lineHighlightBackground":"#19283c8c","editorCursor.foreground":"#009fff","editorLineNumber.foreground":"#84848A","editorLineNumber.activeForeground":"#adadb1","editorIndentGuide.background":"#39393c","editorIndentGuide.activeBackground":"#2e2e30","diffEditor.insertedTextBackground":"#00cab11a","diffEditor.deletedTextBackground":"#ff2e3f1a","sideBar.background":"#141415","sideBar.foreground":"#adadb1","sideBar.border":"#070707","sideBarTitle.foreground":"#fbfbfb","sideBarSectionHeader.background":"#141415","sideBarSectionHeader.foreground":"#adadb1","sideBarSectionHeader.border":"#070707","activityBar.background":"#141415","activityBar.foreground":"#fbfbfb","activityBar.border":"#070707","activityBar.activeBorder":"#009fff","activityBarBadge.background":"#009fff","activityBarBadge.foreground":"#070707","titleBar.activeBackground":"#141415","titleBar.activeForeground":"#fbfbfb","titleBar.inactiveBackground":"#141415","titleBar.inactiveForeground":"#84848A","titleBar.border":"#070707","list.activeSelectionBackground":"#19283c99","list.activeSelectionForeground":"#fbfbfb","list.inactiveSelectionBackground":"#19283c73","list.hoverBackground":"#19283c59","list.focusOutline":"#009fff","tab.activeBackground":"#070707","tab.activeForeground":"#fbfbfb","tab.activeBorderTop":"#009fff","tab.inactiveBackground":"#141415","tab.inactiveForeground":"#84848A","tab.border":"#070707","editorGroupHeader.tabsBackground":"#141415","editorGroupHeader.tabsBorder":"#070707","panel.background":"#141415","panel.border":"#070707","panelTitle.activeBorder":"#009fff","panelTitle.activeForeground":"#fbfbfb","panelTitle.inactiveForeground":"#84848A","statusBar.background":"#141415","statusBar.foreground":"#adadb1","statusBar.border":"#070707","statusBar.noFolderBackground":"#141415","statusBar.debuggingBackground":"#ffca00","statusBar.debuggingForeground":"#070707","statusBarItem.remoteBackground":"#141415","statusBarItem.remoteForeground":"#adadb1","input.background":"#1F1F21","input.border":"#424245","input.foreground":"#fbfbfb","input.placeholderForeground":"#79797F","dropdown.background":"#1F1F21","dropdown.border":"#424245","dropdown.foreground":"#fbfbfb","button.background":"#009fff","button.foreground":"#070707","button.hoverBackground":"#0190e6","textLink.foreground":"#009fff","textLink.activeForeground":"#009fff","gitDecoration.addedResourceForeground":"#00cab1","gitDecoration.conflictingResourceForeground":"#ffca00","gitDecoration.modifiedResourceForeground":"#009fff","gitDecoration.deletedResourceForeground":"#ff2e3f","gitDecoration.untrackedResourceForeground":"#00cab1","gitDecoration.ignoredResourceForeground":"#84848A","terminal.titleForeground":"#adadb1","terminal.titleInactiveForeground":"#84848A","terminal.background":"#141415","terminal.foreground":"#adadb1","terminal.ansiBlack":"#141415","terminal.ansiRed":"#ff2e3f","terminal.ansiGreen":"#0dbe4e","terminal.ansiYellow":"#ffca00","terminal.ansiBlue":"#009fff","terminal.ansiMagenta":"#c635e4","terminal.ansiCyan":"#08c0ef","terminal.ansiWhite":"#c6c6c8","terminal.ansiBrightBlack":"#141415","terminal.ansiBrightRed":"#ff2e3f","terminal.ansiBrightGreen":"#0dbe4e","terminal.ansiBrightYellow":"#ffca00","terminal.ansiBrightBlue":"#009fff","terminal.ansiBrightMagenta":"#c635e4","terminal.ansiBrightCyan":"#08c0ef","terminal.ansiBrightWhite":"#c6c6c8"},v=[{scope:["comment","punctuation.definition.comment"],settings:{foreground:"#84848A"}},{scope:"comment markup.link",settings:{foreground:"#84848A"}},{scope:["string","constant.other.symbol"],settings:{foreground:"#5ecc71"}},{scope:["punctuation.definition.string.begin","punctuation.definition.string.end"],settings:{foreground:"#5ecc71"}},{scope:["constant.numeric","constant.language.boolean"],settings:{foreground:"#68cdf2"}},{scope:"constant",settings:{foreground:"#ffd452"}},{scope:"punctuation.definition.constant",settings:{foreground:"#ffd452"}},{scope:"constant.language",settings:{foreground:"#68cdf2"}},{scope:"variable.other.constant",settings:{foreground:"#ffca00"}},{scope:"keyword",settings:{foreground:"#ff678d"}},{scope:"keyword.control",settings:{foreground:"#ff678d"}},{scope:["storage","storage.type","storage.modifier"],settings:{foreground:"#ff678d"}},{scope:"token.storage",settings:{foreground:"#ff678d"}},{scope:["keyword.operator.new","keyword.operator.expression.instanceof","keyword.operator.expression.typeof","keyword.operator.expression.void","keyword.operator.expression.delete","keyword.operator.expression.in","keyword.operator.expression.of","keyword.operator.expression.keyof"],settings:{foreground:"#ff678d"}},{scope:"keyword.operator.delete",settings:{foreground:"#ff678d"}},{scope:["variable","identifier","meta.definition.variable"],settings:{foreground:"#ffa359"}},{scope:["variable.other.readwrite","meta.object-literal.key","support.variable.property","support.variable.object.process","support.variable.object.node"],settings:{foreground:"#ffa359"}},{scope:"variable.language",settings:{foreground:"#ffca00"}},{scope:"variable.parameter.function",settings:{foreground:"#adadb1"}},{scope:"function.parameter",settings:{foreground:"#adadb1"}},{scope:"variable.parameter",settings:{foreground:"#adadb1"}},{scope:"variable.parameter.function.language.python",settings:{foreground:"#ffd452"}},{scope:"variable.parameter.function.python",settings:{foreground:"#ffd452"}},{scope:["support.function","entity.name.function","meta.function-call","meta.require","support.function.any-method","variable.function"],settings:{foreground:"#9d6afb"}},{scope:"keyword.other.special-method",settings:{foreground:"#9d6afb"}},{scope:"entity.name.function",settings:{foreground:"#9d6afb"}},{scope:"support.function.console",settings:{foreground:"#9d6afb"}},{scope:["support.type","entity.name.type","entity.name.class","storage.type"],settings:{foreground:"#d568ea"}},{scope:["support.class","entity.name.type.class"],settings:{foreground:"#d568ea"}},{scope:["entity.name.class","variable.other.class.js","variable.other.class.ts"],settings:{foreground:"#d568ea"}},{scope:"entity.name.class.identifier.namespace.type",settings:{foreground:"#d568ea"}},{scope:"entity.name.type.namespace",settings:{foreground:"#ffca00"}},{scope:"entity.other.inherited-class",settings:{foreground:"#d568ea"}},{scope:"entity.name.namespace",settings:{foreground:"#ffca00"}},{scope:"keyword.operator",settings:{foreground:"#79797F"}},{scope:["keyword.operator.logical","keyword.operator.bitwise","keyword.operator.channel"],settings:{foreground:"#08c0ef"}},{scope:["keyword.operator.arithmetic","keyword.operator.comparison","keyword.operator.relational","keyword.operator.increment","keyword.operator.decrement"],settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.assignment",settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.assignment.compound",settings:{foreground:"#ff678d"}},{scope:["keyword.operator.assignment.compound.js","keyword.operator.assignment.compound.ts"],settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.ternary",settings:{foreground:"#ff678d"}},{scope:"keyword.operator.optional",settings:{foreground:"#ff678d"}},{scope:"punctuation",settings:{foreground:"#79797F"}},{scope:"punctuation.separator.delimiter",settings:{foreground:"#79797F"}},{scope:"punctuation.separator.key-value",settings:{foreground:"#79797F"}},{scope:"punctuation.terminator",settings:{foreground:"#79797F"}},{scope:"meta.brace",settings:{foreground:"#79797F"}},{scope:"meta.brace.square",settings:{foreground:"#79797F"}},{scope:"meta.brace.round",settings:{foreground:"#79797F"}},{scope:"function.brace",settings:{foreground:"#79797F"}},{scope:["punctuation.definition.parameters","punctuation.definition.typeparameters"],settings:{foreground:"#79797F"}},{scope:["punctuation.definition.block","punctuation.definition.tag"],settings:{foreground:"#79797F"}},{scope:["meta.tag.tsx","meta.tag.jsx","meta.tag.js","meta.tag.ts"],settings:{foreground:"#79797F"}},{scope:"keyword.operator.expression.import",settings:{foreground:"#9d6afb"}},{scope:"keyword.operator.module",settings:{foreground:"#ff678d"}},{scope:"support.type.object.console",settings:{foreground:"#ffa359"}},{scope:["support.module.node","support.type.object.module","entity.name.type.module"],settings:{foreground:"#ffca00"}},{scope:"support.constant.math",settings:{foreground:"#ffca00"}},{scope:"support.constant.property.math",settings:{foreground:"#ffd452"}},{scope:"support.constant.json",settings:{foreground:"#ffd452"}},{scope:"support.type.object.dom",settings:{foreground:"#08c0ef"}},{scope:["support.variable.dom","support.variable.property.dom"],settings:{foreground:"#ffa359"}},{scope:"support.variable.property.process",settings:{foreground:"#ffd452"}},{scope:"meta.property.object",settings:{foreground:"#ffa359"}},{scope:"variable.parameter.function.js",settings:{foreground:"#ffa359"}},{scope:["keyword.other.template.begin","keyword.other.template.end"],settings:{foreground:"#5ecc71"}},{scope:["keyword.other.substitution.begin","keyword.other.substitution.end"],settings:{foreground:"#5ecc71"}},{scope:["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end"],settings:{foreground:"#ff678d"}},{scope:"meta.template.expression",settings:{foreground:"#79797F"}},{scope:"punctuation.section.embedded",settings:{foreground:"#ffa359"}},{scope:"variable.interpolation",settings:{foreground:"#ffa359"}},{scope:["punctuation.section.embedded.begin","punctuation.section.embedded.end"],settings:{foreground:"#ff678d"}},{scope:"punctuation.quasi.element",settings:{foreground:"#ff678d"}},{scope:["support.type.primitive.ts","support.type.builtin.ts","support.type.primitive.tsx","support.type.builtin.tsx"],settings:{foreground:"#d568ea"}},{scope:"support.type.type.flowtype",settings:{foreground:"#9d6afb"}},{scope:"support.type.primitive",settings:{foreground:"#d568ea"}},{scope:"support.variable.magic.python",settings:{foreground:"#ff6762"}},{scope:"variable.parameter.function.language.special.self.python",settings:{foreground:"#ffca00"}},{scope:["punctuation.separator.period.python","punctuation.separator.element.python","punctuation.parenthesis.begin.python","punctuation.parenthesis.end.python"],settings:{foreground:"#79797F"}},{scope:["punctuation.definition.arguments.begin.python","punctuation.definition.arguments.end.python","punctuation.separator.arguments.python","punctuation.definition.list.begin.python","punctuation.definition.list.end.python"],settings:{foreground:"#79797F"}},{scope:"support.type.python",settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.logical.python",settings:{foreground:"#ff678d"}},{scope:"meta.function-call.generic.python",settings:{foreground:"#9d6afb"}},{scope:"constant.character.format.placeholder.other.python",settings:{foreground:"#ffd452"}},{scope:"meta.function.decorator.python",settings:{foreground:"#9d6afb"}},{scope:["support.token.decorator.python","meta.function.decorator.identifier.python"],settings:{foreground:"#08c0ef"}},{scope:"storage.modifier.lifetime.rust",settings:{foreground:"#79797F"}},{scope:"support.function.std.rust",settings:{foreground:"#9d6afb"}},{scope:"entity.name.lifetime.rust",settings:{foreground:"#ffca00"}},{scope:"variable.language.rust",settings:{foreground:"#ff6762"}},{scope:"keyword.operator.misc.rust",settings:{foreground:"#79797F"}},{scope:"keyword.operator.sigil.rust",settings:{foreground:"#ff678d"}},{scope:"support.constant.core.rust",settings:{foreground:"#ffd452"}},{scope:["meta.function.c","meta.function.cpp"],settings:{foreground:"#ff6762"}},{scope:["punctuation.section.block.begin.bracket.curly.cpp","punctuation.section.block.end.bracket.curly.cpp","punctuation.terminator.statement.c","punctuation.section.block.begin.bracket.curly.c","punctuation.section.block.end.bracket.curly.c","punctuation.section.parens.begin.bracket.round.c","punctuation.section.parens.end.bracket.round.c","punctuation.section.parameters.begin.bracket.round.c","punctuation.section.parameters.end.bracket.round.c"],settings:{foreground:"#79797F"}},{scope:["keyword.operator.assignment.c","keyword.operator.comparison.c","keyword.operator.c","keyword.operator.increment.c","keyword.operator.decrement.c","keyword.operator.bitwise.shift.c"],settings:{foreground:"#ff678d"}},{scope:["keyword.operator.assignment.cpp","keyword.operator.comparison.cpp","keyword.operator.cpp","keyword.operator.increment.cpp","keyword.operator.decrement.cpp","keyword.operator.bitwise.shift.cpp"],settings:{foreground:"#ff678d"}},{scope:["punctuation.separator.c","punctuation.separator.cpp"],settings:{foreground:"#ff678d"}},{scope:["support.type.posix-reserved.c","support.type.posix-reserved.cpp"],settings:{foreground:"#08c0ef"}},{scope:["keyword.operator.sizeof.c","keyword.operator.sizeof.cpp"],settings:{foreground:"#ff678d"}},{scope:"variable.c",settings:{foreground:"#79797F"}},{scope:["storage.type.annotation.java","storage.type.object.array.java"],settings:{foreground:"#ffca00"}},{scope:"source.java",settings:{foreground:"#ff6762"}},{scope:["punctuation.section.block.begin.java","punctuation.section.block.end.java","punctuation.definition.method-parameters.begin.java","punctuation.definition.method-parameters.end.java","meta.method.identifier.java","punctuation.section.method.begin.java","punctuation.section.method.end.java","punctuation.terminator.java","punctuation.section.class.begin.java","punctuation.section.class.end.java","punctuation.section.inner-class.begin.java","punctuation.section.inner-class.end.java","meta.method-call.java","punctuation.section.class.begin.bracket.curly.java","punctuation.section.class.end.bracket.curly.java","punctuation.section.method.begin.bracket.curly.java","punctuation.section.method.end.bracket.curly.java","punctuation.separator.period.java","punctuation.bracket.angle.java","punctuation.definition.annotation.java","meta.method.body.java"],settings:{foreground:"#79797F"}},{scope:"meta.method.java",settings:{foreground:"#9d6afb"}},{scope:["storage.modifier.import.java","storage.type.java","storage.type.generic.java"],settings:{foreground:"#ffca00"}},{scope:"keyword.operator.instanceof.java",settings:{foreground:"#ff678d"}},{scope:"meta.definition.variable.name.java",settings:{foreground:"#ff6762"}},{scope:"token.variable.parameter.java",settings:{foreground:"#79797F"}},{scope:"import.storage.java",settings:{foreground:"#ffca00"}},{scope:"token.package.keyword",settings:{foreground:"#ff678d"}},{scope:"token.package",settings:{foreground:"#79797F"}},{scope:"token.storage.type.java",settings:{foreground:"#ffca00"}},{scope:"keyword.operator.assignment.go",settings:{foreground:"#ffca00"}},{scope:["keyword.operator.arithmetic.go","keyword.operator.address.go"],settings:{foreground:"#ff678d"}},{scope:"entity.name.package.go",settings:{foreground:"#ffca00"}},{scope:["support.other.namespace.use.php","support.other.namespace.use-as.php","support.other.namespace.php","entity.other.alias.php","meta.interface.php"],settings:{foreground:"#ffca00"}},{scope:"keyword.operator.error-control.php",settings:{foreground:"#ff678d"}},{scope:"keyword.operator.type.php",settings:{foreground:"#ff678d"}},{scope:["punctuation.section.array.begin.php","punctuation.section.array.end.php"],settings:{foreground:"#79797F"}},{scope:["storage.type.php","meta.other.type.phpdoc.php","keyword.other.type.php","keyword.other.array.phpdoc.php"],settings:{foreground:"#ffca00"}},{scope:["meta.function-call.php","meta.function-call.object.php","meta.function-call.static.php"],settings:{foreground:"#9d6afb"}},{scope:["punctuation.definition.parameters.begin.bracket.round.php","punctuation.definition.parameters.end.bracket.round.php","punctuation.separator.delimiter.php","punctuation.section.scope.begin.php","punctuation.section.scope.end.php","punctuation.terminator.expression.php","punctuation.definition.arguments.begin.bracket.round.php","punctuation.definition.arguments.end.bracket.round.php","punctuation.definition.storage-type.begin.bracket.round.php","punctuation.definition.storage-type.end.bracket.round.php","punctuation.definition.array.begin.bracket.round.php","punctuation.definition.array.end.bracket.round.php","punctuation.definition.begin.bracket.round.php","punctuation.definition.end.bracket.round.php","punctuation.definition.begin.bracket.curly.php","punctuation.definition.end.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php","punctuation.definition.section.switch-block.start.bracket.curly.php","punctuation.definition.section.switch-block.begin.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php"],settings:{foreground:"#79797F"}},{scope:["support.constant.ext.php","support.constant.std.php","support.constant.core.php","support.constant.parser-token.php"],settings:{foreground:"#ffd452"}},{scope:["entity.name.goto-label.php","support.other.php"],settings:{foreground:"#9d6afb"}},{scope:["keyword.operator.logical.php","keyword.operator.bitwise.php","keyword.operator.arithmetic.php"],settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.regexp.php",settings:{foreground:"#ff678d"}},{scope:"keyword.operator.comparison.php",settings:{foreground:"#08c0ef"}},{scope:["keyword.operator.heredoc.php","keyword.operator.nowdoc.php"],settings:{foreground:"#ff678d"}},{scope:"variable.other.class.php",settings:{foreground:"#ff6762"}},{scope:"invalid.illegal.non-null-typehinted.php",settings:{foreground:"#f44747"}},{scope:"variable.other.generic-type.haskell",settings:{foreground:"#ff678d"}},{scope:"storage.type.haskell",settings:{foreground:"#ffd452"}},{scope:"storage.type.cs",settings:{foreground:"#ffca00"}},{scope:"entity.name.variable.local.cs",settings:{foreground:"#ff6762"}},{scope:"entity.name.label.cs",settings:{foreground:"#ffca00"}},{scope:["entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],settings:{foreground:"#ffca00"}},{scope:["punctuation.definition.delayed.unison","punctuation.definition.list.begin.unison","punctuation.definition.list.end.unison","punctuation.definition.ability.begin.unison","punctuation.definition.ability.end.unison","punctuation.operator.assignment.as.unison","punctuation.separator.pipe.unison","punctuation.separator.delimiter.unison","punctuation.definition.hash.unison"],settings:{foreground:"#ff6762"}},{scope:"support.constant.edge",settings:{foreground:"#ff678d"}},{scope:"support.type.prelude.elm",settings:{foreground:"#08c0ef"}},{scope:"support.constant.elm",settings:{foreground:"#ffd452"}},{scope:"entity.global.clojure",settings:{foreground:"#ffca00"}},{scope:"meta.symbol.clojure",settings:{foreground:"#ff6762"}},{scope:"constant.keyword.clojure",settings:{foreground:"#08c0ef"}},{scope:["meta.arguments.coffee","variable.parameter.function.coffee"],settings:{foreground:"#ff6762"}},{scope:"storage.modifier.import.groovy",settings:{foreground:"#ffca00"}},{scope:"meta.method.groovy",settings:{foreground:"#9d6afb"}},{scope:"meta.definition.variable.name.groovy",settings:{foreground:"#ff6762"}},{scope:"meta.definition.class.inherited.classes.groovy",settings:{foreground:"#5ecc71"}},{scope:"support.variable.semantic.hlsl",settings:{foreground:"#ffca00"}},{scope:["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],settings:{foreground:"#ff678d"}},{scope:["text.variable","text.bracketed"],settings:{foreground:"#ff6762"}},{scope:["support.type.swift","support.type.vb.asp"],settings:{foreground:"#ffca00"}},{scope:"meta.scope.prerequisites.makefile",settings:{foreground:"#ff6762"}},{scope:"source.makefile",settings:{foreground:"#ffca00"}},{scope:"source.ini",settings:{foreground:"#5ecc71"}},{scope:"constant.language.symbol.ruby",settings:{foreground:"#08c0ef"}},{scope:["function.parameter.ruby","function.parameter.cs"],settings:{foreground:"#79797F"}},{scope:"constant.language.symbol.elixir",settings:{foreground:"#08c0ef"}},{scope:"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade",settings:{foreground:"#ff678d"}},{scope:"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade",settings:{foreground:"#ff678d"}},{scope:"entity.name.function.xi",settings:{foreground:"#ffca00"}},{scope:"entity.name.class.xi",settings:{foreground:"#08c0ef"}},{scope:"constant.character.character-class.regexp.xi",settings:{foreground:"#ff6762"}},{scope:"constant.regexp.xi",settings:{foreground:"#ff678d"}},{scope:"keyword.control.xi",settings:{foreground:"#08c0ef"}},{scope:"invalid.xi",settings:{foreground:"#79797F"}},{scope:"beginning.punctuation.definition.quote.markdown.xi",settings:{foreground:"#5ecc71"}},{scope:"beginning.punctuation.definition.list.markdown.xi",settings:{foreground:"#84848A"}},{scope:"constant.character.xi",settings:{foreground:"#9d6afb"}},{scope:"accent.xi",settings:{foreground:"#9d6afb"}},{scope:"wikiword.xi",settings:{foreground:"#ffd452"}},{scope:"constant.other.color.rgb-value.xi",settings:{foreground:"#ffffff"}},{scope:"punctuation.definition.tag.xi",settings:{foreground:"#84848A"}},{scope:["support.constant.property-value.scss","support.constant.property-value.css"],settings:{foreground:"#ffd452"}},{scope:["keyword.operator.css","keyword.operator.scss","keyword.operator.less"],settings:{foreground:"#08c0ef"}},{scope:["support.constant.color.w3c-standard-color-name.css","support.constant.color.w3c-standard-color-name.scss"],settings:{foreground:"#ffd452"}},{scope:"punctuation.separator.list.comma.css",settings:{foreground:"#79797F"}},{scope:"support.type.vendored.property-name.css",settings:{foreground:"#08c0ef"}},{scope:"support.type.property-name.css",settings:{foreground:"#08c0ef"}},{scope:"support.type.property-name",settings:{foreground:"#79797F"}},{scope:"support.constant.property-value",settings:{foreground:"#79797F"}},{scope:"support.constant.font-name",settings:{foreground:"#ffd452"}},{scope:"entity.other.attribute-name.class.css",settings:{foreground:"#61d5c0",fontStyle:"normal"}},{scope:"entity.other.attribute-name.id",settings:{foreground:"#9d6afb",fontStyle:"normal"}},{scope:["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],settings:{foreground:"#08c0ef"}},{scope:"meta.selector",settings:{foreground:"#ff678d"}},{scope:"selector.sass",settings:{foreground:"#ff6762"}},{scope:"rgb-value",settings:{foreground:"#08c0ef"}},{scope:"inline-color-decoration rgb-value",settings:{foreground:"#ffd452"}},{scope:"less rgb-value",settings:{foreground:"#ffd452"}},{scope:"control.elements",settings:{foreground:"#ffd452"}},{scope:"keyword.operator.less",settings:{foreground:"#ffd452"}},{scope:"entity.name.tag",settings:{foreground:"#ff6762"}},{scope:"entity.other.attribute-name",settings:{foreground:"#61d5c0",fontStyle:"normal"}},{scope:"constant.character.entity",settings:{foreground:"#ff6762"}},{scope:"meta.tag",settings:{foreground:"#79797F"}},{scope:"invalid.illegal.bad-ampersand.html",settings:{foreground:"#79797F"}},{scope:"markup.heading",settings:{foreground:"#ff6762"}},{scope:["markup.heading punctuation.definition.heading","entity.name.section"],settings:{foreground:"#9d6afb"}},{scope:"entity.name.section.markdown",settings:{foreground:"#ff6762"}},{scope:"punctuation.definition.heading.markdown",settings:{foreground:"#ff6762"}},{scope:"markup.heading.setext",settings:{foreground:"#79797F"}},{scope:["markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],settings:{foreground:"#ff6762"}},{scope:["markup.bold","todo.bold"],settings:{foreground:"#ffd452"}},{scope:"punctuation.definition.bold",settings:{foreground:"#ffca00"}},{scope:"punctuation.definition.bold.markdown",settings:{foreground:"#ffd452"}},{scope:["markup.italic","punctuation.definition.italic","todo.emphasis"],settings:{foreground:"#ff678d",fontStyle:"italic"}},{scope:"emphasis md",settings:{foreground:"#ff678d"}},{scope:"markup.italic.markdown",settings:{fontStyle:"italic"}},{scope:["markup.underline.link.markdown","markup.underline.link.image.markdown"],settings:{foreground:"#ff678d"}},{scope:["string.other.link.title.markdown","string.other.link.description.markdown"],settings:{foreground:"#9d6afb"}},{scope:"punctuation.definition.metadata.markdown",settings:{foreground:"#ff6762"}},{scope:["markup.inline.raw.markdown","markup.inline.raw.string.markdown"],settings:{foreground:"#5ecc71"}},{scope:"punctuation.definition.list.begin.markdown",settings:{foreground:"#ff6762"}},{scope:"punctuation.definition.list.markdown",settings:{foreground:"#ff6762"}},{scope:"beginning.punctuation.definition.list.markdown",settings:{foreground:"#ff6762"}},{scope:["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],settings:{foreground:"#ff6762"}},{scope:"markup.quote.markdown",settings:{foreground:"#84848A"}},{scope:"keyword.other.unit",settings:{foreground:"#ff6762"}},{scope:"markup.changed.diff",settings:{foreground:"#ffca00"}},{scope:["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],settings:{foreground:"#9d6afb"}},{scope:"markup.inserted.diff",settings:{foreground:"#5ecc71"}},{scope:"markup.deleted.diff",settings:{foreground:"#ff6762"}},{scope:"string.regexp",settings:{foreground:"#64d1db"}},{scope:"constant.other.character-class.regexp",settings:{foreground:"#ff6762"}},{scope:"keyword.operator.quantifier.regexp",settings:{foreground:"#ffd452"}},{scope:"constant.character.escape",settings:{foreground:"#68cdf2"}},{scope:"source.json meta.structure.dictionary.json > string.quoted.json",settings:{foreground:"#ff6762"}},{scope:"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string",settings:{foreground:"#ff6762"}},{scope:["source.json meta.structure.dictionary.json > value.json > string.quoted.json","source.json meta.structure.array.json > value.json > string.quoted.json","source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation","source.json meta.structure.array.json > value.json > string.quoted.json > punctuation"],settings:{foreground:"#5ecc71"}},{scope:["source.json meta.structure.dictionary.json > constant.language.json","source.json meta.structure.array.json > constant.language.json"],settings:{foreground:"#08c0ef"}},{scope:"support.type.property-name.json",settings:{foreground:"#ff6762"}},{scope:"support.type.property-name.json punctuation",settings:{foreground:"#ff6762"}},{scope:"punctuation.definition.block.sequence.item.yaml",settings:{foreground:"#79797F"}},{scope:"block.scope.end",settings:{foreground:"#79797F"}},{scope:"block.scope.begin",settings:{foreground:"#79797F"}},{scope:"token.info-token",settings:{foreground:"#9d6afb"}},{scope:"token.warn-token",settings:{foreground:"#ffd452"}},{scope:"token.error-token",settings:{foreground:"#f44747"}},{scope:"token.debug-token",settings:{foreground:"#ff678d"}},{scope:"invalid.illegal",settings:{foreground:"#ffffff"}},{scope:"invalid.broken",settings:{foreground:"#ffffff"}},{scope:"invalid.deprecated",settings:{foreground:"#ffffff"}},{scope:"invalid.unimplemented",settings:{foreground:"#ffffff"}}],w={comment:"#84848A",string:"#5ecc71",number:"#68cdf2",regexp:"#64d1db",keyword:"#ff678d",variable:"#ffa359",parameter:"#adadb1",property:"#ffa359",function:"#9d6afb",method:"#9d6afb",type:"#d568ea",class:"#d568ea",namespace:"#ffca00",enumMember:"#08c0ef","variable.constant":"#ffd452","variable.defaultLibrary":"#ffca00"},x={name:b,type:h,colors:q,tokenColors:v,semanticTokenColors:w};export{h as type,v as tokenColors,w as semanticTokenColors,b as name,x as default,q as colors};
diff --git a/lib/crates/fabro-spa/assets/assets/chunk-tqzz87j8.js b/lib/crates/fabro-spa/assets/assets/chunk-tqzz87j8.js
deleted file mode 100644
index b56d27055..000000000
--- a/lib/crates/fabro-spa/assets/assets/chunk-tqzz87j8.js
+++ /dev/null
@@ -1 +0,0 @@
-import"./chunk-q07bg6gn.js";var b="pierre-light",q="light",v={"editor.background":"#ffffff","editor.foreground":"#070707",foreground:"#070707",focusBorder:"#009fff","selection.background":"#dfebff","editor.selectionBackground":"#009fff2e","editor.lineHighlightBackground":"#dfebff8c","editorCursor.foreground":"#009fff","editorLineNumber.foreground":"#84848A","editorLineNumber.activeForeground":"#6C6C71","editorIndentGuide.background":"#eeeeef","editorIndentGuide.activeBackground":"#dbdbdd","diffEditor.insertedTextBackground":"#00cab133","diffEditor.deletedTextBackground":"#ff2e3f33","sideBar.background":"#f8f8f8","sideBar.foreground":"#6C6C71","sideBar.border":"#eeeeef","sideBarTitle.foreground":"#070707","sideBarSectionHeader.background":"#f8f8f8","sideBarSectionHeader.foreground":"#6C6C71","sideBarSectionHeader.border":"#eeeeef","activityBar.background":"#f8f8f8","activityBar.foreground":"#070707","activityBar.border":"#eeeeef","activityBar.activeBorder":"#009fff","activityBarBadge.background":"#009fff","activityBarBadge.foreground":"#ffffff","titleBar.activeBackground":"#f8f8f8","titleBar.activeForeground":"#070707","titleBar.inactiveBackground":"#f8f8f8","titleBar.inactiveForeground":"#84848A","titleBar.border":"#eeeeef","list.activeSelectionBackground":"#dfebffcc","list.activeSelectionForeground":"#070707","list.inactiveSelectionBackground":"#dfebff73","list.hoverBackground":"#dfebff59","list.focusOutline":"#009fff","tab.activeBackground":"#ffffff","tab.activeForeground":"#070707","tab.activeBorderTop":"#009fff","tab.inactiveBackground":"#f8f8f8","tab.inactiveForeground":"#84848A","tab.border":"#eeeeef","editorGroupHeader.tabsBackground":"#f8f8f8","editorGroupHeader.tabsBorder":"#eeeeef","panel.background":"#f8f8f8","panel.border":"#eeeeef","panelTitle.activeBorder":"#009fff","panelTitle.activeForeground":"#070707","panelTitle.inactiveForeground":"#84848A","statusBar.background":"#f8f8f8","statusBar.foreground":"#6C6C71","statusBar.border":"#eeeeef","statusBar.noFolderBackground":"#f8f8f8","statusBar.debuggingBackground":"#ffca00","statusBar.debuggingForeground":"#ffffff","statusBarItem.remoteBackground":"#f8f8f8","statusBarItem.remoteForeground":"#6C6C71","input.background":"#f2f2f3","input.border":"#dbdbdd","input.foreground":"#070707","input.placeholderForeground":"#8E8E95","dropdown.background":"#f2f2f3","dropdown.border":"#dbdbdd","dropdown.foreground":"#070707","button.background":"#009fff","button.foreground":"#ffffff","button.hoverBackground":"#1aa9ff","textLink.foreground":"#009fff","textLink.activeForeground":"#009fff","gitDecoration.addedResourceForeground":"#00cab1","gitDecoration.conflictingResourceForeground":"#ffca00","gitDecoration.modifiedResourceForeground":"#009fff","gitDecoration.deletedResourceForeground":"#ff2e3f","gitDecoration.untrackedResourceForeground":"#00cab1","gitDecoration.ignoredResourceForeground":"#84848A","terminal.titleForeground":"#6C6C71","terminal.titleInactiveForeground":"#84848A","terminal.background":"#f8f8f8","terminal.foreground":"#6C6C71","terminal.ansiBlack":"#1F1F21","terminal.ansiRed":"#ff2e3f","terminal.ansiGreen":"#0dbe4e","terminal.ansiYellow":"#ffca00","terminal.ansiBlue":"#009fff","terminal.ansiMagenta":"#c635e4","terminal.ansiCyan":"#08c0ef","terminal.ansiWhite":"#c6c6c8","terminal.ansiBrightBlack":"#1F1F21","terminal.ansiBrightRed":"#ff2e3f","terminal.ansiBrightGreen":"#0dbe4e","terminal.ansiBrightYellow":"#ffca00","terminal.ansiBrightBlue":"#009fff","terminal.ansiBrightMagenta":"#c635e4","terminal.ansiBrightCyan":"#08c0ef","terminal.ansiBrightWhite":"#c6c6c8"},w=[{scope:["comment","punctuation.definition.comment"],settings:{foreground:"#84848A"}},{scope:"comment markup.link",settings:{foreground:"#84848A"}},{scope:["string","constant.other.symbol"],settings:{foreground:"#199f43"}},{scope:["punctuation.definition.string.begin","punctuation.definition.string.end"],settings:{foreground:"#199f43"}},{scope:["constant.numeric","constant.language.boolean"],settings:{foreground:"#1ca1c7"}},{scope:"constant",settings:{foreground:"#d5a910"}},{scope:"punctuation.definition.constant",settings:{foreground:"#d5a910"}},{scope:"constant.language",settings:{foreground:"#1ca1c7"}},{scope:"variable.other.constant",settings:{foreground:"#d5a910"}},{scope:"keyword",settings:{foreground:"#fc2b73"}},{scope:"keyword.control",settings:{foreground:"#fc2b73"}},{scope:["storage","storage.type","storage.modifier"],settings:{foreground:"#fc2b73"}},{scope:"token.storage",settings:{foreground:"#fc2b73"}},{scope:["keyword.operator.new","keyword.operator.expression.instanceof","keyword.operator.expression.typeof","keyword.operator.expression.void","keyword.operator.expression.delete","keyword.operator.expression.in","keyword.operator.expression.of","keyword.operator.expression.keyof"],settings:{foreground:"#fc2b73"}},{scope:"keyword.operator.delete",settings:{foreground:"#fc2b73"}},{scope:["variable","identifier","meta.definition.variable"],settings:{foreground:"#d47628"}},{scope:["variable.other.readwrite","meta.object-literal.key","support.variable.property","support.variable.object.process","support.variable.object.node"],settings:{foreground:"#d47628"}},{scope:"variable.language",settings:{foreground:"#d5a910"}},{scope:"variable.parameter.function",settings:{foreground:"#79797F"}},{scope:"function.parameter",settings:{foreground:"#79797F"}},{scope:"variable.parameter",settings:{foreground:"#79797F"}},{scope:"variable.parameter.function.language.python",settings:{foreground:"#d5a910"}},{scope:"variable.parameter.function.python",settings:{foreground:"#d5a910"}},{scope:["support.function","entity.name.function","meta.function-call","meta.require","support.function.any-method","variable.function"],settings:{foreground:"#7b43f8"}},{scope:"keyword.other.special-method",settings:{foreground:"#7b43f8"}},{scope:"entity.name.function",settings:{foreground:"#7b43f8"}},{scope:"support.function.console",settings:{foreground:"#7b43f8"}},{scope:["support.type","entity.name.type","entity.name.class","storage.type"],settings:{foreground:"#c635e4"}},{scope:["support.class","entity.name.type.class"],settings:{foreground:"#c635e4"}},{scope:["entity.name.class","variable.other.class.js","variable.other.class.ts"],settings:{foreground:"#c635e4"}},{scope:"entity.name.class.identifier.namespace.type",settings:{foreground:"#c635e4"}},{scope:"entity.name.type.namespace",settings:{foreground:"#d5a910"}},{scope:"entity.other.inherited-class",settings:{foreground:"#c635e4"}},{scope:"entity.name.namespace",settings:{foreground:"#d5a910"}},{scope:"keyword.operator",settings:{foreground:"#79797F"}},{scope:["keyword.operator.logical","keyword.operator.bitwise","keyword.operator.channel"],settings:{foreground:"#08c0ef"}},{scope:["keyword.operator.arithmetic","keyword.operator.comparison","keyword.operator.relational","keyword.operator.increment","keyword.operator.decrement"],settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.assignment",settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.assignment.compound",settings:{foreground:"#fc2b73"}},{scope:["keyword.operator.assignment.compound.js","keyword.operator.assignment.compound.ts"],settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.ternary",settings:{foreground:"#fc2b73"}},{scope:"keyword.operator.optional",settings:{foreground:"#fc2b73"}},{scope:"punctuation",settings:{foreground:"#79797F"}},{scope:"punctuation.separator.delimiter",settings:{foreground:"#79797F"}},{scope:"punctuation.separator.key-value",settings:{foreground:"#79797F"}},{scope:"punctuation.terminator",settings:{foreground:"#79797F"}},{scope:"meta.brace",settings:{foreground:"#79797F"}},{scope:"meta.brace.square",settings:{foreground:"#79797F"}},{scope:"meta.brace.round",settings:{foreground:"#79797F"}},{scope:"function.brace",settings:{foreground:"#79797F"}},{scope:["punctuation.definition.parameters","punctuation.definition.typeparameters"],settings:{foreground:"#79797F"}},{scope:["punctuation.definition.block","punctuation.definition.tag"],settings:{foreground:"#79797F"}},{scope:["meta.tag.tsx","meta.tag.jsx","meta.tag.js","meta.tag.ts"],settings:{foreground:"#79797F"}},{scope:"keyword.operator.expression.import",settings:{foreground:"#7b43f8"}},{scope:"keyword.operator.module",settings:{foreground:"#fc2b73"}},{scope:"support.type.object.console",settings:{foreground:"#d47628"}},{scope:["support.module.node","support.type.object.module","entity.name.type.module"],settings:{foreground:"#d5a910"}},{scope:"support.constant.math",settings:{foreground:"#d5a910"}},{scope:"support.constant.property.math",settings:{foreground:"#d5a910"}},{scope:"support.constant.json",settings:{foreground:"#d5a910"}},{scope:"support.type.object.dom",settings:{foreground:"#08c0ef"}},{scope:["support.variable.dom","support.variable.property.dom"],settings:{foreground:"#d47628"}},{scope:"support.variable.property.process",settings:{foreground:"#d5a910"}},{scope:"meta.property.object",settings:{foreground:"#d47628"}},{scope:"variable.parameter.function.js",settings:{foreground:"#d47628"}},{scope:["keyword.other.template.begin","keyword.other.template.end"],settings:{foreground:"#199f43"}},{scope:["keyword.other.substitution.begin","keyword.other.substitution.end"],settings:{foreground:"#199f43"}},{scope:["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end"],settings:{foreground:"#fc2b73"}},{scope:"meta.template.expression",settings:{foreground:"#79797F"}},{scope:"punctuation.section.embedded",settings:{foreground:"#d47628"}},{scope:"variable.interpolation",settings:{foreground:"#d47628"}},{scope:["punctuation.section.embedded.begin","punctuation.section.embedded.end"],settings:{foreground:"#fc2b73"}},{scope:"punctuation.quasi.element",settings:{foreground:"#fc2b73"}},{scope:["support.type.primitive.ts","support.type.builtin.ts","support.type.primitive.tsx","support.type.builtin.tsx"],settings:{foreground:"#c635e4"}},{scope:"support.type.type.flowtype",settings:{foreground:"#7b43f8"}},{scope:"support.type.primitive",settings:{foreground:"#c635e4"}},{scope:"support.variable.magic.python",settings:{foreground:"#d52c36"}},{scope:"variable.parameter.function.language.special.self.python",settings:{foreground:"#d5a910"}},{scope:["punctuation.separator.period.python","punctuation.separator.element.python","punctuation.parenthesis.begin.python","punctuation.parenthesis.end.python"],settings:{foreground:"#79797F"}},{scope:["punctuation.definition.arguments.begin.python","punctuation.definition.arguments.end.python","punctuation.separator.arguments.python","punctuation.definition.list.begin.python","punctuation.definition.list.end.python"],settings:{foreground:"#79797F"}},{scope:"support.type.python",settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.logical.python",settings:{foreground:"#fc2b73"}},{scope:"meta.function-call.generic.python",settings:{foreground:"#7b43f8"}},{scope:"constant.character.format.placeholder.other.python",settings:{foreground:"#d5a910"}},{scope:"meta.function.decorator.python",settings:{foreground:"#7b43f8"}},{scope:["support.token.decorator.python","meta.function.decorator.identifier.python"],settings:{foreground:"#08c0ef"}},{scope:"storage.modifier.lifetime.rust",settings:{foreground:"#79797F"}},{scope:"support.function.std.rust",settings:{foreground:"#7b43f8"}},{scope:"entity.name.lifetime.rust",settings:{foreground:"#d5a910"}},{scope:"variable.language.rust",settings:{foreground:"#d52c36"}},{scope:"keyword.operator.misc.rust",settings:{foreground:"#79797F"}},{scope:"keyword.operator.sigil.rust",settings:{foreground:"#fc2b73"}},{scope:"support.constant.core.rust",settings:{foreground:"#d5a910"}},{scope:["meta.function.c","meta.function.cpp"],settings:{foreground:"#d52c36"}},{scope:["punctuation.section.block.begin.bracket.curly.cpp","punctuation.section.block.end.bracket.curly.cpp","punctuation.terminator.statement.c","punctuation.section.block.begin.bracket.curly.c","punctuation.section.block.end.bracket.curly.c","punctuation.section.parens.begin.bracket.round.c","punctuation.section.parens.end.bracket.round.c","punctuation.section.parameters.begin.bracket.round.c","punctuation.section.parameters.end.bracket.round.c"],settings:{foreground:"#79797F"}},{scope:["keyword.operator.assignment.c","keyword.operator.comparison.c","keyword.operator.c","keyword.operator.increment.c","keyword.operator.decrement.c","keyword.operator.bitwise.shift.c"],settings:{foreground:"#fc2b73"}},{scope:["keyword.operator.assignment.cpp","keyword.operator.comparison.cpp","keyword.operator.cpp","keyword.operator.increment.cpp","keyword.operator.decrement.cpp","keyword.operator.bitwise.shift.cpp"],settings:{foreground:"#fc2b73"}},{scope:["punctuation.separator.c","punctuation.separator.cpp"],settings:{foreground:"#fc2b73"}},{scope:["support.type.posix-reserved.c","support.type.posix-reserved.cpp"],settings:{foreground:"#08c0ef"}},{scope:["keyword.operator.sizeof.c","keyword.operator.sizeof.cpp"],settings:{foreground:"#fc2b73"}},{scope:"variable.c",settings:{foreground:"#79797F"}},{scope:["storage.type.annotation.java","storage.type.object.array.java"],settings:{foreground:"#d5a910"}},{scope:"source.java",settings:{foreground:"#d52c36"}},{scope:["punctuation.section.block.begin.java","punctuation.section.block.end.java","punctuation.definition.method-parameters.begin.java","punctuation.definition.method-parameters.end.java","meta.method.identifier.java","punctuation.section.method.begin.java","punctuation.section.method.end.java","punctuation.terminator.java","punctuation.section.class.begin.java","punctuation.section.class.end.java","punctuation.section.inner-class.begin.java","punctuation.section.inner-class.end.java","meta.method-call.java","punctuation.section.class.begin.bracket.curly.java","punctuation.section.class.end.bracket.curly.java","punctuation.section.method.begin.bracket.curly.java","punctuation.section.method.end.bracket.curly.java","punctuation.separator.period.java","punctuation.bracket.angle.java","punctuation.definition.annotation.java","meta.method.body.java"],settings:{foreground:"#79797F"}},{scope:"meta.method.java",settings:{foreground:"#7b43f8"}},{scope:["storage.modifier.import.java","storage.type.java","storage.type.generic.java"],settings:{foreground:"#d5a910"}},{scope:"keyword.operator.instanceof.java",settings:{foreground:"#fc2b73"}},{scope:"meta.definition.variable.name.java",settings:{foreground:"#d52c36"}},{scope:"token.variable.parameter.java",settings:{foreground:"#79797F"}},{scope:"import.storage.java",settings:{foreground:"#d5a910"}},{scope:"token.package.keyword",settings:{foreground:"#fc2b73"}},{scope:"token.package",settings:{foreground:"#79797F"}},{scope:"token.storage.type.java",settings:{foreground:"#d5a910"}},{scope:"keyword.operator.assignment.go",settings:{foreground:"#d5a910"}},{scope:["keyword.operator.arithmetic.go","keyword.operator.address.go"],settings:{foreground:"#fc2b73"}},{scope:"entity.name.package.go",settings:{foreground:"#d5a910"}},{scope:["support.other.namespace.use.php","support.other.namespace.use-as.php","support.other.namespace.php","entity.other.alias.php","meta.interface.php"],settings:{foreground:"#d5a910"}},{scope:"keyword.operator.error-control.php",settings:{foreground:"#fc2b73"}},{scope:"keyword.operator.type.php",settings:{foreground:"#fc2b73"}},{scope:["punctuation.section.array.begin.php","punctuation.section.array.end.php"],settings:{foreground:"#79797F"}},{scope:["storage.type.php","meta.other.type.phpdoc.php","keyword.other.type.php","keyword.other.array.phpdoc.php"],settings:{foreground:"#d5a910"}},{scope:["meta.function-call.php","meta.function-call.object.php","meta.function-call.static.php"],settings:{foreground:"#7b43f8"}},{scope:["punctuation.definition.parameters.begin.bracket.round.php","punctuation.definition.parameters.end.bracket.round.php","punctuation.separator.delimiter.php","punctuation.section.scope.begin.php","punctuation.section.scope.end.php","punctuation.terminator.expression.php","punctuation.definition.arguments.begin.bracket.round.php","punctuation.definition.arguments.end.bracket.round.php","punctuation.definition.storage-type.begin.bracket.round.php","punctuation.definition.storage-type.end.bracket.round.php","punctuation.definition.array.begin.bracket.round.php","punctuation.definition.array.end.bracket.round.php","punctuation.definition.begin.bracket.round.php","punctuation.definition.end.bracket.round.php","punctuation.definition.begin.bracket.curly.php","punctuation.definition.end.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php","punctuation.definition.section.switch-block.start.bracket.curly.php","punctuation.definition.section.switch-block.begin.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php"],settings:{foreground:"#79797F"}},{scope:["support.constant.ext.php","support.constant.std.php","support.constant.core.php","support.constant.parser-token.php"],settings:{foreground:"#d5a910"}},{scope:["entity.name.goto-label.php","support.other.php"],settings:{foreground:"#7b43f8"}},{scope:["keyword.operator.logical.php","keyword.operator.bitwise.php","keyword.operator.arithmetic.php"],settings:{foreground:"#08c0ef"}},{scope:"keyword.operator.regexp.php",settings:{foreground:"#fc2b73"}},{scope:"keyword.operator.comparison.php",settings:{foreground:"#08c0ef"}},{scope:["keyword.operator.heredoc.php","keyword.operator.nowdoc.php"],settings:{foreground:"#fc2b73"}},{scope:"variable.other.class.php",settings:{foreground:"#d52c36"}},{scope:"invalid.illegal.non-null-typehinted.php",settings:{foreground:"#f44747"}},{scope:"variable.other.generic-type.haskell",settings:{foreground:"#fc2b73"}},{scope:"storage.type.haskell",settings:{foreground:"#d5a910"}},{scope:"storage.type.cs",settings:{foreground:"#d5a910"}},{scope:"entity.name.variable.local.cs",settings:{foreground:"#d52c36"}},{scope:"entity.name.label.cs",settings:{foreground:"#d5a910"}},{scope:["entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],settings:{foreground:"#d5a910"}},{scope:["punctuation.definition.delayed.unison","punctuation.definition.list.begin.unison","punctuation.definition.list.end.unison","punctuation.definition.ability.begin.unison","punctuation.definition.ability.end.unison","punctuation.operator.assignment.as.unison","punctuation.separator.pipe.unison","punctuation.separator.delimiter.unison","punctuation.definition.hash.unison"],settings:{foreground:"#d52c36"}},{scope:"support.constant.edge",settings:{foreground:"#fc2b73"}},{scope:"support.type.prelude.elm",settings:{foreground:"#08c0ef"}},{scope:"support.constant.elm",settings:{foreground:"#d5a910"}},{scope:"entity.global.clojure",settings:{foreground:"#d5a910"}},{scope:"meta.symbol.clojure",settings:{foreground:"#d52c36"}},{scope:"constant.keyword.clojure",settings:{foreground:"#08c0ef"}},{scope:["meta.arguments.coffee","variable.parameter.function.coffee"],settings:{foreground:"#d52c36"}},{scope:"storage.modifier.import.groovy",settings:{foreground:"#d5a910"}},{scope:"meta.method.groovy",settings:{foreground:"#7b43f8"}},{scope:"meta.definition.variable.name.groovy",settings:{foreground:"#d52c36"}},{scope:"meta.definition.class.inherited.classes.groovy",settings:{foreground:"#199f43"}},{scope:"support.variable.semantic.hlsl",settings:{foreground:"#d5a910"}},{scope:["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],settings:{foreground:"#fc2b73"}},{scope:["text.variable","text.bracketed"],settings:{foreground:"#d52c36"}},{scope:["support.type.swift","support.type.vb.asp"],settings:{foreground:"#d5a910"}},{scope:"meta.scope.prerequisites.makefile",settings:{foreground:"#d52c36"}},{scope:"source.makefile",settings:{foreground:"#d5a910"}},{scope:"source.ini",settings:{foreground:"#199f43"}},{scope:"constant.language.symbol.ruby",settings:{foreground:"#08c0ef"}},{scope:["function.parameter.ruby","function.parameter.cs"],settings:{foreground:"#79797F"}},{scope:"constant.language.symbol.elixir",settings:{foreground:"#08c0ef"}},{scope:"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade",settings:{foreground:"#fc2b73"}},{scope:"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade",settings:{foreground:"#fc2b73"}},{scope:"entity.name.function.xi",settings:{foreground:"#d5a910"}},{scope:"entity.name.class.xi",settings:{foreground:"#08c0ef"}},{scope:"constant.character.character-class.regexp.xi",settings:{foreground:"#d52c36"}},{scope:"constant.regexp.xi",settings:{foreground:"#fc2b73"}},{scope:"keyword.control.xi",settings:{foreground:"#08c0ef"}},{scope:"invalid.xi",settings:{foreground:"#79797F"}},{scope:"beginning.punctuation.definition.quote.markdown.xi",settings:{foreground:"#199f43"}},{scope:"beginning.punctuation.definition.list.markdown.xi",settings:{foreground:"#84848A"}},{scope:"constant.character.xi",settings:{foreground:"#7b43f8"}},{scope:"accent.xi",settings:{foreground:"#7b43f8"}},{scope:"wikiword.xi",settings:{foreground:"#d5a910"}},{scope:"constant.other.color.rgb-value.xi",settings:{foreground:"#ffffff"}},{scope:"punctuation.definition.tag.xi",settings:{foreground:"#84848A"}},{scope:["support.constant.property-value.scss","support.constant.property-value.css"],settings:{foreground:"#d5a910"}},{scope:["keyword.operator.css","keyword.operator.scss","keyword.operator.less"],settings:{foreground:"#08c0ef"}},{scope:["support.constant.color.w3c-standard-color-name.css","support.constant.color.w3c-standard-color-name.scss"],settings:{foreground:"#d5a910"}},{scope:"punctuation.separator.list.comma.css",settings:{foreground:"#79797F"}},{scope:"support.type.vendored.property-name.css",settings:{foreground:"#08c0ef"}},{scope:"support.type.property-name.css",settings:{foreground:"#08c0ef"}},{scope:"support.type.property-name",settings:{foreground:"#79797F"}},{scope:"support.constant.property-value",settings:{foreground:"#79797F"}},{scope:"support.constant.font-name",settings:{foreground:"#d5a910"}},{scope:"entity.other.attribute-name.class.css",settings:{foreground:"#16a994",fontStyle:"normal"}},{scope:"entity.other.attribute-name.id",settings:{foreground:"#7b43f8",fontStyle:"normal"}},{scope:["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],settings:{foreground:"#08c0ef"}},{scope:"meta.selector",settings:{foreground:"#fc2b73"}},{scope:"selector.sass",settings:{foreground:"#d52c36"}},{scope:"rgb-value",settings:{foreground:"#08c0ef"}},{scope:"inline-color-decoration rgb-value",settings:{foreground:"#d5a910"}},{scope:"less rgb-value",settings:{foreground:"#d5a910"}},{scope:"control.elements",settings:{foreground:"#d5a910"}},{scope:"keyword.operator.less",settings:{foreground:"#d5a910"}},{scope:"entity.name.tag",settings:{foreground:"#d52c36"}},{scope:"entity.other.attribute-name",settings:{foreground:"#16a994",fontStyle:"normal"}},{scope:"constant.character.entity",settings:{foreground:"#d52c36"}},{scope:"meta.tag",settings:{foreground:"#79797F"}},{scope:"invalid.illegal.bad-ampersand.html",settings:{foreground:"#79797F"}},{scope:"markup.heading",settings:{foreground:"#d52c36"}},{scope:["markup.heading punctuation.definition.heading","entity.name.section"],settings:{foreground:"#7b43f8"}},{scope:"entity.name.section.markdown",settings:{foreground:"#d52c36"}},{scope:"punctuation.definition.heading.markdown",settings:{foreground:"#d52c36"}},{scope:"markup.heading.setext",settings:{foreground:"#79797F"}},{scope:["markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],settings:{foreground:"#d52c36"}},{scope:["markup.bold","todo.bold"],settings:{foreground:"#d5a910"}},{scope:"punctuation.definition.bold",settings:{foreground:"#d5a910"}},{scope:"punctuation.definition.bold.markdown",settings:{foreground:"#d5a910"}},{scope:["markup.italic","punctuation.definition.italic","todo.emphasis"],settings:{foreground:"#fc2b73",fontStyle:"italic"}},{scope:"emphasis md",settings:{foreground:"#fc2b73"}},{scope:"markup.italic.markdown",settings:{fontStyle:"italic"}},{scope:["markup.underline.link.markdown","markup.underline.link.image.markdown"],settings:{foreground:"#fc2b73"}},{scope:["string.other.link.title.markdown","string.other.link.description.markdown"],settings:{foreground:"#7b43f8"}},{scope:"punctuation.definition.metadata.markdown",settings:{foreground:"#d52c36"}},{scope:["markup.inline.raw.markdown","markup.inline.raw.string.markdown"],settings:{foreground:"#199f43"}},{scope:"punctuation.definition.list.begin.markdown",settings:{foreground:"#d52c36"}},{scope:"punctuation.definition.list.markdown",settings:{foreground:"#d52c36"}},{scope:"beginning.punctuation.definition.list.markdown",settings:{foreground:"#d52c36"}},{scope:["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],settings:{foreground:"#d52c36"}},{scope:"markup.quote.markdown",settings:{foreground:"#84848A"}},{scope:"keyword.other.unit",settings:{foreground:"#d52c36"}},{scope:"markup.changed.diff",settings:{foreground:"#d5a910"}},{scope:["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],settings:{foreground:"#7b43f8"}},{scope:"markup.inserted.diff",settings:{foreground:"#199f43"}},{scope:"markup.deleted.diff",settings:{foreground:"#d52c36"}},{scope:"string.regexp",settings:{foreground:"#17a5af"}},{scope:"constant.other.character-class.regexp",settings:{foreground:"#d52c36"}},{scope:"keyword.operator.quantifier.regexp",settings:{foreground:"#d5a910"}},{scope:"constant.character.escape",settings:{foreground:"#1ca1c7"}},{scope:"source.json meta.structure.dictionary.json > string.quoted.json",settings:{foreground:"#d52c36"}},{scope:"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string",settings:{foreground:"#d52c36"}},{scope:["source.json meta.structure.dictionary.json > value.json > string.quoted.json","source.json meta.structure.array.json > value.json > string.quoted.json","source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation","source.json meta.structure.array.json > value.json > string.quoted.json > punctuation"],settings:{foreground:"#199f43"}},{scope:["source.json meta.structure.dictionary.json > constant.language.json","source.json meta.structure.array.json > constant.language.json"],settings:{foreground:"#08c0ef"}},{scope:"support.type.property-name.json",settings:{foreground:"#d52c36"}},{scope:"support.type.property-name.json punctuation",settings:{foreground:"#d52c36"}},{scope:"punctuation.definition.block.sequence.item.yaml",settings:{foreground:"#79797F"}},{scope:"block.scope.end",settings:{foreground:"#79797F"}},{scope:"block.scope.begin",settings:{foreground:"#79797F"}},{scope:"token.info-token",settings:{foreground:"#7b43f8"}},{scope:"token.warn-token",settings:{foreground:"#d5a910"}},{scope:"token.error-token",settings:{foreground:"#f44747"}},{scope:"token.debug-token",settings:{foreground:"#fc2b73"}},{scope:"invalid.illegal",settings:{foreground:"#ffffff"}},{scope:"invalid.broken",settings:{foreground:"#ffffff"}},{scope:"invalid.deprecated",settings:{foreground:"#ffffff"}},{scope:"invalid.unimplemented",settings:{foreground:"#ffffff"}}],x={comment:"#84848A",string:"#199f43",number:"#1ca1c7",regexp:"#17a5af",keyword:"#fc2b73",variable:"#d47628",parameter:"#79797F",property:"#d47628",function:"#7b43f8",method:"#7b43f8",type:"#c635e4",class:"#c635e4",namespace:"#d5a910",enumMember:"#08c0ef","variable.constant":"#d5a910","variable.defaultLibrary":"#d5a910"},z={name:b,type:q,colors:v,tokenColors:w,semanticTokenColors:x};export{q as type,w as tokenColors,x as semanticTokenColors,b as name,z as default,v as colors};
diff --git a/lib/crates/fabro-spa/assets/assets/entry-vh02mb6v.css b/lib/crates/fabro-spa/assets/assets/entry-4r6r51av.css
similarity index 88%
rename from lib/crates/fabro-spa/assets/assets/entry-vh02mb6v.css
rename to lib/crates/fabro-spa/assets/assets/entry-4r6r51av.css
index 0293a69c6..5308ae029 100644
--- a/lib/crates/fabro-spa/assets/assets/entry-vh02mb6v.css
+++ b/lib/crates/fabro-spa/assets/assets/entry-4r6r51av.css
@@ -1 +1 @@
-@layer theme,base,components,utilities;@layer theme{@theme default{--font-sans: ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; --font-serif: ui-serif,Georgia,Cambria,"Times New Roman",Times,serif; --font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --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-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --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-300: oklch(84.5% .143 164.978); --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-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --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-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --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-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --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-500: oklch(64.5% .246 16.439); --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-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --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); --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5/2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px #0000000d; --shadow-xs: 0 1px 2px 0 #0000000d; --shadow-sm: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --shadow-md: 0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a; --shadow-lg: 0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a; --shadow-xl: 0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a; --shadow-2xl: 0 25px 50px -12px #00000040; --inset-shadow-2xs: inset 0 1px #0000000d; --inset-shadow-xs: inset 0 1px 1px #0000000d; --inset-shadow-sm: inset 0 2px 4px #0000000d; --drop-shadow-xs: 0 1px 1px #0000000d; --drop-shadow-sm: 0 1px 2px #00000026; --drop-shadow-md: 0 3px 3px #0000001f; --drop-shadow-lg: 0 4px 4px #00000026; --drop-shadow-xl: 0 9px 7px #0000001a; --drop-shadow-2xl: 0 25px 25px #00000026; --text-shadow-2xs: 0px 1px 0px #00000026; --text-shadow-xs: 0px 1px 1px #0003; --text-shadow-sm: 0px 1px 0px #00000013,0px 1px 1px #00000013,0px 2px 2px #00000013; --text-shadow-md: 0px 1px 1px #0000001a,0px 1px 2px #0000001a,0px 2px 4px #0000001a; --text-shadow-lg: 0px 1px 2px #0000001a,0px 3px 2px #0000001a,0px 4px 8px #0000001a; --ease-in: cubic-bezier(.4,0,1,1); --ease-out: cubic-bezier(0,0,.2,1); --ease-in-out: cubic-bezier(.4,0,.2,1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0,0,.2,1)infinite; --animate-pulse: pulse 2s cubic-bezier(.4,0,.6,1)infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); }}@keyframes ping { 75%,100% { transform: scale(2); opacity: 0; }}@keyframes pulse { 50% { opacity: .5; }}@keyframes bounce { 0%,100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8,0,1,1); }50% { transform: none; animation-timing-function: cubic-bezier(0,0,.2,1); }}--blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16/9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4,0,.2,1); --default-font-family: --theme(--font-sans,initial); --default-font-feature-settings: --theme(--font-sans--font-feature-settings,initial); --default-font-variation-settings: --theme(--font-sans--font-variation-settings,initial); --default-mono-font-family: --theme(--font-mono,initial); --default-mono-font-feature-settings: --theme(--font-mono--font-feature-settings,initial); --default-mono-font-variation-settings: --theme(--font-mono--font-variation-settings,initial);}@theme default inline reference{--blur: 8px; --shadow: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --shadow-inner: inset 0 2px 4px 0 #0000000d; --drop-shadow: 0 1px 2px #0000001a,0 1px 1px #0000000f; --radius: .25rem; --max-width-prose: 65ch;}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:--theme(--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:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{color:inherit;border-top-width:1px;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}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{display:block;vertical-align:middle}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}::-webkit-file-upload-button{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:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:-moz-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports ( not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{text-align:inherit;min-height:1lh}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{appearance:button}input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-file-upload-button{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}}@layer utilities{@tailwind utilities;}@plugin "@tailwindcss/typography";@layer base{a[href],button,select,summary,[role=button],[role=link],[role=option],[role=menuitem],[role=tab]{cursor:pointer}}@theme{--font-sans: "Geist",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; --font-mono: "JetBrains Mono",ui-monospace,monospace; --color-teal-300: #b5ddef; --color-teal-500: #67b2d7; --color-teal-700: #357f9e; --color-navy-950: #0f1729; --color-navy-800: #252c3d; --color-navy-600: #4b5768; --color-ice-50: #f7f9fb; --color-ice-100: #e8edf3; --color-ice-300: #a8b5c5; --color-mint: #5ac8a8; --color-amber: #f0a45b; --color-coral: #e86b6b; --color-page: #0f1729; --color-panel: #252c3d; --color-panel-alt: #1a2133; --color-overlay: #ffffff0a; --color-overlay-strong: #ffffff1a; --color-fg: #fff; --color-fg-2: #e8edf3; --color-fg-3: #a8b5c5; --color-fg-muted: #4b5768; --color-line: #ffffff0f; --color-line-strong: #ffffff1f; --color-focus: #67b2d766; --color-on-primary: #0f1729;}.light{--color-page:#eef2f7;--color-panel:#fff;--color-panel-alt:#e4eaf1;--color-overlay:#0f17290d;--color-overlay-strong:#0f17291a;--color-fg:#0f172a;--color-fg-2:#1e293b;--color-fg-3:#475569;--color-fg-muted:#64748b;--color-line:#0f17291a;--color-line-strong:#0f17292e;--color-focus:#0e749080;--color-on-primary:#fff;--color-mint:#0d9488;--color-amber:#d97706;--color-coral:#dc2626;--color-teal-300:#0891b2;--color-teal-500:#0e7490}:root{--chart-gridline:#ffffff0a;--chart-axis-label:#4b5768}.light{--chart-gridline:#0000000f;--chart-axis-label:#475569}.bg-atmosphere{background-color:var(--color-page);background-image:radial-gradient(120% 60% at 15% 5%,#357f9e1f 0%,#0000 50%),radial-gradient(80% 50% at 85% 90%,#5ac8a812 0%,#0000 45%);background-attachment:fixed}.light .bg-atmosphere,.light.bg-atmosphere{background-image:radial-gradient(120% 60% at 15% 5%,#0e74900f 0%,#0000 50%),radial-gradient(80% 50% at 85% 90%,#0d94880a 0%,#0000 45%)}.bg-atmosphere:before{content:"";position:fixed;z-index:1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;inset:0}.light .bg-atmosphere:before,.light.bg-atmosphere:before{opacity:.03}:root{--diffs-font-family:"JetBrains Mono",ui-monospace,monospace;--diffs-header-font-family:"Geist",ui-sans-serif,system-ui,sans-serif;--diffs-font-size:13px;--diffs-line-height:20px;--diffs-bg-buffer-override:#0f1729;--diffs-bg-context-override:#161d2e;--diffs-bg-hover-override:#1c2438;--diffs-bg-separator-override:#252c3d;--diffs-fg-number-override:#4b5768;--diffs-addition-color-override:#5ac8a8;--diffs-fg-number-addition-override:#5ac8a880;--diffs-deletion-color-override:#e86b6b;--diffs-fg-number-deletion-override:#e86b6b80}.dark .graph-svg text{fill:#c6d4e0}.dark .graph-svg [stroke=\#357f9e]{stroke:#67b2d7}.dark .graph-svg [stroke=\#666666]{stroke:#5a7a94}.dark .graph-svg polygon[fill=\#357f9e]{fill:#67b2d7}.dark .graph-svg polygon[fill=\#666666]{fill:#5a7a94}.dark .graph-svg ellipse[fill=\#ffffff],.dark .graph-svg polygon[fill=\#ffffff]{fill:#1a2b3c}.dark .graph-svg ellipse[stroke=\#357f9e],.dark .graph-svg polygon[stroke=\#357f9e]{stroke:#67b2d7}.dark .graph-svg [fill=\#1a1a1a]{fill:#c6d4e0}.light{--diffs-bg-buffer-override:#fff;--diffs-bg-context-override:#f8fafc;--diffs-bg-hover-override:#f1f5f9;--diffs-bg-separator-override:#e2e8f0;--diffs-fg-number-override:#94a3b8;--diffs-addition-color-override:#0d9488;--diffs-fg-number-addition-override:#0d948880;--diffs-deletion-color-override:#dc2626;--diffs-fg-number-deletion-override:#dc262680}
+@layer theme,base,components,utilities;@layer theme{@theme default{--font-sans: ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; --font-serif: ui-serif,Georgia,Cambria,"Times New Roman",Times,serif; --font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --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-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --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-300: oklch(84.5% .143 164.978); --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-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --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-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --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-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --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-500: oklch(64.5% .246 16.439); --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-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --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); --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5/2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px #0000000d; --shadow-xs: 0 1px 2px 0 #0000000d; --shadow-sm: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --shadow-md: 0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a; --shadow-lg: 0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a; --shadow-xl: 0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a; --shadow-2xl: 0 25px 50px -12px #00000040; --inset-shadow-2xs: inset 0 1px #0000000d; --inset-shadow-xs: inset 0 1px 1px #0000000d; --inset-shadow-sm: inset 0 2px 4px #0000000d; --drop-shadow-xs: 0 1px 1px #0000000d; --drop-shadow-sm: 0 1px 2px #00000026; --drop-shadow-md: 0 3px 3px #0000001f; --drop-shadow-lg: 0 4px 4px #00000026; --drop-shadow-xl: 0 9px 7px #0000001a; --drop-shadow-2xl: 0 25px 25px #00000026; --text-shadow-2xs: 0px 1px 0px #00000026; --text-shadow-xs: 0px 1px 1px #0003; --text-shadow-sm: 0px 1px 0px #00000013,0px 1px 1px #00000013,0px 2px 2px #00000013; --text-shadow-md: 0px 1px 1px #0000001a,0px 1px 2px #0000001a,0px 2px 4px #0000001a; --text-shadow-lg: 0px 1px 2px #0000001a,0px 3px 2px #0000001a,0px 4px 8px #0000001a; --ease-in: cubic-bezier(.4,0,1,1); --ease-out: cubic-bezier(0,0,.2,1); --ease-in-out: cubic-bezier(.4,0,.2,1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0,0,.2,1)infinite; --animate-pulse: pulse 2s cubic-bezier(.4,0,.6,1)infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); }}@keyframes ping { 75%,100% { transform: scale(2); opacity: 0; }}@keyframes pulse { 50% { opacity: .5; }}@keyframes bounce { 0%,100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8,0,1,1); }50% { transform: none; animation-timing-function: cubic-bezier(0,0,.2,1); }}--blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16/9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4,0,.2,1); --default-font-family: --theme(--font-sans,initial); --default-font-feature-settings: --theme(--font-sans--font-feature-settings,initial); --default-font-variation-settings: --theme(--font-sans--font-variation-settings,initial); --default-mono-font-family: --theme(--font-mono,initial); --default-mono-font-feature-settings: --theme(--font-mono--font-feature-settings,initial); --default-mono-font-variation-settings: --theme(--font-mono--font-variation-settings,initial);}@theme default inline reference{--blur: 8px; --shadow: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --shadow-inner: inset 0 2px 4px 0 #0000000d; --drop-shadow: 0 1px 2px #0000001a,0 1px 1px #0000000f; --radius: .25rem; --max-width-prose: 65ch;}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:--theme(--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:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{color:inherit;border-top-width:1px;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}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{display:block;vertical-align:middle}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}::-webkit-file-upload-button{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:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:-moz-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports ( not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{text-align:inherit;min-height:1lh}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{appearance:button}input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-file-upload-button{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}}@layer utilities{@tailwind utilities;}@plugin "@tailwindcss/typography";@layer base{a[href],button,select,summary,[role=button],[role=link],[role=option],[role=menuitem],[role=tab]{cursor:pointer}}@theme{--font-sans: "Geist",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; --font-mono: "JetBrains Mono",ui-monospace,monospace; --color-teal-300: #b5ddef; --color-teal-500: #67b2d7; --color-teal-700: #357f9e; --color-navy-950: #0f1729; --color-navy-800: #252c3d; --color-navy-600: #4b5768; --color-ice-50: #f7f9fb; --color-ice-100: #e8edf3; --color-ice-300: #a8b5c5; --color-mint: #5ac8a8; --color-amber: #f0a45b; --color-coral: #e86b6b; --color-page: #0f1729; --color-panel: #252c3d; --color-panel-alt: #1a2133; --color-overlay: #ffffff0a; --color-overlay-strong: #ffffff1a; --color-fg: #fff; --color-fg-2: #e8edf3; --color-fg-3: #a8b5c5; --color-fg-muted: #4b5768; --color-line: #ffffff0f; --color-line-strong: #ffffff1f; --color-focus: #67b2d766; --color-on-primary: #0f1729;}:root{--chart-gridline:#ffffff0a;--chart-axis-label:#4b5768}.bg-atmosphere{background-color:var(--color-page);background-image:radial-gradient(120% 60% at 15% 5%,#357f9e1f 0%,#0000 50%),radial-gradient(80% 50% at 85% 90%,#5ac8a812 0%,#0000 45%);background-attachment:fixed}.bg-atmosphere:before{content:"";position:fixed;z-index:1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;inset:0}:root{--diffs-font-family:"JetBrains Mono",ui-monospace,monospace;--diffs-header-font-family:"Geist",ui-sans-serif,system-ui,sans-serif;--diffs-font-size:13px;--diffs-line-height:20px;--diffs-bg-buffer-override:#0f1729;--diffs-bg-context-override:#161d2e;--diffs-bg-hover-override:#1c2438;--diffs-bg-separator-override:#252c3d;--diffs-fg-number-override:#4b5768;--diffs-addition-color-override:#5ac8a8;--diffs-fg-number-addition-override:#5ac8a880;--diffs-deletion-color-override:#e86b6b;--diffs-fg-number-deletion-override:#e86b6b80}.graph-svg text{fill:#c6d4e0}.graph-svg [stroke=\#357f9e]{stroke:#67b2d7}.graph-svg [stroke=\#666666]{stroke:#5a7a94}.graph-svg polygon[fill=\#357f9e]{fill:#67b2d7}.graph-svg polygon[fill=\#666666]{fill:#5a7a94}.graph-svg ellipse[fill=\#ffffff],.graph-svg polygon[fill=\#ffffff]{fill:#1a2b3c}.graph-svg ellipse[stroke=\#357f9e],.graph-svg polygon[stroke=\#357f9e]{stroke:#67b2d7}.graph-svg [fill=\#1a1a1a]{fill:#c6d4e0}
diff --git a/lib/crates/fabro-spa/assets/assets/entry-b79sap7r.js b/lib/crates/fabro-spa/assets/assets/entry-b79sap7r.js
new file mode 100644
index 000000000..4d5c799c8
--- /dev/null
+++ b/lib/crates/fabro-spa/assets/assets/entry-b79sap7r.js
@@ -0,0 +1,2402 @@
+import{X as g,Y as b3,Z as p5,_ as k}from"./chunk-q07bg6gn.js";var Q0=b3((Ar,YU)=>{(function(){function Z(j,Y0){Object.defineProperty(z.prototype,j,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",Y0[0],Y0[1])}})}function Y(j){if(j===null||typeof j!=="object")return null;return j=B1&&j[B1]||j["@@iterator"],typeof j==="function"?j:null}function J(j,Y0){j=(j=j.constructor)&&(j.displayName||j.name)||"ReactClass";var A0=j+"."+Y0;R0[A0]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",Y0,j),R0[A0]=!0)}function z(j,Y0,A0){this.props=j,this.context=Y0,this.refs=n5,this.updater=A0||C1}function q(){}function B(j,Y0,A0){this.props=j,this.context=Y0,this.refs=n5,this.updater=A0||C1}function $(){}function W(j){return""+j}function U(j){try{W(j);var Y0=!1}catch(x0){Y0=!0}if(Y0){Y0=console;var A0=Y0.error,v0=typeof Symbol==="function"&&Symbol.toStringTag&&j[Symbol.toStringTag]||j.constructor.name||"Object";return A0.call(Y0,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",v0),W(j)}}function M(j){if(j==null)return null;if(typeof j==="function")return j.$$typeof===t6?null:j.displayName||j.name||null;if(typeof j==="string")return j;switch(j){case X0:return"Fragment";case q0:return"Profiler";case f:return"StrictMode";case i0:return"Suspense";case w0:return"SuspenseList";case v1:return"Activity"}if(typeof j==="object")switch(typeof j.tag==="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),j.$$typeof){case n:return"Portal";case M0:return j.displayName||"Context";case H0:return(j._context.displayName||"Context")+".Consumer";case y0:var Y0=j.render;return j=j.displayName,j||(j=Y0.displayName||Y0.name||"",j=j!==""?"ForwardRef("+j+")":"ForwardRef"),j;case l0:return Y0=j.displayName||null,Y0!==null?Y0:M(j.type)||"Memo";case t0:Y0=j._payload,j=j._init;try{return M(j(Y0))}catch(A0){}}return null}function N(j){if(j===X0)return"<>";if(typeof j==="object"&&j!==null&&j.$$typeof===t0)return"<...>";try{var Y0=M(j);return Y0?"<"+Y0+">":"<...>"}catch(A0){return"<...>"}}function O(){var j=$1.A;return j===null?null:j.getOwner()}function _(){return Error("react-stack-top-frame")}function A(j){if(N4.call(j,"key")){var Y0=Object.getOwnPropertyDescriptor(j,"key").get;if(Y0&&Y0.isReactWarning)return!1}return j.key!==void 0}function P(j,Y0){function A0(){P6||(P6=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",Y0))}A0.isReactWarning=!0,Object.defineProperty(j,"key",{get:A0,configurable:!0})}function R(){var j=M(this.type);return c4[j]||(c4[j]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),j=this.props.ref,j!==void 0?j:null}function T(j,Y0,A0,v0,x0,Y1){var k0=A0.ref;return j={$$typeof:W0,type:j,key:Y0,props:A0,_owner:v0},(k0!==void 0?k0:null)!==null?Object.defineProperty(j,"ref",{enumerable:!1,get:R}):Object.defineProperty(j,"ref",{enumerable:!1,value:null}),j._store={},Object.defineProperty(j._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(j,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(j,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:x0}),Object.defineProperty(j,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Y1}),Object.freeze&&(Object.freeze(j.props),Object.freeze(j)),j}function v(j,Y0){return Y0=T(j.type,Y0,j.props,j._owner,j._debugStack,j._debugTask),j._store&&(Y0._store.validated=j._store.validated),Y0}function L(j){C(j)?j._store&&(j._store.validated=1):typeof j==="object"&&j!==null&&j.$$typeof===t0&&(j._payload.status==="fulfilled"?C(j._payload.value)&&j._payload.value._store&&(j._payload.value._store.validated=1):j._store&&(j._store.validated=1))}function C(j){return typeof j==="object"&&j!==null&&j.$$typeof===W0}function D(j){var Y0={"=":"=0",":":"=2"};return"$"+j.replace(/[=:]/g,function(A0){return Y0[A0]})}function I(j,Y0){return typeof j==="object"&&j!==null&&j.key!=null?(U(j.key),D(""+j.key)):Y0.toString(36)}function S(j){switch(j.status){case"fulfilled":return j.value;case"rejected":throw j.reason;default:switch(typeof j.status==="string"?j.then($,$):(j.status="pending",j.then(function(Y0){j.status==="pending"&&(j.status="fulfilled",j.value=Y0)},function(Y0){j.status==="pending"&&(j.status="rejected",j.reason=Y0)})),j.status){case"fulfilled":return j.value;case"rejected":throw j.reason}}throw j}function y(j,Y0,A0,v0,x0){var Y1=typeof j;if(Y1==="undefined"||Y1==="boolean")j=null;var k0=!1;if(j===null)k0=!0;else switch(Y1){case"bigint":case"string":case"number":k0=!0;break;case"object":switch(j.$$typeof){case W0:case n:k0=!0;break;case t0:return k0=j._init,y(k0(j._payload),Y0,A0,v0,x0)}}if(k0){k0=j,x0=x0(k0);var J1=v0===""?"."+I(k0,0):v0;return N1(x0)?(A0="",J1!=null&&(A0=J1.replace(Z7,"$&/")+"/"),y(x0,Y0,A0,"",function(O5){return O5})):x0!=null&&(C(x0)&&(x0.key!=null&&(k0&&k0.key===x0.key||U(x0.key)),A0=v(x0,A0+(x0.key==null||k0&&k0.key===x0.key?"":(""+x0.key).replace(Z7,"$&/")+"/")+J1),v0!==""&&k0!=null&&C(k0)&&k0.key==null&&k0._store&&!k0._store.validated&&(A0._store.validated=2),x0=A0),Y0.push(x0)),1}if(k0=0,J1=v0===""?".":v0+":",N1(j))for(var I0=0;I0 import('./MyComponent'))
+
+Did you accidentally put curly braces around the import?`,Y0),"default"in Y0||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
+
+Your code should look like:
+ const MyComponent = lazy(() => import('./MyComponent'))`,Y0),Y0.default;throw j._result}function x(){var j=$1.H;return j===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
+1. You might have mismatching versions of React and the renderer (such as React DOM)
+2. You might be breaking the Rules of Hooks
+3. You might have more than one copy of React in the same app
+See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),j}function s(){$1.asyncTransitions--}function z0(j){if(H4===null)try{var Y0=("require"+Math.random()).slice(0,7);H4=(YU&&YU[Y0]).call(YU,"timers").setImmediate}catch(A0){H4=function(v0){W2===!1&&(W2=!0,typeof MessageChannel>"u"&&console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var x0=new MessageChannel;x0.port1.onmessage=v0,x0.port2.postMessage(void 0)}}return H4(j)}function $0(j){return 1 ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),{then:function(I0,O5){x0=!0,k0.then(function(K5){if(e(Y0,A0),A0===0){try{Z0(v0),z0(function(){return c(K5,I0,O5)})}catch(e5){$1.thrownErrors.push(e5)}if(0<$1.thrownErrors.length){var _5=$0($1.thrownErrors);$1.thrownErrors.length=0,O5(_5)}}else I0(K5)},function(K5){e(Y0,A0),0<$1.thrownErrors.length?(K5=$0($1.thrownErrors),$1.thrownErrors.length=0,O5(K5)):O5(K5)})}}}var J1=Y1;if(e(Y0,A0),A0===0&&(Z0(v0),v0.length!==0&&Y7(function(){x0||Z4||(Z4=!0,console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"))}),$1.actQueue=null),0<$1.thrownErrors.length)throw j=$0($1.thrownErrors),$1.thrownErrors.length=0,j;return{then:function(I0,O5){x0=!0,A0===0?($1.actQueue=v0,z0(function(){return c(J1,I0,O5)})):I0(J1)}}},Ar.cache=function(j){return function(){return j.apply(null,arguments)}},Ar.cacheSignal=function(){return null},Ar.captureOwnerStack=function(){var j=$1.getCurrentStack;return j===null?null:j()},Ar.cloneElement=function(j,Y0,A0){if(j===null||j===void 0)throw Error("The argument must be a React element, but you passed "+j+".");var v0=J5({},j.props),x0=j.key,Y1=j._owner;if(Y0!=null){var k0;Z:{if(N4.call(Y0,"ref")&&(k0=Object.getOwnPropertyDescriptor(Y0,"ref").get)&&k0.isReactWarning){k0=!1;break Z}k0=Y0.ref!==void 0}k0&&(Y1=O()),A(Y0)&&(U(Y0.key),x0=""+Y0.key);for(J1 in Y0)!N4.call(Y0,J1)||J1==="key"||J1==="__self"||J1==="__source"||J1==="ref"&&Y0.ref===void 0||(v0[J1]=Y0[J1])}var J1=arguments.length-2;if(J1===1)v0.children=A0;else if(1$1.recentlyCreatedOwnerStacks++;return T(j,x0,v0,O(),I0?Error("react-stack-top-frame"):k2,I0?S1(N(j)):V6)},Ar.createRef=function(){var j={current:null};return Object.seal(j),j},Ar.forwardRef=function(j){j!=null&&j.$$typeof===l0?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof j!=="function"?console.error("forwardRef requires a render function but was given %s.",j===null?"null":typeof j):j.length!==0&&j.length!==2&&console.error("forwardRef render functions accept exactly two parameters: props and ref. %s",j.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),j!=null&&j.defaultProps!=null&&console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");var Y0={$$typeof:y0,render:j},A0;return Object.defineProperty(Y0,"displayName",{enumerable:!1,configurable:!0,get:function(){return A0},set:function(v0){A0=v0,j.name||j.displayName||(Object.defineProperty(j,"name",{value:v0}),j.displayName=v0)}}),Y0},Ar.isValidElement=C,Ar.lazy=function(j){j={_status:-1,_result:j};var Y0={$$typeof:t0,_payload:j,_init:i},A0={name:"lazy",start:-1,end:-1,value:null,owner:null,debugStack:Error("react-stack-top-frame"),debugTask:console.createTask?console.createTask("lazy()"):null};return j._ioInfo=A0,Y0._debugInfo=[{awaited:A0}],Y0},Ar.memo=function(j,Y0){j==null&&console.error("memo: The first argument must be a component. Instead received: %s",j===null?"null":typeof j),Y0={$$typeof:l0,type:j,compare:Y0===void 0?null:Y0};var A0;return Object.defineProperty(Y0,"displayName",{enumerable:!1,configurable:!0,get:function(){return A0},set:function(v0){A0=v0,j.name||j.displayName||(Object.defineProperty(j,"name",{value:v0}),j.displayName=v0)}}),Y0},Ar.startTransition=function(j){var Y0=$1.T,A0={};A0._updatedFibers=new Set,$1.T=A0;try{var v0=j(),x0=$1.S;x0!==null&&x0(A0,v0),typeof v0==="object"&&v0!==null&&typeof v0.then==="function"&&($1.asyncTransitions++,v0.then(s,s),v0.then($,T5))}catch(Y1){T5(Y1)}finally{Y0===null&&A0._updatedFibers&&(j=A0._updatedFibers.size,A0._updatedFibers.clear(),10{(function(){function Z(){if(D=!1,h){var c=Fr.unstable_now();s=c;var Z0=!0;try{Z:{L=!1,C&&(C=!1,S(i),i=-1),v=!0;var W0=T;try{Y:{B(c);for(R=J(_);R!==null&&!(R.expirationTime>c&&W());){var n=R.callback;if(typeof n==="function"){R.callback=null,T=R.priorityLevel;var X0=n(R.expirationTime<=c);if(c=Fr.unstable_now(),typeof X0==="function"){R.callback=X0,B(c),Z0=!0;break Y}R===J(_)&&z(_),B(c)}else z(_);R=J(_)}if(R!==null)Z0=!0;else{var f=J(A);f!==null&&U($,f.startTime-c),Z0=!1}}break Z}finally{R=null,T=W0,v=!1}Z0=void 0}}finally{Z0?z0():h=!1}}}function Y(c,Z0){var W0=c.length;c.push(Z0);Z:for(;0>>1,X0=c[n];if(0>>1;nq(H0,W0))M0q(y0,H0)?(c[n]=y0,c[M0]=W0,n=M0):(c[n]=H0,c[q0]=W0,n=q0);else if(M0q(y0,W0))c[n]=y0,c[M0]=W0,n=M0;else break Z}}return Z0}function q(c,Z0){var W0=c.sortIndex-Z0.sortIndex;return W0!==0?W0:c.id-Z0.id}function B(c){for(var Z0=J(A);Z0!==null;){if(Z0.callback===null)z(A);else if(Z0.startTime<=c)z(A),Z0.sortIndex=Z0.expirationTime,Y(_,Z0);else break;Z0=J(A)}}function $(c){if(C=!1,B(c),!L)if(J(_)!==null)L=!0,h||(h=!0,z0());else{var Z0=J(A);Z0!==null&&U($,Z0.startTime-c)}}function W(){return D?!0:Fr.unstable_now()-sc||125n?(c.sortIndex=W0,Y(A,c),J(_)===null&&c===J(A)&&(C?(S(i),i=-1):C=!0,U($,W0-n))):(c.sortIndex=X0,Y(_,c),L||v||(L=!0,h||(h=!0,z0()))),c},Fr.unstable_shouldYield=W,Fr.unstable_wrapCallback=function(c){var Z0=T;return function(){var W0=T;T=Z0;try{return c.apply(this,arguments)}finally{T=W0}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var hy=b3((Pr)=>{var hA=g(Q0());(function(){function Z(){}function Y(N){return""+N}function J(N,O,_){var A=3` tag.%s',_),typeof N==="string"&&typeof O==="object"&&O!==null&&typeof O.as==="string"){_=O.as;var A=z(_,O.crossOrigin);W.d.L(N,_,{crossOrigin:A,integrity:typeof O.integrity==="string"?O.integrity:void 0,nonce:typeof O.nonce==="string"?O.nonce:void 0,type:typeof O.type==="string"?O.type:void 0,fetchPriority:typeof O.fetchPriority==="string"?O.fetchPriority:void 0,referrerPolicy:typeof O.referrerPolicy==="string"?O.referrerPolicy:void 0,imageSrcSet:typeof O.imageSrcSet==="string"?O.imageSrcSet:void 0,imageSizes:typeof O.imageSizes==="string"?O.imageSizes:void 0,media:typeof O.media==="string"?O.media:void 0})}},Pr.preloadModule=function(N,O){var _="";typeof N==="string"&&N||(_+=" The `href` argument encountered was "+q(N)+"."),O!==void 0&&typeof O!=="object"?_+=" The `options` argument encountered was "+q(O)+".":O&&("as"in O)&&typeof O.as!=="string"&&(_+=" The `as` option encountered was "+q(O.as)+"."),_&&console.error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `` tag.%s',_),typeof N==="string"&&(O?(_=z(O.as,O.crossOrigin),W.d.m(N,{as:typeof O.as==="string"&&O.as!=="script"?O.as:void 0,crossOrigin:_,integrity:typeof O.integrity==="string"?O.integrity:void 0})):W.d.m(N))},Pr.requestFormReset=function(N){W.d.r(N)},Pr.unstable_batchedUpdates=function(N,O){return N(O)},Pr.useFormState=function(N,O,_){return $().useFormState(N,O,_)},Pr.useFormStatus=function(){return $().useHostTransitionStatus()},Pr.version="19.2.4",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var D3=b3((RJ0,my)=>{var Vr=g(hy());my.exports=Vr});var uy=b3((Rr)=>{var r1=g(gy()),rJ=g(Q0()),mA=g(D3());(function(){function Z(Q,X){for(Q=Q.memoizedState;Q!==null&&0=X.length)return G;var w=X[K],H=L2(Q)?Q.slice():E1({},Q);return H[w]=Y(Q[w],X,K+1,G),H}function J(Q,X,K){if(X.length!==K.length)console.warn("copyWithRename() expects paths of the same length");else{for(var G=0;G_8?console.error("Unexpected pop."):(X!==O_[_8]&&console.error("Unexpected Fiber popped."),Q.current=H_[_8],H_[_8]=null,O_[_8]=null,_8--)}function $0(Q,X,K){_8++,H_[_8]=Q.current,O_[_8]=K,Q.current=X}function e(Q){return Q===null&&console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."),Q}function c(Q,X){$0(y9,X,Q),$0(rq,Q,Q),$0(E9,null,Q);var K=X.nodeType;switch(K){case 9:case 11:K=K===9?"#document":"#fragment",X=(X=X.documentElement)?(X=X.namespaceURI)?Pb(X):I8:I8;break;default:if(K=X.tagName,X=X.namespaceURI)X=Pb(X),X=Vb(X,K);else switch(K){case"svg":X=lJ;break;case"math":X=sG;break;default:X=I8}}K=K.toLowerCase(),K=NL(null,K),K={context:X,ancestorInfo:K},z0(E9,Q),$0(E9,K,Q)}function Z0(Q){z0(E9,Q),z0(rq,Q),z0(y9,Q)}function W0(){return e(E9.current)}function n(Q){Q.memoizedState!==null&&$0(tW,Q,Q);var X=e(E9.current),K=Q.type,G=Vb(X.context,K);K=NL(X.ancestorInfo,K),G={context:G,ancestorInfo:K},X!==G&&($0(rq,Q,Q),$0(E9,G,Q))}function X0(Q){rq.current===Q&&(z0(E9,Q),z0(rq,Q)),tW.current===Q&&(z0(tW,Q),gK._currentValue=yY)}function f(){}function q0(){if(sq===0){nb=console.log,eb=console.info,ZD=console.warn,YD=console.error,QD=console.group,JD=console.groupCollapsed,XD=console.groupEnd;var Q={configurable:!0,enumerable:!0,value:f,writable:!0};Object.defineProperties(console,{info:Q,log:Q,warn:Q,error:Q,group:Q,groupCollapsed:Q,groupEnd:Q})}sq++}function H0(){if(sq--,sq===0){var Q={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E1({},Q,{value:nb}),info:E1({},Q,{value:eb}),warn:E1({},Q,{value:ZD}),error:E1({},Q,{value:YD}),group:E1({},Q,{value:QD}),groupCollapsed:E1({},Q,{value:JD}),groupEnd:E1({},Q,{value:XD})})}0>sq&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}function M0(Q){var X=Error.prepareStackTrace;if(Error.prepareStackTrace=void 0,Q=Q.stack,Error.prepareStackTrace=X,Q.startsWith(`Error: react-stack-top-frame
+`)&&(Q=Q.slice(29)),X=Q.indexOf(`
+`),X!==-1&&(Q=Q.slice(X+1)),X=Q.indexOf("react_stack_bottom_frame"),X!==-1&&(X=Q.lastIndexOf(`
+`,X)),X!==-1)Q=Q.slice(0,X);else return"";return Q}function y0(Q){if(__===void 0)try{throw Error()}catch(K){var X=K.stack.trim().match(/\n( *(at )?)/);__=X&&X[1]||"",zD=-1)":-1F||E[H]!==r[F]){var o=`
+`+E[H].replace(" at new "," at ");return Q.displayName&&o.includes("")&&(o=o.replace("",Q.displayName)),typeof Q==="function"&&F_.set(Q,o),o}while(1<=H&&0<=F);break}}}finally{A_=!1,U0.H=G,H0(),Error.prepareStackTrace=K}return E=(E=Q?Q.displayName||Q.name:"")?y0(E):"",typeof Q==="function"&&F_.set(Q,E),E}function w0(Q,X){switch(Q.tag){case 26:case 27:case 5:return y0(Q.type);case 16:return y0("Lazy");case 13:return Q.child!==X&&X!==null?y0("Suspense Fallback"):y0("Suspense");case 19:return y0("SuspenseList");case 0:case 15:return i0(Q.type,!1);case 11:return i0(Q.type.render,!1);case 1:return i0(Q.type,!0);case 31:return y0("Activity");default:return""}}function l0(Q){try{var X="",K=null;do{X+=w0(Q,K);var G=Q._debugInfo;if(G)for(var w=G.length-1;0<=w;w--){var H=G[w];if(typeof H.name==="string"){var F=X;Z:{var{name:V,env:b,debugLocation:E}=H;if(E!=null){var r=M0(E),o=r.lastIndexOf(`
+`),p=o===-1?r:r.slice(o+1);if(p.indexOf(V)!==-1){var K0=`
+`+p;break Z}}K0=y0(V+(b?" ["+b+"]":""))}X=F+K0}}K=Q,Q=Q.return}while(Q);return X}catch(L0){return`
+Error generating stack: `+L0.message+`
+`+L0.stack}}function t0(Q){return(Q=Q?Q.displayName||Q.name:"")?y0(Q):""}function v1(){if(L4===null)return null;var Q=L4._debugOwner;return Q!=null?i(Q):null}function B1(){if(L4===null)return"";var Q=L4;try{var X="";switch(Q.tag===6&&(Q=Q.return),Q.tag){case 26:case 27:case 5:X+=y0(Q.type);break;case 13:X+=y0("Suspense");break;case 19:X+=y0("SuspenseList");break;case 31:X+=y0("Activity");break;case 30:case 0:case 15:case 1:Q._debugOwner||X!==""||(X+=t0(Q.type));break;case 11:Q._debugOwner||X!==""||(X+=t0(Q.type.render))}for(;Q;)if(typeof Q.tag==="number"){var K=Q;Q=K._debugOwner;var G=K._debugStack;if(Q&&G){var w=M0(G);w!==""&&(X+=`
+`+w)}}else if(Q.debugStack!=null){var H=Q.debugStack;(Q=Q.owner)&&H&&(X+=`
+`+M0(H))}else break;var F=X}catch(V){F=`
+Error generating stack: `+V.message+`
+`+V.stack}return F}function R0(Q,X,K,G,w,H,F){var V=L4;C1(Q);try{return Q!==null&&Q._debugTask?Q._debugTask.run(X.bind(null,K,G,w,H,F)):X(K,G,w,H,F)}finally{C1(V)}throw Error("runWithFiberInDEV should never be called in production. This is a bug in React.")}function C1(Q){U0.getCurrentStack=Q===null?null:B1,_3=!1,L4=Q}function J5(Q){return typeof Symbol==="function"&&Symbol.toStringTag&&Q[Symbol.toStringTag]||Q.constructor.name||"Object"}function n5(Q){try{return H5(Q),!1}catch(X){return!0}}function H5(Q){return""+Q}function N1(Q,X){if(n5(Q))return console.error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",X,J5(Q)),H5(Q)}function t6(Q,X){if(n5(Q))return console.error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",X,J5(Q)),H5(Q)}function $1(Q){if(n5(Q))return console.error("Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.",J5(Q)),H5(Q)}function N4(Q){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var X=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(X.isDisabled)return!0;if(!X.supportsFiber)return console.error("The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools"),!0;try{MJ=X.inject(Q),A7=X}catch(K){console.error("React instrumentation encountered an error: %o.",K)}return X.checkDCE?!0:!1}function S1(Q){if(typeof kl==="function"&&fl(Q),A7&&typeof A7.setStrictMode==="function")try{A7.setStrictMode(MJ,Q)}catch(X){A3||(A3=!0,console.error("React instrumentation encountered an error: %o",X))}}function P6(Q){return Q>>>=0,Q===0?32:31-(gl(Q)/hl|0)|0}function e2(Q){var X=Q&42;if(X!==0)return X;switch(Q&-Q){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return Q&261888;case 262144:case 524288:case 1048576:case 2097152:return Q&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return Q&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return console.error("Should have found matching lanes. This is a bug in React."),Q}}function c4(Q,X,K){var G=Q.pendingLanes;if(G===0)return 0;var w=0,H=Q.suspendedLanes,F=Q.pingedLanes;Q=Q.warmLanes;var V=G&134217727;return V!==0?(G=V&~H,G!==0?w=e2(G):(F&=V,F!==0?w=e2(F):K||(K=V&~Q,K!==0&&(w=e2(K))))):(V=G&~H,V!==0?w=e2(V):F!==0?w=e2(F):K||(K=G&~Q,K!==0&&(w=e2(K)))),w===0?0:X!==0&&X!==w&&(X&H)===0&&(H=w&-w,K=X&-X,H>=K||H===32&&(K&4194048)!==0)?X:w}function k2(Q,X){return(Q.pendingLanes&~(Q.suspendedLanes&~Q.pingedLanes)&X)===0}function V6(Q,X){switch(Q){case 1:case 2:case 4:case 8:case 64:return X+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return X+5000;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return console.error("Should have found matching lanes. This is a bug in React."),-1}}function R6(){var Q=ZG;return ZG<<=1,(ZG&62914560)===0&&(ZG=4194304),Q}function Z7(Q){for(var X=[],K=0;31>K;K++)X.push(Q);return X}function T5(Q,X){Q.pendingLanes|=X,X!==268435456&&(Q.suspendedLanes=0,Q.pingedLanes=0,Q.warmLanes=0)}function W2(Q,X,K,G,w,H){var F=Q.pendingLanes;Q.pendingLanes=K,Q.suspendedLanes=0,Q.pingedLanes=0,Q.warmLanes=0,Q.expiredLanes&=K,Q.entangledLanes&=K,Q.errorRecoveryDisabledLanes&=K,Q.shellSuspendCounter=0;var{entanglements:V,expirationTimes:b,hiddenUpdates:E}=Q;for(K=F&~K;0"u")return null;try{return Q.activeElement||Q.body}catch(X){return Q.body}}function S0(Q){return Q.replace(dl,function(X){return"\\"+X.charCodeAt(0).toString(16)+" "})}function c0(Q,X){X.checked===void 0||X.defaultChecked===void 0||GD||(console.error("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components",v1()||"A component",X.type),GD=!0),X.value===void 0||X.defaultValue===void 0||WD||(console.error("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components",v1()||"A component",X.type),WD=!0)}function a0(Q,X,K,G,w,H,F,V){if(Q.name="",F!=null&&typeof F!=="function"&&typeof F!=="symbol"&&typeof F!=="boolean"?(N1(F,"type"),Q.type=F):Q.removeAttribute("type"),X!=null)if(F==="number"){if(X===0&&Q.value===""||Q.value!=X)Q.value=""+t(X)}else Q.value!==""+t(X)&&(Q.value=""+t(X));else F!=="submit"&&F!=="reset"||Q.removeAttribute("value");X!=null?d0(Q,F,t(X)):K!=null?d0(Q,F,t(K)):G!=null&&Q.removeAttribute("value"),w==null&&H!=null&&(Q.defaultChecked=!!H),w!=null&&(Q.checked=w&&typeof w!=="function"&&typeof w!=="symbol"),V!=null&&typeof V!=="function"&&typeof V!=="symbol"&&typeof V!=="boolean"?(N1(V,"name"),Q.name=""+t(V)):Q.removeAttribute("name")}function Q1(Q,X,K,G,w,H,F,V){if(H!=null&&typeof H!=="function"&&typeof H!=="symbol"&&typeof H!=="boolean"&&(N1(H,"type"),Q.type=H),X!=null||K!=null){if(!(H!=="submit"&&H!=="reset"||X!==void 0&&X!==null)){P0(Q);return}K=K!=null?""+t(K):"",X=X!=null?""+t(X):K,V||X===Q.value||(Q.value=X),Q.defaultValue=X}G=G!=null?G:w,G=typeof G!=="function"&&typeof G!=="symbol"&&!!G,Q.checked=V?Q.checked:!!G,Q.defaultChecked=!!G,F!=null&&typeof F!=="function"&&typeof F!=="symbol"&&typeof F!=="boolean"&&(N1(F,"name"),Q.name=F),P0(Q)}function d0(Q,X,K){X==="number"&&j0(Q.ownerDocument)===Q||Q.defaultValue===""+K||(Q.defaultValue=""+K)}function p1(Q,X){X.value==null&&(typeof X.children==="object"&&X.children!==null?rJ.Children.forEach(X.children,function(K){K==null||typeof K==="string"||typeof K==="number"||typeof K==="bigint"||MD||(MD=!0,console.error("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to