:root{--ink: #1c2420;--muted: #5f6b65;--line: #dfe5e1;--paper: #f6f8f6;--card: #fff;--accent: #1f6f50;--accent-ink: #fff;--high: #b42318;--review: #9a6700;--pass: #1f6f50;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.45}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{font-weight:700;font-size:18px;display:flex;align-items:center;gap:10px}.mark{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--accent);color:var(--accent-ink);font-size:15px}.privacy{margin:0;color:var(--muted);font-size:13px}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;padding:24px;max-width:1280px;margin:0 auto;align-items:start}.panel{display:grid;gap:16px;position:sticky;top:24px}.drop{display:grid;gap:4px;text-align:center;padding:26px 14px;border:2px dashed #b9c6bf;border-radius:12px;background:var(--card);cursor:pointer;overflow-wrap:anywhere}.drop span{color:var(--muted);font-size:13px}.drop:hover,.drop.over{border-color:var(--accent);background:#eef6f1}fieldset,details{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px 14px;margin:0}legend,summary{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}legend{padding:0 6px}summary{cursor:pointer}.choice{display:flex;gap:10px;padding:6px 0;cursor:pointer;align-items:flex-start}.choice input{margin-top:4px;accent-color:var(--accent)}.choice small{display:block;color:var(--muted)}.thresholds{display:grid;gap:10px;margin-top:12px}.thresholds label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.thresholds input{padding:7px 9px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink);width:100%}.primary{padding:13px;border:0;border-radius:10px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:700;cursor:pointer}.primary:disabled{background:#c3ccc7;cursor:not-allowed}.error{margin:0;color:var(--high);font-size:14px}.empty{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px}.empty h1{margin:0 0 8px;font-size:26px}.empty p,.empty li{color:var(--muted);max-width:62ch}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:16px}.stats div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--muted);font-size:13px}.stats span{display:block;font-size:20px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.stats .s-high span{color:var(--high)}.stats .s-review span{color:var(--review)}.stats .s-pass span{color:var(--pass)}.findings{list-style:none;margin:0;padding:0;display:grid;gap:10px}.finding{display:grid;grid-template-columns:10px minmax(0,1fr);gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px 14px 0;overflow:hidden}.swatch{border-radius:0 6px 6px 0;margin:-14px 0}.finding h3{margin:6px 0 0;font-size:15px;font-weight:600}.finding ul{margin:8px 0 0;padding-left:18px;color:#36413b;font-size:14px}.finding li.l2{margin-left:18px;list-style:circle;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}.tag{padding:2px 8px;border-radius:999px;background:#edf1ee;font-weight:600}.sev-high .sev{background:#fde7e4;color:var(--high)}.sev-review .sev{background:#fdf1d3;color:var(--review)}.sev-pass .sev{background:#dff3e8;color:var(--pass)}.sev-pass h3{font-weight:500;color:var(--muted)}.acct,.where{color:var(--muted)}.where:before{content:"· "}.foot{color:var(--muted);font-size:13px}@media (max-width: 820px){.layout{grid-template-columns:1fr;padding:16px}.panel{position:static}}.gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:16px;background:var(--paper)}.gate-card{display:grid;gap:14px;width:100%;max-width:380px;padding:28px;background:var(--card);border:1px solid var(--line);border-radius:12px}.gate-card p{margin:0;color:var(--muted)}.gate-card input{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink);width:100%}body.gated .top,body.gated .layout{visibility:hidden}.admin{max-width:640px;margin:0 auto;padding:24px 16px;display:grid;gap:16px}.admin h1{margin:0;font-size:26px}.admin form{display:grid;gap:12px}.admin input[type=email]{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;width:100%}.admin .card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:8px}.admin .card h2{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.admin .card p,.admin .card ul{margin:0}.admin .actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin .actions a,.admin .actions button{padding:11px 16px;border-radius:10px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.admin .actions a{background:var(--accent);color:var(--accent-ink)}.admin .actions button{background:var(--card);border:1px solid var(--line);color:var(--ink)}.admin .note{color:var(--muted)}
