:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173640;background:#f5f5ef;font-synthesis:none;font-weight:400;--bg:#f5f5ef;--panel:#fff;--ink:#173640;--muted:#617377;--line:#dce3dd;--accent:#167454;--accent-soft:#e9f3eb;--button:#153c3e;--button-ink:#fff;--hero:#e6eee5;--correct:#126843;--correct-bg:#e6f6ec;--wrong:#a32c35;--wrong-bg:#ffebed;--shadow:0 8px 30px #17364006;color-scheme:light}:root[data-theme=dark]{--bg:#0d2028;--panel:#132c35;--ink:#e5eeeb;--muted:#9aafb2;--line:#2b444c;--accent:#a4e4bb;--accent-soft:#203f38;--button:#b6ebc9;--button-ink:#102b2c;--hero:#193932;--correct:#9ae9b6;--correct-bg:#163e30;--wrong:#ffabb4;--wrong-bg:#48262f;--shadow:0 8px 30px #0001;color-scheme:dark;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1:focus,main:focus{outline:none}button{color:inherit}a{color:var(--accent);text-underline-offset:3px}svg{width:24px;height:24px;flex-shrink:0}h1,h2,h3,p{margin-top:0}p{line-height:1.65}h2{font-size:28px;letter-spacing:-.7px}h3{font-size:18px;line-height:1.35}small{font-size:12px}button{border:0}progress{height:5px;width:100%;border:0;background:var(--line);border-radius:10px;overflow:hidden;display:block}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent);border-radius:10px}progress::-moz-progress-bar{background:var(--accent)}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:16px;z-index:10;background:var(--panel);padding:16px}.skip-link:focus{top:12px}.header{max-width:1240px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;background:none;text-align:left;font-size:23px;font-weight:800;letter-spacing:3px;padding:0}.brand-icon{width:46px;height:46px;background:var(--button);color:var(--button-ink);display:grid;place-items:center;border-radius:12px}.brand-icon svg{width:28px;height:28px}.brand small{display:block;font-size:9px;letter-spacing:1.7px;font-weight:600;margin-top:4px;color:var(--muted)}nav{display:flex;gap:24px;align-items:center}.nav-link{font-weight:600;font-size:14px;background:none;padding:10px 0;color:var(--muted)}.nav-link.active{color:var(--ink)}.theme-toggle{background:var(--panel);border:1px solid var(--line);height:42px;width:42px;display:grid;place-items:center;border-radius:50%}main{max-width:1240px;margin:auto;padding:0 40px 50px}.hero{display:flex;align-items:center;justify-content:space-between;min-height:374px;padding:53px 0 40px;gap:40px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;display:block;color:var(--accent);margin-bottom:16px}.hero h1{font-family:Georgia,Times New Roman,serif;font-size:59px;line-height:1.08;font-weight:400;letter-spacing:-2px;margin-bottom:22px}.hero h1 em{color:var(--accent);font-weight:400}.hero p{font-size:15px;color:var(--muted);margin-bottom:22px}.hero-badges{display:flex;gap:20px;font-size:11px;font-weight:600}.hero-badges span+span:before{content:"·";margin-right:20px;color:var(--muted)}.hero-chart{height:260px;width:330px;position:relative;flex-shrink:0;overflow:hidden;background:repeating-linear-gradient(0deg,transparent,transparent 31px,var(--line) 32px),repeating-linear-gradient(90deg,transparent,transparent 31px,var(--line) 32px);border-radius:180px 180px 35px 35px;opacity:.9}.chart-rings{position:absolute;width:240px;height:240px;border:1px solid var(--accent);border-radius:50%;left:45px;top:10px;opacity:.35}.chart-rings:before,.chart-rings:after{content:"";position:absolute;inset:25px;border:1px solid var(--accent);border-radius:50%}.chart-rings:after{inset:60px}.chart-boat{position:absolute;inset:76px 110px;display:grid;place-items:center;background:var(--bg);border-radius:50%;transform:rotate(-20deg)}.chart-boat svg{width:64px;height:64px;color:var(--accent)}.chart-north{position:absolute;left:50%;top:1px;font-size:11px;font-weight:700;background:var(--bg);padding:3px;transform:translate(-50%)}.chart-label{position:absolute;bottom:30px;left:0;right:0;text-align:center;letter-spacing:3px;font-size:10px;font-weight:700}.chart-coord{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:9px;color:var(--muted);letter-spacing:1px}.progress-strip{display:flex;align-items:center;gap:48px;padding:25px 28px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin:15px 0 54px}.progress-strip .eyebrow{font-size:9px;margin-bottom:8px;color:var(--muted)}.progress-strip p{margin:0;color:var(--muted);font-size:13px}.progress-strip strong{color:var(--ink);font-size:24px;margin-right:4px}.progress-summary{flex:1;max-width:450px}.progress-summary span{display:block;font-size:11px;color:var(--muted);margin-top:10px}.exam-stat{border-left:1px solid var(--line);padding-left:35px;display:flex;align-items:center;gap:10px}.exam-stat span{font-size:11px;color:var(--muted);max-width:80px;line-height:1.5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{margin:0}.section-heading>p{font-size:12px;color:var(--muted);margin:0 0 4px}.chapters{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.chapter{border:1px solid var(--line);border-radius:12px;padding:19px 17px;background:var(--panel);text-align:left;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}.chapter:hover{border-color:var(--accent);transform:translateY(-3px)}.chapter.selected{border:2px solid var(--accent);padding:18px 16px;background:var(--accent-soft)}.chapter-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.chapter-number{color:var(--muted);font-size:10px;letter-spacing:1px}.chapter-icon{background:var(--accent-soft);color:var(--accent);padding:8px;border-radius:9px;display:grid;place-items:center}.chapter h3{font-size:16px;letter-spacing:-.3px;margin-bottom:10px;min-height:43px}.chapter p{font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:28px}.chapter-bottom{display:flex;justify-content:space-between;font-size:10px;margin-top:auto;margin-bottom:10px;color:var(--muted)}.chapter-bottom span:first-child{font-weight:700;color:var(--ink)}.chapter progress{height:3px}.setup{display:grid;grid-template-columns:1.1fr 1.1fr 100px auto;gap:20px;align-items:center;margin-top:22px;padding:25px 27px;background:var(--hero);border:1px solid var(--line);border-radius:12px}.setup-heading .eyebrow{font-size:9px;margin-bottom:9px}.setup h3{font-size:16px;margin:0 0 6px}.setup p{font-size:11px;color:var(--muted);margin:0}.setup label{font-size:11px;font-weight:600;display:grid;gap:8px}select,input[type=number]{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);padding:12px;font-size:13px;height:45px;min-width:0}select{max-width:100%;text-overflow:ellipsis}.setup .count-label{position:relative}.count-label small{position:absolute;bottom:-19px;font-size:10px;font-weight:400;color:var(--muted)}.setup .primary{align-self:center;margin-top:20px}.setup .setup-note{grid-column:1/-1;margin-top:4px;color:var(--muted);font-size:11px}.primary,.secondary{display:inline-flex;gap:12px;align-items:center;justify-content:center;border-radius:7px;font-size:12px;font-weight:650;padding:14px 19px;min-height:45px;line-height:1.35}.primary{background:var(--button);color:var(--button-ink)}.primary svg{width:17px;height:17px}.primary:hover{filter:brightness(1.12)}.secondary{border:1px solid var(--line);background:var(--panel)}.secondary:hover:not(:disabled){border-color:var(--accent)}.text-button{padding:4px 0;background:none;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:3px}.exam-card{display:flex;align-items:center;gap:28px;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:33px;margin-top:44px}.exam-symbol{background:var(--accent-soft);color:var(--accent);height:65px;width:65px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.exam-symbol svg{width:31px;height:31px}.exam-intro{flex:1}.exam-intro .eyebrow{margin-bottom:12px}.exam-intro h2{font-size:24px;margin-bottom:10px}.exam-intro p{font-size:12px;color:var(--muted);margin-bottom:20px}.exam-facts{display:flex;gap:30px}.exam-facts span{font-size:11px;color:var(--muted)}.exam-facts strong{color:var(--ink);font-size:20px;margin-right:4px}.fine-print{color:var(--muted);font-size:11px;line-height:1.6;margin-top:16px}.history{margin-top:40px}.history h2{font-size:20px}.history>div{padding:14px 0;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);font-size:13px}.history>div>span:first-child{flex:1}.history small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.history>div>span:last-child{font-size:11px;color:var(--muted)}footer{max-width:1160px;margin:auto;padding:24px 0 30px;border-top:1px solid var(--line);display:flex;gap:30px;justify-content:space-between;font-size:10px;color:var(--muted)}footer button{font-size:10px;background:none;color:var(--muted);text-decoration:underline}.resume{background:var(--accent-soft);padding:20px 25px;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:20px}.resume strong{font-size:15px}.resume p{margin:7px 0 0;font-size:12px;color:var(--muted)}.status-dot{width:7px;height:7px;display:inline-block;background:var(--accent);border-radius:50%;margin-right:10px}.notice{margin-top:20px;padding:15px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:9px;font-size:13px;line-height:1.6}.notice button{float:right;background:none;font-size:20px}.loading,.load-error{margin:50px auto;padding:25px;max-width:700px}.session-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0;color:var(--muted);font-size:10px;letter-spacing:1px}.timer{display:flex;gap:8px;align-items:center;font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}.timer svg{width:18px;height:18px}.session-layout{display:grid;grid-template-columns:minmax(0,1fr) 238px;gap:25px;align-items:start}.question-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:32px}.question-meta{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px;line-height:1.5;margin-bottom:16px}.question-meta span:last-child{flex-shrink:0}.question-panel progress{height:3px;margin-bottom:30px}.question-panel h1{font-size:25px;line-height:1.45;letter-spacing:-.5px;font-weight:650;margin-bottom:28px}.answers{display:flex;flex-direction:column;gap:11px}.answer{display:flex;align-items:center;text-align:left;gap:15px;border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:16px;font-size:14px;line-height:1.5;min-height:68px;position:relative;color:var(--ink);opacity:1!important}.answer-letter{height:30px;width:30px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;font-size:12px;font-weight:650}.answer>span:nth-child(2){flex:1}.answer-state{font-size:10px;font-weight:700;text-align:right;max-width:85px}.answer:hover:not(:disabled){border-color:var(--accent)}.answer.chosen{border:2px solid var(--accent);padding:15px;background:var(--accent-soft)}.answer.correct{border:2px solid var(--correct);padding:15px;background:var(--correct-bg);color:var(--correct)}.answer.wrong{border:2px solid var(--wrong);padding:15px;background:var(--wrong-bg);color:var(--wrong)}.answer.correct .answer-letter{border-color:var(--correct)}.answer.wrong .answer-letter{border-color:var(--wrong)}.answer-hint{color:var(--muted);font-size:11px;margin:18px 0 0}.feedback{margin:22px 0 0;font-size:13px;font-weight:650}.feedback.good,.good-text{color:var(--correct)}.feedback.bad,.bad-text{color:var(--wrong)}.explanation{margin-top:20px;background:var(--bg);padding:20px;border-radius:9px;font-size:13px;line-height:1.6}.explanation>strong{font-size:12px}.explanation p{margin:8px 0 12px}.explanation details{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.explanation ul{padding-left:20px}.explanation summary{cursor:pointer}.question-nav{display:flex;justify-content:space-between;margin-top:30px;gap:15px}.question-map{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.question-map h2{font-size:16px;letter-spacing:0;margin:0 0 8px}.question-map>p{font-size:11px;color:var(--muted);margin-bottom:20px}.number-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:400px;overflow:auto;padding:4px}.number{height:30px;font-size:11px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--muted)}.number.answered{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.number.current{outline:2px solid var(--ink);outline-offset:1px;color:var(--ink);font-weight:700}.map-legend{display:grid;gap:8px;font-size:10px;color:var(--muted);margin:20px 0}.wide{width:100%}.question-map .fine-print{font-size:10px;margin:15px 0 0}.question-image{background:#fff;border:1px solid var(--line);border-radius:10px;margin:0 0 25px;padding:20px;text-align:center}.question-image img{display:block;width:100%;max-width:700px;height:235px;object-fit:contain;margin:auto}.question-image figcaption{font-size:10px;color:#617377;margin-top:12px}.result-hero{text-align:center;padding:60px 0 40px}.result-hero h1{font-family:Georgia,serif;font-size:42px;letter-spacing:-1px;font-weight:400}.result-score{display:flex;justify-content:center;align-items:center;gap:15px;margin:30px 0}.result-score>strong{font-size:75px;letter-spacing:-4px;color:var(--accent);font-weight:600}.result-score>span{text-align:left;font-size:25px;color:var(--muted)}.result-score small{display:block;font-size:11px;margin-top:8px}.result-hero p{font-size:14px;color:var(--muted)}.review{max-width:850px;margin:auto}.review-item{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.review-item h3{font-size:20px;line-height:1.5}.review-item .answer{cursor:default}.review .section-heading h2{font-size:23px}.toggle{font-size:12px;display:flex;gap:9px;align-items:center}.toggle input{accent-color:var(--accent);width:17px;height:17px}.empty-state{padding:30px;text-align:center;background:var(--accent-soft);border-radius:12px}.sources{max-width:820px;margin:auto;padding-top:35px}.sources>.text-button{margin-bottom:40px}.sources h1{font-family:Georgia,serif;font-size:46px;font-weight:400}.sources h2{font-size:23px;margin-top:35px}.sources p{font-size:14px;color:var(--muted)}.sources a{overflow-wrap:anywhere}.scope-list>div{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:15px 0}.scope-list>div>span{font-size:13px;color:var(--accent);padding-top:2px}.scope-list p{margin:0}.scope-list strong{display:block;font-size:11px;margin-top:7px;color:var(--ink)}.coverage{padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.coverage summary{cursor:pointer;font-weight:600}.coverage li{padding:6px 0;font-size:12px;color:var(--muted)}dialog{max-width:460px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);padding:30px;box-shadow:0 20px 80px #0005}dialog::backdrop{background:#061b24b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog h2{font-size:25px}dialog p{color:var(--muted);font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:25px}@media(min-width:1250px){.hero-chart{margin-right:38px}.hero{padding-top:65px;padding-bottom:50px}.hero h1{font-size:64px}}@media(max-width:1050px){.chapters{grid-template-columns:repeat(3,1fr)}.chapter h3{min-height:0}.setup{grid-template-columns:1fr 1fr 90px}.setup .primary{grid-column:1/-1;margin:0}.setup .setup-note{text-align:center}.exam-symbol{display:none}.exam-card{gap:20px}.progress-strip{gap:25px}.exam-stat{padding-left:25px}.session-layout{grid-template-columns:minmax(0,1fr) 210px}.question-map{padding:15px}.hero-chart{width:280px}.chart-rings{left:20px}.chart-boat{left:90px;right:90px}.hero h1{font-size:54px}}@media(max-width:760px){.header{padding:18px 20px}.brand{font-size:19px;gap:9px}.brand small{font-size:7px;letter-spacing:1.1px}.brand-icon{width:39px;height:39px}.brand-icon svg{width:24px;height:24px}nav{gap:15px}.nav-link{font-size:12px}.theme-toggle{width:36px;height:36px}.theme-toggle svg{width:19px;height:19px}main{padding:0 20px 35px}.hero{min-height:0;padding:36px 0;gap:0}.hero-chart{display:none}.hero h1{font-size:47px;line-height:1.1}.hero p{font-size:14px}.hero-badges{font-size:10px;gap:13px}.hero-badges span+span:before{margin-right:13px}.eyebrow{font-size:9px;letter-spacing:1.6px}.progress-strip{display:grid;grid-template-columns:1fr auto;padding:20px;gap:16px;margin:0 0 35px}.progress-strip strong{font-size:22px}.progress-summary{grid-row:2;grid-column:1/-1;max-width:none}.exam-stat{padding-left:15px;gap:6px}.exam-stat span{font-size:9px}.section-heading{display:block}.section-heading>p{margin-top:12px;font-size:11px}h2{font-size:25px}.chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chapter{padding:17px 14px}.chapter.selected{padding:16px 13px}.chapter-top{margin-bottom:20px}.chapter h3{font-size:15px}.chapter p{font-size:11px;margin-bottom:22px}.chapter:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;column-gap:15px}.chapter:last-child .chapter-top{grid-row:1/4;margin:0}.chapter:last-child h3,.chapter:last-child p{margin-bottom:8px}.chapter:last-child .chapter-bottom{margin-top:3px}.chapter:last-child progress{grid-column:1/-1;margin-top:10px}.setup{grid-template-columns:minmax(0,1fr) 86px;padding:20px;gap:22px 15px}.setup-heading{grid-column:1/-1}.setup label{min-width:0}.setup .primary{margin-top:4px}.setup-note{font-size:10px!important}.exam-card{display:block;padding:25px;margin-top:30px}.exam-intro h2{font-size:23px;line-height:1.3}.exam-card .primary{width:100%;margin-top:25px}.exam-facts{justify-content:space-between;gap:15px}.exam-facts strong{font-size:23px}.fine-print{font-size:10px}.resume{padding:18px;align-items:start}.resume .primary{font-size:11px;padding:12px;white-space:nowrap}.resume p{font-size:10px}.resume strong{font-size:13px}.resume svg{display:none}footer{margin:0 20px;padding:20px 0;flex-wrap:wrap;gap:15px}footer>span:last-child{width:100%}.session-top{padding:22px 0;gap:10px}.session-top>span:nth-child(2){font-size:8px;letter-spacing:0}.session-top .save-label{font-size:8px;letter-spacing:0}.session-layout{display:flex;flex-direction:column;gap:18px}.question-panel{padding:22px 18px;width:100%}.question-panel h1{font-size:22px;line-height:1.45}.question-meta{font-size:10px}.answer{font-size:13px;padding:14px 12px;gap:10px;flex-wrap:wrap}.answer.chosen,.answer.correct,.answer.wrong{padding:13px 11px}.answer-letter{height:26px;width:26px;font-size:11px}.answer>span:nth-child(2){flex-basis:calc(100% - 40px)}.answer-state{max-width:none;margin-left:36px}.question-map{width:100%;padding:22px}.number-grid{grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:8px}.number{height:44px}.question-nav{gap:10px}.question-nav button{padding:13px;font-size:11px}.question-image{padding:12px}.question-image img{height:190px}.explanation{padding:16px;font-size:12px}.result-hero{padding:38px 0 28px}.result-hero h1{font-size:33px}.result-hero p{font-size:12px}.result-score>strong{font-size:65px}.result-hero .primary{width:100%}.review-item{padding:20px 16px}.review-item h3{font-size:18px}.review .toggle{margin-top:15px}.sources h1{font-size:39px}.sources p{font-size:13px}.sources h2{font-size:22px}.history>div{gap:15px}.timer{font-size:16px}}@media(max-width:370px){main{padding-left:14px;padding-right:14px}.header{padding-left:14px;padding-right:14px}.brand small{display:none}.brand{font-size:17px}nav{gap:12px}.hero h1{font-size:42px}.hero-badges{gap:8px}.hero-badges span+span:before{margin-right:8px}.exam-stat{padding-left:10px}.progress-strip{padding:17px}.progress-strip p{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
