:root{--ink:#1b2421;--muted:#5c6b64;--paper:#f4f0e6;--card:#fffcf7f0;--line:#e4d9c8;--teal:#0f6a5c;--teal-deep:#0c4c43;--teal-soft:#e4f3ee;--sand:#efe4d4;--good:#1d7a46;--good-soft:#e7f6ec;--bad:#9c4036;--bad-soft:#fbeceb;--amber:#9a5b24;--amber-soft:#f8efe4;--shadow:0 24px 60px #30241214;--serif:"Fraunces", "Iowan Old Style", Palatino, Georgia, serif;--sans:"Outfit", "Avenir Next", "Segoe UI", sans-serif;color:var(--ink);background:radial-gradient(900px 420px at -10% -10%, #d7efe6 0%, transparent 60%), radial-gradient(760px 380px at 110% 0%, #f6e2cc 0%, transparent 55%), var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline-offset:3px;outline:3px solid #1a8f7a}::selection{background:#cfe6de}.page{width:min(920px,100% - 32px);margin:0 auto;padding:28px 0 48px}.topbar{gap:22px;margin-bottom:22px;display:grid}.brand{align-items:center;gap:12px;display:flex}.brand strong,.brand span{display:block}.brand strong{font-family:var(--serif);letter-spacing:-.03em;font-size:1.35rem;font-weight:560}.brand span,.kicker,.progress-label,.lesson-index,.review-top,.answer-line span,.score-caption,.footnote,.step-label,.formula p:last-child,.tally,.score-column p,.score-column span{color:var(--muted)}.brand span{font-size:.92rem}.mark{background:linear-gradient(160deg,#16897a,#0c4c43);border-radius:14px;width:42px;height:42px;box-shadow:inset 0 0 0 6px #ffffff29}.stepper-compact{margin:0;font-size:.92rem}.stepper-compact span{color:var(--ink);margin-top:2px;font-weight:600;display:block}.stepper-full{display:none}.panel{background:var(--card);box-shadow:var(--shadow);border:1px solid #e4d9c8e6;border-radius:28px;padding:28px 22px 24px;animation:.42s rise}.kicker{letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:600}h1,h2,legend{font-family:var(--serif);letter-spacing:-.03em;font-weight:560}h1{margin:0;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05}h2{margin:0 0 8px;font-size:1.45rem}.lead,.note,.lesson p,.disclaimer,.formula p{color:#31423c;line-height:1.55}.lead{font-size:1.05rem}.welcome .lead{max-width:62ch}.path{gap:10px;margin:8px 0 28px;padding:0;list-style:none;display:grid}.path li{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.path span,.option-letter,.step-index{background:var(--teal-soft);width:32px;height:32px;color:var(--teal-deep);border-radius:999px;flex:none;place-items:center;font-weight:650;display:grid}.button{background:var(--teal-deep);color:#fff;border:0;border-radius:999px;padding:14px 22px;font-weight:600}.button:hover{background:#083f38}.button.ghost{color:var(--teal-deep);background:0 0;border:1px solid #c9d5cf}.button.ghost:hover{background:var(--teal-soft)}.progress{background:var(--sand);border-radius:999px;height:8px;margin-top:22px;overflow:hidden}.progress>span,.track>span{border-radius:inherit;background:linear-gradient(90deg,#16897a,#0c4c43);height:100%;display:block}.progress-label{margin:8px 0 0;font-size:.92rem}.question{border:0;margin:18px 0 0;padding:0}legend{margin-bottom:16px;padding:0;font-size:1.55rem;line-height:1.25}.options{gap:10px;display:grid}.option{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:flex-start;gap:12px;padding:14px;line-height:1.4;display:flex;position:relative}.option input{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.option:focus-within{outline-offset:3px;outline:3px solid #1a8f7a}.option.is-selected{border-color:var(--teal);background:var(--teal-soft)}.option:hover{border-color:#b7cfc7}.form-error{color:var(--bad);margin:14px 0 0;font-weight:600}.actions{justify-content:space-between;gap:12px;margin-top:22px;display:flex}.actions-end{justify-content:flex-end}.score-hero{justify-items:start;margin:18px 0 8px;display:grid}.score-figure{font-family:var(--serif);letter-spacing:-.05em;color:var(--teal-deep);align-items:flex-start;margin:0;font-size:clamp(4.5rem,12vw,7rem);line-height:.85;display:flex}.score-figure small{margin-top:.45rem;font-size:.32em}.score-caption{margin:8px 0 0}.review{gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}.review li{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px 14px 12px}.review li.is-right,.review li.is-kept,.review li.is-improved{background:var(--good-soft)}.review li.is-wrong,.review li.is-still-wrong,.review li.is-regressed{background:var(--bad-soft)}.review-top,.answer-line{justify-content:space-between;gap:12px;display:flex}.review-top{letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:.84rem}.review li p{margin:0 0 8px}.answer-line{align-items:baseline;font-size:.95rem}.answer-line span{letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:.78rem}.answer-line.expected{color:var(--teal-deep);font-weight:600}.mock-flag{background:var(--amber-soft);color:var(--amber);border-radius:999px;margin:0;padding:6px 10px;font-size:.85rem;font-weight:650;display:inline-block}.lessons{gap:14px;margin-top:18px;display:grid}.lesson,.disclaimer,.formula{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}.lesson-index{letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:650}.remember{border-top:1px solid var(--line);margin:12px 0 0;padding-top:10px}.remember span{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:.78rem;font-weight:700;display:block}.disclaimer{margin-top:14px}.delta{background:var(--teal-soft);border-radius:22px;margin:8px 0 18px;padding:18px}.delta p{margin:0}.delta-value{font-family:var(--serif);letter-spacing:-.05em;font-size:clamp(4rem,10vw,6rem);line-height:.9}.delta.is-up{background:var(--good-soft);color:var(--good)}.delta.is-down{background:var(--bad-soft);color:var(--bad)}.delta.is-flat{background:var(--sand);color:var(--ink)}.compare{gap:12px;display:grid}.score-column{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}.score-column p,.score-column span{margin:0}.score-column strong{font-family:var(--serif);letter-spacing:-.04em;margin:6px 0;font-size:2.4rem;display:block}.track{background:var(--sand);border-radius:999px;height:8px;margin-top:12px;overflow:hidden}.formula{margin-top:12px}.formula p{margin:0 0 8px}.formula p:first-child{font-weight:650}.tally{grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.tally li{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;font-size:.92rem}.tally strong{color:var(--ink);font-family:var(--serif);margin-bottom:2px;font-size:1.6rem;display:block}.footnote{margin:18px 4px 0;font-size:.85rem}@media (width>=800px){.page{padding-top:36px}.topbar{align-items:end}.stepper-compact{display:none}.stepper-full{gap:8px;margin:0;padding:0;list-style:none;display:flex}.step{min-width:0;color:var(--muted);align-items:center;gap:8px;display:flex}.step.is-current{color:var(--ink);font-weight:650}.step.is-done .step-index{background:var(--teal-deep);color:#fff}.step.is-upcoming .step-index{background:var(--sand)}.panel{padding:36px 36px 30px}.compare{grid-template-columns:1fr 1fr}}@media (width<=640px){.tally{grid-template-columns:1fr}.actions{flex-direction:column-reverse}.actions .button{width:100%}.answer-line{flex-direction:column;gap:2px}}@media (prefers-reduced-motion:reduce){.panel{animation:none}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
