:root{--ink:#162c46;--paper:#f8f7f2;--teal:#187d76;--coral:#df796d;--line:#dce3e3;--muted:#687789}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #456fba;outline-offset:3px}button:disabled{opacity:.5;cursor:default}header{padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}header a{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-size:20px;font-weight:bold;letter-spacing:.5px;line-height:1.15}header small{display:block;font-size:9px;letter-spacing:2px;margin-top:6px}.logo{color:var(--coral);font-size:30px}.header-note{font-size:12px;color:var(--muted)}main{max-width:1380px;margin:auto;padding:48px 40px 60px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,5vw,60px);line-height:1.12;letter-spacing:-1.7px;margin-bottom:22px}h2{font-size:27px;line-height:1.3}h3{font-size:22px;line-height:1.35}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2px;color:var(--teal);margin-bottom:15px}.lead{font-size:19px;color:var(--muted);max-width:700px}.accent{color:var(--coral)}.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:10px 0 48px}.color-bars{display:flex;align-items:flex-end;gap:12px;padding:35px 50px}.color-bars i{display:block;width:27px;height:calc(20px * var(--n));border-radius:5px;background:var(--c)}.mode-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}.mode{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;border-top:5px solid var(--teal)}.mode.band2{border-top-color:var(--coral)}.mode p{font-size:15px;color:var(--muted)}.mode h2{margin:4px 0 12px}.mode button{margin-top:auto}.primary{border:0;background:var(--teal);color:white;padding:14px 24px;min-height:52px;border-radius:10px;font-weight:bold}.quiet{border:1px solid var(--line);background:white;padding:11px 18px;min-height:48px;border-radius:10px}.text-button{border:0;background:transparent;padding:10px 0;color:var(--teal);font-size:14px;text-decoration:underline}.practice-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.practice-top h1{font-size:30px;letter-spacing:-.5px;margin:0}.meta{font-size:14px;color:var(--muted)}.progress-line{display:flex;align-items:center;gap:18px;margin-bottom:24px}.progress-line progress{flex:1;height:7px;accent-color:var(--teal);border:0}.progress-line span{font-size:14px;white-space:nowrap}.section-tabs{display:flex;gap:12px;margin-bottom:24px}.section-tabs button{flex:1;background:transparent;border:1px solid var(--line);border-radius:12px;padding:14px;font-size:15px}.section-tabs button.active{background:#e1efe9;border-color:var(--teal);font-weight:bold}.question-map{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px}.question-map button{border:1px solid var(--line);background:white;min-width:44px;min-height:44px;border-radius:8px;font-size:14px}.question-map .answered{background:#e1efe9;border-color:#9bc5b8}.question-map .current{box-shadow:inset 0 0 0 2px var(--teal)}.question-map .wrong{background:#fff0eb;border-color:var(--coral)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:28px}.passage{position:sticky;top:20px;background:white;border:1px solid var(--line);border-radius:16px;padding:30px;max-height:85vh;overflow:auto;font-size:18px;line-height:1.85}.passage p{margin-bottom:22px}.passage h2{font-size:24px}.passage table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;margin-top:25px}.passage td,.passage th{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left}.passage th{background:#edf4f0}.blank{font-weight:bold;color:var(--teal);white-space:nowrap}.questions{min-width:0}.question{margin:0 0 22px;padding:26px;border:1px solid var(--line);border-radius:16px;background:white;min-width:0;scroll-margin-top:20px}.question legend{float:left;width:100%;font-weight:bold;font-size:18px;line-height:1.5;margin-bottom:18px}.question legend+*{clear:both}.q-number{display:inline-grid;place-items:center;background:#edf4f0;color:var(--teal);width:31px;height:31px;border-radius:7px;margin-right:8px;font-size:15px}.choice{display:flex;align-items:flex-start;gap:13px;border:1px solid var(--line);border-radius:11px;min-height:58px;padding:15px 16px;margin-bottom:10px;cursor:pointer;font-size:17px;line-height:1.5}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:focus-visible){outline:3px solid #456fba;outline-offset:3px}.letter{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border:1px solid #bfc9cc;border-radius:50%;font-size:13px}.choice:has(input:checked){background:#e6f2ed;border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.choice:has(input:checked) .letter{background:var(--teal);border-color:var(--teal);color:white}.choice.correct{border-color:var(--teal);background:#e6f2ed}.choice.incorrect{border-color:var(--coral);background:#fff0eb;box-shadow:none}.explanation{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;font-size:15px}.explanation details{margin-top:12px}.explanation summary{cursor:pointer}.navigation{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.navigation .finish{background:var(--coral)}.saved{font-size:13px;color:var(--muted);margin-top:24px}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.score-card{background:white;border:1px solid var(--line);padding:28px;border-radius:16px}.score-card strong{font-size:45px;line-height:1.2;display:block}.result-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.result-list button{background:white;border:1px solid var(--line);border-radius:10px;padding:16px;text-align:left;min-height:65px;font-size:14px}.result-list .yes{border-left:4px solid var(--teal)}.result-list .no{border-left:4px solid var(--coral)}.notice{border-left:3px solid var(--coral);padding:10px 20px;margin-top:28px;color:var(--muted);font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:12px}footer{padding:25px 40px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}dialog{border:1px solid var(--line);border-radius:18px;padding:35px;max-width:min(92vw,520px);color:var(--ink)}dialog::backdrop{background:#162c4677}dialog img{display:block;margin:20px auto}#qr-close{float:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1000px){main{padding:32px 24px}.mode-grid{grid-template-columns:1fr 1fr}.mode.full{grid-column:1/-1}.workspace{gap:18px}.passage{padding:22px;font-size:17px}.question{padding:20px}.choice{padding:13px;font-size:16px}.color-bars{padding:20px}.header-note{display:none}}
@media(max-width:700px){header{padding:18px 20px}header a{font-size:16px}header .quiet{font-size:12px;padding:8px 10px}main{padding:28px 18px}.hero{margin-bottom:30px}.color-bars{display:none}.mode-grid{grid-template-columns:1fr}.mode.full{grid-column:auto}.mode{padding:25px}.workspace{grid-template-columns:1fr}.passage{position:static;max-height:none}.practice-top{align-items:flex-start}.practice-top h1{font-size:25px}.section-tabs button{font-size:13px;padding:12px 8px}.question-map{gap:6px}.result-list{grid-template-columns:repeat(2,1fr)}.score-grid{gap:12px}.score-card{padding:19px}.score-card h3{font-size:17px}.score-card strong{font-size:34px}footer{padding:22px;display:block}footer span{display:block;margin-top:8px}.navigation{flex-wrap:wrap}.navigation button{flex:1}.passage table{font-size:12px}}

.section-tabs,
.question-map {
  display: none;
}
