/* Godbole Medical Academy — brand tokens.
   Sampled directly from the Surgery 2.0 cover:
     cream #F6F0E4 · navy #1E2B4B · gold #BFA34F
   Dark mode uses the deeper navy from anandgodbole.com (#071628). */
:root{
  --ground:#F6F0E4; --surface:#FFFDF8; --surface-2:#EFE7D6; --sunk:#E4DAC5;
  --ink:#1E2B4B; --ink-2:#4A5673; --ink-3:#8A8574;
  --line:#DDD2BB; --line-2:#C9BB9E;
  --navy:#1E2B4B; --navy-wash:#E7E9F0;
  --gold:#A9873A; --gold-bright:#BFA34F; --gold-wash:#F4EAD1;
  --good:#3E6B4F; --good-wash:#E4EDE4;
  --bad:#9C3535; --bad-wash:#F6E3DF;
  --brand:#1E2B4B; --brand-ink:#F6F0E4; --brand-dim:#A9B2C6;
  --on-accent:#FFFDF8;
  --r:14px; --r-sm:10px;
  --shadow:0 1px 2px rgba(30,43,75,.06), 0 10px 30px -14px rgba(30,43,75,.28);
  --shadow-lg:0 2px 4px rgba(30,43,75,.07), 0 24px 50px -20px rgba(30,43,75,.36);
  --display:"Bricolage Grotesque","Public Sans",system-ui,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --read:"Newsreader",Georgia,serif;
  --ui:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono","SF Mono",Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#071628; --surface:#0E2138; --surface-2:#152A45; --sunk:#0A1B2E;
    --ink:#EDE6D6; --ink-2:#B3BDD0; --ink-3:#8996AB;
    --line:#213551; --line-2:#2E4463;
    --navy:#C6D2E8; --navy-wash:#14263D;
    --gold:#D9BB6A; --gold-bright:#E8CD86; --gold-wash:#2E2513;
    --good:#5FBF8A; --good-wash:#10301F;
    --bad:#E97F73; --bad-wash:#3A1714;
    --brand:#050F1D; --brand-ink:#F0E9D9; --brand-dim:#93A2B8;
    --on-accent:#071628;
    --shadow:0 1px 2px rgba(0,0,0,.45), 0 10px 30px -14px rgba(0,0,0,.75);
    --shadow-lg:0 2px 4px rgba(0,0,0,.5), 0 24px 50px -20px rgba(0,0,0,.85);
  }
}
:root[data-theme="dark"]{
  --ground:#071628; --surface:#0E2138; --surface-2:#152A45; --sunk:#0A1B2E;
  --ink:#EDE6D6; --ink-2:#B3BDD0; --ink-3:#8996AB;
  --line:#213551; --line-2:#2E4463;
  --navy:#C6D2E8; --navy-wash:#14263D;
  --gold:#D9BB6A; --gold-bright:#E8CD86; --gold-wash:#2E2513;
  --good:#5FBF8A; --good-wash:#10301F;
  --bad:#E97F73; --bad-wash:#3A1714;
  --brand:#050F1D; --brand-ink:#F0E9D9; --brand-dim:#93A2B8;
  --on-accent:#071628;
  --shadow:0 1px 2px rgba(0,0,0,.45), 0 10px 30px -14px rgba(0,0,0,.75);
  --shadow-lg:0 2px 4px rgba(0,0,0,.5), 0 24px 50px -20px rgba(0,0,0,.85);
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;padding:0}
body{
  background:var(--ground); color:var(--ink); font-family:var(--ui);
  -webkit-font-smoothing:antialiased; min-height:100vh;
}
:focus-visible{outline:2.5px solid var(--navy);outline-offset:3px;border-radius:6px}
button,input,select{font:inherit;color:inherit}
a{color:var(--navy)}

.topbar{background:var(--brand);color:var(--brand-ink);position:relative;overflow:hidden}
.topbar::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(90% 130% at 88% -20%, rgba(191,163,79,.20), transparent 62%);
}
.topbar-in{position:relative;max-width:520px;margin:0 auto;padding:20px 22px}
.brandline{display:flex;align-items:center;gap:11px;font-size:.7rem;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;color:var(--brand-dim)}
.brandline .pulse{width:24px;height:2px;background:var(--gold);border-radius:2px;position:relative}
.brandline .pulse::after{content:"";position:absolute;right:-7px;top:-2px;width:6px;height:6px;
  border-radius:50%;background:var(--gold)}
.topbar h1{font-family:var(--display);font-weight:800;font-size:1.45rem;margin:8px 0 0;
  letter-spacing:-.025em}
.edge{height:4px;background:linear-gradient(90deg,var(--navy) 0 34%,var(--gold) 34% 47%,var(--line) 47%)}

.wrap{max-width:520px;margin:0 auto;padding:28px 22px 70px}
.card{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;
  padding:26px 24px;box-shadow:var(--shadow)}
