/* Nurse Dojo lesson kit. Same engine and layout as the CRNA Dojo lessons, in Nurse Dojo colors and type. */

:root{
  --ground:#F4F2EC; --surface:#FFFFFF; --surface-2:#ECE9E1; --ink:#0F1720; --muted:#3D4757; --faint:#4A5563;
  --line:#DCD8CD; --accent:#0B6E99; --accent-ink:#FFFFFF; --accent-soft:#DDEEF6;
  --navy:#1E2D50; --coral:#C2410C; --coral-soft:#FDE8DD; --gold:#F5C542;
  --good:#166534; --good-soft:#DCFCE7; --bad:#B42318; --bad-soft:#FDE4E1; --warn:#8A5A00; --warn-soft:#FBEFD5;
  --shadow:0 18px 40px rgba(20,26,38,.10);
  --mon:#F2F6FA; --mon-2:#FFFFFF; --mon-line:#D9E1EB; --mon-ink:#141A26; --mon-muted:#3D4757; --mon-green:#1E9A5F; --mon-amber:#8A5A00; --mon-red:#C4402A; --case:#FFF4EC; --case-line:#F4D3C2;
  --display:'Bebas Neue',Impact,'Arial Narrow',sans-serif; --body:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif; --mono:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--ground);color-scheme:light only}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}

.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--ground);border-bottom:1px solid var(--line)}
.topbar-in{max-width:760px;margin:0 auto;padding:12px 16px 10px;display:flex;flex-direction:column;gap:10px}
.topbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand svg{flex-shrink:0}
.brand-txt{display:flex;flex-direction:column;min-width:0}
.brand-code{font-family:var(--mono);font-size:13.5px;font-weight:700;color:var(--accent)}
.brand-title{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stepcount{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.track{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.track-fill{height:100%;width:0;background:var(--accent);border-radius:3px;transition:width .35s ease}

main{max-width:760px;margin:0 auto;padding:28px 16px 120px}
.screen{display:flex;flex-direction:column;gap:20px;animation:rise .35s ease both}
@keyframes rise{from{opacity:.001;transform:translateY(8px)}to{opacity:1;transform:none}}
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--accent)}
.h1{font-family:var(--display);font-weight:500;font-size:clamp(34px,7vw,52px);line-height:1.04;letter-spacing:-.02em;text-wrap:balance;margin:0}
.h2{font-family:var(--display);font-weight:500;font-size:clamp(28px,5.4vw,38px);line-height:1.1;letter-spacing:-.015em;text-wrap:balance;margin:0}
.h3{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.25;margin:0}
.lede{font-size:18px;color:var(--muted);max-width:62ch;margin:0}
.muted{color:var(--muted)}
.small{font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--ink)}
.chip.accent{background:var(--accent-soft);border-color:transparent;color:var(--accent)}

.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}
.card.tint{background:var(--surface-2)}
.stack{display:flex;flex-direction:column;gap:12px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}
ul.lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
ul.lines li{position:relative;padding-left:20px}
ul.lines li::before{content:"";position:absolute;left:1px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--accent);transform:rotate(45deg)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:16px}
.kv dt{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--faint);padding-top:3px}
.kv dd{margin:0}
.num{font-variant-numeric:tabular-nums}
b,strong{font-weight:600}

/* case */
.case{border-radius:18px;padding:22px;background:var(--case);color:var(--ink);display:flex;flex-direction:column;gap:14px;border:1px solid var(--case-line)}
.case-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.case-tag{font-family:var(--mono);font-size:13.5px;font-weight:700;color:var(--mon-muted)}
.case p{margin:0;font-size:17px}
.vitals{display:flex;flex-wrap:wrap;gap:8px}
.vital{font-family:var(--mono);font-size:14px;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--case-line);color:var(--ink)}
.vital em{font-style:normal;color:var(--mon-green)}

