.speed-page{color:#172033}.speed-heading{margin-bottom:28px}.speed-eyebrow{margin:0 0 9px!important;color:#087f6d;font-size:14px!important;font-weight:800}.speed-heading h1{margin:0 0 16px;color:#111827;font-size:43px;line-height:1.2;letter-spacing:0}.speed-heading>p:last-child{max-width:800px;margin:0;color:#526078;font-size:18px;line-height:1.75}.speed-tool,.connection-panel,.speed-history,.speed-guide{margin-top:24px;padding:24px;border:1px solid #d6e0eb;border-radius:8px;background:#fff}.speed-tool>header,.connection-panel>header,.speed-history>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.speed-tool>header span{display:block;color:#087f6d;font-size:10px;font-weight:900}.speed-tool h2,.connection-panel h2,.speed-history h2{margin:2px 0 0;font-size:22px}.speed-tool>header>strong{padding:6px 9px;border-radius:5px;background:#e8edf3;color:#657489;font-size:9px}.speed-tool>header>strong.is-running{background:#e2f3ef;color:#087f6d}.speed-summary{display:grid;grid-template-columns:1.2fr .8fr;gap:9px;margin-top:20px}.speed-primary,.speed-score{padding:18px;border:1px solid #dbe4ed;border-radius:7px;background:#f8fafc}.speed-primary>span,.speed-score>span{display:block;color:#087f6d;font-size:9px;font-weight:900}.speed-primary>strong,.speed-score>strong{display:block;margin-top:5px;font-size:22px}.speed-primary>p,.speed-score>p{margin:4px 0 0;color:#718094;font-size:9px;line-height:1.6}.speed-progress{overflow:hidden;height:8px;margin-top:15px;border-radius:4px;background:#e5ebf1}.speed-progress i{display:block;width:0;height:100%;background:#087f6d;transition:width .15s ease}.speed-phases{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0 0;padding:0;list-style:none}.speed-phases li{display:flex;align-items:center;gap:5px;color:#8b96a5;font-size:8px;font-weight:800}.speed-phases span{display:grid;width:18px;height:18px;place-items:center;border:1px solid #cfd9e3;border-radius:50%;background:#fff;font-size:8px}.speed-phases li.is-active{color:#087f6d}.speed-phases li.is-active span,.speed-phases li.is-done span{border-color:#087f6d;background:#087f6d;color:#fff}.speed-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}.speed-metrics article{padding:17px;border:1px solid #dbe4ed;border-radius:7px;background:#fff}.speed-metrics span,.speed-metrics strong,.speed-metrics small{display:block}.speed-metrics span{color:#68778b;font-size:9px;font-weight:800}.speed-metrics strong{margin-top:8px;font-size:25px;line-height:1}.speed-metrics small{margin-top:3px;color:#8a96a5;font-size:8px}.speed-metrics article>div{overflow:hidden;height:4px;margin-top:13px;border-radius:2px;background:#e5ebf1}.speed-metrics i{display:block;width:0;height:100%;background:#4c9d8e;transition:width .15s}.metric-upload i{background:#3487b2!important}.speed-actions{display:grid;grid-template-columns:minmax(190px,1fr) auto auto;align-items:end;gap:8px;margin-top:18px}.speed-actions label>span{display:block;margin-bottom:6px;color:#35455c;font-size:10px;font-weight:900}.speed-actions select{width:100%;height:45px;padding:0 38px 0 11px;border:1px solid #cfdbe6;border-radius:7px;background:#fff;color:#172033;font-size:10px}.speed-actions button{min-height:45px;margin:0;padding:0 18px;border:1px solid #ccd8e5;border-radius:7px;background:#fff;color:#405067;box-shadow:none;font-size:10px;font-weight:900}.speed-actions #startTest{border-color:#087f6d;background:#087f6d;color:#fff}.speed-actions button:disabled{opacity:.42}.test-status{min-height:20px;margin:10px 0 0;color:#69788c;font-size:9px}.test-status.is-error{color:#bd4a45}.connection-panel>header>p{margin:0;color:#7a8798;font-size:10px}.connection-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:17px}.connection-facts>div{padding:14px;border:1px solid #dbe4ed;border-radius:7px;background:#f8fafc}.connection-facts span,.connection-facts strong{display:block}.connection-facts span{color:#8390a1;font-size:8px}.connection-facts strong{margin-top:4px;font-size:11px}.connection-panel>p,.speed-history>p{margin:11px 0 0;color:#8491a3;font-size:8px}.speed-history>header>div:last-child{display:flex;gap:6px}.speed-history>header button{min-height:35px;margin:0;padding:0 11px;border:1px solid #ccd8e5;border-radius:6px;background:#fff;color:#536278;box-shadow:none;font-size:9px;font-weight:800}.history-chart{display:flex;align-items:flex-end;gap:7px;min-height:112px;margin-top:18px;padding:12px 12px 0;border-bottom:1px solid #d9e2eb;background:#f8fafc}.history-chart:empty:after{align-self:center;width:100%;color:#8793a3;font-size:9px;text-align:center;content:'측정 기록이 쌓이면 속도 비교 그래프가 표시됩니다.'}.history-bar{display:flex;align-items:center;justify-content:flex-end;flex:1;flex-direction:column;height:90px;gap:2px}.history-bar>div{display:flex;align-items:flex-end;justify-content:center;gap:2px;width:100%;height:70px}.history-bar i{display:block;width:min(16px,35%);min-height:2px;background:#4c9d8e}.history-bar i:last-child{background:#3487b2}.history-bar span{overflow:hidden;width:100%;color:#7d8999;font-size:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.history-table-wrap{overflow-x:auto;margin-top:14px}.speed-history table{width:100%;margin:0;border-collapse:collapse}.speed-history th,.speed-history td;padding:10px 8px;border-bottom:1px solid #e1e7ed;font-size:9px;text-align:right;white-space:nowrap}.speed-history th:first-child,.speed-history td:first-child{text-align:left}.speed-history th{color:#6b798c;background:#f8fafc}.speed-history td strong{color:#087f6d}.speed-history tr.is-empty td{padding:24px;color:#8491a3;text-align:center}.speed-guide{padding:28px}.speed-guide>header h2{margin:0 0 12px;font-size:28px}.speed-guide>header>p:last-child{margin:0;color:#58677c;font-size:14px;line-height:1.8}.speed-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:24px}.speed-steps article{margin:0;padding:15px;border:1px solid #dbe4ed;border-radius:7px}.speed-steps span{color:#087f6d;font-size:10px;font-weight:900}.speed-steps h3{margin:8px 0 5px;font-size:13px}.speed-steps p,.speed-guide-grid p,.speed-reference p{margin:0;color:#657489;font-size:10px;line-height:1.7}.speed-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:22px}.speed-guide-grid section{padding:18px;border-top:3px solid #9ccfc4;background:#f8fafc}.speed-guide-grid h3,.speed-reference h3,.speed-cautions h3{margin:0 0 7px;font-size:15px}.speed-reference{margin-top:23px}.speed-reference>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.speed-reference article{padding:15px;border:1px solid #dbe4ed;border-radius:7px}.speed-reference strong,.speed-reference span{display:block}.speed-reference strong{font-size:13px}.speed-reference span{margin:3px 0 6px;color:#087f6d;font-size:9px;font-weight:800}.speed-cautions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.speed-cautions section{padding:17px;border:1px solid #dbe4ed;border-radius:7px}.speed-cautions ul{margin:0;padding-left:17px}.speed-cautions li{margin-top:5px;color:#657489;font-size:9px;line-height:1.6}.speed-note{margin:20px 0 0;padding:15px 17px;border-left:4px solid #087f6d;background:#edf8f5;color:#4d5d71;font-size:10px;line-height:1.7}
@media screen and (max-width:760px){.speed-metrics,.connection-facts{grid-template-columns:1fr 1fr}.speed-actions{grid-template-columns:1fr 1fr}.speed-actions label{grid-column:1/-1}}
@media screen and (max-width:640px){.speed-heading h1{font-size:33px}.speed-heading>p:last-child{font-size:16px}.speed-tool,.connection-panel,.speed-history,.speed-guide{padding:19px 16px}.speed-summary{grid-template-columns:1fr}.speed-phases{grid-template-columns:repeat(5,minmax(0,1fr))}.speed-phases li{justify-content:center;font-size:0}.speed-phases span{font-size:8px}.speed-metrics strong{font-size:21px}.speed-history>header{align-items:flex-start}.speed-history>header>div:last-child{flex-direction:column}.speed-steps,.speed-guide-grid,.speed-reference>div,.speed-cautions{grid-template-columns:1fr}.speed-guide>header h2{font-size:24px}}
.speed-history table{min-width:620px}
