:root{--bg:#fbfbfa;--ink:#111112;--mute:#62626a;--line:rgb(0 0 0/.1);--panel:rgb(0 0 0/.03);--accent:#0f6e6e;--stop:#b3261e;--review:#8a5a00;--note:#4b5563}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b0b0d;--ink:#f4f4f3;--mute:#9a9aa2;--line:rgb(255 255 255/.12);--panel:rgb(255 255 255/.04);--accent:#5cc8c8;--stop:#ff8a80;--review:#f0b95b;--note:#a8b0bd}}
:root[data-theme="dark"]{--bg:#0b0b0d;--ink:#f4f4f3;--mute:#9a9aa2;--line:rgb(255 255 255/.12);--panel:rgb(255 255 255/.04);--accent:#5cc8c8;--stop:#ff8a80;--review:#f0b95b;--note:#a8b0bd}
*{box-sizing:border-box;margin:0}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;color-scheme:light dark}
body{background:var(--bg);font:400 16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;max-width:680px;margin:0 auto;padding:clamp(24px,6vw,56px) 16px}
a{color:var(--accent);text-underline-offset:2px}
h1{font-size:clamp(28px,6vw,38px);line-height:1.15;letter-spacing:-.02em;font-weight:650}
h2{font-size:clamp(20px,4vw,24px);line-height:1.25;letter-spacing:-.01em;font-weight:620;margin-top:36px}
h3{font-size:17px;font-weight:620;margin-top:24px}
p{margin-top:12px}ul,ol{margin-top:10px;padding-left:22px}li{margin-top:6px}
nav{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;margin-bottom:28px}
.lede{font-size:18px;color:var(--mute)}
.mute{color:var(--mute);font-size:14px}
button{font:inherit;font-weight:560;cursor:pointer;border-radius:8px;padding:11px 16px;border:1px solid var(--accent);background:var(--accent);color:var(--bg)}
button.secondary{background:transparent;color:var(--accent)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.linkish{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:2px;font-weight:400}
#drop{margin-top:24px;padding:22px 18px;border:1.5px dashed var(--line);border-radius:12px;background:var(--panel)}
#drop.over{border-color:var(--accent)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.top0{margin-top:0}
#status{min-height:24px;margin-top:14px;color:var(--mute);overflow-wrap:anywhere}
.verdict{margin-top:24px;padding:18px;border:1px solid var(--line);border-left-width:4px;border-radius:10px}
.verdict h2{margin-top:0}
.v3{border-left-color:var(--stop)}.v2{border-left-color:var(--review)}.v1,.v0{border-left-color:var(--note)}
.tag{font-size:13px;font-weight:600;color:var(--mute);margin:0 0 6px}
.warn{color:var(--review);font-weight:560}
.group{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}
summary{cursor:pointer;font-weight:620;font-size:18px}
.file{margin-top:16px}
.path{font-size:14px;font-weight:600;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.finding{margin-top:8px;padding:10px 12px;border-left:3px solid var(--note);background:var(--panel);border-radius:0 8px 8px 0}
.finding p{margin-top:6px;font-size:15px}
.finding .ftitle{margin-top:0;font-weight:620}
.finding.l3{border-left-color:var(--stop)}.finding.l2{border-left-color:var(--review)}
.next{color:var(--mute)}
.evidence{list-style:none;padding:0;margin-top:6px}
.evidence li{margin-top:3px;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;color:var(--mute)}
.limits{margin-top:28px;padding:16px 18px;border:1px solid var(--line);border-radius:10px}
.limits h3{margin-top:0}
#results>button{margin-top:18px}
table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}
th,td{text-align:left;vertical-align:top;padding:8px 10px 8px 0;border-top:1px solid var(--line)}
th{font-weight:620}
.scroll{overflow-x:auto}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em;overflow-wrap:anywhere}
footer{margin-top:52px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}
footer p{margin-top:8px}
[hidden]{display:none!important}
