:root{
  --bg:#0b132b; --panel:#1c2541; --soft:#223; --accent:#5bc0be; --accent2:#7dd3fc; --ok:#9cffb0; --warn:#ffd166; --bad:#ef476f; --txt:#e0e6f3;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--txt);font:18px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif}
a{color:var(--accent)}
.container{max-width:1100px;margin:0 auto;padding:16px}
.panel{background:var(--panel);border-radius:20px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.btn{appearance:none;border:0;border-radius:14px;padding:12px 16px;background:var(--accent);color:#002;font-weight:600;cursor:pointer}
.btn.alt{background:#223;color:var(--txt)}
.card{background:var(--panel);border-radius:18px;padding:14px}
.badge{display:inline-block;border-radius:999px;background:#223;padding:6px 10px;margin:4px 6px}
.progress{position:relative;height:10px;background:#1a2036;border-radius:999px;overflow:hidden}
.progress > span{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.lock{display:inline-block;padding:8px 12px;border-radius:12px;background:#223}
h1,h2{font-weight:800;letter-spacing:.2px}
small, .muted{opacity:.7}
.card .title{font-weight:700;margin-bottom:6px}
/* Confetti placeholder class */
.success{box-shadow:0 0 0 3px rgba(91,192,190,.35) inset}
