*{box-sizing:border-box}
body{margin:0;background:#f3f7fb;color:#172033;font-family:Arial,sans-serif}
header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #dce4ef;padding:12px max(14px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:900;color:#748196}
.brand{font-size:22px;color:#1558d6;text-decoration:none}.brand span{color:#111}
main{max-width:1160px;margin:auto}.hero{text-align:center;padding:32px 15px 18px}
.eyebrow{font-size:9px;font-weight:900;letter-spacing:2px;color:#1558d6}
.hero h1{font-size:clamp(30px,5vw,50px);margin:8px}.hero p{max-width:850px;margin:auto;color:#68768b;line-height:1.8;font-size:14px}
.card{margin:10px 0;background:#fff;border:1px solid #dce4ef;border-radius:17px;padding:20px;box-shadow:0 10px 30px #12345a0b}
.controls{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.settings{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.settings label{font-size:9px;font-weight:900}.settings select{width:100%;height:42px;margin-top:5px;border:1px solid #d3ddeb;border-radius:8px;padding:8px;background:#fff}
.actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.actions button,.finish button,.pdf,.check,.show{border:0;background:#1558d6;color:#fff;border-radius:9px;padding:12px 8px;font-weight:900;font-size:9px;cursor:pointer}
.secondary{background:#334155!important}.outline{background:#fff!important;color:#334155!important;border:1px solid #d3ddeb!important}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.stats div{border:1px solid #e0e6ee;border-radius:11px;padding:10px}
.stats small{display:block;color:#7b8798;font-size:8px}.stats strong{display:block;margin-top:4px;color:#1558d6;font-size:18px}
.progressHead{display:flex;justify-content:space-between;font-size:10px;margin-bottom:7px}.progressHead span{color:#1558d6;font-weight:900}
.track{height:14px;background:#e8edf4;border-radius:20px;overflow:hidden}.track div{height:100%;width:0;background:#1558d6;transition:.3s}
.head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4e9f0;padding-bottom:12px;gap:10px}.head h2{margin:0 0 4px;font-size:19px}.head small{color:#7c899b}.pdf{background:#087f45}
.graphics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.graphic{border-radius:13px;padding:14px;background:#f5f8ff;border:1px solid #e1e8f5;text-align:center;min-height:145px}
.graphic h3{margin:10px 0 4px;font-size:14px}.graphic p{margin:0;color:#738097;font-size:9px}.patternGraphic{height:75px;display:grid;place-items:center;font-size:19px;color:#1558d6;font-weight:900}
.tip{margin:12px 0;padding:11px;text-align:center;background:#fff7df;color:#725a00;border-radius:8px;font-size:10px;line-height:1.7}
.question{border-bottom:1px solid #e7ebf1;padding:20px 5px}.qtop{display:flex;gap:12px;align-items:flex-start}.qnum{min-width:30px;color:#1558d6;font-weight:900;font-size:16px}
.prompt{font-size:19px;font-weight:900;color:#27354b;line-height:1.7;width:100%}.hint{font-size:9px;color:#8a96a7;margin:7px 0 0 42px}
.answerRow{display:flex;gap:8px;max-width:760px;margin:12px 0 0 42px;flex-wrap:wrap}.answer{height:45px;flex:1;min-width:170px;border:2px solid #ccd6e4;border-radius:8px;padding:8px 12px;font-size:18px;font-weight:900;outline:0}
.answer.correct{border-color:#16834b;background:#eaf8f0;color:#08763e}.answer.wrong{border-color:#d73a49;background:#fff0f1;color:#c52235}
.feedback{margin:7px 0 0 42px;font-size:9px;font-weight:900;min-height:13px}.good{color:#0b7a43}.bad{color:#c52235}.show{background:#334155}
.reveal{margin:9px 0 0 42px;padding:10px 12px;border-radius:8px;background:#eef5ff;border:1px solid #cfe0fb;color:#174f9f;font-size:10px}.reveal strong{font-size:14px}
.finish{text-align:center;padding-top:20px}.final{margin:15px auto 0;max-width:550px;border-radius:12px;padding:18px;background:#edf8f1;border:1px solid #bfe4cd}
.final strong{display:block;font-size:30px;color:#08763e}.final span{font-size:10px;color:#64748b}.hidden{display:none}
.pop{animation:pop .45s}.shake{animation:shake .42s}@keyframes pop{45%{transform:scale(1.12)}}@keyframes shake{20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.pattern{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.pattern span{display:inline-grid;place-items:center;min-width:54px;height:48px;border-radius:8px;background:#edf3ff;color:#1558d6;border:1px solid #cfe0fb}.pattern b{color:#9aa6b6}
.ruleQuestion{font-size:13px;margin-top:8px;color:#516174}.answerKey h2{margin-top:0}.answerKey>p{font-size:10px;color:#718096}
.answerKeyGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.answerKeyGrid>div{padding:9px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:9px;line-height:1.5}.answerKeyGrid span{display:block;margin-top:4px;color:#08763e}
.seo h2{font-size:20px}.seo h3{font-size:15px;margin-top:24px}.seo p,.seo li{font-size:11px;color:#637085;line-height:1.9}.seo ol{padding-left:20px}
footer{padding:20px 15px 40px;display:flex;justify-content:space-between;color:#788497;font-size:9px}
@media(max-width:900px){.controls{grid-template-columns:1fr}.settings{grid-template-columns:repeat(2,1fr)}.graphics{grid-template-columns:1fr}}
@media(max-width:600px){header{padding:10px 12px}.brand{font-size:18px}header>span{font-size:6px}.hero{padding:27px 10px 18px}.hero h1{font-size:31px}.hero p{font-size:12px}.card{margin:7px;padding:13px}.settings,.actions{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr 1fr}.head{align-items:flex-start;flex-direction:column}.pdf{width:100%}.prompt{font-size:16px}.answerRow{margin-left:37px}.answer,.check,.show{width:100%}.hint,.feedback,.reveal{margin-left:37px}.pattern span{min-width:45px}.answerKeyGrid{grid-template-columns:1fr}.seo p,.seo li{font-size:10px}footer{display:block;text-align:center}footer span{display:block;margin-top:6px}}