:root{--void:#090c11;--bg:#0c1016;--surface-1:#11161d;--surface-2:#171d26;--surface-3:#1e252f;--well:#0a0e13;--border-subtle:#1b222c;--border:#232c38;--border-strong:#313c4a;--text-1:#e9eef5;--text-2:#9ba7b7;--text-3:#616e7f;--text-4:#454f5d;--accent:#5dec96;--accent-hover:#78f0ab;--accent-press:#46d07f;--accent-tint:#5dec961f;--accent-glow:#5dec9659;--on-accent:#06180e;--st-slate:#6b7789;--st-slate-tint:#6b778924;--st-cyan:#3ed6e0;--st-cyan-tint:#3ed6e01f;--st-amber:#f5b13c;--st-amber-tint:#f5b13c21;--st-blue:#4e8cf5;--st-blue-tint:#4e8cf524;--st-green:#5dec96;--st-green-tint:#5dec961f;--st-red:#f2685e;--st-red-tint:#f2685e1f;--syn-key:#7fd9e0;--syn-str:#8df0b4;--syn-num:#f5c97a;--syn-kw:#8fb4f5;--syn-punc:#5b6675;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--ease-pop:cubic-bezier(.2, 1.45, .4, 1);--d-instant:80ms;--d-fast:.14s;--d-base:.2s;--d-move:.32s;--font-sans:"Archivo", -apple-system, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", "Menlo", monospace;--shadow-overlay:0 24px 70px #0009;--radius:14px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;touch-action:manipulation;background:var(--bg);width:100%;height:100%;color:var(--text-1);overflow:hidden}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(120% 80% at 50% -10%,#0f141c 0%,#0c1016 60%) fixed;font-size:13px;line-height:1.5}#root{width:100%;height:100%}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea,select{color:var(--text-1);background:0 0;border:none;outline:none;font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent-tint)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:content-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#3d4a5a padding-box content-box;border:3px solid #0000}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.eyebrow{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-3);font-size:10.5px;font-weight:500}.title{letter-spacing:-.01em;color:var(--text-1);font-size:20px;font-weight:600;line-height:1.2}.heading{color:var(--text-1);font-size:15px;font-weight:600;line-height:1.3}.muted{color:var(--text-2)}.muted-3{color:var(--text-3)}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius)}.well{background:var(--well);border:1px solid var(--border-subtle);border-radius:10px}.btn{border:1px solid var(--border-strong);background:var(--surface-1);height:34px;color:var(--text-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;transition:background var(--d-instant) var(--ease-out), border-color var(--d-instant) var(--ease-out), color var(--d-instant) var(--ease-out), transform 60ms var(--ease-out), opacity var(--d-fast) var(--ease-out);-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:11px;font-weight:500;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:var(--surface-2);color:var(--text-1);border-color:#3d4a5a}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent-glow);outline:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.btn-primary:active:not(:disabled){background:var(--accent-press)}.btn-danger{color:var(--st-red);border-color:#f2685e80}.btn-danger:hover:not(:disabled){background:var(--st-red-tint);border-color:var(--st-red);color:var(--st-red)}.btn-sm{height:28px;padding:0 10px;font-size:10px}.icon-btn{width:32px;height:32px;color:var(--text-2);transition:background var(--d-instant), color var(--d-instant);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text-1)}.field{background:var(--well);border:1px solid var(--border);width:100%;height:38px;color:var(--text-1);transition:border-color var(--d-fast), box-shadow var(--d-fast);border-radius:9px;padding:0 12px;font-size:13px}.field::placeholder{color:var(--text-3)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}textarea.field{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.pill{height:22px;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 9px 0 7px;font-size:11px;font-weight:500;display:inline-flex}.pill .dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.pill.blink .dot{animation:1.4s ease-in-out infinite dot-blink}.skeleton{background:#12181f;border-radius:6px;animation:1.6s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.6}50%{opacity:.9}}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 7px #5dec9600}to{box-shadow:0 0 #5dec9600}}.spin{animation:.6s linear infinite spin}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.shake{animation:.3s ease-in-out shake}@keyframes pop-in{0%{transform:scale(.4)}to{transform:scale(1)}}.pop-in{animation:.28s cubic-bezier(.2,1.45,.4,1) pop-in}@keyframes bloom{30%{text-shadow:0 0 16px #5dec9699}to{text-shadow:0 0 #0000}}.bloom{animation:.78s bloom}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
