:root{
  --bg:#0b0f14; --panel:#0f1620; --panel2:#111b26;
  --txt:#e8eef6; --muted:#a9b7c7;
  --ok:#22c55e; --no:#ef4444; --na:#64748b;
  --accent:#60a5fa; --warn:#f59e0b;
  --border:rgba(255,255,255,.10);
}
*{box-sizing:border-box}
body{
  margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  background:linear-gradient(180deg,#070a0f 0%, #0b0f14 100%);
  color:var(--txt);
}
.wrap{max-width:980px; margin:0 auto; padding:18px 16px;}
.top{position:sticky; top:0; z-index:50; background:rgba(11,15,20,.92); backdrop-filter: blur(10px); border-bottom:1px solid var(--border);}
h1{font-size:18px; margin:0 0 6px}
.sub{margin:0 0 12px; color:var(--muted); font-size:13px}
.toolbar{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:10px 0}
.pill{font-size:12px; padding:6px 10px; border:1px solid var(--border); border-radius:999px; background:rgba(255,255,255,.04)}
.controls{display:flex; gap:10px; flex-wrap:wrap; margin:10px 0}
.final{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:10px 0 4px}
.final-msg{font-size:13px; color:var(--muted)}
.btn{
  border:1px solid var(--border); background:rgba(255,255,255,.06); color:var(--txt);
  padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:600; font-size:13px;
}
.btn:hover{border-color:rgba(255,255,255,.25)}
.btn.ghost{background:transparent}
.btn.danger{background:rgba(239,68,68,.12); border-color:rgba(239,68,68,.35)}
.btn.finish{background:rgba(96,165,250,.14); border-color:rgba(96,165,250,.40)}
.legend{
  border:1px solid var(--border); background:rgba(255,255,255,.03); border-radius:14px;
  padding:10px 12px; display:grid; gap:8px; margin:12px 0 16px;
}
.leg-item{display:flex; align-items:center; gap:10px; color:var(--muted); font-size:13px}
.dot{width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.20)}
.dot.ok{background:var(--ok)} .dot.no{background:var(--no)} .dot.na{background:var(--na)}
.jump{
  display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px;
}
.jump a{
  text-decoration:none; color:var(--muted); border:1px solid var(--border); padding:5px 8px;
  border-radius:10px; font-size:12px; background:rgba(255,255,255,.03)
}
.jump a:hover{color:var(--txt); border-color:rgba(255,255,255,.25)}
.q{
  border:1px solid var(--border); border-radius:16px; padding:14px 14px 12px;
  background:rgba(255,255,255,.03); margin:0 0 14px;
}
.q h3{margin:0 0 12px; font-size:14px; line-height:1.45}
.meta{display:flex; gap:10px; flex-wrap:wrap; margin:-4px 0 10px}
.badge{font-size:12px; color:var(--muted); border:1px solid var(--border); padding:4px 8px; border-radius:999px; background:rgba(255,255,255,.03)}
.opts{display:grid; gap:8px; margin:10px 0 12px}
label.opt{
  display:flex; gap:10px; align-items:flex-start;
  border:1px solid var(--border); background:rgba(255,255,255,.02);
  padding:10px 10px; border-radius:12px; cursor:pointer;
}
label.opt:hover{border-color:rgba(255,255,255,.25)}
label.opt input{margin-top:2px}
label.opt.ok{border-color:rgba(34,197,94,.55); background:rgba(34,197,94,.12)}
label.opt.no{border-color:rgba(239,68,68,.55); background:rgba(239,68,68,.12)}
label.opt.na{border-color:rgba(100,116,139,.55); background:rgba(100,116,139,.12)}
.comment{
  display:none; margin-top:10px; padding:10px 12px; border-radius:12px;
  border:1px dashed var(--border); background:rgba(255,255,255,.02); color:var(--txt);
}
.comment p{margin:0 0 8px; font-size:13px; color:var(--muted)}
.comment .g{color:var(--txt); font-weight:800}
.foot{display:flex; gap:10px; align-items:center; justify-content:flex-start; flex-wrap:wrap; margin:16px 0 40px}
.mini{margin:0; color:var(--muted); font-size:12px}
.small{font-size:12px; color:var(--muted)}
