:root{
  --bg:#0a0d14; --panel:#111725; --line:#1e2739; --ink:#e8edf7;
  --muted:#8494b0; --accent:#3b82f6; --good:#22c55e; --warn:#f59e0b; --bad:#ef4444;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:var(--ink);
  background:radial-gradient(1000px 560px at 12% -12%,#16233d 0%,transparent 62%),var(--bg);
  font:15px/1.6 ui-sans-serif,-apple-system,"Segoe UI",Inter,Roboto,sans-serif}
body.centered{display:flex;align-items:center;justify-content:center;padding:32px}
a{color:var(--accent)}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}
h1{margin:8px 0 6px;font-size:26px;letter-spacing:-.02em}
.sub{color:var(--muted);margin:0 0 24px;font-size:14px}
.card{width:100%;max-width:560px;background:var(--panel);border:1px solid var(--line);
  border-radius:18px;padding:30px;box-shadow:0 24px 60px -22px #000}
label{display:block;font-size:12px;color:var(--muted);margin:15px 0 6px;font-weight:500}
.opt{opacity:.6;text-transform:none;letter-spacing:0}
input,textarea,select{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line);
  background:#0c111c;color:var(--ink);font:inherit;font-size:14px;outline:none;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--accent)}
button{margin-top:20px;padding:13px 18px;border:0;border-radius:11px;background:var(--accent);
  color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:.15s}
button:hover{background:#2f6fdd}
button[disabled]{opacity:.5;cursor:default}
button.live{background:#dc2626}
button.wide{width:100%}
.status{margin-top:18px;padding:11px 13px;border-radius:10px;background:#0c111c;border:1px solid var(--line);
  font-size:13px;color:var(--muted);display:flex;align-items:center;gap:9px;min-height:42px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}
.dot.on{background:var(--good);box-shadow:0 0 0 4px #22c55e22}
.dot.err{background:var(--bad)}
.log{margin-top:14px;max-height:220px;overflow:auto;font:12px/1.7 ui-monospace,SFMono-Regular,monospace}
.log div{padding:5px 0;border-bottom:1px solid #161d2c}
.log .a{color:#93c5fd}.log .u{color:#86efac}
.notice{margin-top:14px;padding:12px 14px;border-radius:10px;background:#1a1408;border:1px solid #4a3a14;
  color:#fcd34d;font-size:13px}
.wrapwide{max-width:1000px;margin:0 auto;padding:44px 24px 80px}
.grid{display:grid;gap:14px;margin-top:22px}
.bot{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:17px 19px;
  display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
.bot h3{margin:0 0 3px;font-size:15px}
.bot .meta{color:var(--muted);font-size:12.5px}
.pill{font-size:11px;padding:3px 9px;border-radius:99px;font-weight:600;letter-spacing:.03em;white-space:nowrap}
.pill.ready{background:#0c2f1b;color:#4ade80}
.pill.building{background:#2a2005;color:#fbbf24}
.pill.failed{background:#3a1215;color:#f87171}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
pre{background:#0c111c;border:1px solid var(--line);border-radius:10px;padding:13px;
  overflow-x:auto;font-size:12.5px;color:#c8d4ea;margin:8px 0 0}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.row a{font-size:13px}
.muted{color:var(--muted)}
