.st{--st-accent:var(--brand);gap:20px;display:grid}.st[data-phase=latency],.st[data-phase=packet-loss]{--st-accent:var(--c-latency)}.st[data-phase=download]{--st-accent:var(--c-download)}.st[data-phase=upload]{--st-accent:var(--c-upload)}.st-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(16px,3vw,32px);position:relative}.st-meta{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-bottom:16px;display:flex}.st-meta-item{min-width:0;display:grid}.st-meta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:700}.st-meta-value{overflow-wrap:anywhere;font-weight:600}.st-stage{justify-items:center;gap:16px;padding:20px 0 8px;display:grid}.gauge{aspect-ratio:1;width:min(100%,340px);position:relative}.gauge svg{width:100%;height:100%;display:block;overflow:visible}.gauge-track,.gauge-arc{fill:none;stroke-width:18px;stroke-linecap:round}.gauge-track{stroke:var(--gauge-track)}.gauge-arc{stroke:var(--st-accent);transition:stroke-dashoffset .15s linear,stroke .3s}.gauge-arc.is-empty{opacity:0}.gauge-ticks line{stroke:var(--gauge-tick);stroke-width:2px;stroke-linecap:round}.gauge-ticks text{fill:var(--text-muted);font-size:12px;font-family:var(--font-sans);font-variant-numeric:tabular-nums;text-anchor:middle;dominant-baseline:middle}.gauge-readout{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding-top:12%;display:flex;position:absolute;inset:0}.gauge-phase{letter-spacing:.08em;text-transform:uppercase;color:var(--st-accent);font-size:.8rem;font-weight:700}.gauge-number{letter-spacing:-.03em;font-size:clamp(2.6rem,9vw,3.6rem);font-weight:750;line-height:1.05}.gauge-unit{color:var(--text-muted);font-size:1rem;font-weight:600}.st-controls{flex-wrap:wrap;justify-content:center;gap:12px;min-height:56px;display:flex}.st[data-state=running] [data-start]{display:none}.st-progress{margin:12px 0 20px}.st-progress-bar{background:var(--gauge-track);border-radius:999px;height:6px;overflow:hidden}.st-progress-bar span{background:var(--st-accent);border-radius:inherit;width:0;height:100%;transition:width .2s linear;display:block}.st-steps{color:var(--text-muted);text-align:center;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:10px 0 0;padding:0;font-size:.8rem;list-style:none;display:grid}.st-steps li{border-radius:6px;padding:4px 2px}.st-steps li[aria-current=step]{color:var(--text);background:var(--surface-2);font-weight:700}.st-steps li.is-done:before{content:"✓ ";color:var(--c-good)}.st-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}@media (width<=760px){.st-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.metric{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;padding:12px 14px}.metric dt{color:var(--text-muted);align-items:flex-start;gap:6px;font-size:.85rem;font-weight:600;line-height:1.3;display:flex}.metric dd{margin:0}.metric-reading{align-items:baseline;gap:4px;display:flex;margin-top:4px!important}.metric-value{letter-spacing:-.02em;font-size:1.6rem;font-weight:750;line-height:1.1}.metric-value.is-text{letter-spacing:0;font-size:1.05rem;line-height:1.3}.metric dt .icon{margin-top:1px}.metric-unit{color:var(--text-muted);font-size:.9rem;font-weight:600}.metric-note{min-height:1.3em;color:var(--text-muted);font-size:.8rem}.metric-down dt .icon{color:var(--c-download)}.metric-up dt .icon{color:var(--c-upload)}.metric-ping dt .icon,.metric-wave dt .icon,.metric-loss dt .icon{color:var(--c-latency)}.metric[data-live=true]{border-color:var(--st-accent)}.st-error{border-radius:var(--radius-sm);border:1px solid var(--c-bad);background:var(--c-bad-soft);margin-top:16px;padding:16px}.st-error-title{margin-bottom:4px}.st-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:16px;padding-top:14px;display:flex}.st-foot .checkbox{max-width:60ch}.st-results:focus{outline:none}.st-summary{font-size:1.125rem}.st-bloat{margin:8px 0 20px}.st-bloat h3{margin-bottom:6px;font-size:1rem}.badge[data-level=low]{background:var(--c-good-soft);color:var(--c-good)}.badge[data-level=moderate]{background:var(--c-warn-soft);color:var(--c-warn)}.badge[data-level=high],.badge[data-level=severe]{background:var(--c-bad-soft);color:var(--c-bad)}.verdicts{gap:8px;margin:0 0 20px;padding:0;list-style:none;display:grid}.verdicts li{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;padding:12px 14px;display:grid}.verdict-tag{border-radius:999px;justify-content:center;align-items:center;gap:4px;min-width:84px;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.verdict-tag[data-verdict=great]{background:var(--c-good-soft);color:var(--c-good)}.verdict-tag[data-verdict=good]{background:var(--brand-soft);color:var(--brand-strong)}.verdict-tag[data-verdict=poor]{background:var(--c-bad-soft);color:var(--c-bad)}.verdict-tag[data-verdict=unknown]{background:var(--surface-2);color:var(--text-muted)}.verdict-label{font-weight:650}.verdict-reason{color:var(--text-muted);grid-column:1/-1;font-size:.95rem}.st-result-actions{flex-wrap:wrap;gap:10px;display:flex}.share-fallback{margin-top:12px}.warnings{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.warnings li{border-radius:var(--radius-sm);background:var(--c-warn-soft);border:1px solid color-mix(in srgb, var(--c-warn) 40%, transparent);padding:10px 14px;font-size:.95rem}.st-details{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.st-details summary{cursor:pointer;padding:6px 0;font-weight:650}.details-list{grid-template-columns:minmax(140px,220px) 1fr;gap:8px 16px;margin:12px 0 0;font-size:.95rem;display:grid}.details-list dt{color:var(--text-muted);font-weight:600}.details-list dd{overflow-wrap:anywhere;margin:0}.st-note{margin-top:16px;margin-bottom:0}@media (width<=560px){.gauge{width:min(100%,270px)}.st-stage{gap:8px;padding-top:8px}.st-meta{padding-bottom:10px}.details-list{grid-template-columns:1fr;gap:2px}.details-list dd{margin-bottom:10px}.st-steps{font-size:.7rem}.metric-value{font-size:1.35rem}}@media (prefers-reduced-motion:reduce){.gauge-arc,.st-progress-bar span{transition:none}}
