@font-face{font-family:Sora;font-weight:600;font-display:swap;src:url(fonts/sora-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Sora;font-weight:700;font-display:swap;src:url(fonts/sora-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
:root{--bg:#0E0F12;--card:#16181D;--ink:#fff;--muted:#9BA0AA;--line:#26282E;--accent:#E85A2A;--blue:#5284C3;--yellow:#F6E75E;--coral:#EF7D60;--ok:#4CC38A}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font:17px/1.65 'IBM Plex Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--blue)} ::placeholder{color:#9BA0AA;opacity:1}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.wrap{max-width:880px;margin:0 auto;padding:0 20px}
header.top{padding:24px 0}
header.top a{color:var(--ink);text-decoration:none;font:700 1.25rem Sora,system-ui,sans-serif;letter-spacing:-.01em}
h1,h2,h3{font-family:Sora,system-ui,sans-serif;letter-spacing:-.02em;line-height:1.15}
h1{font-size:clamp(2rem,6vw,3.1rem);margin:18px 0}
h1 span{color:var(--accent)}
.lead{color:var(--muted);font-size:1.1rem;max-width:620px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;margin:28px 0}
label{display:block;font-weight:600;margin:14px 0 6px}
input[type=text],input[type=email],input[type=url]{width:100%;padding:14px 16px;border-radius:8px;border:1px solid var(--line);background:#0E0F12;color:var(--ink);font:inherit}
.check{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:.92rem;color:var(--muted)}
.check input{margin-top:5px}
.btn{display:inline-block;border:0;cursor:pointer;text-decoration:none;font:600 1rem 'IBM Plex Sans',sans-serif;padding:14px 26px;border-radius:8px;background:var(--accent);color:#0E0F12;box-shadow:0 8px 24px -8px rgba(232,90,42,.45)}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;border:1px solid var(--line);box-shadow:none}
.flash{background:#2A1A14;border:1px solid var(--accent);border-radius:8px;padding:12px 16px;margin:18px 0}
.small{font-size:.86rem;color:var(--muted)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.score{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;font:700 2.4rem Sora,sans-serif;background:conic-gradient(var(--c) calc(var(--p)*1%),#2a2c32 0)}
.ring span{background:var(--card);width:104px;height:104px;border-radius:50%;display:grid;place-items:center}
.stats{display:flex;gap:26px;flex-wrap:wrap}
.stats div b{display:block;font:700 1.6rem Sora,sans-serif}
.tag{display:inline-block;font:500 .75rem 'IBM Plex Mono',monospace;border-radius:999px;padding:3px 10px;border:1px solid var(--line);margin-right:8px}
.tag.critical{border-color:#d64545;color:#ff8a8a}.tag.serious{border-color:var(--accent);color:var(--coral)}
.tag.moderate{border-color:var(--yellow);color:var(--yellow)}.tag.minor{border-color:var(--blue);color:var(--blue)}
.issue{border-top:1px solid var(--line);padding:20px 0}
.issue:first-of-type{border-top:0}
pre{background:#0E0F12;border:1px solid var(--line);border-radius:8px;padding:12px;overflow:auto;font:.8rem 'IBM Plex Mono',monospace;margin-top:8px;white-space:pre-wrap;word-break:break-word}
.spin{width:34px;height:34px;border:4px solid #2a2c32;border-top-color:var(--accent);border-radius:50%;animation:s 1s linear infinite;margin:12px 0}
@keyframes s{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
footer{padding:36px 0;color:var(--muted);font-size:.85rem}

.legal h2{font-size:1.2rem;margin:30px 0 8px}
.legal p,.legal li{color:#D7DAE0;margin:8px 0}
.legal ul{padding-left:22px}
footer a{color:#C5C9D1}
