:root{--bg:#151a21;--panel:#1c2229;--panel-2:#222a33;--line:#2c3541;--ink:#e9e6df;--ink-2:#a9b0ba;--ink-3:#6f7883;--teal:#f7c428;--teal-ink:#1a1c20;--amber:#d9a441;--green:#6cbf7a;--red:#e0655d;--sans:"IBM Plex Sans",system-ui,sans-serif;--serif:"Source Serif 4",Georgia,serif;color-scheme:dark}html[data-theme=light]{--bg:#f5f3ee;--panel:#ffffff;--panel-2:#ece8df;--line:#d8d2c6;--ink:#1c2128;--ink-2:#4b545e;--ink-3:#7a838d;--teal:#8a6a05;--teal-ink:#ffffff;--amber:#b47a1c;--green:#2e8b4c;--red:#c4443b;color-scheme:light}*{box-sizing:border-box}body,html{max-width:100%;overflow-x:hidden;height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}input[type=email],input[type=password],input[type=text],select{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:9px 12px;border-radius:5px;width:100%;font:inherit}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.shell{display:flex;min-height:100vh}.side{width:220px;flex:none;border-right:1px solid var(--line);background:var(--panel);padding:20px 16px;display:flex;flex-direction:column;gap:4px}.side .brand{font-family:var(--serif);font-weight:600;font-size:20px;margin:0 8px 18px}.side a{display:block;padding:8px 10px;border-radius:5px;color:var(--ink-2)}.side a:hover{text-decoration:none}.side a.on,.side a:hover{color:var(--ink);background:var(--panel-2)}.side .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.main{flex:1 1;min-width:0}.page{max-width:920px;margin:0 auto;padding:40px 28px}.page h1{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.15;margin:0 0 6px}.page .lead{color:var(--ink-2);margin:0 0 28px;max-width:60ch}.page h2{font-size:17px;margin:28px 0 10px}.card{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:18px 20px}.cards{display:grid;grid-gap:12px;gap:12px}.cards.two{grid-template-columns:1fr 1fr}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.row small{display:block;color:var(--ink-3)}.stack{display:grid;grid-gap:12px;gap:12px;max-width:440px}.stack label{display:grid;grid-gap:6px;gap:6px;color:var(--ink-2);font-size:14px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto}.primary{background:var(--teal);color:var(--teal-ink);font-weight:600;padding:11px 20px;border-radius:5px;display:inline-block}.primary:disabled{opacity:.45;cursor:not-allowed}.ghost{border:1px solid var(--line);padding:8px 14px;border-radius:5px;color:var(--ink-2);display:inline-block}.ghost:hover{color:var(--ink);border-color:var(--ink-3);text-decoration:none}.submit{background:var(--amber);color:#2a1f05;font-weight:600;padding:9px 16px;border-radius:5px}.muted{color:var(--ink-3)}.err{border-left:3px solid var(--red)}.err,.ok-msg{padding:10px 14px;background:var(--panel);margin:0 0 18px;color:var(--ink-2)}.ok-msg{border-left:3px solid var(--green)}.theme{border:1px solid var(--line);border-radius:5px;width:34px;height:34px;display:grid;place-items:center;color:var(--ink-2)}.theme:hover{color:var(--ink)}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl td,.tbl th{border-bottom:1px solid var(--line);padding:9px 6px;text-align:left}.tbl th{color:var(--ink-3);font-weight:500}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero{max-width:1040px;margin:0 auto;padding:64px 28px 40px}.hero h1{font-family:var(--serif);font-weight:600;font-size:44px;line-height:1.1;margin:0 0 14px;max-width:18ch}.hero p{color:var(--ink-2);font-size:18px;max-width:52ch;margin:0 0 26px}.topbar{max-width:1040px;margin:0 auto;padding:18px 28px}.topbar .brand{font-family:var(--serif);font-weight:600;font-size:20px}.topbar nav{display:flex;gap:16px;align-items:center}.feat{display:grid;grid-gap:14px;gap:14px;max-width:1040px;margin:0 auto;padding:0 28px 60px}.feat div{border-top:2px solid var(--line);padding-top:14px}.feat b{display:block;margin-bottom:4px}.feat span{color:var(--ink-2);font-size:14px}.disc{margin:0 auto;padding:20px 28px 40px;color:var(--ink-3);font-size:13px;border-top:1px solid var(--line)}.exam{flex-direction:column;height:100vh}.exam,.top{display:flex}.top{align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--panel)}.top .title{font-weight:500}.top .title small{color:var(--ink-3);margin-left:8px}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:20px;font-weight:500;margin-left:auto}.timer.low{color:var(--amber)}.timer.paused{color:var(--ink-3)}.progress{color:var(--ink-2);font-size:14px}.navbtn{display:none}.body{display:grid;grid-template-columns:232px minmax(0,1.15fr) minmax(0,1fr);flex:1 1;min-height:0}.navig{background:var(--panel);border-right:1px solid var(--line);padding:18px 16px;overflow:auto}.navig h3{margin:0 0 10px;font-size:14px;font-weight:500;color:var(--ink-2)}.navig .close{display:none}.counts{display:grid;grid-gap:6px;gap:6px;margin-bottom:16px}.counts button{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:5px;color:var(--ink-2);font-size:13px;text-align:left}.counts button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.counts b{font-weight:500;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.counts i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:8px}.set-blk{margin-bottom:14px}.set-blk .lbl{font-size:12px;color:var(--ink-3);margin-bottom:6px;line-height:1.3}.cells{display:flex;gap:6px;flex-wrap:wrap}.cell{width:42px;height:34px;border:1px solid var(--line);border-radius:4px;font-size:13px;color:var(--ink-2);position:relative}.cell.answered{background:var(--panel-2);border-color:var(--ink-3);color:var(--ink)}.cell.skipped{border-style:dashed}.cell.current{outline:2px solid var(--teal)}.cell.flagged:after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;background:var(--amber);border-radius:1px}.cell.right{border-color:var(--green)}.cell.wrong{border-color:var(--red)}.cell.dim{opacity:.28}.vig{overflow:auto;padding:28px 36px;border-right:1px solid var(--line);font-family:var(--serif);font-size:17px;line-height:1.62}.vig h2{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink-3);margin:0 0 14px}.vig p{margin:0 0 1em;max-width:68ch}.exhibit{margin:18px 0 22px;font-family:var(--sans);font-size:14px}.exhibit caption{text-align:left;font-weight:600;padding-bottom:6px;color:var(--ink)}.exhibit table{border-collapse:collapse;min-width:60%}.exhibit td,.exhibit th{border:1px solid var(--line);padding:6px 12px;text-align:left;vertical-align:top}.exhibit th{background:var(--panel-2);font-weight:500}.exhibit td:not(:first-child){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qpane{overflow:auto;padding:28px 32px;display:flex;flex-direction:column}.qhead{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:14px;margin-bottom:12px}.badge{border:1px solid var(--line);border-radius:3px;padding:1px 7px;font-size:12px}.badge.easy{color:var(--green)}.badge.medium{color:var(--amber)}.badge.hard{color:var(--red)}.iconbtn{border:1px solid var(--line);border-radius:5px;width:36px;height:36px;display:inline-grid;place-items:center;color:var(--ink-2)}.iconbtn:hover{color:var(--ink);border-color:var(--ink-3)}.iconbtn.flag[aria-pressed=true]{color:var(--amber);border-color:var(--amber)}.iconbtn.flag[aria-pressed=true] svg{fill:var(--amber)}.qhead .iconbtn{margin-left:auto}.stem{font-size:17px;line-height:1.5;margin:0 0 20px;max-width:60ch}.opts{grid-gap:8px;gap:8px;margin-bottom:22px}.opt,.opts{display:grid}.opt{grid-template-columns:34px 1fr;align-items:start;grid-gap:12px;gap:12px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.opt:hover{border-color:var(--ink-3)}.opt .k{width:26px;height:26px;border-radius:50%;border:1px solid var(--ink-3);display:grid;place-items:center;font-size:13px;color:var(--ink-2)}.opt[aria-checked=true]{border-color:var(--teal);background:var(--panel-2)}.opt[aria-checked=true] .k{background:var(--teal);color:var(--teal-ink);border-color:var(--teal)}.opt.correct,.opt.correct .k{border-color:var(--green)}.opt.correct .k{background:var(--green);color:#10200f}.opt.wrong,.opt.wrong .k{border-color:var(--red)}.opt.wrong .k{background:var(--red);color:#2a0d0b}.opt:disabled{cursor:default}.conf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;color:var(--ink-2);font-size:14px}.conf button{border:1px solid var(--line);border-radius:14px;padding:3px 12px;color:var(--ink-2)}.conf button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.feedback{border-left:3px solid var(--line);padding:12px 16px;margin:0 0 18px;background:var(--panel);font-size:14px}.feedback.ok{border-color:var(--green)}.feedback.no{border-color:var(--red)}.feedback h4{margin:0 0 6px;font-size:14px}.feedback p{margin:0 0 8px;color:var(--ink-2)}.feedback ul{margin:0;padding-left:18px;color:var(--ink-2)}.nav-btns{margin-top:auto;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--line)}.nav-btns,.nav-btns .grp{display:flex;gap:8px}.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55);z-index:10}.modal .box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px 28px;max-width:440px;width:92%}.modal h3{margin:0 0 8px}.modal p{color:var(--ink-2);margin:0 0 18px}.modal .acts{display:flex;gap:10px;justify-content:flex-end}.scrim{display:none}.score{display:grid;grid-template-columns:auto 1fr;grid-gap:28px;gap:28px;align-items:center;margin-bottom:32px}.score .big{font-family:var(--serif);font-size:64px;line-height:1;font-weight:600}.score .big small{font-size:20px;color:var(--ink-3);font-family:var(--sans);font-weight:400;margin-left:6px}.bars{grid-gap:8px;gap:8px}.bar,.bars{display:grid}.bar{grid-template-columns:150px 1fr 60px;align-items:center;grid-gap:12px;gap:12px;font-size:14px}.bar .track{height:10px;background:var(--panel-2);border-radius:5px;overflow:hidden}.bar .fill{height:100%;background:var(--teal)}.bar .n{text-align:right;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quad{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;max-width:560px;margin-bottom:32px}.quad div{border:1px solid var(--line);border-radius:6px;padding:14px 16px;background:var(--panel)}.quad b{font-family:var(--serif);font-size:28px;display:block;line-height:1.1}.quad span{color:var(--ink-2);font-size:13px}.quad .warn{border-color:var(--red)}.quad .hid{border-color:var(--amber)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.filters button{border:1px solid var(--line);border-radius:14px;padding:4px 12px;color:var(--ink-2);font-size:14px}.filters button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.rev{border:1px solid var(--line);border-radius:6px;background:var(--panel);margin-bottom:12px}.rev summary{cursor:pointer;padding:12px 16px;display:flex;gap:12px;align-items:center;list-style:none}.rev summary::-webkit-details-marker{display:none}.dot{width:10px;height:10px;border-radius:50%;flex:none}.dot.g{background:var(--green)}.dot.r{background:var(--red)}.dot.n{background:var(--ink-3)}.rev .meta{color:var(--ink-3);font-size:13px;margin-left:auto}.rev .inner{padding:0 16px 16px;border-top:1px solid var(--line)}.rev .inner .stem{font-size:15px;margin:12px 0}.rev .inner .opts{gap:6px}.rev .opt{padding:8px 12px;font-size:14px}.empty{color:var(--ink-3);padding:24px 0}@media (max-width:860px){.shell{flex-direction:column}.side{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}.side .brand{margin:0 12px 0 0}.side .foot{margin:0 0 0 auto;padding:0;border:0}.cards.two,.feat{grid-template-columns:1fr}.hero h1{font-size:34px}.body{grid-template-columns:1fr;grid-template-rows:45% 55%}.navig{position:fixed;left:0;top:0;bottom:0;width:280px;transform:translateX(-100%);transition:transform .2s;z-index:5}.navig.open{transform:none}.navig .close{display:block;position:absolute;top:10px;right:10px;color:var(--ink-3)}.scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:4}.scrim.on{display:block}.navbtn{display:inline-block}.top{gap:10px;padding:8px 12px}.top .title small{display:none}.vig{border-right:0;border-bottom:1px solid var(--line);padding:20px}.qpane{padding:18px 20px}.score{grid-template-columns:1fr}.bar{grid-template-columns:110px 1fr 50px}}.deck{max-width:560px}.deck-meta{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px;color:var(--ink-2)}.fc{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:26px 24px;min-height:220px;font-family:var(--serif);font-size:19px;line-height:1.5}.fc.flipped{border-color:var(--teal)}.fc-back{padding-top:18px;border-top:1px solid var(--line);font-size:16px;color:var(--ink)}.fc-back,.fc-hint{margin-top:18px;font-family:var(--sans)}.fc-hint{font-size:13px;color:var(--ink-3)}.fc-rate{display:flex;gap:10px;margin-top:14px}.fc-rate button{flex:1 1;padding:12px}.mtabs{display:none}@media (max-width:860px){.mtabs{display:flex;border-bottom:1px solid var(--line);background:var(--panel)}.mtabs button{flex:1 1;padding:10px;color:var(--ink-2);border-bottom:2px solid transparent}.mtabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--teal)}.body{grid-template-rows:1fr}.body .qpane,.body .vig{display:none}.body.show-vig .vig{display:block}.body.show-q .qpane{display:flex}.opt{padding:14px}.opt .k{width:30px;height:30px}.nav-btns .ghost,.nav-btns .submit{padding:12px 14px}.conf button{padding:8px 14px}.fc{font-size:17px;padding:20px 18px;min-height:180px}}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;max-width:none;width:100%;padding:14px 28px;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar nav{gap:18px}.brand-lockup{display:flex;align-items:center;gap:10px;color:var(--ink)}.brand-lockup:hover{text-decoration:none}.brand-lockup img{display:block}.navlink{color:var(--ink-2)}.navlink:hover{color:var(--ink)}@media (max-width:760px){.navlink{display:none}}.hero{position:relative;isolation:isolate;max-width:none;margin:0;padding:116px 28px 96px;text-align:center;background:#0f1115;border-bottom:1px solid var(--line);overflow:hidden}.hero .cta-row,.hero .eyebrow,.hero .muted{max-width:1040px;margin-left:auto;margin-right:auto}.hero:before{z-index:-2;background:url(/hero-desk.jpg) center 42%/cover no-repeat;opacity:.78;filter:grayscale(.28) contrast(1.06) brightness(.92)}.hero:after,.hero:before{content:"";position:absolute;inset:0}.hero:after{z-index:-1;background:radial-gradient(85% 78% at 50% 44%,rgba(15,17,21,.9) 0,rgba(15,17,21,.62) 55%,rgba(15,17,21,.34) 100%),linear-gradient(180deg,rgba(15,17,21,.62),rgba(15,17,21,.2) 40%,rgba(15,17,21,.7))}.hero .eyebrow,.hero h1,.hero p{position:relative}.hero h1{color:#fff}.hero p{color:rgba(233,236,242,.86)}.hero .muted{color:rgba(233,236,242,.62)}@media (max-width:640px){.hero{padding:76px 22px 64px}.hero:before{background-position:center 46%;opacity:.62}}@media (prefers-reduced-motion:no-preference){.hero:before{transition:opacity .4s ease}}.hero .eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 18px;font-weight:600}.hero h1{font-size:56px;max-width:22ch}.hero h1,.hero p{margin-left:auto;margin-right:auto}.cta-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px;justify-content:center}@media (max-width:640px){.hero h1{font-size:38px}}.small{font-size:13px}.centre{text-align:center}.feat{grid-template-columns:repeat(3,1fr);gap:26px 30px;padding-bottom:72px}.feat div{border-top:2px solid var(--teal);padding-top:16px}.feat b{font-size:16px;margin-bottom:6px}.feat span{line-height:1.6}@media (max-width:900px){.feat{grid-template-columns:1fr 1fr}}@media (max-width:640px){.feat{grid-template-columns:1fr}}.band{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.band-inner{max-width:1040px;margin:0 auto;padding:56px 28px}.band h2,.closer h2,.pricing h2{font-family:var(--serif);font-weight:600;font-size:30px;margin:0 0 26px}.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:26px;gap:26px}.steps li{counter-increment:s;display:grid;grid-gap:6px;gap:6px}.steps li:before{content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--teal);color:var(--teal-ink);display:grid;place-items:center;font-weight:700;margin-bottom:6px}.steps b{font-size:16px}.steps span{color:var(--ink-2);line-height:1.6}@media (max-width:800px){.steps{grid-template-columns:1fr}}.pricing{max-width:1040px;margin:0 auto;padding:64px 28px}.closer h2,.lead-c,.pricing h2{text-align:center}.lead-c{color:var(--ink-2);max-width:56ch;margin:-14px auto 34px}.plans{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;align-items:start}.plan{position:relative;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:26px 24px;display:flex;flex-direction:column;gap:10px}.plan.on{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.plan .tag{position:absolute;top:-12px;left:24px;background:var(--teal);color:var(--teal-ink);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:20px}.plan h3{margin:0;font-size:17px;color:var(--ink-2);font-weight:600}.price{font-family:var(--serif);font-weight:600;font-size:42px;line-height:1;letter-spacing:-.01em}.price .rs{font-size:26px;margin-right:2px;color:var(--ink-2)}.permocks{color:var(--ink-3);font-size:13px;margin-bottom:6px}.plan ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:9px;gap:9px;flex:1 1}.plan li{position:relative;padding-left:22px;color:var(--ink-2);font-size:14px;line-height:1.5}.plan li:before{content:"";position:absolute;left:0;top:7px;width:11px;height:6px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}.wide{text-align:center;margin-top:8px}@media (max-width:860px){.plans{grid-template-columns:1fr}}.qa{grid-template-columns:1fr 1fr;grid-gap:26px 34px;gap:26px 34px}.qa,.qa div{display:grid}.qa div{grid-gap:6px;gap:6px}.qa b{font-size:16px}.qa span{color:var(--ink-2);line-height:1.65}@media (max-width:800px){.qa{grid-template-columns:1fr}}.closer{max-width:1040px;margin:0 auto;padding:72px 28px;text-align:center}.closer p{color:var(--ink-2);margin:-14px 0 24px}.disc{max-width:1040px;padding-top:28px}.foot-brand{display:flex;align-items:center;gap:9px;color:var(--ink-2);font-weight:600;margin-bottom:12px}html[data-theme=light] .plan .tag,html[data-theme=light] .primary,html[data-theme=light] .steps li:before{background:#f7c428;color:#1a1c20}html[data-theme=light] .plan.on{border-color:#d9a916;box-shadow:0 0 0 1px #d9a916}html[data-theme=light] .plan li:before{border-color:#a8820a}html[data-theme=light] .feat div{border-top-color:#d9a916}.hero .eyebrow,html[data-theme=light] .hero .eyebrow{color:#f7c428}.hero .ghost{border-color:rgba(233,236,242,.34);color:rgba(233,236,242,.92)}.hero .ghost:hover{border-color:rgba(233,236,242,.7);color:#fff}html[data-theme=light] .hero .ghost{border-color:rgba(233,236,242,.34);color:rgba(233,236,242,.92)}html[data-theme=light] .hero .ghost:hover{border-color:rgba(233,236,242,.7);color:#fff}.hero .primary,html[data-theme=light] .hero .primary{background:#f7c428;color:#1a1c20}