.brand{display:flex;align-items:center;gap:16px;margin-bottom:16px;color:var(--navy)}.brand-mark{display:grid;place-items:center;width:72px;height:72px;flex:none}.brand img{display:block;width:48px;height:48px}.brand strong{font-size:24px;font-weight:750;letter-spacing:.5px;line-height:1.2}:root{--navy:#1b365d;--accent:#0c665e;--bg:#f0f4f8;--ink:#1e293b;--muted:#4b5d73;--line:#cbd5e1;--paper:#fff;--warning:#804709}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 'Segoe UI',Arial,sans-serif}main{max-width:880px;margin:auto;padding:32px 20px 64px}header,section{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:8px;margin-bottom:20px}header{border-top:7px solid var(--navy)}h1{font-size:38px;line-height:1.22;color:var(--navy);margin:16px 0}h2{font-size:24px;line-height:1.35;color:var(--navy);margin:0 0 12px}h3{font-size:20px;line-height:1.4}.lead{font-size:18px}.eyebrow{font-size:12px;letter-spacing:1.3px;font-weight:750;color:var(--accent);margin:0 0 8px}.small{font-size:14px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.tags span{padding:4px 10px;background:#e8eef6;color:var(--navy);font-size:13px;border-radius:4px}aside,.notice{padding:16px;background:#f7f4eb;border-left:4px solid #bd8d3f;margin:20px 0}aside{font-size:15px}.progress{position:sticky;top:0;z-index:2;display:flex;gap:16px;align-items:center;padding:12px 20px;background:#fff;border:1px solid var(--line);margin:20px 0;box-shadow:0 2px 4px #1b365d0c;font-size:14px;font-weight:600}.progress label{white-space:nowrap}progress{width:100%;height:10px;accent-color:var(--accent)}fieldset{min-width:0;border:0;padding:0;margin:24px 0}legend,.field-title{font-weight:650;display:block;margin-bottom:12px}legend{padding:0;line-height:1.5}.field-title span,legend>span{color:#aa2525}.text-input,select{width:100%;font:inherit;padding:12px;background:#fff;border:1px solid var(--line);border-radius:5px;color:var(--ink);margin-bottom:12px}.choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:5px;margin:8px 0;cursor:pointer;font-size:15px}.choice:hover{background:#f4f7fa}.choice:has(input:checked){border-color:var(--accent);background:#edf7f4}.choice input{margin:6px 0 0;flex-shrink:0;width:17px;height:17px;accent-color:var(--accent)}.options{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.question{padding-bottom:12px;border-bottom:1px solid #e5eaf0}.question:last-child{border:0}.instructions{background:#e8eef6}.consent{background:#fff;margin:20px 0}button{font:600 16px/1.5 'Segoe UI',Arial,sans-serif;padding:12px 20px;border:1px solid var(--navy);background:#fff;color:var(--navy);border-radius:5px;cursor:pointer;min-height:48px}button.primary{background:var(--navy);color:#fff;width:100%}button:hover{filter:brightness(.93)}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #bc770a;outline-offset:3px}#errors{padding:16px;background:#fff0ee;border:1px solid #a32b26;color:#862722;margin:20px 0}.invalid{outline:2px solid #a32b26;outline-offset:4px}#result{margin-top:32px;border-top:7px solid var(--accent)}#scores{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.score{background:#f2f5f8;padding:16px}.score strong{display:block;font-size:24px;color:var(--navy)}.module{padding:16px 0;border-bottom:1px solid var(--line)}.module h4{font-size:18px;margin:0 0 8px}.module p{margin:6px 0}.condition{color:var(--warning);font-weight:650}details{margin:24px 0;padding:16px;background:#f2f5f8}summary{cursor:pointer;font-weight:650}.actions{display:flex;flex-wrap:wrap;gap:12px}footer{font-size:13px;color:var(--muted);text-align:center;padding-top:24px}[hidden]{display:none!important}@media(max-width:600px){main{padding:16px 12px 40px}header,section{padding:20px 16px}h1{font-size:29px}h2{font-size:21px}.options{grid-template-columns:1fr}.progress{padding:10px;gap:10px;font-size:12px}#scores{grid-template-columns:1fr}.actions button{width:100%}}@media print{body{background:#fff}main{max-width:none;padding:0}header,.progress,form,footer,.actions,details,#stale{display:none!important}#result{border:0;padding:0;margin:0}.module,.score{break-inside:avoid}h2,h3{break-after:avoid}}