/* ─── Emergency Medicine Academy — design system ─────────────────────── */
@font-face{font-family:'Fraunces';src:url('/fonts/fraunces-var.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Inter';src:url('/fonts/inter-var.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  color-scheme:light dark;
  --bg:#eef2f8;--bg-2:#e4ebf4;
  --panel:#ffffff;--panel-2:#f7fafd;
  --ink:#0f1a2b;--muted:#5c6a80;
  --brand:#123a5f;--brand-2:#0f8b8d;--gold:#b8892f;
  --accent:#0e6ba8;--accent-soft:#e3eefb;
  --line:#dfe6ef;--line-strong:#c9d4e2;
  --green:#1d7a4d;--red:#b3382e;--amber:#b8760f;
  --shadow-1:0 1px 2px rgba(16,32,54,.05),0 8px 24px rgba(16,32,54,.07);
  --shadow-2:0 2px 4px rgba(16,32,54,.06),0 18px 44px rgba(16,32,54,.13);
  --radius:18px;
  --font-body:'Inter',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:'Fraunces',"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
}
@media(prefers-color-scheme:dark){:root{
  --bg:#0a101c;--bg-2:#0e1626;
  --panel:#131c2e;--panel-2:#182338;
  --ink:#e8eef8;--muted:#93a2b8;
  --brand:#7fb6d9;--brand-2:#43b8ba;--gold:#d9b45c;
  --accent:#6aa8ff;--accent-soft:#1d3050;
  --line:#243048;--line-strong:#33425c;
  --shadow-1:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35);
  --shadow-2:0 2px 6px rgba(0,0,0,.5),0 22px 60px rgba(0,0,0,.5);
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);font:16.5px/1.6 var(--font-body);
  background:var(--bg);
  min-height:100vh;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1100px 500px at 85% -10%, color-mix(in srgb,var(--brand-2) 9%,transparent), transparent 60%),
    radial-gradient(900px 480px at -10% 20%, color-mix(in srgb,var(--brand) 8%,transparent), transparent 55%),
    linear-gradient(var(--bg),var(--bg-2));
}
/* type */
.display{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;line-height:1.12}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-2)}
.muted{color:var(--muted)}
/* nav */
.navbar{max-width:1080px;margin:18px auto 0;padding:10px 18px;display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap;background:color-mix(in srgb,var(--panel) 82%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-1)}
.navbar .links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.navbar a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92em;opacity:.85}
.navbar a:hover{opacity:1;color:var(--accent)}
.navbar .who{color:var(--muted);font-size:.86em}
/* brand */
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand .mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),var(--shadow-1);flex:none}
.brand .mark svg{display:block}
.brand .word{line-height:1.15}
.brand .word b{display:block;font-family:var(--font-display);font-size:1.06rem;letter-spacing:.01em}
.brand .word span{display:block;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
/* buttons */
.btn{font:600 1rem var(--font-body);border:none;border-radius:12px;padding:13px 24px;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 2px 5px rgba(10,40,60,.25),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 6px 16px rgba(10,40,60,.3)}
.btn-primary:disabled{opacity:.55;transform:none;cursor:default}
.btn-ghost{background:transparent;border:1px solid var(--line-strong);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
/* cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}
.card-pad{padding:28px}
.card-hover{transition:transform .18s,box-shadow .18s,border-color .18s}
.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--brand-2) 45%,var(--line))}
/* badges */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.chip-green{background:color-mix(in srgb,var(--green) 13%,transparent);color:var(--green)}
.chip-blue{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}
.chip-gold{background:color-mix(in srgb,var(--gold) 15%,transparent);color:var(--gold)}
.chip-dim{background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}
/* forms */
.field label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.02em;margin:14px 0 6px;color:var(--ink)}
.field input{width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line-strong);border-radius:11px;background:var(--panel-2);color:var(--ink);transition:border-color .15s,box-shadow .15s}
.field input:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 22%,transparent)}
/* tables */
.tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:.92em}
.tbl th{background:color-mix(in srgb,var(--brand) 7%,var(--panel-2));text-align:left;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:11px 14px;border-bottom:1px solid var(--line-strong)}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--line)}
.tbl tbody tr:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.tbl tr:first-child th:first-child{border-top-left-radius:12px}
.tbl tr:first-child th:last-child{border-top-right-radius:12px}
/* status colors */
.pass{color:var(--green);font-weight:700}
.fail{color:var(--red);font-weight:700}
/* ecg divider */
.ecg{display:block;width:100%;height:34px;margin:6px 0}
.ecg path{stroke:color-mix(in srgb,var(--brand-2) 65%,var(--line));stroke-width:2;fill:none}
/* animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fade{animation:fadeUp .55s cubic-bezier(.2,.7,.3,1) both}
.d1{animation-delay:.07s}.d2{animation-delay:.14s}.d3{animation-delay:.21s}.d4{animation-delay:.28s}.d5{animation-delay:.35s}
@media(prefers-reduced-motion:reduce){.fade{animation:none}}
/* layout */
.wrap{max-width:1080px;margin:auto;padding:0 18px 90px}
footer.site{max-width:1080px;margin:60px auto 0;padding:22px 18px;color:var(--muted);font-size:.84rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.hidden{display:none!important}