/* quick check */
.qc{display:flex;flex-direction:column;gap:12px}
.qc-label{font-family:var(--mono);font-size:13.5px;font-weight:700;color:var(--accent)}
.qc-stem{font-size:19px;font-weight:500;line-height:1.45}
.opts{display:flex;flex-direction:column;gap:9px}
.opt{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;text-align:left;padding:11px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font-size:17px;font-weight:500;transition:border-color .15s,background .15s}
.opt:hover:not([disabled]){border-color:var(--accent)}
.opt .k{width:30px;height:30px;flex-shrink:0;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:600;background:var(--surface-2);border:1px solid var(--line)}
.opt[disabled]{cursor:default}
.opt.right{border-color:var(--good);background:var(--good-soft)}
.opt.right .k{background:var(--good);color:var(--surface);border-color:var(--good)}
.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}
.opt.wrong .k{background:var(--bad);color:var(--surface);border-color:var(--bad)}
.opt.dim{opacity:.55}
.why{border-radius:12px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--line);font-size:16px}
.why .verdict{display:block;font-weight:700;margin-bottom:4px}
.why .verdict.ok{color:var(--good)}
.why .verdict.no{color:var(--bad)}

/* reveal */
.reveal{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.reveal-btn{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:15px 16px;background:none;border:0;cursor:pointer;text-align:left;font-size:17px;font-weight:600;min-height:52px}
.reveal-btn svg{flex-shrink:0;transition:transform .2s}
.reveal-btn[aria-expanded="true"] svg{transform:rotate(45deg)}
.reveal-body{padding:0 16px 16px;font-size:16px;color:var(--muted)}
.reveal-body b{color:var(--ink)}
.trap .reveal-btn::before{content:"Trap";font-family:var(--mono);font-size:13.5px;font-weight:700;padding:3px 7px;border-radius:5px;background:var(--warn-soft);color:var(--warn);flex-shrink:0}
.trap .reveal-btn span{flex-grow:1}

/* tabs */
.seg{display:inline-flex;padding:4px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);gap:4px;flex-wrap:wrap}
.seg button{border:0;background:none;padding:9px 14px;border-radius:9px;cursor:pointer;font-size:15px;font-weight:600;color:var(--muted);min-height:40px}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 0 var(--line),0 2px 8px rgba(20,26,38,.08)}

/* sorter */
.pool{display:flex;flex-wrap:wrap;gap:8px;min-height:52px}
.drug{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 14px;min-height:44px;font-size:16px;font-weight:600;cursor:pointer}
.drug[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.drug.placed{border-color:var(--good);background:var(--good-soft);color:var(--good);cursor:default}
.drug.shake{animation:shake .35s}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.bins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:480px){.bins{grid-template-columns:1fr}}
.bin{border:2px dashed var(--line);border-radius:16px;padding:14px;min-height:130px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2);cursor:pointer;text-align:left}
.bin:hover{border-color:var(--accent)}
.bin-name{font-weight:700;font-size:16px}
.bin-hint{font-size:13.5px;color:var(--faint)}
.bin .pool{min-height:0}
.toast{font-size:15px;font-weight:600;min-height:24px}
.toast.ok{color:var(--good)}.toast.no{color:var(--bad)}

.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:560px}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--faint);background:var(--surface-2)}
tr:last-child td{border-bottom:0}
td:first-child{font-weight:600}

/* match */
.match{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.match .col{display:flex;flex-direction:column;gap:8px}
.mbtn{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 14px;min-height:52px;text-align:left;font-size:16px;font-weight:600;cursor:pointer}
.mbtn small{display:block;font-weight:500;font-size:13px;color:var(--faint)}
.mbtn[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.mbtn.done{border-color:var(--good);background:var(--good-soft);cursor:default}

/* flip */
.flip{perspective:1200px;border:0;background:none;padding:0;width:100%;cursor:pointer;text-align:left}
.flip-in{position:relative;display:grid;transition:transform .6s;transform-style:preserve-3d}
.flip[aria-pressed="true"] .flip-in{transform:rotateY(180deg)}
.face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:20px;padding:26px;min-height:340px;display:flex;flex-direction:column;gap:12px}
.face.front{background:var(--case);color:var(--ink);justify-content:center;align-items:flex-start;border:1px solid var(--case-line)}
.face.back{background:var(--surface);border:1px solid var(--line);transform:rotateY(180deg)}
.mn-word{font-family:var(--display);font-size:clamp(44px,11vw,72px);font-weight:600;letter-spacing:.02em;line-height:1}
.mn-word em{font-style:normal;color:var(--mon-red)}
.mn-list{display:grid;grid-template-columns:34px 1fr;gap:6px 10px;font-size:15.5px;align-items:baseline}
.mn-list b{font-family:var(--display);font-size:24px;color:var(--coral)}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .flip[aria-pressed="true"] .flip-in{transform:none}
  .flip[aria-pressed="true"] .face.front{display:none}
  .face.back{transform:none}
  .flip:not([aria-pressed="true"]) .face.back{display:none}
}

