:root{
  --bg:#050505;--surface:#0b0b0b;--surface-2:#101010;--line:#2a2a2a;--line-strong:#4a4a4a;
  --text:#f5f5f5;--muted:#9a9a9a;--faint:#626262;--accent:#f5f5f5;--accent-ink:#050505;
  --danger:#ff3b30;--warning:#ffb020;--success:#d8ffd8;--radius:8px;--focus:#fff;
}
html[data-theme="red"]{
  --bg:#050000;--surface:#0d0505;--surface-2:#140707;--line:#3a1717;--line-strong:#672424;
  --text:#fff7f7;--muted:#b99999;--faint:#725151;--accent:#ff2b2b;--accent-ink:#090000;
  --danger:#ff4747;--warning:#ffb020;--success:#ffdede;--focus:#ff2b2b;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
button,a,select{outline:none}
button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--focus)}
.topbar{height:64px;max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:800;letter-spacing:-.02em}
.brand-mark{width:30px;height:30px;border:1px solid var(--text);display:grid;place-items:center;font-size:.66rem;letter-spacing:.04em}
.top-actions{display:flex;gap:8px;align-items:center}
.ghost,.primary{min-height:40px;border:1px solid var(--line);border-radius:4px;padding:10px 14px;text-decoration:none;cursor:pointer;color:var(--text);background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .12s ease,border-color .12s ease,color .12s ease}
.ghost:hover{background:var(--surface-2);border-color:var(--line-strong)}
.small{min-height:34px;padding:7px 10px;font-size:.8rem}
.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:800}
.primary:hover{filter:brightness(.9)}
.primary:disabled{opacity:.45;cursor:not-allowed}
.theme-button{min-width:64px;font-weight:800;letter-spacing:.03em}
main{max-width:1180px;margin:auto;padding:72px 24px 96px}
.hero{max-width:960px;margin:0 0 54px}
.eyebrow,.section-kicker,.summary-label{font-size:.69rem;letter-spacing:.18em;color:var(--muted);font-weight:800;text-transform:uppercase}
h1{font-size:clamp(3.1rem,7vw,6.7rem);line-height:.89;letter-spacing:-.075em;margin:18px 0 26px;font-weight:500;max-width:1000px}
h1 strong{font-weight:900;color:var(--accent)}
.hero>p{color:var(--muted);font-size:1.05rem;line-height:1.65;max-width:720px;margin:0}
.privacy-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.privacy-strip>span{padding:14px 16px 14px 0;color:var(--muted);font-size:.78rem;border-right:1px solid var(--line)}
.privacy-strip>span+span{padding-left:16px}.privacy-strip>span:last-child{border-right:0}
.privacy-strip b{color:var(--accent);font-size:.65rem;margin-right:8px}
.runtime-notice{max-width:760px;margin-top:18px;padding:12px 14px;border-left:3px solid var(--warning);background:var(--surface);font-size:.79rem;line-height:1.5;color:var(--muted)}
.runtime-notice strong{display:block;color:var(--text);margin-bottom:2px}.runtime-notice.browser{border-left-color:var(--accent)}
.dropzone{min-height:220px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:24px;padding:30px;transition:border-color .12s ease,background .12s ease;cursor:pointer}
.dropzone.drag,.dropzone:focus-visible{border-color:var(--accent);background:var(--surface-2)}
.drop-index{width:64px;height:64px;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:2.4rem;font-weight:200;color:var(--accent)}
.drop-copy h2{font-size:1.5rem;letter-spacing:-.03em;margin:0 0 8px}.drop-copy p{color:var(--muted);margin:0;line-height:1.55}
.drop-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.drop-actions small{color:var(--faint);max-width:220px;text-align:right;line-height:1.4}
.error-banner{margin:14px 0 0;padding:12px 14px;border-left:3px solid var(--danger);background:rgba(255,59,48,.06);color:#ffaaa4;font-size:.8rem;line-height:1.5}.hidden{display:none!important}.workspace{margin-top:58px}.workspace-head,.diff-head,.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.workspace h2,.workspace h3{margin:5px 0 0;font-size:1.6rem;letter-spacing:-.04em}
.file-tabs{display:flex;gap:0;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:16px}.file-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:11px 14px;cursor:pointer;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.file-tab.active{color:var(--text);border-bottom-color:var(--accent)}
.scan-state{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.scan-state span{display:block;color:var(--muted);font-size:.84rem;margin-top:4px}.scanner{width:34px;height:34px;border:1px solid var(--line-strong);position:relative;overflow:hidden}.scanner span{position:absolute;left:0;right:0;height:2px;background:var(--accent);animation:scan 1.15s linear infinite}@keyframes scan{0%{top:3px}50%{top:29px}100%{top:3px}}
.result-panel{display:grid;grid-template-columns:248px 1fr;gap:16px}.summary-card,.details,.clean-panel,.diff-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.summary-card{padding:20px;align-self:start;position:sticky;top:16px}.risk-score{display:flex;align-items:end;gap:8px;margin:22px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.risk-score span{font-size:4rem;line-height:.75;font-weight:900;letter-spacing:-.08em}.risk-score small{color:var(--muted);font-size:.72rem;margin-bottom:3px}
.file-summary{display:flex;flex-direction:column;gap:7px;min-width:0}.file-summary strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-summary span,.file-summary code{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.badge{margin-top:18px;padding:9px 0;font-size:.74rem;color:var(--success);border-top:1px solid var(--line)}
.details{padding:20px;min-width:0}.critical-banner{border-left:3px solid var(--danger);background:rgba(255,59,48,.06);padding:12px 14px;color:#ffb7b2;margin-bottom:14px;font-size:.84rem}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.filter-group{display:flex;gap:2px;overflow:auto}.filter{border:0;background:transparent;color:var(--muted);padding:8px 10px;cursor:pointer;border-bottom:1px solid transparent}.filter:hover{color:var(--text)}.filter.active{color:var(--text);border-bottom-color:var(--accent)}
.finding-group{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.group-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.group-title h4{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.07em}.group-title span{color:var(--muted);font-size:.72rem}
.finding{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.25fr) auto;gap:12px;padding:14px 0;border-top:1px solid var(--line);align-items:start}.finding-name{font-size:.82rem;font-weight:700}.finding-name small{display:block;color:var(--faint);font-weight:400;margin-top:4px;word-break:break-all}.finding-value{font:.75rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#cfcfcf;word-break:break-word;max-height:88px;overflow:auto}.impact{font-size:.63rem;padding:4px 7px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em}.impact.critical,.impact.high{color:#ff9791;border-color:#7a2925}.impact.medium{color:var(--warning);border-color:#614816}.impact.structural{color:#d0d0d0}.explain{grid-column:1/-1;color:var(--muted);font-size:.76rem;line-height:1.5;margin-top:-4px}
.clean-panel,.diff-panel{padding:22px;margin-top:16px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}.mode-card{position:relative;display:block;padding:20px;cursor:pointer;border-right:1px solid var(--line);background:transparent;min-height:168px}.mode-card:last-child{border-right:0}.mode-card input{position:absolute;opacity:0}.mode-card.selected{background:var(--text);color:var(--bg)}html[data-theme="red"] .mode-card.selected{background:var(--accent);color:var(--accent-ink)}.mode-card.danger.selected{background:var(--danger);color:#080000}.mode-number{display:block;font-size:.65rem;letter-spacing:.12em;opacity:.7}.mode-card strong{display:block;margin:22px 0 7px;font-size:1rem}.mode-card p{font-size:.77rem;line-height:1.5;color:var(--muted);margin:0}.mode-card.selected p{color:currentColor;opacity:.72}
.profile-row{display:grid;grid-template-columns:auto minmax(190px,260px) 1fr;gap:14px;align-items:center;margin:18px 0}.profile-row label{font-size:.8rem;color:var(--muted)}select{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:10px 12px}.profile-note{font-size:.74rem;color:var(--muted)}
.custom-profile{display:flex;gap:18px;flex-wrap:wrap;grid-column:1/-1;padding:10px 0;border-top:1px solid var(--line)}.custom-profile label{display:flex;gap:8px;align-items:center}.custom-profile input{accent-color:var(--accent)}
.policy-preview{border-left:3px solid var(--line-strong);background:var(--surface-2);padding:12px 14px;color:var(--muted);font-size:.76rem;margin-bottom:13px;line-height:1.5}.wide{width:100%;padding:13px}.verify-state{padding:8px 10px;border:1px solid var(--line);color:var(--success);font-size:.76rem}.verify-state.warn{color:#ff9d96;border-color:#7a2925}
.stats{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin:18px 0}.stat{padding:14px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{font-size:1.7rem;display:block;letter-spacing:-.04em}.stat span{font-size:.69rem;color:var(--muted)}.remaining-box{border-left:3px solid var(--danger);padding:12px 14px;background:rgba(255,59,48,.05);font-size:.77rem;color:#dfb1ae}.download-row{display:flex;gap:8px;margin-top:16px}
footer{max-width:1180px;margin:auto;border-top:1px solid var(--line);padding:24px;display:flex;justify-content:space-between;color:var(--faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:860px){main{padding-top:46px}.privacy-strip{grid-template-columns:1fr}.privacy-strip>span{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.privacy-strip>span+span{padding-left:0}.privacy-strip>span:last-child{border-bottom:0}.dropzone{grid-template-columns:64px 1fr}.drop-actions{grid-column:1/-1;align-items:stretch}.drop-actions small{text-align:left;max-width:none}.result-panel{grid-template-columns:1fr}.summary-card{position:static}.mode-grid{grid-template-columns:1fr}.mode-card{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.mode-card:last-child{border-bottom:0}.profile-row{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.stat{border-bottom:1px solid var(--line)}}
@media(max-width:560px){.topbar{height:58px;padding:0 14px}.top-actions a{display:none}main{padding:38px 14px 76px}h1{font-size:3.2rem}.hero{margin-bottom:38px}.dropzone{grid-template-columns:1fr;padding:22px}.drop-index{width:52px;height:52px}.toolbar,.workspace-head,.diff-head{align-items:flex-start;flex-direction:column}.finding{grid-template-columns:1fr auto}.finding-value{grid-column:1/-1}.download-row{flex-direction:column}.stats{grid-template-columns:1fr}.stat{border-right:0}footer{padding:20px 14px;gap:16px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
