.scan .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.scan-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.1rem,3vw,1.75rem);display:grid;gap:1rem;margin:1.5rem 0 2rem}.sf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.sf-row{grid-template-columns:1fr}}.sf-group{display:grid;gap:.35rem}.sf-group label{font-size:.85rem;font-weight:600}.sf-group .opt{font-weight:400;color:var(--text-muted)}.scan-form input[type=text],.scan-form input[type=email],.scan-form input[type=tel]{width:100%;padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font:inherit;color:var(--text)}.scan-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sf-submit{justify-content:center;padding-block:1rem}.sf-submit:disabled{opacity:.6;cursor:wait}.sf-error{color:#b91c1c;font-size:.9rem;margin:0}.sf-fine{font-size:.78rem;color:var(--text-muted);margin:0;line-height:1.5}.sf-fine a{text-decoration:underline;text-underline-offset:2px}.scan-loading{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2rem}.scan-loading p{margin:0;color:var(--text)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--surface-2);border-top-color:var(--accent);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.scan-result{display:grid;gap:1.25rem;margin-bottom:2.5rem;scroll-margin-top:90px}.sr-top{display:flex;gap:1.25rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.sr-score{width:96px;height:96px;border-radius:50%;display:grid;place-content:center;text-align:center;flex:none;border:6px solid var(--accent)}.sr-score.good{border-color:#16a34a}.sr-score.mid{border-color:#d97706}.sr-score.low{border-color:#dc2626}.sr-num{font-family:Space Grotesk Variable,sans-serif;font-size:2rem;font-weight:700;line-height:1}.sr-of{font-size:.7rem;color:var(--text-muted)}.sr-head h2{margin:0 0 .4rem;font-size:1.4rem}.sr-head p{margin:0}.sr-prio{background:#fff7ed;border:1px solid #FED7AA;border-radius:var(--radius);padding:1.1rem 1.25rem}.sr-prio h3,.sr-speed h3,.sr-group h3,.sr-cta h3{margin:0 0 .6rem;font-size:1.1rem}.sr-prio ul{list-style:disc;padding-left:1.2rem;display:grid;gap:.4rem}.sr-prio li{color:var(--text)}.sr-speed{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem}.sr-speed p{margin:0}.sr-speed a{text-decoration:underline;text-underline-offset:2px;color:var(--text)}.sr-speed-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.sr-speed-head h3{margin:0}.sr-pill{background:#fef3c7;color:#92400e;font-size:.78rem;font-weight:700;padding:.25rem .65rem;border-radius:999px}.sr-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;display:grid;gap:.9rem}.sr-group h3{margin:0}.sr-item{display:flex;gap:.8rem;align-items:flex-start}.sr-badge{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex:none;margin-top:.1rem;color:#fff}.sr-item.ok .sr-badge{background:#16a34a}.sr-item.warn .sr-badge{background:#d97706}.sr-item.fail .sr-badge{background:#dc2626}.sr-body p{margin:0 0 .2rem}.sr-title{font-weight:600;color:var(--text)}.sr-detail{font-size:.92rem}.sr-note{font-size:.85rem;color:var(--text-muted);margin:0}.sr-fix{font-size:.88rem;color:var(--text);background:var(--bg);border-radius:var(--radius-sm);padding:.5rem .7rem;margin-top:.3rem!important}.sr-cta{background:var(--text);color:#fff;border-radius:var(--radius);padding:1.5rem}.sr-cta h3{color:#fff;font-size:1.3rem}.sr-cta p{color:#fffc}.sr-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.sr-cta .btn-secondary{color:#fff;border-color:#ffffff59}.sr-cta .btn-secondary:hover{background:#ffffff1a}.muted{color:var(--text-muted)}
