@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&family=JetBrains+Mono:wght@400;700&display=swap);.debug-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(30,41,59,.95);border:1px solid var(--accent-green);border-radius:12px;bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,.5);color:#fff;font-family:Inter,sans-serif;overflow:hidden;position:fixed;right:20px;width:300px;z-index:9999}.debug-header{background:rgba(124,179,66,.2);border-bottom:1px solid rgba(124,179,66,.3);cursor:pointer;display:flex;font-weight:700;justify-content:space-between;padding:10px 15px}.debug-header:hover{background:rgba(124,179,66,.3)}.debug-content{gap:15px;padding:15px}.debug-content,.debug-row{display:flex;flex-direction:column}.debug-row{gap:5px}.debug-row label{color:#aed581;font-size:.85rem;font-weight:500}.debug-row input[type=range]{cursor:pointer;width:100%}.debug-future-section button{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:4px;color:#888;cursor:not-allowed;padding:4px 8px}:root{--bg-primary:#0f0f1a;--bg-secondary:#1a1a2e;--bg-card:rgba(30,41,59,.75);--accent-green:#7cb342;--accent-green-dark:#558b2f;--accent-green-light:#aed581;--accent-red:#ef5350;--accent-red-dark:#c62828;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--border-subtle:rgba(148,163,184,.12);--glow-green:rgba(124,179,66,.35);--glow-red:rgba(239,83,80,.35);--radius:16px;--radius-sm:10px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f0f1a;background:var(--bg-primary);color:#e2e8f0;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.App{background:linear-gradient(160deg,#0f0f1a,#161b33 50%,#0d1b2a);background:linear-gradient(160deg,var(--bg-primary) 0,#161b33 50%,#0d1b2a 100%);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.App-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(15,15,26,.85);border-bottom:1px solid rgba(148,163,184,.12);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;padding:.75rem 2rem;z-index:10}.App-header,.header-left{align-items:center;display:flex}.app-header-logo-icon{-webkit-filter:drop-shadow(0 0 12px rgba(124,179,66,.4));filter:drop-shadow(0 0 12px rgba(124,179,66,.4));height:40px;margin-right:.85rem;object-fit:contain;transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);width:40px}.app-header-logo-icon:hover{-webkit-transform:scale(1.08);transform:scale(1.08)}.header-right{align-items:center;display:flex;gap:.85rem}.App-title-logo{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#aed581,#7cb342);background:linear-gradient(135deg,var(--accent-green-light),var(--accent-green));-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.title-plus{font-size:1.8rem;font-weight:900}.sensor-name{background:rgba(124,179,66,.1);border:1px solid rgba(124,179,66,.2);border-radius:20px;color:#94a3b8;color:var(--text-secondary);padding:.3rem .85rem}.sensor-name,.sensor-name-pill{font-size:.75rem;white-space:nowrap}.sensor-name-pill{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.15);border-radius:20px;color:#e2e8f0;color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:inherit;gap:.35rem;padding:.3rem .65rem .3rem .85rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.sensor-name-pill:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.3);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.sensor-pill-text{max-width:140px;overflow:hidden;text-overflow:ellipsis}.sensor-pill-badge{border-radius:10px;color:#fff;font-size:.65rem;font-weight:700;line-height:1;padding:.1rem .4rem}.strava-user-pill{border-color:rgba(252,76,2,.4)}.strava-user-pill:hover{background:rgba(252,76,2,.1);border-color:#fc4c02}.strava-pill-avatar{border:1px solid hsla(0,0%,100%,.4);border-radius:50%;height:18px;object-fit:cover;width:18px}.strava-account-avatar{border:1px solid rgba(252,76,2,.5);border-radius:50%;flex-shrink:0;height:28px;margin-right:.4rem;object-fit:cover;width:28px}.sensor-pill-chevron{color:#64748b;color:var(--text-muted);transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.sensor-popover-container{display:flex;flex-direction:column;gap:.6rem;padding:.75rem}.sensor-popover-header{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;justify-content:space-between;padding:.2rem .4rem .5rem}.sensor-popover-title{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sensor-popover-count{background:hsla(0,0%,100%,.08);border-radius:10px;color:#94a3b8;color:var(--text-secondary);font-size:.7rem;padding:.15rem .5rem}.sensor-popover-list{display:flex;flex-direction:column;gap:.4rem}.sensor-device-item{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-radius:8px;cursor:pointer;display:flex;gap:.4rem;padding:.55rem .65rem;transition:all .2s ease}.sensor-device-item:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15)}.sensor-device-item.active{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2)}.sensor-device-info{display:flex;flex:1 1;flex-direction:column;gap:.15rem;margin-right:.75rem;min-width:0}.sensor-device-name{color:#e2e8f0;color:var(--text-primary);font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sensor-device-val{color:#94a3b8;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.72rem}.sensor-device-status{align-items:center;display:flex;flex-shrink:0;gap:.5rem;margin-left:auto}.active-tag{border:1px solid;border-radius:4px;font-size:.62rem;font-weight:700;letter-spacing:.06em;line-height:1;padding:.15rem .45rem;text-transform:uppercase}.sensor-popover-actions{border-top:1px solid hsla(0,0%,100%,.08);display:flex;flex-direction:column;gap:.4rem;padding-top:.4rem}.sensor-action-btn{align-items:center;background:transparent;border:none;border-radius:6px;color:#e2e8f0;color:var(--text-primary);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease;width:100%}.sensor-action-btn:hover{background:hsla(0,0%,100%,.08)}.sensor-action-btn.add-btn{color:#aed581;color:var(--accent-green-light)}.sensor-action-btn.add-btn:hover{background:rgba(124,179,66,.15)}.sensor-action-btn.disconnect-all-btn{color:#64748b;color:var(--text-muted)}.sensor-action-btn.disconnect-all-btn:hover{background:rgba(255,77,109,.12);color:#ff4d6d}.hr-button,.treadmill-button{border-radius:50%!important;height:44px!important;transition:all .3s ease!important;width:44px!important}.hr-button.connected{background:linear-gradient(145deg,#ef5350,#c62828)!important;background:linear-gradient(145deg,var(--accent-red),var(--accent-red-dark))!important;box-shadow:0 0 15px rgba(239,83,80,.35)!important;box-shadow:0 0 15px var(--glow-red)!important}.treadmill-button.connected{background:linear-gradient(145deg,#7cb342,#558b2f)!important;background:linear-gradient(145deg,var(--accent-green),var(--accent-green-dark))!important;box-shadow:0 0 20px rgba(124,179,66,.35)!important;box-shadow:0 0 20px var(--glow-green)!important}.sensor-button.disconnected{background:hsla(0,0%,100%,.08)!important;border:1px solid rgba(148,163,184,.12)!important;border:1px solid var(--border-subtle)!important;box-shadow:none!important}.sensor-button.disconnected:hover{background:hsla(0,0%,100%,.15)!important}.hr-icon,.location-icon,.power-icon,.treadmill-icon{color:#94a3b8!important;color:var(--text-secondary)!important;font-size:2rem!important}.hr-icon.pulse,.location-icon.active,.power-icon.active,.treadmill-icon.active{color:#fff!important}.hr-icon.pulse{-webkit-animation:pulse 1.2s ease-in-out infinite;animation:pulse 1.2s ease-in-out infinite}@-webkit-keyframes pulse{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@keyframes pulse{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}}.sensor-name.treadmill-name{background:rgba(2,136,209,.15);border-color:rgba(2,136,209,.35);color:#4fc3f7}.strava-connect-btn-wrapper,.strava-header-control{align-items:center;display:flex}.strava-connect-btn-wrapper{background:none;border:none;cursor:pointer;padding:0;transition:opacity .3s}.strava-connect-btn-wrapper:disabled{cursor:not-allowed;opacity:.6}.strava-connect-btn{border-radius:4px;box-shadow:0 4px 6px rgba(0,0,0,.2);height:36px;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.strava-connect-btn:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.strava-connect-btn.connecting{-webkit-animation:pulse 1.2s ease-in-out infinite;animation:pulse 1.2s ease-in-out infinite}.strava-name{background:rgba(252,82,0,.15);border-color:rgba(252,82,0,.35);color:#fc5200}.App-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.75rem;justify-content:center;margin:0 auto;max-width:800px;padding:.5rem 1.25rem;width:100%}.data-display{grid-gap:.35rem;display:grid;gap:.35rem;grid-auto-rows:4.6rem;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:720px;width:100%}.metric-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(30,41,59,.75);background:var(--bg-card);border:1px solid rgba(148,163,184,.12);border:1px solid var(--border-subtle);border-radius:16px;border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.25);box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:center;padding:.15rem .25rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.metric-card.calories-card{grid-column:1/-1}.metric-card:hover{border-color:rgba(124,179,66,.3);box-shadow:0 12px 40px rgba(0,0,0,.35),0 0 0 1px rgba(124,179,66,.15);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.metric-label{color:#64748b;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.12em;margin-bottom:.1rem;text-transform:uppercase}.metric-value-container{align-items:baseline;display:flex;gap:.35rem;justify-content:center}.metric-value{color:#e2e8f0;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:700;line-height:1;transition:color .3s ease,text-shadow .3s ease}.hr-value.active{color:#aed581;color:var(--accent-green-light);text-shadow:0 0 24px rgba(124,179,66,.35);text-shadow:0 0 24px var(--glow-green)}.calories-value.active,.distance-value.active,.incline-value.active,.speed-value.active{color:#4fc3f7;text-shadow:0 0 24px rgba(2,136,209,.4)}.elevation-value.active{color:#81c784;text-shadow:0 0 24px rgba(129,199,132,.4)}.metric-sublabel{font-size:.75rem;letter-spacing:.05em;margin-top:.3rem}.metric-sublabel,.metric-unit{color:#94a3b8;color:var(--text-secondary);font-weight:500}.metric-unit{font-size:.7rem}.timer-value{font-size:1.8rem;letter-spacing:.05em}.recording-controls{align-items:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:rgba(15,15,26,.7);border:1px solid rgba(148,163,184,.15);border-radius:50px;box-shadow:0 12px 36px rgba(0,0,0,.45);display:flex;gap:1.25rem;justify-content:center;margin:0 auto;max-width:90%;padding:.65rem 1.75rem;width:auto}.control-btn{border-radius:24px!important;font-size:.95rem!important;font-weight:600!important;height:48px;letter-spacing:.03em!important;max-width:200px;min-width:140px;padding:0 2rem!important;text-transform:none!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.resume-btn,.start-btn{background:linear-gradient(145deg,#7cb342,#558b2f)!important;background:linear-gradient(145deg,var(--accent-green),var(--accent-green-dark))!important;box-shadow:0 6px 24px rgba(124,179,66,.35)!important;box-shadow:0 6px 24px var(--glow-green)!important;color:#fff!important}.resume-btn:hover,.start-btn:hover{box-shadow:0 8px 32px rgba(124,179,66,.55)!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.pause-btn{background:linear-gradient(145deg,#ff9800,#f57c00)!important;box-shadow:0 6px 24px rgba(255,152,0,.35)!important;color:#fff!important}.pause-btn:hover{box-shadow:0 8px 32px rgba(255,152,0,.55)!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.stop-btn{background:linear-gradient(145deg,#ef5350,#c62828)!important;background:linear-gradient(145deg,var(--accent-red),var(--accent-red-dark))!important;box-shadow:0 6px 24px rgba(239,83,80,.35)!important;box-shadow:0 6px 24px var(--glow-red)!important;color:#fff!important}.stop-btn:hover{box-shadow:0 8px 32px rgba(239,83,80,.55)!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.App-footer{background:rgba(15,15,26,.85);border-top:1px solid rgba(148,163,184,.12);border-top:1px solid var(--border-subtle);color:#64748b;color:var(--text-muted);flex-shrink:0;font-size:.75rem;justify-content:space-between;padding:.5rem 2rem}.App-footer,.footer-status{align-items:center;display:flex}.footer-status{gap:1rem}.recording-indicator{-webkit-animation:pulse 1.5s ease-in-out infinite;animation:pulse 1.5s ease-in-out infinite;color:#7cb342;color:var(--accent-green);font-weight:600;letter-spacing:.05em}.paused-indicator{color:#ff9800;font-weight:600;letter-spacing:.05em}.app-version{font-family:JetBrains Mono,monospace;font-size:.7rem}.save-dialog-paper{background:#1a1a2e!important;background:var(--bg-secondary)!important;border:1px solid rgba(148,163,184,.12)!important;border:1px solid var(--border-subtle)!important;border-radius:16px!important;border-radius:var(--radius)!important;#save-dialog-title{color:#e2e8f0;color:var(--text-primary);font-weight:700}#save-dialog-description{color:#94a3b8;color:var(--text-secondary);strong{color:#aed581;color:var(--accent-green-light)}}}@media (max-height:900px){.App-content{gap:.75rem;padding:.5rem}.data-display{gap:.35rem;grid-auto-rows:4.4rem}.metric-card{padding:.15rem .25rem}.metric-label{margin-bottom:.1rem}.metric-value,.timer-value{font-size:1.65rem}.recording-controls{gap:.75rem;padding:.5rem 1rem}.control-btn{font-size:.85rem!important;height:40px;min-width:110px;padding:0 1.25rem!important}}@media (max-height:700px),(max-width:600px){.App-header{padding:.35rem .75rem}.app-header-logo-icon{height:36px;margin-right:.4rem;width:36px}.App-title-logo{font-size:1.15rem}.hr-button,.treadmill-button{height:38px!important;width:38px!important}.App-content{gap:.5rem;padding:.5rem}.data-display{gap:.25rem;grid-auto-rows:4rem;grid-template-columns:repeat(2,1fr)}.metric-card{padding:.1rem}.metric-label{font-size:.65rem;margin-bottom:.05rem}.metric-value,.timer-value{font-size:1.4rem}.metric-unit{font-size:.75rem}.metric-sublabel{font-size:.65rem;margin-top:.15rem}.recording-controls{gap:.5rem;max-width:95%;padding:.35rem 1rem;width:auto}.control-btn{font-size:.8rem!important;height:38px;max-width:180px;min-width:100px;padding:0 1rem!important}.App-footer{font-size:.65rem;padding:.35rem .75rem}}
/*# sourceMappingURL=main.5d9aad6c.css.map*/