#bgfx{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;opacity:.85}
.bgveil{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 110% 80% at 50% 0%,transparent 10%,rgba(4,5,10,.72) 60%,rgba(4,5,10,.95) 100%)}
.btn-s{padding:9px 14px;font-size:10px;letter-spacing:.13em}
.t-hero{padding:calc(var(--hdr) + 58px) 0 0}
.crumbs{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
  margin-bottom:20px;display:flex;gap:9px;flex-wrap:wrap}
.crumbs a{color:var(--cyan)}
h1.tt{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.042em;
  font-size:clamp(2rem,5.2vw,4rem);line-height:.92}
.t-lede{color:var(--muted);max-width:64ch;margin-top:20px;font-size:clamp(.98rem,1.4vw,1.1rem)}
.trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.trust span{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);
  border:1px solid rgba(94,232,122,.28);background:rgba(94,232,122,.06);padding:7px 12px;display:flex;align-items:center;gap:7px}
.trust span i{width:5px;height:5px;border-radius:50%;background:var(--lime);font-style:normal;box-shadow:0 0 8px var(--lime)}
.bench{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:clamp(14px,1.6vw,22px);margin-top:34px;align-items:start}
@media (max-width:1180px){.bench{grid-template-columns:1fr}
}
.pane{border:1px solid var(--line);background:linear-gradient(170deg,rgba(24,14,9,.94),rgba(14,8,5,.96));position:relative}
.pane-hd{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pane-hd h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);font-weight:500}
.pane-hd .sp{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}
.fields .full{grid-column:1/-1}
.f label{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--dim);margin-bottom:7px}
.f label b{color:var(--cyan);font-weight:500}
.f label .hint{margin-left:auto;color:var(--dim);font-size:9px}
.f input,.f select,.f textarea{width:100%;background:rgba(12,7,4,.86);border:1px solid var(--line);color:var(--ink);
  padding:11px 13px;font-family:var(--body);font-size:14px;border-radius:2px;transition:.3s}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(255,165,31,.08)}
.f input::placeholder,.f textarea::placeholder{color:var(--dim)}
.f .bar{height:2px;background:rgba(255,170,60,.16);margin-top:6px;position:relative;overflow:hidden}
.f .bar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--lime);transition:width .3s,background .3s}
.f .msg{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--dim);margin-top:6px;display:block}
.f .msg.warn{color:var(--amber)}
.f .msg.bad{color:var(--red)}
.f .msg.good{color:var(--lime)}
@media (max-width:700px){.fields{grid-template-columns:1fr}
}
#editor{width:100%;min-height:clamp(340px,46vh,620px);background:rgba(12,7,4,.7);border:0;border-top:1px solid var(--line);
  padding:22px;font-family:var(--body);font-size:15.5px;line-height:1.85;color:var(--read);resize:vertical;display:block}
#editor:focus{outline:none}
#highlights{padding:22px;font-size:15.5px;line-height:1.85;color:var(--read);border-top:1px solid var(--line);
  max-height:620px;overflow:auto;white-space:pre-wrap}
#highlights mark{background:transparent;color:inherit;border-bottom:2px solid;padding-bottom:1px}
#highlights mark.long{border-color:var(--amber);background:rgba(255,216,77,.07)}
#highlights mark.passive{border-color:var(--magenta);background:rgba(255,45,85,.07)}
#highlights mark.adverb{border-color:var(--violet)}
#highlights mark.kw{background:rgba(255,165,31,.16);border-color:var(--cyan);color:#fff}
#highlights h4{font-family:var(--display);color:var(--ink);margin:18px 0 6px;font-size:17px}
.legend{display:flex;gap:14px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:14px;height:2px;display:block;font-style:normal}
.statusbar{display:flex;gap:16px;flex-wrap:wrap;padding:11px 18px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.statusbar b{color:var(--ink);font-weight:500}
.results{position:sticky;top:82px;display:flex;flex-direction:column;gap:14px}
@media (max-width:1180px){.results{position:relative;top:0}
}
.scorecard{display:flex;gap:20px;align-items:center;padding:20px}
.ring{width:112px;height:112px;flex:none;position:relative}
.ring svg{transform:rotate(-90deg)}
.ring .val{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.04em}
.ring .val small{font-size:12px;color:var(--dim);font-weight:500}
.scoremeta h4{font-family:var(--display);font-size:19px;letter-spacing:-.02em;margin-bottom:5px}
.scoremeta p{font-size:12.8px;color:var(--muted);line-height:1.5}
.scoremeta .grade{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 10px;border:1px solid;display:inline-block;margin-top:9px}
.tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:1;padding:13px 10px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);border-bottom:2px solid transparent;transition:.3s;white-space:nowrap}
.tabs button:hover{color:var(--ink)}
.tabs button.on{color:var(--cyan);border-color:var(--cyan);background:rgba(255,165,31,.05)}
.tabbody{padding:18px;max-height:min(62vh,700px);overflow:auto}
.tabbody::-webkit-scrollbar{width:6px}
.checks{display:flex;flex-direction:column;gap:2px}
.chk{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(255,170,60,.07);font-size:13.4px}
.chk:last-child{border-bottom:0}
.chk .ic{width:17px;height:17px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;margin-top:2px}
.chk.pass .ic{background:rgba(94,232,122,.16);color:var(--lime);border:1px solid rgba(94,232,122,.4)}
.chk.warn .ic{background:rgba(255,216,77,.16);color:var(--amber);border:1px solid rgba(255,216,77,.4)}
.chk.fail .ic{background:rgba(255,59,59,.16);color:var(--red);border:1px solid rgba(255,59,59,.4)}
.chk .tx b{display:block;color:var(--ink);font-weight:600;font-size:13.4px;margin-bottom:2px}
.chk .tx span{color:var(--muted);font-size:12.4px;line-height:1.5}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:16px}
.metric{background:var(--panel);padding:14px}
.metric b{display:block;font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.035em;line-height:1}
.metric span{font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--dim);margin-top:6px;display:block}
.meter{margin-bottom:15px}
.meter .lb{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.meter .lb b{color:var(--ink);font-weight:500}
.meter .tr{height:4px;background:rgba(255,170,60,.14);position:relative;overflow:hidden}
.meter .tr i{position:absolute;inset:0 auto 0 0;width:0;transition:width .5s var(--ease)}
.kwtable{width:100%;border-collapse:collapse;font-size:13px}
.kwtable th{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
  text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);font-weight:500}
