:root{--ink:#17202b;--ink-2:#4b5667;--ink-3:#6f7a8c;--paper:#eef1f5;--surface:#ffffff;--line:#d6dce5;--line-strong:#b8c1ce;--accent:#2340b8;--accent-hover:#1b3296;--accent-ink:#ffffff;--accent-soft:#e4e9fb;--warn-bg:#fff1d6;--warn-ink:#6e4300;--warn-rule:#d48a00;--ok-bg:#def3e6;--ok-ink:#11512f;--ok-rule:#1f8a52;--info-bg:#e4e9fb;--info-ink:#1d3289;--info-rule:#2340b8;--danger:#b0261b;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--r-sm:6px;--r-md:10px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ink:#e4e9f1;--ink-2:#aeb8c7;--ink-3:#8691a3;--paper:#121821;--surface:#19212d;--line:#2b3646;--line-strong:#3d4a5d;--accent:#7d97ff;--accent-hover:#9bb0ff;--accent-ink:#0d1430;--accent-soft:#1f2a4d;--warn-bg:#362709;--warn-ink:#ffd68f;--warn-rule:#e3a12a;--ok-bg:#0f2c1d;--ok-ink:#9be3b9;--ok-rule:#3fbf7a;--info-bg:#1a2448;--info-ink:#bccbff;--info-rule:#7d97ff;--danger:#ff8a7f;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--paper);color:var(--ink);font:400 15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}.mono{font-family:var(--mono);font-size:.93em}.muted{color:var(--ink-3)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2{margin:0}.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em}.brand-mark{width:18px;height:18px;border-radius:50%;border:3px solid var(--accent);position:relative}.brand-mark:after{content:"";position:absolute;width:7px;height:3px;background:var(--accent);right:-7px;bottom:-4px;transform:rotate(45deg);border-radius:2px}.brand-sub{font-weight:400;color:var(--ink-3);padding-left:10px;border-left:1px solid var(--line)}.brand-lg{font-size:20px}.btn{font:inherit;font-weight:500;border-radius:var(--r-sm);border:1px solid transparent;padding:8px 14px;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--accent);border-color:var(--accent)}.btn-secondary:hover:not(:disabled){background:var(--accent-soft)}.btn-quiet{background:transparent;color:var(--ink-2);border-color:var(--line)}.btn-quiet:hover{border-color:var(--line-strong);color:var(--ink)}.btn-sm{padding:4px 10px;font-size:13px}.btn-lg{padding:0 22px;font-size:16px}.btn-block{width:100%;padding:11px;margin-top:8px}.input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:9px 12px;width:100%}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.input[aria-invalid=true]{border-color:var(--danger)}.input-lg{font-size:17px;padding:13px 14px}.lbl{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin:14px 0 6px}.form-error{color:var(--danger);font-size:14px;margin:10px 0 0}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:28px}.login-lede{color:var(--ink-2);margin:10px 0 8px;font-size:14px}.topbar{justify-content:space-between;padding:14px 28px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar,.who{display:flex;align-items:center}.who{gap:12px;font-size:14px}.who form{margin:0}.wrap{max-width:1040px;margin:0 auto;padding:32px 28px 64px}.search{margin-bottom:28px}.modes{display:inline-flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:12px}.mode{font:inherit;font-size:14px;font-weight:500;color:var(--ink-2);background:transparent;border:0;border-radius:7px;padding:6px 14px;cursor:pointer}.mode:hover{color:var(--ink)}.mode[aria-checked=true]{background:var(--accent);color:var(--accent-ink)}.search-row{display:flex;gap:10px}.hint{color:var(--ink-3);font-size:14px;margin:8px 0 0}.empty,.loading{color:var(--ink-2);max-width:60ch}.empty p{margin:0;padding:20px 0;border-top:1px solid var(--line)}.is-stale{opacity:.5;transition:opacity .2s}.subject{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:24px}.subject-kind{font-size:13px;color:var(--ink-3)}.subject-query{font-size:clamp(24px,4vw,38px);font-weight:500;line-height:1.15;letter-spacing:-.02em;margin:4px 0 14px;overflow-wrap:anywhere}.verdict{margin:0;padding:10px 14px;border-left:4px solid;border-radius:0;font-size:15px;max-width:75ch}.verdict-ok{background:var(--ok-bg);color:var(--ok-ink);border-color:var(--ok-rule)}.verdict-warn{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-rule)}.verdict-info{background:var(--info-bg);color:var(--info-ink);border-color:var(--info-rule)}.targets{margin-bottom:28px}.targets h2{font-size:15px;font-weight:600;margin-bottom:10px}.targets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px}.target{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:0 0 var(--r-md) var(--r-md);padding:14px 16px 16px}.target-role{font-size:13px;color:var(--ink-3)}.target-org{font-weight:500;margin-top:2px}.target-email{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 10px;background:var(--paper);border-radius:var(--r-sm);font-size:16px;overflow-wrap:anywhere}.target-missing{color:var(--ink-3)}.target-link,.target-missing{margin-top:10px;font-size:14px}.target-link{display:inline-block;color:var(--accent);font-weight:500}.target-note{margin:10px 0 0;font-size:13px;color:var(--ink-2)}.blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;min-width:0}.block h2{font-size:15px;font-weight:600;margin-bottom:8px}.block dl{margin:0}.row{display:grid;grid-template-columns:140px minmax(0,1fr);grid-gap:12px;gap:12px;padding:7px 0;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row dt{color:var(--ink-3);font-size:13px;padding-top:1px}.row dd{margin:0;overflow-wrap:anywhere}.list{list-style:none;margin:0;padding:0}.list li+li{margin-top:2px}.list-long{max-height:220px;overflow-y:auto;padding-right:6px}.block-note{font-size:13px;color:var(--ink-3);margin:10px 0 0}.partial{margin-top:16px;padding:12px 16px;border:1px dashed var(--line-strong);border-radius:var(--r-md);font-size:14px;color:var(--ink-2)}.partial ul{margin:6px 0 0;padding-left:18px}.report{margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:18px}.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.report-head h2{font-size:15px;font-weight:600}.report-head p{margin:2px 0 0;font-size:14px}.report-actions{display:flex;gap:8px;align-items:center}.report-body{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);white-space:pre-wrap;max-width:80ch;line-height:1.65}.raw{margin-top:20px;font-size:14px}.raw summary{cursor:pointer;color:var(--ink-2)}.raw pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;overflow-x:auto;font:12.5px/1.5 var(--mono);max-height:420px}.stamp{color:var(--ink-3);font-size:13px;margin-top:16px}.views{display:flex;gap:4px;margin-right:auto;margin-left:28px}.view{font:inherit;font-weight:500;font-size:14px;color:var(--ink-2);background:transparent;border:0;border-bottom:2px solid transparent;padding:6px 4px;margin:0 8px;cursor:pointer;border-radius:0}.view:hover{color:var(--ink)}.view[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.table-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-weight:500;color:var(--ink-3);font-size:13px;padding:6px 10px 6px 0;white-space:nowrap}.tbl td,.tbl th{border-bottom:1px solid var(--line)}.tbl td{padding:8px 10px 8px 0;vertical-align:top;overflow-wrap:anywhere}.tbl tr:last-child td{border-bottom:0}.tbl .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl .act,.tbl .num{text-align:right;white-space:nowrap}.tbl .clip{max-width:280px}.tbl a{color:var(--accent)}.clickable{cursor:pointer}.clickable:hover td{background:var(--paper)}.linkish{font:inherit;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-align:left;overflow-wrap:anywhere}.linkish:hover{text-decoration:underline}.block-wide{grid-column:1/-1}.inline-details{margin-top:10px}.inline-details summary{cursor:pointer;color:var(--accent);font-weight:500;font-size:14px}.copy-row,.inline-details[open] summary{margin-bottom:8px}.hash{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.errlog{background:var(--paper);border-radius:var(--r-sm);padding:10px;font:12.5px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.shot{margin:0 0 16px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.shot img{display:block;width:100%;height:auto}.back{margin-bottom:16px}.worker{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:14px 16px;margin-bottom:24px}.worker-main{display:flex;gap:12px;align-items:baseline}.worker .dot{width:10px;height:10px;border-radius:50%;flex:none;transform:translateY(1px)}.worker-on .dot{background:var(--ok-rule);box-shadow:0 0 0 3px var(--ok-bg)}.worker-off .dot{background:var(--warn-rule);box-shadow:0 0 0 3px var(--warn-bg)}.worker-warn{margin:10px 0 0;font-size:14px;color:var(--warn-ink);background:var(--warn-bg);padding:8px 10px;border-radius:var(--r-sm)}.steps{margin:0;padding-left:20px;line-height:1.8}.steps a{color:var(--accent);font-weight:500}code{font-family:var(--mono);font-size:.9em;background:var(--paper);padding:1px 5px;border-radius:4px}.scan-types{border:0;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.scan-type{position:relative;display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px 12px 40px;cursor:pointer}.scan-type:hover{border-color:var(--line-strong)}.scan-type.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.scan-type input{position:absolute;left:14px;top:15px;accent-color:var(--accent)}.scan-type-label{display:block;font-weight:600}.scan-type-desc{display:block;font-size:14px;color:var(--ink-2);margin-top:2px}.scan-type-meta{display:block;font-size:12.5px;color:var(--ink-3);margin-top:6px}.jobs h2{font-size:15px;font-weight:600;margin-bottom:8px}.jobs .tbl{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);border-collapse:separate;border-spacing:0}.jobs .tbl td,.jobs .tbl th{padding-left:14px}.status{font-size:13px;font-weight:500;padding:2px 8px;border-radius:999px;white-space:nowrap}.status-queued,.status-running{background:var(--info-bg);color:var(--info-ink)}.status-done{background:var(--ok-bg);color:var(--ok-ink)}.status-failed{background:var(--warn-bg);color:var(--warn-ink)}.status-sub{display:block;font-size:12.5px;color:var(--ink-3);margin-top:3px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--ink-3);cursor:pointer}.icon-btn:hover:not(:disabled){color:var(--danger);border-color:var(--line);background:var(--surface)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.jobs-tbl td.act{width:1%;padding-right:8px;vertical-align:middle}.setup{max-width:64ch}.setup h1{font-size:22px;font-weight:600;margin-bottom:10px}.setup ol{padding-left:20px;line-height:1.8}@media (max-width:760px){.views{margin-left:8px}.scan-types{grid-template-columns:1fr}.jobs-tbl td:nth-child(4),.jobs-tbl th:nth-child(4){display:none}.topbar{padding:12px 16px;flex-wrap:wrap;gap:8px}.brand-sub{display:none}.wrap{padding:20px 16px 48px}.search-row{flex-direction:column}.btn-lg{padding:12px}.blocks,.row{grid-template-columns:1fr}.row{gap:2px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}