.speed-test-panel{background:radial-gradient(circle at 50% 28%,rgba(84,94,255,.15),transparent 38%),linear-gradient(180deg,#111327,#090b18);color:#f8f8ff;border-color:rgba(255,255,255,.1);box-shadow:0 28px 80px rgba(3,5,18,.34)}
.speed-modern-shell{display:grid;gap:14px;max-width:860px;margin:auto;padding:10px 8px 4px}
.speed-modern-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:-2px}.speed-modern-metric{display:grid;place-items:center;gap:4px;min-width:0;text-align:center}.speed-modern-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-size:1rem}.speed-modern-metric small{color:#aeb2c6;font-size:.72rem}.speed-modern-metric strong{font-variant-numeric:tabular-nums;font-size:clamp(1.45rem,4vw,2.35rem);font-weight:480;line-height:1}.speed-modern-metric .metric-unit{font-size:.62rem;color:#9297aa}.metric-latency{color:#ffc84f}.metric-jitter{color:#b59bff}.metric-download{color:#35ec74}.metric-upload{color:#ff6078}
.speed-dial-wrap{display:grid;place-items:start center;min-height:270px;margin-top:-4px}.speed-dial{position:relative;width:min(400px,88vw);aspect-ratio:400/292}.speed-scale{display:block;width:100%;height:100%;overflow:visible}.speed-scale-track,.speed-scale-arc{fill:none;stroke-linecap:round}.speed-scale-track{stroke:rgba(255,255,255,.09);stroke-width:30}.speed-scale-arc{stroke:url(#speedArcGradient);stroke-width:26;filter:drop-shadow(0 0 12px rgba(75,221,255,.24))}
.speed-scale-tick{stroke:rgba(255,255,255,.48);stroke-width:1.4;stroke-linecap:round}.speed-scale-tick.major{stroke:rgba(255,255,255,.9);stroke-width:2.4}.speed-scale-label{fill:#aeb3c8;font-size:11px;font-weight:520;text-anchor:middle;dominant-baseline:middle;font-variant-numeric:tabular-nums}.speed-scale-label.edge{fill:#d4d7e6}.speed-svg-needle{display:inline;visibility:visible;opacity:1;pointer-events:none;filter:drop-shadow(0 0 8px rgba(255,255,255,.5))}.speed-needle-line{stroke:#f8fbff;stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke}.speed-needle-halo{fill:rgba(255,255,255,.13)}.speed-needle-pivot{fill:#fff;stroke:rgba(122,132,164,.7);stroke-width:2;vector-effect:non-scaling-stroke}
.speed-dial-center{position:absolute;left:50%;top:31%;z-index:4;display:grid;place-items:center;transform:translateX(-50%);text-align:center;pointer-events:none}.speed-dial-value{font-size:clamp(2.45rem,8vw,4.65rem);font-weight:430;line-height:.95;font-variant-numeric:tabular-nums;letter-spacing:-.055em}.speed-dial-unit{margin-top:5px;color:#9ca1b6;font-size:.72rem}.speed-start-pill{appearance:none;position:absolute;left:50%;top:73%;z-index:5;min-width:150px;min-height:42px;padding:9px 22px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(18,20,41,.92);color:#fff;font:inherit;font-size:.83rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transform:translate(-50%,-50%);transition:transform .2s ease,background .2s ease,border-color .2s ease}.speed-start-pill:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.035);border-color:#5cecff;background:#1b2042}.speed-start-pill:focus-visible{outline:3px solid #69e9ff;outline-offset:4px}.speed-start-pill:disabled{cursor:wait;opacity:.65}
.speed-live-chart{position:absolute;left:50%;bottom:4px;width:72%;height:54px;z-index:2;overflow:visible;transform:translateX(-50%);pointer-events:none;opacity:.92}.speed-live-chart-line{fill:none;stroke:#41e8ff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(65,232,255,.38))}.speed-live-chart-area{fill:rgba(65,232,255,.075)}.speed-live-chart[data-stage="upload"] .speed-live-chart-line{stroke:#ff6578;filter:drop-shadow(0 0 5px rgba(255,101,120,.38))}.speed-live-chart[data-stage="upload"] .speed-live-chart-area{fill:rgba(255,101,120,.075)}.speed-live-chart[data-stage="ping"] .speed-live-chart-line{stroke:#ffc84f}.speed-live-chart[data-stage="ping"] .speed-live-chart-area{fill:rgba(255,200,79,.065)}
.speed-phase{margin:0;text-align:center;color:#a2a7bd}.speed-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:14px}.speed-endpoint{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}.speed-endpoint-icon{display:grid;place-items:center;width:43px;height:43px;flex:0 0 auto;border:2px solid #f0f44d;border-radius:50%;font-size:1.15rem}.speed-endpoint-copy{min-width:0}.speed-endpoint small{display:block;color:#9196aa;font-size:.66rem}.speed-endpoint strong{display:block;margin-top:3px;font-size:.82rem;font-weight:530;overflow-wrap:anywhere}.speed-connection-badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-top:7px;padding:4px 8px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.035);color:#aeb3c8;font-size:.64rem;line-height:1.25;white-space:normal}.speed-connection-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto}.speed-connection-icon svg{display:block;width:18px;height:18px}.speed-connection-badge[data-connection="wifi"]{color:#52eaff;border-color:rgba(82,234,255,.28);background:rgba(82,234,255,.07)}.speed-connection-badge[data-connection="ethernet"]{color:#9cf36d;border-color:rgba(156,243,109,.28);background:rgba(156,243,109,.07)}.speed-connection-badge[data-connection="cellular"]{color:#ff9a72;border-color:rgba(255,154,114,.28);background:rgba(255,154,114,.07)}.speed-connection-badge[data-connection="bluetooth"]{color:#a9a0ff;border-color:rgba(169,160,255,.28);background:rgba(169,160,255,.07)}.speed-connection-badge[data-connection="none"]{color:#ff788b;border-color:rgba(255,120,139,.28);background:rgba(255,120,139,.07)}.speed-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025)}.speed-history-link{display:inline-flex;align-items:center;gap:7px;color:#84edff;font-size:.76rem;font-weight:700;text-decoration:none}.speed-history-link:hover{text-decoration:underline;text-underline-offset:3px}.speed-history-status{color:#9fa6ba;font-size:.7rem;text-align:right}.speed-history-status[data-state="saved"]{color:#8df2a6}.speed-history-status[data-state="error"]{color:#ff9aaa}.speed-history-status[data-state="saving"]{color:#ffd779}.speed-limit-row{justify-content:center}.speed-limit-summary{color:#8f94aa}.speed-cooldown{max-width:680px;margin-inline:auto}
.speed-guide-section{padding-top:0}.speed-guide-card{max-width:980px;margin:0 auto;padding:clamp(22px,4vw,42px);border:1px solid rgba(255,255,255,.1);border-radius:24px;background:radial-gradient(circle at 12% 0,rgba(65,232,255,.08),transparent 34%),linear-gradient(180deg,#15182b,#0f1222);color:#edf3ff;box-shadow:0 22px 60px rgba(3,5,18,.24)}.speed-guide-kicker{display:inline-flex;margin-bottom:12px;padding:6px 10px;border:1px solid rgba(125,231,255,.22);border-radius:999px;background:rgba(65,232,255,.1);color:#8cecff;font-size:.72rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.speed-markdown{color:#dbe5f7;font-size:clamp(.94rem,1.5vw,1.03rem);line-height:1.72}.speed-markdown[data-markdown-state="loading"]{opacity:.72}.speed-markdown h2,.speed-markdown h3,.speed-markdown h4,.speed-markdown h5,.speed-markdown h6{color:#f8fbff;line-height:1.25;scroll-margin-top:110px}.speed-markdown h2{margin:0 0 18px;font-size:clamp(1.65rem,4vw,2.35rem)}.speed-markdown h3{margin:34px 0 12px;font-size:clamp(1.15rem,2.4vw,1.48rem)}.speed-markdown h4{margin:26px 0 10px;font-size:1.05rem}.speed-markdown p{margin:0 0 16px;color:#dbe5f7}.speed-markdown ul,.speed-markdown ol{margin:0 0 18px;padding-left:1.35rem}.speed-markdown li{margin:.38rem 0;color:#dbe5f7}.speed-markdown li::marker{color:#7de7ff;font-weight:700}.speed-markdown strong{color:#fff;font-weight:700}.speed-markdown em{color:#cbd7ed}.speed-markdown code{padding:.16em .42em;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:rgba(255,255,255,.07);color:#92efff;font-size:.9em}.speed-markdown pre{margin:18px 0;padding:16px 18px;overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:#090d18;color:#d9f6ff;line-height:1.55}.speed-markdown pre code{padding:0;border:0;background:transparent;color:inherit}.speed-markdown blockquote{margin:20px 0;padding:15px 18px;border-left:4px solid #29c7d8;border-radius:0 12px 12px 0;background:rgba(41,199,216,.08)}.speed-markdown blockquote p{margin:0;color:#eaf8ff}.speed-markdown hr{margin:30px 0;border:0;border-top:1px solid rgba(148,163,184,.24)}
.speed-markdown a{color:#7de7ff;text-decoration:underline;text-decoration-color:rgba(125,231,255,.45);text-underline-offset:3px;overflow-wrap:anywhere}.speed-markdown a:hover{color:#c2f7ff;text-decoration-color:currentColor}.speed-markdown a:focus-visible{outline:2px solid #7de7ff;outline-offset:3px;border-radius:3px}.speed-markdown h3+ol{display:grid;gap:9px;padding-left:1.55rem}.speed-markdown h3+ol li{padding-left:.25rem}
.speed-markdown-table-wrap{width:100%;max-width:100%;margin:20px 0;overflow:visible;border:1px solid rgba(148,163,184,.24);border-radius:14px}.speed-markdown table{width:100%;max-width:100%;min-width:0;table-layout:fixed!important;border-collapse:collapse;background:rgba(255,255,255,.018);font-size:.86rem}.speed-markdown th,.speed-markdown td{box-sizing:border-box;min-width:0;max-width:0;padding:12px 13px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:top;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;hyphens:auto;line-height:1.55}.speed-markdown th *,.speed-markdown td *{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}.speed-markdown th{background:rgba(255,255,255,.045);color:#f4f8ff;font-size:.78rem;letter-spacing:.02em}.speed-markdown td{color:#dbe5f7}.speed-markdown th:nth-child(1),.speed-markdown td:nth-child(1){width:16%}.speed-markdown th:nth-child(2),.speed-markdown td:nth-child(2){width:11%}.speed-markdown th:nth-child(3),.speed-markdown td:nth-child(3){width:41%}.speed-markdown th:nth-child(4),.speed-markdown td:nth-child(4){width:32%}.speed-markdown tbody tr:last-child td{border-bottom:0}
@media(max-width:720px){.speed-modern-shell{gap:12px}.speed-modern-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.speed-dial-wrap{min-height:238px;margin-top:-2px}.speed-dial{width:min(360px,94vw)}.speed-scale-label{font-size:10px}.speed-dial-center{top:32%}.speed-start-pill{top:74%;min-width:140px}.speed-live-chart{bottom:2px}.speed-endpoints{grid-template-columns:1fr}.speed-history-row{align-items:flex-start;flex-direction:column}.speed-history-status{text-align:left}.speed-guide-card{padding:20px 14px;border-radius:18px}.speed-markdown{font-size:.92rem;line-height:1.65}.speed-markdown h2{font-size:1.42rem}.speed-markdown h3{font-size:1.12rem}.speed-markdown-table-wrap{margin:18px 0;border:0;overflow:visible}.speed-markdown table,.speed-markdown thead,.speed-markdown tbody,.speed-markdown tr,.speed-markdown th,.speed-markdown td{display:block!important;width:100%!important;max-width:none!important;min-width:0!important}.speed-markdown thead{display:none!important}.speed-markdown table{table-layout:auto!important;background:transparent}.speed-markdown tbody{display:grid!important;gap:12px}.speed-markdown tbody tr{overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(255,255,255,.025)}.speed-markdown tbody td,.speed-markdown tbody td:nth-child(1),.speed-markdown tbody td:nth-child(2),.speed-markdown tbody td:nth-child(3),.speed-markdown tbody td:nth-child(4){display:block!important;width:100%!important;max-width:none!important;min-width:0!important;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.15);font-size:.9rem;line-height:1.58;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:none!important}.speed-markdown tbody td::before{content:attr(data-label);display:block;margin-bottom:5px;color:#82eaff;font-size:.75rem;font-weight:750;letter-spacing:.02em}.speed-markdown tbody td *{white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:none!important}.speed-markdown tbody tr td:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.speed-start-pill{transition:none!important}}