/* Free speed check */
.sp__form{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-top:clamp(30px,4vw,50px);max-width:820px}
.sp__url{flex:1 1 320px}
.sp__form .btn{min-height:62px}
.sp__powered{margin-top:12px;font-size:13px;color:var(--paper-faint)}
#sp-err{margin-top:12px}
.sp__loading{display:flex;align-items:center;gap:16px;margin-top:34px;padding:22px 24px;max-width:820px;border:1px solid var(--line);border-radius:var(--r-l)}
.sp__loading[hidden],.sp__result[hidden]{display:none}
.sp__spin{width:28px;height:28px;flex:none;border-radius:50%;border:3px solid var(--line);border-top-color:var(--lime);animation:sp-spin 0.9s linear infinite}
@keyframes sp-spin{to{transform:rotate(360deg)}}
.sp__loading p{color:var(--paper-dim)}
.sp__result{display:grid;gap:clamp(16px,2vw,24px);margin:clamp(34px,4vw,54px) 0 clamp(60px,8vw,110px);scroll-margin-top:100px}
.sp__scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2vw,24px)}
.sp__card,.sp__issues,.sp__offer{padding:clamp(22px,2.6vw,32px);border:1px solid var(--line);border-radius:var(--r-l);background:rgba(244,244,241,.02)}
.sp__label{font-family:var(--mono);font-size:12px;color:var(--lime);text-transform:uppercase;letter-spacing:.06em}
.sp__na{margin-top:12px;color:var(--paper-dim)}
.sp__ring{position:relative;width:130px;height:130px;margin:18px 0 20px}
.sp__ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sp__ring circle{fill:none;stroke:var(--line);stroke-width:9}
.sp__ring .sp__arc{stroke-linecap:round;transition:stroke-dashoffset 1.2s var(--ease)}
.sp__ring b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:2.4rem;font-weight:700}
.sp__ring.is-good .sp__arc{stroke:#4ade80}.sp__ring.is-good b{color:#4ade80}
.sp__ring.is-ok .sp__arc{stroke:#fbbf24}.sp__ring.is-ok b{color:#fbbf24}
.sp__ring.is-bad .sp__arc{stroke:#ff6b6b}.sp__ring.is-bad b{color:#ff6b6b}
.sp__metrics{list-style:none;margin:0;padding:0}
.sp__metrics li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line-soft);font-size:14px;color:var(--paper-dim)}
.sp__metrics li b{font-weight:600}
.sp__metrics li.is-good b{color:#4ade80}.sp__metrics li.is-ok b{color:#fbbf24}.sp__metrics li.is-bad b{color:#ff6b6b}
.sp__issues h2{font-size:1.3rem;margin-bottom:12px}
.sp__issues ul{list-style:none;margin:0;padding:0}
.sp__issues li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line-soft);font-size:15px}
.sp__issues li em{font-style:normal;color:var(--paper-faint);font-size:13px}
.sp__issues li b{flex:none;color:var(--lime);font-weight:500;font-size:14px}
.sp__report{display:inline-block;margin-top:14px;color:var(--lime);border-bottom:1px solid currentColor;font-size:14px}
.sp__offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(18px,3vw,40px);border-color:rgba(200,255,45,.35);background:linear-gradient(160deg,rgba(200,255,45,.06),rgba(124,92,255,.06))}
.sp__offer strong{display:block;font-family:var(--display);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.15;margin-bottom:10px}
.sp__offer p{color:var(--paper-dim)}
@media(max-width:860px){.sp__offer{grid-template-columns:1fr}}
@media(max-width:574px){.sp__form .btn{width:100%;justify-content:center}.sp__issues li{flex-direction:column;gap:4px}}
