:root{
  --ground:#EFEFE9; --surface:#FAFAF7; --sunk:#E5E5DD;
  --ink:#1A1C2B; --ink-soft:#585B70; --ink-faint:#8A8D9C;
  --rule:#D5D6CB; --rule-soft:#E2E2D9;
  --seal:#2E3A8C; --seal-soft:#E2E4F3; --seal-line:#B7BDE4;
  --crit:#94261E; --crit-soft:#F2E1DF;
  --warn:#8A6210; --warn-soft:#F2EAD8;
  --pass:#1C6243; --pass-soft:#DEEBE4;
  --sp:clamp(1.1rem,3vw,1.9rem);
}
@media (prefers-color-scheme:dark){:root{
  --ground:#131419; --surface:#1B1D24; --sunk:#232630;
  --ink:#EAEAE3; --ink-soft:#A3A6B4; --ink-faint:#717482;
  --rule:#2E313B; --rule-soft:#24262E;
  --seal:#9BA5F1; --seal-soft:#22263F; --seal-line:#3B4270;
  --crit:#E28A81; --crit-soft:#31201E;
  --warn:#DCAC57; --warn-soft:#2E2718;
  --pass:#69C199; --pass-soft:#16281F;
}}
*{box-sizing:border-box}
body{background:var(--ground);color:var(--ink);font-family:Archivo,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;margin:0;-webkit-font-smoothing:antialiased}
.wrap{max-width:1040px;margin:0 auto;padding:0 var(--sp)}
h1,h2{font-family:Fraunces,Georgia,serif;font-weight:600;text-wrap:balance;margin:0;letter-spacing:-.015em}
h1{font-size:clamp(2.1rem,5.4vw,3.5rem);line-height:1.06}
h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.15}
h3{font-size:1.06rem;font-weight:600;margin:0}
p{margin:0}
a{color:var(--seal)}
.eyebrow{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
section{border-top:1px solid var(--rule)}
.stack{display:flex;flex-direction:column;gap:var(--sp);padding:calc(var(--sp)*2) 0}
.lede{font-size:clamp(1.02rem,1.9vw,1.18rem);color:var(--ink-soft);max-width:62ch}
.hero{border-top:none;padding-top:calc(var(--sp)*1.5)}
.brandrow{display:flex;align-items:center;gap:.6rem;padding-bottom:calc(var(--sp)*1.6)}
.brandrow .dot{width:9px;height:9px;border-radius:50%;background:var(--seal)}
.brandrow strong{font-weight:600;font-size:.9rem}
.brandrow span{color:var(--ink-faint);font-size:.9rem}
.herogrid{display:grid;gap:calc(var(--sp)*1.4);grid-template-columns:1fr}
@media(min-width:900px){.herogrid{grid-template-columns:1.35fr .65fr;align-items:end}}
.scanbox{background:var(--surface);border:1px solid var(--rule);padding:calc(var(--sp)*.9);display:flex;flex-direction:column;gap:.7rem}
.field{display:flex;gap:.5rem;flex-wrap:wrap}
input[type=url],input[type=email],input[type=text]{flex:1 1 14rem;min-width:0;font-family:"IBM Plex Mono",monospace;font-size:.95rem;padding:.7rem .8rem;border:1px solid var(--rule);background:var(--ground);color:var(--ink)}
input::placeholder{color:var(--ink-faint)}
button{font-family:Archivo,sans-serif;font-size:.95rem;font-weight:600;padding:.7rem 1.15rem;border:1px solid var(--seal);background:var(--seal);color:var(--surface);cursor:pointer}
@media (prefers-color-scheme:dark){button{color:#131419}}
button:hover{opacity:.88}
button[disabled]{opacity:.5;cursor:default}
button.ghost{background:transparent;color:var(--seal)}
:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
.fineprint{font-size:.82rem;color:var(--ink-faint);margin:0}
.err{font-size:.88rem;color:var(--crit)}
.console{background:var(--sunk);border:1px solid var(--rule);font-family:"IBM Plex Mono",monospace;font-size:.83rem;line-height:1.75;padding:calc(var(--sp)*.8);min-height:12rem;max-height:22rem;overflow:auto}
.ln{display:flex;gap:.85rem;white-space:nowrap}
.ln .t{color:var(--ink-faint);flex:none}
.ln .flag{color:var(--crit);font-weight:500}
.ln .cur{color:var(--ink-faint)}
.card{background:var(--surface);border:1px solid var(--rule)}
.scorehead{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.4rem;padding:calc(var(--sp)*.85);border-bottom:1px solid var(--rule)}
.bignum{font-family:"IBM Plex Mono",monospace;font-size:3.2rem;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}
.bignum small{font-size:1rem;color:var(--ink-faint)}
.band{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .6rem;font-weight:600}
.scanned{margin-left:auto;font-size:.82rem;color:var(--ink-faint);text-align:right}
.sev-crit{background:var(--crit-soft);color:var(--crit)}
.sev-high{background:var(--warn-soft);color:var(--warn)}
.sev-med{background:var(--sunk);color:var(--ink-soft)}
.sev-ok{background:var(--pass-soft);color:var(--pass)}
.finding{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;padding:calc(var(--sp)*.75) calc(var(--sp)*.85);border-bottom:1px solid var(--rule-soft)}
.finding:last-child{border-bottom:none}
.sev{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.09em;padding:.22rem .45rem;height:fit-content;font-weight:500;white-space:nowrap}
.finding p{font-size:.9rem;color:var(--ink-soft)}
.ref{font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--ink-faint)}
pre{margin:.55rem 0 0;background:var(--sunk);border-left:2px solid var(--crit);padding:.6rem .75rem;overflow-x:auto;font-family:"IBM Plex Mono",monospace;font-size:.78rem;line-height:1.6;color:var(--ink-soft);white-space:pre-wrap;word-break:break-all}
.fix{margin-top:.6rem;font-size:.9rem}
.fix b{font-weight:600}
.unknown{padding:calc(var(--sp)*.75) calc(var(--sp)*.85);background:var(--seal-soft);border-top:1px solid var(--seal-line);font-size:.89rem;color:var(--ink-soft)}
.ladder{display:flex;flex-direction:column}
.rung{display:grid;grid-template-columns:auto 1fr auto;gap:.4rem 1.1rem;align-items:baseline;padding:calc(var(--sp)*.7) calc(var(--sp)*.85);border-bottom:1px solid var(--rule-soft)}
.rung:last-child{border-bottom:none}
.rscore{font-family:"IBM Plex Mono",monospace;font-size:1.6rem;font-weight:500;color:var(--ink-faint);font-variant-numeric:tabular-nums;min-width:2.6ch}
.rung.hit .rscore{color:var(--pass)}
.rung p{font-size:.89rem;color:var(--ink-soft)}
.reff{font-size:.78rem;color:var(--ink-faint);white-space:nowrap}
.clock{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(min-width:700px){.clock{grid-template-columns:1fr 1fr}}
.tick{background:var(--surface);padding:calc(var(--sp)*.8);display:flex;gap:1rem;align-items:baseline}
.tnum{font-family:"IBM Plex Mono",monospace;font-size:2.1rem;font-weight:500;color:var(--seal);font-variant-numeric:tabular-nums}
.tick p{font-size:.85rem;color:var(--ink-soft)}
.locked{padding:calc(var(--sp)*.85);background:var(--seal-soft);border-top:1px solid var(--seal-line);display:flex;flex-direction:column;gap:.8rem}
.consent{display:flex;gap:.55rem;align-items:flex-start;font-size:.87rem;color:var(--ink-soft)}
.consent input{margin-top:.28rem;accent-color:var(--seal);flex:none}
.limits{display:flex;flex-direction:column;gap:.7rem;border-left:2px solid var(--rule);padding-left:calc(var(--sp)*.8)}
.limits p{font-size:.9rem;color:var(--ink-soft);max-width:64ch}
.limits b{font-weight:600;color:var(--ink)}
footer{border-top:1px solid var(--rule);padding:calc(var(--sp)*2) 0 calc(var(--sp)*2.6)}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