/* results */
.ring{width:150px;height:150px}
.ring circle{fill:none;stroke-width:12}
.score-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.score-num{font-family:var(--display);font-size:52px;font-weight:600;line-height:1}
.links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:520px){.links{grid-template-columns:1fr}}
.linkcard{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);min-height:44px}
.linkcard small{font-family:var(--mono);font-size:13.5px;font-weight:700;color:var(--accent)}
.linkcard span{font-weight:600}

/* start */
.start-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:15px;color:var(--muted)}
.start-meta span{display:inline-flex;align-items:center;gap:7px}
.obj{counter-reset:o;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.obj li{counter-increment:o;position:relative;padding-left:38px;min-height:28px}
.obj li::before{content:counter(o);position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* bottom nav */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--ground);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.nav-in{max-width:760px;margin:0 auto;padding:12px 16px;display:flex;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);flex-grow:1}
.btn[disabled]{opacity:.4;cursor:default}
.hint{font-size:14px;color:var(--faint)}
/* ===== Kit components added for the full library ===== */
.shake{animation:shake .35s}
.scope-toast{font-size:15px;font-weight:600;min-height:24px}
.scope-toast.ok{color:var(--good)}.scope-toast.no{color:var(--bad)}

/* hotspot set */
.hs-info{min-height:96px}

/* sequence: tap steps in order */
.sequence{display:flex;flex-direction:column;gap:10px}
.seq-items{display:flex;flex-direction:column;gap:8px}
.seq-item{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;text-align:left;padding:10px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font-size:16px;font-weight:500}
.seq-item .seq-n{width:30px;height:30px;flex-shrink:0;border-radius:50%;border:1.5px dashed var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--faint)}
.seq-item.done{border-color:var(--good);background:var(--good-soft);cursor:default}
.seq-item.done .seq-n{border:0;background:var(--good);color:#fff}
.seq-reset{align-self:flex-start;background:none;border:0;padding:6px 0;min-height:44px;font:inherit;font-size:15px;font-weight:700;color:var(--accent);cursor:pointer}

/* rapid fire true/false */
.rapid{display:flex;flex-direction:column;gap:14px}
.rf-top{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;color:var(--faint)}
.rf-card{border-radius:16px;border:1.5px solid var(--line);background:var(--surface);padding:22px;display:flex;flex-direction:column;gap:12px;min-height:150px;justify-content:center}
.rf-q{font-family:var(--display);font-size:22px;line-height:1.3;font-weight:500}
.rf-card.ok{border-color:var(--good)}.rf-card.no{border-color:var(--bad)}
.rf-why{font-size:16px;color:var(--muted)}
.rf-why b.v-ok{color:var(--good)}.rf-why b.v-no{color:var(--bad)}
.rf-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rf-btn.t{border-color:var(--good);color:var(--good)}
.rf-btn.f{border-color:var(--bad);color:var(--bad)}
.rf-score{font-size:18px;font-weight:700}

/* fill the blanks */
.fill{display:flex;flex-direction:column;gap:12px}
.fill-line{font-size:17px;line-height:2.1}
.fill select{font:inherit;font-size:16px;font-weight:600;min-height:40px;padding:4px 30px 4px 10px;border-radius:9px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);max-width:100%}
.fill select.right{border-color:var(--good);background:var(--good-soft)}
.fill select.wrong{border-color:var(--bad);background:var(--bad-soft)}

