
:root{--navy:#10244b;--blue:#1e4078;--ink:#172b4f;--muted:#64758f;--aqua:#1db89d;--gold:#ffd070;--bg:#f3f7fc;--line:#dce6f1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #25bfa7;outline-offset:3px}header{background:var(--navy);padding:17px max(16px,calc((100vw - 1100px)/2));color:white;display:flex;align-items:center;justify-content:space-between;gap:10px}header a{text-decoration:none;font-weight:950;font-size:25px}header small{color:#c7d9f4;font-size:11px}nav{display:flex;gap:7px;flex-wrap:wrap;max-width:1100px;margin:18px auto 0;padding:0 16px}nav a{background:white;border:1px solid var(--line);padding:10px 13px;border-radius:12px;text-decoration:none;color:#344e77;font-size:13px;font-weight:750}nav a.active{background:var(--navy);color:#fff}main{max-width:1030px;margin:20px auto 60px;padding:0 16px}.hero{background:linear-gradient(125deg,#12274f,#24538a);color:#fff;padding:30px;border-radius:22px;margin-bottom:19px}.hero .kicker{font-size:12px;font-weight:850;color:var(--gold);letter-spacing:.12em}.hero h1{font-size:clamp(27px,5vw,43px);letter-spacing:-1.3px;margin:9px 0}.hero p{color:#dce7fa;max-width:730px;line-height:1.6;margin:7px 0}.stage{background:white;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 12px 30px #152c520d;margin-bottom:17px}.stage h2{margin:0 0 9px;font-size:23px}.sub{color:var(--muted);line-height:1.6;font-size:14px;margin:8px 0 17px}.levels{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 20px}.levels button{background:#edf3fb;border:1px solid #d6e3f2;color:#25426e;font-weight:800;padding:11px 15px;border-radius:999px}.levels button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.choices{display:grid;gap:10px;margin:19px 0}.choice{background:#f3f7fc;border:2px solid #dde8f4;border-radius:13px;color:#223b63;text-align:left;padding:15px;font-weight:730;min-height:50px}.choice.selected{background:#e4f7f1;border-color:var(--aqua)}.choice:disabled{opacity:.8}.btn{background:var(--navy);color:white;border:0;padding:13px 19px;border-radius:12px;font-weight:850;min-height:45px}.btn.secondary{background:#eaf1f9;color:var(--navy)}.btn.gold{background:var(--gold);color:var(--navy)}.btn:disabled{opacity:.52}.buttons{display:flex;gap:9px;flex-wrap:wrap}.question{font-weight:850;font-size:clamp(19px,3vw,25px);line-height:1.45}.detail{font-size:13px;font-weight:850;color:#537198;text-transform:uppercase;letter-spacing:.05em}.feedback{border:1px solid #bdded6;background:#ecf9f4;border-radius:14px;padding:15px;line-height:1.65;margin:14px 0}.feedback.fail{border-color:#e7cfac;background:#fff9ec}.feedback.hidden,.hidden{display:none!important}.stats{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}.stat{padding:10px 13px;background:#eef4fa;border-radius:11px;font-size:13px;font-weight:800;color:#426189}.reading-passage{background:#eef4ff;border-left:5px solid #2b78bc;padding:20px;border-radius:13px;font-size:16px;line-height:1.83;white-space:pre-line;margin:18px 0}.progress{width:100%;height:10px;background:#e3edf7;border-radius:999px;overflow:hidden;margin:12px 0 18px}.progress span{display:block;height:100%;background:#25b59d;width:0;transition:width .25s}.note{font-size:13px;line-height:1.7;padding:14px 16px;background:#edf4fd;border-radius:13px;color:#48627f;border:1px solid #dce7f4}.empty{font-size:13px;color:var(--muted)}input[type=number]{padding:13px;border:1px solid #becde0;border-radius:11px;width:125px;max-width:100%}footer{max-width:1030px;margin:30px auto;padding:20px 16px;color:#617390;font-size:12px;border-top:1px solid var(--line)}footer a{margin-right:14px}.qbadge{display:inline-block;background:#fff3d5;color:#75551f;border-radius:99px;padding:6px 11px;font-size:12px;font-weight:850}.results{background:#14315e;color:white;padding:21px;border-radius:17px}.results h2{color:#ffd070;font-size:29px}.results p{color:#e1eaff;line-height:1.6}.small{font-size:13px;color:var(--muted)}@media(max-width:600px){header{padding:13px 15px}header a{font-size:22px}header small{font-size:10px}nav{gap:5px;flex-wrap:nowrap;overflow:auto}nav a{white-space:nowrap;padding:9px 10px;font-size:12px}.hero{padding:24px 20px}.stage{padding:18px}main{padding:0 12px}}
