/* BT Exam Practice · "exam tool" design. Canvas: docs/design/exam-tool/.
   Layouts: phone portrait (base) · two columns (>=700px) · three zones (>=1100px) · phone landscape (short screens). */
:root{
  --paper:#fff;--ground:#F2F3F5;--ink:#14181D;--ink-2:#434B55;--ink-3:#5F6873;--rule:#D4D8DD;
  --navy:#14305C;--navy-2:#0E2344;
  --right:#0A5AA8;--right-bg:#E7F0FA;--right-ink:#073F76;
  --wrong:#A8450A;--wrong-bg:#FBEEE4;--wrong-ink:#6E2D06;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --g:16px;--r:2px;
}
@media(min-width:700px){:root{--g:24px}}
@media(min-width:1000px){:root{--g:32px}}
@media(min-width:1300px){:root{--g:48px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
h1,h2,h3,h4{font-weight:600;line-height:1.15;margin:0;color:var(--ink);letter-spacing:-.015em}
h1{font-size:28px;text-wrap:balance}h2{font-size:23px}h3,.h3{font-size:18px;line-height:1.25}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
a{color:var(--navy)}a:hover{color:var(--navy-2)}
code{font-family:var(--mono);font-size:.9em;background:var(--ground);padding:.1em .35em}
pre{background:var(--ground);padding:12px;overflow:auto;font-size:14px;font-family:var(--mono)}
img,svg{max-width:100%}
button{font:inherit}input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:8px 12px;z-index:50;border:1px solid var(--ink)}.skip:focus{left:8px}
.mono{font-family:var(--mono)}
.c{width:100%;max-width:1344px;margin-inline:auto;padding-inline:var(--g)}
.band{border-bottom:1px solid var(--ink)}main>.band:last-child{border-bottom:0}
.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.gap{gap:12px;flex-wrap:wrap}.wrap-row{flex-wrap:wrap}.center{text-align:center}.left{justify-content:flex-start}
.stack{display:flex;flex-direction:column;gap:12px}
.meta,.lbl{font-size:13px;color:var(--ink-3);font-weight:400}.lbl .mono{color:var(--ink)}
.hint,.note{font-size:13px;color:var(--ink-3);line-height:1.5;margin:0}.note{font-size:14px}
.eyebrow{font-size:13px;color:var(--ink-3);margin-bottom:8px}
.pill{display:inline-flex;align-items:center;font-size:13px;color:var(--ink-3);white-space:nowrap}.pill-teal,.pill-amber{color:var(--ink-3)}
.notice{background:var(--right-bg);color:var(--right-ink);padding:10px 14px;font-size:15px;margin:0}
.error{background:var(--wrong-bg);color:var(--wrong-ink);padding:10px 14px;font-size:15px;margin:0}
.dev-banner{background:var(--wrong-bg);color:var(--wrong-ink);font-size:13px;text-align:center;padding:6px 12px}
.dev-note{font-size:14px;background:var(--wrong-bg);color:var(--wrong-ink);padding:8px 12px;word-break:break-all}
.test-badge{display:inline-block;background:var(--wrong);color:#fff;font-weight:500;font-size:12px;padding:3px 8px;margin-bottom:10px}
/* header and footer */
.site-header{background:var(--paper);border-bottom:1px solid var(--ink);position:relative;z-index:20}
.site-header .c{display:flex;align-items:center;justify-content:space-between;min-height:52px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:600;white-space:nowrap}.logo:hover{color:var(--ink)}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;color:var(--ink);cursor:pointer;margin-right:-10px}
.nav-list{list-style:none;margin:0;padding:0;display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--ink);box-shadow:0 8px 16px rgba(20,24,29,.08)}
.nav-list.open{display:block}
.nav-list a{display:flex;align-items:center;padding:0 var(--g);min-height:48px;text-decoration:none;color:var(--ink);font-size:15px;border-top:1px solid var(--rule)}
.nav-list a[aria-current]{font-weight:600}
@media(min-width:700px){
  .nav-toggle{display:none}
  .nav-list{display:flex;position:static;gap:18px;border:0;box-shadow:none}
  .nav-list a{padding:0;min-height:44px;border:0;font-size:14px;color:var(--ink-2);white-space:nowrap}.nav-list a:hover{color:var(--ink)}
  .nav-list li:last-child a{color:var(--ink);font-weight:500}
}
@media(min-width:1000px){.nav-list{gap:24px}}
@media(min-height:700px) and (min-width:700px){.site-header{position:sticky;top:0}.site-header .c{min-height:56px}}
.site-footer{border-top:1px solid var(--ink);padding-block:24px;font-size:13px;color:var(--ink-3)}
.foot-links{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:0 20px}
.foot-links a{display:inline-flex;align-items:center;min-height:36px;color:var(--ink-2)}
.disclaimer{font-size:13px;line-height:1.5;color:var(--ink-3);margin:0 0 4px;max-width:90ch}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:6px 20px;border-radius:var(--r);font-weight:500;font-size:16px;line-height:1.25;text-decoration:none;border:1px solid transparent;cursor:pointer;text-align:center}
.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-2);color:#fff}
.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--ink)}.btn-secondary:hover{background:var(--ground);color:var(--ink)}
.btn-link{background:transparent;color:var(--navy);padding:0;min-height:44px;text-decoration:underline}
.btn-full{width:100%}
.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.btn-meta{font-weight:400;font-size:13px;opacity:.85}
@media(max-width:699px){.card .btn,.doc-side .btn,.hero .btn{width:100%}}
/* generic blocks: a section under a rule rather than a box */
main.wrap{flex:1;width:100%;max-width:1344px;margin-inline:auto;padding:24px var(--g) 48px;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start;align-content:start}
main.wrap>*{grid-column:1/-1;min-width:0}
main.full{flex:1;display:flex;flex-direction:column;min-width:0}
@media(min-width:1000px){main.wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;padding-top:40px}main.wrap>section.card{grid-column:auto}}
.card{border-top:1px solid var(--ink);padding-top:14px;min-width:0}
.card>.btn,.card form>.btn{margin-top:4px}
.hero,.page-head,.results-head{display:flex;flex-direction:column;gap:10px}
.hero .pill{align-self:flex-start}
.lead{font-size:16px;line-height:1.5;color:var(--ink-2);margin:0;max-width:68ch}
@media(min-width:1000px){.hero h1,.page-head h1{font-size:40px;line-height:1.08;letter-spacing:-.02em}.lead{font-size:18px}}
.back{display:inline-flex;align-items:center;gap:6px;min-height:44px;text-decoration:none;font-weight:500;font-size:14px;color:var(--ink);white-space:nowrap}
.checks,.link-list,.task-list,.today-list,.plan-list{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid var(--rule)}
.checks li,.task-list li,.today-list li,.plan-list li{padding:8px 0;border-bottom:1px solid var(--rule);font-size:14px;line-height:1.4;color:var(--ink-2)}
.checks.plain li{display:flex;align-items:center;gap:8px}
.dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:1.5px solid var(--ink-3)}
.task-list li,.today-list li{display:flex;justify-content:space-between;align-items:center;gap:12px}
.link-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font-size:15px}
.link-list a:hover{color:var(--navy);text-decoration:underline}.link-list .meta{white-space:nowrap}
fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column}
legend{font-weight:500;font-size:14px;margin-bottom:6px;padding:0}
.choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;border-top:1px solid var(--rule);cursor:pointer;font-size:15px}.choice:last-child{border-bottom:1px solid var(--rule)}
.choice input{width:20px;height:20px;accent-color:var(--navy);margin:0;flex:0 0 auto}.choice.check{align-items:flex-start}.choice.check input{margin-top:2px}
label{font-weight:500;font-size:14px}
input[type=email],input[type=text],input[type=date],select,textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--ink-3);border-radius:var(--r);background:var(--paper);font-size:16px}
input[type=file]{padding:10px 0;width:100%}
.inline-form{padding:12px 0}
.table-wrap{overflow-x:auto;margin-block:4px}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top}th:last-child,td:last-child{padding-right:0}
th{font-size:13px;color:var(--ink-3);font-weight:500;border-bottom-color:var(--ink);vertical-align:bottom}
/* long-form pages */
.doc{padding-block:24px 48px;flex:1}
.doc-head{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.doc-body{display:flex;flex-direction:column;gap:24px}
.doc-side.first{order:-1}
.doc-end{margin-top:32px}
.prose{font-size:16px;line-height:1.6;color:var(--ink-2);min-width:0}.prose>*{max-width:68ch}.prose>.table-wrap{max-width:none}
.prose strong{color:var(--ink);font-weight:600}
.prose h2,.prose h3{color:var(--ink);margin:0 0 12px}.prose h2{border-top:1px solid var(--ink);padding-top:16px;margin-top:36px;max-width:none}.prose h3{margin-top:24px}.prose>h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:22px;margin:0 0 1em}.prose li{margin-bottom:6px}
.prose blockquote{margin:0 0 1em;padding:0 0 0 16px;border-left:1px solid var(--ink-3)}
.faq{margin-top:36px;max-width:none}.faq h2{margin-top:0}
.faq details{border-bottom:1px solid var(--rule)}.faq details>*{max-width:68ch}
.faq summary{cursor:pointer;font-weight:500;color:var(--ink);min-height:48px;padding-block:10px;display:flex;align-items:center;font-size:16px}
.faq-a{padding:0 0 12px}
@media(min-width:1000px){
  .doc{padding-block:48px 64px}
  .doc-head{margin-bottom:32px}.doc-head h1{font-size:44px;line-height:1.06;letter-spacing:-.022em;max-width:22ch}
  .doc-body{display:grid;grid-template-columns:minmax(0,8fr) minmax(320px,4fr);column-gap:64px;align-items:start}
  .doc-body.noside{grid-template-columns:minmax(0,1fr)}
  .doc-intro{grid-column:1}.doc-rest{grid-column:1}
  .doc-side,.doc-side.first{grid-column:2;grid-row:1/span 2;order:0}
  .doc-end{display:none}
}
@media(min-width:1000px) and (min-height:760px){.doc-side{position:sticky;top:80px}}
/* home */
.home-hero{display:flex;flex-direction:column}
.pitch{padding-block:16px 12px;display:flex;flex-direction:column;gap:6px}
.pitch h1{font-size:28px;line-height:1.12;letter-spacing:-.02em}
.sub{font-size:15px;line-height:1.35;color:var(--ink-2);margin:0}
.pitch-cta,.facts{display:none}
.try{border-top:1px solid var(--ink);padding-block:12px 16px;display:flex;flex-direction:column;gap:10px}
.try-why{display:flex;flex-direction:column;gap:14px}.try-why[hidden]{display:none}
.try.done .before{display:none}
.stem{font-size:16px;line-height:1.45;margin:0;font-weight:400;letter-spacing:0;color:var(--ink);text-wrap:wrap}
.btn-skip{width:100%}
@media(min-width:700px){
  .home-hero{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr)}
  .pitch{padding-block:40px;padding-right:32px;gap:20px}
  .pitch h1{font-size:40px;line-height:1.05;letter-spacing:-.025em}
  .sub{font-size:18px}
  .pitch-cta{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
  .facts{display:table;font-size:14px;margin-top:8px}.facts td{padding:9px 0;border-bottom:1px solid var(--rule)}.facts tr:first-child td{border-top:1px solid var(--rule)}.facts td:first-child{color:var(--ink-3)}.facts td:last-child{text-align:right;font-family:var(--mono)}
  .try{border-top:0;border-left:1px solid var(--ink);padding-block:24px;padding-left:32px;gap:14px}
  .stem{font-size:18px;line-height:1.5}
  .btn-skip{display:none}
}
@media(min-width:1100px){
  .home-hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .pitch{padding-block:56px;padding-right:48px}.pitch h1{font-size:56px;line-height:1.04}.sub{font-size:21px}
  .try{padding-block:32px;padding-left:48px}
}
.sec{padding-block:28px}
.twoc{display:flex;flex-direction:column;gap:14px}
.sec h2{font-size:23px}
.sec .prose h2{border:0;padding:0;margin:0}
.sec-how-this-rbt-practice-exam-works ol{list-style:none;padding:0;margin:0;counter-reset:s;display:flex;flex-direction:column;max-width:none}
.sec-how-this-rbt-practice-exam-works li{counter-increment:s;margin:0;padding:14px 0;border-top:1px solid var(--rule);font-size:15px;line-height:1.5}.sec-how-this-rbt-practice-exam-works li:first-child{border-top:0;padding-top:0}
.sec-how-this-rbt-practice-exam-works li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--mono);font-size:13px;color:var(--ink-3);margin-bottom:6px}
.sec-how-this-rbt-practice-exam-works li strong{display:block;font-size:16px;margin-bottom:2px}
.sec-the-six-domains-on-the-2026-rbt-exam td:nth-child(2),.sec-the-six-domains-on-the-2026-rbt-exam th:nth-child(2){text-align:right;font-family:var(--mono);white-space:nowrap}.sec-the-six-domains-on-the-2026-rbt-exam th:nth-child(2){font-family:var(--sans)}
.sec-the-six-domains-on-the-2026-rbt-exam td:last-child,.sec-the-six-domains-on-the-2026-rbt-exam th:last-child{text-align:right;width:88px}
.endcta{background:var(--ground)}.endcta .c{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.endcta p{margin:6px 0 0;color:var(--ink-2);max-width:60ch}
@media(max-width:699px){.endcta .btn{width:100%}}
@media(min-width:700px){
  .sec{padding-block:44px}.sec h2{font-size:30px}
  .twoc{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:32px}
  .sec-how-this-rbt-practice-exam-works ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .sec-how-this-rbt-practice-exam-works li,.sec-how-this-rbt-practice-exam-works li:first-child{border-top:0;border-left:1px solid var(--rule);padding:0 20px}.sec-how-this-rbt-practice-exam-works li:first-child{border-left:0;padding-left:0}.sec-how-this-rbt-practice-exam-works li:last-child{padding-right:0}
  .endcta .c{flex-direction:row;align-items:center;justify-content:space-between}
}
@media(min-width:1100px){.sec{padding-block:56px}.twoc{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px}}
/* answer options */
.options,.opts{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.opt{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;width:100%;text-align:left;min-height:48px;padding:11px 8px 11px 2px;border:0;border-bottom:1px solid var(--rule);background:var(--paper);color:var(--ink);font-size:15px;line-height:1.4;cursor:pointer}
.opt:hover:not([disabled]){background:var(--ground)}.opt:hover:not([disabled]) .opt-letter{background:var(--ink);color:#fff}
.opt[disabled]{cursor:default;color:var(--ink)}
.opt-letter{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:500;background:var(--paper);flex:0 0 28px}
.opt-text{padding-top:3px}
.opt-tag{font-size:12px;font-weight:500;white-space:nowrap;padding-top:5px}
.opt-selected .opt-letter{background:var(--navy);border-color:var(--navy);color:#fff}
.opt-correct,.opt[disabled].opt-correct{background:var(--right-bg);color:var(--right-ink);padding-left:6px}.opt-correct .opt-letter{background:var(--right);border-color:var(--right);color:#fff}
.opt-wrong,.opt[disabled].opt-wrong{background:var(--wrong-bg);color:var(--wrong-ink);padding-left:6px}.opt-wrong .opt-letter{background:var(--wrong);border-color:var(--wrong);color:#fff}
@media(min-width:700px){.opt{font-size:16px;padding-block:12px}}
/* explanations */
.why{display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.5}.why p{margin:0}
.why h2,.why-h{font-size:14px;line-height:1.3;font-weight:600;letter-spacing:0;margin:4px 0 0}.why h2:first-child{margin-top:0}
.fb-head{font-weight:600;font-size:15px}
.whylist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.whylist li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:14px;color:var(--ink-2)}
.whylist b{font-family:var(--mono);font-weight:500;color:var(--ink)}
/* question page */
.strip{border-bottom:1px solid var(--ink)}
.strip-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;font-size:14px}
.set-label{flex:1;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:none}
.count{font-family:var(--mono);white-space:nowrap}
.ticks{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px}
.tick{height:5px;background:var(--rule)}.tick.ok{background:var(--right)}.tick.no{background:var(--wrong)}.tick.done{background:var(--ink-3)}.tick.cur{background:var(--ink)}
.quiz-wrap{flex:1;display:flex;flex-direction:column;width:100%}
.qgrid{flex:1;display:flex;flex-direction:column}
.rail{display:none}
.qstem{padding-top:14px;display:flex;flex-direction:column;gap:12px}
.qans{padding-top:12px;display:flex;flex-direction:column;gap:10px}
.qwhy{padding-block:16px}.qwhy:focus{outline:0}.qwhy.idle{display:none}
.qnav{position:sticky;bottom:0;margin-inline:calc(var(--g) * -1);margin-top:auto;background:var(--paper);border-top:1px solid var(--ink);padding:8px var(--g);display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:5}
.qnav:empty{display:none}.qnav form{display:contents}.qnav .btn{min-height:44px;margin-left:auto}
.so-far{font-size:13px;color:var(--ink-3);white-space:nowrap}.so-far b{font-family:var(--mono);font-weight:400;color:var(--ink)}
@media(min-width:700px){
  .set-label{display:block}
  .qgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:auto auto 1fr;grid-template-areas:"stem why" "ans why" "nav why"}
  .qstem{grid-area:stem;padding:24px 28px 0 0}.qstem .stem{font-size:18px;line-height:1.5}
  .qans{grid-area:ans;padding:16px 28px 0 0}
  .qwhy{grid-area:why;border-left:1px solid var(--rule);padding:24px 0 24px 24px}.qwhy.idle{display:block}
  .qnav{grid-area:nav;position:static;margin:0;border:0;background:none;padding:16px 28px 24px 0;align-items:flex-start;justify-content:flex-end}
  .qnav .so-far{display:none}
}
@media(min-width:1100px){
  .qgrid{grid-template-columns:232px minmax(0,1fr) 440px;grid-template-areas:"rail stem why" "rail ans why" "rail nav why"}
  .rail{grid-area:rail;display:flex;flex-direction:column;gap:20px;border-right:1px solid var(--rule);padding:28px 24px 28px 0;font-size:14px}
  .qstem{padding:28px 40px 0}.qstem .stem{font-size:20px}
  .qans{padding:16px 40px 0}
  .qnav{padding:16px 40px 28px}
  .qwhy{padding:28px 0 28px 32px}
}
.map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.cell{height:34px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;color:var(--ink-3);background:var(--paper);text-decoration:none}
a.cell:hover{border-color:var(--ink);color:var(--ink)}
.cell.ok{background:var(--right-bg);border-color:var(--right);color:var(--right-ink)}.cell.no{background:var(--wrong-bg);border-color:var(--wrong);color:var(--wrong-ink)}.cell.done{border-color:var(--ink-3);color:var(--ink)}.cell.cur{background:var(--ink);border-color:var(--ink);color:#fff}
.rail-num{font-family:var(--mono);font-size:22px;line-height:1.3}
/* results */
.rgrid{display:flex;flex-direction:column;flex:1}
.rmain{padding-block:18px;display:flex;flex-direction:column;gap:16px;min-width:0}
.rside{border-top:1px solid var(--ink);padding-block:18px;display:flex;flex-direction:column;gap:18px;min-width:0}
.results-head h1{font-size:26px;line-height:1.12;letter-spacing:-.02em}.results-head{gap:8px}
@media(min-width:700px){
  .rgrid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr)}
  .rmain{padding:28px 28px 28px 0;gap:22px}
  .rside{border-top:0;border-left:1px solid var(--ink);padding:28px 0 28px 28px}
  .results-head h1{font-size:30px}
}
@media(min-width:1100px){
  .rgrid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .rmain{padding:36px 40px 36px 0}.rside{padding:36px 0 36px 40px}
  .results-head h1{font-size:38px}
}
.dtable{--max:5}
.dhead,.drow{display:grid;grid-template-columns:26px minmax(0,1fr) min(calc(var(--max) * 18px),34%) 40px;gap:0 6px;align-items:center}
.dhead{font-size:13px;color:var(--ink-3);font-weight:500;padding-bottom:8px;border-bottom:1px solid var(--ink)}.dhead span:first-child{grid-column:1/3}.dhead span:last-child{text-align:right}
.drow{min-height:44px;padding-block:7px;border-bottom:1px solid var(--rule);font-size:15px;line-height:1.3}
.did{font-family:var(--mono);font-weight:500}
.dcount{font-family:var(--mono);text-align:right;white-space:nowrap}
.cells{display:grid;grid-template-columns:repeat(var(--m),minmax(0,1fr));gap:2px;width:calc(var(--m) / var(--max) * 100%)}
.cells i{display:block;height:12px;background:var(--paper);border:1px solid var(--ink-3)}.cells i.f{background:var(--ink);border-color:var(--ink)}
.dtrack{display:block;height:12px;border:1px solid var(--ink-3)}.dtrack i{display:block;height:100%;background:var(--ink)}
.flagtag{display:table;font-size:12px;font-weight:500;background:var(--ink);color:#fff;padding:1px 6px;border-radius:var(--r);white-space:nowrap;margin-top:3px}
@media(min-width:700px){.flagtag{display:inline-block;margin:0 0 0 8px;vertical-align:1px}.dhead,.drow{gap:0 10px;grid-template-columns:30px minmax(0,1fr) min(calc(var(--max) * 18px),30%) 44px}}
.rlinks{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.rlink{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font-size:15px;line-height:1.35;cursor:pointer;list-style:none}
.rlink::-webkit-details-marker{display:none}
.rlink:hover{color:var(--navy);text-decoration:underline}.rlink .meta{white-space:nowrap}.rlink.strong{font-weight:500}
.rlinks p{margin:0;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15px}
.paywall{display:flex;flex-direction:column;gap:14px;border-top:0;padding-top:0}
.doc-side .paywall,main.wrap>.paywall{border-top:1px solid var(--ink);padding-top:14px}
.paywall .eyebrow{margin:0 0 -8px}
.paywall h2{font-size:20px;line-height:1.25}
.paywall .checks{margin:0}
.price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price{font-family:var(--mono);font-weight:500;font-size:34px;line-height:1.1;letter-spacing:-.02em}
.price-meta{font-size:13px;color:var(--ink-3)}
.paywall .btn{width:100%}
.refund-line{font-size:13px;line-height:1.5;color:var(--ink-3);margin:0}
.retest-note{font-size:14px;background:var(--wrong-bg);color:var(--wrong-ink);padding:10px 12px;margin:8px 0}
.status-pill{display:inline-block;font-size:13px;font-weight:500;padding:1px 8px;background:var(--ground)}
/* review */
.review{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--ink);padding-top:14px}
.rv-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rv-options{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.rv-options li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:9px 8px 9px 2px;border-bottom:1px solid var(--rule);font-size:15px;line-height:1.4}
.rv-options .is-correct{background:var(--right-bg);color:var(--right-ink);padding-left:6px}.rv-options .is-correct .opt-letter{background:var(--right);border-color:var(--right);color:#fff}
.rv-options .is-chosen{background:var(--wrong-bg);color:var(--wrong-ink);padding-left:6px}.rv-options .is-chosen .opt-letter{background:var(--wrong);border-color:var(--wrong);color:#fff}
.rv-options .meta{color:inherit;font-size:12px;font-weight:500;padding-top:5px;white-space:nowrap}
@media(min-width:1000px){.review{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:12px 40px}.rv-head{grid-column:1/-1}.rv-q{display:flex;flex-direction:column;gap:12px}.review .stem{font-size:18px;line-height:1.5}}
.rv-q{display:flex;flex-direction:column;gap:12px}
/* drills and plan */
.drill-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule)}
.drill-row .btn{width:auto;min-height:44px;padding:0 16px;margin:0}
.plan-list li{display:flex;gap:12px}.plan-list li.past{opacity:.6}.plan-list li.today{background:var(--right-bg);padding-inline:8px}
.plan-date{flex:0 0 96px;font-family:var(--mono);font-size:13px;color:var(--ink)}
.terms{font-size:14px;color:var(--ink-2)}.terms summary{cursor:pointer;font-weight:500;min-height:44px;display:flex;align-items:center}
.bank-notice{border-top-color:var(--wrong)}
.funnel td,.funnel th{padding:10px 8px}.funnel td:nth-child(n+2){text-align:right;font-family:var(--mono)}
/* phone landscape: short screens get every line they can */
@media(min-width:700px) and (max-height:500px){
  .site-header .c{min-height:48px}.nav-list{gap:16px}
  .home-hero{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
  .pitch{padding-block:16px;padding-right:20px;gap:10px}.pitch h1{font-size:26px;line-height:1.12}.sub{font-size:15px}.facts{display:none}.pitch-cta .btn{width:100%}
  .try{padding-block:12px;padding-left:20px;gap:10px}.try .stem{font-size:15px;line-height:1.45}.try .before{display:none}
  .opt{font-size:14px;padding-block:8px;min-height:44px}
  .strip-in{min-height:44px}
  .qgrid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:auto 1fr auto;grid-template-areas:"stem ans" "stem why" "nav nav"}
  .qstem{padding:12px 16px 12px 0;border-right:1px solid var(--rule);gap:8px}.qstem .stem{font-size:15px;line-height:1.45}
  .qans{padding:12px 0 0 16px}
  .qwhy,.qwhy.idle{border-left:1px solid var(--rule);padding:12px 0 12px 16px;margin-left:-1px}.qwhy.idle{display:none}
  .qnav{position:sticky;bottom:0;margin-inline:calc(var(--g) * -1);border-top:1px solid var(--ink);background:var(--paper);padding:6px var(--g);align-items:center;justify-content:space-between}.qnav .so-far{display:block}
  .rmain{padding:16px 20px 16px 0;gap:14px}.rside{padding:16px 0 16px 20px;gap:12px}.results-head h1{font-size:22px}
  .drow{min-height:32px;padding-block:4px;font-size:13px}.price{font-size:24px}.paywall h2{font-size:16px}.paywall .checks li{padding-block:5px;font-size:13px}
  .sec{padding-block:32px}.sec h2{font-size:23px}
}
/* exam mode: same system, no navy; nothing here but the exam */
body.exam{background:var(--paper);color:var(--ink)}body.exam a{color:var(--ink)}
.exam-main{flex:1;display:flex;flex-direction:column}
.exam-shell{display:flex;flex-direction:column;min-height:100vh}
.exam-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--ink);color:#fff;padding:0 var(--g);min-height:48px}
.exam-navbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:transparent;color:#fff;font-family:var(--mono);font-size:15px;cursor:pointer}
.exam-form{font-size:13px;color:#C9CED4;display:none}.exam-mode{color:#fff}
.exam-timer{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:15px}
.exam-timer .pause{min-height:36px;padding:0 10px;border:1px solid #8A95A0;border-radius:var(--r);background:transparent;color:#fff;font-family:var(--sans);font-size:13px;cursor:pointer}
.exam-timer.low{color:#FFC48A}
.exam-banner{margin:0;padding:6px var(--g);font-size:12px;line-height:1.4;background:var(--ground);color:var(--ink-2);border-bottom:1px solid var(--rule)}
.exam-body{display:flex;flex-direction:column;flex:1;width:100%;max-width:1344px;margin-inline:auto;padding-inline:var(--g)}
.exam-q{flex:1;display:flex;flex-direction:column;gap:12px;padding-block:14px;border:0;min-width:0}
.exam-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.exam-qnum{font-size:13px;font-weight:500;color:var(--ink-3);letter-spacing:0;line-height:1.4}
.flag{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:1px solid var(--ink-3);border-radius:var(--r);background:var(--paper);color:var(--ink);font-size:13px;cursor:pointer}
.flag[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.exam-options{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.exam-opt{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;min-height:48px;padding:11px 8px 11px 2px;border-bottom:1px solid var(--rule);cursor:pointer;font-size:15px;line-height:1.4;font-weight:400;position:relative}
.exam-opt input{position:absolute;opacity:0;width:28px;height:28px;margin:0;cursor:pointer}
.exam-opt:hover{background:var(--ground)}
.exam-opt:has(input:checked){background:var(--ground)}.exam-opt:has(input:checked) .opt-letter{background:var(--ink);color:#fff}
.exam-opt:has(input:focus-visible) .opt-letter{outline:2px solid var(--navy);outline-offset:2px}
.exam-nav-row{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px}
.exam-nav-row .btn{min-width:120px}
body.exam .btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}
body.exam .btn-secondary{color:var(--ink)}
.exam-nav{position:fixed;inset:0;background:rgba(20,24,29,.45);display:none;z-index:30;padding-top:12vh}
.exam-nav.open{display:block}
.exam-nav-in{background:var(--paper);height:100%;padding:16px;display:flex;flex-direction:column;gap:12px;overflow:auto;position:relative;border-top:1px solid var(--ink)}
.exam-nav .close{position:absolute;right:6px;top:6px;width:44px;height:44px;border:0;background:transparent;cursor:pointer;color:var(--ink)}
.legend{display:flex;gap:14px;font-size:12px;color:var(--ink-2);flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:6px}
.sw{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--ink-3);background:var(--paper)}.sw-answered{background:var(--ink);border-color:var(--ink)}.sw-flag{color:var(--ink)}
.navgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;flex:1;align-content:start}
.navbtn{position:relative;min-height:44px;border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);font-family:var(--mono);font-size:13px;cursor:pointer}
.navbtn.answered{background:var(--ink);color:#fff;border-color:var(--ink)}
.navbtn.current{outline:2px solid var(--navy);outline-offset:1px}
.navbtn.flagged::after{content:"";position:absolute;right:3px;top:3px;width:7px;height:7px;background:var(--wrong)}
.exam-nav form{display:flex;flex-direction:column;gap:6px}.exam-nav .btn{width:100%}
@media(min-width:700px){.exam-form{display:inline}.exam-q .stem{font-size:18px;line-height:1.5}.exam-opt{font-size:16px}}
@media(min-width:700px) and (max-height:500px){
  .exam-banner{display:none}
  .exam-q{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:6px 20px;grid-template-areas:"head opts" "stem opts" "stem status" "nav nav";grid-template-rows:auto 1fr auto auto;padding-block:8px}
  .exam-head{grid-area:head}.exam-q .stem{grid-area:stem;font-size:15px;line-height:1.45}.exam-options{grid-area:opts}.exam-q .hint{grid-area:status}.exam-nav-row{grid-area:nav;position:sticky;bottom:0;background:var(--paper);padding-block:6px;margin:0}
  .exam-opt{font-size:14px;padding-block:8px;min-height:44px}.exam-nav-row .btn{min-height:44px}.exam-nav{padding-top:0}
}
@media(min-width:1000px) and (min-height:501px){
  .exam-navbtn{cursor:default}.exam-navbtn svg{display:none}
  .exam-body{display:grid;grid-template-columns:minmax(0,1fr) 372px;align-items:stretch}
  .exam-q{padding:32px 48px 32px 0;gap:16px}.exam-q .stem{font-size:20px}
  .exam-nav,.exam-nav.open{position:static;display:block;background:none;padding:0;z-index:auto;border-left:1px solid var(--rule)}
  .exam-nav-in{position:sticky;top:48px;height:auto;padding:24px 0 24px 24px;border:0;overflow:visible}
  .exam-nav .close{display:none}
  .navgrid{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;flex:none}.navbtn{min-height:30px;font-size:12px}
}
.bare-foot{padding:10px var(--g) 14px;font-size:12px;margin:0;max-width:none;color:var(--ink-3)}
@media(max-width:699px){body.quiz .bare-foot{padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.rside>.card:first-child{border-top:0;padding-top:0}
@media(min-width:700px) and (max-height:500px){.try .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}}
.btn-skip .btn{width:100%}
@media(min-width:1000px){.doc-head h1{max-width:28ch}}
.doc-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.exam-nav{padding-top:6vh}
.exam-nav-in form{position:sticky;bottom:-16px;background:var(--paper);padding-block:8px;margin-top:auto}
@media(min-width:1000px) and (min-height:501px){.exam-nav-in form{position:static;padding:0}}
.prose a{overflow-wrap:anywhere}
.funnel{display:block;overflow-x:auto}
.qnav .btn-prev{min-height:44px;margin-left:0;padding-inline:12px;margin-right:auto}.qnav .btn-prev+.btn{margin-left:0}
@media(max-width:699px){.qnav .btn-prev~.so-far{display:none}}
/* quick check: nothing to explain until the end, so question plus navigator, like the mock */
.qans .hint{padding-top:2px}
.qgrid-exam .qnav{margin-top:auto}
@media(min-width:700px) and (min-height:501px){
  .qgrid-exam{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"stem" "ans" "nav"}
  .qgrid-exam .qstem,.qgrid-exam .qans{padding-right:0}.qgrid-exam .qnav{padding-right:0}
}
@media(min-width:700px) and (max-height:500px){
  .qgrid-exam{grid-template-rows:1fr auto;grid-template-areas:"stem ans" "nav nav"}
  .qgrid-exam .qans{padding-bottom:10px}
}
@media(min-width:1000px) and (min-height:501px){
  .qgrid-exam{grid-template-columns:minmax(0,1fr) 372px;grid-template-areas:"stem rail" "ans rail" "nav rail"}
  .qgrid-exam .qstem{padding:32px 48px 0 0}.qgrid-exam .qstem .stem{font-size:20px}
  .qgrid-exam .qans{padding:16px 48px 0 0}.qgrid-exam .qnav{padding:16px 48px 32px 0}
  .qgrid-exam .rail{grid-area:rail;display:flex;flex-direction:column;gap:20px;border-right:0;border-left:1px solid var(--rule);padding:32px 0 32px 24px;font-size:14px}
  .qgrid-exam .map{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}.qgrid-exam .cell{height:30px;font-size:12px}
}
/* free next steps: each row is visibly an action */
.rlinks{border-top:0;gap:10px}.rlinks h2{font-size:18px;line-height:1.25}
.rlist{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.rlink{color:var(--navy);font-weight:500;padding-inline:0 2px}
.rlink::after{content:"→";flex:0 0 auto;font-weight:400}
.rlink:hover{background:var(--ground);color:var(--navy-2);text-decoration:none}
.rlink>.tag-free,.rlink>.meta{margin-left:auto}
.tag-free{flex:0 0 auto;font-size:12px;font-weight:500;line-height:1.5;color:var(--right-ink);background:var(--right-bg);padding:1px 7px;border-radius:var(--r)}
.rlink-main{border:1px solid var(--navy);padding:12px 14px;min-height:52px;font-size:16px;border-radius:var(--r)}
.rlink-more::after{content:"+";font-family:var(--mono);width:1em;text-align:center}
details[open]>.rlink-more::after{content:"−"}
.link-list a::after{content:"→";flex:0 0 auto}.link-list a>.meta{margin-left:auto}.link-list a{color:var(--navy);font-weight:500}
@media(min-width:700px) and (min-height:501px){.qgrid-exam .qnav{margin-top:0;justify-content:space-between}.exam-nav-row{margin-top:8px}}
.bare-foot{width:100%;max-width:1344px;margin-inline:auto}
.mock-start .btn-link{font-size:14px;font-weight:400;border:0;background:none;text-align:left;justify-content:flex-start}
.confirm{border:1px solid var(--ink);border-radius:var(--r);padding:24px;width:min(460px,calc(100vw - 32px));color:var(--ink);background:var(--paper);margin:auto}
.confirm::backdrop{background:rgba(20,24,29,.5)}
.confirm h2{font-size:20px;line-height:1.25;margin-bottom:8px}
.confirm p{font-size:15px;line-height:1.5;color:var(--ink-2);margin:0 0 20px}
.confirm-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:699px){.confirm-actions .btn{flex:1;padding-inline:10px}}
.review-wall .paywall{border-top:1px solid var(--ink);padding-top:14px}
@media(min-width:1000px){
  .review-wall .paywall{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto auto auto 1fr;gap:14px 40px}
  .review-wall .paywall h2{grid-column:1;grid-row:1}.review-wall .paywall .checks{grid-column:1;grid-row:2/span 3}
  .review-wall .price-row{grid-column:2;grid-row:1}.review-wall .btn{grid-column:2;grid-row:2}.review-wall .refund-line{grid-column:2;grid-row:3}
}
.confirm form{margin:0}.confirm form .confirm-actions{margin-top:4px}.confirm label{display:block}.confirm [hidden]{display:none}
.code-input{font-family:var(--mono);font-size:24px!important;letter-spacing:.3em;text-align:center}
.why h3,.why-h{font-size:14px;line-height:1.3;font-weight:600;letter-spacing:0;margin:4px 0 0}
