:root{--bg:#fbfaf7;--card:#fff;--ink:#1d2430;--muted:#5b6575;--line:#e3e0d8;--accent:#1f5fae;--accent2:#0f7a5a;--warn:#8a5a00;--bad:#b42318;--good:#067647;--r:10px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.6;font-size:17px;overflow-x:hidden}
a{color:var(--accent)}a:hover{text-decoration:none}
.wrap{max-width:860px;margin:0 auto;padding:0 1.1rem}
header.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}header.top .wrap{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.7rem 1.1rem;flex-wrap:wrap}
.brand{font-weight:700;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}
header nav a{margin-left:.75rem;font-size:.95rem;padding:.35rem .15rem;min-height:44px;display:inline-flex;align-items:center}
nav.crumbs{font-size:.88rem;color:var(--muted);margin:1rem 0 .3rem}nav.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem}nav.crumbs li+li:before{content:"\203A";margin-right:.3rem;color:#999}
h1{font-size:1.85rem;line-height:1.25;margin:.4rem 0 .8rem}h2{font-size:1.3rem;margin:2rem 0 .6rem}h3{font-size:1.08rem;margin:1.2rem 0 .3rem}
.lede{font-size:1.06rem;color:#333}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;margin:1rem 0}
table.facts{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}table.facts th,table.facts td{text-align:left;vertical-align:top;padding:.55rem .75rem;border-bottom:1px solid var(--line)}table.facts th{width:34%;background:#f6f4ef;font-weight:600}
.sibs{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}.sibs a{display:inline-flex;align-items:center;padding:.45rem .85rem;min-height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-size:.92rem}.sibs a[aria-current=page]{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:.7rem 1.15rem;min-height:44px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.3}.btn.alt{background:var(--accent2)}.btn[aria-disabled=true],.btn:disabled{background:#9aa3b0;cursor:not-allowed}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
fieldset.q{border:1px solid var(--line);border-radius:var(--r);background:#fff;margin:1rem 0;padding:.8rem 1rem}fieldset.q legend{font-weight:600;padding:0 .3rem}
fieldset.q label{display:flex;align-items:flex-start;gap:.45rem;padding:.55rem .5rem;min-height:44px;border-radius:6px;cursor:pointer}fieldset.q label:hover{background:#f4f6fa}
fieldset.q.right{border-color:#9bd3b5}fieldset.q.wrong{border-color:#f0a8a0}label.correct{background:#e7f6ee!important}label.picked-wrong{background:#fdecea!important}
.fb{margin-top:.5rem;font-size:.95rem;border-top:1px dashed var(--line);padding-top:.5rem}.fb .verdict{font-weight:700}.right .verdict{color:var(--good)}.wrong .verdict{color:var(--bad)}.fb blockquote{margin:.3rem 0;padding:.3rem .7rem;border-left:3px solid var(--line);color:var(--muted);overflow-wrap:anywhere}
.topic{font-size:.8rem;color:var(--muted);font-weight:500}
.result{background:#fff;border:2px solid var(--accent);border-radius:var(--r);padding:1rem 1.2rem;margin:1.5rem 0}.score{font-size:2rem;font-weight:800}
.buy-results{margin-top:1.2rem;border-color:#c5d6ef;background:#f5f9ff}
.buy-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0}
form.signup{background:#f3f7fc;border:1px solid #cddcf0;border-radius:var(--r);padding:1rem 1.2rem;margin:1.5rem 0}form.signup h2,form.signup h3{margin-top:0}
form.signup input[type=email],form.unlock input[type=text]{width:100%;max-width:420px;padding:.65rem;border:1px solid #b9c3d0;border-radius:8px;font-size:16px}
.check{display:flex;gap:.5rem;align-items:flex-start;margin:.7rem 0}.check input{margin-top:.35rem;width:1.15rem;height:1.15rem;min-width:1.15rem}
.fine{font-size:.85rem;color:var(--muted)}.msg{font-weight:600;margin-top:.5rem}.msg.err{color:var(--bad)}.msg.ok{color:var(--good)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.disclaimer{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1rem}
.xlink{border-left:4px solid var(--accent2);background:#f1faf6}
.price{font-size:1.6rem;font-weight:800}
footer.site{border-top:1px solid var(--line);margin-top:2rem;padding:1.2rem 0 2.5rem;font-size:.88rem;color:var(--muted)}
.note{background:#fff8e6;border:1px solid #f0d48a;border-radius:8px;padding:.6rem .8rem;font-size:.93rem}

.btn-cta{min-height:52px;padding:.85rem 1.35rem;font-size:1.05rem;text-align:center}
.hub-cta{margin:1.1rem 0 1.4rem}.hub-cta .btn-cta{display:inline-block;max-width:100%}
.hub-other{margin:.65rem 0 0}.hub-other a{font-weight:500}
.how-steps{margin:.4rem 0 0;padding-left:1.25rem}.how-steps li{margin:.45rem 0}
.hub-sticky{display:none}
@media(max-width:600px){
  h1{font-size:1.45rem}
  .wrap{padding:0 1rem}
  header.top .wrap{padding:.65rem 1rem}
  header nav a{margin-left:.45rem;font-size:.9rem}
  table.facts{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.facts th{width:42%}
  .btn{width:100%;text-align:center;min-height:52px}
  .btn-cta{min-height:52px;width:100%}
  .buy-btns{flex-direction:column}
  .buy-btns .btn{width:100%}
  .score{font-size:1.7rem}
  .grid{grid-template-columns:1fr}
  body[data-page=hub]{padding-bottom:5.5rem}
  .hub-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.55rem .85rem calc(.55rem + env(safe-area-inset-bottom,0px));background:rgba(251,250,247,.96);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08)}
  .hub-sticky .btn-cta{width:100%;margin:0}
}
/* inline Q1 (zero-click start) + score report */
.lede.short{margin:.2rem 0 .6rem}
.iq-wrap{margin:.6rem 0 1rem}.iq-tabs{display:flex;gap:.4rem;margin:0 0 .5rem}
.iq-tab{min-height:44px;min-width:56px;border:1px solid var(--line);background:#fff;border-radius:999px;font-weight:600;font-size:.95rem;cursor:pointer;color:var(--ink)}
.iq-tab[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
.inline-q{border:2px solid var(--accent);padding:.7rem .9rem;margin:.4rem 0 1rem}.inline-q .iq-h{margin:0 0 .2rem;font-weight:700}
.inline-q fieldset.q{border:0;padding:0;margin:.2rem 0}.inline-q fieldset.q legend{padding:0}
.iq-next{margin:.5rem 0 0}.iq-next .btn.pulse{background:var(--accent2)}
tr.weak th,tr.weak td{background:#fff4f2}
ol.misses{padding-left:1.2rem;font-size:.95rem}ol.misses li{margin:.25rem 0;overflow-wrap:anywhere}
@media(max-width:600px){ .hub-sticky{transform:translateY(120%);transition:transform .2s} body.show-sticky .hub-sticky{transform:none} }
/* timed practice exam bar */
.mock-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;gap:.8rem;justify-content:space-between;padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:2px solid var(--accent);box-shadow:0 -4px 16px rgba(0,0,0,.08);font-variant-numeric:tabular-nums}
.mock-bar .mb-time{font-weight:800;font-size:1.05rem}.mock-bar .mb-count{font-size:.9rem;color:var(--muted)}
.mock-bar .btn.mb-finish{width:auto;min-height:44px;padding:.5rem 1rem}
.mock-bar.low{border-top-color:var(--bad)}.mock-bar.low .mb-time{color:var(--bad)}
.mock-bar.done{border-top-color:var(--good)}
body.has-mock-bar{padding-bottom:5rem}
.hub-mock{margin:.5rem 0 0;font-weight:600}
@media(max-width:600px){ .mock-bar{gap:.5rem;padding:.45rem .75rem calc(.45rem + env(safe-area-inset-bottom,0px))} .mock-bar .mb-time{font-size:.98rem} .mock-bar .mb-count{font-size:.82rem} }
.fact{margin-top:1.4rem}.fact .ans{font-weight:600}.fact blockquote{margin:.4rem 0;padding:.35rem .8rem;border-left:3px solid var(--accent2);background:#fff;color:var(--muted);overflow-wrap:anywhere}.fact-ctas .btn{margin:.25rem .4rem .25rem 0}
@media (max-width:600px){.fact-ctas .btn{display:block;text-align:center;margin:.4rem 0}}
form.signup input[type=date]{padding:.55rem;border:1px solid #b9c3d0;border-radius:8px;font-size:16px;margin-bottom:.5rem;max-width:100%}
.plan{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent2);border-radius:var(--r);padding:.8rem 1rem;margin:1rem 0}.plan h3{margin-top:0}.plan ol{padding-left:1.2rem;margin:.3rem 0}.plan li{margin:.35rem 0}
.mb-finish[hidden],[hidden].btn{display:none}
/* "What stopped you?" one-tap prompt */
.why-not{position:relative;background:#fff;border:1px dashed #b9c3d0;border-radius:var(--r);padding:.7rem 2.9rem .7rem 1rem;margin:1rem 0}
.why-not .wn-h{margin:0 0 .45rem}.wn-opts{display:flex;flex-wrap:wrap;gap:.4rem}
.wn-b{min-height:44px;border:1px solid var(--line);background:#f7f8fb;border-radius:999px;padding:.4rem .9rem;font-size:.95rem;cursor:pointer;color:var(--ink)}
.wn-b:hover,.wn-b:focus-visible{border-color:var(--accent)}
.wn-x{position:absolute;top:.25rem;right:.25rem;min-width:44px;min-height:44px;border:0;background:transparent;font-size:1.4rem;line-height:1;color:var(--muted);cursor:pointer}
.wn-other{margin-top:.5rem}.wn-other input{width:100%;max-width:420px;padding:.55rem;border:1px solid #b9c3d0;border-radius:8px;font-size:16px;margin:.25rem 0}
.wn-other .btn{width:auto}.wn-msg:empty{display:none}

.share-score .share-line{font-weight:600;margin:.2rem 0 .5rem}.share-btns{display:flex;flex-wrap:wrap;gap:.4rem}.share-btns .btn{margin:0}
textarea.snippet{width:100%;font:12.5px/1.4 ui-monospace,Menlo,Consolas,monospace;padding:.5rem;border:1px solid #cfd6df;border-radius:6px;background:#f7f9fb}
.embed-card details{margin-top:.4rem}
.share-btns .btn{width:auto;flex:1 1 30%;min-height:44px}
