:root{color-scheme:dark;font-family:system-ui,"Noto Sans Sinhala",sans-serif;background:#0a1921;color:#f1fbfb;line-height:1.5}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
header{background:#112b37;border-bottom:1px solid #305261}
nav,main{max-width:74rem;margin:auto;padding:1rem}
nav{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap}
a{color:#a0f3d8;text-underline-offset:.2em}
h1{margin:1rem 0 0;font-size:clamp(1.7rem,5vw,2.8rem)}
h2{margin:0}
.subtitle{margin-top:.25rem;color:#b9d1db}
#setup,.exam-bar,.pages,.choices{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem}
label{display:grid;gap:.25rem}
button,select{min-height:44px;font:inherit;color:inherit;background:#173847;border:1px solid #547784;border-radius:.65rem;padding:.45rem .75rem}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.6}
button[aria-current=true]{outline:2px solid #ffc971}
button[aria-pressed=true],button.answered,#start,#submit{background:#99e7ce;color:#102c2a}
:focus-visible{outline:3px solid #ffc971;outline-offset:3px}
.exam-bar{justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.75rem;background:#112b37;border-radius:.7rem}
#clock{font-variant-numeric:tabular-nums;font-weight:750;color:#ffd894}
.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,21rem);gap:1rem;align-items:start}
.paper,#sheet{background:#112b37;border:1px solid #305261;border-radius:.8rem;padding:.8rem;min-width:0}
#sheet{position:sticky;top:1rem}
.pages{align-items:center;justify-content:space-between;margin-bottom:.7rem}
#page{width:100%;height:auto;display:block;background:#fff;border-radius:.3rem}
.grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.25rem}
.grid button{padding:.15rem;min-height:39px}
fieldset{border:0;margin:.8rem 0;padding:0}
legend{font-weight:700;margin-bottom:.5rem}
#review{padding:.6rem 0}
.jump{display:none}
@media(max-width:720px){
 .exam-layout{grid-template-columns:1fr}
 #sheet{position:static}
 .jump{display:inline}
 .exam-bar{position:sticky;top:0;z-index:1}
}
