:root{--navy:#050E1B;--panel:#0B1B30;--grad:#122a49;--ember:#E8801E;--teal:#17BCD5;--live:#63B34A;--bad:#E5484D;--ink:#EAF1FA;--muted:#8CA0BF;--line:#22406B}
*{box-sizing:border-box}
html,body{margin:0}
body{background:radial-gradient(1200px 600px at 50% -200px,var(--grad),var(--navy));background-color:var(--navy);color:var(--ink);font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55;min-height:100vh}
h1,h2,h3,.wm{font-family:"Space Grotesk","IBM Plex Sans",system-ui,sans-serif;letter-spacing:-.01em}
code,pre,.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}
a{color:var(--teal)}
.wm{font-size:1.25rem;font-weight:400;color:var(--ink);text-decoration:none}.wm b{font-weight:700}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}
.muted{color:var(--muted)}
label{display:block;font-size:.9rem;color:var(--muted);margin:14px 0 6px}
input,textarea,select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#07152a;color:var(--ink);font:inherit}
input:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:10px;border:0;background:var(--ember);color:#1a0d02;font-weight:600;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:disabled{opacity:.6;cursor:default}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.danger{background:transparent;color:var(--bad);border:1px solid var(--bad)}
.err{color:var(--bad);min-height:1.4em;margin:10px 0 0}
.ok{color:var(--live)}
