:root{
  --bg:#0f172a;
  --panel:#111827;
  --card:#ffffff;
  --ink:#111827;
  --muted:#64748b;
  --brand:#2563eb;
  --brand2:#7c3aed;
  --soft:#eef2ff;
  --ok:#16a34a;
  --bad:#dc2626;
  --warn:#d97706;
}
*{box-sizing:border-box}
body{margin:0;background:#f8fafc;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55}
.topnav{position:sticky;top:0;z-index:10;background:#0f172a;display:flex;gap:.4rem;flex-wrap:wrap;padding:.6rem 1rem;border-bottom:3px solid #334155}
.topnav a{color:white;text-decoration:none;font-weight:700;font-size:.92rem;padding:.4rem .65rem;border-radius:.6rem}
.topnav a:hover{background:#1e293b}
.container{max-width:1180px;margin:0 auto;padding:1rem}
.hero{background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;padding:2rem;border-radius:1.2rem;margin:1rem 0 1.2rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;opacity:.9}
h1{font-size:clamp(2rem,4vw,3.4rem);margin:.2rem 0}
h2{margin-top:2rem;border-left:7px solid var(--brand);padding-left:.7rem}
h3{margin-top:1.4rem;color:#1e3a8a}
.card{background:white;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem 1.2rem;margin:1rem 0;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.kpi{border-left:6px solid var(--brand);background:white;border-radius:1rem;padding:1rem;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.badge{display:inline-block;background:var(--soft);color:#312e81;border-radius:999px;padding:.15rem .55rem;font-weight:800;font-size:.8rem}
.formula{background:#0f172a;color:#e0f2fe;border-radius:.8rem;padding:.85rem 1rem;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin:.8rem 0}
.warn{border-left:6px solid var(--warn);background:#fff7ed}
.ok{border-left:6px solid var(--ok);background:#f0fdf4}
.bad{border-left:6px solid var(--bad);background:#fef2f2}
table{border-collapse:collapse;width:100%;margin:1rem 0;background:white}
th,td{border:1px solid #cbd5e1;padding:.55rem;text-align:left;vertical-align:top}
th{background:#e0e7ff}
code{background:#e2e8f0;padding:.1rem .25rem;border-radius:.25rem}
details{background:white;border:1px solid #cbd5e1;border-radius:.8rem;padding:.8rem 1rem;margin:.8rem 0}
summary{font-weight:800;cursor:pointer;color:#1d4ed8}
.quiz button{background:#2563eb;color:white;border:0;padding:.55rem .75rem;border-radius:.6rem;font-weight:700;cursor:pointer}
.hidden{display:none}
footer{margin:3rem 0;color:#64748b}
