.speedtest{display:flex;flex-direction:column;align-items:center;max-height:calc(100vh - 24px);margin-top:var(--spacing-24);overflow:hidden}.speedtest::-webkit-scrollbar{display:none}.speedtest .results{width:440px;max-width:440px;text-align:center}.speedtest .results .start-button{position:relative;z-index:1;width:128px;height:128px;color:var(--text-white);font-size:24px;border:none;border-radius:50%;cursor:pointer}.speedtest .results .start-button span{position:relative;z-index:1;font-size:42px}.speedtest .results .start-button .start-button-bg{position:absolute;top:-4px;left:-18%;z-index:0}.speedtest .results .start-button:disabled{background-color:#555;cursor:not-allowed}.speedtest .results .speed-display{margin-top:20px;font-size:36px}.speedtest .initial-state{z-index:1;display:flex;flex-direction:column;gap:var(--spacing-12);margin-top:var(--spacing-32);text-align:center}.speedtest .initial-state p{margin:0}.speed-results{position:relative;display:flex;flex-direction:column;gap:var(--spacing-16);max-height:calc(100vh - 360px);margin:20px auto;margin-top:var(--spacing-24);padding-bottom:40px;overflow-x:scroll}.speed-results .sub-text{color:var(--text-tertiary)}.speed-results .results-value-label{margin-left:var(--spacing-4);color:var(--text-tertiary)}.speed-results::-webkit-scrollbar{display:none}.speed-results .speed-results-table-heading{margin-top:26px;text-align:left}.speed-results .speed-results-row{display:flex;gap:var(--spacing-16);justify-content:space-between}.speed-results .speed-results-row .speed-results-box,.speed-results .speed-results-row .speed-results-box-long{display:flex;flex:1 0 0;align-items:flex-start;min-height:80px;padding:var(--spacing-16) var(--spacing-24);border:1px solid var(--border-outer-primary);border-radius:8px;background:var(--background-tertiary);box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.speed-results .speed-results-row .speed-results-box{flex-direction:column;gap:var(--spacing-8);justify-content:center;max-width:212px}.speed-results .speed-results-row .speed-results-box .truncate-text{white-space:nowrap;text-overflow:ellipsis;cursor:default;overflow:hidden}.speed-results .speed-results-row .speed-results-box .isp-truncate-text{max-width:164px}.speed-results .speed-results-row .speed-results-box .location-truncate-text{max-width:140px}.speed-results .speed-results-row .speed-results-box-long{gap:var(--spacing-16);justify-content:space-around}.speed-results .speed-results-row .speed-results-value{color:var(--text-primary)}.speed-results .speed-results-row .speed-results-label{display:flex;gap:var(--spacing-8);align-items:center;color:var(--text-tertiary)}.speed-results .speed-results-row .speed-results-latency-container{display:flex;flex-direction:column;gap:var(--spacing-8)}.history-list{flex-direction:column;align-items:flex-start}.history-list,.history-list .title-wrapper{display:flex;gap:var(--spacing-12);align-self:stretch}.history-list .title-wrapper{position:sticky;top:0;justify-content:space-between;align-items:center;width:100%;background:var(--background-secondary)}.history-list .title-wrapper h3{color:var(--text-primary)}.history-list .title-wrapper .clear-history-button-wrapper{display:flex;gap:var(--spacing-4);align-items:center}.history-list .title-wrapper .clear-history-button-wrapper .clear-history{display:flex;justify-content:center;align-items:center;padding:6px;color:var(--action-text-neutral-default);font-weight:500;background:transparent;cursor:pointer}.history-list .title-wrapper .clear-history-button-wrapper .clear-history svg{display:flex;flex-direction:column;justify-content:center;align-items:center}.history-list .history-list-items-wrapper{display:flex;flex-direction:column;gap:var(--spacing-8);align-items:flex-start;align-self:stretch;margin:0;padding:0}.history-item{display:flex;flex-shrink:0;gap:var(--spacing-8);align-items:center;align-self:stretch;height:40px;padding:8px 12px;border-radius:var(--radius-8);background:var(--action-controls-surface-primary-default)}.history-item .history-item-content{display:flex;flex:1 0 0;gap:var(--spacing-12);align-items:center}.history-item .history-item-content .history-item-date{display:flex;gap:var(--spacing-8);align-items:center;width:128px;color:var(--action-text-neutral-default)}.history-item .history-item-content .history-item-date svg{flex-shrink:0;width:24px;height:24px}.history-item .history-item-content .history-item-download-speed{display:flex;gap:var(--spacing-8);align-items:center;width:88px;color:var(--action-text-neutral-default)}.history-item .history-item-content .history-item-download-speed svg{flex-shrink:0;width:16px;height:16px}.history-item .history-item-content .history-item-upload-speed{display:flex;gap:var(--spacing-8);align-items:center;width:88px;color:var(--action-text-neutral-default)}.history-item .history-item-content .history-item-upload-speed svg{flex-shrink:0;width:16px;height:16px}.history-item .history-item-time-stamp{color:var(--text-tertiary);font-weight:400;font-size:14px;line-height:20px}.history-item:hover{background:var(--action-controls-surface-primary-hover)}.history-item.is-selected{color:var(--action-text-neutral-selected);border:2px solid var(--action-controls-border-primary-active);background:var(--action-controls-surface-primary-selected)}.speedometer-container{position:sticky;display:flex;flex-direction:column;align-items:center;padding-top:40px}.speedometer-container .speedometer-face{position:relative;width:320px;height:290px;margin-right:auto;margin-left:auto}.speedometer-container .speedometer-face.speedometer-disabled .speedometer-face-bg{display:flex;justify-content:center;align-items:center}.speedometer-container .speedometer-face.speedometer-disabled .speedometer-labels,.speedometer-container .speedometer-face.speedometer-disabled .speedometer-needle{display:none}.speedometer-container .speedometer-face .speedometer-face-bg{position:relative;z-index:2;width:272px;height:272px;border-radius:50%;background:var(--background-secondary);transform:translate(24px,24px)}.speedometer-container .speedometer-face .speedometer-needle{position:absolute;left:43%;bottom:50%;z-index:2;width:0;height:0;border-right:15px solid transparent;border-bottom:80px solid var(--text-basic);border-left:15px solid transparent;transform:rotate(0deg);transform-origin:bottom center}.speedometer-container .speedometer-face .speedometer-needle:before{position:absolute;left:50%;bottom:-95px;content:"";z-index:3;width:30px;height:30px;border-radius:50%;background-color:var(--text-basic);transform:translateX(-50%)}.speedometer-container .speedometer-face .speedometer-labels{position:absolute;top:0;left:0;z-index:3;width:100%;height:100%;pointer-events:none}.speedometer-container .speedometer-face .speedometer-label{position:absolute;display:flex;justify-content:center;align-items:center;width:40px;height:20px;color:var(--text-primary);font-weight:700;font-size:14px}.speedometer-container .speedometer-display{margin-top:auto;margin-top:var(--spacing-16);color:var(--text-primary);font-weight:500;font-size:34px;font-style:normal;line-height:36px;text-align:center}.speedometer-container .speedometer-icon{display:flex;gap:var(--spacing-8);justify-content:center;align-items:center;margin-top:var(--spacing-8)}.speedometer-container .speedometer-number-display{z-index:2;gap:var(--spacing-8)}.speedometer-progress-container{width:320px;height:320px}.speedometer-progress-container .speedometer-outer{position:absolute;top:0;left:0;width:320px;height:320px;padding:24px;border:none;border-radius:50%;background-color:var(--background-bar-primary)}.speedometer-progress-container .speedometer-outer:after{position:absolute;left:18%;bottom:-34%;content:"";z-index:1;width:200px;height:200px;background-color:var(--background-secondary);transform:rotate(45deg)}.speedometer-progress-container .speedometer-progress-circle{fill:none}.speedometer-progress-container .speedometer-progress-svg{position:absolute;top:0;left:0;transform:rotate(-235deg)}.speedometer-progress-container .speedometer-progress-svg.outer-circle{top:-50px;left:-50px}.speedometer-progress-container .speedometer-conic-gradient{transform:rotate(180deg)}.speedometer-progress-container .speedometer-conic-gradient,.speedometer-progress-container .speedometer-conic-gradient:after{position:absolute;top:0;left:0;width:320px;height:320px;border-radius:50%;background:conic-gradient(#059669 20%,#fbbf24 50%,#dc2626 80%)}.speedometer-progress-container .speedometer-conic-gradient:after{content:"";filter:blur(20px)}.start-button{--speedtest-button:var(--action-button-surface-primary-default);position:relative;display:inline-block;padding:0;border:none;background:none;cursor:pointer}.start-button:hover{--speedtest-button:var(--action-button-surface-primary-hover)}.start-button:active{--speedtest-button:var(--action-button-surface-primary-active)}.start-button:disabled{cursor:not-allowed}.start-button .start-button-bg{position:relative;display:inline-block}.start-button circle{transition:fill .2s ease-in-out}.start-button .start-button-bg:before{background:linear-gradient(to bottom,#fff 0,var(--action-button-surface-primary-default) 100%);opacity:.1}.start-button .start-button-bg:after,.start-button .start-button-bg:before{position:absolute;top:4px;left:24px;content:"";width:128px;height:128px;border-radius:50%;pointer-events:none}.start-button .start-button-bg:after{box-shadow:0 4px 8px var(--action-button-surface-primary-default),0 14px 14px var(--action-button-surface-primary-default),0 18px 23px var(--action-button-surface-primary-default),2px 20px 23px var(--action-button-surface-primary-default);opacity:.15}