:root{--font-sans: "Outfit", "Söhne", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--font-display: "Outfit", "Söhne", -apple-system, sans-serif;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-2xl: 28px;--ease-out: cubic-bezier(0.22, 1, 0.36, 1);--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);--t-fast: 140ms;--t-med: 240ms;--t-slow: 420ms;--t-collapse: 280ms;--sidebar-w: 248px;--sidebar-collapsed-w: 64px;--header-h: 60px;--ai-w: 360px;--accent-h: 300;--accent-c: 0.14;--accent-l: 0.74;--accent: oklch(var(--accent-l) var(--accent-c) var(--accent-h));--accent-soft: oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.12);--accent-glow: oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.35);--glass: 0.6;--input-height: 36px;--input-radius: var(--r-md);--input-padding-x: var(--s-3);--input-padding-y: 0px;--input-bg: oklch(var(--accent-l) 0 0 / 0);--input-bg-focus: oklch(var(--accent-l) 0 0 / 0);--input-border-width: 1px;--input-border: var(--line-strong);--input-border-focus: var(--accent);--input-shadow-focus: 0 0 0 3px var(--accent-soft);--input-text: var(--fg-1);--input-placeholder: var(--fg-4);--input-disabled-bg: oklch(var(--accent-l) 0 0 / 0.04);--input-disabled-text: var(--fg-4);--input-label-style: static;--focus-ring-width: 3px;--focus-ring-color: var(--accent-soft);}[data-theme="dark"]{--bg-0: oklch(0.16 0.012 280);--bg-1: oklch(0.185 0.013 280);--bg-2: oklch(0.215 0.014 280);--bg-3: oklch(0.245 0.014 280);--bg-4: oklch(0.28 0.015 280);--surface-glass: oklch(0.22 0.014 280 / 0.55);--surface-glass-strong: oklch(0.235 0.014 280 / 0.75);--surface-elevated: oklch(0.235 0.014 280);--line: oklch(1 0 0 / 0.07);--line-strong: oklch(1 0 0 / 0.12);--line-accent: oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.35);--fg-1: oklch(0.97 0.005 280);--fg-2: oklch(0.78 0.008 280);--fg-3: oklch(0.6 0.01 280);--fg-4: oklch(0.45 0.01 280);--shadow-sm: 0 1px 2px rgb(0 0 0 / 0.4);--shadow-md: 0 4px 16px rgb(0 0 0 / 0.35), 0 1px 3px rgb(0 0 0 / 0.4);--shadow-lg: 0 12px 40px rgb(0 0 0 / 0.45), 0 2px 6px rgb(0 0 0 / 0.5);--shadow-xl: 0 24px 60px rgb(0 0 0 / 0.55), 0 6px 12px rgb(0 0 0 / 0.4);--shadow-glow: 0 0 0 1px oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.25), 0 8px 32px oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.18);--grid-line: oklch(1 0 0 / 0.04);--ok: oklch(0.78 0.14 160);--warn: oklch(0.82 0.14 75);--bad: oklch(0.7 0.18 25);--info: oklch(0.78 0.13 235);}[data-theme="light"]{--bg-0: oklch(0.985 0.003 280);--bg-1: oklch(0.975 0.004 280);--bg-2: oklch(1 0 0);--bg-3: oklch(0.96 0.005 280);--bg-4: oklch(0.94 0.006 280);--surface-glass: oklch(1 0 0 / 0.7);--surface-glass-strong: oklch(1 0 0 / 0.85);--surface-elevated: oklch(1 0 0);--line: oklch(0 0 0 / 0.07);--line-strong: oklch(0 0 0 / 0.12);--line-accent: oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.4);--fg-1: oklch(0.18 0.01 280);--fg-2: oklch(0.36 0.012 280);--fg-3: oklch(0.5 0.012 280);--fg-4: oklch(0.65 0.01 280);--shadow-sm: 0 1px 2px rgb(20 20 30 / 0.04);--shadow-md: 0 4px 16px rgb(20 20 30 / 0.06), 0 1px 3px rgb(20 20 30 / 0.05);--shadow-lg: 0 12px 40px rgb(20 20 30 / 0.08), 0 2px 6px rgb(20 20 30 / 0.05);--shadow-xl: 0 24px 60px rgb(20 20 30 / 0.12), 0 6px 12px rgb(20 20 30 / 0.06);--shadow-glow: 0 0 0 1px oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.3), 0 8px 32px oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.15);--grid-line: oklch(0 0 0 / 0.03);--ok: oklch(0.6 0.14 160);--warn: oklch(0.65 0.14 60);--bad: oklch(0.55 0.2 25);--info: oklch(0.55 0.15 235);}*{box-sizing: border-box;}html, body, #root{margin: 0;padding: 0;height: 100%;}body{font-family: var(--font-sans);background: var(--bg-0);color: var(--fg-1);font-feature-settings: "ss01", "cv11", "tnum";-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}body:has(.app){overflow: hidden;height: 100%;}body:not(:has(.app)){overflow-x: hidden;min-height: 100%;}button{font: inherit;color: inherit;background: none;border: 0;cursor: pointer;padding: 0;}input, textarea{font: inherit;color: inherit;}::selection{background: var(--accent-soft);color: var(--fg-1);}[data-density="dense"]{--density-padding-y: 4px;--density-padding-x: 8px;--density-row-height: 32px;--density-input-height: 30px;--density-card-padding: 12px;}[data-density="balanced"]{--density-padding-y: 6px;--density-padding-x: 10px;--density-row-height: 40px;--density-input-height: 36px;--density-card-padding: 16px;}[data-density="sparse"]{--density-padding-y: 10px;--density-padding-x: 14px;--density-row-height: 48px;--density-input-height: 42px;--density-card-padding: 24px;}@media (max-width: 768px){:root{--header-h: 56px;--sidebar-w: 280px;}}*:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px;border-radius: var(--r-xs);}:root[data-effects="minimal"]{--shadow-color: transparent;--shadow-color-strong: transparent;}:root[data-effects="minimal"] *{backdrop-filter: none !important;-webkit-backdrop-filter: none !important;box-shadow: none !important;}:root[data-effects="balanced"] *{backdrop-filter: none !important;-webkit-backdrop-filter: none !important;}@media (prefers-reduced-transparency: reduce){:root:not([data-effects="full"]) *{backdrop-filter: none !important;-webkit-backdrop-filter: none !important;}}:root[data-motion="reduced"]{--motion-durationFast: 0ms;--motion-durationBase: 0ms;--motion-durationSlow: 0ms;--t-collapse: 0ms;}:root[data-motion="reduced"] *, :root[data-motion="reduced"] *::before, :root[data-motion="reduced"] *::after{animation: none !important;transition: none !important;scroll-behavior: auto !important;}@media (prefers-reduced-motion: reduce){:root:not([data-motion="full"]){--motion-durationFast: 0ms;--motion-durationBase: 0ms;--motion-durationSlow: 0ms;--t-collapse: 0ms;}:root:not([data-motion="full"]) *, :root:not([data-motion="full"]) *::before, :root:not([data-motion="full"]) *::after{animation: none !important;transition: none !important;scroll-behavior: auto !important;}}