:root{color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--brand-deep:#15102e;--brand-sky:#71aae0;--brand-coral:#bf3d4c;--brand-deep-2:#1c1739;--brand-deep-3:#251f48;--brand-deep-50:#f3f1f6;--brand-deep-100:#e0dde7;--brand-deep-200:#b9b3cb;--brand-deep-300:#8e85a9;--brand-deep-400:#5d5180;--brand-sky-50:#f0f7fd;--brand-sky-100:#d9ebf8;--brand-sky-200:#b3d6f1;--brand-sky-300:#8cc0eb;--brand-sky-500:#4d8fcc;--brand-sky-600:#3a72a8;--brand-coral-50:#fcecef;--brand-coral-100:#f7c9d0;--brand-coral-400:#cf5a68;--brand-coral-500:#bf3d4c;--brand-coral-600:#9c2c39;--font-sans:"Exo 2",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--text-2xs:10px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--leading-tight:1.2;--leading-normal:1.5;--leading-loose:1.75;--tracking-widest:0.15em;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--page-gutter:32px;--measure-index:100%;--measure-form:760px;--header-h:56px;--tabs-h:44px;--z-sticky:10;--z-rail:40;--z-studio:60;--z-menu:70;--z-dialog:80;--z-tooltip:90;--row-h:44px;--row-h-compact:36px;--duration-fast:120ms;--duration-normal:200ms;--duration-slow:320ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--bg-page:light-dark(#fafafc,#15102e);--bg-surface:light-dark(#ffffff,#1c1739);--bg-surface-2:light-dark(#f2f2f6,#251f48);--bg-surface-3:light-dark(#e6e6ee,#2e2757);--bg-input:light-dark(#ffffff,#15102e);--bg-hover:light-dark(rgba(21,16,46,0.04),rgba(255,255,255,0.05));--bg-active:light-dark(rgba(21,16,46,0.08),rgba(255,255,255,0.09));--fg:light-dark(#15102e,#e8e8f0);--fg-muted:light-dark(#4a4566,#a5a5bc);--fg-subtle:light-dark(#78748c,#8b86a8);--fg-on-accent:var(--brand-deep);--fg-on-danger:#ffffff;--accent:var(--brand-sky);--accent-text:light-dark(#427baf,#71aae0);--accent-strong:light-dark(#4d8fcc,#8cc0eb);--accent-soft:light-dark(#f0f7fd,rgba(113,170,224,0.14));--accent-hover:light-dark(#8cc0eb,#8cc0eb);--danger:var(--brand-coral-500);--danger-text:light-dark(#9c2c39,#cf5a68);--danger-strong:light-dark(#9c2c39,#bf3d4c);--danger-soft:light-dark(#fcecef,rgba(191,61,76,0.16));--success:light-dark(#0f7a5a,#4ade80);--success-soft:light-dark(#e6f4ef,rgba(74,222,128,0.14));--warning:light-dark(#8a5a00,#fbbf24);--warning-soft:light-dark(#fdf3e0,rgba(251,191,36,0.14));--info:var(--accent-text);--info-soft:var(--accent-soft);--border:light-dark(rgba(21,16,46,0.12),rgba(255,255,255,0.10));--border-strong:light-dark(rgba(21,16,46,0.24),rgba(255,255,255,0.20));--border-focus:light-dark(#4d8fcc,#71aae0);--scrim:light-dark(rgba(15,10,31,0.36),rgba(0,0,0,0.60));--shadow-sm:light-dark(0 1px 2px rgba(21,16,46,0.06),0 1px 2px rgba(0,0,0,0.40));--shadow-md:light-dark(0 4px 12px rgba(21,16,46,0.10),0 4px 12px rgba(0,0,0,0.40));--shadow-lg:light-dark(0 16px 40px rgba(21,16,46,0.12),0 16px 40px rgba(0,0,0,0.50));--shadow-popover:light-dark(0 16px 48px rgba(15,10,31,0.18),0 16px 48px rgba(0,0,0,0.60))}body,html{background:var(--bg-page);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background:var(--accent);color:var(--fg-on-accent)}::selection{background:var(--accent);color:var(--fg-on-accent)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--fg-subtle);background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}