:root{--bg:#0d1117;--panel:#161b22;--border:#30363d;--text:#e6edf3;--muted:#8b949e;--accent:#58a6ff;--warn:#d29922;--ok:#3fb950}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}.shell{display:grid;grid-template-columns:200px 1fr;min-height:100vh}nav.sidebar{border-right:1px solid var(--border);padding:20px 0;background:var(--panel)}nav.sidebar .brand{font-weight:600;letter-spacing:.02em;padding:0 20px 16px}nav.sidebar .nav-item{display:block;padding:7px 20px 7px 17px;color:var(--muted);text-decoration:none;border-left:3px solid transparent}nav.sidebar a.nav-item:hover{color:var(--text);background:rgba(255,255,255,.04)}nav.sidebar .nav-active{color:var(--text);font-weight:600;border-left-color:var(--accent);background:rgba(88,166,255,.08)}nav.sidebar .nav-unbuilt{opacity:.35;cursor:default}main{padding:28px 32px;max-width:900px}h1{font-size:20px;margin:0 0 4px}h2{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:28px 0 10px}.card{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:14px 16px;margin-bottom:10px}.row{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.muted,.pill{color:var(--muted)}.pill{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.pill.ok{color:var(--ok);border-color:var(--ok)}.pill.warn{color:var(--warn);border-color:var(--warn)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}form.login{max-width:320px;margin:120px auto}input[type=password]{width:100%;padding:8px 10px;background:var(--panel);color:var(--text);margin:10px 0}button,input[type=password]{border-radius:6px;border:1px solid var(--border)}button{padding:8px 14px;background:var(--accent);color:#0d1117;font-weight:600;cursor:pointer}table.grid{width:100%;border-collapse:collapse;font-size:14px}table.grid th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:0 10px 8px 0;border-bottom:1px solid var(--border);white-space:nowrap}table.grid td{padding:6px 10px 6px 0;border-bottom:1px solid rgba(255,255,255,.05)}table.grid td.num,table.grid th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}pre{background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:6px;padding:12px;overflow-x:auto;font-size:13px}abbr.term{-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:3px;cursor:help}details.glossary{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:12px 16px;margin:24px 0 8px}details.glossary summary{cursor:pointer;color:var(--muted);font-size:14px}details.glossary dl{margin:14px 0 4px}details.glossary dt{font-weight:600;margin-top:12px;text-transform:capitalize}details.glossary dd{margin:3px 0 0;color:var(--muted);max-width:62ch}form label{display:block;margin:14px 0;color:var(--muted);font-size:14px}.field{display:flex;align-items:center;gap:6px;margin-top:5px}.field .prefix,.field .suffix{color:var(--muted)}input[type=number],input[type=text]{padding:7px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}button.secondary{background:transparent;color:var(--muted)}form.card ul{margin:0}.bar{width:70px;height:6px;background:rgba(255,255,255,.08);overflow:hidden}.bar,.bar>span{display:block;border-radius:3px}.bar>span{height:100%}button:disabled{opacity:.3;cursor:default}pre.diff{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:12.5px;line-height:1.55;overflow-x:auto;white-space:pre-wrap;word-break:break-word}pre.diff .del{color:#ff9a9a}pre.diff .add{color:#9ae6a0}:root{--bad-bg:#2c1618;--warn-bg:#2a2410}.spinner{display:inline-block;width:.72em;height:.72em;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-1px}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none;opacity:.6}}button[aria-busy=true]{opacity:.75;cursor:progress}.card.just-changed{border-color:var(--accent,#6ea8fe);box-shadow:0 0 0 1px var(--accent,#6ea8fe);animation:settle 1.6s ease-out}@keyframes settle{0%{background:rgba(110,168,254,.12)}to{background:transparent}}@media (prefers-reduced-motion:reduce){.card.just-changed{animation:none}}a.button{display:inline-block;padding:8px 14px;border-radius:6px;border:1px solid var(--line);text-decoration:none;font-size:14px}a.button.secondary{background:var(--panel)}:root{--ok-bg:#16251a}