:root{--color-primary-50: #e3f2fd;--color-primary-300: #64b5f6;--color-primary-400: #42a5f5;--color-primary-500: #2196f3;--color-primary-600: #1e88e5;--color-primary-700: #1976d2;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #eeeeee;--color-gray-300: #e0e0e0;--color-gray-400: #bdbdbd;--color-gray-500: #9e9e9e;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424242;--color-gray-900: #212121;--color-success-light: #e8f5e9;--color-success-main: #4caf50;--color-success-dark: #2e7d32;--color-warning-light: #fff3e0;--color-warning-main: #ff9800;--color-warning-dark: #e65100;--color-error-light: #ffebee;--color-error-main: #f44336;--color-error-dark: #c62828;--color-info-light: #e3f2fd;--color-info-main: #2196f3;--color-info-dark: #1565c0;--zone-1-color: #808080;--zone-2-color: #2196f3;--zone-3-color: #4caf50;--zone-4-color: #f9a825;--zone-5-color: #ff9800;--zone-6-color: #f44336;--zone-7-color: #9c27b0;--zone-1-color-bg: rgba(128, 128, 128, .15);--zone-2-color-bg: rgba(33, 150, 243, .15);--zone-3-color-bg: rgba(76, 175, 80, .15);--zone-4-color-bg: rgba(249, 168, 37, .15);--zone-5-color-bg: rgba(255, 152, 0, .15);--zone-6-color-bg: rgba(244, 67, 54, .15);--zone-7-color-bg: rgba(156, 39, 176, .15);--zone-1-color-bg-hover: rgba(128, 128, 128, .25);--zone-2-color-bg-hover: rgba(33, 150, 243, .25);--zone-3-color-bg-hover: rgba(76, 175, 80, .25);--zone-4-color-bg-hover: rgba(249, 168, 37, .25);--zone-5-color-bg-hover: rgba(255, 152, 0, .25);--zone-6-color-bg-hover: rgba(244, 67, 54, .25);--zone-7-color-bg-hover: rgba(156, 39, 176, .25);--color-success-bg: rgba(76, 175, 80, .15);--color-warning-bg: rgba(255, 152, 0, .15);--color-error-bg: rgba(244, 67, 54, .15);--color-info-bg: rgba(33, 150, 243, .15);--hr-zone-1-color: #808080;--hr-zone-2-color: #2196f3;--hr-zone-3-color: #4caf50;--hr-zone-4-color: #ff9800;--hr-zone-5-color: #f44336;--color-power: #ffd700;--color-heartrate: #ff6b6b;--color-cadence: #4ecdc4;--color-cadence-bg: rgba(78, 205, 196, .15);--color-speed: #45b7d1;--color-distance: #96ceb4;--color-time: #dda0dd}[data-theme=dark]{--color-gray-50: #212121;--color-gray-100: #303030;--color-gray-200: #424242;--color-gray-300: #616161;--color-gray-400: #757575;--color-gray-500: #9e9e9e;--color-gray-600: #bdbdbd;--color-gray-700: #e0e0e0;--color-gray-800: #eeeeee;--color-gray-900: #fafafa;--zone-1-color: #9e9e9e;--zone-2-color: #42a5f5;--zone-3-color: #66bb6a;--zone-4-color: #fbc02d;--zone-5-color: #ffa726;--zone-6-color: #ef5350;--zone-7-color: #ab47bc}:root{--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-8);--spacing-2xl: var(--space-12);--spacing-3xl: var(--space-16);--spacing-card-padding: var(--space-4);--spacing-section-gap: var(--space-6);--spacing-input-padding: var(--space-3);--navbar-height: 60px;--touch-target-size: 44px;--touch-target-size-sm: 36px;--nav-menu-min-width: 260px;--nav-menu-min-width-mobile: 200px}:root{--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-family-mono: "SF Mono", SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-metric-value: clamp(2rem, 8vw, 4rem);--font-size-metric-label: var(--font-size-sm);--font-size-metric-unit: var(--font-size-xs);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75}:root{--bg-primary: var(--color-gray-50, #fafafa);--bg-secondary: var(--color-gray-100, #f5f5f5);--bg-tertiary: var(--color-gray-200, #eeeeee);--bg-elevated: white;--bg-overlay: rgba(0, 0, 0, .5);--bg-hover: var(--color-gray-100, #f5f5f5);--bg-active: var(--color-gray-200, #eeeeee);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-700);--text-tertiary: var(--color-gray-500);--text-inverse: white;--text-accent: var(--color-primary-600);--border-default: var(--color-gray-300);--border-subtle: var(--color-gray-200);--border-strong: var(--color-gray-400);--border-focus: var(--color-primary-500);--border-hover: var(--color-gray-400);--interactive-default: var(--color-primary-500);--interactive-hover: var(--color-primary-600);--interactive-active: var(--color-primary-700);--interactive-disabled: var(--color-gray-400);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .06);--shadow-md: 0 2px 4px rgba(0, 0, 0, .03), 0 4px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .03), 0 8px 16px rgba(0, 0, 0, .06), 0 16px 24px rgba(0, 0, 0, .06);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .04), 0 16px 32px rgba(0, 0, 0, .08), 0 24px 48px rgba(0, 0, 0, .08);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .06);--focus-outline-width: 2px;--focus-outline-offset: 2px;--focus-outline-style: solid;--transition-fast: .15s ease;--transition-normal: .25s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--nav-card-min-height: 180px;--nav-card-icon-size: 3.5rem;--nav-card-icon-size-mobile: 2.5rem;--nav-card-accent-height: 4px;--nav-card-accent-width-mobile: 4px;--nav-card-hover-lift: -4px;--nav-card-active-lift: -1px;--nav-card-icon-scale: 1.1;--nav-card-icon-rotate: 5deg}[data-theme=dark]{--bg-primary: var(--color-gray-900);--bg-secondary: var(--color-gray-800);--bg-tertiary: var(--color-gray-700);--bg-elevated: var(--color-gray-800);--bg-overlay: rgba(0, 0, 0, .7);--text-primary: var(--color-gray-100);--text-secondary: var(--color-gray-300);--text-tertiary: var(--color-gray-500);--text-inverse: var(--color-gray-900);--text-accent: var(--color-primary-400);--border-default: var(--color-gray-600);--border-subtle: var(--color-gray-700);--border-strong: var(--color-gray-500);--border-hover: var(--color-gray-500);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25), 0 1px 1px rgba(0, 0, 0, .2), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-md: 0 2px 4px rgba(0, 0, 0, .2), 0 4px 8px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .2), 0 8px 16px rgba(0, 0, 0, .3), 0 16px 24px rgba(0, 0, 0, .2), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .25), 0 16px 32px rgba(0, 0, 0, .35), 0 24px 48px rgba(0, 0, 0, .2), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-sans);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-tap-highlight-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-lg);gap:var(--space-2-5)}.btn-primary{background-color:var(--interactive-default);color:var(--text-inverse);border-color:var(--interactive-default);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--interactive-hover);border-color:var(--interactive-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-inset, inset 0 2px 4px rgba(0, 0, 0, .1)),var(--shadow-sm)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--border-hover)}.btn-ghost{background-color:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--bg-secondary);color:var(--text-primary)}.btn-danger{background-color:var(--color-error-main);color:#fff;border-color:var(--color-error-main)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark)}@media(prefers-contrast:high){.btn{border-width:2px}.btn-primary{border-color:var(--text-inverse)}}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn-primary:hover:not(:disabled),.btn-primary:active:not(:disabled){transform:none}}input.input-invalid,select.input-invalid,textarea.input-invalid{border-color:var(--color-error-main)}input.input-valid,select.input-valid,textarea.input-valid{border-color:var(--color-success-main)}.page-content{max-width:800px;margin:0 auto;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px) + var(--navbar-height));overflow-y:auto;flex:1;min-height:0;box-sizing:border-box}@media(max-width:768px){.page-content{padding:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px) + var(--navbar-height))}}@media(min-width:1024px){.page-content{max-width:900px;padding:var(--space-6);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px) + var(--navbar-height))}}@media(min-width:1280px){.page-content{max-width:960px;padding:var(--space-8);padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,0px) + var(--navbar-height))}}.page-content>*{max-width:100%;box-sizing:border-box}main{margin-top:0;flex:1;display:flex;align-items:stretch;justify-content:stretch;padding:0;overflow:hidden;min-height:0;background-color:var(--bg-primary);transition:background-color var(--transition-normal);position:relative;z-index:0}#mainContent{display:flex;gap:0;width:100%;height:100%;align-items:stretch;overflow:hidden}.page-view{display:flex;flex-direction:column;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;opacity:1;visibility:visible;transition:opacity .2s ease-in-out,visibility 0ms}.page-view.page-hidden{display:none!important}.page-view.page-exiting{opacity:0;pointer-events:none}.page-view.page-entering{opacity:0}#page-activity{overflow-y:auto;overflow-x:hidden;height:auto;flex:1;min-height:0}#page-history{overflow-y:auto;overflow-x:hidden}@media(max-width:768px){#mainContent{flex-direction:column;gap:0}}@media(min-width:1280px){#mainContent{max-width:1400px;margin:0 auto}}#updateNotification{position:fixed;top:var(--space-5);left:50%;transform:translate(-50%);background:var(--color-success-main);color:var(--text-inverse);padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;max-width:90%;text-align:center}#updateNotification p{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm)}#updateButton{background:var(--bg-elevated);color:var(--color-success-main);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);margin-right:var(--space-2);cursor:pointer;font-weight:700}#dismissUpdate{background:transparent;color:var(--text-inverse);border:1px solid var(--text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer}#route-loader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-overlay);z-index:9999;justify-content:center;align-items:center}.route-loader__card{background-color:var(--bg-elevated);padding:var(--space-6) var(--space-10);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.route-loader__spinner{width:var(--space-10);height:var(--space-10);border:4px solid var(--border-default);border-top-color:var(--interactive-default);border-radius:50%;animation:spin 1s linear infinite}.route-loader__text{margin:0;color:var(--text-primary);font-size:var(--font-size-sm)}#mainMenu{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);background:transparent;z-index:2000}#mainMenu>summary{display:flex;align-items:center;justify-content:center;width:var(--touch-target-size);height:var(--touch-target-size);font-size:var(--font-size-2xl);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;color:var(--text-primary);transition:color var(--transition-normal),background-color var(--transition-fast),transform var(--transition-fast);border-radius:var(--radius-md);background-color:var(--bg-elevated)}#mainMenu>summary:hover{background-color:var(--bg-hover)}#mainMenu>summary:active{transform:scale(.95)}#mainMenu>summary:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}#mainMenu>summary::-webkit-details-marker{display:none}#mainMenu>summary::marker{display:none;content:""}#mainMenu[open]>summary .menu-icon{transform:rotate(90deg)}.menu-icon{display:inline-block;transition:transform var(--transition-normal)}#controls{position:absolute;top:calc(100% + var(--space-2));left:0;background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-2) 0;display:flex;flex-direction:column;min-width:var(--nav-menu-min-width);max-height:calc(100vh - 100px);overflow-y:auto;border:1px solid var(--border-subtle);z-index:2001;opacity:0;transform:translateY(-8px);animation:menuSlideIn var(--transition-fast) forwards}@keyframes menuSlideIn{to{opacity:1;transform:translateY(0)}}#controls>.menu-section-header,#controls>.menu-btn,#controls>.menu-toggle-container{opacity:0;transform:translate(-8px);animation:menuItemFadeIn var(--transition-fast) forwards}@keyframes menuItemFadeIn{to{opacity:1;transform:translate(0)}}#controls>:nth-child(1){animation-delay:.02s}#controls>:nth-child(2){animation-delay:.04s}#controls>:nth-child(3){animation-delay:.06s}#controls>:nth-child(4){animation-delay:.08s}#controls>:nth-child(5){animation-delay:.1s}#controls>:nth-child(6){animation-delay:.12s}#controls>:nth-child(7){animation-delay:.14s}#controls>:nth-child(8){animation-delay:.16s}#controls>:nth-child(9){animation-delay:.18s}#controls>:nth-child(10){animation-delay:.2s}#controls>:nth-child(11){animation-delay:.22s}#controls>:nth-child(12){animation-delay:.24s}#controls::-webkit-scrollbar{width:6px}#controls::-webkit-scrollbar-track{background:transparent}#controls::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.menu-section-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);padding:var(--space-3) var(--space-4) var(--space-1-5);margin-top:var(--space-1);border-top:1px solid var(--border-subtle)}.menu-section-header:first-child{border-top:none;margin-top:0;padding-top:var(--space-2)}.menu-divider{height:1px;background:var(--border-subtle);margin:var(--space-2) var(--space-3)}#controls .menu-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-4);margin:0 var(--space-2);font-size:var(--font-size-sm);border:none;border-radius:var(--radius-md);background-color:transparent;cursor:pointer;white-space:nowrap;text-align:left;color:var(--text-primary);font-weight:var(--font-weight-normal);transition:background-color var(--transition-fast),color var(--transition-fast)}#controls .menu-btn:hover{background-color:var(--bg-hover)}#controls .menu-btn:active{background-color:var(--bg-active)}#controls .menu-btn:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:-2px}.menu-item-icon{font-size:var(--font-size-base);width:20px;text-align:center;flex-shrink:0}.menu-item-text{flex:1}.menu-toggle-container{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-4);margin:0 var(--space-2);font-size:var(--font-size-sm);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-normal)}.menu-toggle-container:hover{background-color:var(--bg-hover)}.menu-toggle-container:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:-2px}.menu-toggle-container label{display:flex;align-items:center;gap:var(--space-3);flex-grow:1;cursor:pointer}@media(prefers-reduced-motion:reduce){#controls{animation:none;opacity:1;transform:none}#controls>.menu-section-header,#controls>.menu-btn,#controls>.menu-toggle-container{animation:none;opacity:1;transform:none}.menu-icon{transition:none}#mainMenu>summary{transition:none}}@media(max-width:480px){#mainMenu{left:var(--space-2)}#controls{min-width:var(--nav-menu-min-width-mobile);max-width:calc(100vw - var(--space-8))}#controls .menu-btn,.menu-toggle-container{padding:var(--space-3) var(--space-4)}}.bottom-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;width:100%;background-color:var(--bg-elevated);border-top:1px solid var(--border-default);padding-bottom:env(safe-area-inset-bottom);z-index:5000;box-shadow:var(--shadow-sm)}.bottom-nav .nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2) 0;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-xs)}.bottom-nav .nav-item.active{color:var(--interactive-default);font-weight:var(--font-weight-bold)}.bottom-nav .nav-icon{font-size:var(--font-size-xl);margin-bottom:var(--space-1)}#mainContent{padding-bottom:var(--navbar-height)}@media(min-width:800px){.bottom-nav{max-width:600px;left:50%;transform:translate(-50%);border-radius:var(--radius-md) var(--radius-md) 0 0}}@media(min-width:1024px){.bottom-nav{max-width:640px;box-shadow:var(--shadow-md)}.bottom-nav .nav-icon{font-size:var(--font-size-2xl)}.bottom-nav .nav-item{font-size:var(--font-size-sm);padding:var(--space-2-5) 0}}@media(pointer:fine)and (min-width:1024px){.bottom-nav .nav-item:hover{background-color:var(--bg-hover)}}header{position:relative;flex:0 0 auto;height:auto;min-height:8vh;background:var(--bg-elevated);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;padding:0 2vw;z-index:4000;transition:background-color var(--transition-normal),box-shadow var(--transition-normal)}header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}#topBarControls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-1-5) 0}.screen-nav{grid-column:1;display:flex;gap:var(--space-1-5);justify-self:start}.screen-nav-btn{display:flex;align-items:center;justify-content:center;width:var(--touch-target-size);height:var(--touch-target-size);padding:0;border:none;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-fast),transform .1s ease;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1}.screen-nav-btn:hover{background-color:var(--bg-tertiary)}.screen-nav-btn:active{transform:scale(.95)}.screen-nav-btn:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}#time{grid-column:2;justify-self:center;white-space:nowrap;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:var(--text-primary);letter-spacing:.03em;margin:0;min-width:100px;text-align:center;text-shadow:var(--shadow-sm)}.activity-controls{display:flex;gap:var(--space-2-5);grid-column:3;justify-self:end}.activity-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xl);border:none;border-radius:var(--radius-sm);background-color:transparent;cursor:pointer;transition:background-color var(--transition-fast),transform .1s ease;line-height:1;min-width:var(--touch-target-size);min-height:var(--touch-target-size);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center}.activity-btn:hover{background-color:var(--bg-secondary);box-shadow:var(--shadow-sm)}.activity-btn:active{background-color:var(--bg-tertiary);transform:scale(.95);box-shadow:var(--shadow-inset)}.activity-btn:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.activity-btn-start{background-color:var(--zone-3-color-bg);color:var(--zone-3-color)}.activity-btn-start:hover{background-color:var(--zone-3-color-bg-hover)}.activity-btn-pause{background-color:var(--zone-4-color-bg);color:var(--zone-4-color)}.activity-btn-pause:hover{background-color:var(--zone-4-color-bg-hover)}.activity-btn-resume{background-color:var(--zone-3-color-bg);color:var(--zone-3-color)}.activity-btn-resume:hover{background-color:var(--zone-3-color-bg-hover)}.activity-btn-stop{background-color:var(--zone-6-color-bg);color:var(--zone-6-color)}.activity-btn-stop:hover{background-color:var(--zone-6-color-bg-hover)}@media(min-width:1024px){header{padding:0 var(--space-6)}#topBarControls{max-width:960px;margin:0 auto}#time{font-size:var(--font-size-3xl)}}@media(min-width:1280px){header{padding:0 var(--space-8)}#topBarControls{max-width:1080px}}.activity-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(100%)}.connection-error-content{display:flex;flex-direction:column;gap:var(--space-4)}.connection-error-message{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;margin:0}.connection-error-troubleshooting{background-color:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-4);border-left:3px solid var(--interactive-default)}.connection-error-troubleshooting h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-3) 0}.connection-error-troubleshooting ul{margin:0;padding:0 0 0 var(--space-5);list-style-type:disc}.connection-error-troubleshooting li{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-1)}.connection-error-troubleshooting li:last-child{margin-bottom:0}@media(max-width:480px){.connection-error-troubleshooting{padding:var(--space-3)}.connection-error-troubleshooting li{font-size:var(--font-size-xs)}}.metrics-section{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0;background:var(--bg-primary);position:relative;container-type:size;transition:background-color var(--transition-normal)}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.section-header{display:flex;justify-content:space-between;align-items:center;padding:min(8px,1.5vh) min(10px,1vw);margin-bottom:min(8px,1.5vh);background:var(--bg-secondary);border-bottom:2px solid var(--border-default);position:sticky;top:0;z-index:20;flex:0 0 auto;height:10cqh;min-height:var(--touch-target-size);transition:background-color var(--transition-normal),border-color var(--transition-normal)}#yourMetricsToolbar{margin-bottom:0;padding:min(10px,1.8vh) min(12px,1.2vw);background:linear-gradient(to bottom,var(--bg-secondary),var(--bg-primary));box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-default)}.metric-group{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1}.metric-group-power[data-show-avg=true] dd:after{content:attr(data-avg-value);display:block;font-size:var(--font-size-xs);opacity:.7}.custom-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.custom-modal.modal-visible{opacity:1;visibility:visible}.custom-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.custom-modal-container{position:relative;background-color:var(--bg-elevated);border-radius:var(--radius-lg);width:90%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);transform:scale(.95);transition:transform var(--transition-fast),background-color var(--transition-normal);border:1px solid var(--border-subtle)}.modal-visible .custom-modal-container{transform:scale(1)}.custom-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-default)}.custom-modal-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.modal-close-btn{background:none;border:none;font-size:var(--font-size-2xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);line-height:1;transition:background-color var(--transition-fast)}.modal-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.custom-modal-body{padding:var(--space-5);overflow-y:auto;flex:1}.custom-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default)}.modal-btn{padding:var(--space-2-5) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}@media(max-width:480px){.custom-modal-container{width:95%;max-height:90vh}.custom-modal-footer{flex-direction:column}.modal-btn{width:100%;text-align:center}}@media(min-width:1024px){.custom-modal-container{max-width:540px}dialog.modal{max-width:640px}}dialog.modal{border:none;border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-xl);padding:0;max-width:600px;width:90%;margin:auto;position:fixed;inset:0;z-index:2000}dialog.modal[open]{display:flex;flex-direction:column;animation:modalFadeIn var(--transition-fast)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}dialog.modal::backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:backdropFadeIn var(--transition-fast)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{display:flex;flex-direction:column;max-height:85vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-default)}.modal-header h2{margin:0;font-size:var(--font-size-xl)}.connected-count{font-size:var(--font-size-xs);color:var(--text-tertiary);padding:var(--space-1) var(--space-2-5);background:var(--bg-secondary);border-radius:var(--radius-full);transition:background-color var(--transition-fast),color var(--transition-fast)}.connected-count.has-connections{background:var(--color-success-bg);color:var(--color-success-main)}.close-btn{background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;color:var(--text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.close-btn:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.sensor-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1-5);padding:var(--space-4) var(--space-3);background:var(--bg-secondary);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);text-align:center;color:var(--text-primary);min-height:110px}.sensor-btn:hover{background:var(--bg-primary);border-color:var(--interactive-default);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.sensor-btn:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.sensor-btn:active{transform:translateY(0)}.sensor-btn.connected{background:var(--color-success-bg);border-color:var(--color-success-main)}.sensor-btn.connected .sensor-status{color:var(--color-success-main);font-weight:var(--font-weight-medium)}.sensor-btn.connecting{border-color:var(--interactive-default);border-style:dashed;animation:sensorPulse 1.5s ease-in-out infinite}@keyframes sensorPulse{0%,to{opacity:1}50%{opacity:.7}}.sensor-btn.connecting .sensor-status{color:var(--interactive-default)}.sensor-btn.connecting.timeout{border-color:var(--color-warning-main);animation:sensorPulseWarning 1s ease-in-out infinite}@keyframes sensorPulseWarning{0%,to{opacity:1;border-color:var(--color-warning-main)}50%{opacity:.6;border-color:var(--color-warning-dark)}}.sensor-btn.connecting.timeout .sensor-status{color:var(--color-warning-main)}.sensor-icon{font-size:var(--font-size-4xl);line-height:1}.sensor-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.sensor-status{font-size:var(--font-size-xs);color:var(--text-tertiary);transition:color var(--transition-fast)}.sensor-device-name{font-size:var(--font-size-xs);color:var(--text-tertiary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none;font-style:italic}.sensor-device-name:not(:empty){display:block}.sensor-btn.connected .sensor-device-name{font-style:normal}.sensor-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--interactive-default);margin-top:var(--space-1);display:none;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.sensor-btn.connected .sensor-value:not(:empty){display:block}@media(prefers-reduced-motion:reduce){dialog.modal[open]{animation:none}dialog.modal::backdrop{animation:none}.sensor-btn{transition:none}.sensor-btn.connecting{animation:none}}@media(max-width:480px){dialog.modal{width:95%;max-height:95vh}.sensor-btn{padding:var(--space-3) var(--space-2);min-height:100px}.sensor-icon{font-size:var(--font-size-2xl)}.sensor-name{font-size:var(--font-size-xs)}}.sensors-page{max-width:700px;margin:0 auto;padding:var(--space-4)}@media(min-width:1024px){.sensors-page{max-width:800px}}#activity-recovery-modal.modal{max-width:450px}#activity-recovery-modal .modal-content{padding:var(--space-6);gap:var(--space-4)}#recovery-modal-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}#activity-recovery-modal p{margin:0;color:var(--text-secondary);line-height:1.5}.recovery-summary{padding:var(--space-4);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);margin:var(--space-2) 0}.recovery-stat{display:flex;flex-direction:column;gap:var(--space-1)}.recovery-stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.recovery-stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums}#activity-recovery-modal .modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-2)}#recovery-sensor-panel-container{margin:var(--space-2) 0}#activity-recovery-modal .btn{width:100%;justify-content:center}@media(max-width:480px){#activity-recovery-modal .modal-actions{grid-template-columns:1fr}#activity-recovery-modal #recovery-restore-btn{order:-1}}.toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:10001;display:flex;flex-direction:column;align-items:center;width:auto;max-width:90vw;pointer-events:none}.toast-container bpt-toast{pointer-events:auto}.home-view{display:flex;flex-direction:column;min-height:100%}.home-nav{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-12);align-content:start;padding:var(--space-6);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));width:100%;max-width:800px;margin:0 auto;animation:fadeInUp var(--transition-normal)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.home-nav{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-16)}}@media(max-width:480px){.home-nav{grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-2)}}@media(min-width:1024px){.home-nav{max-width:960px;grid-template-columns:repeat(2,1fr);gap:var(--space-16);padding:var(--space-8)}}@media(min-width:1280px){.home-nav{max-width:1080px;grid-template-columns:repeat(4,1fr);gap:var(--space-10);padding:var(--space-10)}}#page-activity{background-color:var(--activity-bg, var(--bg-primary));color:var(--activity-text, var(--text-primary))}#page-activity .timer-display{color:var(--activity-text, var(--text-primary))}#page-activity{--field-bg: var(--activity-bg, var(--bg-primary));--field-text: var(--activity-text, var(--text-primary))}.history-page{padding:var(--space-4);max-width:1200px;margin:0 auto;overflow-x:hidden}.history-page-content{padding:var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px) + var(--navbar-height));overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;max-width:100%;box-sizing:border-box}.activity-control-btn-danger{color:var(--color-error-main)}.activity-control-btn-danger:hover:not(:disabled){background-color:var(--color-error-light);border-color:var(--color-error-main)}.activity-controls{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.activity-control-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background-color var(--transition-fast),color var(--transition-fast);color:var(--text-primary);min-width:40px;min-height:40px}.activity-control-btn:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.activity-control-btn:active:not(:disabled){transform:translateY(0)}.activity-control-btn:disabled{opacity:.4;cursor:not-allowed;color:var(--text-tertiary)}.activity-list{display:flex;flex-direction:column;gap:var(--space-3)}.activity-scroll-sentinel{height:1px;width:100%}.activity-scroll-sentinel--loading{height:48px;display:flex;align-items:center;justify-content:center}.activity-scroll-sentinel--loading:after{content:"";width:24px;height:24px;border:3px solid var(--border-default);border-top-color:var(--color-primary-500);border-radius:50%;animation:scroll-spinner .7s linear infinite}@keyframes scroll-spinner{to{transform:rotate(360deg)}}.activity-scroll-sentinel--hidden{display:none}.activity-loading,.activity-empty,.activity-error{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius-lg);border:2px dashed var(--border-subtle)}.activity-loading{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.activity-empty-hint,.activity-error-detail{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:var(--space-2);line-height:1.6}.activity-error{color:var(--color-error-main);border-color:var(--color-error-light);background:var(--color-error-bg)}@media(min-width:1024px){.history-page,.history-page-content{padding:var(--space-6)}.activity-card-history{padding:var(--space-5)}.activity-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media(min-width:1280px){.history-page{max-width:1400px;padding:var(--space-8)}.activity-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.activity-card-history{padding:var(--space-6)}}.activity-card-history{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast);position:relative;overflow:hidden}.activity-card-history:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-300));opacity:0;transition:opacity var(--transition-fast)}.activity-card-history:hover{box-shadow:var(--shadow-md);border-color:var(--border-default);transform:translateY(-1px)}.activity-card-history:hover:before{opacity:1}.activity-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-3);gap:var(--space-2)}.activity-type{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.activity-date{font-size:var(--font-size-sm);color:var(--text-tertiary);white-space:nowrap}.activity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-1) var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md)}.activity-stat{display:flex;flex-direction:column;gap:var(--space-0-5);text-align:center}.activity-stat-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.activity-stat-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums}.activity-card-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid var(--border-subtle)}.activity-view-btn,.activity-delete-btn,.activity-export-btn-card{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);border:1px solid transparent}.activity-view-btn{background-color:var(--color-primary-500);color:var(--text-inverse);border-color:var(--color-primary-500)}.activity-view-btn:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.activity-export-btn-card{background-color:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-default)}.activity-export-btn-card:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-strong);transform:translateY(-1px)}.activity-delete-btn{background-color:transparent;color:var(--color-error-main);border-color:transparent}.activity-delete-btn:hover{background-color:var(--color-error-bg);border-color:var(--color-error-light)}.page-content.settings-content{max-width:900px}@media(min-width:768px){.page-content.settings-content{max-width:960px;padding:var(--space-6)}}.settings-fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-sizing:border-box;max-width:100%;background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.settings-fieldset:hover{box-shadow:var(--shadow-md)}.settings-fieldset *{box-sizing:border-box}.settings-fieldset legend{font-weight:var(--font-weight-bold);color:var(--text-primary);padding:0;font-size:var(--font-size-lg);margin-bottom:var(--space-4);display:block;width:100%}.settings-content input:focus,.settings-content select:focus,.settings-content textarea:focus{outline:none;border-color:var(--interactive-default);box-shadow:0 0 0 3px color-mix(in srgb,var(--interactive-default) 15%,transparent)}.settings-content input[aria-invalid=true]{border-color:var(--color-error-main);box-shadow:0 0 0 3px var(--color-error-light)}.settings-content input[aria-invalid=false]{border-color:var(--color-success-main);box-shadow:0 0 0 3px var(--color-success-light)}.settings-content :focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.page-content{overflow-x:hidden}.settings-fieldset input,.settings-fieldset select,.settings-fieldset textarea,.settings-fieldset button{max-width:100%;box-sizing:border-box}.settings-fieldset textarea{resize:vertical;overflow-wrap:break-word}.settings-fieldset p,.settings-fieldset label,.settings-fieldset span{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}@media(max-width:768px){.settings-content{padding:var(--space-3)}.settings-fieldset{padding:var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-md)}.settings-fieldset legend{font-size:var(--font-size-base)}input[type=number],input[type=text],input[type=password],select,textarea{font-size:16px!important;max-width:100%}}@media(max-width:480px){.settings-fieldset{padding:var(--space-3)!important;margin-left:0!important;margin-right:0!important}}.settings-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4);padding-bottom:var(--space-5)}.settings-nav-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);box-shadow:var(--shadow-sm);height:auto;min-height:80px}.settings-nav-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--interactive-default);background:var(--bg-hover)}.settings-nav-item:active{transform:translateY(0);box-shadow:var(--shadow-sm)}@media(min-width:768px){.settings-nav-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}@media(max-width:600px){.settings-nav-grid{grid-template-columns:1fr;gap:var(--space-8)}}.settings-detail-view{animation:settingsSlideIn .25s ease-out}@keyframes settingsSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.settings-form-group{display:flex;flex-direction:column;gap:var(--space-4)}.settings-form-group:has(bpt-form-field){gap:0}.settings-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.settings-select{appearance:none;-webkit-appearance:none;width:100%;padding:var(--space-3) var(--space-10) var(--space-3) var(--space-4);font-size:var(--font-size-base);font-family:inherit;color:var(--text-primary);background-color:var(--bg-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);line-height:1.5}.settings-select:hover{border-color:var(--border-strong);background-color:var(--bg-hover)}.settings-select:focus{outline:none;border-color:var(--interactive-default);box-shadow:0 0 0 3px color-mix(in srgb,var(--interactive-default) 15%,transparent)}.settings-select:focus-visible{outline:none}.settings-help{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:var(--space-1) 0 0 0;word-wrap:break-word;line-height:1.5}@media(min-width:1024px){.page-content.settings-content{max-width:1060px;padding:var(--space-8)}.settings-nav-item{padding:var(--space-5) var(--space-6);min-height:88px}.settings-fieldset{padding:var(--space-6)}}@media(min-width:1280px){.page-content.settings-content{max-width:1200px}.settings-nav-grid{grid-template-columns:repeat(3,1fr)}.settings-fieldset{padding:var(--space-8)}}:root{--activity-card-bg: var(--bg-secondary);--activity-card-border: var(--border-default);--activity-card-selected-bg: var(--color-primary-50);--activity-card-selected-border: var(--color-primary-500);--activity-icon-size: 48px;--activity-card-padding: var(--space-4);--start-button-bg: var(--color-primary-500);--start-button-color: white;--start-button-size: 120px;--start-button-shadow: 0 4px 12px color-mix(in srgb, var(--interactive-default) 40%, transparent)}[data-theme=dark]{--activity-card-bg: var(--bg-secondary);--activity-card-border: var(--border-default);--activity-card-selected-bg: color-mix(in srgb, var(--interactive-default) 20%, transparent);--activity-card-selected-border: var(--color-primary-500);--start-button-shadow: 0 4px 12px color-mix(in srgb, var(--interactive-default) 30%, transparent)}.activity-selection-container{display:none;width:100%;background:var(--bg-primary)}.activity-selection-container.visible{display:flex;flex-direction:column}.activity-start-container{display:none;width:100%;background:var(--bg-primary)}.activity-start-container.visible{display:flex;flex-direction:column}.activity-active-container{display:none;width:100%;flex:1;min-height:0;flex-direction:column;background:var(--bg-primary);overflow:hidden}.activity-active-container.visible{display:flex}.activity-active-container bpt-screen-carousel{flex:1;min-height:0}.special-activity-container{display:none;flex-direction:column;height:100%;min-height:0}.special-activity-container:not([hidden]){display:flex}.activity-active-container .metrics-section{border-radius:var(--radius-md)}[data-activity-phase=idle] #activityControls,[data-activity-phase=ready] #activityControls,[data-activity-phase=idle] #time,[data-activity-phase=ready] #time{display:none}.activity-selection-container,.activity-start-container,.activity-active-container{transition:opacity var(--transition-normal)}.activity-selection-container.transitioning,.activity-start-container.transitioning,.activity-active-container.transitioning{opacity:0}@media(max-width:480px){:root{--activity-icon-size: 40px;--activity-card-padding: var(--space-3);--start-button-size: 100px}}@media(min-width:768px){:root{--activity-icon-size: 56px;--activity-card-padding: var(--space-5);--start-button-size: 140px}}@media(prefers-reduced-motion:reduce){.activity-selection-container,.activity-start-container,.activity-active-container{transition:none}}.summary-page{padding:var(--space-4);max-width:600px;margin:0 auto;overflow-y:auto;height:100%}.summary-metrics{margin-bottom:var(--space-5)}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.summary-metric{display:flex;flex-direction:column;padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.summary-metric-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.summary-metric-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1.2}.summary-metric-unit{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-secondary)}.summary-empty{color:var(--text-tertiary);text-align:center;padding:var(--space-6)}.summary-section{margin-bottom:var(--space-5)}.summary-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--space-3)}.summary-best-efforts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.summary-effort{display:flex;flex-direction:column;align-items:center;padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex:1;min-width:80px}.summary-effort--pr{border-color:var(--color-primary-500);background:color-mix(in srgb,var(--color-primary-500) 10%,transparent)}.summary-effort-label{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-semibold);text-transform:uppercase;margin-bottom:var(--space-1)}.summary-effort-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.summary-effort-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-primary-500);background:color-mix(in srgb,var(--color-primary-500) 10%,transparent);padding:1px 6px;border-radius:var(--radius-sm);margin-top:var(--space-1)}.summary-zones{display:flex;flex-direction:column;gap:var(--space-2)}.summary-zone-row{display:flex;align-items:center;gap:var(--space-2)}.summary-zone-label{font-size:var(--font-size-sm);color:var(--text-secondary);width:60px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-zone-bar-container{flex:1;height:20px;background:var(--bg-tertiary, rgba(128, 128, 128, .1));border-radius:var(--radius-sm);overflow:hidden}.summary-zone-bar{height:100%;border-radius:var(--radius-sm);min-width:2px;transition:width var(--transition-normal)}.summary-zone-pct{font-size:var(--font-size-sm);color:var(--text-secondary);width:36px;text-align:right;flex-shrink:0}.summary-splits-section{margin-bottom:var(--space-5)}.summary-splits-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.summary-splits-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.summary-splits-table th{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:var(--space-2) var(--space-2);border-bottom:2px solid var(--border-subtle);white-space:nowrap}.summary-splits-table td{padding:var(--space-2) var(--space-2);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.summary-splits-table tbody tr:last-child td{border-bottom:none}.summary-splits-table tbody tr:hover{background:var(--bg-secondary)}.summary-chart-section{margin-bottom:var(--space-5)}.summary-chart-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap}.summary-chart-legend{font-size:var(--font-size-xs);color:var(--text-tertiary)}.summary-chart-legend strong{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.summary-chart-container{position:relative;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);padding:var(--space-2) var(--space-2) var(--space-1);overflow:hidden}.summary-chart-svg{display:block;width:100%;height:100px}.summary-chart-y-labels{position:absolute;top:var(--space-2);right:var(--space-2);bottom:var(--space-1);display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.summary-chart-y-labels span{font-size:.625rem;color:var(--text-tertiary);opacity:.7;line-height:1;text-align:right}.summary-actions{display:flex;justify-content:center;padding:var(--space-4) 0 var(--space-6)}.summary-done-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-8);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-inverse);background:var(--color-primary-500);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);min-width:160px}.summary-done-btn:hover{background:var(--color-primary-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.summary-done-btn:active{transform:translateY(0)}@media(min-width:1024px){.summary-page{max-width:720px;padding:var(--space-6)}.summary-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.summary-metric{padding:var(--space-4)}.summary-metric-value{font-size:var(--font-size-2xl)}.summary-chart-svg{height:120px}.summary-zone-bar-container{height:24px}.summary-zone-label{width:72px}}@media(min-width:1280px){.summary-page{max-width:800px;padding:var(--space-8)}.summary-grid{grid-template-columns:repeat(4,1fr)}.summary-chart-svg{height:140px}}.not-found-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-10) var(--space-5);text-align:center;gap:var(--space-6)}.not-found-icon{font-size:var(--space-20);line-height:1}.not-found-heading{font-size:var(--font-size-5xl);margin:0;color:var(--text-primary)}.not-found-subtitle{font-size:var(--font-size-lg);margin:0;color:var(--text-secondary)}.not-found-description{font-size:var(--font-size-sm);margin:0;color:var(--text-tertiary);max-width:400px}.not-found-button{margin-top:var(--space-2)}.about-page{padding:var(--space-6);max-width:800px;margin:0 auto;overflow-y:auto;flex:1}.about-section{margin-bottom:var(--space-8)}.about-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);border-bottom:2px solid var(--interactive-default);padding-bottom:var(--space-2);margin-bottom:var(--space-4)}.about-section-content{background:var(--bg-secondary);padding:var(--space-4);border-radius:var(--radius-md);line-height:1.6;color:var(--text-primary)}.about-section-content p{margin:0 0 var(--space-3)}.about-section-content p:last-child{margin-bottom:0}.about-section-content ul{margin:var(--space-2) 0;padding-left:var(--space-6)}.about-section-content li{margin-bottom:var(--space-2)}.about-section-content li:last-child{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:-100%;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;background:var(--interactive-default);color:var(--text-inverse);padding:var(--space-2) var(--space-4);z-index:10000;text-decoration:none;font-weight:var(--font-weight-bold);border-radius:0 0 var(--radius-sm) 0;transition:none}.skip-link:focus{position:absolute;top:0;left:0;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;outline:3px solid var(--color-warning-main);outline-offset:2px}:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}:focus:not(:focus-visible){outline:none}button:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset);box-shadow:0 0 0 4px color-mix(in srgb,var(--border-focus) 20%,transparent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--border-focus) 15%,transparent)}.card:focus-visible,[tabindex]:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset);box-shadow:var(--shadow-md),0 0 0 4px color-mix(in srgb,var(--border-focus) 15%,transparent)}[data-theme=dark] button:focus-visible,[data-theme=dark] [role=button]:focus-visible,[data-theme=dark] a:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--border-focus) 30%,transparent)}[data-theme=dark] input:focus-visible,[data-theme=dark] select:focus-visible,[data-theme=dark] textarea:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--border-focus) 25%,transparent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.screen-carousel{scroll-behavior:auto!important}.data-field,[class*=zone-],.metric-value,.data-field__value{transition:none!important}.sensor-status{animation:none!important}.toast,.notification{animation:none!important;transform:none!important}.modal,.modal-overlay{animation:none!important;transition:none!important}button,[role=button],.btn{transition:none!important}.card,.nav-card{transition:none!important;transform:none!important}.progress{animation:none!important;transition:none!important}}@media(prefers-contrast:more){:root{--border-focus: CanvasText}:focus-visible{outline:3px solid CanvasText!important;outline-offset:3px}button,[role=button],a,.data-field{border:2px solid currentColor}.data-field--has-zone{border-width:3px}}@media(pointer:coarse){button,[role=button],a,input[type=checkbox],input[type=radio],.toggle,.nav-card,.sensor-item{min-height:44px;min-width:44px}.action-bar button,.nav-card{padding:min(var(--space-3),12px)}}.card:focus-within,.sensor-item:focus-within,.data-field:focus-within{outline:2px solid var(--border-focus);outline-offset:2px}.modal[aria-modal=true]:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--border-focus) 30%,transparent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.hidden{display:none!important}@media(orientation:landscape)and (max-height:500px){header{min-height:6vh;padding:0 1vw}header h1{font-size:var(--font-size-base)}.activity-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-base);min-width:36px;min-height:36px}#mainContent{flex-direction:row}.metrics-section{padding:0}.section-header{padding:var(--space-1) var(--space-2);min-height:32px;height:8cqh}.metric-group{flex:1 1 30%;min-width:100px;padding:var(--space-1)}details{left:var(--space-2)}summary{font-size:var(--font-size-xl);padding:var(--space-1)}.custom-modal-container{max-height:95vh}.custom-modal-header,.custom-modal-body{padding:var(--space-3) var(--space-4)}}@media(orientation:landscape)and (min-height:501px)and (max-height:800px){.metric-group{flex:1 1 30%;min-width:120px}}
