@font-face{font-family:'Archivo';src:url('fonts/archivo.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --bg:#0d1522; --card:#16202f; --card-edge:#24344c; --text:#eef2f7; --muted:#9db0c5;
  --gold:#e3b341; --gold-dim:#8a6d24; --ok:#4caf7d; --bad:#e05c5c; --warn:#e08a3c; --ink:#0a101b;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.5;padding:16px;max-width:820px;margin:0 auto}
h1,h2,h3{font-family:'Archivo','Inter',system-ui,sans-serif;letter-spacing:-.01em}
a{color:var(--gold)}
/* header */
.top{display:flex;align-items:center;gap:12px;padding:6px 0 2px}
.back{background:var(--card);color:var(--gold);border:1px solid var(--card-edge);border-radius:10px;width:40px;height:40px;font-size:1.1rem;cursor:pointer;flex:0 0 auto}
.brand h1{font-size:1.35rem;color:var(--gold);line-height:1.2}
.brand p{color:var(--muted);font-size:.85rem}
.progress-wrap{background:var(--ink);border:1px solid var(--card-edge);border-radius:999px;height:8px;margin-top:10px;overflow:hidden}
.progress-bar{background:var(--gold);height:100%;width:0;transition:width .3s ease}
.benefit{margin-top:12px;text-align:center;font-size:1.02rem;font-weight:600}
.app{min-height:40vh}
.foot{text-align:center;color:var(--muted);padding:26px 0 12px}
.fine{color:var(--muted);font-size:.85rem;margin-top:10px}
/* cards & layout */
.card{display:block;background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:18px;margin-top:16px;color:var(--text);text-decoration:none}
a.card:hover{border-color:var(--gold-dim)}
.card h2{font-size:1.15rem;margin-bottom:8px}
.card h3{font-size:1.05rem;margin-bottom:6px}
.card h4{margin-top:14px;font-size:.95rem;color:var(--gold)}
.card p{margin-top:6px}
.card ul{margin:8px 0 0 18px}
.card li{margin-top:4px}
.sec{font-size:.85rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin-top:26px}
.grid{display:grid;gap:0}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr;gap:0 14px}}
.hero{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:18px;margin-top:16px}
.state-card{border-color:var(--gold-dim)}
.unit-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.unit-code{color:var(--gold);font-weight:700;letter-spacing:1px;font-size:.85rem}
.badge{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.5px;padding:2px 8px;border-radius:999px;background:var(--ink);border:1px solid var(--card-edge);color:var(--muted);text-transform:uppercase}
.badge.done{color:#14100a;background:var(--gold);border-color:var(--gold)}
.meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.85rem;margin-top:10px}
/* stats */
.stat-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.stat{flex:1;min-width:100px;background:var(--ink);border:1px solid var(--card-edge);border-radius:12px;padding:12px;text-align:center}
.stat strong{display:block;font-size:1.25rem;font-weight:800;color:var(--gold)}
.stat span{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.progress-line{background:var(--ink);border:1px solid var(--card-edge);border-radius:999px;height:10px;margin-top:12px;overflow:hidden}
.progress-line>div{background:var(--gold);height:100%;transition:width .3s ease}
/* buttons & chips */
.btn{display:inline-block;background:var(--gold);color:#14100a;font-weight:700;border:none;border-radius:10px;padding:10px 16px;font-size:.95rem;cursor:pointer;text-decoration:none}
.btn.alt{background:transparent;color:var(--gold);border:1px solid var(--gold-dim)}
.btn.warn{background:transparent;color:var(--warn);border:1px solid var(--warn)}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.chips{margin-top:8px}
.chip{display:inline-block;font-size:.8rem;padding:3px 9px;border-radius:999px;background:var(--ink);border:1px solid var(--card-edge);color:var(--text);margin:0 6px 6px 0}
/* lessons */
.lesson p{margin-top:10px}
.lesson h3{margin-top:16px;font-size:1.08rem;color:var(--gold)}
.lesson h4{margin-top:14px}
/* runner */
.run-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.timer{font-weight:800;font-size:1.15rem;color:var(--gold);font-variant-numeric:tabular-nums}
.runner h3{font-size:1.15rem;line-height:1.45;margin-top:12px}
.opts{margin-top:14px;display:grid;gap:10px}
.opt{display:block;text-align:left;width:100%;background:var(--ink);border:1px solid var(--card-edge);color:var(--text);border-radius:12px;padding:12px 14px;font-size:1rem;cursor:pointer}
.opt:hover{border-color:var(--gold-dim)}
.opt.picked{border-color:var(--gold);background:#1d2a3f}
.opt.correct{border-color:var(--ok);background:#123324}
.opt.wrong{border-color:var(--bad);background:#3a1d1d}
.opt:disabled{cursor:default;opacity:.95}
.why{margin-top:12px;background:var(--ink);border:1px solid var(--card-edge);border-left:4px solid var(--gold);border-radius:10px;padding:12px 14px;font-size:.95rem}
.warn-text{color:var(--warn);font-weight:700;margin-top:8px}
/* report */
.scores{width:100%;border-collapse:collapse;margin-top:14px;font-size:.92rem}
.scores th,.scores td{border-bottom:1px solid var(--card-edge);padding:7px 8px;text-align:left}
.scores th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:1px}
.rev{border:1px solid var(--card-edge);border-left:4px solid var(--bad);border-radius:10px;padding:12px 14px;margin-top:12px;background:var(--ink)}
.rev.ok{border-left-color:var(--ok)}
.rev p{margin-top:6px}
@media print{body{background:#fff;color:#000}.card,.hero{border-color:#bbb;background:#fff}.btn,.top .back{display:none}}
