/* License-prep engine: shared look for headedin.com/ham, /drone (and the captain app if it wants it). */
:root{--bg:#F6F1E3;--card:#FFFDF7;--ink:#1E4636;--muted:#5A6B5F;--rule:#E2D9C2;--magenta:#2D6450;--signal:#D9A22B;--lamp:#F2CF6B;--tint:#EFE6CF;
  --good:#1E7A4C;--goodbg:#E3F3EA;--bad:#B3261E;--badbg:#FBE9E7;
  --display:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",sans-serif;
  font-family:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink)}
body{overflow-x:hidden;-webkit-text-size-adjust:100%}
a{color:var(--magenta);font-weight:700}
button{font:inherit;color:inherit}
.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:5;padding-top:env(safe-area-inset-top,0px)}
.top .wrap{display:flex;align-items:center;gap:10px;min-height:54px}
.top .home{color:#fff;text-decoration:none;font-family:var(--display);font-size:1.3rem;letter-spacing:.05em;background:none;border:0;padding:0;cursor:pointer}
.top .home small{color:#C9D8C8;font-size:.8em;letter-spacing:.02em;margin-left:6px}
.top .site{margin-left:auto;color:#DCE6D5;font-size:.9rem;text-decoration:none}
.wrap{max-width:720px;margin:0 auto;padding-inline:16px}
main{padding-block:18px 60px}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05;margin:0}
h1{font-size:clamp(2.4rem,9vw,3.4rem)}
h2{font-size:1.7rem;margin-bottom:8px}
p,li{line-height:1.55}
.muted{color:var(--muted)}
.card{background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:16px 18px;min-width:0}
.stack{display:grid;gap:12px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:12px;border:2px solid var(--ink);
  background:#fff;color:var(--ink);font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:.02em;cursor:pointer;text-decoration:none}
.btn.go{background:var(--signal);border-color:var(--signal);color:#fff}
.btn.dark{background:var(--ink);color:#fff}
.btn.ghost{border-color:var(--rule)}
.btn:disabled{opacity:.45;cursor:default}
.btn.wide{width:100%}
.hero{display:grid;gap:10px;margin-bottom:16px}
.hero p{margin:0;font-size:1.05rem;color:var(--muted)}
.meter{height:12px;border-radius:99px;background:var(--tint);overflow:hidden}
.meter i{display:block;height:100%;background:var(--ink);border-radius:99px;transition:width .3s}
.ready{display:grid;gap:8px}
.ready .big{font-family:var(--display);font-size:2.6rem;font-weight:700;line-height:1}
.ready .big small{font-size:1rem;color:var(--muted);font-family:inherit;font-weight:400;margin-left:6px}
.modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modes .btn{flex-direction:column;min-height:84px;text-align:center;gap:2px}
.modes .btn small{font-family:"Atkinson Hyperlegible",system-ui,sans-serif;font-weight:400;font-size:.82rem;letter-spacing:0;opacity:.85}
.topic{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--rule);cursor:pointer;background:none;border-left:0;border-right:0;border-bottom:0;text-align:left;width:100%}
.topic:first-of-type{border-top:0}
.topic b{font-weight:700}
.topic .n{color:var(--muted);font-size:.9rem}
.topic .meter{grid-column:1/-1;height:6px}
/* question */
.qhead{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.9rem;margin-bottom:8px}
.offer{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:8px 8px 8px 14px;background:var(--tint);border:1px solid var(--rule);border-radius:12px;line-height:1.3}
.offer span{flex:1;min-width:0}
.offer .btn{flex:none;min-height:40px;padding:6px 14px;background:var(--card)}
.qtext{font-size:1.2rem;line-height:1.45;margin:0 0 14px;font-weight:700}
.fig{display:block;width:100%;max-width:420px;margin:0 auto 14px;border:1px solid var(--rule);border-radius:12px;background:#fff;cursor:zoom-in}
.fig.zoom{max-width:none;cursor:zoom-out}
.opts{display:grid;gap:10px}
.opt{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;text-align:left;padding:12px 14px;border-radius:12px;border:2px solid var(--rule);background:#fff;cursor:pointer;line-height:1.45;font-size:1.02rem}
.opt .k{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tint);font-weight:700;font-size:.9rem}
.opt:hover:not(:disabled){border-color:var(--ink)}
.opt.pick{border-color:var(--ink);background:var(--tint)}
.opt.right{border-color:var(--good);background:var(--goodbg)}
.opt.right .k{background:var(--good);color:#fff}
.opt.wrong{border-color:var(--bad);background:var(--badbg)}
.opt.wrong .k{background:var(--bad);color:#fff}
.opt:disabled{cursor:default}
.opt.ot{cursor:default}.opt.ot .rowt{margin:2px 0 8px}.opt.ot .cats{display:flex;flex-wrap:wrap;gap:6px}
.cat{padding:6px 12px;border-radius:999px;border:2px solid var(--rule);background:#fff;cursor:pointer;font:inherit;font-size:.9rem;line-height:1.2}
.cat:hover:not(:disabled){border-color:var(--ink)}.cat.pick{border-color:var(--ink);background:var(--tint)}
.cat.right{border-color:var(--good);background:var(--goodbg)}.cat.wrong{border-color:var(--bad);background:var(--badbg)}.cat:disabled{cursor:default}
.opt.ot .cats{gap:8px}.opt.ot .cat{min-height:44px;padding:8px 16px}
.hint{margin:-6px 0 10px}
.scn{margin:0 0 12px;border:1px solid var(--rule);border-radius:14px;background:var(--card);padding:10px 16px}.scn summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}.scn summary::-webkit-details-marker{display:none}.scn summary::after{content:'Show';font-weight:400;font-size:.85rem;color:var(--muted)}.scn[open] summary::after{content:'Hide'}.scn .scnp{margin-top:8px;line-height:1.5;white-space:pre-line}.scnp .ph{display:block;margin-top:8px;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.scnp .ph:first-child{margin-top:0}
.opt.pick .k{background:var(--ink);color:#fff}
.why{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--tint);line-height:1.5}
.why b{font-family:var(--display);font-size:1.15rem;letter-spacing:.02em}
.why.ok b{color:var(--good)} .why.no b{color:var(--bad)}
/* the explanation in parts: why, Remember callout, linked sources (Oct 25, 2026, Indi's phone check) */
.why>p{margin:0}.why>*+*{margin-top:10px}
.wp p{margin:0}.wp p+p{margin-top:8px}
.wp .wrem{padding:8px 11px;border-left:4px solid var(--signal);background:var(--card);border-radius:8px}
.wp .wl{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wp .wsrc{color:var(--muted);line-height:1.45}.wp .wsrc .wl{display:inline;font-size:inherit;letter-spacing:0;text-transform:none}
.wp .wsrc a{font-weight:400;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.flash .wp{text-align:left;margin-top:8px}.miss .wp{margin:4px 0}
.needl{margin:8px 0 0;text-align:center}
.foot{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:16px 0 calc(12px + env(safe-area-inset-bottom,0px));margin-top:12px}
/* until you answer, Next is gray: the bar stays in the page instead of floating over Sure / Check answer */
.foot.wait{position:static}
.dots{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.dots i{width:10px;height:10px;border-radius:50%;background:var(--rule)}
.dots i.done{background:var(--ink)} .dots i.flag{background:var(--lamp)} .dots i.now{outline:2px solid var(--signal);outline-offset:1px}
/* flashcards */
.flash{min-height:260px;display:grid;place-items:center;text-align:center;cursor:pointer;font-size:1.15rem;line-height:1.5;user-select:none}
.flash .side{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.flash.back{background:var(--goodbg);border-color:var(--good)}
/* results */
.score{font-family:var(--display);font-size:4rem;font-weight:700;line-height:1}
.badge{display:inline-block;font-family:var(--display);font-weight:700;font-size:1.3rem;padding:4px 12px;border-radius:10px}
.badge.pass{background:var(--good);color:#fff} .badge.fail{background:var(--bad);color:#fff}
.miss{border-top:1px solid var(--rule);padding:12px 0}
.miss p{margin:4px 0}
.small{font-size:.88rem}
footer{color:var(--muted);font-size:.85rem;line-height:1.5;padding-block:10px 40px}
@media (max-width:420px){.modes .btn{min-height:76px}.qtext{font-size:1.1rem}}

/* live charts: pan and zoom (prep.js wireChart). min-height fits the three 40 px zoom buttons (8 + 3x40 + 2x6 = 140) under a wide, short figure such as an EKG strip on a phone */
.lc{position:relative;overflow:hidden;border:1px solid var(--rule);border-radius:12px;background:#fff;margin:0 0 14px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;min-height:144px}
.lc img{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none;-webkit-user-drag:none;pointer-events:none}
.lc.anim img{transition:transform .35s ease}
.lcz{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:6px}
.lcz button{width:40px;height:40px;border-radius:10px;border:1px solid var(--rule);background:rgba(255,255,255,.92);color:var(--ink);font-size:1.3rem;font-weight:700;line-height:1;cursor:pointer}
.lcl{position:absolute;left:8px;bottom:8px;background:rgba(14,59,82,.86);color:#fff;font-size:.8rem;padding:3px 8px;border-radius:8px}
.areas{display:flex;flex-wrap:wrap;gap:8px}
.area{width:44px;height:44px;border-radius:50%;background:#C8302A;color:#fff;border:2px solid #fff;font-weight:700;font-size:1.05rem;box-shadow:0 1px 3px rgba(0,0,0,.35);cursor:pointer}
.area.all{width:auto;padding:0 14px;border-radius:22px;background:var(--ink)}
.ckey{margin:0}.ckey dt{font-weight:700}.ckey dd{margin:0 0 8px;color:var(--muted)}
/* Pass Meter */
.pm{display:grid;gap:8px;border:2px solid var(--ink)}
.pm .pmhead{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.pm .pmhead h2{margin:0}
.pm .big{font-family:var(--display);font-size:3.2rem;font-weight:700;line-height:1}
.pm .big small{font-size:1rem;color:var(--muted);font-family:inherit;font-weight:400;margin-left:6px}
.pmbar{position:relative;height:14px;overflow:visible}
.pmbar i{background:var(--signal)}
.pmbar b{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--ink);border-radius:2px}
.pm .topic{margin-top:2px}
.up{color:var(--good);font-weight:700}
.down{color:var(--bad);font-weight:700}
.pmline{margin:0;font-family:var(--display);font-size:1.4rem}
/* Challenge this answer (update160) */
.chl a{font-weight:700}
.chf{display:grid;gap:8px;margin-top:8px;padding:12px;border:1px solid var(--rule);border-radius:12px;background:#fff}
.chf label{display:flex;gap:8px;align-items:flex-start;line-height:1.4}
.chf textarea,.chf input:not([type]){font:inherit;font-size:16px;width:100%;padding:10px;border:1px solid var(--rule);border-radius:10px;color:var(--ink);background:#fff}
.chv.fixed b,.chv.removed b{color:var(--good)} .chv.stands b{color:var(--ink)}
/* Today's 5/10 and Explain as I go (Oct 18) */
.tutor{display:flex;gap:10px;align-items:flex-start;padding:2px 4px;cursor:pointer}
.tutor input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--signal)}
.dn{display:inline-flex;gap:6px}
.dn .btn{min-width:52px;padding-left:12px;padding-right:12px}
/* NCLEX Next Generation item types (Oct 23, 2026): grid checkboxes, drop-down cloze, highlight, bow tie, chart tabs */
.cat.chk::before{content:'';display:inline-block;width:.85em;height:.85em;border:2px solid currentColor;border-radius:3px;margin-right:6px;vertical-align:-1px}.cat.chk.pick::before{background:var(--ink);box-shadow:inset 0 0 0 2px #fff}
.clz{font-size:1.05rem;line-height:2.3;white-space:pre-line;margin:0}.clz select{font:inherit;font-size:1rem;line-height:1.3;padding:5px 8px;border:2px solid var(--ink);border-radius:8px;background:#fff;color:var(--ink);max-width:calc(100% - .5em)}.clz .blank{white-space:nowrap}
.clz select.right{border-color:var(--good);background:var(--goodbg)}.clz select.wrong{border-color:var(--bad);background:var(--badbg)}
.hlt{font-size:1.04rem;line-height:1.9;border:1px solid var(--rule);border-radius:12px;padding:10px 12px;background:#fff}
.hlt .seg{cursor:pointer;padding:2px 3px;border-radius:4px;border-bottom:2px dotted var(--rule);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hlt .seg:hover{border-bottom-color:var(--ink)}.hlt .seg.on{background:var(--lamp);border-bottom-color:var(--ink)}
.hlt .seg.done{cursor:default}.hlt .seg.right{background:var(--goodbg);border-bottom:2px solid var(--good)}.hlt .seg.wrong{background:var(--badbg);border-bottom:2px solid var(--bad);text-decoration:line-through}.hlt .seg.miss{background:none;border-bottom:2px solid var(--good);outline:2px dashed var(--good);outline-offset:1px}
.hlt.chips .seg{display:inline-block;margin:3px 1px;padding:3px 8px;border:1px solid var(--rule);border-bottom-width:1px;border-radius:8px;line-height:1.35}.hlt.chips .seg.on{border-color:var(--ink)}.hlt.chips .seg.right,.hlt.chips .seg.miss{border-color:var(--good)}.hlt.chips .seg.wrong{border-color:var(--bad)}
.hlt.block{padding:6px}.hlt.block .seg{display:block;padding:8px 10px;margin:2px 0;border-bottom:1px solid var(--rule);border-radius:8px}.hlt.block .seg.right,.hlt.block .seg.miss{border-bottom-color:var(--good)}.hlt.block .seg.wrong{border-bottom-color:var(--bad)}
.btie{display:grid;grid-template-columns:1fr 12px 1fr 12px 1fr;align-items:center;margin:0 0 6px}
.btie .col{display:grid;gap:6px;min-width:0}.btie .col>b{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center}
.btie .tb{min-height:58px;padding:6px;border:2px dashed var(--rule);border-radius:10px;font-size:.8rem;line-height:1.25;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);overflow-wrap:anywhere}
.btie .mid .tb{min-height:80px;border-width:3px}.btie .tb.on{border-style:solid;border-color:var(--ink);color:var(--ink);background:var(--tint);font-weight:700}
.btie .tb.right{border-color:var(--good);background:var(--goodbg)}.btie .tb.wrong{border-color:var(--bad);background:var(--badbg)}
.btie .bow{width:12px;height:110px}.btie .bow path{fill:none;stroke:var(--rule);stroke-width:2;vector-effect:non-scaling-stroke}
.btg{margin-top:12px}.btg h4{margin:0 0 6px;font-size:1rem}.btg h4 small{font-weight:400;color:var(--muted)}
.bt .cats{display:grid;gap:6px}.bt .cat{text-align:left;border-radius:10px;padding:8px 12px;font-size:.95rem;line-height:1.35;min-height:44px}
.ctabs{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px;white-space:normal}.ctab{padding:5px 11px;border-radius:999px;border:2px solid var(--rule);background:#fff;cursor:pointer;font-size:.86rem;line-height:1.2;color:var(--ink)}
.ctab[aria-selected=true]{border-color:var(--ink);background:var(--ink);color:#fff}.ctab i{font-style:normal;font-size:.68rem;font-weight:700;color:var(--magenta);text-transform:uppercase;letter-spacing:.04em;margin-left:5px}.ctab[aria-selected=true] i{color:var(--lamp)}
.ctb{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:.95rem}
.opt .onote{display:block;margin-top:5px;font-size:.88rem;line-height:1.4;color:var(--muted)}.opt.right .onote,.opt.wrong .onote{color:var(--ink)}
/* Civil Service Ticket (Oct 24, 2026): q.ex exhibits and sets[x].mono passages keep their spacing; memorization sets hide the question card until the passage is hidden */
.ex,.scnp.mono{white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.4;overflow-x:auto}.ex{margin:0 0 12px;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--bg)}
.scn.memo{display:block}.memo-on .scnp{margin:8px 0}.memo-on+.card{display:none}.memohide{margin-top:4px}
/* Coach me (study coach, Oct 24) */
.coach .cs{margin:0 0 10px;line-height:1.45}
.coach .cpat{border-left:4px solid var(--magenta);padding:2px 0 2px 12px;margin:0 0 10px}
.coach .cpat p{margin:0 0 4px;line-height:1.45}
.coach .cplan{margin:0 0 10px;line-height:1.45}
.coach .cwhy{margin-top:10px}
.coach .cwhy summary{cursor:pointer;color:var(--magenta);font-weight:700}
.coach .cerr{color:var(--bad);margin:8px 0 0}

/* Premium study look (Oct 25, 2026): card depth, focus rings, Next up, My plan, Sure or not, topic strength */
.card{box-shadow:0 1px 2px rgba(30,70,54,.05),0 8px 22px -14px rgba(30,70,54,.28)}
.btn{transition:transform .08s ease,background-color .15s ease,border-color .15s ease}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn:focus-visible,.opt:focus-visible,.topic:focus-visible,.chip:focus-visible,.more:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.topic:hover b{text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.hero .intro{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.hero .intro.open{display:block}
.more{justify-self:start;background:none;border:0;padding:2px 0;margin-top:-4px;color:var(--magenta);font:inherit;font-weight:700;font-size:.95rem;cursor:pointer}
/* Next up */
.nextup{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;align-items:center;border:2px solid var(--ink);background:linear-gradient(155deg,var(--card) 40%,var(--tint))}
.ring{position:relative;width:108px;height:108px;flex:none}
.ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:10}
.ring .trk{stroke:var(--rule)}
.ring .val{stroke:var(--signal);stroke-linecap:round;transition:stroke-dashoffset .7s ease}
.ring .lbl{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}
.ring .lbl b{font-family:var(--display);font-size:2rem;font-weight:700}
.ring .lbl small{display:block;max-width:76px;margin-top:3px;font-size:.66rem;line-height:1.15;color:var(--muted)}
.nu-main{display:grid;gap:4px;min-width:0}
.nu-title{font-family:var(--display);font-size:1.65rem;font-weight:700;line-height:1.05;overflow-wrap:anywhere}
.nu-main .row{margin-top:6px;flex-wrap:nowrap}
.nu-main .row .btn{min-height:44px;padding-left:14px;padding-right:14px}
.nu-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chip{display:block;min-width:0;margin:0;padding:8px 6px;border:1px solid var(--rule);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;text-align:center;line-height:1.15}
button.chip{cursor:pointer}
button.chip:hover{border-color:var(--ink)}
.chip b{display:block;font-family:var(--display);font-size:1.3rem;font-weight:700}
.chip span{display:block;font-size:.72rem;color:var(--muted)}
.late{color:var(--bad)}
/* My plan */
.path{list-style:none;margin:2px 0 0;padding:0}
.path li{position:relative;padding:0 0 14px 36px;min-width:0}
.path .stop::before{content:'';position:absolute;left:11px;top:6px;bottom:-6px;width:2px;background:var(--rule)}
.path .stop:last-child::before{display:none}
.path .wk{padding:4px 0 10px;font-size:.88rem}
.path .wk b{font-family:var(--display);font-size:1.15rem;letter-spacing:.02em;margin-right:4px}
.path .dot{position:absolute;left:1px;top:1px;width:22px;height:22px;border-radius:50%;border:2px solid var(--rule);background:var(--card);z-index:1}
.path .check .dot,.path .final .dot{border-radius:6px}
.path .done .dot{background:var(--good);border-color:var(--good)}
.path .done .dot::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.path .next .dot{border-color:var(--signal);border-width:3px;box-shadow:0 0 0 4px var(--tint)}
.path .final .dot{border-color:var(--ink)}
.path .stop b{display:block;line-height:1.3}
.path .when{display:block;font-size:.84rem;color:var(--muted);line-height:1.4}
.path .late .when{color:var(--bad)}
.path .done b{color:var(--muted)}
.path .stop .btn{margin-top:8px;min-height:44px}
/* Sure or not */
.sure{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px dashed var(--rule)}
.sure .lbl{flex-basis:100%;font-size:.88rem;color:var(--muted)}
.sure .btn{flex:1;min-height:46px}
.surenote{margin:10px 0 0;padding:10px 12px;border-left:4px solid var(--signal);background:var(--card);border-radius:8px;line-height:1.45}
.calrow{display:grid;grid-template-columns:minmax(0,9.5em) minmax(0,1fr) 3.2em;gap:10px;align-items:center}
.calrow b{text-align:right;font-family:var(--display);font-size:1.25rem}
.calrow .meter i{background:var(--signal)}
/* topic strength */
.tag{display:inline-block;margin-left:2px;padding:1px 8px;border-radius:99px;font-family:"Atkinson Hyperlegible",system-ui,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.01em;vertical-align:1px;white-space:nowrap}
.tag.s3{background:var(--goodbg);color:var(--good)}
.tag.s2{background:var(--tint);color:var(--magenta)}
.tag.s1{background:var(--badbg);color:var(--bad)}
@media (max-width:380px){.ring{width:92px;height:92px}.ring .lbl b{font-size:1.7rem}.nu-title{font-size:1.4rem}.chip b{font-size:1.15rem}}
@media (prefers-reduced-motion:reduce){.btn,.ring .val,.meter i{transition:none}}
@media print{.nextup,.sure{display:none}}

/* Hint first (Oct 25, 2026): the small Hint pill and the hint box */
.qtools{display:flex;justify-content:flex-end;margin:-6px -6px 6px 0}
.hintbtn{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border:1px solid var(--rule);border-radius:99px;background:var(--card);color:var(--magenta);font:inherit;font-size:.8rem;font-weight:700;line-height:1.3;cursor:pointer}
.hintbtn:hover:not(:disabled){border-color:var(--magenta)}
.hintbtn:disabled{opacity:.5;cursor:default}
.hintbtn:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.hintbox{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--tint);border-left:4px solid var(--lamp)}
.hintbox p{margin:0;line-height:1.45}.hintbox p+p{margin-top:6px}
.hintmsg{margin:0 0 10px}
@media print{.qtools{display:none}}

/* Ask about this one (Oct 26, 2026): the small link, the one-line box and the reply */
.askq{margin:10px 0 0}
.asklink{display:inline-flex;align-items:center;gap:5px;padding:2px 0;border:0;background:none;color:var(--magenta);font:inherit;font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.asklink:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.asklink[hidden]{display:none}
.askf .row,.askok .row{display:flex;gap:8px}
.askf input{flex:1;min-width:0;box-sizing:border-box;padding:8px 10px;border:1px solid var(--rule);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:16px}
.askf input:focus-visible{outline:3px solid var(--signal);outline-offset:1px}
.askf .btn{flex:0 0 auto}
.askn{margin:6px 0 0}
.askr:empty{display:none}
.askr,.askok{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--tint);border-left:4px solid var(--lamp)}
.askr p{margin:0;line-height:1.45}.askr p+p{margin-top:6px}
@media print{.askq{display:none}}

/* AI study help strip (Oct 26, 2026): under Next up on the home page */
.aistrip{padding:12px 16px}
.ai-head{display:flex;align-items:center;gap:10px;min-width:0}
.ai-head .eyebrow{color:var(--magenta);white-space:nowrap}
.ai-sum{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aistrip:not(.shut) .ai-sum{display:none}
.ai-head .ai-link{margin-left:auto;flex:none}
.ai-link{background:none;border:0;padding:2px 0;color:var(--magenta);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ai-foot .ai-link,.ai-ex .ai-link,.ai-tools .ai-link{font-size:inherit}
.ai-link:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.ai-tools{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px}
.ai-tools li{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;line-height:1.35;color:var(--muted)}
.ai-tools li b{color:var(--ink)}
.ai-tools svg{flex:none;margin-top:2px;color:var(--magenta)}
.ai-foot{margin:8px 0 0}
.ai-ex{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--tint);border-left:4px solid var(--lamp)}
.ai-ex p{margin:0;line-height:1.45}.ai-ex p+p{margin-top:6px}
@media print{.aistrip{display:none}}

/* Explain it another way (Oct 27, 2026): the small button above Ask and the rewrite under it */
.exq{margin:10px 0 0}
.exq+.askq{margin-top:4px}
.exlink:disabled{opacity:.6;cursor:default}
.exmsg{margin:6px 0 0}
.exr{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--magenta)}
.exr p{margin:0;line-height:1.5}.exr p+p{margin-top:6px}
.exr .exh{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--magenta)}
.exr .exeg{padding-left:10px;border-left:2px dashed var(--rule);font-style:italic}
@media print{.exq{display:none}}

/* hallpass-skin */
.top{border-bottom:3px solid #D9A22B}.top .home{color:#EFE6CF}.top .home::before{content:"";display:inline-block;width:28px;height:28px;border-radius:6px;vertical-align:-6px;margin-right:9px;background:url(data:image/png;base64,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) center/cover}
/* hallpass-skin header */
.top .home{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .site{flex:none;white-space:nowrap}
@media (max-width:600px){.top .home{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:9px;padding:6px 0;line-height:1.1;text-align:left;white-space:normal}.top .home::before{grid-row:span 2;margin:0}.top .home small{grid-column:2;margin:2px 0 0;font-size:.62em;line-height:1.25}}
/* Highway (Oct 26, 2026; Brady on headedin.com/company: "the 90s highway theme doesnt carry over much and this the brand the
   prob does that best"): the company page's night-highway cues, worn in Hall Pass's own green, cream and gold. The type,
   the mile-marker kicker, the star field and the road dash (26 on, 20 off) are copied from web-llc/template.html; the colors
   are Hall Pass's (its green is the highway-sign green). The guides' home hero (the only .hero holding #intro, also drawn
   early by fast-pages.js) and the hub's (.hero.hw, scripts/hallpass-highway.js) become a night masthead with the road along
   the bottom. Static pages with a plain .hero (quiz, path, class) keep their look.
   Edge to edge without a sideways scroll: the sky is a border-image and the asphalt a box-shadow, both reaching past the
   column as paint only (a 100vw box made desktop pages a scrollbar wider than the window); the stars sit on ::after and
   its border-image draws the dashes. */
:root{--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--road:#1d2b33}
.top .home{letter-spacing:.07em}
.top .home small{color:var(--lamp)}
@media (min-width:601px){.top .home small{font-family:var(--mono);font-size:.56em;font-weight:500;letter-spacing:.12em;text-transform:uppercase;vertical-align:2px}}
.hero.hw,.hero:has(>#intro){position:relative;isolation:isolate;padding:18px 0 32px;margin-bottom:16px;gap:10px;
  background:var(--road);box-shadow:0 0 0 100vmax var(--road);clip-path:inset(0 -100vmax);
  border-image:linear-gradient(180deg,#0F2A1F 0%,#143326 38%,#1E4636 80%,#2D6450 100%) fill 0 / 0 0 14px 0 / 0 100vw}
.hero.hw:first-child,.hero:has(>#intro):first-child{margin-top:-18px}
.hero.hw::after,.hero:has(>#intro)::after{content:"";position:absolute;z-index:-1;inset:0 0 5px;
  border-image:repeating-linear-gradient(90deg,var(--lamp) 0 26px,transparent 26px 46px) 0 0 4 0 / 0 0 4px 0 / 0 100vw;
  background:
    radial-gradient(1.5px 1.5px at 12% 18%,#fff 60%,transparent),radial-gradient(1px 1px at 22% 42%,#dfe 60%,transparent),
    radial-gradient(1.5px 1.5px at 35% 12%,#fff 60%,transparent),radial-gradient(1px 1px at 48% 30%,#fff 60%,transparent),
    radial-gradient(1px 1px at 58% 8%,#dfe 60%,transparent),radial-gradient(1.5px 1.5px at 66% 26%,#fff 60%,transparent),
    radial-gradient(1px 1px at 8% 34%,#fff 60%,transparent),radial-gradient(1px 1px at 88% 14%,#fff 60%,transparent),
    radial-gradient(1px 1px at 28% 6%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 94% 40%,#fff 60%,transparent);
  /* the stars keep to the strip above the kicker: the column is all words, and a dot between letters read like a typo (Oct 26, 2026) */
  background-size:100% 16px;background-repeat:no-repeat}
.hero:has(>#intro)::before{content:"Mile 0 \00B7  Next exit: exam day"}
.hero.hw .mile,.hero:has(>#intro)::before{margin:0;font:500 .78rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#C9D8C8}
.hero.hw h1,.hero:has(>#intro) h1{color:#F6F1E3;font-size:clamp(2.5rem,10.5vw,4rem);text-transform:uppercase;letter-spacing:-.005em;line-height:.92}
.hero.hw h1 em{font-style:normal;color:var(--lamp);text-shadow:0 0 28px rgba(242,207,107,.35)}
.hero.hw p,.hero:has(>#intro) p{color:#DCE6D5}
.hero.hw a,.hero:has(>#intro) a,.hero:has(>#intro) .more{color:var(--lamp)}
.hero:has(>#intro) p.vouch{color:var(--lamp)}
/* Closed by default (Oct 26, 2026; Brady: "it seems like all the websites are stilll an endless scroll with wasted space
   everywhere. fix that"): long reference cards are <details class="card"> whose title row opens them (the guides' About the
   exam, the hub's About Hall Pass, For nursing schools, state by state, every exam), and a guide's topic list of 9 or more
   scrolls in its own box. /nclex at 375 px went from 8,036 px to 4,488. */
details.card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary>h2{margin:0}
details.card>summary::after{content:"";flex:none;width:9px;height:9px;margin:-5px 4px 0 0;border:solid var(--ink);border-width:0 3px 3px 0;transform:rotate(45deg)}
details.card[open]>summary{margin-bottom:10px}
details.card[open]>summary::after{margin-top:5px;transform:rotate(-135deg)}
details.card>summary:focus-visible{outline:3px solid var(--signal);outline-offset:4px;border-radius:6px}
.card:not(.pm):has(>.topic:nth-of-type(9)){max-height:30rem;overflow-y:auto;
  background:linear-gradient(var(--card) 30%,rgba(255,253,247,0)) center top,linear-gradient(rgba(255,253,247,0),var(--card) 70%) center bottom,
    radial-gradient(farthest-side at 50% 0,rgba(0,0,0,.14),rgba(0,0,0,0)) center top,radial-gradient(farthest-side at 50% 100%,rgba(0,0,0,.14),rgba(0,0,0,0)) center bottom,var(--card);
  background-repeat:no-repeat;background-size:100% 36px,100% 36px,100% 12px,100% 12px,100% 100%;background-attachment:local,local,scroll,scroll,local}
@media print{.card:not(.pm):has(>.topic:nth-of-type(9)){max-height:none;overflow:visible}}
/* hallpass-calm */
.btn.go,.btn.go small{color:#14261C}
.top{border-bottom:0}
.top .home.hp-mark{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;font-size:1.35rem;letter-spacing:0;text-transform:none;color:#fff}
.top .home.hp-mark::before{width:30px;height:30px;border-radius:7px}
.top .home.hp-mark small{font-family:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;font-style:normal;font-weight:400;font-size:.6em;letter-spacing:0;text-transform:none;vertical-align:1px;color:#DCE6D5}
h1,h2,h3,legend{overflow-wrap:break-word;min-width:0;max-width:100%}
/* /hallpass-calm */
