@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#0d2544;--muted:#455a72;--blue:#0755a6;--bg:#f1f6fb;--line:#ccd9e7;--mint:#b8f3de;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "DM Sans",system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}.wrap{width:min(1120px,calc(100% - 36px));margin:auto}header,footer{background:white}.top,footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0}.brand{display:flex;align-items:center;gap:12px;text-align:left;background:none;color:var(--ink);padding:0;box-shadow:none}.brand:hover{background:none;color:var(--blue)}.mark{display:grid;place-items:center;background:var(--blue);color:white;border-radius:13px;width:42px;height:42px;font-size:24px}.brand small{display:block;color:var(--muted);font-weight:500}.tag{color:var(--muted);font-size:.88rem}main.wrap{margin:28px auto 64px;flex:1}h1,h2,h3{font-family:Manrope,"DM Sans",system-ui;line-height:1.13;margin:0 0 .55em}h1{font-size:clamp(2.25rem,6vw,4.6rem);letter-spacing:-.055em}h2{font-size:clamp(1.55rem,4vw,2.35rem);letter-spacing:-.03em}p{margin:.45em 0 1em}.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#081d3e,#104b8a);color:white;border-radius:26px;padding:clamp(26px,6vw,69px);isolation:isolate}.hero p{max-width:48ch;color:#e3efff;font-size:1.1rem}.hero::after{content:"";z-index:-1;position:absolute;width:380px;height:380px;border:2px solid #78b8f56b;border-radius:80px;right:-115px;top:-60px;transform:rotate(33deg);box-shadow:0 0 0 32px #88c0ff1b,0 0 0 68px #88c0ff1b,0 0 0 110px #88c0ff1b}.eyebrow{font-size:.85rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--blue)}.hero .eyebrow{color:var(--mint)}.layout{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;margin-top:22px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:16px}.panel,.card{background:white;border:1px solid var(--line);border-radius:18px;padding:22px}.card{display:flex;flex-direction:column;align-items:flex-start;min-height:148px}.card p{color:var(--muted)}.card button{margin-top:auto}.locked{background:#e8edf4;color:#475971}.section{margin:26px 0 14px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}button,input,textarea{font:inherit}button{background:var(--blue);color:white;border:0;border-radius:11px;padding:10px 17px;font-weight:700;cursor:pointer}button:hover{background:#003f80}button.secondary{background:#e2edf9;color:#0b4078}button.secondary:hover{background:#c9def4}button:disabled{color:#475971;background:#d9e1ea;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b36b00;outline-offset:3px}input[type=text],textarea{display:block;width:100%;background:#fbfdff;border:1px solid #899fb7;border-radius:11px;padding:12px;color:var(--ink)}textarea{min-height:175px;resize:vertical}label{font-weight:700} .hint,.muted{color:var(--muted)}.exam{max-width:840px;margin:auto}.bar{position:sticky;top:0;background:var(--bg);z-index:1;padding:12px 0}.clock{font-variant-numeric:tabular-nums;font-weight:800;background:#dcecff;border-radius:8px;padding:5px 10px}.clock.urgent{background:#ffe3d4;color:#802600}progress{display:block;width:100%;height:10px;margin:10px 0;accent-color:var(--blue)}details{background:#eaf2fb;border-radius:12px;padding:12px 16px;margin:0 0 16px}summary{cursor:pointer;font-weight:700}.passage{white-space:pre-wrap;margin:11px 0 0}.option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;padding:13px;margin:10px 0;cursor:pointer}.option:has(input:checked){background:#e1efff;border-color:#2874c4}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:800;margin:0 0 12px}.navdots{margin:15px 0}.navdots button{min-width:42px;padding:8px}.navdots button[aria-current]{outline:2px solid var(--blue);outline-offset:2px}.score{font-size:clamp(2.1rem,6vw,4rem);font-weight:800}.result{border-left:4px solid #b76915;margin:12px 0}.result.good{border-color:#19826a}.criteria{margin-top:18px}.criteria label{display:block;padding:4px 0;font-weight:500}a{color:#0755a6;text-underline-offset:3px}footer{color:var(--muted);border-top:1px solid var(--line);font-size:.9rem}@media(max-width:680px){.layout{grid-template-columns:1fr}.tag{display:none}.hero::after{opacity:.47}.panel,.card{padding:16px}}
