:root{
  --bg:#0f1220;
  --card:#171a2b;
  --text:#e6e8f0;
  --muted:#9aa3b2;
  --primary:#6c8cff;
  --danger:#ff6b6b;
  --accent:#22c55e;
  --border:#262b42;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(1200px 800px at 80% -200px, #243 0%, transparent 60%),
             radial-gradient(1000px 700px at -200px 50%, #223 0%, transparent 60%),
             var(--bg);
  color:var(--text);
}
.container{
  max-width:1100px;
  margin:0 auto;
  padding:32px 20px 60px;
}
header h1{margin:0 0 6px;font-size:38px;letter-spacing:.5px}
.subtitle{margin:0 0 18px;color:var(--muted)}
.controls .control-row{display:flex;gap:12px;align-items:center;margin-bottom:16px}
button{appearance:none;border:1px solid var(--border);background:var(--card);color:var(--text);padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .05s ease,background .2s}
button:hover{transform:translateY(-1px)}
button:disabled{opacity:.5;cursor:not-allowed}
button.primary{background:linear-gradient(180deg, #7b96ff, #5a78ff);border-color:#4a5fe0;color:white}
button.danger{background:linear-gradient(180deg, #ff8585, #ff6b6b);border-color:#e14c4c;color:white}
.badge{padding:6px 10px;border-radius:999px;border:1px solid var(--border);font-size:12px}
.badge.idle{background:#1c2237}
.badge.running{background:#12351f;color:#b9f6c4;border-color:#235b37}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.card{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:14px;padding:14px;backdrop-filter:blur(2px)}
.card h3{margin:0 0 10px}
label{display:flex;flex-direction:column;gap:6px;margin:8px 0}
label input, label select{background:#0f1324;color:var(--text);border:1px solid var(--border);padding:8px 10px;border-radius:8px}
label.checkbox{flex-direction:row;align-items:center;gap:10px}
.hint{color:var(--muted);font-size:12px}
.warn{margin-top:10px;background:#2a1f1f;border:1px solid #4a2b2b;color:#ffb4b4;padding:8px 10px;border-radius:8px;font-size:13px}
.telemetry{margin-top:22px}
.stats{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:10px;color:var(--muted)}
.gl{width:100%;max-height:400px;border:1px solid var(--border);border-radius:10px;background:#000}
.log{margin-top:10px;background:#0b0e1a;border:1px solid var(--border);border-radius:10px;padding:10px;max-height:220px;overflow:auto;color:#c7d2fe}
