:root{--ink:#14213d;--blue:#193a6a;--red:#d5463b;--cream:#f7f3ea;--paper:#fffdf8;--muted:#647081;--line:#ddd8cd;--good:#1f7655;--bad:#ad352f;--shadow:0 18px 50px rgba(20,33,61,.09)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.topbar{height:82px;padding:0 max(24px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f7f3eaeb;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-weight:800}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-top:2px}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;font-family:Georgia,serif;font-size:15px;box-shadow:inset 0 -4px 0 var(--red)}button{font:inherit}.ghost{border:1px solid var(--line);background:transparent;padding:10px 14px;border-radius:10px;color:var(--ink);cursor:pointer}.ghost:hover{background:#fff}main{max-width:1100px;margin:auto;padding:56px 24px 80px}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:32px;align-items:stretch}.hero-copy{padding:24px 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:var(--red);margin:0 0 14px}h1{font-family:Georgia,serif;font-size:clamp(44px,7vw,76px);line-height:.96;letter-spacing:-.045em;margin:0 0 20px;max-width:760px}h2{font-family:Georgia,serif;font-size:32px;margin:0 0 12px}h3{font-size:18px;margin:0}.lede{font-size:18px;line-height:1.6;color:#465066;max-width:650px}.official{background:var(--blue);color:#fff;padding:28px;border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.official .big{font-family:Georgia,serif;font-size:60px;line-height:1}.official p{color:#dfe8f6}.official-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #ffffff32;padding-top:20px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.mode-card{cursor:pointer;transition:.18s transform,.18s border-color;text-align:left;color:inherit}.mode-card:hover{transform:translateY(-3px);border-color:#a7a08f}.icon{font-size:25px;margin-bottom:32px;display:block}.mode-card p,.muted{color:var(--muted);line-height:1.5}.mode-card .arrow{color:var(--red);font-weight:800}.stats{margin-top:44px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:#ebe6db;border-radius:14px;padding:18px}.stat strong{display:block;font-family:Georgia,serif;font-size:28px}.quiz-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.progress-wrap{flex:1;max-width:580px}.progress-meta{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:8px}.progress{height:7px;background:#ded9ce;border-radius:9px;overflow:hidden}.progress span{display:block;height:100%;background:var(--red);transition:.25s width}.timer{font-variant-numeric:tabular-nums;font-weight:800;background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:10px}.question{max-width:780px;margin:30px auto}.category{display:inline-block;background:#e7edf5;color:var(--blue);padding:7px 10px;border-radius:99px;font-size:12px;font-weight:800;margin-bottom:18px}.question h2{font-size:clamp(26px,4vw,38px);line-height:1.22}.answers{display:grid;gap:11px;margin-top:28px}.answer{display:flex;align-items:center;gap:14px;text-align:left;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff;color:inherit;cursor:pointer}.answer:hover:not(:disabled){border-color:var(--blue)}.answer b{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:#eef0f2}.answer.correct{border-color:var(--good);background:#eef8f3}.answer.wrong{border-color:var(--bad);background:#fbefee}.answer:disabled{cursor:default}.explanation{margin-top:20px;border-left:4px solid var(--blue);padding:16px 18px;background:#edf2f8;border-radius:0 10px 10px 0;line-height:1.55}.explanation a{color:var(--blue)}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.primary{border:0;background:var(--red);color:#fff;font-weight:800;padding:13px 20px;border-radius:11px;cursor:pointer}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;padding:13px 20px;border-radius:11px;cursor:pointer}.result{text-align:center;max-width:720px;margin:auto}.score-ring{width:150px;height:150px;border-radius:50%;margin:30px auto;display:grid;place-items:center;background:conic-gradient(var(--red) var(--score),#e3ded3 0);position:relative}.score-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--paper)}.score-ring strong{z-index:1;font:44px Georgia,serif}.warning{background:#fff3d8;border:1px solid #e9c978;padding:14px 16px;border-radius:12px;color:#72530d;line-height:1.4}footer{border-top:1px solid var(--line);padding:24px;text-align:center;color:var(--muted);font-size:12px}dialog{max-width:680px;border:0;border-radius:18px;padding:32px;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #0005}dialog::backdrop{background:#14213dcc}.dialog-close{float:right;border:0;background:none;font-size:28px;cursor:pointer}dialog li{margin:12px 0}dialog a{color:var(--blue)}.note{background:#eee9dd;padding:14px;border-radius:10px;line-height:1.5}@media(max-width:760px){.hero,.mode-grid,.stats-row{grid-template-columns:1fr}.topbar{height:72px}.brand small{display:none}main{padding-top:30px}.quiz-head{gap:12px}.official .big{font-size:48px}}.progress-summary .stat{min-height:112px;display:flex;flex-direction:column;justify-content:center}.progress-summary .stat span{color:var(--muted);margin-top:5px}.theme-results{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.theme-results h3{margin-bottom:7px}.theme-progress{padding:17px 0;border-bottom:1px solid var(--line)}.theme-progress:last-child{border-bottom:0;padding-bottom:2px}.theme-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.theme-heading strong{white-space:nowrap;font-family:Georgia,serif;font-size:20px}.theme-progress-link{border:0;padding:0;background:transparent;color:var(--ink);font-weight:750;text-align:left;cursor:pointer}.theme-progress-link:hover{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}.theme-progress small{display:block;color:var(--muted);margin-top:5px}.coverage-bar{height:4px;margin-top:10px;background:#e4dfd5;border-radius:99px;overflow:hidden}.coverage-bar span{display:block;height:100%;background:var(--red);border-radius:inherit}.priority-panel{margin-top:18px;background:#eee9dd;border-radius:14px;padding:18px}.priority-panel .eyebrow{margin-bottom:10px}.priority-theme{display:flex;width:100%;justify-content:space-between;gap:16px;border:0;border-top:1px solid var(--line);padding:12px 0;background:transparent;color:var(--ink);font-weight:750;text-align:left;cursor:pointer}.priority-theme:first-of-type{border-top:0}.priority-theme span{color:var(--muted);font-weight:650;white-space:nowrap}.priority-theme:hover{color:var(--red)}.progress-empty{margin:0;color:var(--muted);font-size:14px;line-height:1.5}@media(max-width:760px){.theme-results{padding:18px}.theme-heading{align-items:flex-start}.theme-progress-link{padding-right:8px}.priority-theme{align-items:flex-start}.progress-summary .stat{min-height:0}}.question{max-width:1020px}.topbar-actions{display:flex;align-items:center;gap:10px}.account-form{display:grid;gap:10px;margin-top:22px}.account-form label{font-weight:750}.account-form label small{color:var(--muted);font-weight:600}.account-form input{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;padding:13px 14px}.account-form input:focus{outline:3px solid #193a6a22;border-color:var(--blue)}.account-form .primary{margin-top:6px}.account-email{font-weight:750;background:#eee9dd;border-radius:10px;padding:12px 14px}.account-logout{margin-top:18px}.auth-note{font-size:13px;color:var(--muted);margin-top:18px}.auth-message{padding:12px 14px;border-radius:10px;line-height:1.45}.good-message{background:#eef8f3;color:var(--good)}.error-message{background:#fbefee;color:var(--bad)}@media(max-width:760px){.topbar-actions{gap:6px}.topbar-actions .ghost{padding:9px 10px;font-size:12px}#sourcesBtn{display:none}}.answer.selected{border-color:var(--blue);background:#edf2f8;box-shadow:0 0 0 2px #193a6a14}.verification{margin:18px 2px 0;color:var(--muted);font-size:14px}.verification-error{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:12px 14px;border-radius:10px;background:#fff3d8;color:#72530d;font-size:14px}.verification-error .secondary{flex:none;padding:9px 14px}@media(max-width:560px){.verification-error{align-items:flex-start;flex-direction:column}}.paywall{max-width:820px}.paywall .lede{margin:0 auto 24px}.paywall-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;text-align:left}.paywall-features div{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff}.paywall-features strong{min-width:48px;color:var(--blue);font:28px Georgia,serif}.paywall-features span{line-height:1.35}.paywall-features b,.paywall-features small{display:block}.payment-message{color:var(--blue)}.payment-spinner{margin:28px auto 0;color:var(--muted)}.payment-spinner:before{content:"";display:inline-block;width:14px;height:14px;margin-right:9px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;vertical-align:-2px;animation:payment-spin .8s linear infinite}@keyframes payment-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.payment-spinner:before{animation:none}}.paywall-features b{font-size:15px}.paywall-features small{margin-top:4px;color:var(--muted);font-size:13px}@media(max-width:600px){.paywall-features{grid-template-columns:1fr}}