/* calculator drill */
.calc{display:flex;flex-direction:column;gap:12px}
.calc-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.calc-in{width:140px;min-height:50px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:20px;font-weight:700;padding:6px 12px;font-variant-numeric:tabular-nums}
.calc-unit{font-weight:600;color:var(--muted)}
.calc-in.right{border-color:var(--good);background:var(--good-soft)}
.calc-in.wrong{border-color:var(--bad);background:var(--bad-soft)}

/* branching case */
.branch{display:flex;flex-direction:column;gap:14px}
.br-step{display:flex;flex-direction:column;gap:12px}
.br-prompt{font-size:18px;font-weight:500;line-height:1.45}
.br-choices{display:flex;flex-direction:column;gap:9px}
.br-choice{display:flex;gap:12px;align-items:center;width:100%;min-height:52px;text-align:left;padding:11px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font-size:16px;font-weight:500}
.br-choice.good{border-color:var(--good);background:var(--good-soft)}
.br-choice.bad{border-color:var(--bad);background:var(--bad-soft)}
.br-fb{font-size:15.5px;border-radius:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line)}
.br-go{align-self:flex-start}
.br-trail{display:flex;flex-wrap:wrap;gap:6px}
.br-trail span{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--good-soft);color:var(--good)}

/* peek: tap to uncover a value */
.peek{display:inline-block;border:0;cursor:pointer;font:inherit;font-weight:700;padding:1px 8px;border-radius:7px;background:var(--accent-soft);color:transparent;text-shadow:0 0 9px rgba(20,26,38,.55);min-height:30px;transition:color .2s,text-shadow .2s}
.peek[aria-pressed="true"]{color:var(--ink);text-shadow:none;background:var(--warn-soft)}
.peek-all{background:none;border:0;padding:6px 0;min-height:44px;font:inherit;font-size:15px;font-weight:700;color:var(--accent);cursor:pointer}

/* callouts */
.pearl{border-radius:14px;padding:14px 16px;background:var(--good-soft);font-size:16px}
.pearl b:first-child{color:var(--good)}
.warnbox{border-radius:14px;padding:14px 16px;background:var(--warn-soft);font-size:16px}
.warnbox b:first-child{color:var(--warn)}

