:root{
  --black:#000;--ink:#111110;--paper:#f4f2ec;--stone:#c9c1af;--stone-dim:#8f8878;
  --line:rgba(244,242,236,.14);--maxw:980px;
  --sage:#7d9a85;--sage-soft:#b7c4b2;--warn:#d98b7f;--amber:#c9a46a;
}
.avc *{box-sizing:border-box}
.avc{color:var(--paper);font-family:'IBM Plex Sans',system-ui,sans-serif;font-weight:300;line-height:1.6}
.avc .wrap{max-width:var(--maxw);margin:0 auto}
.avc section{padding:110px 24px}
.avc .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--stone-dim);margin-bottom:26px}
.avc-hero{min-height:82svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:90px 24px}
.avc-hero h1{font-size:clamp(30px,5.2vw,52px);font-weight:600;line-height:1.18;letter-spacing:-.015em;max-width:860px}
.avc-hero h1 em{font-style:normal;color:var(--stone)}
.avc-lede{margin:26px auto 0;max-width:620px;font-size:clamp(16px,2vw,19px);color:rgba(244,242,236,.72)}
.avc-form{display:flex;margin-top:46px;width:min(620px,100%);border:1px solid var(--line);background:rgba(244,242,236,.03);transition:border-color .2s}
.avc-form:focus-within{border-color:var(--stone)}
.avc-form input{flex:1;min-width:0;font-family:'IBM Plex Mono',monospace;font-size:15px;letter-spacing:.03em;padding:18px 22px;border:0;background:transparent;color:var(--paper);outline:none}
.avc-form input::placeholder{color:var(--stone-dim)}
.avc .cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--paper);color:var(--black);border:none;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:16px 34px;cursor:pointer;transition:background .2s ease,transform .1s ease;text-decoration:none;white-space:nowrap}
.avc .cta-btn:hover{background:var(--stone)}
.avc .cta-btn:active{transform:scale(.98)}
.avc .cta-btn:disabled{opacity:.5;cursor:default}
.avc .ghost-btn{background:none;border:1px solid var(--line);color:var(--paper);font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:14px 22px;cursor:pointer}
.avc .ghost-btn:hover{border-color:var(--stone)}
.avc-micro{margin-top:18px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone-dim)}
.avc-msg{margin-top:18px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--warn);min-height:18px}
.avc-loading{display:none;margin-top:46px;width:min(520px,100%);text-align:left;border:1px solid var(--line)}
.avc-loading.show{display:block}
.avc-step{display:flex;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--stone-dim);transition:color .3s}
.avc-step:last-child{border-bottom:0}
.avc-step i{width:9px;height:9px;flex:none;border:1px solid var(--stone-dim);font-style:normal}
.avc-step.active{color:var(--paper)}
.avc-step.active i{border-color:var(--paper);animation:avcPulse 1s ease-in-out infinite}
.avc-step.done{color:var(--stone)}
.avc-step.done i{background:var(--sage);border-color:var(--sage)}
@keyframes avcPulse{50%{background:var(--paper)}}
.avc-results{display:none}
.avc-results section,.avc-cta{scroll-margin-top:80px}
.avc-results.show{display:block}
.avc-head{border-top:1px solid var(--line)}
.avc-domain{font-size:clamp(28px,5vw,46px);font-weight:600;line-height:1.15;letter-spacing:-.01em;word-break:break-word}
.avc-meta{margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-dim)}
.avc-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.avc-score{background:var(--black);padding:34px 28px}
.avc-score .lbl{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone-dim)}
.avc-score .num{display:block;margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:clamp(40px,6vw,60px);font-weight:500;line-height:1;color:var(--paper)}
.avc-score .num small{font-size:.45em;color:var(--stone-dim);margin-left:4px}
.avc-score .verdict{margin-top:14px;font-size:15px;color:rgba(244,242,236,.72)}
.avc-score .meter{height:3px;background:var(--line);margin-top:22px}
.avc-score .meter span{display:block;height:100%;background:var(--stone)}
.avc-score.good .meter span{background:var(--sage)}
.avc-score.bad .meter span{background:var(--warn)}
.avc-score.cit{background:rgba(201,193,175,.08)}
.avc-weight{margin-top:56px}
.avc-weight .bar{display:flex;gap:3px;height:34px}
.avc-weight .bar span{display:flex;align-items:center;padding:0 12px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--black);white-space:nowrap;overflow:hidden}
.avc-weight .bar span:nth-child(1){flex:5;background:var(--sage)}
.avc-weight .bar span:nth-child(2){flex:20;background:var(--sage-soft)}
.avc-weight .bar span:nth-child(3){flex:75;background:var(--stone)}
.avc-weight .labels{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--stone)}
.avc-weight p{margin-top:16px;font-size:15px;color:rgba(244,242,236,.66);max-width:640px}
.avc-block{border-top:1px solid var(--line)}
.avc-block h2{font-size:clamp(26px,4.2vw,40px);font-weight:600;line-height:1.22;letter-spacing:-.01em}
.avc-block .lede{margin-top:20px;max-width:680px;font-size:clamp(16px,2vw,18px);color:rgba(244,242,236,.72)}
.avc-sub{margin-top:56px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone-dim);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.avc-sub b{color:var(--paper);font-weight:500}
.avc-table{width:100%;border-collapse:collapse;margin-top:18px;border:1px solid var(--line);font-size:14px}
.avc-table th{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone-dim);text-align:left;padding:14px 18px;border-bottom:1px solid var(--line)}
.avc-table td{padding:13px 18px;border-bottom:1px solid var(--line);color:rgba(244,242,236,.82)}
.avc-table tr:last-child td{border-bottom:0}
.avc-table td.tok{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--paper)}
.pill{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border:1px solid currentColor;white-space:nowrap}
.pill.ok{color:var(--sage)}.pill.no{color:var(--warn)}.pill.mid{color:var(--amber)}.pill.dim{color:var(--stone-dim)}
.avc-plat{margin-top:18px;border:1px solid var(--line)}
.avc-plat .row{display:grid;grid-template-columns:170px 1fr 64px;gap:20px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.avc-plat .row:last-child{border-bottom:0}
.avc-plat .name{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.04em}
.avc-plat .track{height:10px;background:rgba(244,242,236,.06)}
.avc-plat .track span{display:block;height:100%;background:var(--stone);transition:width 1s cubic-bezier(.2,.7,.2,1)}
.avc-plat .row.ref .track span{background:var(--stone-dim)}
.avc-plat .val{font-family:'IBM Plex Mono',monospace;font-size:15px;text-align:right;color:var(--paper)}
.avc-issues{margin-top:18px;border:1px solid var(--line)}
.avc-issue{display:grid;grid-template-columns:96px 1fr auto;gap:24px;padding:24px 22px;border-bottom:1px solid var(--line);align-items:start}
.avc-issue:last-child{border-bottom:0}
.avc-issue .sev{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding-top:3px}
.sev-critical{color:var(--warn)}.sev-high{color:var(--amber)}.sev-medium{color:var(--stone)}.sev-low{color:var(--stone-dim)}
.avc-issue h3{font-size:18px;font-weight:600;line-height:1.35}
.avc-issue p{margin-top:8px;font-size:15px;color:rgba(244,242,236,.7);max-width:620px}
.avc-issue .scope{margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-dim)}
.avc-issue details{margin-top:10px}
.avc-issue summary{cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-dim);list-style:none}
.avc-issue summary::-webkit-details-marker{display:none}
.avc-issue summary::before{content:'+ '}
.avc-issue details[open] summary::before{content:'– '}
.avc-issue details div{margin-top:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(244,242,236,.6);word-break:break-all}
.avc-issue .fix{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);text-decoration:none;white-space:nowrap;padding-top:3px}
.avc-issue .fix:hover{color:var(--paper)}
.avc-empty{padding:26px 22px;color:var(--sage);font-family:'IBM Plex Mono',monospace;font-size:13px}
.avc-ind{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:44px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-dim)}
.avc-ind b{color:var(--paper);font-weight:500;letter-spacing:.06em}
.avc-ind select{font-family:'IBM Plex Mono',monospace;font-size:12px;background:var(--black);color:var(--paper);border:1px solid var(--line);padding:8px 10px;letter-spacing:.04em}
.avc-src-cols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:18px}
.avc-src-col{background:var(--black);padding:8px 0}
.avc-src-col h4{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone-dim);padding:14px 22px}
.avc-src{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 22px;border-top:1px solid var(--line)}
.avc-src .n{font-size:16px;font-weight:500}
.avc-src .d{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--stone-dim);letter-spacing:.04em;margin-top:2px}
.avc-src.miss .n{color:var(--paper)}
.avc-src.has .n{color:rgba(244,242,236,.6)}
.avc-cta{border-top:1px solid var(--line);text-align:center;background:#0c120d}
.avc-cta h2{font-size:clamp(28px,5vw,46px);font-weight:600;line-height:1.25;max-width:820px;margin:0 auto}
.avc-cta h2 span{color:var(--stone)}
.avc-cta p{margin:22px auto 0;max-width:560px;color:rgba(244,242,236,.72)}
.avc-lead{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:40px}
.avc-lead input{font-family:'IBM Plex Mono',monospace;font-size:14px;letter-spacing:.04em;padding:15px 22px;width:min(400px,90vw);border:1px solid var(--line);background:rgba(244,242,236,.03);color:var(--paper);outline:none;text-align:center}
.avc-lead input:focus{border-color:var(--stone)}
.avc-lead .cta-btn{margin-top:10px}
.avc-lead-msg{margin-top:18px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--stone);min-height:18px}
.avc-again{margin-top:40px}
.avc-disc{margin-top:70px;font-size:13px;color:var(--stone-dim);max-width:640px;margin-left:auto;margin-right:auto;line-height:1.7}
@media (max-width:820px){
  .avc section{padding:76px 20px}
  .avc-form{flex-direction:column}
  .avc-form .cta-btn{width:100%}
  .avc-scores,.avc-src-cols{grid-template-columns:1fr}
  .avc-plat .row{grid-template-columns:110px 1fr 48px;gap:12px}
  .avc-issue{grid-template-columns:1fr;gap:8px}
  .avc-table th:nth-child(2),.avc-table td:nth-child(2){display:none}
}
@media (prefers-reduced-motion:reduce){.avc-step.active i{animation:none}.avc-plat .track span{transition:none}}
