*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-ui);color:var(--fg);background:var(--bg);font-size:14px;line-height:1.5;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}code,pre,.mono{font-family:var(--font-mono)}:root,[data-theme=dark]{--font-ui:"Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg:#0e0f12;--bg-2:#14161b;--bg-3:#1b1e25;--surface:#181a20;--surface-2:#1f232b;--elevated:#22262f;--overlay:#000000a6;--line:#ffffff14;--line-2:#ffffff24;--line-strong:#ffffff38;--fg:#e7e9ee;--fg-2:#b8bcc6;--fg-3:#8a8f9c;--fg-muted:#5c616e;--neon:#00f5a0;--neon-soft:#00f5a029;--neon-strong:#00c982;--neon2:#00c8f0;--neon2-soft:#00c8f029;--violet:#7b72e8;--violet-soft:#7b72e829;--rd:#f57;--rd-soft:#ff557724;--am:#ffb347;--am-soft:#ffb34724;--gn:#00f5a0;--gn-soft:#00f5a024;--bl:#00c8f0;--bl-soft:#00c8f024;--shadow-sm:0 1px 2px #0000004d;--shadow:0 4px 14px #00000059;--shadow-lg:0 12px 40px #0000008c;--shadow-neon:0 0 0 1px var(--neon-soft), 0 6px 22px #00f5a040;--r-xs:4px;--r-sm:6px;--r:10px;--r-lg:14px;--r-xl:20px;--sb-w:52px;--sb-w-open:220px;--topbar-h:56px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f6f9;--bg-2:#eceef3;--bg-3:#e2e5ec;--surface:#fff;--surface-2:#f8f9fb;--elevated:#fff;--overlay:#14161c73;--line:#14161c14;--line-2:#14161c24;--line-strong:#14161c38;--fg:#14161b;--fg-2:#3a3f4b;--fg-3:#62687a;--fg-muted:#8a8f9c;--neon:#00c982;--neon-soft:#00c98224;--neon-strong:#00a06a;--neon2:#0098b8;--neon2-soft:#0098b824;--violet:#5b53c5;--violet-soft:#5b53c51f;--rd:#e03a5c;--rd-soft:#e03a5c1a;--am:#d88714;--am-soft:#d887141a;--gn:#00a06a;--gn-soft:#00a06a1a;--bl:#0098b8;--bl-soft:#0098b81a;--shadow-sm:0 1px 2px #14161c0f;--shadow:0 4px 14px #14161c14;--shadow-lg:0 12px 40px #14161c29;--shadow-neon:0 0 0 1px var(--neon-soft), 0 6px 22px #00c9822e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}::selection{background:var(--neon-soft);color:var(--fg)}:focus-visible{outline:2px solid var(--neon);outline-offset:2px;border-radius:var(--r-sm)}h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--fg);font-weight:600}h1{font-size:24px;line-height:1.25}h2{font-size:20px;line-height:1.3}h3{font-size:17px;line-height:1.35}h4{font-size:15px;line-height:1.4}small{color:var(--fg-3);font-size:12px}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-2);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--line-strong);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}@keyframes neon-pulse{0%,to{box-shadow:0 0 #00f5a073,0 0 #00f5a000}50%{box-shadow:0 0 0 6px #00f5a000,0 0 16px 2px #00f5a08c}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-fast{0%{opacity:0}to{opacity:1}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.5}}.anim-pulse-neon{animation:2.4s ease-in-out infinite neon-pulse}.anim-spin{animation:.9s linear infinite spin}.anim-fade-in{animation:.22s ease-out both fade-in}.anim-fade-fast{animation:.15s ease-out both fade-in-fast}.anim-pulse-soft{animation:1.8s ease-in-out infinite pulse-soft}.app-shell{grid-template-columns:var(--sb-w) 1fr;background:var(--bg);width:100vw;height:100vh;color:var(--fg);grid-template-rows:100vh;transition:grid-template-columns .22s;display:grid}.app-shell[data-sidebar-pinned=true]{grid-template-columns:var(--sb-w-open) 1fr}.app-main{background:var(--bg);position:relative;overflow:auto}.app-content{max-width:1600px;margin:0 auto;padding:24px 28px 40px}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.flex-1{flex:auto}.center{justify-content:center;align-items:center;display:flex}.between{justify-content:space-between;align-items:center;display:flex}.wrap{flex-wrap:wrap}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.t-fg{color:var(--fg)}.t-fg-2{color:var(--fg-2)}.t-fg-3{color:var(--fg-3)}.t-muted{color:var(--fg-muted)}.t-neon{color:var(--neon)}.t-neon2{color:var(--neon2)}.t-violet{color:var(--violet)}.t-rd{color:var(--rd)}.t-am{color:var(--am)}.t-gn{color:var(--gn)}.fw-300{font-weight:300}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fs-11{font-size:11px}.fs-12{font-size:12px}.fs-13{font-size:13px}.fs-14{font-size:14px}.fs-16{font-size:16px}.fs-18{font-size:18px}.fs-20{font-size:20px}.uppercase{text-transform:uppercase;letter-spacing:.06em}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nowrap{white-space:nowrap}.hidden{display:none!important}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}.card-tight{padding:12px}.card-lg{padding:24px}.card-hover{transition:border-color .15s,transform .15s,box-shadow .15s}.card-hover:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-1px)}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header h1{letter-spacing:-.01em;font-size:22px;font-weight:700}.page-header-sub{color:var(--fg-3);margin-top:2px;font-size:13px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
