:root{--ink:#132940;--blue:#1c4c88;--sky:#e9f0f8;--paper:#f6f7f9;--line:#d7dfe8;--green:#177157;--muted:#56677a;--gold:#f1d491}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}header{max-width:1200px;margin:auto;padding:26px 32px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--line)}a{color:var(--blue)}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:10px 18px;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--blue);background:var(--sky)}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.danger{color:#a52736}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #cf9628;outline-offset:3px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-weight:bold;letter-spacing:1px;color:var(--ink);font-size:14px}.brand small{display:block;font-size:9px;letter-spacing:1.1px;color:var(--muted)}.brandmark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--gold);font-family:Georgia,serif;font-size:28px}nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}nav button{background:none;border-color:transparent;padding:6px 10px}nav a{font-size:15px;text-decoration:none}main{max-width:1136px;margin:auto;padding:42px 32px 70px;min-height:65vh}.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:45px;align-items:center;padding:20px 0 45px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:bold;color:var(--blue)}h1{font-family:Georgia,serif;line-height:1.12;font-size:clamp(36px,5vw,60px);font-weight:normal;margin:15px 0 20px}h2{font-family:Georgia,serif;font-size:29px;line-height:1.3;margin:0 0 16px}h3{font-size:19px;line-height:1.4;margin:0 0 10px}p{margin:0 0 16px}.lead{font-size:18px;color:var(--muted);max-width:630px}.badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.badge{font-size:12px;background:#e7edf3;border-radius:30px;padding:5px 12px}.heroaside{background:var(--ink);border-radius:16px;padding:30px;color:white;position:relative;overflow:hidden}.heroaside .big{font-size:76px;font-family:Georgia,serif;line-height:1.1;color:var(--gold)}.heroaside p{color:#d7e3ef;font-size:14px}.heroaside hr{border:0;border-top:1px solid #456079;margin:22px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel{border:1px solid var(--line);background:white;border-radius:12px;padding:24px}.card{display:flex;flex-direction:column;gap:10px}.card p{font-size:14px;color:var(--muted);flex:1}.card button{align-self:start}.number{font-family:Georgia,serif;color:var(--blue);font-size:24px}.panel{margin:20px 0}.setup{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:20px 0}label{display:block;font-size:14px;font-weight:bold}input,select,textarea{border:1px solid #9caec2;border-radius:8px;padding:10px;background:white;color:var(--ink)}select{max-width:100%}textarea{width:100%;min-height:240px;line-height:1.6;resize:vertical}.muted{color:var(--muted);font-size:14px}.notice{background:var(--sky);border-radius:8px;padding:15px 18px;font-size:14px;margin:20px 0}.bar{height:6px;background:#dce5ee;border-radius:10px;overflow:hidden;margin:15px 0 30px}.bar span{display:block;height:100%;background:var(--blue)}.row{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.timer{font-variant-numeric:tabular-nums;background:var(--ink);color:white;border-radius:8px;padding:7px 14px}.passage{white-space:pre-wrap;line-height:1.85;background:#f7f9fc;border:1px solid var(--line);padding:24px;border-radius:8px;margin:20px 0}.prompt{font-size:20px;line-height:1.5;margin:20px 0}.option{display:flex;gap:12px;align-items:baseline;border:1px solid var(--line);padding:12px 16px;margin:10px 0;border-radius:8px;cursor:pointer;font-weight:normal}.option:has(input:checked){border-color:var(--blue);background:var(--sky)}.option input{accent-color:var(--blue)}.feedback{padding:20px;background:#edf6f1;border:1px solid #a6d0bd;border-radius:8px;margin:20px 0}.feedback.incorrect{background:#fff2ef;border-color:#d9aca3}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.chunks{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.answerline{min-height:65px;padding:12px;border:2px dashed #bac8d8;border-radius:8px}.checklist label{font-weight:normal;display:flex;gap:10px;margin:10px 0}.checklist input{flex-shrink:0}audio{max-width:100%;display:block;margin:15px 0}.score{font-family:Georgia,serif;font-size:64px;color:var(--blue)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}th{color:var(--muted)}.overflow{overflow:auto}.review{margin-top:15px;padding:18px;border-left:3px solid var(--blue);background:#f7f9fc}.skip{position:absolute;left:-1000px}.skip:focus{left:20px;top:10px;background:white;z-index:10}footer{border-top:1px solid var(--line);padding:24px 32px;max-width:1200px;margin:auto;font-size:12px;color:var(--muted)}footer p{margin:4px 0}.hidden{display:none!important}.flashgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.flash{border:1px solid var(--line);background:white;padding:18px;border-radius:8px}details{margin:15px 0}summary{cursor:pointer}.tools{max-width:860px}.qrwrap svg{width:260px;height:260px;max-width:100%}.warning{color:#9a2334}#live{min-height:24px}.openlabel{display:inline-block;font-size:12px;background:#fff2d9;padding:3px 9px;border-radius:5px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}header{align-items:start}.hero{gap:24px}.heroaside{padding:22px}}@media(max-width:600px){header{padding:18px;display:block}.brand{margin-bottom:16px}main{padding:26px 18px 45px}.hero{grid-template-columns:1fr;padding-bottom:25px}.heroaside{display:none}.grid{grid-template-columns:1fr}.card{padding:20px}.flashgrid{grid-template-columns:1fr}.panel{padding:18px}.setup>*{width:100%}.setup select{width:100%}h1{font-size:40px}.passage{padding:16px}.actions button{flex:1}footer{padding:22px 18px}}@media print{header nav,.actions,footer,.noprint,button{display:none!important}body{background:white;color:black}main{padding:0}.panel,.flash{break-inside:avoid;border-color:#bbb}.flashgrid{grid-template-columns:repeat(2,1fr)}h1{font-size:30px}textarea{min-height:200px}}
