@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2) format("woff2-variations")}:root,html[data-theme=dark]{--canvas: #0b1514;--canvas-deep: #07100f;--surface: #111f1d;--surface-elevated: #182925;--surface-soft: #21332e;--text: #f2f0e6;--text-muted: #aebbb4;--text-faint: #778780;--border: #344740;--border-strong: #586c63;--accent: #e9a852;--accent-strong: #ffc16b;--accent-ink: #182017;--link: #f1b968;--focus: #8f744d;--selection: #285c4d;--info: #72b8cc;--warning: #e7b85c;--error: #ff8d7e;--error-surface: #3b201e;--disabled: #6e7b75;--route-run: #ef9b61;--route-ride: #75bda6;--route-walk: #e2c86e;--route-selected: #f8d186;--coverage-zero: #263934;--coverage-low: #3d7262;--coverage-high: #d58f48;--map-control: #14231f;--map-overlay-text: #f8f3df;--status-success: #27734f;--status-success-ink: #fff;--status-error: #a33d35;--status-error-ink: #fff;--status-warning: #e7b85c;--status-warning-ink: #211b0d;--status-info: #2e7287;--status-info-ink: #fff;--status-neutral: #58645f;--status-neutral-ink: #fff;--shadow: 0 1.5rem 5rem rgb(0 0 0 / 38%);--font: "Atkinson Hyperlegible Next", Verdana, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .3rem;--radius: .3rem;--radius-lg: .3rem;--motion-fast: .12s;--motion-dialog: .18s;--ease: cubic-bezier(.2, .8, .2, 1);font-family:var(--font);color:var(--text);background:var(--canvas);font-synthesis:none}html[data-theme=light]{--canvas: #f3f0e7;--canvas-deep: #e8e3d7;--surface: #fbfaf5;--surface-elevated: #fff;--surface-soft: #e4e7dc;--text: #15231f;--text-muted: #52645c;--text-faint: #718079;--border: #c4ccc3;--border-strong: #87978e;--accent: #b86224;--accent-strong: #934719;--accent-ink: #fffaf1;--link: #944715;--focus: #6f7f77;--selection: #bdd9cc;--info: #2e7287;--warning: #966311;--error: #a93227;--error-surface: #f7ddd8;--disabled: #87928d;--route-run: #bc572e;--route-ride: #347765;--route-walk: #927010;--route-selected: #9b4a1c;--coverage-zero: #d4ddd6;--coverage-low: #78aa98;--coverage-high: #b85c27;--map-control: #fbfaf5;--map-overlay-text: #15231f;--shadow: 0 1.5rem 4rem rgb(35 47 41 / 18%)}*,*:before,*:after{box-sizing:border-box}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;margin:-1px!important;padding:0!important;border:0!important;white-space:nowrap!important}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100dvh;overflow-x:clip;margin:0;background:var(--canvas)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:var(--link);text-underline-offset:.2em}p{margin-block:0}h1,h2{text-wrap:balance}::selection{color:var(--text);background:var(--selection)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.public-layout{min-height:100dvh;background:var(--canvas)}.public-story{display:none}.auth-panel{position:relative;min-height:100dvh;display:flex;flex-direction:column;padding:max(var(--space-5),env(safe-area-inset-top)) max(var(--space-5),env(safe-area-inset-right)) max(var(--space-5),env(safe-area-inset-bottom)) max(var(--space-5),env(safe-area-inset-left));overflow:hidden;background:linear-gradient(135deg,transparent 50%,color-mix(in srgb,var(--accent) 7%,transparent) 50%),radial-gradient(circle at 100% 0,color-mix(in srgb,var(--selection) 40%,transparent),transparent 44%),var(--canvas)}.auth-card{width:min(100%,31rem);margin:auto;padding-block:var(--space-10);animation:reveal var(--motion-dialog) var(--ease) both}.auth-card h1{margin:0 0 var(--space-4);max-width:12ch;font-size:clamp(2.4rem,11vw,4.6rem);font-weight:590;line-height:.94;letter-spacing:-.045em}.eyebrow,.kicker{margin:0 0 var(--space-4);color:var(--accent-strong);font-size:.76rem;font-weight:760;letter-spacing:.16em;text-transform:uppercase}.lede{max-width:29rem;color:var(--text-muted);font-size:1.06rem;line-height:1.55}.mobile-brand,.public-brand,.wordmark{display:flex;align-items:center;gap:var(--space-3);color:var(--text);text-decoration:none}.mobile-brand{font-size:.95rem;letter-spacing:.02em}.auth-foot{color:var(--text-faint);font-size:.78rem;letter-spacing:.04em}.mark{position:relative;width:3.25rem;height:3.25rem;flex:0 0 auto;isolation:isolate;contain:paint;transform:translateZ(0);backface-visibility:hidden}.mark span{position:absolute;border:2px solid var(--accent);border-radius:50%}.mark span:nth-child(1){inset:.1rem .8rem 1.1rem .1rem}.mark span:nth-child(2){inset:.9rem .05rem .15rem .9rem;border-color:var(--route-ride)}.mark span:nth-child(3){width:.55rem;height:.55rem;top:0;right:.35rem;border:0;background:var(--accent)}.mark--compact{width:2rem;height:2rem}.mark--compact span{border-width:1.5px}.mark--compact span:nth-child(3){width:.35rem;height:.35rem}.stack{display:grid;gap:var(--space-5);margin-top:var(--space-8)}.field{display:grid;gap:var(--space-2);min-width:0}.field label,.field-label{color:var(--text);font-size:.88rem;font-weight:690;letter-spacing:.025em}.field input,.field select{width:100%;min-height:3rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.68rem .8rem;color:var(--text);background:var(--surface);transition:border-color var(--motion-fast),background var(--motion-fast)}.field input::placeholder{color:var(--text-faint);opacity:1}.field input:hover,.field select:hover{border-color:var(--accent)}.field input:focus-visible,.field select:focus-visible{border-color:var(--focus);background:var(--surface-elevated)}.field input[readonly]{color:var(--text-muted);border-style:dashed;background:var(--canvas-deep);cursor:not-allowed}.field input[aria-invalid=true]{border-color:var(--error)}.field-error{color:var(--error);font-size:.82rem}.field-hint{color:var(--text-faint);font-size:.8rem;line-height:1.4}.field-pair{display:grid;gap:var(--space-5)}.form-options{display:flex;justify-content:flex-end;margin-top:calc(var(--space-2) * -1);font-size:.88rem}.primary,.secondary,.icon-button,.avatar-trigger,.shell-alert button{border:0;border-radius:var(--radius-sm);cursor:pointer}.primary,.secondary{min-height:3rem;padding:.75rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);font-weight:740;text-decoration:none}.primary{color:var(--accent-ink);background:var(--accent)}.primary span{margin-left:auto;font-size:1.35rem;line-height:0}.primary:hover{background:var(--accent-strong)}.secondary{border:1px solid var(--border-strong);color:var(--text);background:var(--surface)}.secondary:hover{border-color:var(--accent)}.primary:disabled,.secondary:disabled{border-color:var(--border-strong);color:var(--text-muted);background:var(--surface-soft);opacity:1;cursor:not-allowed}.link-button{width:100%;margin-top:var(--space-6)}.quiet-link{justify-self:center;min-height:2.75rem;display:inline-flex;align-items:center}.error-summary{display:grid;gap:var(--space-1);border-left:3px solid var(--error);padding:var(--space-3) var(--space-4);color:var(--text);background:var(--error-surface);font-size:.9rem}.error-summary span{color:var(--text-muted)}.success-state{margin-top:var(--space-8);display:grid;justify-items:start;gap:var(--space-4)}.success-state>span{width:3rem;height:3rem;display:grid;place-items:center;border:1px solid var(--route-ride);border-radius:50%;color:var(--route-ride);font-size:1.4rem}.loading-line{margin-top:var(--space-8);color:var(--text-muted)}.center-state{min-height:100dvh;padding:var(--space-6);display:grid;place-content:center;justify-items:center;gap:var(--space-5);text-align:center;background:radial-gradient(circle,var(--surface-soft),transparent 45%),var(--canvas)}.center-state h1{margin:0;font-size:clamp(2rem,7vw,4rem)}.center-state p{max-width:32rem;color:var(--text-muted)}.shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr;background:var(--canvas)}.app-header{position:relative;z-index:10;min-height:4.5rem;display:flex;align-items:center;justify-content:flex-end;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-3),env(safe-area-inset-right)) var(--space-3) max(var(--space-3),env(safe-area-inset-left));border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 91%,transparent)}.wordmark,.app-header nav{display:none}.avatar-trigger{min-width:2.75rem;min-height:2.75rem;padding:0;display:flex;align-items:center;gap:var(--space-2);background:transparent}.avatar-trigger:hover{background:transparent}.avatar-trigger .menu-chevron{margin-top:-.25rem}.avatar-name{display:none}.menu-chevron{color:var(--accent);font-size:1.2rem}.avatar{position:relative;width:2.75rem;height:2.75rem;display:grid;place-items:center;overflow:hidden;border:1px solid var(--accent);border-radius:50%;color:var(--accent-strong);background:var(--surface-soft);font-size:.82rem;font-weight:760}.avatar img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}.explorer-empty{position:relative;min-height:0;display:grid;overflow:hidden;background:linear-gradient(150deg,var(--canvas),var(--canvas-deep))}.route-field{position:absolute;inset:0;opacity:.7}.route-field:before,.route-field:after{content:"";position:absolute;width:58rem;height:58rem;border:1px solid var(--border);border-radius:44% 56% 62% 38%;transform:rotate(24deg)}.route-field:before{top:-31rem;right:-29rem;box-shadow:0 0 0 5rem color-mix(in srgb,var(--border) 25%,transparent),0 0 0 10rem color-mix(in srgb,var(--border) 12%,transparent)}.route-field:after{bottom:-44rem;left:-34rem}.route-line{position:absolute;width:125%;height:55%;left:-18%;top:13%;border:3px solid var(--accent);border-color:transparent transparent var(--accent) var(--accent);border-radius:47%;transform:rotate(-11deg);filter:drop-shadow(0 0 1rem color-mix(in srgb,var(--accent) 25%,transparent))}.route-point{position:absolute;width:.8rem;height:.8rem;border:3px solid var(--canvas);border-radius:50%;background:var(--accent-strong);box-shadow:0 0 0 1px var(--accent)}.route-point.p1{left:15%;top:42%}.route-point.p2{right:25%;top:28%}.route-point.p3{right:9%;top:50%}.empty-copy{position:relative;align-self:end;padding:clamp(2rem,9vw,5rem) max(var(--space-5),env(safe-area-inset-right)) max(var(--space-8),env(safe-area-inset-bottom)) max(var(--space-5),env(safe-area-inset-left));background:linear-gradient(transparent,color-mix(in srgb,var(--canvas-deep) 94%,transparent) 18%)}.empty-copy h1{margin:0 0 var(--space-5);max-width:13ch;font-size:clamp(2.6rem,12vw,6rem);font-weight:520;line-height:.91;letter-spacing:-.055em}.empty-copy>p:not(.eyebrow){max-width:36rem;color:var(--text-muted);font-size:clamp(1rem,3vw,1.18rem);line-height:1.55}.empty-meta{margin-top:var(--space-8);display:grid;gap:var(--space-3);color:var(--text);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.empty-meta span{display:flex;align-items:center;gap:var(--space-3)}.empty-meta b{color:var(--accent);font-variant-numeric:tabular-nums}.empty-meta .muted{color:var(--text-faint)}.menu-content{z-index:40;width:min(18rem,calc(100vw - 2rem));padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface-elevated);box-shadow:var(--shadow);animation:menu-in var(--motion-fast) var(--ease)}.menu-content [role=menuitem],.menu-content [role=menuitemradio]{min-height:2.75rem;display:flex;align-items:center;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;cursor:default;-webkit-user-select:none;user-select:none;transition:color var(--motion-fast),background var(--motion-fast)}.menu-content [role=menuitem][data-highlighted],.menu-content [role=menuitemradio][data-highlighted]{color:var(--accent-ink);background:var(--accent)}.menu-content [role=menuitem][data-disabled]{color:var(--disabled);pointer-events:none}.menu-content [role=menuitem].danger-item{color:var(--error)}.menu-content [role=menuitem].danger-item[data-highlighted]{color:var(--surface-elevated);background:var(--error)}.menu-content [role=separator]{height:1px;margin:var(--space-2);background:var(--border)}.menu-content [role=menuitem]+[role=menuitem]{margin-top:1px}.account-menu-label{min-height:2.75rem;display:flex;align-items:center;padding:var(--space-2) var(--space-3);color:var(--accent-strong);font-size:.9rem;font-weight:720}.dialog-overlay{position:fixed;inset:0;z-index:50;background:#020807bd;animation:fade-in var(--motion-dialog) var(--ease)}.dialog-content{position:fixed;z-index:51;left:50%;top:50%;width:min(35rem,calc(100vw - 2rem));max-height:min(46rem,calc(100dvh - 2rem));overflow:auto;transform:translate(-50%,-50%);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:clamp(1.25rem,5vw,2rem);color:var(--text);background:var(--surface-elevated);box-shadow:var(--shadow);animation:dialog-in var(--motion-dialog) var(--ease)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.dialog-heading h2{margin:0;font-size:clamp(1.6rem,5vw,2.25rem);font-weight:620;letter-spacing:-.025em}.dialog-heading p{margin-top:var(--space-2);color:var(--text-muted);line-height:1.45}.icon-button{width:2.75rem;height:2.75rem;flex:0 0 auto;color:var(--text-muted);background:var(--surface-soft);font-size:1.5rem}.icon-button:hover{color:var(--text)}.about-copy{padding-top:var(--space-8);display:grid;gap:var(--space-5);color:var(--text-muted);line-height:1.6}.about-copy .version{padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--text-faint);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.preferences-dialog{width:min(52rem,calc(100vw - 1rem));height:min(46rem,calc(100dvh - 1rem));max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:0}.preferences-header{padding:clamp(1.25rem,5vw,2rem);border-bottom:1px solid var(--border)}.preferences-form{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.preferences-body{min-height:0;display:grid;align-content:start;gap:var(--space-8);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:clamp(1.25rem,5vw,2rem)}.preferences-form fieldset{margin:0;padding:0;border:0}.preferences-form legend{width:100%;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);color:var(--accent-strong);font-weight:720}.settings-grid{display:grid;gap:var(--space-5)}.checkbox-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.field .checkbox-option{min-height:2.75rem;display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--surface);font-size:.86rem;font-weight:560;letter-spacing:0;cursor:pointer}.field .checkbox-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.field .checkbox-option:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--focus) 72%,transparent);outline-offset:1px}.field .checkbox-option input{appearance:auto;width:1rem;height:1rem;min-height:0;flex:0 0 auto;margin:0;padding:0;accent-color:var(--accent);box-shadow:none}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--border);padding:var(--space-4) clamp(1.25rem,5vw,2rem) max(var(--space-4),env(safe-area-inset-bottom));background:var(--surface-elevated)}.shell-alert{position:fixed;z-index:30;top:5rem;right:var(--space-4);left:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border:1px solid var(--error);border-radius:var(--radius);padding:var(--space-3) var(--space-4);color:var(--text);background:var(--error-surface);box-shadow:var(--shadow)}.shell-alert button{min-width:2.75rem;min-height:2.75rem;background:transparent;font-size:1.3rem}.map-page{min-width:0;min-height:calc(100dvh - 4.5rem);display:grid;background:var(--canvas-deep)}.map-sidebar{display:none}.map-stage{position:relative;min-width:0;min-height:calc(100dvh - 4.5rem);overflow:hidden;background:radial-gradient(circle at 50% 42%,var(--surface-soft),var(--canvas-deep) 70%)}.map-stage>.map-canvas.maplibregl-map{position:absolute;inset:0;width:100%;height:100%}.map-canvas .maplibregl-canvas:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.map-canvas .maplibregl-ctrl-top-right{margin:var(--space-3)}.map-canvas .maplibregl-ctrl-group{display:grid;gap:var(--space-2);overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.map-canvas .maplibregl-ctrl-group button{position:relative;width:2.65rem;height:2.65rem;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;color:var(--accent);background:var(--map-control);box-shadow:var(--shadow)}.map-canvas .maplibregl-ctrl-group button+button{border-top:1px solid var(--border-strong)}.map-canvas .maplibregl-ctrl-group button:not(:disabled),.map-canvas .maplibregl-ctrl-group button:not(:disabled):hover,.map-canvas .maplibregl-ctrl-group button:not(:disabled):active,.map-canvas .maplibregl-ctrl-group button:not(:disabled):focus{background-color:var(--map-control)!important}.map-canvas .maplibregl-ctrl-group button:hover{border-color:var(--accent)}.map-canvas .maplibregl-ctrl-group button:hover,.map-canvas .maplibregl-ctrl-group button:active,.map-canvas .maplibregl-ctrl-group button:focus,.map-canvas .maplibregl-ctrl-group button:first-child,.map-canvas .maplibregl-ctrl-group button:last-child{border-radius:50%!important}.map-canvas .maplibregl-ctrl-group button:focus{outline:0}.map-canvas .maplibregl-ctrl-group button:focus-visible{border-color:var(--focus);outline:0;box-shadow:var(--shadow),0 0 0 3px color-mix(in srgb,var(--focus) 55%,transparent)}.map-canvas .maplibregl-ctrl-group .maplibregl-ctrl-icon{background-image:none!important}.map-canvas .maplibregl-ctrl-zoom-in:before,.map-canvas .maplibregl-ctrl-zoom-out:before{position:absolute;inset:0;display:grid;place-items:center;transform:translateY(-3px);color:var(--accent);font-size:1.55rem;font-weight:850;line-height:1}.map-canvas .maplibregl-ctrl-zoom-in:before{content:"+"}.map-canvas .maplibregl-ctrl-zoom-out:before{content:"−"}.map-state{position:absolute;z-index:2;inset:0;display:grid;place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--text-muted);text-align:center}.map-state strong{color:var(--text);font-size:1.15rem}.map-state--error strong{color:var(--error)}.map-loader{width:2.5rem;height:2.5rem;border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:map-spin .9s linear infinite}.map-banner{position:absolute;z-index:4;top:var(--space-3);left:50%;width:min(36rem,calc(100% - 2rem));transform:translate(-50%);border-left:3px solid var(--warning);padding:var(--space-3);color:var(--text);background:var(--surface-elevated);box-shadow:var(--shadow);font-size:.85rem}.map-attribution{position:absolute;z-index:3;right:var(--space-2);bottom:calc(4rem + env(safe-area-inset-bottom));max-width:calc(100% - 1rem);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.2rem .55rem;border:1px solid color-mix(in srgb,var(--border-strong) 70%,transparent);border-radius:.3rem;padding:.25rem .4rem;color:var(--text-muted);background:color-mix(in srgb,var(--map-control) 88%,transparent);font-size:.67rem;line-height:1.25}.map-attribution a{color:inherit}.mobile-map-sheet-trigger{position:absolute;z-index:7;right:var(--space-3);bottom:max(var(--space-3),env(safe-area-inset-bottom));min-height:2.9rem;border:1px solid var(--accent);border-radius:var(--radius);padding:.65rem .9rem;color:var(--accent-ink);background:var(--accent);box-shadow:var(--shadow);font-weight:740;cursor:pointer}.map-sheet-overlay{position:fixed;z-index:45;inset:0;background:#00000057}.mobile-map-sheet{position:fixed;z-index:46;right:0;bottom:0;left:0;max-height:min(75dvh,42rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0;padding:var(--space-3) var(--space-4) max(var(--space-5),env(safe-area-inset-bottom));color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 97%,transparent);box-shadow:0 -1rem 3rem #00000052}.mobile-sheet-handle{width:3rem;height:.22rem;margin:0 auto var(--space-4);border-radius:99px;background:var(--border-strong)}.mobile-sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.mobile-sheet-heading h2{margin:0;color:var(--text);font-size:1.15rem;letter-spacing:-.015em;text-transform:none}.mobile-sheet-heading p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.82rem}.map-controls{min-height:0;display:grid;gap:var(--space-3)}.map-workout-filter{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0}.map-workout-filter legend{padding-inline:var(--space-1);color:var(--text-muted);font-size:.7rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase}.map-filter-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.map-filter-actions button{width:3.75rem;min-height:2rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding-inline:var(--space-2);color:var(--text);background:var(--surface);cursor:pointer}.map-filter-actions button:hover{border-color:var(--accent)}.map-filter-options{min-height:0;overflow-y:auto;scrollbar-gutter:stable}.map-routes-empty{padding:var(--space-5) var(--space-2);color:var(--text-muted);font-size:.82rem;text-align:center}.map-fit-button{min-height:2.8rem}.map-route-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.map-route-list li{min-width:0;min-height:2.5rem;display:grid;grid-template-columns:2.3rem minmax(0,1fr);align-items:stretch;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);background:transparent;cursor:pointer}.map-route-list li.is-hovered,.map-route-list li.is-focused{border-color:#c026ff;background:color-mix(in srgb,#c026ff 12%,var(--surface))}.map-route-toggle{min-width:2.3rem;display:grid;place-items:center;border-radius:var(--radius-sm) 0 0 var(--radius-sm);cursor:pointer}.map-route-toggle:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:-3px}.map-route-toggle input{width:1rem;height:1rem;min-height:0;margin:0;accent-color:var(--accent);cursor:pointer}.map-route-focus{min-width:0;min-height:2.4rem;display:grid;grid-template-columns:1.15rem minmax(0,1fr) auto;align-items:center;gap:var(--space-2);border:0;padding:.25rem var(--space-2) .25rem 0;color:inherit;text-align:left;background:transparent;cursor:pointer}.map-route-type{overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.map-route-list small{color:var(--text-muted);font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}.route-swatch{width:1.05rem;height:.2rem;border-radius:99px}.route-swatch--0{background:#ef9b61}.route-swatch--1{background:#75bda6}.route-swatch--2{background:#e2c86e}.route-swatch--3{background:#68a9df}.route-swatch--4{background:#e07a9a}.route-swatch--5{background:#9f91df}.route-swatch--6{background:#69c3c8}.route-swatch--7{background:#d7a65c}.route-swatch--walk{background:#43d5e5}.route-swatch--hiking{background:#8ed081}.route-swatch--cycling{background:#69aef5}.map-route-popup{max-width:calc(100vw - 2rem)!important;margin-left:1px}.map-route-popup .maplibregl-popup-content{width:max-content;max-width:calc(100vw - 2rem);overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .75rem;color:var(--text);background:var(--surface-elevated);box-shadow:var(--shadow);font-size:.72rem;line-height:1.35}.map-route-popup .maplibregl-popup-tip{border-top-color:var(--surface-elevated);border-bottom-color:var(--surface-elevated)}.map-route-tooltip{width:max-content;display:grid;grid-template-columns:max-content max-content;column-gap:var(--space-6);row-gap:.15rem;white-space:nowrap}.map-route-tooltip-distance,.map-route-tooltip-times{justify-self:end}.map-route-tooltip-date,.map-route-tooltip-times{color:var(--text-muted);font-weight:400;font-variant-numeric:tabular-nums}@keyframes map-spin{to{transform:rotate(360deg)}}.summary-page{position:relative;min-width:0;overflow:visible;padding:var(--summary-inset) max(var(--space-4),env(safe-area-inset-right)) max(var(--summary-inset),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:linear-gradient(90deg,color-mix(in srgb,var(--border) 16%,transparent) 1px,transparent 1px) 0 0 / 2.25rem 2.25rem,linear-gradient(color-mix(in srgb,var(--border) 16%,transparent) 1px,transparent 1px) 0 0 / 2.25rem 2.25rem,radial-gradient(circle at 86% 8%,color-mix(in srgb,var(--route-ride) 14%,transparent),transparent 28rem),linear-gradient(145deg,var(--canvas),var(--canvas-deep))}.summary-contours{position:absolute;width:34rem;height:34rem;top:-20rem;right:-18rem;border:1px solid var(--border);border-radius:43% 57% 61% 39%;box-shadow:0 0 0 3rem color-mix(in srgb,var(--border) 22%,transparent),0 0 0 6rem color-mix(in srgb,var(--border) 10%,transparent);transform:rotate(18deg);pointer-events:none}.summary-heading,.aggregate-section,.workouts-section,.summary-notice{position:relative;width:min(100%,90rem);margin-inline:auto}.summary-heading{display:flex;justify-content:flex-end}.range-trigger{min-height:3.4rem;width:100%;display:grid;grid-template-columns:1fr auto;gap:0 var(--space-3);align-items:center;border:1px solid var(--border-strong);border-radius:var(--radius);padding:.55rem .75rem;color:var(--text);text-align:left;background:color-mix(in srgb,var(--surface-elevated) 92%,transparent);cursor:pointer}.range-trigger>span:first-child{grid-column:1;color:var(--text-faint);font-size:.68rem;font-weight:740;letter-spacing:.11em;text-transform:uppercase}.range-trigger strong{grid-column:1;font-size:.94rem}.range-trigger>span:last-child{grid-column:2;grid-row:1 / 3;color:var(--accent);font-size:1.2rem}.range-menu [role=menuitem]{justify-content:space-between}.range-menu [role=menuitem] span{margin-left:var(--space-6)}.summary-notice{margin-bottom:var(--space-4);border-left:3px solid var(--warning);padding:var(--space-3) var(--space-4);color:var(--text);background:color-mix(in srgb,var(--warning) 10%,var(--surface));font-size:.88rem}.summary-notice+.aggregate-section{margin-top:0}.custom-range-form{display:grid;gap:var(--space-5);margin-top:var(--space-6)}.custom-range-form .dialog-actions{margin:var(--space-2) calc(clamp(1.25rem,5vw,2rem)*-1) calc(clamp(1.25rem,5vw,2rem)*-1)}.aggregate-section,.workouts-section{margin-top:var(--summary-inset)}.section-line{min-height:2.25rem;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-5);border-bottom:1px solid var(--border-strong);margin-bottom:var(--space-4);padding-bottom:var(--space-2)}.section-line h2{margin:0;font-size:.78rem;font-weight:780;letter-spacing:.13em;text-transform:uppercase}.section-line>span{color:var(--text-faint);font-size:.76rem;font-variant-numeric:tabular-nums}.section-line>.range-metadata{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.aggregate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);transition:opacity var(--motion-fast)}.aggregate-card{position:relative;min-width:0}.aggregate-card>button{width:100%;min-height:7.25rem;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);color:var(--text);text-align:left;background:color-mix(in srgb,var(--surface) 94%,transparent);cursor:pointer}.aggregate-card>button:hover{border-color:var(--accent);background:var(--surface-elevated)}.aggregate-card>button>span{color:var(--text-muted);font-size:.72rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.aggregate-card strong{overflow:hidden;max-width:100%;margin-block:auto;font-size:clamp(1.35rem,7vw,2.4rem);font-weight:570;line-height:1;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.aggregate-card small{width:100%;display:flex;justify-content:space-between;color:var(--text-faint);font-size:.67rem}.aggregate-card small span{color:var(--accent)}.aggregate-breakdown{position:static;z-index:8;display:none;max-height:min(16rem,50dvh);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border-strong);border-top:0;border-radius:0 0 var(--radius) var(--radius);padding:var(--space-2);color:var(--text);background:var(--surface-elevated);scrollbar-gutter:stable}.aggregate-card.is-visible .aggregate-breakdown{display:block;visibility:visible;opacity:1;transform:none}.aggregate-breakdown>span{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2);border-bottom:1px solid var(--border);font-size:.78rem}.aggregate-breakdown>span:last-child{border-bottom:0}.aggregate-breakdown b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aggregate-breakdown em{flex:0 0 auto;color:var(--text-muted);font-style:normal;font-variant-numeric:tabular-nums}.summary-loading,.summary-empty,.summary-query-error{min-height:8rem;display:grid;place-content:center;justify-items:center;gap:var(--space-3);border:1px dashed var(--border-strong);padding:var(--space-5);color:var(--text-muted);text-align:center;background:color-mix(in srgb,var(--surface) 72%,transparent)}.summary-empty strong{color:var(--text);font-size:1.1rem}.summary-empty span{max-width:30rem}.summary-query-error{border-color:var(--error)}.summary-query-error .secondary{min-height:2.5rem}.is-refetching{opacity:.58}.workout-table-wrap{display:none;overflow:visible;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 94%,transparent)}.workout-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border-radius:inherit;font-size:.82rem;font-variant-numeric:tabular-nums}.workout-table th{border-bottom:1px solid var(--border-strong);color:var(--text-muted);text-align:left;white-space:nowrap;background-clip:padding-box}.workout-table th:first-child,.workout-table th:first-child button{border-start-start-radius:var(--radius)}.workout-table th:last-child,.workout-table th:last-child button{border-start-end-radius:var(--radius)}.workout-table th button{width:100%;min-height:2.75rem;display:flex;align-items:center;border:0;border-radius:inherit;padding:var(--space-2) var(--space-3);color:inherit;text-align:left;background:transparent;cursor:pointer}.column-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.sort-indicator{width:2.5em;flex:0 0 2.5em;display:inline-block;margin-left:.4em;white-space:pre}.workout-table th[aria-sort=ascending],.workout-table th[aria-sort=descending]{color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 7%,transparent)}.workout-table th button:hover{color:var(--text);background:var(--surface-soft)}.workout-table td{min-width:0;border-bottom:1px solid var(--border);padding:var(--space-3);color:var(--text);vertical-align:middle;white-space:nowrap;background-clip:padding-box}.workout-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-cell--date,.workout-cell--duration{overflow:visible}.workout-cell--date .workout-date{width:100%;max-width:100%}.workout-table tbody tr:last-child td{border-bottom:0}.workout-table tbody tr:last-child td:first-child{border-end-start-radius:var(--radius)}.workout-table tbody tr:last-child td:last-child{border-end-end-radius:var(--radius)}.workout-table tbody tr:hover td{background:color-mix(in srgb,var(--route-ride) 7%,transparent)}.workout-actions-col{width:3.25rem}.workout-actions-heading,.workout-actions-cell{width:3.25rem;padding:.25rem!important;text-align:center!important}.workout-action-trigger{width:2.75rem;height:2.75rem;display:inline-grid;place-items:center;border:0;border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;cursor:pointer;font-size:1rem;font-weight:760;letter-spacing:.08em}.workout-action-trigger:hover,.workout-action-trigger[data-state=open]{color:var(--text);background:var(--surface-soft)}.workout-action-menu{min-width:12rem}.summary-export-error{border-color:var(--error);color:var(--error)}.deletion-dialog>p{margin-top:var(--space-4);color:var(--text-muted);line-height:1.55}.single-deletion-dialog{--deletion-inset: clamp(1.25rem, 5vw, 2rem);padding-bottom:0}.single-deletion-dialog>.deletion-confirmation-message{margin-top:var(--space-5);padding-bottom:var(--space-5)}.single-deletion-dialog>.error-summary{margin-bottom:var(--space-5)}.single-deletion-dialog>.dialog-actions{margin-inline:calc(var(--deletion-inset) * -1);padding:var(--space-5) var(--deletion-inset) var(--deletion-inset)}.single-deletion-dialog>.dialog-actions>button{flex:0 0 6.5rem}.danger-action{min-height:2.75rem;border:1px solid var(--error);border-radius:var(--radius-sm);padding:.55rem 1rem;color:var(--canvas);background:var(--error);cursor:pointer;font:inherit;font-weight:760}.danger-action:disabled{border-color:var(--border-strong);color:var(--text-muted);background:var(--surface-soft);opacity:1;cursor:not-allowed}.range-confirmation{margin:0;padding-bottom:var(--space-5)}.workout-log-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.range-delete-trigger{width:2.75rem;min-height:2.75rem;display:grid;place-items:center;border:0;padding:0;color:var(--error);background:transparent;cursor:pointer;font-size:1.8em}.range-delete-trigger:hover{color:color-mix(in srgb,var(--error) 82%,var(--text))}.range-delete-trigger svg{width:1em;height:1em}.workout-date{min-width:0;display:inline-flex;align-items:center;gap:.38rem;white-space:nowrap;font-variant-numeric:tabular-nums}.weekday-badge,.timezone-badge>.tooltip-trigger{flex:0 0 auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.12rem .3rem;font-size:.66rem;font-weight:740;line-height:1.2;letter-spacing:.035em}.weekday-badge{color:var(--accent-strong);text-transform:uppercase;background:color-mix(in srgb,var(--accent) 8%,transparent)}.timezone-badge>.tooltip-trigger{color:var(--text-muted);background:var(--surface-soft)}.local-date-time{min-width:0;overflow:hidden;font-weight:560;text-overflow:ellipsis}.duration-value{font-variant-numeric:tabular-nums}.duration-value[title]{cursor:help}.tooltip{position:relative;min-width:0;display:inline-flex}.tooltip-trigger{cursor:help}.tooltip-content{position:absolute;z-index:20;left:0;bottom:calc(100% + .4rem);width:max-content;max-width:min(18rem,calc(100vw - 2rem));visibility:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.35rem .5rem;color:var(--text);background:var(--surface-elevated);box-shadow:var(--shadow);opacity:0;font-size:.72rem;font-weight:560;line-height:1.35;white-space:normal;pointer-events:none;transition:opacity var(--motion-fast),visibility 0s}.tooltip-trigger:hover+.tooltip-content,.tooltip-trigger:focus-visible+.tooltip-content{visibility:visible;opacity:1;transition-delay:.75s}.info-tip.is-open>.tooltip-content{visibility:visible;opacity:1;transition-delay:0s}.info-tip.is-dismissed>.tooltip-content{visibility:hidden;opacity:0;transition-delay:0s}.aggregate-value-tooltip{left:var(--space-3);bottom:calc(100% + .4rem)}.aggregate-card>button:hover+.aggregate-value-tooltip,.aggregate-card>button:focus-visible+.aggregate-value-tooltip{visibility:visible;opacity:1;transition-delay:.75s}.unavailable{color:var(--text-muted);font-style:italic}.mobile-workouts{display:grid;gap:var(--space-2)}.mobile-workout{min-width:0;max-width:100%;overflow:visible;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 94%,transparent)}.mobile-workout-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.mobile-workout-summary>button:first-child{min-width:0;min-height:4.25rem;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(3.75rem,.65fr) auto;align-items:center;gap:var(--space-2);border:0;border-radius:var(--radius-sm);padding:var(--space-3);color:var(--text);text-align:left;background:transparent;cursor:pointer;font-size:.78rem;font-variant-numeric:tabular-nums}.mobile-workout-summary .workout-action-trigger{align-self:center;margin-right:var(--space-1)}.mobile-workout.is-expanded .mobile-workout-summary{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.mobile-workout-summary>button:first-child>*{min-width:0}.mobile-workout-summary>button:first-child>.workout-date{width:100%;overflow:visible}.mobile-workout-summary>button:first-child strong,.mobile-workout-details dd,.mobile-workout-details p{overflow-wrap:anywhere;word-break:break-word}.mobile-workout-summary>button:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-workout-summary>button:first-child:hover{background:var(--surface-soft)}.mobile-workout-summary>button:first-child>.duration-value{text-align:right;white-space:nowrap}.mobile-workout-details{border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:var(--space-3);background:var(--canvas-deep)}.mobile-workout-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0}.mobile-workout-details dl div{min-width:0}.mobile-workout-details dt{color:var(--text-faint);font-size:.68rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.mobile-workout-details dd{margin:var(--space-1) 0 0;font-size:.82rem;font-variant-numeric:tabular-nums}.mobile-workout-details dd{white-space:normal}.mobile-workout-details .workout-date{max-width:100%;display:flex;flex-wrap:wrap;font-size:.74rem;white-space:normal}.mobile-workout-details .local-date-time{overflow:visible;text-overflow:clip;white-space:normal}.mobile-workout-details .tooltip-content{right:0;left:auto}.mobile-workout-details p{margin-top:var(--space-4);color:var(--text-muted);font-size:.75rem}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.pagination .secondary{min-height:2.75rem}.pagination .secondary:last-child{justify-self:stretch}.pagination span{color:var(--text-muted);font-size:.76rem;white-space:nowrap;font-variant-numeric:tabular-nums}.provenance-dialog{--provenance-inset: clamp(1.25rem, 5vw, 2rem);width:min(42rem,calc(100vw - 2rem));max-height:min(48rem,calc(100dvh - 2rem));display:flex;flex-direction:column;overflow:hidden;padding:0}.provenance-dialog-header{flex:0 0 auto;padding:var(--provenance-inset)}.provenance-dialog-body{min-height:0;flex:1 1 auto;overflow-y:auto;margin:0 var(--provenance-inset) var(--provenance-inset);padding-right:var(--space-2);overscroll-behavior:contain;scrollbar-gutter:stable}.provenance-state{min-height:8rem;display:grid;place-items:center;color:var(--text-muted)}.provenance-timeline{display:grid;gap:0;margin:0;padding:.25rem .25rem 0 .15rem;list-style:none;counter-reset:provenance-event}.provenance-timeline>li{position:relative;margin-left:.65rem;border-left:2px solid var(--border-strong);padding:0 0 var(--space-5) var(--space-5);counter-increment:provenance-event}.provenance-timeline>li:last-child{padding-bottom:0}.provenance-timeline>li:before{content:counter(provenance-event);position:absolute;top:-.15rem;left:-.8rem;width:1.5rem;height:1.5rem;display:grid;place-items:center;border:2px solid var(--accent);border-radius:50%;color:var(--canvas);background:var(--accent);font-size:.68rem;font-weight:800}.provenance-event-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.provenance-event-heading strong{font-size:1rem}.provenance-event-heading time{margin-right:.5rem;color:var(--text-muted);font-size:.76rem;font-variant-numeric:tabular-nums}.provenance-timeline dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:var(--space-3) 0 0}.provenance-timeline dl div{min-width:0}.provenance-timeline dt{color:var(--text-faint);font-size:.66rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.provenance-timeline dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-size:.8rem}.provenance-timeline code{font-size:.7rem}.provenance-warnings{margin-top:var(--space-3);border-left:3px solid var(--warning);padding:var(--space-2) var(--space-3);color:var(--text-muted);background:color-mix(in srgb,var(--warning) 7%,transparent);font-size:.76rem}.provenance-warnings strong{color:var(--warning)}.provenance-warnings ul{margin:var(--space-1) 0 0;padding-left:1.1rem}.data-sync-page{position:relative;min-width:0;overflow:visible;padding:var(--space-5) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-8),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:linear-gradient(90deg,color-mix(in srgb,var(--border) 16%,transparent) 1px,transparent 1px) 0 0 / 2.25rem 2.25rem,linear-gradient(color-mix(in srgb,var(--border) 16%,transparent) 1px,transparent 1px) 0 0 / 2.25rem 2.25rem,radial-gradient(circle at 85% 5%,color-mix(in srgb,var(--route-ride) 14%,transparent),transparent 30rem),linear-gradient(145deg,var(--canvas),var(--canvas-deep))}.sync-operational-grid,.detail-region,.history-section,.sync-notification,.sync-inline-error,.mobile-back{position:relative;width:min(100%,90rem);margin-inline:auto}.mobile-back{min-height:2.75rem;display:inline-flex;align-items:center;margin-bottom:var(--space-2);font-size:.86rem}.sync-operational-grid{display:grid;gap:var(--space-4)}.sync-card,.history-section{min-width:0;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--text) 5%,transparent)}.sync-card-heading,.history-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border-strong);padding-bottom:var(--space-3)}.sync-card-heading h2,.history-heading h2{margin:0;font-size:1.35rem;font-weight:640;letter-spacing:-.02em}.card-kicker{margin-bottom:var(--space-1);color:var(--accent-strong);font-size:.68rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase}.manual-card form{display:grid;gap:var(--space-5);margin-top:var(--space-5)}.manual-card fieldset{min-width:0;margin:0;padding:0;border:0}.manual-card legend{margin-bottom:var(--space-3);font-size:.86rem;font-weight:720}.select-all{min-height:2.75rem;margin:calc(var(--space-2) * -1) 0 var(--space-2);border:0;padding-inline:0;color:var(--link);text-decoration:underline;text-underline-offset:.2em;background:transparent;cursor:pointer}.sync-source-options,.sync-radio-options{display:grid;gap:var(--space-2)}.sync-source-option,.sync-radio-options label{min-width:0;min-height:3.4rem;display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--canvas-deep);cursor:pointer}.sync-source-option:has(input:checked),.sync-radio-options label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.sync-source-option:has(input:disabled){color:var(--text-faint);border-style:dashed;cursor:not-allowed}.sync-source-option input,.sync-radio-options input{width:1.1rem;height:1.1rem;flex:0 0 auto;accent-color:var(--accent)}.sync-source-option span,.sync-radio-options span{min-width:0;display:grid;gap:.15rem}.sync-source-option strong,.sync-radio-options strong{overflow-wrap:anywhere}.sync-source-option small,.sync-radio-options small{color:var(--text-muted);font-size:.76rem;line-height:1.3}.manual-card .primary{width:100%}.schedule-state,.stale-flag{border:1px solid var(--border-strong);border-radius:999px;padding:.2rem .5rem;color:var(--text-muted);font-size:.72rem;font-weight:720}.schedule-state--enabled{color:var(--status-success-ink);border-color:var(--status-success);background:var(--status-success)}.schedule-state--disabled{color:var(--status-neutral-ink);border-color:var(--status-neutral);background:var(--status-neutral)}.schedule-details,.job-metadata,.result-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:var(--space-5) 0}.schedule-details div,.job-metadata div,.result-counts div{min-width:0}.schedule-details dt,.job-metadata dt,.result-counts dt,.freshness-list dt,.sync-history-cards dt{color:var(--text-faint);font-size:.68rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.schedule-details dt{position:relative;width:100%;min-height:2.75rem;display:inline-flex;align-items:center;gap:.05rem;margin-block:-.9rem -.65rem}.schedule-details .info-tip{position:static}.schedule-details .tooltip-content{max-width:min(18.2rem,calc(100vw - 4rem));overflow-wrap:anywhere;text-transform:none;letter-spacing:normal}.info-tip>button{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:0;padding:0;color:var(--text-muted);background:transparent;cursor:help}.info-tip>button>span{width:.85rem;height:.85rem;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.55rem;font-weight:780;line-height:1}.schedule-details>div:nth-child(2n) .tooltip-content{right:0;left:auto}.next-run-value{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.schedule-details dd,.job-metadata dd,.result-counts dd,.freshness-list dd,.sync-history-cards dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.freshness-list{display:grid;gap:var(--space-2)}.freshness-list>article{border-left:3px solid var(--route-ride);padding:var(--space-3);background:var(--canvas-deep)}.freshness-list>article.is-stale{border-left-color:var(--warning)}.freshness-list article>div{display:flex;justify-content:space-between;gap:var(--space-2)}.freshness-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:var(--space-3) 0 0}.freshness-list p{margin-top:var(--space-3);color:var(--warning);font-size:.8rem;line-height:1.4}.stale-flag{color:var(--warning);border-color:var(--warning)}.sync-notification{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);border:1px solid var(--info);border-left-width:4px;border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:var(--surface-elevated)}.sync-notification--warning{border-color:var(--warning)}.sync-notification--error{border-color:var(--error)}.sync-notification p{margin-top:var(--space-1);color:var(--text-muted);line-height:1.4}.sync-notification small{display:block;margin-top:var(--space-2);color:var(--text-faint)}.sync-notification .secondary{min-height:2.75rem;flex:0 0 auto}.notification-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.notification-truncation{position:relative;width:min(100%,90rem);margin:calc(var(--space-1) * -1) auto var(--space-3);color:var(--text-faint);font-size:.78rem;text-align:right}.sync-inline-error{margin-bottom:var(--space-3);color:var(--error)}.detail-region,.history-section{margin-top:var(--space-5)}.detail-region:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.sync-status{display:inline-flex;align-items:center;min-height:1.7rem;border:1px solid var(--border-strong);border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:740;white-space:nowrap}.sync-status--running,.sync-status--queued{color:var(--status-info-ink);border-color:var(--status-info);background:var(--status-info)}.sync-status--succeeded{color:var(--status-success-ink);border-color:var(--status-success);background:var(--status-success)}.sync-status--partially_succeeded,.sync-status--cancellation{color:var(--status-warning-ink);border-color:var(--status-warning);background:var(--status-warning)}.sync-status--failed{color:var(--status-error-ink);border-color:var(--status-error);background:var(--status-error)}.sync-status--cancelled{color:var(--status-neutral-ink);border-color:var(--status-neutral);background:var(--status-neutral)}.sync-progress{display:grid;gap:var(--space-2);margin-block:var(--space-4);color:var(--text-muted);font-size:.8rem}.sync-progress progress{width:100%;height:.65rem;accent-color:var(--accent)}.sync-progress--unknown{border-left:2px solid var(--info);padding-left:var(--space-3)}.result-counts{grid-template-columns:repeat(3,minmax(0,1fr));margin-block:var(--space-4);border-block:1px solid var(--border);padding-block:var(--space-4)}.result-counts dd{font-size:1.15rem;font-weight:650}.sync-no-data{margin-block:var(--space-4);color:var(--text-muted);font-style:italic}.failure-copy{overflow-wrap:anywhere;border-left:3px solid var(--error);padding:var(--space-2) var(--space-3);color:var(--text-muted);background:var(--error-surface);line-height:1.4}.source-runs{margin-top:var(--space-6);margin-bottom:-2rem}.source-runs h3{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.source-run{display:grid;gap:var(--space-1);border-top:1px solid var(--border);padding-block:var(--space-4)}.source-run-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.source-run-heading>div{min-width:0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem;overflow-wrap:anywhere}.source-run-heading strong{line-height:1.2}.source-run-heading span:not(.sync-status){color:var(--text-muted);font-size:.76rem;line-height:1.2}.job-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.danger-button{color:var(--error);border-color:var(--error)}.artifact-group{margin-top:var(--space-6);border-top:1px solid var(--border-strong)}.artifact-disclosure{border-bottom:1px solid var(--border)}.artifact-trigger{width:100%;min-height:3rem;display:flex;align-items:center;justify-content:space-between;border:0;padding:var(--space-2);color:var(--text);background:transparent;font-weight:700;cursor:pointer}.artifact-panel{min-width:0;padding:0 var(--space-2) var(--space-4)}.artifact-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.artifact-list li{min-width:0;display:grid;gap:var(--space-1);border-left:2px solid var(--border-strong);padding:var(--space-2) var(--space-3);background:var(--canvas-deep);overflow-wrap:anywhere}.artifact-list li>span{color:var(--text-muted);font-size:.76rem}.safe-fields{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-1) 0 0}.safe-fields div{display:flex;gap:var(--space-1);font-size:.72rem}.safe-fields dt{color:var(--text-faint)}.safe-fields dd{margin:0}.sync-query-error,.sync-history-state{min-height:5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-4);border:1px dashed var(--error);padding:var(--space-4);color:var(--text-muted);text-align:center}.sync-history-state{border-color:var(--border-strong)}.history-heading{margin-bottom:var(--space-4)}.history-filters{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-3)}.history-filter-trigger.range-trigger{width:100%;min-height:2.75rem;padding:.4rem .65rem}.history-filter-menu [role=menuitemradio]{justify-content:space-between;gap:var(--space-6)}.sync-history-table{display:none;overflow-x:auto}.sync-history-table table{width:100%;border-collapse:collapse;font-size:.82rem}.sync-history-table th,.sync-history-table td{border-bottom:1px solid var(--border);padding-inline:var(--space-3);text-align:left;white-space:nowrap}.sync-history-table th{height:2.75rem;color:var(--text-faint);font-size:.68rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.sync-history-table td{height:2.75rem;padding-block:0}.sync-status-text{font-weight:720}.sync-status-text--running,.sync-status-text--queued{color:var(--info)}.sync-status-text--succeeded{color:var(--route-ride)}.sync-status-text--partially_succeeded{color:var(--warning)}.sync-status-text--failed{color:var(--error)}.sync-status-text--cancelled{color:var(--text-muted)}.detail-link{min-height:2.75rem;border:0;padding-inline:var(--space-2);color:var(--link);text-decoration:underline;text-underline-offset:.2em;background:transparent;cursor:pointer}.sync-history-cards{display:grid;gap:var(--space-2)}.sync-history-cards>article{display:grid;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--canvas-deep)}.sync-history-cards article>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.sync-history-cards time{color:var(--text-muted);font-size:.8rem}.sync-history-cards dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0}.sync-history-cards .detail-link{justify-self:start;padding-inline:0}@media(max-width:30rem){.schedule-details{grid-template-columns:minmax(0,1fr)}.schedule-details>div:nth-child(2n) .tooltip-content{right:auto;left:0}}@keyframes reveal{0%{opacity:0;transform:translateY(.8rem)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-.3rem) scale(.98)}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}}@media(min-width:48rem){.public-layout{display:grid;grid-template-columns:minmax(19rem,.85fr) minmax(30rem,1.15fr)}.public-story{position:relative;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(2rem,5vw,4.5rem);background:linear-gradient(145deg,#132d27,#0b1715 72%)}html[data-theme=light] .public-story{background:linear-gradient(145deg,#d9e2d7,#b9cbbf 72%)}.public-story:after{content:"";position:absolute;width:42rem;height:42rem;right:-21rem;bottom:-18rem;border:2px solid var(--accent);border-radius:48% 52% 42% 58%;box-shadow:0 0 0 4rem #e9a85212,0 0 0 8rem #e9a8520a;transform:rotate(-20deg)}.contours{position:absolute;inset:0;opacity:.18;background:repeating-radial-gradient(ellipse at 20% 60%,transparent 0 2.6rem,var(--text) 2.65rem 2.7rem);transform:scale(1.35) rotate(10deg)}.public-brand{position:relative;z-index:1;align-items:flex-start;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:690;line-height:.92;letter-spacing:-.03em}.story-copy{position:relative;z-index:1;max-width:24rem;padding-bottom:12vh}.story-copy>p:last-child{color:var(--text);font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1.45}.mobile-brand{visibility:hidden}.auth-panel{padding-inline:clamp(2.5rem,7vw,7rem)}.field-pair,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field--wide{grid-column:1 / -1}.checkbox-list{grid-template-columns:repeat(4,minmax(0,1fr))}.app-header{min-height:4.75rem;justify-content:space-between;padding-inline:max(var(--space-3),env(safe-area-inset-left)) max(var(--space-3),env(safe-area-inset-right))}.wordmark{display:flex;font-size:1.05rem;font-weight:720;letter-spacing:-.025em}.app-header nav{display:flex;align-self:stretch;align-items:stretch;gap:var(--space-8)}.app-header nav a,.app-header nav span{position:relative;display:flex;align-items:center;color:var(--text-muted);text-decoration:none;font-size:1.1rem;font-weight:500}.app-header nav a[aria-current=page]{color:var(--text)}.app-header nav a[aria-current=page]:after{content:"";position:absolute;right:0;bottom:5px;left:0;height:2px;background:var(--accent)}.app-header nav span[aria-disabled=true]{color:var(--disabled)}.avatar-trigger{padding-inline:var(--space-2)}.avatar-name{display:inline;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.empty-copy{align-self:center;padding:clamp(3rem,8vw,8rem);background:none}.empty-meta{grid-template-columns:repeat(3,auto);gap:var(--space-8)}.shell-alert{left:auto;width:min(28rem,calc(100vw - 2rem))}.map-page{height:calc(100dvh - 4.75rem);min-height:0;grid-template-columns:minmax(16.5rem,21rem) minmax(0,1fr);overflow:hidden}.map-sidebar{min-height:0;display:block;overflow:hidden;border-right:1px solid var(--border);padding:var(--space-4);background:linear-gradient(160deg,var(--surface),var(--canvas-deep))}.map-sidebar>.map-controls{height:100%;grid-template-rows:auto auto minmax(0,1fr) auto}.map-sidebar .range-trigger{width:100%}.map-stage{height:100%;min-height:0}.mobile-map-sheet-trigger,.mobile-map-sheet{display:none}.map-attribution{bottom:var(--space-2)}.summary-page{padding-inline:var(--space-8)}.range-trigger{width:18rem}.aggregate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.aggregate-card>button{min-height:8.5rem;padding:var(--space-4)}.aggregate-breakdown{position:absolute;top:calc(100% - var(--space-1));right:0;left:0;display:block;visibility:hidden;max-height:min(20rem,calc(100dvh - 8rem));opacity:0;overflow-y:auto;transform:translateY(-.2rem);border-top:1px solid var(--border-strong);box-shadow:var(--shadow);transition:opacity var(--motion-fast),transform var(--motion-fast),visibility var(--motion-fast)}.workout-table-wrap{display:block}.mobile-workouts{display:none}.pagination{display:flex;justify-content:flex-end}.pagination .secondary:last-child{justify-self:auto}.data-sync-page{padding-inline:var(--space-8)}.mobile-back{display:none}.sync-card,.history-section{padding:var(--space-5)}.sync-source-options{grid-template-columns:repeat(2,minmax(0,1fr))}.history-filters{width:auto;margin-top:-.25rem}.sync-history-table{display:block}.sync-history-cards{display:none}}@media(min-width:64rem){.public-layout{grid-template-columns:minmax(26rem,.95fr) minmax(36rem,1.05fr)}.app-header nav{gap:var(--space-12)}.empty-copy{padding-left:clamp(5rem,12vw,12rem)}.route-line{width:105%;left:10%}.summary-page{padding-inline:var(--space-12)}.aggregate-card strong{font-size:clamp(1.8rem,3vw,3rem)}.data-sync-page{padding-inline:var(--space-12)}.sync-operational-grid{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.85fr);align-items:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}@media(forced-colors:active){:focus-visible{outline-color:Highlight}.mark span,.avatar,.route-point{forced-color-adjust:none}.primary{border:1px solid ButtonText}.error-summary{border:2px solid Mark}.summary-page{background:Canvas}.aggregate-card>button,.workout-table-wrap,.mobile-workout,.summary-loading,.summary-empty{border:1px solid CanvasText}.aggregate-breakdown{border:2px solid CanvasText}.data-sync-page{background:Canvas}.sync-card,.history-section,.sync-source-option,.sync-radio-options label,.sync-history-cards>article{border:1px solid CanvasText}.sync-status,.schedule-state,.stale-flag,.info-tip>button>span,.tooltip-content{border:1px solid CanvasText}.sync-status,.schedule-state{color:CanvasText;background:Canvas;forced-color-adjust:auto}.sync-status-text{color:CanvasText}}