.kwtable td{padding:9px 6px;border-bottom:1px solid rgba(255,170,60,.06);color:var(--read)}
.kwtable td:last-child,.kwtable th:last-child{text-align:right;font-family:var(--mono);font-size:11.5px}
.kwtable tr:hover td{background:rgba(255,165,31,.04);color:var(--ink)}
.kwtable .dens{color:var(--cyan)}
.subtabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.subtabs button{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;padding:6px 11px;
  border:1px solid var(--line);color:var(--dim);transition:.3s}
.subtabs button.on{border-color:var(--cyan);color:var(--cyan);background:rgba(255,165,31,.07)}
.serp{background:#fff;padding:18px;border-radius:8px;font-family:arial,sans-serif;margin-bottom:14px}
.serp .row{display:flex;align-items:center;gap:9px;margin-bottom:5px}
.serp .fav{width:26px;height:26px;border-radius:50%;background:#1A0F09;display:grid;place-items:center;flex:none}
.serp .fav i{width:11px;height:11px;background:linear-gradient(135deg,#FFD84D,#FF2D55);border-radius:2px;display:block;font-style:normal}
.serp .site{font-size:14px;color:#202124;line-height:1.2}
.serp .site small{display:block;font-size:12px;color:#4d5156}
.serp .ttl{color:#1a0dab;font-size:20px;line-height:1.3;margin:2px 0 3px;cursor:pointer}
.serp .ttl:hover{text-decoration:underline}
.serp .desc{color:#4d5156;font-size:14px;line-height:1.58}
.serp .date{color:#70757a}
.serp.mob{max-width:400px}
.serp.mob .ttl{font-size:18px}
.serp.mob .desc{font-size:14px}
.pxbar{display:flex;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.pxbar b{color:var(--ink);font-weight:500}
.pxbar .ok{color:var(--lime)}
.pxbar .warn{color:var(--amber)}
.pxbar .bad{color:var(--red)}
.codebox{background:#0A0604;border:1px solid var(--line);padding:14px;font-family:var(--mono);font-size:11.5px;
  line-height:1.6;color:#FFD9A0;white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto;margin-top:12px}
.schemafields{display:flex;flex-direction:column;gap:11px}
.hint-note{font-size:12.4px;color:var(--muted);background:rgba(255,165,31,.05);border-left:2px solid var(--cyan);
  padding:11px 14px;margin-bottom:14px;line-height:1.55}
.empty-state{text-align:center;padding:44px 20px;color:var(--dim);font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;line-height:2}
.faq{max-width:80ch}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-of-type{border-top:1px solid var(--line)}
.faq-q{width:100%;text-align:left;padding:22px 0;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;
  font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:-.018em;line-height:1.35;transition:.3s}
.faq-q:hover,.faq-item.open .faq-q{color:var(--cyan)}
.faq-q i{font-family:var(--mono);color:var(--cyan);font-style:normal;transition:transform .4s var(--ease);flex:none;font-size:19px}
.faq-item.open .faq-q i{transform:rotate(135deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);color:var(--muted);font-size:15px;line-height:1.75}
.faq-item.open .faq-a{max-height:360px}
.faq-a p{padding-bottom:22px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:34px}
.stepc{background:var(--void);padding:24px}
.stepc b{font-family:var(--mono);font-size:10px;color:var(--cyan);letter-spacing:.18em}
.stepc h4{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:-.02em;margin:10px 0 8px}
.stepc p{font-size:13.2px;color:var(--muted);line-height:1.6}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){.steps{grid-template-columns:1fr}
}