.card h2{font-family:var(--display);font-weight:700;font-size:1.3rem;margin:0 0 6px;letter-spacing:-.02em}
.card .lede{margin:0 0 20px;color:var(--ink-2);font-size:.94rem;line-height:1.55}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}
.field label{font-size:.8rem;font-weight:600;color:var(--ink-2)}
.field input,.field select{
  border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;
  background:var(--surface);font-size:1rem;width:100%;
}
.field input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px var(--navy-wash)}
.field .hint{font-size:.78rem;color:var(--ink-3)}
.field.code input{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;
  text-align:center;font-size:1.1rem;font-weight:600}
.field.otp input{font-family:var(--mono);letter-spacing:.5em;text-align:center;
  font-size:1.4rem;font-weight:700;padding-left:.5em}
.phone-group{display:flex;gap:8px}
.phone-group .cc{
  border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 12px;
  background:var(--surface-2);font-family:var(--mono);font-weight:600;color:var(--ink-2);
  display:grid;place-items:center;flex:0 0 auto;
}

.btn{width:100%;border:1.5px solid var(--navy);background:var(--navy);color:var(--on-accent);
  border-radius:var(--r-sm);padding:13px 18px;font-weight:700;font-size:.98rem;cursor:pointer;
  transition:filter .15s,transform .08s}
.btn:hover:not(:disabled){filter:brightness(1.08)}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.sec{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.sec:hover:not(:disabled){border-color:var(--navy);color:var(--navy);filter:none}
.btn.link{background:none;border:none;color:var(--navy);width:auto;padding:6px 2px;font-weight:600;
  font-size:.88rem;text-decoration:underline;text-underline-offset:3px}

.msg{border-radius:var(--r-sm);padding:12px 14px;font-size:.9rem;margin-bottom:16px;
  border:1.5px solid var(--line);background:var(--surface-2);line-height:1.5}
.msg.err{border-color:var(--bad);background:var(--bad-wash);color:var(--bad)}
.msg.ok{border-color:var(--good);background:var(--good-wash);color:var(--good)}
.msg.info{border-color:var(--navy);background:var(--navy-wash);color:var(--navy)}

.steps{display:flex;gap:6px;margin-bottom:22px}
.steps i{flex:1;height:4px;border-radius:3px;background:var(--sunk)}
.steps i.on{background:var(--navy)}
.steps i.done{background:var(--good)}

.foot{text-align:center;margin-top:18px;font-size:.86rem;color:var(--ink-3)}
.foot a{font-weight:600}

.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:20px}
.stat{background:var(--surface-2);border-radius:var(--r-sm);padding:12px 14px}
.stat .k{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);font-weight:700}
.stat .v{font-family:var(--mono);font-weight:700;font-size:1.1rem;margin-top:3px;
  font-variant-numeric:tabular-nums}
.stat .v.good{color:var(--good)} .stat .v.warn{color:var(--gold)} .stat .v.bad{color:var(--bad)}

.device{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.device:last-child{border-bottom:none}
.device .d-body{flex:1;min-width:0}
.device .d-name{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.device .d-meta{font-size:.75rem;color:var(--ink-3);font-family:var(--mono)}
.device button{background:none;border:1.5px solid var(--line);border-radius:8px;padding:5px 11px;
  font-size:.78rem;cursor:pointer;color:var(--ink-3)}
.device button:hover{border-color:var(--bad);color:var(--bad)}

.spinner{display:inline-block;width:15px;height:15px;border:2.5px solid currentColor;
  border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;
  vertical-align:-2px;margin-right:7px}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ── footer ── */
footer{max-width:520px;margin:0 auto;padding:8px 22px 48px;color:var(--ink-3);
  font-size:.78rem;text-align:center;line-height:1.7}
footer p{margin:0 0 4px}
footer a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line-2)}
footer a:hover{color:var(--gold)}
footer .f-line{font-family:var(--read);font-style:italic;font-size:.94rem;color:var(--ink-2);
  max-width:46ch;margin:0 auto 12px;line-height:1.6}
.wide + footer, footer.wide{max-width:900px}

/* ── opening / storyteller line under a page title ── */
.prelude{font-family:var(--read);font-style:italic;font-size:1rem;line-height:1.6;
  color:var(--brand-dim);margin:10px 0 0;max-width:52ch}

/* ── inline epigraph card ── */
.note{border:1.5px solid var(--line);border-left:4px solid var(--gold);background:var(--surface-2);
  border-radius:var(--r-sm);padding:14px 16px;margin:0 0 20px}
.note p{font-family:var(--read);font-size:.97rem;line-height:1.6;margin:0;color:var(--ink-2)}
.note cite{display:block;margin-top:8px;font-style:normal;font-family:var(--mono);font-size:.66rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--gold);font-weight:700}
