.leaflet-container img.leaflet-tile.global-heatmap-tile{background:0 0}.startup-screen{min-height:var(--app-height,100dvh);color:#f8fafc;background:#14171b;place-content:center;justify-items:center;gap:14px;font:600 1rem/1.5 system-ui,sans-serif;display:grid}:root{--accent-blue-50:#eff6ff;--accent-blue-100:#dbeafe;--accent-blue-200:#bfdbfe;--accent-blue-300:#93c5fd;--accent-blue-400:#60a5fa;--accent-blue-500:#3b82f6;--accent-blue-600:#2563eb;--accent-blue-700:#1d4ed8;--accent-blue-800:#1e40af;--accent-blue-900:#1e3a8a;--slate-950:#0b0d10;--slate-925:#101216;--slate-900:#14171b;--slate-850:#191d22;--slate-800:#20252b;--slate-750:#292f36;--slate-700:#343c45;--alpha-2:#ffffff05;--alpha-4:#ffffff0a;--alpha-6:#ffffff0f;--alpha-8:#ffffff14;--alpha-12:#ffffff1f;--alpha-18:#ffffff2e;--alpha-24:#ffffff3d;--alpha-38:#ffffff61;--alpha-56:#ffffff8f;--alpha-72:#ffffffb8;--alpha-92:#ffffffeb;--green-500:#22c55e;--amber-500:#f59e0b;--red-500:#ef4444;--red-400:#ff6b6b;--blue-500:#3b82f6;--surface-base:var(--slate-900);--surface-1:var(--slate-800);--surface-2:var(--slate-850);--surface-3:var(--slate-750);--surface-inset:var(--alpha-4);--surface-overlay:#0000008c;--surface-map-placeholder:#d8e0d8;--surface-weather:#0d1117;--surface-details-side:#12122a;--surface-details-tabs:#141426;--surface-details-sheet:#0d1117;--surface-details-inset:inset -8px 0 40px #00000080;--surface-hover:var(--alpha-12);--surface-hover-strong:var(--alpha-18);--scrim-strong:#000000e6;--text-on-scrim:#ffffffeb;--ink-strong:#f1f5f9;--ink-muted:#94a3b8;--ink-subtle:#64748b;--surface-glass:linear-gradient(145deg,#14171bb3,#292f3685);--surface-glass-hover:linear-gradient(145deg,#292f36d1,#343c45a8);--border-glass:#ffffff2e;--text-on-glass:#ffffffeb;--text-on-glass-muted:#ffffffad;--shadow-glass:0 10px 22px #0000003d,inset 0 1px 0 #ffffff1a;--glass-blur:blur(22px)saturate(155%);--surface-glass-chrome:linear-gradient(145deg,#14171b70,#292f3642);--border-glass-chrome:#ffffff1f;--shadow-glass-chrome:0 8px 24px #00000047,inset 0 1px 0 #ffffff14;--glass-blur-chrome:blur(30px)saturate(180%);--entry-page-background:radial-gradient(120% 100% at 50% -10%,#60a5fa2e 0%,#60a5fa00 55%),linear-gradient(160deg,#1b1f24 0%,#121519 52%,#0b0d10 100%);--entry-card-background:linear-gradient(180deg,#ffffff14 0%,#ffffff09 100%);--entry-card-border:#ffffff1f;--entry-card-shadow:0 24px 60px -20px #000000a6,inset 0 1px 0 #ffffff14;--entry-input-background:#00000047;--chart-temp-max:#ff6b35;--chart-temp-min:#42a5f5;--chart-precip:#4fc3f7;--chart-precip-ink:#81d4fa;--chart-series-accent:#60a5fa;--chart-series-alt:#65c7ff;--chart-series-danger:#f87171;--chart-axis:var(--ink-muted);--chart-grid:var(--border-default);--chart-series-strava:#fc4c02;--warning-ink:#ffd166;--danger-ink:#ff9a8a;--success-ink:#86efac;--starred-ink:#facc15;--border-subtle:var(--alpha-6);--border-default:var(--alpha-12);--border-strong:var(--alpha-18);--border-focus:var(--accent-blue-400);--text-primary:var(--alpha-92);--text-secondary:var(--alpha-72);--text-tertiary:var(--alpha-56);--text-disabled:var(--alpha-38);--text-on-accent:#0f172a;--text-placeholder:var(--alpha-56);--accent:var(--accent-blue-400);--accent-hover:var(--accent-blue-300);--accent-pressed:var(--accent-blue-500);--accent-soft:#60a5fa26;--accent-softer:#60a5fa14;--accent-ring:#60a5fa73;--accent-on-soft:var(--accent-blue-200);--accent-on-soft-strong:var(--accent-blue-50);--accent-gradient:linear-gradient(135deg,var(--accent-blue-400)0%,var(--accent-blue-300)100%);--accent-gradient-hover:linear-gradient(135deg,var(--accent-blue-300)0%,var(--accent-blue-300)100%);--brand-mark-soft:#60a5fa47;--brand-mark-softer:#60a5fa14;--brand-mark-border:#60a5fa59;--brand-mark-shadow:#60a5fa8c;--success:var(--green-500);--success-soft:#22c55e1f;--warning:var(--amber-500);--warning-soft:#f59e0b1f;--danger:var(--red-500);--danger-text:var(--red-400);--danger-soft:#ef44441f;--info:var(--blue-500);--info-soft:#3b82f61f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--elev-1:0 1px 2px #00000040;--elev-2:0 4px 12px #0000004d;--elev-3:0 8px 24px #0006;--elev-4:0 25px 50px -12px #0000008c;--elev-sheet-up:0 -18px 36px #02061780;--elev-accent:0 10px 22px #60a5fa38,inset 0 1px 0 #ffffff29;--elev-accent-strong:0 14px 28px #93c5fd52,inset 0 1px 0 #ffffff38;--z-map:0;--z-map-overlay:400;--z-controls:1200;--z-header:1001;--z-popover:3000;--z-sheet:5000;--z-modal:8000;--z-toast:9000;--z-tooltip:9500;--tap-target-min:44px;--motion-instant:80ms;--motion-fast:.16s;--motion-base:.22s;--motion-slow:.32s;--motion-emphasis:.48s;--ease-standard:cubic-bezier(.22,1,.36,1);--ease-decelerate:cubic-bezier(.16,1,.3,1);--ease-accelerate:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-linear:linear;--transition-button:background var(--motion-fast)var(--ease-standard),border-color var(--motion-fast)var(--ease-standard),color var(--motion-fast)var(--ease-standard),transform var(--motion-fast)var(--ease-standard),box-shadow var(--motion-fast)var(--ease-standard);--transition-panel:transform var(--motion-base)var(--ease-decelerate),opacity var(--motion-base)var(--ease-decelerate);--transition-sheet:transform var(--motion-base)var(--ease-standard),height var(--motion-base)var(--ease-standard);--transition-color:color var(--motion-fast)var(--ease-standard),background-color var(--motion-fast)var(--ease-standard),border-color var(--motion-fast)var(--ease-standard);--transition-fade:opacity var(--motion-fast)var(--ease-standard);--transition-transform:transform var(--motion-fast)var(--ease-standard);--app-height:100dvh;--keyboard-inset:0px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);background-color:var(--surface-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=light]{--slate-950:#fff;--slate-925:#f8fafc;--slate-900:#f3f6f8;--slate-850:#edf1f5;--slate-800:#fff;--slate-750:#f8fafc;--slate-700:#e7edf3;--alpha-2:#0f172a05;--alpha-4:#0f172a0a;--alpha-6:#0f172a0f;--alpha-8:#0f172a14;--alpha-12:#0f172a1f;--alpha-18:#0f172a2e;--alpha-24:#0f172a3d;--alpha-38:#0f172a7a;--alpha-56:#0f172a9e;--alpha-72:#0f172ac2;--alpha-92:#0f172aeb;--surface-overlay:#0f172a6b;--surface-map-placeholder:#e6ebe6;--surface-weather:#fff;--surface-details-side:#f4f7fb;--surface-details-tabs:#fff;--surface-details-sheet:#f4f7fb;--surface-details-inset:inset -8px 0 40px #0f172a0f;--ink-strong:#0f172a;--ink-muted:#475569;--ink-subtle:#64748b;--text-tertiary:#0f172ab3;--text-disabled:#0f172a94;--text-placeholder:#0f172aa8;--chart-temp-max:#c2410c;--chart-temp-min:#1d4ed8;--chart-precip:#0284c7;--chart-precip-ink:#075985;--chart-series-accent:#1d4ed8;--chart-series-alt:#0e7490;--chart-series-danger:#b91c1c;--chart-series-strava:#c2410c;--warning-ink:#92400e;--danger-ink:#b91c1c;--success-ink:#15803d;--starred-ink:#b45309;--surface-glass:linear-gradient(145deg,#ffffff6b,#f1f5f947);--surface-glass-hover:linear-gradient(145deg,#ffffff94,#e2e8f070);--border-glass:#0f172a33;--text-on-glass:#0f172a;--text-on-glass-muted:#1e293b;--shadow-glass:0 10px 26px #0f172a24,inset 0 1px 0 #fffc;--glass-blur:blur(30px)saturate(200%);--surface-glass-chrome:linear-gradient(145deg,#ffffff4d,#f1f5f929);--border-glass-chrome:#0f172a1f;--shadow-glass-chrome:0 8px 24px #0f172a1a,inset 0 1px 0 #ffffffb3;--glass-blur-chrome:blur(34px)saturate(210%);--accent-on-soft:var(--accent-blue-700);--accent-on-soft-strong:var(--accent-blue-800);--entry-page-background:radial-gradient(120% 100% at 50% -10%,#60a5fa24 0%,#60a5fa00 54%),linear-gradient(160deg,#f9fbfc 0%,#edf2f5 100%);--entry-card-background:linear-gradient(180deg,#fffffff0,#f8fafce6);--entry-card-border:#0f172a1f;--entry-card-shadow:0 24px 60px -24px #0f172a33,inset 0 1px 0 #ffffffe6;--entry-input-background:#0f172a0a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;padding:0}html{background:var(--surface-base);overscroll-behavior:none}html[data-ui-text-size=large]{font-size:112.5%}html[data-ui-text-size=extra-large]{font-size:125%}body{min-height:var(--app-height);background:var(--surface-base);-webkit-overflow-scrolling:touch;overflow:hidden auto}a{color:var(--accent);-webkit-text-decoration:inherit;text-decoration:inherit;transition:var(--transition-color);font-weight:500}a:hover{color:var(--accent-hover)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}body:focus-visible,main:focus-visible,div:focus-visible:not([tabindex]){outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--alpha-4)}::-webkit-scrollbar-thumb{background:var(--alpha-18);border-radius:var(--radius-xs);transition:var(--transition-color)}::-webkit-scrollbar-thumb:hover{background:var(--alpha-24)}@media (max-width:768px){*{-webkit-tap-highlight-color:transparent}html,body,#root{touch-action:pan-x pan-y}.leaflet-container,.planner-map-canvas,.route-map-container{touch-action:none}button,.route-item,.activity-btn,.sort-btn{touch-action:manipulation}button,.clickable{-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:4px;height:4px}}@supports (padding:max(0px)){.header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}.toast-container{top:max(16px,calc(env(safe-area-inset-top,0px) + 12px));z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:12px;width:min(420px,100vw - 32px);max-width:calc(100vw - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}@media (min-width:1025px){.toast-container{align-items:flex-end;inset:auto 24px 24px auto;transform:none}.toast{animation:.3s toastSlideInBottom}.toast-exit{animation:.3s forwards toastSlideOutBottom}}.toast{background:var(--surface-2);border:1px solid var(--alpha-12);width:100%;color:var(--text-primary);pointer-events:none;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:.82rem;line-height:1.4;transition:transform .2s,opacity .2s;animation:.3s toastSlideIn;display:flex;box-shadow:0 8px 24px #0006}.toast-exit{animation:.3s forwards toastSlideOut}.toast-swipe-dismissed.toast-exit{transition:transform .28s,opacity .28s;animation:none}.toast-swiping{cursor:grabbing;transition:none;animation:none}@media (prefers-reduced-motion:reduce){.toast,.toast-exit,.toast-swipe-dismissed.toast-exit{transition:none;animation:none}}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes toastSlideInBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOutBottom{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.toast-icon{flex-shrink:0;width:22px;height:22px}.toast-icon svg{width:100%;height:100%}.toast-message{flex:1}.toast-action{background:var(--alpha-8);border:1px solid var(--border-strong);min-height:32px;color:inherit;font:inherit;cursor:pointer;pointer-events:auto;border-radius:6px;flex-shrink:0;padding:5px 10px;font-weight:700}.toast-action:hover{background:var(--surface-hover-strong);border-color:var(--alpha-38)}.toast-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toast-action-link{color:var(--accent);border:none;border-bottom:1px solid var(--accent-ring);white-space:nowrap;background:0 0;border-radius:0;padding:0;font-weight:600;text-decoration:none;transition:border-color .15s}.toast-action-link:hover{border-color:var(--accent);background:0 0}.toast-close{background:var(--alpha-8);border:1px solid var(--border-strong);width:28px;height:28px;color:var(--text-primary);cursor:pointer;pointer-events:auto;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:background-color .2s,border-color .2s;display:flex}.toast-close:hover{background:var(--surface-hover-strong);border-color:var(--alpha-38)}.toast-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toast-close svg{width:14px;height:14px}.toast-info{border-left:4px solid var(--info)}.toast-info .toast-icon{color:var(--info)}.toast-success{border-left:4px solid var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-warning{border-left:4px solid var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-error{border-left:4px solid var(--danger)}.toast-error .toast-icon{color:var(--danger)}@media (max-width:480px){.toast-container{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.toast{gap:10px;padding:10px 12px;font-size:.85rem}}.loading-indicator{justify-content:center;align-items:center;gap:var(--space-2,8px);color:inherit;font:inherit;vertical-align:middle;display:inline-flex}.loading-indicator-scene{flex:none;width:68px;height:40px;display:block;position:relative;overflow:hidden}.loading-indicator-artwork,.loading-indicator-athlete{width:100%;height:100%;display:block}.loading-indicator-athlete{object-fit:contain;filter:var(--loading-indicator-athlete-filter,none);-webkit-user-select:none;user-select:none}.loading-indicator-label{min-width:0}.loading-indicator-label--hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-indicator--small{gap:6px;font-size:.82rem}.loading-indicator--small .loading-indicator-scene{width:42px;height:26px}.loading-indicator--large{flex-direction:column;gap:10px}.loading-indicator--large .loading-indicator-scene{width:96px;height:54px}.callback-page{min-height:var(--app-height,100dvh);background:var(--entry-page-background);justify-content:center;align-items:center;display:flex}.callback-container{text-align:center;color:var(--text-primary)}.callback-container h2{margin:24px 0 8px;font-size:1.5rem}.callback-container p{color:var(--text-secondary);margin:0}.error-icon{font-size:48px}.callback-container button{color:var(--text-on-accent);cursor:pointer;background:#60a5fa;border:none;border-radius:8px;margin-top:24px;padding:12px 24px;font-size:1rem;transition:background .2s}.callback-container button:hover{background:#3b82f6}.status-page{--status-accent:var(--accent);isolation:isolate;min-height:var(--app-height,100dvh);padding:max(28px,env(safe-area-inset-top,0px))max(20px,env(safe-area-inset-right,0px))max(28px,env(safe-area-inset-bottom,0px))max(20px,env(safe-area-inset-left,0px));box-sizing:border-box;background:var(--surface-base);color:var(--text-primary);place-items:center;display:grid;position:relative;overflow:hidden}.status-page--service-unavailable{--status-accent:var(--warning)}.status-page--unexpected-error{--status-accent:var(--danger-text)}.status-page__grid{z-index:-1;background-image:linear-gradient(#94a3b812 1px,#0000 1px),linear-gradient(90deg,#94a3b812 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:-25%;transform:rotate(-6deg);-webkit-mask-image:linear-gradient(#0000 0%,#000 24% 72%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 24% 72%,#0000 100%)}.status-page__content{text-align:center;width:min(100%,620px);animation:status-page-enter var(--motion-slow)var(--ease-decelerate)both}.status-page__brand{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.8rem;font-weight:700;display:inline-flex}.status-page__brand svg{width:20px;height:20px}.status-page__route{width:min(100%,320px);height:auto;margin:var(--space-6)auto var(--space-4);display:block;overflow:visible}.status-page__route-track{fill:none;stroke:#e2e8f052;stroke-linecap:round;stroke-width:4px}.status-page__route-start,.status-page__route-end{fill:var(--surface-base);stroke:var(--status-accent);stroke-width:3px}.status-page__route-marker{fill:none;stroke:var(--status-accent);stroke-linecap:round;stroke-width:4px}.status-page__code{color:var(--status-accent);margin:0;font-size:.82rem;font-weight:800}.status-page h1{max-width:540px;margin:var(--space-2)auto 0;color:var(--text-primary);font-size:2.35rem;font-weight:750;line-height:1.12}.status-page__message{max-width:550px;margin:var(--space-5)auto 0;color:var(--text-primary);font-size:1.02rem;line-height:1.6}.status-page__detail{max-width:500px;margin:var(--space-2)auto 0;color:var(--text-tertiary);font-size:.9rem;line-height:1.55}.status-page__actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.status-page__primary-action,.status-page__secondary-action{min-height:var(--tap-target-min);border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:var(--transition-button);border:1px solid #0000;padding:10px 16px;font-weight:700;line-height:1.2}.status-page__primary-action{background:var(--status-accent);color:#10131d;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.status-page--not-found .status-page__primary-action{color:var(--text-on-accent)}.status-page__primary-action:hover{filter:brightness(1.08);transform:translateY(-1px)}.status-page__secondary-action{border-color:var(--border-default);color:var(--text-primary);background:#ffffff0a}.status-page__secondary-action:hover{border-color:var(--border-strong);background:#ffffff17}.status-page__primary-action:focus-visible,.status-page__secondary-action:focus-visible{outline-offset:3px;outline:3px solid #fff}@keyframes status-page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.status-page h1{font-size:1.85rem}.status-page__route{width:min(100%,270px);margin-top:var(--space-5)}.status-page__actions{flex-direction:column;align-items:stretch;width:min(100%,300px);margin-left:auto;margin-right:auto}}#root{width:100%;min-height:var(--app-height,100dvh);height:var(--app-height,100dvh);margin:0;padding:0}.app-loading-screen{min-height:var(--app-height,100dvh);color:#94a3b8;place-items:center;display:grid}.session-error-screen{min-height:var(--app-height,100dvh);background:var(--color-bg,#0f172a);color:var(--color-text,#f8fafc);text-align:center;place-content:center;justify-items:center;gap:14px;padding:32px;display:grid}.session-error-screen h1,.session-error-screen p{margin:0}.session-error-screen p{max-width:560px;color:var(--color-text-muted,#cbd5e1)}.session-error-screen button{min-width:120px;min-height:var(--tap-target-min,44px);background:var(--color-accent,#60a5fa);color:var(--text-on-accent);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:10px 18px;font-weight:700}.session-error-screen button:focus-visible{outline-offset:3px;outline:3px solid #fff}.session-degraded-banner{z-index:5200;right:16px;bottom:max(16px,env(safe-area-inset-bottom,0px));color:#fff1c2;pointer-events:none;background:#2a210e;border:1px solid #f59e0b;border-radius:8px;align-items:center;gap:12px;width:min(520px,100vw - 32px);padding:10px 12px;font-size:.86rem;line-height:1.35;display:flex;position:fixed;box-shadow:0 10px 28px #00000061}.session-degraded-banner span{flex:auto}.session-degraded-banner-actions{pointer-events:auto;flex:none;align-items:center;gap:7px;display:flex}.session-degraded-banner button{min-height:34px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #fbbf24;border-radius:6px;flex:none;padding:6px 12px;font-weight:700}.session-degraded-banner button:disabled{cursor:wait;opacity:.65}.session-degraded-banner button:focus-visible{outline-offset:2px;outline:2px solid #fff}.user-context-launch-notice{z-index:5000;color:#fff1c2;background:#2a210e;border:1px solid #fbbf2485;border-radius:10px;align-items:flex-start;gap:12px;width:min(460px,100vw - 32px);padding:12px;font-size:.88rem;line-height:1.4;display:flex;position:fixed;top:16px;right:16px;box-shadow:0 12px 28px #00000059}.user-context-launch-notice button{min-height:30px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffecb37a;border-radius:6px;flex:none;padding:5px 8px;font-size:.78rem;font-weight:700}.user-context-launch-notice button:focus-visible{outline-offset:2px;outline:2px solid #fde68a}@media (max-width:520px){.session-degraded-banner{right:10px;bottom:max(10px,env(safe-area-inset-bottom,0px));flex-direction:column;align-items:flex-start;width:calc(100vw - 20px);font-size:.8rem}.session-degraded-banner-actions{flex-wrap:wrap;justify-content:flex-end;align-self:flex-end}.user-context-launch-notice{width:calc(100vw - 20px);top:10px;right:10px}}