/* generic sliders inside light panels */
.lab{background:var(--mon);border:1px solid var(--mon-line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:14px}
.lab-title{font-size:14px;font-weight:700;color:var(--mon-muted)}
.lab label{font-size:15px;font-weight:600;color:var(--muted);display:flex;justify-content:space-between;gap:10px}
.lab input[type=range]{width:100%;accent-color:var(--accent);height:32px}
.lab svg{width:100%;height:auto;display:block;background:var(--mon-2);border:1px solid var(--mon-line);border-radius:14px}
.lab .readouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.lab .ro{background:var(--mon-2);border:1px solid var(--mon-line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.lab .ro small{font-size:13px;font-weight:700;color:var(--mon-muted)}
.lab .ro b{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--mon-ink)}
.bins.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){.bins.three{grid-template-columns:1fr}}



/* ---------- Nurse Dojo brand layer ---------- */
.h1{font-weight:400;font-size:clamp(42px,9vw,62px);line-height:.98;letter-spacing:.015em;color:var(--navy)}
.h2{font-weight:400;font-size:clamp(34px,7vw,46px);line-height:1;letter-spacing:.015em;color:var(--navy)}
.h3{font-family:var(--body);font-weight:700;font-size:19px;line-height:1.3;color:var(--navy)}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.brand-code{color:var(--coral)}
.btn.primary{background:var(--coral);border-color:var(--coral);color:#fff}
.track-fill{background:var(--coral)}
.mn-word,.score-num,.rf-q{font-weight:400;letter-spacing:.02em}
.mn-word{color:var(--navy)}
.mn-list b{font-weight:400}
.rf-q{font-family:var(--body);font-weight:600;font-size:19px;letter-spacing:0}
.case{background:var(--case)}
.case-tag{color:var(--coral)}
.vital em{color:var(--coral)}
.pearl{background:var(--good-soft)}
.warnbox{background:var(--warn-soft)}
.linkcard{border-width:1.5px}
.linkcard:hover{border-color:var(--navy)}
.linkcard small{color:var(--coral);letter-spacing:.04em;text-transform:uppercase;font-size:12px}
.chip.accent{background:var(--navy);color:#fff}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.tbl-wrap table{border-collapse:collapse;width:100%;font-size:15px}
.tbl-wrap th{background:var(--navy);color:#fff;text-align:left;font-weight:600;font-size:13px;padding:9px 12px;font-family:var(--body);letter-spacing:.02em}
.tbl-wrap td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl-wrap tr:last-child td{border-bottom:0}
.tbl-wrap td:first-child{font-weight:700;color:var(--navy)}
@media (max-width:560px){
  .tbl-wrap.stack-sm table,.tbl-wrap.stack-sm tbody,.tbl-wrap.stack-sm tr,.tbl-wrap.stack-sm td{display:block;width:100%}
  .tbl-wrap.stack-sm thead{display:none}
  .tbl-wrap.stack-sm tr{border-bottom:1px solid var(--line);padding:6px 0}
  .tbl-wrap.stack-sm td{border:0;padding:3px 14px}
  .tbl-wrap.stack-sm td[data-l]:not(:first-child)::before{content:attr(data-l) ": ";font-weight:700;color:var(--accent);font-size:13px}
}
.brand-mark{width:34px;height:34px;flex-shrink:0;border-radius:9px;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font:400 19px/1 var(--display);letter-spacing:.04em}
.keep{display:flex;flex-direction:column;gap:6px}
.tbl-wrap.stack-sm table,.tbl-wrap.fit table{min-width:0}
.kv dt{color:var(--navy);font-weight:700;font-size:13px}
@media (max-width:520px){.score-wrap{flex-wrap:nowrap;gap:16px}.ring{width:104px;height:104px;flex-shrink:0}.score-num{font-size:44px}}

/* ---------- bottom nav: Back, Tools, Next ---------- */
.nav-in{gap:10px}
#prev{width:50px;padding:0;flex-shrink:0}
.tools-btn{flex-shrink:0;padding:0 16px;gap:7px;color:var(--navy);border-color:var(--navy)}
.tools-btn svg{color:var(--coral)}
#next{flex:0 1 240px;margin-left:auto;min-width:0}
@media (max-width:360px){.tools-btn{padding:0 12px}}

/* ---------- study tools sheet ---------- */
html{overscroll-behavior:none}
.tsheet{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end}
.tsheet-bg{position:absolute;inset:0;background:rgba(15,23,32,.5);animation:tsFade .2s ease both}
.tsheet-panel{position:relative;width:100%;max-width:560px;margin:0 auto;max-height:88vh;max-height:88dvh;overflow:auto;overscroll-behavior:contain;background:var(--ground);border-radius:20px 20px 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 40px rgba(15,23,32,.25);animation:tsUp .24s cubic-bezier(.2,.8,.2,1) both}
.tsheet-grab{width:44px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 10px}
.tsheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.tsheet-head .h2{font-size:34px}
.tsheet-x{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.tsheet-list{display:flex;flex-direction:column;gap:8px}
.trow{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;min-height:60px}
.trow:hover,.trow:focus-visible{border-color:var(--navy)}
.trow-ic{width:40px;height:40px;flex-shrink:0;border-radius:11px;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center}
.trow-txt{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.trow-txt b{font-size:16px;font-weight:700;color:var(--navy)}
.trow-txt small{font-size:14px;color:var(--muted);line-height:1.35}
.trow-go{color:var(--coral);flex-shrink:0}
.trow.is-next{border-color:var(--coral)}
.trow.is-next .trow-ic{background:var(--coral);color:#fff}
@keyframes tsUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes tsFade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.tsheet-bg,.tsheet-panel{animation:none}}

/* long words: never push past the screen */
.mn-list{grid-template-columns:minmax(34px,max-content) 1fr}
.mbtn,.drug,.seq-item,.opt,.trow-txt b{overflow-wrap:anywhere;hyphens:auto}
.h1,.h2,.h3{overflow-wrap:break-word;hyphens:auto}

/* "In practice now": where current guidelines differ from the classic exam answer */
.nowline{margin:0;font-size:15px;line-height:1.5;color:var(--ink);background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:10px;padding:10px 14px}
.nowline b{color:var(--accent)}
