:root{--bg:#0f1115;--card:#171a21;--line:#262b36;--fg:#e6e8ee;--muted:#8b93a7;--acc:#f0a500;--good:#3ecf8e;--bad:#ff5c5c;--warn:#ffb020}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--acc)}code{background:#0b0d11;padding:2px 6px;border-radius:4px;font-size:.92em}
header.top{display:flex;gap:24px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line)}
.brand{font-weight:700;color:var(--fg);text-decoration:none}nav a{color:var(--muted);text-decoration:none;margin-right:16px}nav a.on{color:var(--fg)}
.who{margin-left:auto;color:var(--muted);font-size:.9em}
main{max-width:920px;margin:0 auto;padding:20px 16px 60px}footer{text-align:center;color:var(--muted);font-size:.85em;padding:20px}
h1{font-size:1.6em;margin:.2em 0}.lead{font-size:1.1em}.muted{color:var(--muted)}.good{color:var(--good)}.bad{color:var(--bad)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:14px 0}
.card.warn{border-color:var(--warn)}
.copy{display:flex;gap:8px;align-items:center}.copy code{flex:1;padding:10px 12px;font-size:1.05em;overflow-x:auto}
button{background:var(--acc);color:#111;border:0;border-radius:6px;padding:8px 14px;font-weight:600;cursor:pointer}
button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}button.link{background:none;color:var(--acc);padding:0;font-weight:400}
form.inline{display:inline}
.drill header{display:flex;gap:12px;align-items:center}.drill h3{margin:0;flex:1}.num{background:var(--line);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:700}
.status{font-size:.8em;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:99px;background:var(--line);color:var(--muted)}
.drill.active{border-color:var(--acc)}.drill.active .status{background:var(--acc);color:#111}.drill.done{opacity:.7}.drill.done .status,.status.done{background:var(--good);color:#111}
.status.failed{background:var(--bad);color:#111}.drill.skipped{opacity:.5}
.why{color:#c9cfdb;margin:10px 0;font-size:.95em}.target{margin:6px 0}.live{font-family:ui-monospace,monospace;color:var(--acc);min-height:1.2em}
.drill footer{display:flex;gap:8px;padding:8px 0 0;text-align:left}
.metrics .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.metrics .grid div{background:#0b0d11;border-radius:8px;padding:10px}.metrics b{display:block;font-size:1.5em}.metrics span{color:var(--muted);font-size:.85em}
table.list{width:100%;border-collapse:collapse}table.list td,table.list th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}
.finding .kind{font-size:.75em;text-transform:uppercase;color:var(--acc);display:block}.finding p{margin:4px 0 0}
body.center{display:grid;place-items:center;height:100vh}.login{display:flex;flex-direction:column;gap:10px;min-width:280px}.login input{padding:10px;border-radius:6px;border:1px solid var(--line);background:#0b0d11;color:var(--fg)}
.charts .chart{margin:10px 0}.charts svg{width:100%;height:120px;background:var(--card);border-radius:8px}
