.speed-test{max-width:1120px;margin:0 auto;padding:56px 22px 72px;color:#15213a}
.speed-test__hero{text-align:center;max-width:780px;margin:0 auto 34px}
.speed-test__eyebrow{display:inline-flex;padding:7px 12px;border:1px solid #dfe5ff;border-radius:999px;color:#5559e9;background:#f6f7ff;font-size:13px;font-weight:800}
.speed-test__hero h1{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:16px 0 12px;letter-spacing:-1.8px}
.speed-test__hero p{margin:0;color:#68738b;line-height:1.8;font-size:16px}
.speed-test__workspace{background:#fff;border:1px solid #e3e7f2;border-radius:28px;box-shadow:0 20px 60px rgba(36,49,88,.10);padding:34px}
.speed-test__gauge-panel{display:flex;flex-direction:column;align-items:center}
.speed-test__gauge{width:min(390px,78vw);aspect-ratio:1;position:relative}
.speed-test__gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.speed-test__gauge-track,.speed-test__gauge-value{fill:none;stroke-width:14}
.speed-test__gauge-track{stroke:#edf0f8}
.speed-test__gauge-value{stroke:#5b59eb;stroke-linecap:round;stroke-dasharray:553;stroke-dashoffset:553;transition:stroke-dashoffset .18s ease}
.speed-test__gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.speed-test__gauge-center strong{font-size:clamp(44px,8vw,70px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-2px}
.speed-test__gauge-center span{font-size:14px;font-weight:800;color:#68738b;margin-top:8px}
.speed-test__gauge-center small{margin-top:12px;color:#8a93a8;font-size:13px}
.speed-test__primary{border:0;background:#5b59eb;color:#fff;border-radius:14px;padding:15px 32px;font-size:16px;font-weight:800;cursor:pointer;min-width:190px;box-shadow:0 10px 24px rgba(91,89,235,.24)}
.speed-test__primary:hover{filter:brightness(.97)}
.speed-test__primary:disabled{opacity:.7;cursor:wait}
.speed-test__status{color:#707a91;margin:13px 0 0;text-align:center;min-height:24px}
.speed-test__results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.speed-test__metric{border:1px solid #e6e9f2;border-radius:18px;padding:20px;background:#fafbfe;text-align:center}
.speed-test__metric span{display:block;color:#707a91;font-size:13px;font-weight:800;margin-bottom:9px}
.speed-test__metric strong{font-size:32px;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.speed-test__metric small{font-size:12px;color:#8b94a7;margin-inline-start:5px}
.speed-test__metric--download{background:#f7f7ff;border-color:#dedfff}
.speed-test__metric--upload{background:#f6fbff;border-color:#dcecf9}
.speed-test__details{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #edf0f5}
.speed-test__details div{display:flex;justify-content:space-between;gap:12px;color:#7a8499;font-size:13px}
.speed-test__details strong{color:#27334d;font-weight:800;text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.speed-test__info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}
.speed-test__info-grid article{border:1px solid #e5e8f1;border-radius:20px;background:#fff;padding:22px}
.speed-test__info-grid h2{font-size:16px;margin:0 0 8px}
.speed-test__info-grid p{font-size:13px;line-height:1.8;color:#737e94;margin:0}
@media (max-width:760px){.speed-test{padding:38px 14px 55px}.speed-test__workspace{padding:22px 15px;border-radius:22px}.speed-test__results,.speed-test__details,.speed-test__info-grid{grid-template-columns:1fr}.speed-test__details{gap:10px}.speed-test__metric strong{font-size:28px}}
