:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#15283c;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:#116b9b;text-decoration:none}a:hover{text-decoration:underline}.header{background:#102c43;color:white;box-shadow:0 2px 12px #102c4320}.wrap{width:min(1080px,calc(100% - 32px));margin:auto}.top{display:flex;justify-content:space-between;align-items:center;padding:17px 0}.brand{display:flex;align-items:center;gap:11px;color:white}.brand:hover{text-decoration:none}.brand strong{display:block;font-size:17px}.brand small{display:block;color:#b7d6e9;font-size:12px;margin-top:2px}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#1c9cb2;color:white;font-weight:800}.mainlink{color:#d0e6f3;font-size:14px}main{flex:1;padding:28px 0 56px}.footer{padding:22px 0;background:#eaf0f6;color:#5a7185;font-size:13px}.hero{background:linear-gradient(125deg,#102c43,#14647d);border-radius:20px;color:white;padding:36px;margin-bottom:24px}.hero h1{margin:0 0 10px;font-size:clamp(24px,4vw,35px);line-height:1.2}.hero p{margin:0;color:#c6e6ed}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#1481a0;margin:0 0 9px}.hero .eyebrow{color:#a2e3e6}.panel{background:white;border:1px solid #dde7ef;border-radius:16px;padding:25px;margin-bottom:20px;box-shadow:0 4px 12px #162d4210}h2{font-size:22px;margin:0 0 10px}h3{margin:0 0 7px}p{line-height:1.55}.muted{color:#5d7284}.classbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.pill{border:1px solid #ccdbe5;background:white;border-radius:999px;padding:10px 19px;color:#2e5369;font-size:15px;font-weight:700;cursor:pointer}.pill.active{background:#14647d;color:white;border-color:#14647d}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.subject{border:1px solid #dbe6ee;background:#fff;border-radius:13px;padding:20px;text-align:left;cursor:pointer;transition:transform .13s,box-shadow .13s;color:inherit}.subject:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1d415216}.subject .emoji{font-size:29px;display:block;margin-bottom:12px}.subject strong{display:block;font-size:17px;margin-bottom:6px}.subject small{font-size:12px;color:#678092}.status{display:inline-block;padding:5px 9px;border-radius:20px;background:#edf3f7;color:#617587;font-size:12px;font-weight:700}.status.live{background:#e2f6f0;color:#09654f}.crumbs{color:#5b7588;font-size:14px;margin-bottom:18px}.crumbs a{margin-right:5px}.cardrow{border:1px solid #dce7ee;border-radius:12px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 0}.cardrow p{margin:4px 0 0;color:#6a7c8d;font-size:14px}.btn{background:#14647d;border:1px solid #14647d;color:white;border-radius:10px;padding:11px 17px;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{background:#0f4d62;text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{background:white;color:#14647d;border-color:#b8cedc}.btn.secondary:hover{background:#f0f7fa}.btn.ghost{background:transparent;border-color:#d0dce5;color:#4a687a}.note{padding:20px;border-radius:12px;background:#f0f6fa;color:#31576b;border:1px solid #d9e9f1}.quiztop{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.progress{height:8px;background:#e7eef3;border-radius:20px;overflow:hidden;margin:19px 0 22px}.progress>div{height:100%;background:#1c9cb2;transition:width .2s}.question{font-size:20px;line-height:1.55;font-weight:700;margin:13px 0 23px;white-space:pre-line}.answers{display:grid;gap:11px}.choice{display:flex;align-items:flex-start;gap:12px;border:1px solid #d9e5ed;border-radius:12px;padding:15px;cursor:pointer;line-height:1.5}.choice:hover{background:#f7fbfd}.choice.selected{background:#eaf7fa;border-color:#1a88a0}.choice input{margin-top:4px;accent-color:#14647d}.letter{background:#edf3f7;border-radius:8px;min-width:29px;height:29px;display:grid;place-items:center;font-size:13px;font-weight:800}.actionbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:26px}.hint{margin-top:18px}.hint summary{color:#116b9b;cursor:pointer;font-weight:700}.hint p{margin:9px 0 0;color:#526e7e}.count{font-size:13px;color:#647b89}.bigscore{font-size:56px;font-weight:800;margin:8px 0;color:#14647d}.reviewitem{padding:20px 0;border-top:1px solid #e2eaf0}.reviewitem h3{font-size:16px;line-height:1.45}.reviewopt{padding:10px 12px;border-radius:9px;margin:7px 0;border:1px solid #e2eaf0;font-size:14px}.reviewopt.correct{background:#e9f8f1;border-color:#7acaab}.reviewopt.wrong{background:#fff0ee;border-color:#edb0a6}.reviewopt small{display:block;margin-top:4px;color:#52697a;line-height:1.5}.warning{border-left:4px solid #df9d36;padding:10px 14px;background:#fff7e8;margin:20px 0;color:#735112}@media(max-width:700px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:19px}.hero{padding:27px 22px}.cardrow{align-items:flex-start;flex-direction:column}.question{font-size:18px}.mainlink{font-size:12px}}@media(max-width:410px){.grid{grid-template-columns:1fr}.top{gap:12px}}

/* Stable, one-screen quiz layout: only a long question's content scrolls. */
body:has(.quizpanel) {height:100dvh;min-height:0;overflow:hidden}
body:has(.quizpanel) main {display:flex;flex-direction:column;min-height:0;padding-top:12px;padding-bottom:8px}
body:has(.quizpanel) .header .top {padding-top:9px;padding-bottom:9px}
body:has(.quizpanel) .footer {display:none}
body:has(.quizpanel) .crumbs {margin-bottom:8px}
.quizpanel {flex:1;min-height:0;display:flex;flex-direction:column;margin:0;padding:16px 22px 10px;overflow:hidden}
.quizpanel .quiztop h2 {font-size:19px;margin-bottom:2px}
.quizpanel .quiztop .eyebrow {margin-bottom:2px}
.quizpanel .progress {flex-shrink:0;margin:10px 0}
.quizbody {flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 3px 6px;scrollbar-width:thin}
.quizpanel .question {font-size:clamp(16px,2.5vh,20px);line-height:1.35;margin:5px 0 12px}
.quizpanel .answers {gap:7px}
.quizpanel .choice {padding:10px 12px;line-height:1.35;align-items:center}
.quizpanel .choice input {margin-top:0}
.quizpanel .hint {margin-top:10px}
.quizpanel .actionbar {flex-shrink:0;border-top:1px solid #e2eaf0;margin-top:8px;padding-top:10px}
.quizpanel .actionbar .btn {min-width:125px}
.quizpanel>.count {margin:5px 0 0;flex-shrink:0}
@media(max-width:700px){.quizpanel {padding:12px}.quizpanel .choice {padding:9px}.quizpanel .question {font-size:17px}.quizpanel .actionbar .btn {min-width:0}.quizpanel .quiztop h2 {font-size:17px}}
@media(max-height:650px){body:has(.quizpanel) .header .top {padding:5px 0}.quizpanel .quiztop h2 {font-size:16px}.quizpanel .choice {padding:7px 10px}.quizpanel .progress {margin:5px 0}}
