:root{--color-primary-50:#eef0fe;--color-primary-300:#a5b0ff;--color-primary-400:#7d8cf0;--color-primary-500:#4a5ae8;--color-primary-600:#3644d8;--color-primary-700:#2b3ad1;--color-primary-800:#232fae;--color-primary-900:#1a2385;--brand:var(--color-primary-700);--brand-hover:var(--color-primary-800);--brand-contrast:var(--color-white);--color-white:#fff;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#bdbdbd;--color-gray-500:#9e9e9e;--color-gray-600:#6b6b6b;--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;--color-success-bg:#4caf5026;--color-warning-bg:#ff980026;--color-error-bg:#f4433626;--color-info-bg:#2196f326;--color-power:gold;--color-heartrate:#ff6b6b;--color-cadence:#4ecdc4;--color-cadence-bg:#4ecdc426;--color-time:plum;--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);--navbar-height:60px;--app-frame-max-width:1080px;--app-compact-frame-max-width:840px;--content-reading:720px;--content-wide:var(--app-frame-max-width);--touch-target-size:44px}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-600.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-latin-700.woff2)format("woff2")}:root{--font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-family-display:"Barlow Condensed", "Roboto Condensed", "Arial Narrow", var(--font-family-sans);--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-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;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:var(--color-gray-50,#fafafa);--bg-secondary:var(--color-gray-100,#f5f5f5);--bg-tertiary:var(--color-gray-200,#eee);--bg-elevated:white;--bg-overlay:#00000080;--bg-hover:var(--color-gray-100,#f5f5f5);--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-700);--text-tertiary:var(--color-gray-600);--text-inverse:white;--text-accent:var(--color-primary-600);--text-success:#276a2b;--text-warning:#8a3f00;--text-danger:#b71c1c;--text-power:#7a6500;--text-heartrate:#c62330;--text-cadence:#007067;--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-700);--interactive-hover:var(--color-primary-800);--interactive-active:var(--color-primary-900);--interactive-disabled:var(--color-gray-400);--interactive-contrast:var(--color-white);--switch-track-off:var(--color-gray-600);--switch-track-on:var(--interactive-default);--shadow-sm:0 1px 2px #0000000a, 0 1px 1px #0000000f;--shadow-md:0 2px 4px #00000008, 0 4px 8px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 4px 8px #00000008, 0 8px 16px #0000000f, 0 16px 24px #0000000f;--shadow-xl:0 8px 16px #0000000a, 0 16px 32px #00000014, 0 24px 48px #00000014;--shadow-inset:inset 0 2px 4px #0000000f;--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;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23666666'%3E%3Cpath d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z'/%3E%3C/svg%3E");--field-sheen:linear-gradient(180deg, #fff0 0%, #00000004 100%);--field-sheen-zone:linear-gradient(180deg, #ffffff26 0%, #0000000d 100%);--field-inset-highlight:inset 0 1px 0 #ffffff80;--field-label-ink:#000000b3;--field-highlight-bg:#fff8dce6;--field-highlight-ring:inset 0 0 0 2px #ffc10766;--field-alert-bg:#ffc8c8e6;--field-alert-bg-peak:#ff9696f2;--field-alert-ring:inset 0 0 0 2px #dc354566}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:var(--color-gray-900);--bg-secondary:var(--color-gray-800);--bg-tertiary:var(--color-gray-800);--bg-elevated:var(--color-gray-800);--bg-overlay:#000000b3;--text-primary:var(--color-gray-100);--text-secondary:var(--color-gray-300);--text-tertiary:var(--color-gray-400);--text-inverse:var(--color-gray-900);--text-accent:var(--color-primary-300);--text-success:#81c784;--text-warning:#ffb74d;--text-danger:#fca5a5;--text-power:var(--color-power);--text-heartrate:var(--color-heartrate);--text-cadence:var(--color-cadence);--border-default:var(--color-gray-600);--border-subtle:var(--color-gray-700);--border-strong:var(--color-gray-500);--border-hover:var(--color-gray-500);--switch-track-off:var(--color-gray-400);--switch-track-on:var(--color-primary-400);--shadow-sm:0 1px 2px #00000040, 0 1px 1px #0003, 0 0 0 1px #ffffff08;--shadow-md:0 2px 4px #0003, 0 4px 8px #00000040, 0 0 0 1px #ffffff0a;--shadow-lg:0 4px 8px #0003, 0 8px 16px #0000004d, 0 16px 24px #0003, 0 0 0 1px #ffffff0a;--shadow-xl:0 8px 16px #00000040, 0 16px 32px #00000059, 0 24px 48px #0003, 0 0 0 1px #ffffff0d;--shadow-inset:inset 0 2px 4px #0003;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23e0e0e0'%3E%3Cpath d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z'/%3E%3C/svg%3E");--field-sheen:linear-gradient(180deg, #ffffff05 0%, #0000001a 100%);--field-sheen-zone:linear-gradient(180deg, #ffffff14 0%, #0000001a 100%);--field-inset-highlight:inset 0 1px 0 #ffffff1a;--field-label-ink:#ffffffb3;--field-highlight-bg:#ffc10733;--field-highlight-ring:inset 0 0 0 2px #ffc10780;--field-alert-bg:#dc354533;--field-alert-bg-peak:#dc354566;--field-alert-ring:inset 0 0 0 2px #dc354580}*{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}[hidden]{display:none!important}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}h1,h2,h3{font-family:var(--font-family-display);letter-spacing:.01em;font-weight:600}.numeric{font-family:var(--font-family-display);font-variant-numeric:tabular-nums lining-nums}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);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;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn svg{flex: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(--interactive-contrast);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){box-shadow:var(--shadow-inset,inset 0 2px 4px #0000001a), var(--shadow-sm);transform:translateY(0)scale(.98)}.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-danger{background-color:var(--color-error-dark);color:#fff;border-color:var(--color-error-dark)}.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{width:100%;max-width:var(--content-reading);padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px) + var(--navbar-height));box-sizing:border-box;flex:1;min-height:0;margin:0 auto;overflow-y:auto}@media (width<=768px){.page-content{padding:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px) + var(--navbar-height))}}@media (width>=1024px){.page-content{padding:var(--space-6);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px) + var(--navbar-height))}}@media (width>=1280px){.page-content{padding:var(--space-8);padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,0px) + var(--navbar-height))}}.page-content>*{box-sizing:border-box;max-width:100%}.empty-state{justify-items:center;gap:var(--space-2);max-width:380px;margin:var(--space-6) auto;padding:var(--space-8) var(--space-6);text-align:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);align-self:center;display:grid}.empty-state__icon{width:56px;height:56px;margin-bottom:var(--space-2);background:var(--bg-secondary);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.empty-state__icon svg{width:28px;height:28px;display:block}.empty-state__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.empty-state__body{max-width:32ch;font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.6}.empty-state__action{min-height:var(--touch-target-size);margin-top:var(--space-3);padding:var(--space-2-5) var(--space-5);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--interactive-contrast);background:var(--interactive-default);border:1px solid var(--interactive-default);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.empty-state__action:hover{background:var(--interactive-hover);border-color:var(--interactive-hover);transform:translateY(-1px)}.empty-state__action:active{transform:translateY(0)scale(.98)}.empty-state__action:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}@media (prefers-reduced-motion:reduce){.empty-state__action{transition:none}.empty-state__action:hover{transform:none}}main{background-color:var(--bg-primary);min-height:0;transition:background-color var(--transition-normal);z-index:0;flex:1;justify-content:stretch;align-items:stretch;margin-top:0;padding:0;display:flex;position:relative;overflow:hidden}#mainContent{align-items:stretch;gap:0;width:100%;height:100%;display:flex;overflow:hidden}.page-view{opacity:1;visibility:visible;flex-direction:column;width:100%;height:100%;transition:opacity .2s ease-in-out,visibility;display:flex;overflow:hidden auto}.page-view.page-hidden{display:none!important}.page-view.page-exiting{opacity:0;pointer-events:none}.page-view.page-entering{opacity:0}#page-activity{flex:1;height:auto;min-height:0;overflow:hidden auto}#page-history{overflow:hidden auto}@media (width<=768px){#mainContent{flex-direction:column;gap:0}}@media (width>=1024px){main{background-color:color-mix(in srgb, var(--bg-primary) 94%, #000)}#mainContent{max-width:var(--app-frame-max-width);background-color:var(--bg-primary);border-inline:1px solid var(--border-subtle);box-shadow:var(--shadow-md);margin:0 auto}body[data-current-view=home] #mainContent,body[data-current-view=summary] #mainContent{max-width:var(--app-compact-frame-max-width)}}#updateNotification{top:var(--space-5);background:var(--color-success-dark);color:var(--color-white);padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;text-align:center;max-width:90%;position:fixed;left:50%;transform:translate(-50%)}#updateNotification p{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm)}#updateButton{background:var(--bg-elevated);color:var(--text-success);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);margin-right:var(--space-2);cursor:pointer;border:none;font-weight:700}#dismissUpdate{color:var(--color-white);border:1px solid var(--color-white);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;background:0 0}#route-loader{background-color:var(--bg-overlay);z-index:9999;justify-content:center;align-items:center;width:100%;height:100%;position:fixed;top:0;left:0}.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);align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.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:1s linear infinite spin}.route-loader__text{color:var(--text-primary);font-size:var(--font-size-sm);margin:0}.app-header-nav{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;display:flex;position:relative}.app-header-title{min-width:0;color:var(--text-primary);font-size:var(--font-size-3xl);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;line-height:1;overflow:hidden}.app-header-title[hidden]{display:none}.header-status-shortcuts{align-items:center;gap:var(--space-2);margin-inline-start:auto;display:inline-flex}@media (width<=480px){.app-header-nav{gap:var(--space-2)}}.bottom-nav{background-color:var(--bg-elevated);border-top:1px solid var(--border-default);width:100%;padding-bottom:env(safe-area-inset-bottom);z-index:5000;box-shadow:var(--shadow-sm);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0}.bottom-nav .nav-item{padding:var(--space-2) 0;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-xs);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.bottom-nav .nav-item.active{color:var(--text-accent);font-weight:var(--font-weight-bold)}.bottom-nav .nav-icon{font-size:var(--font-size-xl);margin-bottom:var(--space-1);justify-content:center;align-items:center;display:flex}.bottom-nav .nav-icon svg{width:1.4em;height:1.4em;display:block}#mainContent{padding-bottom:var(--navbar-height)}body:is([data-activity-phase=active],[data-activity-phase=paused])[data-current-view=activity]>header,body[data-current-view=summary]>header,body:is([data-activity-phase=active],[data-activity-phase=paused])[data-current-view=activity] .bottom-nav{display:none}body:is([data-activity-phase=active],[data-activity-phase=paused])[data-current-view=activity] #mainContent{padding-bottom:0}@media (width>=800px){.bottom-nav{border-radius:var(--radius-md) var(--radius-md) 0 0;max-width:600px;left:50%;transform:translate(-50%)}}@media (width>=1024px){.bottom-nav{max-width:var(--app-frame-max-width);border-top:1px solid var(--border-default);box-shadow:var(--shadow-md);border-radius:0}.app-header-nav{max-width:var(--app-frame-max-width);margin-inline:auto}body[data-current-view=home] .app-header-nav,body[data-current-view=home] .bottom-nav,body[data-current-view=summary] .bottom-nav{max-width:var(--app-compact-frame-max-width)}.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 (width>=1024px){.bottom-nav .nav-item:hover{background-color:var(--bg-hover)}}.demo-chip{background:var(--color-warning-bg);color:var(--text-warning);border:1px solid color-mix(in srgb, var(--color-warning-main) 35%, transparent);letter-spacing:.06em;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.demo-chip[hidden]{display:none}header{background:var(--bg-elevated);height:auto;min-height:8vh;box-shadow:var(--shadow-sm);z-index:4000;transition:background-color var(--transition-normal), box-shadow var(--transition-normal);flex:none;justify-content:center;align-items:center;padding:0 2vw;display:flex;position:relative}header h1{font-size:var(--font-size-2xl);color:var(--text-primary);margin:0;font-weight:600;line-height:1}#topBarControls{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-1-5) 0;grid-template-columns:1fr auto 1fr;display:grid}.top-bar-left{align-items:center;gap:var(--space-1-5);grid-column:1;justify-self:start;display:flex}#activityLockBtn[aria-pressed=true]{background:var(--color-warning-light,var(--bg-secondary));color:var(--color-warning-dark,var(--text-primary))}.screen-nav-btn{width:var(--touch-target-size);height:var(--touch-target-size);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);border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.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)}.ride-sensor-shortcut{gap:var(--space-1);width:auto;min-width:var(--touch-target-size);padding-inline:var(--space-2);position:relative}.ride-sensor-shortcut .sensor-status-shortcut__icon{width:1.5rem;height:1.5rem}.ride-sensor-shortcut .sensor-status-shortcut__icon svg{width:.875rem;height:.875rem}.ride-live-room-shortcut{border-radius:999px;position:relative}.ride-live-room-shortcut:after{content:"";border:1.5px solid var(--bg-secondary);background:var(--text-tertiary);border-radius:50%;width:7px;height:7px;position:absolute;bottom:6px;right:6px}.ride-live-room-shortcut.live-room-status-shortcut--connecting:after{background:var(--color-warning-main)}.ride-live-room-shortcut.live-room-status-shortcut--watching:after{background:var(--interactive-default)}.ride-live-room-shortcut.live-room-status-shortcut--live:after{background:var(--color-success-main)}.sensor-status-shortcut{justify-self:end;align-items:center;gap:var(--space-2);min-height:var(--touch-target-size);padding:0 var(--space-2-5);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform .1s ease;-webkit-tap-highlight-color:transparent;border-radius:999px;grid-column:3;display:inline-flex}.sensor-status-shortcut:hover{background:var(--bg-tertiary);border-color:var(--border-focus)}.sensor-status-shortcut:active{transform:scale(.98)}.sensor-status-shortcut:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.sensor-status-shortcut__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.sensor-status-shortcut__icons{align-items:center;gap:var(--space-1);display:inline-flex}.sensor-status-shortcut__icon{background:color-mix(in srgb, var(--bg-primary) 70%, var(--bg-secondary));width:1.75rem;height:1.75rem;color:var(--text-tertiary);transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.sensor-status-shortcut__icon svg{width:1rem;height:1rem;display:block}.sensor-status-shortcut__icon.is-connected{background:color-mix(in srgb, var(--color-success-main) 18%, var(--bg-primary));color:var(--text-primary);opacity:1;transform:translateY(-1px)}.live-room-status-shortcut{align-items:center;gap:var(--space-2);min-height:var(--touch-target-size);padding:0 var(--space-2-5);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:999px;display:inline-flex}.live-room-status-shortcut[hidden]{display:none}.live-room-status-shortcut:hover{background:var(--bg-tertiary);border-color:var(--border-focus)}.live-room-status-shortcut:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.live-room-status-shortcut__icon{background:color-mix(in srgb, var(--bg-primary) 70%, var(--bg-secondary));border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex;position:relative}.live-room-status-shortcut__icon:after{content:"";border:1.5px solid var(--bg-elevated);background:var(--text-tertiary);border-radius:50%;width:8px;height:8px;position:absolute;bottom:1px;right:1px}.live-room-status-shortcut__label,.live-room-status-shortcut__count{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.live-room-status-shortcut--connecting .live-room-status-shortcut__icon:after{background:var(--color-warning-main)}.live-room-status-shortcut--watching .live-room-status-shortcut__icon:after{background:var(--interactive-default)}.live-room-status-shortcut--live .live-room-status-shortcut__icon:after{background:var(--color-success-main)}.sensor-status-shortcut.sensor-status-shortcut--current{border-color:var(--text-primary);color:var(--text-primary)}#time{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;text-align:center;min-width:100px;text-shadow:var(--shadow-sm);grid-column:2;justify-self:center;margin:0}.activity-controls{gap:var(--space-2-5);grid-column:3;justify-self:end;display:flex}.activity-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xl);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), transform .1s ease;min-width:var(--touch-target-size);min-height:var(--touch-target-size);color:var(--text-primary);background-color:#0000;border:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.activity-btn:hover{background-color:var(--bg-secondary);box-shadow:var(--shadow-sm)}.activity-btn:active{background-color:var(--bg-tertiary);box-shadow:var(--shadow-inset);transform:scale(.95)}.activity-btn:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}@media (width>=1024px){header{padding:0 var(--space-6)}#topBarControls{max-width:960px;margin:0 auto}#time{font-size:var(--font-size-3xl)}}@media (width>=1280px){header{padding:0 var(--space-8)}#topBarControls{max-width:1080px}}@media (width<=520px){#topBarControls{gap:var(--space-2)}.sensor-status-shortcut,.live-room-status-shortcut{padding:0 var(--space-2)}.live-room-status-shortcut__label,.live-room-status-shortcut__count{display:none}}@media (width<=400px){#topBarControls,.top-bar-left{gap:var(--space-1)}.ride-sensor-shortcut{padding-inline:var(--space-1)}.ride-sensor-shortcut .sensor-status-shortcut__icons{gap:2px}.ride-sensor-shortcut .sensor-status-shortcut__icon{width:1.25rem;height:1.25rem}}@media (width<=360px){#activityTimer{--font-size-timer:1.75rem}}@media (width<=340px){#activityTimer{--font-size-timer:1.5rem}}.activity-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}@media (width<=520px){header .sensor-status-shortcut{gap:var(--space-1);padding-inline:var(--space-2)}.sensor-status-shortcut__label{font-size:var(--font-size-xs)}header .sensor-status-shortcut__icons{gap:var(--space-0-5)}header .sensor-status-shortcut__icon{width:var(--space-4);height:var(--space-4)}}@media (width<=360px){.app-header-nav,.header-status-shortcuts{gap:var(--space-1)}}.connection-error-content{gap:var(--space-4);flex-direction:column;display:flex}.connection-error-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.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;align-items:center;gap:var(--space-2);display:flex}.connection-error-troubleshooting h3 svg{color:var(--text-secondary);flex:none}.connection-error-troubleshooting ul{padding:0 0 0 var(--space-5);margin:0;list-style-type:disc}.connection-error-troubleshooting li{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-1);line-height:1.6}.connection-error-troubleshooting li:last-child{margin-bottom:0}@media (width<=480px){.connection-error-troubleshooting{padding:var(--space-3)}.connection-error-troubleshooting li{font-size:var(--font-size-xs)}}.metrics-section{background:var(--bg-primary);min-width:0;transition:background-color var(--transition-normal);flex-direction:column;flex:1;padding:0;display:flex;position:relative;overflow:hidden;container-type:size}.section-header{background:var(--bg-secondary);border-bottom:2px solid var(--border-default);z-index:20;height:10cqh;min-height:var(--touch-target-size);transition:background-color var(--transition-normal), border-color var(--transition-normal);flex:none;justify-content:space-between;align-items:center;margin-bottom:min(8px,1.5vh);padding:min(8px,1.5vh) min(10px,1vw);display:flex;position:sticky;top:0}#yourMetricsToolbar{background:linear-gradient(to bottom, var(--bg-secondary), var(--bg-primary));box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-default);margin-bottom:0;padding:min(10px,1.8vh) min(12px,1.2vw)}dialog.modal.custom-modal{border:1px solid var(--border-subtle);max-width:480px;max-height:85vh}.custom-modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.custom-modal-header h2{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;display:flex}.custom-modal-header h2 svg{flex:none}.modal-close-btn{font-size:var(--font-size-2xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);min-width:32px;min-height:32px;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.modal-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.custom-modal-body{padding:var(--space-5);flex:1;min-height:0;overflow-y:auto}.custom-modal-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default);display:flex}.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), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.modal-btn:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.modal-btn:active:not(:disabled){transform:scale(.98)}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-btn-primary{background-color:var(--interactive-default);color:var(--interactive-contrast);border-color:var(--interactive-default);box-shadow:var(--shadow-sm)}.modal-btn-primary:hover:not(:disabled){background-color:var(--interactive-hover);border-color:var(--interactive-hover)}.modal-btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-default)}.modal-btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--border-hover)}.modal-btn-danger{background-color:var(--color-error-main);color:#fff;border-color:var(--color-error-main)}.modal-btn-danger:hover:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark)}@media (width<=480px){dialog.modal.custom-modal{max-height:90vh}.custom-modal-footer{flex-direction:column-reverse}.modal-btn{text-align:center;justify-content:center;width:100%}}@media (width>=1024px){dialog.modal.custom-modal{max-width:540px}dialog.modal{max-width:640px}}dialog.modal{border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-xl);z-index:2000;border:none;width:90%;max-width:600px;margin:auto;padding:0;position:fixed;inset:0}dialog.modal[open]{animation:modalFadeIn var(--transition-fast);flex-direction:column;display:flex}@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{flex-direction:column;max-height:85vh;display:flex}@media (prefers-reduced-motion:reduce){dialog.modal[open],dialog.modal::backdrop{animation:none}}@media (width<=480px){dialog.modal{width:95%;max-height:95vh}}#activity-recovery-modal.modal{max-width:450px}#activity-recovery-modal .modal-content{padding:var(--space-6);gap:var(--space-4)}#recovery-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);align-items:center;gap:var(--space-2);margin:0;display:flex}#recovery-modal-title svg{color:var(--text-secondary);flex:none}#activity-recovery-modal p{color:var(--text-secondary);margin:0;line-height:1.5}.recovery-summary{gap:var(--space-4);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;grid-template-columns:1fr auto;display:grid}.recovery-stat{gap:var(--space-1);flex-direction:column;display:flex}.recovery-stat-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.recovery-stat-value{font-family:var(--font-family-display);font-size:var(--font-size-2xl);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}#activity-recovery-modal .modal-actions{gap:var(--space-3);margin-top:var(--space-2);grid-template-columns:1fr 1fr;display:grid}#recovery-sensor-panel-container{margin:var(--space-2) 0}#activity-recovery-modal .btn{justify-content:center;width:100%}@media (width<=480px){#activity-recovery-modal .modal-actions{grid-template-columns:1fr}#activity-recovery-modal #recovery-restore-btn{order:-1}}.toast-container{z-index:10001;width:min(360px, calc(100vw - var(--space-6)));pointer-events:none;flex-direction:column;align-items:stretch;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%)}body:is([data-activity-phase=active],[data-activity-phase=paused])[data-current-view=activity] .toast-container{top:calc(var(--touch-target-size) + var(--space-4))}.toast-container bpt-toast{pointer-events:auto}.home-view{box-sizing:border-box;width:100%;animation:fadeInUp var(--transition-normal);flex-direction:column;display:flex}.home-content{gap:var(--space-5);flex-direction:column;display:flex}.home-cta{align-items:center;gap:var(--space-3);width:100%;min-height:5rem;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--brand);color:var(--brand-contrast);cursor:pointer;text-align:left;box-shadow:var(--shadow-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;display:flex}.home-view--limited .home-cta{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-sm)}.home-view--limited .home-cta:hover{box-shadow:var(--shadow-md)}.home-cta:hover{background:var(--brand-hover);box-shadow:var(--shadow-lg)}.home-cta:active{box-shadow:var(--shadow-sm);transform:translateY(1px)}.home-cta:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--brand);outline-offset:var(--focus-outline-offset)}.home-cta__icon{background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.home-cta__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-cta__title{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:600;line-height:1}.home-cta__sub{font-size:var(--font-size-sm);opacity:.85}.home-cta__chevron{opacity:.85;align-items:center;display:inline-flex}.home-section{gap:var(--space-2-5);flex-direction:column;display:flex}.home-section__title{font-size:var(--font-size-xl);color:var(--text-primary);margin:0}.home-live-room-card{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;border-radius:16px;display:flex}.home-live-room-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md)}.home-live-room-card:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.home-live-room-card__icon,.home-live-room-card__chevron{color:var(--brand);display:inline-flex}.home-live-room-card__copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-live-room-card__title{font-weight:var(--font-weight-bold)}.home-live-room-card__detail{font-size:var(--font-size-sm);color:var(--text-secondary)}.home-ride-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);background:var(--bg-elevated);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:16px;flex-direction:column;display:flex}.home-ride-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.home-ride-card:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.home-ride-card__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.home-ride-card__date{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-tertiary);flex-wrap:wrap;display:flex}.home-ride-card__go{color:var(--text-tertiary);flex-shrink:0;align-items:center;display:inline-flex}.home-ride-card:hover .home-ride-card__go,.home-ride-card:focus-visible .home-ride-card__go{color:var(--text-secondary)}.home-ride-card__stats{gap:var(--space-2);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.home-ride-card__stat{flex-direction:column;gap:2px;display:flex}.home-ride-card__stat-value{font-family:var(--font-family-display);font-size:var(--font-size-2xl);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.home-ride-card__stat-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.home-ride-card__zones{margin-top:var(--space-1);gap:var(--space-2);flex-direction:column;display:flex}.home-ride-card__zone-bar{background:var(--bg-secondary);border-radius:5px;height:10px;display:flex;overflow:hidden}.home-ride-card__zone-band{height:100%;display:block}.home-ride-card__zone-keys{gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.home-ride-card__zone-key{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;display:inline-flex}.home-ride-card__zone-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.home-view{animation:none}.home-cta,.home-ride-card{transition:none}.home-cta:hover,.home-ride-card:hover{transform:none}}.home-ride-card__demo{padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-sm);background:var(--color-warning-bg);color:var(--text-warning);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}body:is([data-activity-phase=active],[data-activity-phase=paused]){touch-action:pan-x pan-y}body[data-activity-phase=paused] #dataFieldsCarousel{filter:saturate(.35);transition:filter .2s}@media (prefers-reduced-motion:reduce){body[data-activity-phase=paused] #dataFieldsCarousel{transition:none}}#page-activity{background-color:var(--activity-bg,var(--bg-primary));color:var(--activity-text,var(--text-primary));--field-bg:var(--activity-bg,var(--bg-primary));--field-text:var(--activity-text,var(--text-primary))}.activity-start-container{background:var(--bg-primary);width:100%;display:none}.activity-start-container.visible{flex-direction:column;display:flex}.activity-active-container{background:var(--bg-primary);flex-direction:column;flex:1;width:100%;min-height:0;display:none;overflow:hidden}.activity-active-container.visible{display:flex}.activity-active-container bpt-screen-carousel{flex:1;min-height:0}.activity-active-container .metrics-section{border-radius:var(--radius-md)}[data-activity-phase=idle] #time,[data-activity-phase=ready] #time{display:none}.activity-start-container,.activity-active-container{transition:opacity var(--transition-normal)}.activity-start-container.transitioning,.activity-active-container.transitioning{opacity:0}@media (prefers-reduced-motion:reduce){.activity-start-container,.activity-active-container{transition:none}}.history-page-content{padding:var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px) + var(--navbar-height));box-sizing:border-box;flex:1;max-width:100%;min-height:0;overflow:hidden auto}.activity-controls{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.history-actions-menu{margin-left:auto;position:relative}.history-actions-menu summary{list-style:none}.history-actions-menu summary::-webkit-details-marker{display:none}.history-actions-menu summary:after{content:"›";margin-left:var(--space-1);transform:rotate(90deg)}.history-actions-menu[open] summary:after{transform:rotate(-90deg)}.history-actions-menu__popover{top:calc(100% + var(--space-2));z-index:10;min-width:220px;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-lg);position:absolute;right:0}.history-menu-action{width:100%;min-height:var(--touch-target-size);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;font-weight:var(--font-weight-semibold);text-align:left;background:0 0;border:0;display:flex}.history-menu-action--danger{color:var(--text-danger)}.history-menu-action:hover{background:var(--bg-hover)}.history-menu-action:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.activity-control-btn{justify-content:center;align-items:center;gap:var(--space-2);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;display:inline-flex}.activity-control-btn:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.activity-control-btn:active:not(:disabled){transform:translateY(0)}.activity-control-btn:disabled{opacity:.4;cursor:not-allowed;color:var(--text-tertiary)}.activity-list{gap:var(--space-3);flex-direction:column;display:flex}.activity-list.activity-list--empty{display:block}.activity-scroll-sentinel{width:100%;height:1px}.activity-scroll-sentinel--loading{justify-content:center;align-items:center;height:48px;display:flex}.activity-scroll-sentinel--loading:after{content:"";border:3px solid var(--border-default);border-top-color:var(--color-primary-500);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite scroll-spinner}@keyframes scroll-spinner{to{transform:rotate(360deg)}}.activity-scroll-sentinel--hidden{display:none}.activity-loading,.activity-error{text-align:center;padding:var(--space-12) var(--space-6);border-radius:var(--radius-lg);border:2px dashed var(--border-subtle)}.activity-loading{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.activity-error-detail{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-2);line-height:1.6}.activity-error{color:var(--text-danger);border-color:var(--color-error-light);background:var(--color-error-bg)}@media (width>=1024px){.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 (width>=1280px){.activity-list{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.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:hover{border-color:var(--border-default)}.activity-card-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.activity-card-heading{gap:var(--space-0-5);flex-direction:column;min-width:0;display:flex}.activity-demo-badge{background:var(--color-warning-bg);color:var(--color-warning-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:999px;padding:1px 7px}.activity-date{font-family:var(--font-family-display);font-size:var(--font-size-xl);color:var(--text-primary);white-space:nowrap;font-weight:600}.activity-type{font-size:var(--font-size-sm);color:var(--text-secondary);align-items:center;gap:var(--space-1-5);display:inline-flex}.activity-type svg{flex:none}.activity-stats{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(84px,1fr));display:grid}.activity-stat{gap:var(--space-0-5);flex-direction:column;display:flex}.activity-stat-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.activity-stat-value{font-family:var(--font-family-display);font-size:var(--font-size-2xl);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.activity-card-actions{justify-content:flex-start;gap:var(--space-2);padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.activity-view-btn,.activity-delete-btn,.activity-export-btn-card{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);min-height:var(--touch-target-size);border:1px solid #0000;display:inline-flex}.activity-view-btn{color:var(--text-accent);background-color:#0000;margin-right:auto;padding-left:0}.activity-view-btn:hover{text-underline-offset:3px;text-decoration:underline}.activity-export-btn-card{color:var(--text-secondary);background-color:#0000}.activity-export-btn-card:hover{background-color:var(--bg-hover);color:var(--text-primary)}.activity-delete-btn{color:var(--text-danger);background-color:#0000;border-color:#0000}.activity-delete-btn:hover{background-color:var(--color-error-bg);border-color:var(--color-error-light)}@media (width<=400px){.activity-card-actions button svg{display:none}}.page-content.settings-content{max-width:var(--content-wide);gap:var(--space-5);flex:none;width:100%;min-height:auto;display:grid;overflow:visible}@media (width>=768px){.page-content.settings-content{padding:var(--space-6)}}.settings-fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-width:0;padding:var(--space-5);margin-bottom:var(--space-4);box-sizing:border-box;background:var(--bg-elevated);max-width:100%;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-button-row .btn,.settings-button-row .btn svg,.settings-breadcrumb__link svg{flex:none}.settings-content input:focus,.settings-content select:focus,.settings-content textarea:focus{border-color:var(--interactive-default);box-shadow:0 0 0 3px color-mix(in srgb, var(--interactive-default) 15%, transparent);outline:none}.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{box-sizing:border-box;max-width:100%}.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 (width<=768px){.settings-content{padding:var(--space-3)}.settings-fieldset{padding:var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-md)}input[type=number],input[type=text],input[type=password],select,textarea{max-width:100%;font-size:16px!important}}@media (width<=480px){.settings-fieldset{padding:var(--space-3)!important;margin-left:0!important;margin-right:0!important}}.settings-nav-grid{gap:var(--space-6);flex-direction:column;width:100%;max-width:40rem;margin-inline:auto;display:flex}.settings-nav-group{gap:var(--space-2);flex-direction:column;display:flex}.settings-nav-group__title{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.settings-list{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.settings-list>li+li{position:relative}.settings-list>li+li:before{content:"";top:0;right:0;left:calc(var(--space-4) + 22px + var(--space-3));border-top:1px solid var(--border-subtle);position:absolute}.settings-nav-item{align-items:center;gap:var(--space-3);width:100%;min-height:3.75rem;padding:var(--space-3) var(--space-4);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;text-decoration:none;display:flex}.settings-nav-item:hover{background:var(--bg-hover)}.settings-nav-item:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:-2px}.settings-nav-item__icon,.settings-nav-item__chevron{flex:none;display:inline-flex}.settings-nav-item__icon{color:var(--text-secondary)}.settings-nav-item__chevron{color:var(--text-tertiary)}.settings-nav-item__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-nav-item__label{font-weight:var(--font-weight-semibold)}.settings-nav-item__description{font-size:var(--font-size-sm);color:var(--text-secondary)}.settings-breadcrumb{padding:var(--space-2) var(--space-4);background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);margin:0}.settings-breadcrumb__list{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.settings-breadcrumb__link{min-height:var(--touch-target-size);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-1);transition:background var(--transition-fast);background:0 0;border:none;line-height:1.4;display:inline-flex}.settings-breadcrumb__link:hover{background:color-mix(in srgb, var(--interactive-default) 10%, transparent)}.settings-breadcrumb__link:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:var(--focus-outline-offset)}.settings-breadcrumb__separator{display:none}.settings-breadcrumb__current{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;list-style:none;position:absolute;overflow:hidden}.settings-detail-view{animation:.25s ease-out settingsSlideIn}@keyframes settingsSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.settings-form-group{gap:var(--space-4);flex-direction:column;display:flex}.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}.zone-editor{margin-bottom:var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.zone-editor-title{font-size:var(--font-size-xl);color:var(--text-primary);margin:var(--space-4) 0 var(--space-1)}.zone-editor-help{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-3)}.zone-edit-row{grid-template-columns:var(--touch-target-size) 1.75rem minmax(0, 1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);display:grid}.zone-edit-row+.zone-edit-row{border-top:1px solid var(--border-subtle)}.zone-edit-color{width:var(--touch-target-size);height:var(--touch-target-size);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px}.zone-edit-color::-webkit-color-swatch-wrapper{padding:0}.zone-edit-color::-webkit-color-swatch{border:none;border-radius:50%}.zone-edit-color::-moz-color-swatch{border:none;border-radius:50%}.zone-edit-color:focus-visible{outline:var(--focus-outline-width) var(--focus-outline-style) var(--border-focus);outline-offset:-2px}.zone-edit-znum{font-family:var(--font-family-display);font-size:var(--font-size-lg);color:var(--text-secondary);font-weight:600}.zone-edit-name,.zone-edit-input{min-height:var(--touch-target-size);box-sizing:border-box;padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);background:0 0}.zone-edit-name:hover,.zone-edit-input:hover{border-color:var(--border-default)}.zone-edit-name{width:100%;min-width:0;font-size:var(--font-size-base)}.zone-edit-name:focus-visible,.zone-edit-input:focus-visible{border-color:var(--interactive-default);box-shadow:0 0 0 3px color-mix(in srgb, var(--interactive-default) 15%, transparent);outline:none}.zone-edit-name.input-invalid,.zone-edit-input.input-invalid{border-color:var(--color-error-main)}.zone-edit-field{font-size:var(--font-size-base);color:var(--text-secondary);align-items:center;gap:2px;display:inline-flex}.zone-edit-input{width:3.75rem;font-family:var(--font-family-display);font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;text-align:right}.zone-edit-open{padding-right:var(--space-1)}.settings-button-row{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.settings-danger-zone{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-subtle);display:flex}.settings-danger-zone h3,.settings-danger-zone p{margin:0}.settings-danger-zone h3{color:var(--text-primary);font-size:var(--font-size-base)}.settings-danger-zone p{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm)}@media (width<=520px){.settings-danger-zone{flex-direction:column;align-items:stretch}}@media (width>=1024px){.page-content.settings-content{padding:var(--space-8)}.settings-fieldset{padding:var(--space-6)}}@media (width>=1280px){.settings-fieldset{padding:var(--space-8)}}.summary-page{padding:var(--space-4);width:100%;max-width:var(--content-reading);height:100%;margin:0 auto;overflow-y:auto}.summary-metrics{margin-bottom:var(--space-5)}.summary-headline{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.summary-headline .summary-metric{padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md)}.summary-headline .summary-metric-value{font-size:3rem;line-height:1}.summary-grid{column-gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.summary-grid .summary-metric{padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle)}.summary-metric{flex-direction:column;display:flex}.summary-metric-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-1)}.summary-metric-value{font-family:var(--font-family-display);font-variant-numeric:tabular-nums lining-nums;font-size:var(--font-size-2xl);color:var(--text-primary);font-weight:600;line-height:1.1}.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-xl);color:var(--text-primary);margin:0 0 var(--space-3)}.summary-cheers-section{padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.summary-cheers-total,.summary-cheers-from{color:var(--text-secondary);margin:0}.summary-cheers-counts{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.summary-cheer{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:999px;display:inline-flex}.summary-cheer-emoji{font-size:var(--font-size-lg)}.summary-cheer-count{font-weight:var(--font-weight-bold);color:var(--text-primary)}.summary-zones{gap:var(--space-2);flex-direction:column;display:flex}.summary-zone-row{align-items:center;gap:var(--space-2);grid-template-columns:7.5rem 1fr 5.5rem;display:grid}.summary-zone-row--empty .summary-zone-label,.summary-zone-row--empty .summary-zone-time,.summary-zone-row--empty .summary-zone-pct{color:var(--text-tertiary)}.summary-zone-row--empty .summary-zone-bar{opacity:.55}.summary-zone-identity{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.summary-zone-code{color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex:none}.summary-zone-label{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.summary-zone-bar-container{background:var(--bg-tertiary,#8080801a);border-radius:var(--radius-sm);flex:1;height:12px;overflow:hidden}.summary-zone-bar{border-radius:var(--radius-sm);min-width:2px;height:100%;transition:width var(--transition-normal)}.summary-zone-value{justify-content:flex-end;gap:var(--space-2);font-variant-numeric:tabular-nums;display:flex}.summary-zone-time,.summary-zone-pct{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:right}.summary-zone-pct{width:36px}.summary-chart-section{margin-bottom:var(--space-5)}.summary-chart-header{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.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{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);position:relative;overflow:hidden}.summary-chart-svg{width:100%;height:100px;display:block}.summary-chart-y-labels{top:var(--space-2);right:var(--space-2);bottom:var(--space-1);pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute}.summary-chart-y-labels span{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:right;border-radius:var(--radius-sm);background:var(--bg-secondary);padding:2px 4px;line-height:1}.summary-chart-x-labels{margin-top:var(--space-1);padding:0 var(--space-1);justify-content:space-between;display:flex}.summary-chart-x-labels span{font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;line-height:1}.summary-completion{margin-bottom:var(--space-5)}.summary-save-status{margin:0 0 var(--space-1);font-weight:var(--font-weight-semibold);color:var(--text-success)}.summary-save-status--unsaved{color:var(--text-warning)}.summary-export-formats{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.summary-actions{justify-content:center;gap:var(--space-3);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.summary-export-btn{padding:var(--space-3) var(--space-8);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--brand-contrast);background:var(--brand);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);border:none;justify-content:center;align-items:center;display:inline-flex}.summary-export-btn:hover{background:var(--brand-hover);transform:translateY(-1px)}.summary-export-btn:active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.summary-export-btn{transition:none}.summary-export-btn:hover{transform:none}}.summary-done-btn{padding:var(--space-3) var(--space-8);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:0 0;justify-content:center;align-items:center;min-width:160px;display:inline-flex}.summary-done-btn:hover{background:var(--bg-elevated);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.summary-done-btn:active{transform:translateY(0)}@media (width>=1024px){.summary-page{padding:var(--space-6)}.summary-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr)}.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}}@media (width>=1280px){.summary-page{padding:var(--space-8)}.summary-grid{grid-template-columns:repeat(4,1fr)}.summary-chart-svg{height:140px}}.not-found-wrapper{min-height:60vh;padding:var(--space-10) var(--space-5);text-align:center;justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;display:flex}.not-found-icon{font-size:var(--space-20);line-height:1}.not-found-heading{font-size:var(--font-size-5xl);color:var(--text-primary);margin:0}.not-found-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0}.not-found-description{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:400px;margin:0}.not-found-button{margin-top:var(--space-2)}.about-page{padding:var(--space-4) var(--space-5);width:100%;max-width:var(--content-reading);gap:var(--space-4);flex-direction:column;flex:1;margin:0 auto;display:flex;overflow-y:auto}.about-section{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.about-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-3);align-items:center;gap:var(--space-2);display:flex}.about-section-title svg{color:var(--text-secondary);flex:none}.about-section p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.6}.about-section p+p{margin-top:var(--space-3)}.about-section a{color:var(--text-accent);text-decoration:underline}.about-section a:hover{text-decoration:underline}.about-list{padding-left:var(--space-6);color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.6}.about-list li{margin-bottom:var(--space-2)}.about-list li:last-child{margin-bottom:0}.about-button{align-items:center;gap:var(--space-2);min-height:var(--touch-target-size);padding:0 var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;font-weight:600;display:inline-flex}.about-button:hover{background:var(--bg-tertiary)}.about-button:focus-visible{outline:3px solid color-mix(in srgb, var(--interactive-default) 40%, transparent);outline-offset:2px}.about-diagnostics{gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary);flex-direction:column;display:flex}.about-diagnostics[hidden]{display:none}.about-diagnostics textarea{box-sizing:border-box;width:100%;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);resize:vertical}@media (width<=480px){.about-page{padding:var(--space-3) var(--space-4)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{clip:rect(0, 0, 0, 0);white-space:nowrap;background:var(--interactive-default);width:1px;height:1px;color:var(--interactive-contrast);padding:var(--space-2) var(--space-4);z-index:10000;font-weight:var(--font-weight-bold);border-radius:0 0 var(--radius-sm) 0;text-decoration:none;transition:none;position:absolute;top:-100%;left:-100%;overflow:hidden}.skip-link:focus{clip:auto;white-space:normal;outline:3px solid var(--color-warning-main);outline-offset:2px;width:auto;height:auto;position:absolute;top:0;left:0;overflow:visible}: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{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.screen-carousel{scroll-behavior:auto!important}.data-field,[class*=zone-],.data-field__value{transition:none!important}.toast,.notification{animation:none!important;transform:none!important}.modal{transition:none!important;animation:none!important}button,[role=button],.btn{transition:none!important}.card{transition:none!important;transform:none!important}.progress{transition:none!important;animation:none!important}}@media (prefers-contrast:more){:root{--border-focus:CanvasText}:focus-visible{outline-offset:3px;outline:3px solid canvastext!important}button,[role=button],a,.data-field{border:2px solid}.data-field--has-zone{border-width:3px}}@media (pointer:coarse){button,[role=button],a,input[type=checkbox],input[type=radio],.toggle,.sensor-item{min-width:44px;min-height:44px}}.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:100dvh;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);flex-direction:column;display:flex;overflow:hidden}.hidden{display:none!important}@media (orientation:landscape) and (height<=500px){header{min-height:6vh;padding:0 1vw}#mainContent{flex-direction:row}#yourMetricsToolbar{height:auto}dialog.modal.custom-modal{max-height:95vh}.custom-modal-header,.custom-modal-body{padding:var(--space-3) var(--space-4)}}
