@font-face{font-family:Geist SAT;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin.woff2) format("woff2")}@font-face{font-family:Geist Mono SAT;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin.woff2) format("woff2")}.adaptive-test{--ink: #17211d;--muted: #68726d;--paper: #f4f2ea;--card: #fffdf7;--line: #d9d6cb;--green: #19634c;--green-deep: #104837;--lime: #d8ee8f;--orange: #df6b3a;--red: #b84336;--shadow: 0 18px 50px rgba(34, 47, 40, .1);--font-geist-sans: "Geist SAT";--font-geist-mono: "Geist Mono SAT";color-scheme:light}.adaptive-test,.adaptive-test *{box-sizing:border-box}.adaptive-test{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 18%,rgba(216,238,143,.2),transparent 24rem),var(--paper);font-family:var(--font-geist-sans),Arial,sans-serif}:where(.adaptive-test) button,:where(.adaptive-test) input,:where(.adaptive-test) select{font:inherit;color-scheme:light}:where(.adaptive-test) button{color:inherit}.app-shell{min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,78px);border-bottom:1px solid rgba(23,33,29,.12)}.brand{display:flex;align-items:center;gap:11px;font-weight:760;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:var(--card);background:var(--green);border-radius:10px;font-family:Georgia,serif;font-size:20px}.library-count{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.status-dot{width:8px;height:8px;background:#4d9f64;border-radius:50%;box-shadow:0 0 0 4px #4d9f641f}.setup-grid{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(500px,.75fr);align-items:center;gap:clamp(40px,8vw,130px);width:min(1320px,90vw);margin:auto;padding:56px 0 72px}.hero-copy{max-width:610px}.eyebrow{display:inline-block;color:var(--green);font-family:var(--font-geist-mono),monospace;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-copy h1{margin:18px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,6vw,84px);font-weight:500;line-height:.96;letter-spacing:-.055em}.hero-copy>p{color:var(--muted);max-width:520px;font-size:18px;line-height:1.65}.hero-stats{display:flex;gap:38px;margin-top:48px;padding-top:26px;border-top:1px solid var(--line)}.hero-stats div{display:flex;flex-direction:column;gap:4px}.hero-stats strong{font-size:19px;letter-spacing:-.03em}.hero-stats span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.setup-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(28px,3vw,42px);box-shadow:var(--shadow)}.step-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px}.step-heading>span{font-family:var(--font-geist-mono);font-size:11px;color:var(--green);padding-top:5px}.step-heading h2{margin:0 0 4px;font-size:24px;letter-spacing:-.035em}.step-heading p{margin:0;color:var(--muted);font-size:14px}.adaptive-test fieldset{border:0;padding:0;margin:0 0 24px}.adaptive-test legend,.select-field>span{display:block;margin-bottom:9px;font-size:11px;font-weight:720;letter-spacing:.09em;text-transform:uppercase;color:#545f5a}.segmented{display:grid;background:#eeece4;padding:4px;border-radius:10px}.segmented.three{grid-template-columns:.8fr 1.4fr .7fr}.segmented button,.count-picker button{border:0;background:transparent;padding:11px 8px;border-radius:7px;cursor:pointer;color:var(--muted);font-size:13px;font-weight:620}.segmented button.active,.count-picker button.active{background:var(--card);color:var(--ink);box-shadow:0 2px 9px #00000012}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-card{display:grid;grid-template-columns:30px 1fr;text-align:left;column-gap:5px;padding:14px;border:1px solid var(--line);border-radius:11px;background:transparent;cursor:pointer}.mode-card.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#d8ee8f1f}.mode-icon{grid-row:1 / span 2;width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:12px}.mode-card.active .mode-icon{background:var(--green);color:#fff;border-color:var(--green)}.mode-card strong{font-size:13px}.mode-card small{color:var(--muted);margin-top:2px;font-size:11px}.field-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px;align-items:end}.count-picker{display:grid;grid-template-columns:repeat(4,1fr);background:#eeece4;padding:4px;border-radius:10px}.select-field select{width:100%;height:45px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:var(--card);color:var(--ink);font-size:13px}.primary-button,.secondary-button{border-radius:10px;min-height:48px;padding:0 18px;font-weight:720;cursor:pointer;border:1px solid transparent}.primary-button{width:100%;display:flex;align-items:center;justify-content:space-between;color:#fff;background:var(--green)}.primary-button:hover{background:var(--green-deep)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.primary-button.compact{width:auto;min-width:150px;justify-content:center;gap:12px}.secondary-button{background:transparent;border-color:var(--line)}.secondary-button:disabled{opacity:.35;cursor:not-allowed}.available-note{margin:10px 0 0;text-align:center;color:var(--muted);font-size:11px}.adaptive-divider{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:#9a9e99;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.adaptive-divider:before,.adaptive-divider:after{content:"";height:1px;background:var(--line);flex:1}.adaptive-builder{border:1px solid #a8c471;border-radius:12px;padding:15px;background:#d8ee8f1f}.adaptive-builder-copy{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px}.adaptive-builder-copy>span:last-child{display:flex;flex-direction:column;gap:2px}.adaptive-builder-copy strong{font-size:13px}.adaptive-builder-copy small{color:var(--muted);font-size:10px}.adaptive-symbol{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--green);color:#fff;font-weight:800}.adaptive-scope{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:13px 0 10px}.adaptive-scope button{min-height:35px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;cursor:pointer}.adaptive-scope button.active{color:var(--green);border-color:var(--green);background:var(--lime)}.fresh-toggle{display:flex;align-items:center;gap:8px;margin:10px 0 13px;color:var(--muted);font-size:11px;font-weight:650;cursor:pointer}.fresh-toggle input{accent-color:var(--green);width:15px;height:15px}.adaptive-launch{width:100%;display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:10px;border:0;border-radius:8px;padding:12px 14px;background:var(--green);color:#fff;text-align:left;cursor:pointer}.adaptive-launch:hover{background:var(--green-deep)}.adaptive-launch strong{font-size:12px;text-transform:uppercase;letter-spacing:.03em}.adaptive-launch>span{font-size:9px;opacity:.72}.adaptive-launch b{color:var(--green)}.adaptive-launch b{color:#fff}.session-topbar{background:var(--card)}.session-progress{width:min(390px,35vw);text-align:center}.session-progress>span{font-size:12px;font-weight:650;color:var(--muted)}.progress-track{height:4px;margin-top:8px;border-radius:9px;background:#e2e0d7;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--green);transition:width .25s ease}.exit-button,.text-button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}.timer{min-width:78px;text-align:center;padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-family:var(--font-geist-mono);font-size:14px;font-weight:700;background:var(--card)}.timer.urgent{color:var(--red);border-color:#d8aaa2;background:#f8e7e3}.question-layout{display:grid;grid-template-columns:270px minmax(0,820px);gap:clamp(34px,6vw,86px);width:min(1240px,92vw);margin:0 auto;padding:56px 0 90px;justify-content:center}.question-sidebar{padding-top:16px}.question-sidebar h2{margin:12px 0 4px;font-family:Georgia,serif;font-size:25px;font-weight:500;line-height:1.15}.question-sidebar>p{margin:0;color:var(--muted);font-size:13px}.question-map{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:30px}.question-map button{aspect-ratio:1;border:1px solid var(--line);background:transparent;border-radius:8px;cursor:pointer;font-size:12px;position:relative}.question-map button.answered{background:#e5e3da}.question-map button.current{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:var(--lime);font-weight:750}.question-map button.right{background:#d9eddf;color:var(--green)}.question-map button.wrong{background:#f4ddd8;color:var(--red)}.question-map button.flagged:after{content:"";width:6px;height:6px;background:var(--orange);border-radius:50%;position:absolute;right:4px;top:4px}.flag-button{margin-top:20px;border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;padding:0}.flag-button.active{color:var(--orange);font-weight:650}.question-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(26px,4vw,52px);box-shadow:0 12px 35px #222f2812}.question-meta{display:flex;justify-content:space-between;color:var(--muted);font-family:var(--font-geist-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:30px}.passage{background:#f1efe7;border-left:3px solid var(--green);border-radius:0 8px 8px 0;padding:22px 24px;font-family:Georgia,serif;font-size:17px;line-height:1.7;white-space:pre-wrap}.question-image{max-width:100%;max-height:420px;object-fit:contain;display:block;margin:24px auto}.prompt{margin:26px 0;font-size:20px;line-height:1.48;letter-spacing:-.02em}.answer-options{display:grid;gap:10px}.answer-options button{min-height:58px;display:grid;grid-template-columns:36px 1fr 24px;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:transparent;text-align:left;cursor:pointer}.answer-options button>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:12px;font-weight:700}.answer-options button p{margin:0;line-height:1.4}.answer-options button:hover:not(:disabled),.answer-options button.selected{border-color:var(--green);background:#d8ee8f21}.answer-options button.selected>span{color:#fff;background:var(--green);border-color:var(--green)}.answer-options button.correct{border-color:#5f9b70;background:#e4f1e7}.answer-options button.incorrect{border-color:#c76d61;background:#f8e6e2}.answer-options button.correct b{color:var(--green)}.answer-options button.incorrect b{color:var(--red)}.grid-answer{display:block}.grid-answer span{display:block;font-size:12px;font-weight:650;margin-bottom:8px}.grid-answer input{width:100%;height:54px;border:1px solid var(--line);border-radius:10px;padding:0 16px;background:#fff}.explanation{margin-top:22px;border-radius:11px;padding:18px 20px;border:1px solid}.explanation.correct{background:#e7f1e8;border-color:#b6d3bb}.explanation.incorrect{background:#f8e7e3;border-color:#e1b8b0}.explanation-heading{display:flex;gap:12px;align-items:center}.explanation-heading>span{width:27px;height:27px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:50%;font-weight:750}.explanation-heading div{display:flex;flex-direction:column}.explanation-heading small{color:var(--muted);margin-top:2px}.explanation p{margin:14px 0 0;font-size:14px;line-height:1.6;color:#46504b}.question-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.answered-status{color:var(--muted);font-size:11px}.results-shell{padding-bottom:80px}.results-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px 42px}.score-ring{width:184px;height:184px;border-radius:50%;margin:24px 0;background:conic-gradient(var(--green) var(--score),#dcd9cf 0);display:grid;place-items:center;position:relative}.score-ring:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;background:var(--paper);border-radius:50%}.score-ring>div{position:relative;z-index:1;display:flex;flex-direction:column}.score-ring strong{font-family:Georgia,serif;font-size:44px;font-weight:500}.score-ring span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.results-hero h1{margin:0;font-family:Georgia,serif;font-size:48px;font-weight:500;letter-spacing:-.045em}.results-hero p{color:var(--muted)}.adaptive-result{display:flex;gap:12px;align-items:center;margin-top:6px;padding:9px 14px;background:#d8ee8f33;border-radius:8px;font-size:12px}.adaptive-result span{color:var(--muted)}.adaptive-result strong{color:var(--green)}.adaptive-result i{font-style:normal;margin:0 7px;color:#8ba05b}.result-actions{display:flex;gap:10px;margin-top:20px}.result-actions .primary-button{width:auto;min-width:210px;gap:28px}.review-list{width:min(800px,90vw);margin:0 auto;display:grid;gap:8px}.review-row{display:grid;grid-template-columns:38px 1fr auto 20px;gap:14px;align-items:center;padding:15px 18px;background:var(--card);border:1px solid var(--line);border-radius:10px;text-align:left;cursor:pointer}.review-row>span:nth-child(2){display:flex;flex-direction:column}.review-row small{color:var(--muted);margin-top:2px}.review-row>span:nth-child(3){color:var(--muted);font-size:12px}.result-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-weight:700}.result-icon.correct{color:var(--green);background:#dcecdf}.result-icon.incorrect{color:var(--red);background:#f3ded9}.loading-screen{min-height:100vh;display:grid;place-items:center;text-align:center}.loading-mark{width:54px;height:54px;margin:auto;display:grid;place-items:center;border-radius:14px;background:var(--green);color:#fff;font-family:Georgia,serif;font-size:30px;animation:pulse 1.4s ease-in-out infinite}.loading-screen p{color:var(--muted)}.error-card{max-width:480px;padding:35px;background:var(--card);border:1px solid var(--line);border-radius:16px}.adaptive-badge{color:var(--green);background:#d8ee8f4d;border-radius:99px;padding:7px 12px;font-size:11px;font-weight:700}.transition-shell{background:radial-gradient(circle at 50% 30%,rgba(216,238,143,.25),transparent 28rem),var(--paper)}.transition-card{width:min(560px,90vw);margin:70px auto;padding:46px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);text-align:center}.transition-check{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 22px;border-radius:50%;background:var(--green);color:#fff;font-size:22px;font-weight:800}.transition-card h1{margin:14px 0 10px;font-family:Georgia,serif;font-size:38px;font-weight:500;letter-spacing:-.04em}.transition-card>p{color:var(--muted);line-height:1.6}.module-route{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:30px 0;position:relative}.module-route:before{content:"";position:absolute;top:15px;left:11%;right:11%;height:1px;background:var(--line);z-index:0}.module-route div{display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;z-index:1}.module-route div>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:11px}.module-route div.complete>span{color:#fff;background:var(--green);border-color:var(--green)}.module-route div.current>span{color:var(--green);background:var(--lime);border-color:var(--green);box-shadow:0 0 0 4px #d8ee8f52}.module-route small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.transition-details{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 28px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.transition-details div{display:flex;flex-direction:column;gap:3px;padding:14px;border-right:1px solid var(--line)}.transition-details div:last-child{border-right:0}.transition-details strong{font-size:18px}.transition-details span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}@keyframes pulse{50%{transform:scale(.94);opacity:.8}}@media (max-width: 900px){.setup-grid{grid-template-columns:1fr;width:min(660px,90vw)}.hero-copy h1{font-size:58px}.question-layout{grid-template-columns:1fr;padding-top:24px}.question-sidebar{display:grid;grid-template-columns:1fr auto;align-items:end}.question-sidebar .eyebrow,.question-sidebar h2,.question-sidebar>p{grid-column:1}.question-map{grid-column:1 / -1;grid-template-columns:repeat(10,1fr)}.flag-button{grid-column:2;grid-row:1 / span 3;margin:0}}@media (max-width: 620px){.topbar{padding:0 18px}.library-count{display:none}.setup-grid{padding-top:34px}.hero-copy h1{font-size:46px}.hero-stats{gap:18px;flex-wrap:wrap}.setup-card{padding:24px 18px}.field-row,.mode-grid{grid-template-columns:1fr}.session-progress{width:42vw}.session-topbar .brand>span:last-child{display:none}.question-map{grid-template-columns:repeat(5,1fr)}.question-panel{padding:22px 18px}.question-footer{flex-wrap:wrap}.answered-status{order:3;width:100%;text-align:center}.question-footer .primary-button,.question-footer .secondary-button{flex:1}.results-hero h1{font-size:38px}.review-row{grid-template-columns:34px 1fr 20px}.review-row>span:nth-child(3){display:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #4f8ef7;--blue-light: #1a2a4a;--blue-mid: #7aaeff;--red-light: #2e1212;--red-mid: #f07070;--amber-light: #2a1e00;--amber-mid: #f0b429;--green-light: #0f2318;--green-mid: #6ddb8a;--border: #2a2a2e;--border-hover: #3f3f46;--bg: #18181b;--bg-secondary: #111113;--bg-card: #1f1f23;--text: #f0f0f0;--text-secondary: #a0a0ab;--text-tertiary: #606068;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg-secondary);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit}input,textarea,select{color-scheme:dark}
