:root{font-family:Inter,system-ui,sans-serif;color:#fff;background:#101e2b;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 50% 8%,#30536a 0%,#152938 48%,#0b141f 100%);min-height:100vh}main{max-width:1160px;margin:auto;padding:28px 28px 36px}.topline{display:flex;justify-content:space-between;align-items:center;font-size:13px;letter-spacing:.14em;color:#bdcfdb}.topline b{background:#3c5262;padding:3px 7px;border-radius:4px;margin-left:8px}.ble{border:1px solid #668299;border-radius:40px;padding:9px 14px}h1{text-align:center;font-size:clamp(28px,5vw,55px);font-weight:900;letter-spacing:-.04em;margin:25px 0 12px}#support{text-align:center;font-size:14px;min-height:20px;color:#bcd3e1}.mode{width:210px;text-align:center;background:#fa7138;font-weight:900;letter-spacing:.08em;padding:10px;border-radius:7px;margin:26px auto 30px}.pair-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.device-tile{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid #ffffff24;border-radius:9px;background:#f66b32;box-shadow:0 10px 30px #0003;color:white;text-align:left;font-family:inherit;transition:transform .18s,background .18s}.device-tile:hover{transform:translateY(-3px)}.device-tile.connected{background:#1095c7}.power{grid-column:2/span 2}.controllable{grid-column:4/span 2}.cadence,.controllers,.heart{grid-column:span 2}.tile-title{display:block;font-size:clamp(14px,1.5vw,19px);font-weight:900;padding:20px 18px 0;letter-spacing:-.015em}.tile-center{display:flex;align-items:center;justify-content:space-between;padding:12px 23px;min-height:115px;gap:12px}.icon{font-family:Arial,sans-serif;font-size:85px;line-height:1;font-weight:900}.reading{text-align:right;min-width:0}.reading strong{display:block;font-size:clamp(25px,3vw,38px);font-weight:900;letter-spacing:-.04em}.reading small{display:block;font-size:14px;font-weight:700}.device-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;padding:8px 16px 12px;font-size:13px;font-weight:700;min-height:37px}.tile-status{display:block;text-align:center;background:#172c3bc9;padding:12px 8px;font-size:14px;font-weight:900;margin-top:auto;min-height:42px}.connected .tile-status{background:#0b354cd9}.controller-actions{display:flex;gap:8px;padding:0 16px 10px}.controller-actions button{flex:1;min-width:0;background:#ffffffed;color:#254455;font-size:14px;padding:9px}.go{display:block;width:min(550px,100%);margin:25px auto 12px;background:#fb7137!important;font-size:25px;font-weight:900;padding:20px;box-shadow:0 7px 0 #9c411e}.go span{margin-left:25px}#pair-note{text-align:center;max-width:850px;margin:24px auto 0;color:#c3d7e3;font-size:15px;min-height:24px}p{line-height:1.6;color:#c0d1dc}button{border:0;border-radius:7px;padding:13px 19px;background:#0f98cc;color:white;font:700 16px system-ui;cursor:pointer}button:disabled{opacity:.45;cursor:default}button.secondary{background:#2b4254;color:#eaf1f7}button:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:4px}.fine,footer{font-size:13px;color:#b5c6d1}.go+.fine{text-align:center}summary{cursor:pointer;font-size:14px;font-weight:600;padding:12px 0}.help,.diagnostics,footer{max-width:980px;margin:20px auto}.help{border-top:1px solid #ffffff24}.help p{font-size:14px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.diagnostics>.toolbar{justify-content:center}.card{border:1px solid #4c697e;background:#132c3e;padding:24px;border-radius:10px;margin:24px 0}.card h2{margin-top:10px}.state{color:#8fdcff;font-size:19px;overflow-wrap:anywhere}.stats{font-size:14px;color:#c0cfda}.empty{padding:25px;border:1px dashed #668197;border-radius:9px;text-align:center;color:#b8cddc}.eyebrow{font-size:13px;letter-spacing:.12em;color:#8fdcff}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.metrics strong{display:block;font-size:clamp(20px,4vw,36px);margin-top:8px}.metrics small{font-size:14px}button.stop{background:#c4422b;color:white}pre{background:#07121c;border-radius:8px;padding:16px;height:270px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}a{color:#8fdcff}footer{border-top:1px solid #ffffff20;padding-top:18px}#test-view{max-width:980px;margin:24px auto}@media(max-width:760px){main{padding:20px 16px}.pair-grid{grid-template-columns:repeat(2,1fr);gap:14px}.power,.controllable,.cadence,.controllers,.heart{grid-column:span 1}.heart{grid-column:1/-1;max-width:350px;width:100%;justify-self:center}.tile-title{font-size:14px;padding:16px 12px 0}.tile-center{padding:12px;min-height:98px}.icon{font-size:62px}.reading strong{font-size:27px}.device-name{font-size:12px}.tile-status{font-size:12px}.controller-actions{padding:0 10px 10px;gap:5px}.metrics{grid-template-columns:1fr}.toolbar button{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){.device-tile{transition:none;transform:none}}
.auto-connect{display:flex;gap:16px;align-items:center;justify-content:center;margin:20px 0}.auto-connect p{font-size:13px;max-width:650px}.auto-connect button{font-size:13px;white-space:nowrap}.builder-fields{display:flex;gap:20px;align-items:start}.builder-fields>label:first-child{width:100px;flex-shrink:0}.prompt-label{flex:1}label{display:block;font-size:14px;color:#c3d7e3}input,textarea,select{display:block;width:100%;margin-top:9px;background:#091d2b;border:1px solid #53718a;border-radius:7px;padding:12px;color:white;font:16px system-ui}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #8fdcff}.file-label{border:1px solid #53718a;border-radius:7px;padding:10px 14px;font-weight:700;max-width:300px}.file-label input{font-size:12px;padding:0;border:0;background:none}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dashboard-heading h2{overflow-wrap:anywhere}.device-strip{padding:12px 15px;background:#091d2b;border-radius:7px;font-size:13px;overflow-wrap:anywhere}.live-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.live-metrics>div{padding:18px 12px;background:#18384c;border-radius:8px}.live-metrics small{color:#b9cfdd;font-size:13px}.live-metrics strong{display:block;font-size:32px;margin-top:8px;font-variant-numeric:tabular-nums}.live-metrics .metric-primary{background:#075375}.live-metrics .target-metric{background:#874021}.phase{display:flex;justify-content:space-between;align-items:center;gap:20px}.phase h3{margin-bottom:5px;font-size:23px}.phase p{font-size:14px;margin-top:5px}.phase>strong{font-size:32px;font-variant-numeric:tabular-nums}#workout-chart{width:100%;height:auto;background:#091d2b;border-radius:9px;padding:8px}#interval-list{line-height:2;color:#c3d7e3;font-size:14px}code{overflow-wrap:anywhere}#plan-summary{margin:6px 0}#activity-history{max-width:100%}@media(max-width:650px){.live-metrics{grid-template-columns:repeat(2,1fr)}.live-metrics strong{font-size:30px}.builder-fields,.dashboard-heading,.auto-connect{flex-direction:column;align-items:stretch}.builder-fields>label:first-child{width:100%}.card{padding:18px}.file-label{max-width:100%;width:100%}.dashboard-heading button{align-self:start}}
.ride-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;font-size:14px;letter-spacing:.08em}.ride-top>div{display:flex;gap:8px}.ride-top button{font-size:14px;padding:10px}.ride-top b{display:inline-block;background:#126883;padding:7px 10px;margin-left:10px;border-radius:5px}.interval-heading{display:flex;align-items:center;gap:20px;font-size:14px;color:#b9cfdd;margin-top:20px}.interval-heading span{white-space:nowrap}.interval-heading progress{width:100%;height:10px;accent-color:#fa7138}.ride-trends{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.ride-trends article{background:#091d2b;padding:14px;border-radius:9px}.ride-trends h3{margin:0 0 8px;font-size:16px}.ride-trends small{display:block;font-size:12px;color:#9eb6c8;font-weight:400;margin-top:4px}.ride-trends svg{width:100%;display:block}.intensity-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:15px 0}.intensity-controls>span{font-size:13px;color:#b9cfdd;margin-right:auto}.intensity-controls strong{font-size:24px;min-width:75px;text-align:center}.intensity-controls button{padding:10px 18px}#ride-pause-banner{padding:18px;background:#874021;border:1px solid #fa7138;border-radius:8px;margin:16px 0;font-size:17px;font-weight:700}.ride-mode{max-width:1560px;padding-top:12px}.ride-mode>header,.ride-mode>.diagnostics,.ride-mode>footer,.ride-mode #back,.ride-mode .workout-builder,.ride-mode #manual-controls,.ride-mode #devices,.ride-mode #test-view>section:not(.workout-dashboard){display:none!important}.ride-mode #test-view{max-width:none;margin:0}.ride-mode .workout-dashboard{margin:0;background:#102737}.ride-mode .live-metrics{grid-template-columns:repeat(8,1fr)}.ride-mode .live-metrics .metric-primary{grid-column:span 2}.ride-mode .live-metrics>div:nth-child(n+5){grid-column:span 1}.ride-mode .live-metrics>div:nth-child(3),.ride-mode .live-metrics>div:nth-child(4){grid-column:span 2}.ride-mode .metric-primary strong{font-size:clamp(50px,5vw,76px)}.ride-mode .live-metrics>div:nth-child(n+5){grid-column:span 2;padding:10px 15px}.ride-mode .live-metrics>div:nth-child(n+5) strong{font-size:27px}.ride-mode .phase h3{font-size:30px}.ride-mode .phase>strong{font-size:48px}.ride-mode #workout-chart{max-height:260px}.ride-actions{position:sticky;bottom:0;z-index:3;padding:14px;background:#102737f5;border-top:1px solid #3b566b;box-shadow:0 -10px 20px #10273780}.ride-actions button{min-height:50px}.ride-mode #export-plan{display:none}#test-view:fullscreen{overflow:auto;background:#102737;padding:20px;width:100%;max-width:none}@media(max-width:760px){.ride-trends{grid-template-columns:1fr}.ride-mode .live-metrics{grid-template-columns:repeat(4,1fr)}.ride-top{align-items:start;flex-direction:column}.ride-top>div{flex-wrap:wrap}.ride-mode .phase h3{font-size:23px}.ride-actions{gap:8px;padding:10px 0}.ride-actions button{font-size:14px}.intensity-controls>span{width:100%}.ride-mode .metric-primary strong{font-size:48px}}
