.report-connection-score{border-top:1px solid var(--line);justify-content:space-between;align-items:end;margin-top:38px;padding:26px 0 0;display:flex}.report-connection-score span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.report-connection-score strong{letter-spacing:-.06em;font-size:42px}.report-connection-score small{color:var(--muted);margin-left:3px;font-size:14px}.speed-report-panel{background:var(--mint);max-width:600px;color:var(--ink);border:1px solid #c4dfca;border-radius:18px;gap:18px;margin:0 auto;padding:22px;display:grid;box-shadow:0 16px 40px #163b2d12}.speed-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.speed-summary button{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:#eef9e7;border:1px solid #bad8c0;border-radius:14px;grid-template-columns:1fr auto;align-items:end;gap:4px 10px;padding:16px;display:grid}.speed-summary button.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#fbfaf6}.speed-summary button.download{color:#34cfe0}.speed-summary button.upload{color:#a875ff}.speed-summary span,.latency-metrics span,.info-card>span{color:#607473;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-size:11px;font-weight:800}.speed-summary strong{color:var(--ink);font-size:30px;line-height:1}.speed-summary small{color:#607473;align-self:end;font-size:12px}.latency-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.latency-metrics>div{background:#eef9e7;border:1px solid #bad8c0;border-radius:12px;gap:8px;min-width:0;padding:14px;display:grid}.latency-metrics strong{color:var(--ink);overflow-wrap:anywhere;font-size:22px;line-height:1.1}.latency-metrics small{color:#607473;margin-left:3px;font-size:11px}.latency-metrics .idle strong{color:#9b7b18}.latency-metrics .download-latency strong{color:#178998}.latency-metrics .upload-latency strong{color:#7651b7}.latency-metrics .packet-loss strong{color:#5f8067}.experience-ratings{gap:12px;padding-top:2px;display:grid}.experience-ratings h3{color:#607473;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px}.experience-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.experience-rating{background:#eef9e7;border:1px solid #bad8c0;border-radius:12px;gap:10px;min-width:0;padding:14px;display:grid}.experience-rating>span:not(.sr-only){color:var(--ink);font-size:13px;font-weight:700}.rating-dots{gap:5px;display:flex}.rating-dots i{background:#b7c7bd;border-radius:999px;width:8px;height:8px}.rating-dots i.filled{background:#82bd45}.speed-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.info-card{background:#eef9e7;border:1px solid #bad8c0;border-radius:14px;gap:7px;min-width:0;padding:16px;display:grid}.info-card strong{color:var(--ink);overflow-wrap:anywhere;font-size:16px;line-height:1.25}.info-card small{color:#527067;overflow-wrap:anywhere;font-size:12px;line-height:1.35;display:block}.provider-rating{background:#eef9e7;border:1px solid #bad8c0;border-radius:14px;align-content:start;gap:10px;min-width:0;padding:16px;display:grid}.provider-rating h3{color:#607473;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.provider-rating p{color:var(--ink);margin:4px 0 0;font-size:20px;line-height:1.2}.provider-stars{gap:8px;display:flex}.provider-stars button{color:#a5b6ad;cursor:pointer;background:0 0;border:0;padding:0;font-size:33px;line-height:1;transition:color .15s,transform .15s}.provider-stars button:hover,.provider-stars button:focus-visible,.provider-stars button.is-active{color:#82bd45}.provider-stars button:hover,.provider-stars button:focus-visible{transform:translateY(-1px)}.provider-rating small{color:#527067;font-size:12px}.floating-report-share{z-index:45;justify-items:end;gap:8px;display:grid;position:fixed;bottom:24px;right:24px}.floating-report-share button{background:var(--mint);width:56px;height:56px;color:var(--ink);cursor:pointer;border:1px solid #bad8c0;border-radius:999px;place-items:center;padding:0;display:grid;box-shadow:0 16px 34px #102b2a30}.floating-report-share button svg{stroke-width:1.55px;width:25px;height:25px}.floating-report-share small{border:1px solid var(--line);background:var(--cream);max-width:220px;color:var(--ink);border-radius:999px;padding:8px 12px;font-size:12px;box-shadow:0 10px 24px #102b2a24}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){.speed-report-panel{padding:16px}.latency-metrics,.experience-grid,.speed-info-grid{grid-template-columns:1fr 1fr}}@media (max-width:430px){.speed-summary,.latency-metrics,.experience-grid,.speed-info-grid{grid-template-columns:1fr}}html[data-theme=dark] .speed-report-panel{background:var(--mint);box-shadow:none;border-color:#45685a}html[data-theme=dark] .speed-summary button,html[data-theme=dark] .latency-metrics>div,html[data-theme=dark] .experience-rating,html[data-theme=dark] .info-card,html[data-theme=dark] .provider-rating{background:#1b2d29;border-color:#45685a}html[data-theme=dark] .speed-summary button.selected{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime);background:#203d34}html[data-theme=dark] .speed-summary span,html[data-theme=dark] .latency-metrics span,html[data-theme=dark] .info-card>span,html[data-theme=dark] .experience-ratings h3,html[data-theme=dark] .provider-rating h3,html[data-theme=dark] .speed-summary small,html[data-theme=dark] .latency-metrics small,html[data-theme=dark] .info-card small,html[data-theme=dark] .provider-rating small{color:#a9c0b5}html[data-theme=dark] .speed-summary strong,html[data-theme=dark] .latency-metrics strong,html[data-theme=dark] .experience-rating>span:not(.sr-only),html[data-theme=dark] .info-card strong,html[data-theme=dark] .provider-rating p{color:var(--ink)}html[data-theme=dark] .provider-stars button{color:#5b6f67}html[data-theme=dark] .provider-stars button:hover,html[data-theme=dark] .provider-stars button:focus-visible,html[data-theme=dark] .provider-stars button.is-active{color:var(--lime)}html[data-theme=dark] .floating-report-share button{background:var(--lime);color:#102b2a;border-color:var(--lime)}html[data-theme=dark] .floating-report-share small{color:var(--ink);background:#1b2d29;border-color:#45685a}.report-shell{background:var(--cream)}.report{max-width:760px;padding:48px 0 80px}.report-title{text-align:center;justify-content:center}.report-title h1{letter-spacing:-.065em;margin:16px 0 12px;font-size:clamp(40px,6vw,64px);line-height:.98}.report-title p{font-size:12px}.report .eyebrow{text-align:center}.speed-report-panel{box-shadow:0 18px 45px #12181624}.report-connection-score{max-width:600px;margin:28px auto 0;padding:20px 4px 0}.report-section,.report-meta,.report-actions,.report-gate{max-width:600px;margin-left:auto;margin-right:auto}.report-section{margin-top:28px}.report-actions{margin-top:24px}@media (max-width:700px){.report{padding-top:34px}.report-title h1{font-size:clamp(36px,12vw,52px)}}.history-detail-toggle{color:var(--ink);font:inherit;text-align:left;cursor:pointer;letter-spacing:.01em;background:0 0;border:0;grid-column:1/-1;padding:14px 0 0;font-size:12px;font-weight:600}.history-detail-toggle span{margin-left:6px}.history-list article.is-expanded{grid-template-columns:1fr 1fr 1fr;row-gap:12px;display:grid}.history-detail{grid-column:1/-1;padding-top:18px}.history-detail .speed-report-panel{max-width:600px}.history-detail .speed-info-grid{grid-template-columns:1fr 1fr}@media (max-width:700px){.history-list article.is-expanded{grid-template-columns:1fr 1fr}.history-detail .speed-info-grid{grid-template-columns:1fr}}
