/* NREMT lesson pages (scripts/build-nremt-lessons.mjs). The same layout as the
   A&P and ochem lessons: a rail with the parts on the left, one part at a time
   in a card, Previous and Continue under it. Tokens come from assets/theme.css. */
.nl{max-width:1120px;margin:0 auto;padding:18px clamp(16px,4vw,56px) 40px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start;}
.nl-rail{position:sticky;top:calc(var(--site-header-h,96px) + 16px);display:grid;gap:12px;}
.nl-k{font:900 12px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);margin:0;}
.nl-links{margin:0;font:800 14px var(--font-ui);}
.nl-links a{color:var(--accent-text);}
.nl-prog{display:grid;gap:6px;}
.nl-track{height:6px;border-radius:9px;background:var(--line);overflow:hidden;}
.nl-fill{height:100%;width:0;background:var(--accent);transition:width .2s ease;}
.nl-count{font:800 12.5px var(--font-ui);color:var(--muted);}
.nl-steps{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.nl-steps a{display:flex;gap:10px;align-items:center;padding:7px 10px;border-radius:10px;text-decoration:none;color:var(--muted);font:700 14px var(--font-ui);}
.nl-steps a:hover{background:var(--hover-tint,rgba(0,0,0,.04));color:var(--ink);}
.nl-steps .n{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border-radius:50%;border:2px solid var(--line);font:900 12px var(--font-ui);}
.nl-steps li.done .n{background:var(--tint-accent);border-color:var(--accent);color:var(--accent-text);}
.nl-steps li.current a{background:var(--white,#fff);color:var(--ink);box-shadow:var(--lift-sm);}
.nl-steps li.current .n{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff);}
.nl-main{min-width:0;}
.nremt-ls-hero{margin:8px 0 18px;}
.nl-eyebrow{font:900 12.5px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);margin:0 0 6px;}
.nremt-ls-hero h1{font:900 clamp(30px,4vw,46px)/1.05 var(--font-display,var(--font-ui));letter-spacing:-.03em;margin:0;color:var(--ink);}
.nl-card{background:var(--white,#fff);border:1px solid var(--line);border-radius:20px;padding:26px clamp(18px,3vw,32px);box-shadow:var(--lift-sm);}
.nl-part{scroll-margin-top:calc(var(--site-header-h,96px) + 16px);}
.nl-part + .nl-part{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);}
.nl-stepped .nl-part{display:none;}
.nl-stepped .nl-part.is-on{display:block;margin:0;padding:0;border:0;}
.nl-part-k{font:800 12px var(--font-ui);color:var(--muted);margin:0 0 4px;text-transform:uppercase;letter-spacing:.05em;}
.nl-part h2{font:900 clamp(21px,2.4vw,27px)/1.2 var(--font-display,var(--font-ui));letter-spacing:-.02em;margin:0 0 14px;color:var(--ink);outline:none;}
.nl-body{font-size:16px;line-height:1.65;color:var(--ink);}
.nl-body p{margin:0 0 12px;}
.nl-chain{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:nl;}
.nl-chain li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;counter-increment:nl;}
.nl-chain span{padding:12px 14px;font-size:15px;line-height:1.55;}
.nl-chain b{display:block;font:900 11.5px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;margin:0 0 3px;}
.nl-find{background:var(--paper);}
.nl-find b{color:var(--muted);}
.nl-find b::before{content:counter(nl) ". ";}
.nl-act{background:var(--tint-accent);}
.nl-act b{color:var(--accent-text);}
.nl-ideas{margin:0;padding-left:20px;display:grid;gap:8px;}
.nl-wrong,.nl-right{border-radius:12px;padding:12px 14px;}
.nl-wrong{background:var(--tint-bad);}
.nl-right{background:var(--tint-good);}
.nl-qs{display:grid;gap:20px;}
.nl-q-stem{font-weight:800;margin:0 0 10px;}
.nl-q-n{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:var(--ink);color:var(--paper);font:900 12px var(--font-ui);vertical-align:2px;}
.nl-q-opts{display:grid;gap:8px;}
.nl-opt{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;min-height:44px;padding:10px 14px;border:2px solid var(--line);border-radius:12px;background:var(--white,#fff);color:var(--ink);font:700 15px/1.45 var(--font-ui);cursor:pointer;}
.nl-opt:hover:not(:disabled){border-color:var(--accent);}
.nl-opt:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
.nl-opt:disabled{cursor:default;}
.nl-opt-l{font-weight:900;color:var(--muted);flex-shrink:0;}
.nl-opt.is-correct{border-color:var(--good);background:var(--tint-good);}
.nl-opt.is-picked{border-color:var(--bad);background:var(--tint-bad);}
.nl-q-why{margin:10px 0 0;padding:10px 14px;border-radius:12px;background:var(--paper);font-size:15px;}
.nl-q.is-right .nl-q-why b{color:var(--good-text);}
.nl-q.is-wrong .nl-q-why b{color:var(--bad-text);}
.nl-done{margin:16px 0 0;font-weight:700;}
.nl-next{font:900 16px var(--font-ui);color:var(--accent-text);}
.nl-actions{display:flex;align-items:center;gap:12px;margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line);}
.nl-actions[hidden]{display:none;}
.nl-hint{flex:1;font:700 13.5px var(--font-ui);color:var(--muted);text-align:right;}
.nl-back,.nl-go{min-height:44px;padding:0 18px;border-radius:12px;font:900 15px var(--font-ui);cursor:pointer;}
.nl-back{background:none;border:2px solid var(--line);color:var(--ink);}
.nl-go{margin-left:auto;background:var(--gold,#FFD23F);border:0;color:var(--gold-ink,#0B1A33);}
.nl-hint:empty + .nl-go{margin-left:auto;}
.nl-go:disabled{opacity:.5;cursor:not-allowed;}
.nl-back[hidden],.nl-go[hidden]{display:none;}
.nl-disclaimer{font-size:13.5px;color:var(--muted);margin:16px 0 0;}
@media (prefers-reduced-motion:reduce){.nl-fill{transition:none;}}
@media (max-width:860px){
  .nl{grid-template-columns:minmax(0,1fr);gap:14px;}
  .nl-rail{position:static;}
  .nl-steps{display:flex;overflow-x:auto;gap:6px;padding-bottom:4px;}
  .nl-steps a{white-space:nowrap;}
  .nl-steps .t{display:none;}
  .nl-steps li.current .t{display:inline;}
  .nl-chain li{grid-template-columns:minmax(0,1fr);}
  .nl-hint{display:none;}
}
