.tvcp-speed-page .connection-test{border:1px solid #353535;border-radius:18px;padding:32px;background:#171717;margin:36px 0 10px}
.tvcp-speed-page .connection-heading{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:15px;color:#bdbdbd;margin-bottom:28px}
.tvcp-speed-page .connection-target{color:#f5f5f5}
.tvcp-speed-page .connection-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tvcp-speed-page .connection-metrics h2{font-size:16px;line-height:1.4;margin:0 0 16px;letter-spacing:0}
.tvcp-speed-page .connection-metrics p{margin:0 0 8px;white-space:nowrap;line-height:1.1}
.tvcp-speed-page .connection-metrics strong{font-size:42px;font-weight:500;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.tvcp-speed-page .connection-metrics p span{font-size:13px;color:#bdbdbd}
.tvcp-speed-page .connection-metrics small{display:block;font-size:13px;line-height:1.5;color:#bdbdbd}
.tvcp-speed-page progress{display:block;width:100%;height:5px;margin:32px 0 18px;border:0;border-radius:10px;overflow:hidden;accent-color:#fff;background:#383838}
.tvcp-speed-page progress::-webkit-progress-bar{background:#383838}.tvcp-speed-page progress::-webkit-progress-value{background:#eee}.tvcp-speed-page progress::-moz-progress-bar{background:#eee}
.tvcp-speed-page .connection-state{font-size:15px;min-height:26px;margin-bottom:20px}
.tvcp-speed-page .connection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.tvcp-speed-page .connection-actions button{appearance:none;min-height:48px;padding:12px 22px;border:1px solid #eee;border-radius:8px;cursor:pointer;font-family:inherit;font-weight:600;font-size:16px;line-height:1.4}
.tvcp-speed-page .connection-start{background:#f5f5f5;color:#111}.tvcp-speed-page .connection-stop{background:transparent;color:#fff;border-color:#666}
.tvcp-speed-page .connection-actions button:disabled{opacity:.5;cursor:wait}.tvcp-speed-page button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.tvcp-speed-page .connection-data{margin-top:20px;max-width:80ch}
.tvcp-speed-page .connection-result{margin-top:30px;border-top:1px solid #494949;padding-top:28px}
.tvcp-speed-page .connection-result h2{font-size:27px;margin-bottom:16px}.tvcp-speed-page .connection-result[data-grade=good] h2{color:#b8e1c2}.tvcp-speed-page .connection-result[data-grade=attention] h2,.tvcp-speed-page .connection-result[data-grade=limited] h2{color:#f0d6a5}
.tvcp-speed-page .connection-result ul{padding-left:22px}.tvcp-speed-page .connection-result li{margin:12px 0}
.tvcp-speed-page .connection-method{margin-top:24px}.tvcp-speed-page .connection-method summary{cursor:pointer;min-height:44px;padding:10px 0}.tvcp-speed-page .connection-method p{font-size:15px;color:#bdbdbd}.tvcp-speed-page summary:focus-visible{outline:2px solid #fff;outline-offset:3px}
.tvcp-speed-page [hidden]{display:none}
@media(max-width:1000px){.tvcp-speed-page .connection-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media(max-width:600px){.tvcp-speed-page .connection-test{padding:22px 18px;margin-top:28px}.tvcp-speed-page .connection-heading{gap:6px;margin-bottom:24px}.tvcp-speed-page .connection-metrics{gap:28px 14px}.tvcp-speed-page .connection-metrics strong{font-size:34px}.tvcp-speed-page .connection-metrics h2{font-size:14px;margin-bottom:12px}.tvcp-speed-page .connection-metrics p span{font-size:11px}.tvcp-speed-page .connection-metrics small{font-size:12px}.tvcp-speed-page .connection-actions button{padding:12px 16px;font-size:15px;max-width:100%}.tvcp-speed-page .connection-result h2{font-size:25px}}
