:root{--bg:#f8fafc;--surface:#ffffff;--ink:#0f172a;--ink-2:#475569;--ink-3:#64748b;--line:#e2e8f0;--brand:#0d9488;--brand-2:#0f766e;--brand-soft:#e6f6f4;--slate:#0f172a;--good:#1f7a45;--good-soft:#e5f4ea;--bad:#b3261e;--bad-soft:#fbe9e7;--warn:#9a6200;--warn-soft:#fdf3dc;--flag:#c77700;--radius:10px;--shadow:0 1px 2px rgba(16,24,40,0.06),0 1px 3px rgba(16,24,40,0.08);--font:ui-sans-serif,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--read:Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25;margin:0 0 .5em}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1.02rem}p{margin:0 0 .8em}.topbar{background:var(--slate);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-inner{max-width:1180px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:20px;height:56px}.brand{color:#fff;font-weight:700;letter-spacing:.2px;white-space:nowrap}.brand:hover{text-decoration:none}.nav{display:flex;gap:2px;overflow-x:auto;flex:1 1;scrollbar-width:none}.nav a{color:rgba(255,255,255,.85);padding:7px 11px;border-radius:7px;white-space:nowrap;font-size:14px}.nav a.active,.nav a:hover{background:rgba(255,255,255,.14);color:#fff;text-decoration:none}.signout{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:7px;padding:5px 10px;cursor:pointer;font-size:13px}.container{max-width:1180px;margin:0 auto;padding:24px 16px 64px}.narrow{max-width:820px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-head p{color:var(--ink-2);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card{margin-top:16px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.muted{color:var(--ink-3)}.small{font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:9px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--brand-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--brand)}.btn.secondary:hover{background:var(--brand-soft)}.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink-2)}.btn.ghost:hover{background:#eef1f4}.btn.danger{background:var(--bad);border-color:var(--bad)}.btn.sm{padding:5px 10px;font-size:13px}label.field{display:block;margin-bottom:14px}label.field>span{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:var(--ink-2)}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}textarea{resize:vertical;min-height:80px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip input{margin:0}.chip.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-2)}.alert{padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:14px}.alert.error{background:var(--bad-soft);color:var(--bad)}.alert.info{background:var(--brand-soft);color:var(--brand-2)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.stat .label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);font-weight:600}.stat .value{font-size:30px;font-weight:700;margin-top:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .sub{font-size:13px;color:var(--ink-2)}table.list{width:100%;border-collapse:collapse;font-size:14px}table.list th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-3);font-weight:600;padding:8px 10px}table.list td,table.list th{border-bottom:1px solid var(--line)}table.list td{padding:10px;vertical-align:middle}table.list tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.bar{height:8px;background:#edf0f3;overflow:hidden}.bar,.bar>i{border-radius:99px}.bar>i{display:block;height:100%;background:var(--brand)}.pill{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px;background:#eef1f4;color:var(--ink-2)}.pill.good{background:var(--good-soft);color:var(--good)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.brand{background:var(--brand-soft);color:var(--brand-2)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.runner{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:20px;gap:20px;align-items:start}.runner-side{position:-webkit-sticky;position:sticky;top:72px}@media (max-width:900px){.runner{grid-template-columns:1fr}.runner-side{position:static;order:-1}}.qhead{justify-content:space-between;gap:10px;margin-bottom:14px}.qhead,.qmeta{display:flex;align-items:center;flex-wrap:wrap}.qmeta{gap:8px}.vignette{font-family:var(--read);font-size:17px;line-height:1.7;color:var(--ink)}.vignette p{margin:0 0 .9em}.leadin{font-family:var(--read);font-size:17px;font-weight:700;margin:6px 0 16px}.labs{border-collapse:collapse;margin:4px 0 16px;font-size:14px}.labs td,.labs th{padding:5px 14px 5px 0;text-align:left;border-bottom:1px dotted var(--line)}.labs th{color:var(--ink-3);font-weight:600;font-size:12px;text-transform:uppercase}.options{display:flex;flex-direction:column;gap:8px;margin:8px 0 18px}.option{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:9px;background:#fff;font:inherit;font-size:15.5px;color:var(--ink);cursor:pointer;transition:border-color .1s,background .1s}.option:hover:not(:disabled){border-color:#b8c2cf;background:#fafbfc}.option .key{flex:0 0 26px;height:26px;border-radius:50%;border:1.5px solid #c5cdd8;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--ink-2)}.option .otext{flex:1 1;padding-top:2px}.option .ostat{font-size:12px;color:var(--ink-3);padding-top:4px;white-space:nowrap}.option.selected{border-color:var(--brand);background:var(--brand-soft)}.option.selected .key{background:var(--brand);border-color:var(--brand);color:#fff}.option.correct{border-color:var(--good);background:var(--good-soft)}.option.correct .key{background:var(--good);border-color:var(--good);color:#fff}.option.incorrect{border-color:var(--bad);background:var(--bad-soft)}.option.incorrect .key{background:var(--bad);border-color:var(--bad);color:#fff}.option:disabled{cursor:default}.option-why{font-size:13.5px;color:var(--ink-2);margin:-2px 0 4px 52px}.verdict{padding:12px 16px;border-radius:9px;font-weight:700;margin-bottom:14px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.verdict.good{background:var(--good-soft);color:var(--good)}.verdict.bad{background:var(--bad-soft);color:var(--bad)}.verdict .peer{font-weight:500;font-size:13.5px}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);font-weight:700;margin:0 0 10px}.explanation{font-size:15.5px}.hy-note{border-left:4px solid var(--brand);background:#fbfdfd}.hy-note h2,.hy-note h3{font-size:1.05rem}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;text-align:center;color:var(--ink)}.timer.low{color:var(--bad)}.navgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));grid-gap:5px;gap:5px;max-height:360px;overflow-y:auto;padding:2px}.navcell{height:32px;border-radius:6px;border:1px solid var(--line);background:#fff;font-size:12.5px;cursor:pointer;font-family:inherit;color:var(--ink-2);position:relative;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.navcell.answered{background:#dbe3ea;color:var(--ink);border-color:#c9d4de}.navcell.good{background:var(--good-soft);color:var(--good);border-color:#b9dfc6}.navcell.bad{background:var(--bad-soft);color:var(--bad);border-color:#f1c2bd}.navcell.current{outline:2px solid var(--brand);outline-offset:1px}.navcell.flagged:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--flag)}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--ink-3);margin-top:10px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px;border:1px solid var(--line)}.flag-btn.on{border-color:var(--flag);color:var(--flag);background:#fff7eb}.modal-back{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:12px;padding:22px;max-width:440px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.25)}.md table{border-collapse:collapse;margin:8px 0 14px;font-size:14px}.md td,.md th{border:1px solid var(--line);padding:6px 10px}.md ol,.md ul{padding-left:22px;margin:0 0 .9em}.md li{margin-bottom:4px}.hero{background:linear-gradient(160deg,#0f172a,#134e4a);color:#fff;padding:72px 16px 80px}.hero-inner{max-width:1000px;margin:0 auto}.hero h1{font-size:clamp(1.9rem,4vw,2.8rem);max-width:720px}.hero p{font-size:1.1rem;color:rgba(255,255,255,.85);max-width:640px}.hero .btn{background:#fff;color:var(--brand-2);border-color:#fff}.hero .btn.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}.feature h3{margin-bottom:6px}.feature p{color:var(--ink-2);margin:0;font-size:14.5px}.footer{text-align:center;color:var(--ink-3);font-size:13px;padding:28px 16px 40px}.auth-wrap{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:24px 16px}.auth-card{width:100%;max-width:400px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{flex:1 1;background:none;border:0;border-bottom:2px solid transparent;padding:10px;font:inherit;font-weight:600;color:var(--ink-3);cursor:pointer}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.subject-row{display:grid;grid-template-columns:1fr 70px 110px;grid-gap:12px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.subject-row:last-child{border-bottom:0}.kbd{font-family:ui-monospace,monospace;font-size:11px;border:solid var(--line);border-width:1px 1px 2px;border-radius:4px;padding:0 5px;background:#fff;color:var(--ink-2)}.container.wide{max-width:1440px;padding-top:16px}.exam-bar{position:-webkit-sticky;position:sticky;top:56px;z-index:15;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 14px;margin-bottom:14px}.exam-bar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exam-nav{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.exam-nav .navgrid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));max-height:112px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.split-left{position:-webkit-sticky;position:sticky;top:calc(56px + var(--exam-bar-h, 60px) + 14px);max-height:calc(100vh - 56px - var(--exam-bar-h, 60px) - 28px);overflow-y:auto;padding-right:2px}.split-left .card+.card,.split-right .card+.card{margin-top:14px}@media (max-width:1000px){.split{display:flex;flex-direction:column;gap:14px}.split-left,.split-right{display:contents}.split .card+.card{margin-top:0}.notes-card{order:10}.exam-bar{top:56px;padding:8px 10px}.kbd-hint{display:none}}.accordion{border:1px solid var(--line);border-radius:9px;overflow:hidden}.accordion details+details{border-top:1px solid var(--line)}.accordion summary{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;cursor:pointer;list-style:none;font-size:14.5px;background:#fbfcfd}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"+";margin-left:auto;color:var(--ink-3);font-weight:700}.accordion details[open] summary:after{content:"−"}.accordion details[open] summary{background:#f4f7f9}.accordion-body{padding:10px 14px 12px 46px;font-size:14.5px;color:var(--ink-2)}.key-dot{flex:0 0 24px;height:24px;border-radius:50%;border:1.5px solid #cbd5e1;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:var(--ink-2);background:#fff}.key-dot.bad{background:var(--bad);border-color:var(--bad);color:#fff}.modal.labs-modal{max-width:640px}.labs-scroll{max-height:60vh;overflow-y:auto;margin-top:4px}.labs.labs-ref{width:100%;margin:0}.labs.labs-ref td:first-child{width:42%;color:var(--ink-2)}.weak-row{display:grid;grid-template-columns:1fr 90px 90px;grid-gap:10px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.weak-row:last-of-type{border-bottom:0}.topbar-cta{margin-left:auto;background:var(--brand);border-color:var(--brand)}.topbar-cta.ghost-light{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}.topbar-cta.ghost-light:hover{background:rgba(255,255,255,.12)}.eyebrow{text-transform:uppercase;letter-spacing:.8px;font-size:12.5px!important;font-weight:700;color:#5eead4!important;margin-bottom:10px}.exam-select{margin-top:-56px;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.08)}.exam-select>h2{margin:0 0 4px}.exam-select>p{margin:0 0 18px}.exam-select .exam-card{box-shadow:none}.exam-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:18px;gap:18px}.exam-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(15,23,42,.06);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s}.exam-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:0 12px 32px rgba(13,148,136,.14)}.exam-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.exam-code{font-size:28px;font-weight:800;color:var(--slate);letter-spacing:.5px}.exam-card h3{font-size:1.15rem;margin-bottom:6px}.exam-card p{color:var(--ink-2)}.exam-card-btn{margin-top:auto;align-self:flex-start}.ticks{list-style:none;padding:0;margin:4px 0 18px}.ticks li{position:relative;padding-left:24px;margin-bottom:8px;color:var(--ink-2);font-size:14.5px}.ticks li:before{content:"✓";position:absolute;left:0;top:0;color:var(--brand);font-weight:800}.cta-band{margin:28px 0 18px;padding:24px;border-radius:14px;background:var(--slate);color:#fff;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}.cta-band p{color:rgba(255,255,255,.8)}.cta-band .btn.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.exam-context{display:flex;align-items:center;gap:8px}.exam-context select{width:auto;padding:6px 10px;font-weight:600}@media (max-width:640px){.exam-select{margin-top:-40px}.hero{padding:48px 16px 72px}}.exam-panel{border-left:4px solid var(--brand)}.mock-trend{display:flex;gap:10px;align-items:flex-end;height:90px;margin-top:16px;padding-top:6px;border-top:1px solid var(--line)}.mock-bar{width:34px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.mock-bar i{display:block;width:100%;border-radius:4px 4px 0 0}.mock-bar span{font-size:11px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grid>.card+.card{margin-top:0}.explanation h3{font-size:1rem;margin:18px 0 6px;color:var(--ink)}.explanation h3:first-child{margin-top:0}