:root{--ink:#20164f;--muted:#817891;--line:#e6e0ef;--orange:#ed7737;--violet:#8062b7}*{box-sizing:border-box}body{margin:0;background:#f7f6fa;color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}a{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}header{height:92px;padding:0 max(24px,calc((100vw - 1320px)/2));background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px}header img{width:180px}header>span{font-size:10px;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:30px}header>a:last-child{margin-left:auto;font-size:12px;text-decoration:none}main{max-width:1320px;margin:auto;padding:42px 24px 60px}.intro{display:flex;align-items:center;justify-content:space-between;padding:10px 0 38px;gap:32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;color:#ac7048;margin:0 0 12px}h1{font-size:52px;line-height:1.1;letter-spacing:-2px;margin:0 0 18px}h1 span{color:#9a7ab9}.intro p:not(.eyebrow){color:var(--muted);font-size:15px}.path-art{display:flex;align-items:center;width:43%;padding:25px 0}.node{width:94px;height:94px;flex-shrink:0;border:1px solid #ded4ed;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px;background:#fff;box-shadow:0 0 45px #be9ae01a}.node small{font-size:8px;letter-spacing:1.7px;color:var(--muted)}.path-art i{height:1px;background:#d7c7e7;flex:1;position:relative;overflow:hidden}.path-art i:after{content:'';display:block;width:28px;height:2px;background:var(--orange);position:absolute;animation:flow 2.8s infinite linear;box-shadow:0 0 8px #ffae64}@keyframes flow{from{left:-30px}to{left:100%}}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.test-card,.settings,.history{background:white;border:1px solid var(--line);border-radius:22px}.test-card{padding:22px 30px 18px;overflow:hidden;box-shadow:0 12px 60px #29174504}.mode-tabs{display:flex;padding:5px;background:#f4f1f8;border-radius:12px;gap:6px}.mode-tabs button{border:0;background:transparent;border-radius:9px;flex:1;padding:12px;color:#9586a6;font-size:11px}.mode-tabs button span{font-size:14px;margin-left:12px;font-weight:600}.mode-tabs [aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 2px 8px #33204e0b}.test-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:24px}.status{display:flex;gap:8px;align-items:center}.status i{height:6px;width:6px;border-radius:100%;background:#65a98e}.gauge{position:relative;width:340px;max-width:100%;margin:8px auto -2px}.gauge svg{width:100%;display:block;overflow:visible}.track,#meter{fill:none;stroke-width:9;stroke-linecap:round;stroke:#f0ecf5}#meter{stroke:url(#arc);stroke-dasharray:0 100;transition:stroke-dasharray .3s}.ticks{fill:#9c90ad;font-size:10px}.gauge-value{position:absolute;top:44%;left:0;right:0;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.2}.gauge-value span:first-child{font-size:8px;letter-spacing:1.8px;color:var(--muted)}.gauge-value strong{font-size:62px;letter-spacing:-3px;font-weight:650;margin:4px 0}.gauge-value span:last-child{font-size:12px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:18px 0;margin-top:12px}.metrics>div{padding-left:18px;border-left:1px solid var(--line)}.metrics>div:first-child{padding-left:0;border:0}.metrics span{display:block;color:var(--muted);font-size:11px}.metrics strong{font-size:21px;font-weight:600;white-space:nowrap}.metrics small{font-size:9px;color:var(--muted);font-weight:400}.chart-head{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#a294b2;margin-top:18px}#chart{height:65px;width:100%;margin-bottom:10px}.grid{stroke:#f0edf5;stroke-width:1;fill:none}#line{fill:none;stroke:var(--orange);stroke-width:2;vector-effect:non-scaling-stroke}.consent{font-size:10px;line-height:1.6;background:#faf8fd;border-radius:8px;padding:10px 12px;margin-bottom:14px;color:#81748f}.consent label,.check{display:flex;gap:8px;align-items:flex-start}.consent input,.check input{margin-top:4px;accent-color:#65509b}.start{border:0;border-radius:10px;background:var(--ink);color:white;width:100%;padding:15px 20px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:25px}.start:hover{background:#342365}.start span{color:#ffae66}.test-note{text-align:center;color:#a095aa;font-size:9px;margin-bottom:0}#stop{display:block;margin:8px auto;border:0;background:transparent;color:#a65b36;font-size:12px}#stop[hidden],[hidden]{display:none!important}#error{padding:12px;background:#fff2e8;color:#9b471d;border-radius:8px;font-size:12px}aside{display:grid;gap:20px}.settings{padding:26px}.settings h2{font-size:20px;letter-spacing:-.5px;margin:0 0 10px}.settings p:not(.eyebrow){font-size:12px;color:var(--muted)}.field{display:grid;gap:7px;font-size:11px;margin:22px 0}.field select{width:100%;min-width:0;background:#fbfafd;border:1px solid var(--line);padding:12px;color:var(--ink);border-radius:8px;font-size:12px}.server{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:3px;overflow-wrap:anywhere}.server span,.server small{font-size:10px;color:var(--muted)}.server strong{font-size:12px}.insight{padding:28px;border-radius:20px;background:linear-gradient(135deg,#251954,#392368);color:#fff;position:relative;overflow:hidden}.spark{font-size:28px;color:#ffac64}.insight h2{font-size:26px;line-height:1.25;margin:12px 0}.insight p{font-size:12px;color:#d0c3e4}.insight .muted{font-size:10px;color:#a99abb}.history{padding:28px;margin-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.section-heading h2,.method h2{font-size:26px;margin:0;letter-spacing:-.7px}.section-heading button{border:1px solid var(--line);padding:9px 14px;background:white;border-radius:8px;font-size:11px;color:#706182}.empty{color:var(--muted);font-size:13px;padding:24px 0}.muted{font-size:11px;color:var(--muted)}.result-row{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.result-row small{display:block;font-size:10px;color:var(--muted)}.result-row strong{font-size:20px}.result-row .badge{font-size:10px;background:#f0eafa;border-radius:5px;padding:3px 6px;margin-right:7px}.method{padding:50px 0 0}.method>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:28px}.method b{font-size:10px;color:#b07a53}.method h3{font-size:17px;margin:10px 0}.method article p{font-size:12px;color:var(--muted)}.method>a{font-size:11px;color:#8e70af;margin-right:20px}footer{border-top:1px solid var(--line);background:white;padding:24px;display:flex;gap:25px;align-items:center;color:var(--muted);font-size:11px}footer img{width:130px}footer span:last-child{margin-left:auto}.notice{background:#fff7ee;padding:10px;border-radius:8px}.check{font-size:11px;color:var(--ink)}:focus-visible{outline:3px solid #bd98e5;outline-offset:3px}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 270px}.test-card{padding:16px 20px}.settings{padding:20px}.metrics>div{padding-left:8px}.metrics strong{font-size:17px}.path-art{width:45%}.node{width:70px;height:70px}h1{font-size:44px}}@media(max-width:700px){header{height:68px;padding:0 18px;gap:10px}header img{width:140px}header>span{display:none}header>a:last-child{font-size:10px}main{padding:24px 16px 35px}.intro{display:block;padding-bottom:15px}h1{font-size:40px}.intro p:not(.eyebrow){font-size:13px}.desktop{display:none}.path-art{width:100%;padding:15px 20px}.node{width:61px;height:61px;font-size:24px}.node small{font-size:6px}.workspace{display:flex;flex-direction:column}.test-card{width:100%;padding:14px}.gauge{width:280px}.gauge-value strong{font-size:52px}.metrics{gap:8px;grid-template-columns:1fr 1fr;padding:14px 0;row-gap:12px}.metrics>div{padding-left:8px!important;border-left:0}.metrics span{font-size:10px}.metrics strong{font-size:21px}.mode-tabs button{padding:11px 6px}.mode-tabs button span{font-size:12px;margin-left:5px}aside{width:100%;grid-template-columns:1fr}.insight{padding:22px}.insight h2 br{display:none}.history{padding:20px;margin-top:22px}.section-heading{align-items:flex-start}.section-heading h2,.method h2{font-size:22px}.section-heading button{font-size:10px;white-space:nowrap;padding:8px}.result-row{grid-template-columns:1fr 1fr;gap:10px}.result-row strong{font-size:18px}.method>div{grid-template-columns:1fr;gap:12px}.method{padding-top:35px}footer{flex-wrap:wrap;gap:10px}footer span:last-child{margin-left:0;width:100%;font-size:9px}.eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Speed Lab 2: focused instrument panel */
:root{--ink:#f2efff;--muted:#9895ad;--line:#ffffff13;--orange:#ff9955;--violet:#aa8cff}body{background:#111021;background-image:radial-gradient(ellipse at 70% 0,#40306435,transparent 55%);color:var(--ink)}header{background:#141222;border-color:#ffffff0a;height:76px}header img,footer img{filter:brightness(0) invert(1)}header>span{color:#8c839f}header>a:last-child{color:#c7bfd9}main{max-width:1260px;padding-top:28px}.intro{padding-bottom:24px}.intro h1{font-size:42px;letter-spacing:-1.6px}.intro h1 br{display:none}.intro h1 span{color:#b89ae9;margin-left:10px}.intro p:not(.eyebrow){font-size:13px}.eyebrow{color:#d19e78;font-size:9px}.path-art{width:32%;opacity:.75}.node{background:#211c35;width:65px;height:65px;font-size:24px;border-color:#76659155;box-shadow:none}.node small{font-size:6px;color:#b6a7ca}.path-art i{background:#66517b66}.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:22px}.test-card{background:radial-gradient(ellipse at 50% 34%,#29213d55,transparent 65%),#191628;border:1px solid #6f60852a;border-radius:24px;padding:18px 30px 24px;box-shadow:0 25px 70px #0002}.mode-tabs{background:#100e1c;border:1px solid #ffffff08;border-radius:12px;padding:4px}.mode-tabs button{color:#847991}.mode-tabs [aria-selected=true]{background:#302641;color:#efe5ff;box-shadow:0 3px 12px #0003}.test-top{margin-top:22px;font-size:10px;letter-spacing:.4px}.status i{background:#8bdac1;box-shadow:0 0 10px #8bdac155}.gauge{width:390px;margin-top:20px;margin-bottom:0}.track{stroke:#ffffff09;stroke-width:7}#meter{stroke-width:7;filter:drop-shadow(0 0 9px #a582d955)}.gauge-value{top:54%;}.gauge-value strong{font-size:68px;font-weight:400;letter-spacing:-3px}.gauge-value span:first-child{font-size:8px;color:#a999bf}.gauge-value span:last-child{color:#a99aba}.ticks{fill:#8c7f9d;font-size:9px}.metrics{margin-top:20px;padding:18px 0}.metrics span{color:#9c8da9}.metrics strong{font-weight:450;font-size:24px;letter-spacing:-.5px}.metrics small{color:#80758e}.metrics>div:nth-child(1) strong{color:#bba1f0}.metrics>div:nth-child(2) strong{color:#ffb880}.chart-head{font-size:8px;color:#9a8aa8}.legend{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:3px}.download-dot{background:#b19ae8}.upload-dot{background:#ffa86b}#chart{height:90px;margin:7px 0 12px}.grid{stroke:#ffffff07}#line{stroke:#b19ae8;stroke-width:2.2;filter:drop-shadow(0 0 4px #b19ae844)}#upload-line{fill:none;stroke:#ffa86b;stroke-width:2.2;vector-effect:non-scaling-stroke}.load-metrics{display:flex;gap:18px;font-size:10px;color:#9c8ba9;margin-bottom:18px;align-items:center}.load-metrics>span{margin-right:auto}.load-metrics b{font-weight:400}.load-metrics strong{font-weight:500;color:#d4c5e4}.start{max-width:230px;margin:auto;background:linear-gradient(100deg,#a789d8,#c09be3);color:#1d142d;border:1px solid #d0b6ec66;border-radius:40px;padding:15px;font-size:13px;letter-spacing:2px;box-shadow:0 5px 35px #aa7dd226}.start:hover{background:#ccb0ef;box-shadow:0 5px 40px #aa7dd24a}.start span{color:#291c3d}.test-note{color:#776985;margin-top:13px;font-size:9px}.settings{background:#191628;border-color:#6f60852a;border-radius:18px;padding:22px}.settings h2{font-size:17px;font-weight:500}.settings p:not(.eyebrow){font-size:11px;line-height:1.8;color:#9d8eab}.field select{background:#221c31;color:#d6c8e6;border-color:#ffffff13;font-size:11px}.field{color:#9e8aaa}.server{border-color:#ffffff0d}.server span,.server small{color:#8f7e9e}.server strong{color:#d6c5e5;font-size:12px}.insight{border:1px solid #76628d33;background:linear-gradient(145deg,#342647,#21182f);border-radius:18px;padding:23px}.insight h2{font-size:25px;font-weight:450}.insight p{font-size:11px;line-height:1.9;color:#bbaccb}.insight .muted{color:#927ea5}.spark{color:#dca778}.history{background:#191628;border-color:#6f60852a;border-radius:18px;margin-top:24px;padding:24px}.section-heading h2,.method h2{font-size:22px;font-weight:500}.section-heading button{background:#241d32;border-color:#6f608533;color:#bdabce}.empty{color:#8b7b9b;padding:14px 0}.method{padding-top:36px}.method article{border-top:1px solid #ffffff12;padding-top:15px}.method article p{color:#9b8ba9}.method h3{font-weight:500}.method>a{color:#b69acd}.muted{color:#897a98}.notice{background:#302139;color:#bea2cb!important}.check{color:#b6a1c6}#error{background:#3e2632;border:1px solid #d79b7440;color:#f2beab;font-size:11px}#stop{color:#c8a3db}footer{background:#12101e;border-color:#ffffff0d;color:#83738f}.result-row{border-color:#ffffff0b}.result-row .badge{background:#302344;color:#bfa4dd}.result-row small{color:#9581a6}
@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 250px}.intro h1{font-size:34px}.test-card{padding-inline:20px}.metrics strong{font-size:20px}}
@media(max-width:700px){header{height:62px}.intro h1{font-size:33px}.intro h1 br{display:block}.intro h1 span{margin:0}.intro p:not(.eyebrow){font-size:12px}.path-art{display:none}.intro{padding-bottom:12px}.workspace{display:flex;gap:18px}.test-card{padding:12px 18px 21px;border-radius:20px}.gauge{width:310px;margin-top:20px}.gauge-value strong{font-size:57px}.metrics{grid-template-columns:repeat(2,1fr);gap:15px;margin-top:12px;padding:17px 0}.metrics strong{font-size:25px}.metrics>div{padding-left:0!important}.load-metrics{gap:10px;font-size:9px}.load-metrics>span{max-width:100px;line-height:1.5}.test-top{font-size:9px}.test-note{font-size:8px}.start{max-width:215px}.history{padding:20px}.settings{padding:20px}.insight h2{font-size:22px}.method h2{font-size:23px}.method article{padding-top:10px}.section-heading h2{font-size:19px}.gauge-value{top:53%}#chart{height:85px}.mode-tabs button span{font-size:12px}}

.network-info{display:grid;gap:7px;padding-top:18px;border-top:1px solid var(--line);overflow-wrap:anywhere}.network-info>span{font-size:9px;letter-spacing:1.5px;color:var(--orange)}.network-info strong{font-size:15px}.network-info small{color:var(--muted);font-size:10px}.field input{width:100%;min-width:0;background:#221c31;color:var(--ink);border:1px solid var(--line);padding:12px;border-radius:8px}.analysis-panel{margin-top:24px;padding:26px;background:#191628;border:1px solid var(--line);border-radius:20px}.quality-grid,.diagnostics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:22px}.quality-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#32254055,#191628)}.quality-card small,.diagnostics small{color:var(--muted);font-size:9px;letter-spacing:1px}.quality-card h3{margin:8px 0;font-size:17px}.quality-card b{color:#a8dfc6;font-size:19px}.quality-card p,.diagnostics p{font-size:11px;color:var(--muted);margin-bottom:0}.diagnostics{border-top:1px solid var(--line);padding-top:22px}.diagnostics strong{display:block;font-size:24px;font-weight:500;margin-top:5px}.diagnostics>div{min-width:0}.quality-card[data-level="warn"] b{color:#ffb880}@media(max-width:700px){.quality-grid,.diagnostics{grid-template-columns:1fr}.analysis-panel{padding:20px}.analysis-panel .section-heading{flex-wrap:wrap}.quality-card{padding:16px}}

.stability-panel{margin-top:24px;padding:26px;background:#191628;border:1px solid var(--line);border-radius:20px}.stability-values{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.stability-values strong{font-size:26px;font-weight:500;color:#c5abea}.stability-values span{font-size:12px;color:var(--muted)}#stability-chart{width:100%;height:100px;margin-top:16px}#stability-line{stroke:#b29ae7;stroke-width:2;fill:none;vector-effect:non-scaling-stroke}@media(max-width:700px){.stability-panel{padding:20px}.stability-panel .section-heading{flex-wrap:wrap}}

/* Readable type and a simpler connection panel */
body{font-size:16px}.intro p:not(.eyebrow){font-size:16px}.eyebrow{font-size:12px}.test-top{font-size:13px}.metrics span{font-size:14px}.metrics strong{font-size:28px}.metrics small{font-size:12px}.chart-head{font-size:11px;letter-spacing:.6px}.load-metrics{font-size:13px}.test-note{font-size:12px}.gauge-value span:first-child{font-size:11px}.gauge-value span:last-child{font-size:15px}.start{font-size:16px}.network-info{border-top:0;padding-top:0;gap:12px}.network-info>span{font-size:12px}.network-info strong{font-size:20px;line-height:1.5}.network-info small,.server span,.server small{font-size:13px}.server{margin-top:24px}.server strong{font-size:16px}.settings{padding:26px}.muted,.quality-card p,.diagnostics p,.method article p{font-size:14px;line-height:1.75}.quality-card small,.diagnostics small,.method b{font-size:12px}.quality-card h3{font-size:20px}.quality-card b{font-size:22px}.section-heading button{font-size:14px}.result-row{font-size:15px}.result-row small{font-size:13px}.result-row .badge{font-size:12px}.method h3{font-size:20px}.method>a,footer{font-size:13px}.diagnostics{grid-template-columns:1fr}.stability-values span{font-size:14px}#error{font-size:14px}
@media(max-width:700px){.intro p:not(.eyebrow){font-size:15px}.eyebrow{font-size:11px}.test-top{font-size:11px}.metrics span{font-size:13px}.metrics strong{font-size:27px}.load-metrics{font-size:12px}.load-metrics>span{max-width:130px}.chart-head{font-size:10px}.test-note{font-size:11px}.section-heading button{font-size:13px}.network-info strong{font-size:20px}.settings{padding:22px}.gauge-value span:first-child{font-size:10px}}

/* Independent Speedtest navigation */
html{scroll-behavior:smooth;scroll-padding-top:24px}.skip-link{position:absolute;left:16px;top:-100px;background:#302344;padding:12px;z-index:5}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}header{height:auto;min-height:90px;max-width:none;gap:35px;padding-block:20px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}.brand img{object-fit:contain}.brand span{color:#bda7d5;border-left:1px solid var(--line);padding-left:14px;letter-spacing:2px;font-size:11px}header nav{display:flex;flex-wrap:wrap;gap:8px 22px;margin-left:auto}header nav a{font-size:14px;text-decoration:none;min-height:44px;display:flex;align-items:center;color:#c5b8d8}header nav a:hover{color:white}.intro h1{line-height:1.25}.intro h1 br{display:block}.intro h1 span{margin-left:0}.faq{margin-top:40px;border-top:1px solid var(--line);padding-top:30px}.faq h2{font-size:26px;font-weight:500}.faq details{border-bottom:1px solid var(--line);padding:0 2px}.faq summary{cursor:pointer;padding:20px 0;font-size:17px;color:#dfd4ee;line-height:1.5}.faq details p{max-width:900px;color:#ad9fbc;font-size:15px;line-height:1.8;margin:0 0 22px}footer{padding:30px max(24px,calc((100vw - 1212px)/2));flex-wrap:wrap;gap:20px}footer .footer-brand{display:flex;align-items:center;gap:20px}footer nav{display:flex;gap:12px 24px;margin-left:auto;flex-wrap:wrap}footer nav a{font-size:14px;display:flex;align-items:center;min-height:44px;text-decoration:none;color:#cfbae5}footer small{width:100%;border-top:1px solid var(--line);padding-top:18px;color:#978aa6;font-size:12px}.noscript{padding:15px;text-align:center}
@media(max-width:700px){header{padding:16px;gap:10px}.brand img{width:130px;height:32px}.brand span{font-size:10px}header nav{width:100%;gap:4px 16px;margin:0}header nav a{font-size:13px;min-height:40px}.intro h1{font-size:32px}.faq summary{font-size:16px}.faq details p{font-size:14px}.faq h2{font-size:23px}footer{padding:24px 18px}footer nav{margin:0;width:100%}footer .footer-brand{flex-wrap:wrap;gap:10px}footer span:last-child{width:auto}}

.visitor-info{margin:4px 0;display:grid;gap:12px}.visitor-info>div{padding:10px 0;border-bottom:1px solid var(--line)}.visitor-info dt{font-size:12px;color:var(--muted)}.visitor-info dd{font-size:16px;margin:3px 0 0;color:#e2d7ed;overflow-wrap:anywhere}
