:root{
  --bg:#0f172a; /* slate-900 */
  --card:#111827; /* gray-900 */
  --text:#e5e7eb; /* gray-200 */
  --muted:#94a3b8; /* slate-400 */
  --accent:#22d3ee; /* cyan-400 */
  --accent-2:#38bdf8; /* sky-400 */
  --btn:#1f2937; /* gray-800 */
  --success:#10b981; /* emerald-500 */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text); background:radial-gradient(1200px 800px at 50% 0%, #0b1220, var(--bg));
}
.topbar{padding:24px 16px; text-align:center}
h1{margin:0 0 4px; font-weight:700}
.subtitle{margin:0; color:var(--muted)}
.card{
  max-width:720px; margin:16px auto; padding:20px;
  background:linear-gradient(180deg, #0f172a, #0b1220);
  border:1px solid #1f2937; border-radius:16px; box-shadow:0 20px 40px rgba(0,0,0,.35);
}
.row{
  display:flex; gap:12px; align-items:center; justify-content:space-between; margin:14px 0;
  flex-wrap:wrap;
}
.row.small{margin-top:4px}
label{display:flex; align-items:center; gap:12px}
label>span{min-width:120px; color:var(--muted)}
input[type="range"]{width:240px}
select{background:var(--btn); color:var(--text); border:1px solid #293241; border-radius:8px; padding:8px}
.primary,.secondary{
  border:1px solid #293241; border-radius:12px; padding:10px 14px; cursor:pointer; font-weight:600;
  background:var(--btn); color:var(--text);
}
.primary{border-color:#134e4a; background:linear-gradient(180deg,#0f766e,#115e59)}
.primary:disabled,.secondary:disabled{opacity:.5; cursor:not-allowed}
.checkbox{display:flex; align-items:center; gap:8px; color:var(--muted)}
.progress{height:10px; background:#1f2937; border-radius:999px; overflow:hidden; margin:8px 0 0}
.progress-bar{height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.hint{color:var(--muted); font-size:.9rem; margin-top:8px}
.footer{max-width:720px; margin:0 auto; padding:24px 16px; color:var(--muted); text-align:center}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
