.speed-site{max-width:1120px}.speed-heading{padding:32px 0 24px}.speed-heading h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em}.speed-heading>p:last-child{margin:8px 0 0;color:var(--muted)}.speed-panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px 28px;overflow:hidden}.speed-panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem}.speed-status{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--accent)}.speed-status:before{content:"";width:7px;height:7px;background:currentColor;border-radius:50%}.speed-status[data-state=cancelled],.speed-status[data-state=ready]{color:var(--muted)}.speed-status[data-state=error]{color:#b84e32}.speed-provider{color:var(--muted)}.speed-reading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0 26px}.speed-reading p{margin:0;color:var(--muted);font-size:.875rem}#speed-value-label{color:var(--ink);font-size:1rem;font-weight:500}.speed-number{display:flex;gap:12px;align-items:baseline;line-height:1.2;margin:7px 0 10px}#speed-value{font:600 clamp(3rem,7vw,4.5rem)/1.15 var(--mono);letter-spacing:-.065em;font-variant-numeric:tabular-nums}.speed-unit{color:var(--muted);font-size:1.125rem}.speed-controls{display:flex;flex-direction:column;align-items:stretch;gap:9px;flex-shrink:0}.speed-controls button{min-height:48px;padding:11px 30px;font-size:1rem}.speed-controls>span{font-size:.875rem;color:var(--muted);text-align:center}.speed-chart-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.speed-chart-heading h2{font-size:1rem;margin:0;font-weight:550}.speed-legend{display:flex;gap:18px;font-size:.875rem;color:var(--muted);flex-wrap:wrap}.speed-legend>span{display:flex;align-items:center;gap:6px}.speed-legend i{width:20px;border-top:3px solid var(--accent)}.speed-legend .up-key{border-color:#536a74;border-top-style:dashed}.speed-chart-wrap{position:relative;margin-top:12px}#speed-chart{display:block;width:100%;height:240px;overflow:visible}#speed-chart-grid text{fill:var(--muted);font:14px var(--mono)}#speed-chart-grid line{stroke:#e6eeee;stroke-width:1}.speed-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.down-line{stroke:var(--accent)}.up-line{stroke:#536a74;stroke-dasharray:6 5}.down-area{fill:#087c6210}.up-area{fill:#536a7409}#speed-chart-empty{position:absolute;top:44%;left:45px;right:15px;text-align:center;margin:0;color:var(--muted);font-size:.875rem;background:#ffffffd9;padding:6px}.speed-progress-row{display:flex;align-items:center;gap:18px;margin:10px 0 20px}.speed-progress-row progress{width:100%;height:5px;appearance:none;border:0;background:#edf2f0;border-radius:3px;overflow:hidden;accent-color:var(--accent)}.speed-progress-row progress::-webkit-progress-bar{background:#edf2f0}.speed-progress-row progress::-webkit-progress-value{background:var(--accent)}.speed-progress-row progress::-moz-progress-bar{background:var(--accent)}#speed-elapsed{flex-shrink:0;font:.875rem var(--mono);color:var(--muted);min-width:65px;text-align:right}.speed-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);padding-top:22px;gap:18px}.speed-results h3{font-size:.875rem;font-weight:550;line-height:1.6;margin:0 0 12px}.speed-results h3>span{display:block;color:var(--muted);font-weight:400}.speed-results p{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0}.speed-results strong{font:500 clamp(1.5rem,3vw,2rem) var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.speed-results p>span{font-size:.875rem;color:var(--muted)}.speed-result-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.speed-result-foot p{font-size:.875rem;color:var(--muted);margin:0;line-height:1.8}.speed-result-foot button{flex-shrink:0;min-height:44px}.speed-copy-status{font-size:.875rem;color:var(--accent);margin:8px 0 0;min-height:0}.speed-copy-status:empty{display:none}.speed-error{padding:12px 15px;background:#fff2ec;color:#a9472d;border-radius:5px;font-size:1rem;margin:0 0 20px}.speed-before-note{color:var(--muted);font-size:.875rem;line-height:1.9;margin:18px 0 28px}.speed-site .help a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}.speed-site footer a:hover{text-decoration:underline}
@media(max-width:760px){.speed-heading{padding:25px 0 20px}.speed-panel{padding:20px}.speed-reading{align-items:flex-start;flex-direction:column;gap:18px;padding-top:20px}.speed-controls{width:100%;flex-direction:row;flex-wrap:wrap}.speed-controls button{flex:1}.speed-controls>span{width:100%;text-align:left}.speed-chart-heading{align-items:flex-start;flex-direction:column;gap:8px}.speed-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.speed-result-foot{align-items:flex-start;flex-direction:column}.speed-number{margin-top:10px}.speed-provider{font-size:.875rem}.speed-before-note{margin-bottom:22px}}@media(max-width:400px){.speed-site{padding:0 14px}.speed-panel{padding:18px 14px}.speed-panel-top{align-items:flex-start;flex-direction:column;gap:4px}.speed-legend{gap:12px}.speed-results strong{font-size:1.5rem}.speed-controls button{padding-left:15px;padding-right:15px}}
.speed-chart-note{font-size:.875rem;color:var(--muted);margin:0 0 14px;line-height:1.8}
.speed-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:22px;border-top:1px solid var(--line);margin-bottom:12px}.speed-phase-chart{min-width:0;background:#f8fcfa;border:1px solid #e1ece7;border-radius:8px;padding:16px 12px 10px}.upload-chart{background:#f9fbfc;border-color:#e3e9ec}.speed-phase-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 4px}.speed-phase-heading h2{font-size:.9375rem;line-height:1.6;font-weight:550;margin:0}.speed-phase-heading h2 span{display:block;font-size:.875rem;color:var(--muted);font-weight:400}.speed-phase-heading p{margin:0;display:flex;gap:5px;align-items:baseline;flex-wrap:wrap;justify-content:flex-end}.speed-phase-heading strong{font:500 1.75rem var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.05em}.speed-phase-heading p>span{font-size:.875rem;color:var(--muted)}.speed-chart-state{font-size:.875rem;color:var(--muted);margin:9px 4px 0;min-height:23px}.speed-phase-chart svg{display:block;width:100%;height:195px;overflow:visible}.speed-phase-chart svg text{fill:var(--muted);font:14px var(--mono)}.speed-phase-chart svg g line{stroke:#e0e9e5;stroke-width:1}.speed-phase-chart .up-line{stroke-dasharray:none}.speed-average{stroke:#324d41;stroke-width:1.5;stroke-dasharray:5 4}.upload-chart .speed-average{stroke:#536a74}.speed-chart-empty{position:absolute;top:43%;left:54px;right:12px;text-align:center;margin:0;color:var(--muted);font-size:.875rem;background:#ffffffd9;padding:5px}.speed-result-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.speed-gear{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:28px}.speed-gear-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.speed-gear h2{font-size:1.125rem;font-weight:550;margin:0}.speed-gear>p{font-size:.875rem;color:var(--muted);line-height:1.9}.speed-gear-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:20px 0 18px}.speed-gear-items>a{display:flex;align-items:flex-start;gap:14px}.speed-gear-items>a>svg{color:var(--accent);width:24px;height:24px;margin-top:4px;flex-shrink:0}.speed-gear-items h3{font-size:1rem;font-weight:550;margin:0 0 5px}.speed-gear-items p{font-size:.875rem;line-height:1.9;color:var(--muted);margin:0 0 8px}.speed-gear-items span{color:var(--accent);font-size:.875rem}.speed-gear-items>a:hover span{text-decoration:underline;text-underline-offset:4px}.speed-result-dialog{width:min(660px,calc(100% - 28px));max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:12px;padding:28px;color:var(--ink);background:var(--white);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #162c3433}.speed-result-dialog::backdrop{background:#172b3659}.speed-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.speed-dialog-header h2{font-size:1.5rem;font-weight:600;margin:0}.speed-dialog-header .eyebrow{margin-bottom:5px}.speed-dialog-header button{min-height:44px;flex-shrink:0}.speed-dialog-time{font-size:.875rem;color:var(--muted);margin:12px 0 20px}.speed-dialog-speeds{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f1f8f4;border:1px solid #dcebe2;border-radius:7px;padding:18px 20px}.speed-dialog-speeds>div>span{font-size:.9375rem}.speed-dialog-speeds p{font-size:.875rem;color:var(--muted);margin:6px 0 0;overflow-wrap:anywhere}.speed-dialog-speeds strong{font:550 2.25rem var(--mono);letter-spacing:-.06em;color:var(--ink)}#speed-dialog-details dl{margin:20px 0;font-size:.875rem}#speed-dialog-details dl>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid #edf1ef}#speed-dialog-details dt{color:var(--muted)}#speed-dialog-details dd{margin:0;overflow-wrap:anywhere;line-height:1.8}.speed-dialog-method{font-size:.875rem;line-height:1.9;color:var(--muted);margin:0}.speed-dialog-next{margin:22px 0;padding:18px;background:#f6f8f9;border-radius:7px}.speed-dialog-next h3,.speed-dialog-ads h3{font-size:1rem;font-weight:550;margin:0}.speed-dialog-next p{font-size:.875rem;color:var(--muted);line-height:1.9;margin:8px 0 0}.speed-dialog-ads{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.speed-dialog-ads>div:last-of-type{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:14px 0}.speed-dialog-ads a{font-size:.9375rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px;line-height:1.8}.speed-dialog-ads .affiliate-note{font-size:.8125rem;line-height:1.9}.speed-dialog-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.speed-dialog-actions button{min-height:44px}.speed-gear .affiliate-note{font-size:.8125rem}
@media(max-width:760px){.speed-charts{grid-template-columns:1fr;gap:14px}.speed-gear-items{grid-template-columns:1fr;gap:22px}.speed-result-actions{width:100%}.speed-result-actions button{flex:1}.speed-result-dialog{padding:22px 20px;max-height:calc(100dvh - 28px)}.speed-dialog-speeds{padding:16px}.speed-dialog-speeds strong{font-size:1.875rem}#speed-dialog-details dl>div{grid-template-columns:1fr;gap:3px}.speed-dialog-actions button{flex:1}.speed-dialog-header .eyebrow{font-size:.6875rem}.speed-dialog-header{gap:12px}.speed-dialog-ads .speed-gear-heading{align-items:flex-start}.speed-dialog-next{padding:15px}}@media(max-width:400px){.speed-dialog-speeds{grid-template-columns:1fr;gap:14px}.speed-phase-heading strong{font-size:1.5rem}.speed-gear-heading h2{font-size:1rem}.speed-result-dialog{padding:20px 16px}.speed-dialog-header .eyebrow{font-size:.625rem;letter-spacing:.04em}}
