.speedtest.svelte-teql8t{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface);box-shadow:var(--shadow-sm);min-width:0}.speedtest__advanced-summary.svelte-teql8t{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-family:var(--font-family-mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle);user-select:none;transition:color var(--dur-fast) var(--ease-out)}.speedtest__advanced-summary.svelte-teql8t::-webkit-details-marker{display:none}.speedtest__advanced-summary.svelte-teql8t:hover{color:var(--color-text)}.speedtest__advanced-summary.svelte-teql8t:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--r-sm)}.speedtest__advanced-chevron.svelte-teql8t{color:currentColor;transition:transform var(--dur-fast) var(--ease-out)}.speedtest__advanced[open].svelte-teql8t .speedtest__advanced-chevron:where(.svelte-teql8t){transform:rotate(180deg)}.speedtest__advanced-body.svelte-teql8t{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-5);margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);min-width:0}.speedtest__field.svelte-teql8t{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;border:0;padding:0;margin:0}.speedtest__field--plan.svelte-teql8t{grid-column:1 / -1}.speedtest__legend.svelte-teql8t{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;font-family:var(--font-family-mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle)}.speedtest__pill-group.svelte-teql8t{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--r-md);overflow:hidden;align-self:flex-start}.speedtest__pill.svelte-teql8t{appearance:none;background:transparent;border:0;padding:var(--space-2) var(--space-4);font-family:var(--font-family-sans);font-size:.875rem;color:var(--color-text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);min-width:0}.speedtest__pill.svelte-teql8t+.speedtest__pill:where(.svelte-teql8t){border-left:1px solid var(--color-border)}.speedtest__pill.svelte-teql8t:hover{color:var(--color-text)}.speedtest__pill.svelte-teql8t:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.speedtest__pill.is-active.svelte-teql8t{background:var(--color-text);color:var(--color-bg)}.speedtest__plan-input.svelte-teql8t{appearance:none;border:1px solid var(--color-border);border-radius:var(--r-md);padding:var(--space-3);font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;font-size:.9375rem;color:var(--color-text);background:var(--color-bg);transition:border-color var(--dur-fast) var(--ease-out);width:100%;min-width:0}.speedtest__plan-input.svelte-teql8t:focus-visible{outline:none;border-color:var(--color-accent)}.speedtest__hint.svelte-teql8t{font-family:var(--font-family-sans);font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}.speedtest__hint--inline.svelte-teql8t{font-family:var(--font-family-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--color-text-subtle)}.speedtest__live.svelte-teql8t{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);min-width:0}.speedtest__stage.svelte-teql8t{display:grid;grid-template-areas:"stage";min-width:0}.speedtest__stage.svelte-teql8t>:where(.svelte-teql8t){grid-area:stage}.speedtest__placeholder.svelte-teql8t{position:relative;justify-self:center;width:100%;max-width:22rem;aspect-ratio:200 / 130;padding:var(--space-2);min-width:0;animation:svelte-teql8t-speedtest-placeholder-enter var(--dur-med) var(--ease-out) both}.speedtest__placeholder-svg.svelte-teql8t{display:block;width:100%;height:100%}@keyframes svelte-teql8t-speedtest-placeholder-enter{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.speedtest__gauges.svelte-teql8t{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-3);min-width:0}@keyframes svelte-teql8t-speedtest-emerge-from-center{0%{opacity:0;transform:translate(var(--emerge-from-x, 0),var(--emerge-from-y, 0)) scale(.92)}to{opacity:1;transform:translate(0) scale(1)}}.speedtest__gauge--download.svelte-teql8t{--emerge-from-x: 50%;--emerge-from-y: 0}.speedtest__gauge--upload.svelte-teql8t{--emerge-from-x: -50%;--emerge-from-y: 0}.speedtest__gauges.svelte-teql8t .speedtest__gauge:where(.svelte-teql8t){animation:svelte-teql8t-speedtest-emerge-from-center var(--dur-med) var(--ease-out) both}.speedtest__center-cta.svelte-teql8t{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;padding:var(--space-3) var(--space-6);font-size:1rem;box-shadow:var(--shadow-md)}.speedtest__btn.speedtest__center-cta.svelte-teql8t:active{transform:translate(-50%,-50%) scale(.98)}.speedtest__gauge.svelte-teql8t{position:relative;margin:0;padding:var(--space-2);min-width:0;aspect-ratio:200 / 130;max-width:22rem;width:100%;justify-self:center;border-radius:var(--r-md);background:transparent;transition:background var(--dur-med) var(--ease-out)}.speedtest__gauge.is-done.svelte-teql8t{background:color-mix(in oklch,var(--color-success) 6%,transparent)}.speedtest__gauge-svg.svelte-teql8t{display:block;width:100%;height:100%}.speedtest__gauge-track.svelte-teql8t{stroke:var(--color-border);stroke-width:2}.speedtest__gauge-fill.svelte-teql8t{stroke:var(--color-text);stroke-width:4;transition:stroke-dashoffset var(--dur-med) var(--ease-out),stroke var(--dur-med) var(--ease-out)}.speedtest__gauge-tick.svelte-teql8t{stroke:var(--color-text-subtle);stroke-width:1}.speedtest__gauge-ticklabel.svelte-teql8t{font-family:var(--font-family-mono);font-size:9px;font-variant-numeric:tabular-nums;fill:var(--color-text-subtle)}.speedtest__gauge-tip.svelte-teql8t{fill:var(--color-accent);transition:cx var(--dur-med) var(--ease-out),cy var(--dur-med) var(--ease-out),fill var(--dur-med) var(--ease-out)}.speedtest__gauge.is-done.svelte-teql8t .speedtest__gauge-fill:where(.svelte-teql8t){stroke:var(--color-success)}.speedtest__gauge.is-done.svelte-teql8t .speedtest__gauge-tip:where(.svelte-teql8t){fill:var(--color-success)}.speedtest__gauge.is-live.svelte-teql8t .speedtest__gauge-fill:where(.svelte-teql8t){animation:svelte-teql8t-speedtest-pulse 1.6s var(--ease-out) infinite}.speedtest__gauge.is-live.svelte-teql8t .speedtest__gauge-tip:where(.svelte-teql8t){animation:svelte-teql8t-speedtest-pulse-dot 1.6s var(--ease-out) infinite}@keyframes svelte-teql8t-speedtest-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.6}}@keyframes svelte-teql8t-speedtest-pulse-dot{0%,to{fill-opacity:1;transform:scale(1)}50%{fill-opacity:.7;transform:scale(.85)}}.speedtest__gauge-center.svelte-teql8t{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;min-width:0;width:80%;text-align:center}.speedtest__gauge-eyebrow.svelte-teql8t{font-family:var(--font-family-mono);font-size:.625rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle)}.speedtest__gauge-value.svelte-teql8t{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text);line-height:1;letter-spacing:-.02em;font-size:clamp(1.75rem,.75rem + 3vw,2.5rem);overflow-wrap:anywhere}.speedtest__gauge-unit.svelte-teql8t{font-family:var(--font-family-mono);font-size:.75rem;color:var(--color-text-muted)}.speedtest__mini.svelte-teql8t{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-3);margin:0;padding-top:var(--space-3);border-top:1px solid var(--color-border);min-width:0;align-items:center}.speedtest__mini-cell.svelte-teql8t{display:flex;align-items:baseline;justify-content:center;gap:var(--space-2);min-width:0}.speedtest__mini-cell.svelte-teql8t dt:where(.svelte-teql8t){font-family:var(--font-family-mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle);margin:0}.speedtest__mini-cell.svelte-teql8t dd:where(.svelte-teql8t){margin:0;display:inline-flex;align-items:baseline;gap:2px}.speedtest__mini-value.svelte-teql8t{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text);font-size:1rem;letter-spacing:-.01em}.speedtest__mini-unit.svelte-teql8t{font-family:var(--font-family-mono);font-size:.75rem;color:var(--color-text-muted)}.speedtest__actions.svelte-teql8t{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;min-height:2.75rem}.speedtest__btn.svelte-teql8t{appearance:none;border:1px solid transparent;border-radius:var(--r-md);padding:var(--space-3) var(--space-5);font-family:var(--font-family-sans);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.speedtest__btn--primary.svelte-teql8t{background:var(--color-text);color:var(--color-bg)}.speedtest__btn--primary.svelte-teql8t:hover{background:var(--color-text-strong, var(--color-text))}.speedtest__btn--ghost.svelte-teql8t{background:transparent;color:var(--color-text);border-color:var(--color-border)}.speedtest__btn--ghost.svelte-teql8t:hover{border-color:var(--color-text-subtle)}.speedtest__btn.svelte-teql8t:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.speedtest__btn.svelte-teql8t:active{transform:scale(.98)}.speedtest__phase-indicator.svelte-teql8t{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);font-family:var(--font-family-mono);font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;min-width:0;justify-self:center;opacity:0;transition:opacity var(--dur-med) var(--ease-out);pointer-events:none}.speedtest__phase-indicator.is-visible.svelte-teql8t{opacity:1}.speedtest__phase-indicator--mobile.svelte-teql8t{display:none}.speedtest__phase-spinner.svelte-teql8t{flex:0 0 auto;width:12px;height:12px;border:1.5px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:svelte-teql8t-speedtest-spin .9s linear infinite}.speedtest__phase-text.svelte-teql8t{overflow:hidden;text-overflow:ellipsis}@keyframes svelte-teql8t-speedtest-spin{to{transform:rotate(360deg)}}.speedtest__error.svelte-teql8t{margin:0;padding:var(--space-3) var(--space-4);border:1px solid color-mix(in oklch,var(--color-error) 38%,var(--color-border));border-radius:var(--r-md);color:var(--color-error);font-size:.9375rem;background:color-mix(in oklch,var(--color-error) 8%,var(--color-surface))}.speedtest__empty.svelte-teql8t{margin:0;color:var(--color-text-muted);font-size:.9375rem;line-height:1.55}.speedtest__detail.svelte-teql8t{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--color-border);min-width:0}.speedtest__detail-head.svelte-teql8t{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;min-width:0}.speedtest__detail-eyebrow.svelte-teql8t{font-family:var(--font-family-mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle)}.speedtest__detail-body.svelte-teql8t{margin:0;color:var(--color-text-muted);font-size:.9375rem;line-height:1.55;overflow-wrap:anywhere}.speedtest__chip.svelte-teql8t{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-sm);font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600;color:var(--color-text);background:var(--color-bg)}.speedtest__chip--good.svelte-teql8t{color:var(--color-success);border-color:color-mix(in oklch,var(--color-success) 35%,var(--color-border));background:color-mix(in oklch,var(--color-success) 6%,var(--color-bg))}.speedtest__chip--neutral.svelte-teql8t{color:var(--color-text);border-color:var(--color-text-subtle)}.speedtest__chip--bad.svelte-teql8t{color:var(--color-error);border-color:color-mix(in oklch,var(--color-error) 35%,var(--color-border));background:color-mix(in oklch,var(--color-error) 6%,var(--color-bg))}.speedtest__usecases.svelte-teql8t{margin:0;padding-left:var(--space-4);color:var(--color-text-muted);font-size:.9375rem;line-height:1.6}.speedtest__usecases.svelte-teql8t li:where(.svelte-teql8t){padding-left:var(--space-1);margin-bottom:var(--space-1)}.speedtest__privacy.svelte-teql8t{margin:0;padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-subtle);line-height:1.55}@media(max-width:40rem){.speedtest.svelte-teql8t{padding:var(--space-5);gap:var(--space-5)}.speedtest__advanced-body.svelte-teql8t{grid-template-columns:1fr;gap:var(--space-4)}.speedtest__gauges.svelte-teql8t{grid-template-columns:1fr;gap:var(--space-2)}.speedtest__gauge.svelte-teql8t{max-width:18rem}.speedtest__phase-indicator--mobile.svelte-teql8t{display:inline-flex}.speedtest__phase-indicator--desktop.svelte-teql8t{display:none}.speedtest__placeholder.svelte-teql8t{max-width:18rem}.speedtest__gauge--download.svelte-teql8t{--emerge-from-x: 0;--emerge-from-y: 50%}.speedtest__gauge--upload.svelte-teql8t{--emerge-from-x: 0;--emerge-from-y: -50%}.speedtest__mini.svelte-teql8t{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.speedtest__phase-spinner.svelte-teql8t{animation-duration:2.4s}.speedtest__phase-indicator.svelte-teql8t,.speedtest__btn.svelte-teql8t,.speedtest__pill.svelte-teql8t{transition:none}.speedtest__gauge.is-live.svelte-teql8t .speedtest__gauge-fill:where(.svelte-teql8t),.speedtest__gauge.is-live.svelte-teql8t .speedtest__gauge-tip:where(.svelte-teql8t){animation:none}.speedtest__gauge-fill.svelte-teql8t,.speedtest__gauge-tip.svelte-teql8t,.speedtest__gauge.svelte-teql8t{transition:none}.speedtest__placeholder.svelte-teql8t,.speedtest__gauges.svelte-teql8t .speedtest__gauge:where(.svelte-teql8t){animation:none}}
