:root{--bg:#0e1117;--bg-card:#161b22;--border:#30363d;--text:#c9d1d9;--muted:#8b949e;--accent:#2188ff;--warn:#f0883e;--danger:#f85149;--ok:#3fb950;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}main.shell{max-width:720px;margin:4rem auto;padding:0 1.5rem}main.shell.wide{max-width:960px}h1{font-size:1.5rem;margin-bottom:1rem}h2{font-size:1.2rem;margin-top:0}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.card h3{margin:0 0 .5rem;font-size:1rem}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.err,.muted{font-size:.85rem}.err{color:var(--danger);margin-top:.5rem}.ok{color:var(--ok)}button,input,select{background:#0d1117;border:1px solid var(--border);color:var(--text);padding:.5rem .7rem;border-radius:4px;font:inherit}input{display:block;width:100%}button{cursor:pointer;width:100%}button.primary,button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#fff}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button:disabled{opacity:.6;cursor:not-allowed}label{display:block;margin-bottom:.75rem;font-size:.85rem;color:var(--muted)}label>input{margin-top:.25rem}.badge{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.75rem;background:#21262d;color:var(--muted);margin-right:.25rem}.badge.danger{background:#582121;color:#ffb4b0}.badge.warn{background:#4d3a1a;color:#ffc987}.badge.ok{background:#1d3a23;color:#a3e6ad}code,pre{font-family:JetBrains Mono,Consolas,monospace}code{padding:0 .25rem;border-radius:3px;font-size:.85rem}code,pre{background:#0d1117}pre{padding:.75rem;border-radius:6px;overflow:auto;font-size:.8rem}.metric{font-size:1.6rem;font-weight:600}.metric.warn{color:var(--warn)}.metric.danger{color:var(--danger)}