:root{
  --bg:#07090a;--bg2:#0d1012;--card:#111518;--line:#1e2428;
  --ink:#e9eef0;--mut:#87939a;--lime:#c9ff62;--lime2:#a8e23c;
  --red:#ff5d52;--amb:#f5b543;--ok:#4fd18b;
  --font:"Avenir Next","Trebuchet MS","Gill Sans",sans-serif;
  --mono:"Cascadia Code","Sarasa Mono","Consolas",monospace;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body.scan{
  background:
    radial-gradient(900px 420px at 85% -10%,rgba(201,255,98,.08),transparent 55%),
    linear-gradient(180deg,#0a0d0f 0%,var(--bg) 40%,#050708 100%);
  color:var(--ink);
  font-family:var(--font);
  font-size:15px;
  line-height:1.45;
}
a{color:inherit}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:12px;top:12px;background:var(--lime);color:#07090a;padding:8px 12px;z-index:20}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line);background:rgba(7,9,10,.85);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none}
.brand span{display:inline-grid;place-items:center;width:32px;height:28px;border-radius:7px;background:var(--lime);color:#07090a;font-size:11px;letter-spacing:.5px}
.top nav{display:flex;gap:16px;color:var(--mut);font-size:13px}
.top nav a{text-decoration:none}
.top nav a:hover{color:var(--ink)}
main{max-width:980px;margin:0 auto;padding:28px 22px 64px}
.eyebrow{margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-weight:600}
h1{margin:0 0 12px;font-size:clamp(28px,5vw,42px);letter-spacing:-.02em;line-height:1.1}
.lead{color:var(--mut);max-width:620px;margin:0 0 22px}
.score-line{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin:18px 0 28px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.score-line strong{font-size:36px;font-family:var(--mono);color:var(--lime)}
.score-line em{margin-left:auto;font-style:normal;color:var(--mut);font-size:12px}
.source{margin:0 0 28px;opacity:0;transform:translateY(10px);animation:rise .45s ease forwards}
.source:nth-child(2){animation-delay:.05s}
.source:nth-child(3){animation-delay:.1s}
.source:nth-child(4){animation-delay:.15s}
.source:nth-child(5){animation-delay:.2s}
.source:nth-child(6){animation-delay:.25s}
.source:nth-child(7){animation-delay:.3s}
@keyframes rise{to{opacity:1;transform:none}}
.src-h{margin-bottom:10px}
.src-h h2{margin:0 0 4px;font-size:22px}
.src-h p{margin:0;color:var(--mut);font-size:13px}
.table{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.row{display:grid;grid-template-columns:86px minmax(180px,1.2fr) minmax(120px,.8fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row b{display:block}
.row small{color:var(--mut);display:block;line-height:1.4;margin-top:3px}
.sev{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:6px;text-align:center;width:max-content;font-family:var(--mono)}
.sev.critical,.sev.high{background:#3a1513;color:var(--red)}
.sev.medium{background:#3a2a10;color:var(--amb)}
.sev.low{background:#11301f;color:var(--ok)}
.acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.btn{background:#171c20;border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:6px 9px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:#3a454c}
.btn.hl{border-color:#3d5a20;color:var(--lime)}
.fix{grid-column:1/-1;background:#0b0e10;border:1px dashed var(--line);border-radius:8px;padding:10px 12px;color:#cfd8dc;display:none}
.row.open .fix{display:block}
.row.locked .blur{filter:blur(4px);user-select:none}
.verify-gate,.verify-landing{max-width:820px}
.verify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:22px 0}
.v-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px}
.v-card h3{margin:0;font-size:18px}
.v-card p{margin:0;color:var(--mut);font-size:13.5px}
.v-card label,.code-label{font-size:12.5px;color:var(--mut);display:grid;gap:6px}
.v-card select,.v-card input,.code-label input{
  width:100%;padding:11px 12px;border-radius:9px;border:1px solid var(--line);
  background:#0a0d0f;color:var(--ink);font:inherit;
}
.go{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--lime);color:#07090a;border:0;border-radius:9px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.go:hover{background:var(--lime2)}
.v-out{margin:0;padding:10px;background:#0a0d0f;border:1px solid var(--line);border-radius:8px;font-family:var(--mono);font-size:12px;white-space:pre-wrap;color:#d7e0e4}
.v-status{min-height:1.2em;color:var(--lime);font-size:13px;margin:0}
.steps-plain{color:var(--mut);line-height:1.7;padding-left:18px}
.limits{margin:24px 0;color:var(--mut);font-size:13px}
.foot{color:#5b666c;font-size:12px;margin:28px 0 0}
.foot a{color:var(--mut)}
@media (max-width:760px){
  .row{grid-template-columns:72px 1fr;grid-template-rows:auto auto}
  .mean{grid-column:2}
  .acts{grid-column:1/-1;justify-content:flex-start}
  .score-line em{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .source{animation:none;opacity:1;transform:none}
}
