:root{color-scheme:light dark;--ink: #0b1220;--bg: #f4f6f9;--card: #ffffff;--line: #d7dce4;--muted: #5b6572;--text: #151a22;--brand: #1a56b0;--brand-ink: #ffffff;--crit: #cc0f0f;--high: #d97400;--med: #a58000;--low: #1a56b0;--ok: #0a6b32;--meas: #c7008c;--shadow: 0 1px 2px rgba(11, 18, 32, .06), 0 8px 24px rgba(11, 18, 32, .06);--r: 10px}@media(prefers-color-scheme:dark){:root{--ink: #e8ecf3;--bg: #0d1117;--card: #151b24;--line: #2a3240;--muted: #98a3b3;--text: #e8ecf3;--brand: #5c9bff;--brand-ink: #08101f;--crit: #ff6b6b;--high: #ffa04d;--med: #e5c04a;--low: #7fb0ff;--ok: #4ecb85;--meas: #ff7ad4;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);accent-color:var(--brand);font:16px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif}.wrap{max-width:1060px;margin:0 auto;padding:32px 20px 80px}header{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:26px}h1{font-size:1.5rem;margin:0;letter-spacing:-.01em}h1 span{color:var(--muted);font-weight:400}.sub{color:var(--muted);font-size:.875rem;margin:4px 0 0}h2{font-size:1.05rem;margin:0 0 14px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);margin-bottom:22px}.drop{position:relative;display:block;border:2px dashed var(--line);border-radius:var(--r);padding:38px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:color-mix(in srgb,var(--card) 92%,var(--bg))}.drop:hover,.drop:focus-within{border-color:var(--brand)}.drop.over{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--card))}.drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.drop .big{display:block;font-size:1.05rem;font-weight:600}.drop .small{display:block;color:var(--muted);font-size:.875rem;margin-top:6px}.filechip{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:14px;font-size:.9rem;color:var(--ok);font-weight:600}fieldset{border:0;padding:0;margin:0 0 20px}legend{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:0;margin-bottom:12px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}label.f{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:6px}input[type=text],input[type=email],select,textarea{width:100%;padding:9px 11px;font:inherit;font-size:.925rem;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:7px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,.drop:focus-within{outline:2px solid var(--brand);outline-offset:2px}.check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;padding:8px 0}.check input{margin-top:3px;flex:none;width:17px;height:17px}.check .h{font-weight:600;display:block}.check .d{color:var(--muted);font-size:.8rem}.hint{color:var(--muted);font-size:.78rem;margin-top:5px}.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px}button,.btn{font:inherit;font-weight:650;padding:11px 22px;border-radius:8px;border:1px solid transparent;background:var(--brand);color:var(--brand-ink);cursor:pointer;text-decoration:none;display:inline-block}button:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}button.ghost,.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}progress{width:100%;height:8px;border-radius:99px;overflow:hidden}.stages{list-style:none;margin:16px 0 0;padding:0;font-size:.875rem}.stages li{display:flex;gap:10px;align-items:center;padding:4px 0;color:var(--muted)}.stages li .dot{width:9px;height:9px;border-radius:99px;background:var(--line);flex:none}.stages li.on{color:var(--text);font-weight:600}.stages li.on .dot{background:var(--brand)}.stages li.ok .dot{background:var(--ok)}.tally{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));margin-bottom:20px}.t{border:1px solid var(--line);border-radius:8px;padding:11px 12px;background:var(--card)}.t b{display:block;font-size:1.5rem;line-height:1.15}.t span{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.t.CRITICAL b{color:var(--crit)}.t.HIGH b{color:var(--high)}.t.MEDIUM b{color:var(--med)}.t.LOW b{color:var(--low)}.t.VERIFIED b{color:var(--ok)}.t.MEASURED b{color:var(--meas)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th{text-align:left;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:7px 9px}td{border-bottom:1px solid var(--line);padding:9px;vertical-align:top}td:first-child,td:nth-child(2){white-space:nowrap}th:first-child{width:64px}th:nth-child(2){width:62px}th:nth-child(3){width:92px}th:last-child{width:170px}td.sev{font-weight:700;white-space:nowrap;font-size:.74rem;letter-spacing:.04em}td.sev.CRITICAL{color:var(--crit)}td.sev.HIGH{color:var(--high)}td.sev.MEDIUM{color:var(--med)}td.sev.LOW{color:var(--low)}td.sev.VERIFIED{color:var(--ok)}td.sev.MEASURED{color:var(--meas)}code{font:.82em ui-monospace,SFMono-Regular,Menlo,monospace;background:color-mix(in srgb,var(--muted) 14%,transparent);padding:1px 5px;border-radius:4px}.note{border-left:4px solid var(--brand);background:color-mix(in srgb,var(--brand) 8%,transparent);padding:12px 15px;border-radius:0 7px 7px 0;font-size:.86rem;margin-bottom:18px}.note.warn{border-color:var(--high);background:color-mix(in srgb,var(--high) 10%,transparent)}.note.bad{border-color:var(--crit);background:color-mix(in srgb,var(--crit) 10%,transparent)}.note ul{margin:8px 0 0;padding-left:20px}footer{color:var(--muted);font-size:.78rem;text-align:center;margin-top:34px}.centred{text-align:center;padding:40px 20px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
