*,:before,:after{box-sizing:border-box}:root{--app-navbar-sticky-offset:calc(5rem + env(safe-area-inset-top));--surface-bg:#000;--surface-elevated:#0a0a0a;--surface-card:#111;--surface-muted:#1a1a1a;--surface-overlay:#ffffff0a;--border-default:#222;--border-strong:#333;--border-contrast:#444;--text-primary:#f0f0f0;--text-strong:#fff;--text-soft:#ccc;--text-muted:#888;--text-subtle:#666;--inverse-bg:#fff;--inverse-text:#000;--focus-ring:#fff;--surface-backdrop:#0000007a;--overlay-shadow:0 20px 34px #00000059;--chart-grid:#222;--chart-legend-text:#ccc;--chart-brush-slide:#333;--chart-brush-traveller:#888;--map-canvas-bg:#0a0a0a}html[data-theme=light]{--surface-bg:#f5f7fa;--surface-elevated:#fff;--surface-card:#fff;--surface-muted:#edf2f7;--surface-overlay:#0f172a0a;--border-default:#d6dee8;--border-strong:#c2ccd8;--border-contrast:#9aa9bc;--text-primary:#1f2937;--text-strong:#0f172a;--text-soft:#334155;--text-muted:#5f6b7a;--text-subtle:#64748b;--inverse-bg:#111827;--inverse-text:#f8fafc;--focus-ring:#0f172a;--surface-backdrop:#0f172a47;--overlay-shadow:0 20px 34px #0f172a2e;--chart-grid:#d8e0ea;--chart-legend-text:#334155;--chart-brush-slide:#c8d3e2;--chart-brush-traveller:#64748b;--map-canvas-bg:#eaf0f6}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-aeonik),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface-bg);color:var(--text-primary);margin:0;line-height:1.5}button,a,input,select,textarea{touch-action:manipulation}h1,h2,h3,h4,h5,h6{text-wrap:balance;color:var(--text-strong);margin-top:0}.skip-link{background:var(--inverse-bg);color:var(--inverse-text);z-index:100;padding:8px 16px;text-decoration:none;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{max-width:1200px;margin:0 auto;padding:1rem 1.5rem}.navbar{--navbar-logo-blue:#6ed6ff;min-height:calc(5rem + env(safe-area-inset-top));padding:calc(.95rem + env(safe-area-inset-top))1.1rem .95rem;background:var(--surface-elevated);border-bottom:1px solid var(--border-default);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}html[data-theme=light] .navbar{--navbar-logo-blue:#0284c7}.navbar--menu-open{z-index:140}.navbar-brand{color:var(--text-strong);z-index:1;align-items:center;gap:.65rem;min-width:0;font-size:1.125rem;font-weight:700;line-height:1;text-decoration:none;display:flex}.navbar-brand:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:16px}.navbar-menu{top:calc(var(--app-navbar-sticky-offset) + .35rem);width:min(21rem,90vw);max-height:min(32rem,calc(100dvh - var(--app-navbar-sticky-offset) - .7rem - env(safe-area-inset-bottom)));background:var(--surface-elevated);border:1px solid var(--border-default);padding:.95rem .9rem calc(.95rem + env(safe-area-inset-bottom));opacity:0;pointer-events:none;z-index:130;overscroll-behavior:contain;box-shadow:var(--overlay-shadow);border-radius:14px;flex-direction:column;gap:1rem;transition:transform .22s,opacity .18s;display:flex;position:fixed;right:.55rem;overflow-y:auto;transform:translate(calc(100% + .85rem))}.navbar-menu--open{opacity:1;pointer-events:auto;transform:translate(0)}.navbar-backdrop{background:var(--surface-backdrop);pointer-events:none;z-index:120;position:fixed;inset:0}.navbar-nav{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.navbar-nav a{color:var(--text-soft);border-bottom:none;border-radius:8px;align-items:center;min-height:2.75rem;padding:.75rem .6rem;font-size:1rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.navbar-nav a:hover,.navbar-nav a.active{background:var(--surface-muted);color:var(--text-strong)}.navbar-nav a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.navbar-auth{border-top:1px solid var(--border-default);flex-direction:column;gap:.75rem;min-width:0;padding-top:1rem;display:flex}.navbar-loading{color:var(--text-muted);font-size:.875rem}.navbar-loading--inline{white-space:nowrap;padding:.35rem .2rem}.navbar-signin{cursor:pointer;background:var(--inverse-bg);width:100%;min-height:2.75rem;color:var(--inverse-text);border:none;border-radius:8px;justify-content:center;padding:.58rem 1.08rem;font-size:.92rem;font-weight:600;transition:background-color .2s}.navbar-signin--inline{white-space:nowrap;width:auto;min-height:2.6rem;padding:.58rem 1rem}.navbar-signin:hover{background:color-mix(in srgb,var(--inverse-bg)85%,var(--surface-bg))}.navbar-end-controls{z-index:131;align-items:center;gap:.45rem;margin-left:auto;display:inline-flex}.navbar-end-controls--signed-out{gap:.62rem;padding-right:.08rem}.navbar-account,.navbar-account-actions{position:relative}.navbar-avatar-trigger{border:1px solid color-mix(in srgb,var(--text-strong)14%,transparent);background:var(--surface-overlay);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;padding:.14rem;transition:background-color .16s,border-color .16s;display:inline-flex;position:relative}.navbar-avatar-trigger:hover,.navbar-avatar-trigger[data-open=true]{background:color-mix(in srgb,var(--text-strong)10%,transparent);border-color:color-mix(in srgb,var(--text-strong)24%,transparent)}.navbar-avatar-trigger:focus-visible,.navbar-account-actions-trigger:focus-visible,.navbar-account-item:focus-visible,.navbar-toggle:focus-visible,.navbar-theme-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.navbar-account-actions-trigger{border:1px solid color-mix(in srgb,var(--text-strong)14%,transparent);background:var(--surface-overlay);min-width:2.65rem;height:2.65rem;color:var(--text-soft);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;padding:0 .7rem;font-size:1.18rem;font-weight:700;line-height:1;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.navbar-account-actions-trigger:hover,.navbar-account-actions-trigger[data-open=true]{background:color-mix(in srgb,var(--text-strong)10%,transparent);border-color:color-mix(in srgb,var(--text-strong)24%,transparent);color:var(--text-strong)}.navbar-avatar{border:1px solid var(--border-strong);background:var(--surface-muted);border-radius:999px;justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex;overflow:hidden}.navbar-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.navbar-avatar-fallback{width:100%;height:100%;color:var(--text-soft);letter-spacing:.02em;text-transform:uppercase;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.navbar-account-badge{background:var(--navbar-logo-blue);color:#021217;text-align:center;border:1px solid #0212173d;border-radius:999px;min-width:1.25rem;height:1.25rem;padding:0 .24rem;font-size:.68rem;font-weight:800;line-height:1.14rem;position:absolute;top:-.14rem;right:-.18rem}.navbar-account-menu{width:min(19rem,100vw - 1.4rem);max-height:min(24rem,calc(100dvh - var(--app-navbar-sticky-offset) - .9rem - env(safe-area-inset-bottom)));border:1px solid color-mix(in srgb,var(--text-strong)12%,transparent);background:color-mix(in srgb,var(--surface-elevated)96%,var(--surface-bg));box-shadow:0 16px 36px color-mix(in srgb,var(--surface-bg)68%,transparent);overscroll-behavior:contain;z-index:145;border-radius:12px;flex-direction:column;gap:.3rem;padding:.38rem;display:flex;position:absolute;top:calc(100% + .58rem);right:0;overflow-y:auto}.navbar-account-menu--actions{width:min(12rem,100vw - 1.4rem)}.navbar-account-alerts{flex-direction:column;gap:.38rem;padding:.2rem .12rem;display:flex}.navbar-account-alerts-header{justify-content:flex-start;align-items:flex-start;gap:.52rem;padding:.08rem .2rem .12rem;display:flex}.navbar-account-alerts-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:0;font-size:.7rem;font-weight:700}.navbar-account-alerts-subtitle{color:var(--text-muted);margin:.16rem 0 0;font-size:.68rem;font-weight:560}.navbar-account-alerts-list{overscroll-behavior:contain;flex-direction:column;gap:.38rem;max-height:min(20rem,52dvh);padding-right:.12rem;display:flex;overflow-y:auto}.navbar-account-alerts-empty{color:var(--text-muted);margin:0;padding:.18rem .34rem .26rem;font-size:.76rem}.navbar-account-item{width:100%;min-height:2.25rem;color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .62rem;font-size:.81rem;font-weight:600;text-decoration:none;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.navbar-account-item--alert{border-color:color-mix(in srgb,var(--text-strong)12%,transparent);background:color-mix(in srgb,var(--text-strong)4%,transparent);align-items:flex-start;gap:.52rem;min-height:0;padding:.45rem .55rem}.navbar-account-item--alert:hover{border-color:color-mix(in srgb,var(--text-strong)24%,transparent);background:color-mix(in srgb,var(--text-strong)8%,transparent)}.navbar-account-item--alert-unread{border-color:color-mix(in srgb,var(--navbar-logo-blue)28%,transparent);background:color-mix(in srgb,var(--navbar-logo-blue)8%,transparent)}.navbar-account-item--alert-unread:hover{border-color:color-mix(in srgb,var(--navbar-logo-blue)42%,transparent);background:color-mix(in srgb,var(--navbar-logo-blue)14%,transparent)}.navbar-account-alert-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.navbar-account-alert-title{color:var(--text-strong);text-wrap:pretty;font-size:.77rem;font-weight:650;line-height:1.35}.navbar-account-alert-meta{color:var(--text-muted);font-size:.69rem;font-weight:560}.navbar-account-alert-pill{border:1px solid color-mix(in srgb,var(--navbar-logo-blue)32%,transparent);background:color-mix(in srgb,var(--navbar-logo-blue)20%,transparent);min-height:1.2rem;color:color-mix(in srgb,var(--text-strong)90%,var(--navbar-logo-blue)10%);letter-spacing:.04em;text-transform:uppercase;border-radius:6px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;padding:0 .4rem;font-size:.58rem;font-weight:740;display:inline-flex}.navbar-account-item:hover{border-color:color-mix(in srgb,var(--text-strong)14%,transparent);background:color-mix(in srgb,var(--text-strong)6%,transparent);color:var(--text-strong)}.navbar-account-item--placeholder{opacity:.6;cursor:default}.navbar-account-item--placeholder:hover{color:var(--text-soft);background:0 0;border-color:#0000}.navbar-account-item--danger{color:#f8b4b4;border-color:#f8717147}.navbar-account-item--danger:hover{color:#ffd1d1;background:#f871711a;border-color:#f8717185}.navbar-account-item-badge{background:var(--navbar-logo-blue);color:#021217;text-align:center;border:1px solid #02121733;border-radius:999px;min-width:1.15rem;height:1.15rem;padding:0 .24rem;font-size:.66rem;font-weight:800;line-height:1.04rem}.navbar-toggle{cursor:pointer;z-index:131;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex}.navbar-toggle-icon,.navbar-toggle-icon:before,.navbar-toggle-icon:after{background:var(--text-strong);border-radius:2px;width:24px;height:2px;transition:transform .25s,opacity .2s;display:block}.navbar-toggle-icon{position:relative}.navbar-toggle-icon:before,.navbar-toggle-icon:after{content:"";width:24px;position:absolute;left:0}.navbar-toggle-icon:before{top:-7px}.navbar-toggle-icon:after{top:7px}.navbar-toggle-icon.open{background:0 0}.navbar-toggle-icon.open:before{top:0;transform:rotate(45deg)}.navbar-toggle-icon.open:after{top:0;transform:rotate(-45deg)}.navbar-theme-toggle{border:1px solid color-mix(in srgb,var(--text-strong)14%,transparent);background:var(--surface-overlay);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;padding:.24rem;transition:background-color .16s,border-color .16s;display:inline-flex;position:relative}.navbar-theme-toggle:hover{background:color-mix(in srgb,var(--text-strong)10%,transparent);border-color:color-mix(in srgb,var(--text-strong)24%,transparent)}.navbar-theme-toggle-icon{color:color-mix(in srgb,var(--text-strong)82%,var(--navbar-logo-blue)18%);display:inline-flex}.navbar-theme-toggle-icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1.12rem;height:1.12rem}@media (min-width:768px){:root{--app-navbar-sticky-offset:5.5rem}.navbar{min-height:5.5rem;padding:1.1rem 1.75rem}.navbar-brand{font-size:1.25rem}.navbar-menu{opacity:1;pointer-events:auto;width:auto;max-height:none;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:row;flex:1;justify-content:space-between;align-items:center;gap:1.75rem;margin-left:2.5rem;padding:0;transition:none;position:static;overflow:visible;transform:none}.navbar-nav{flex-direction:row;gap:1.75rem}.navbar-nav a{border-bottom:2px solid #0000;border-radius:0;padding:.5rem 0;font-size:.95rem}.navbar-nav a:hover,.navbar-nav a.active{border-bottom-color:var(--text-strong);color:var(--text-strong);background:0 0}.navbar-auth{border-top:none;flex-direction:row;align-items:center;gap:1.1rem;margin-left:auto;padding-top:0}.navbar-signin{width:auto;min-height:0;padding:.5rem .92rem}.navbar-end-controls{z-index:1;gap:.86rem}.navbar-backdrop,.navbar-toggle{display:none}.navbar-account-menu{width:18rem}.navbar-account-menu--actions{width:11rem}}@media (max-width:430px){.navbar{padding:calc(.72rem + env(safe-area-inset-top)).72rem .8rem}.navbar-menu{width:min(19.5rem,92vw);padding-left:.78rem;padding-right:.78rem;right:.4rem}.navbar-nav a{font-size:.95rem}.navbar-end-controls{gap:.34rem}.navbar-avatar-trigger,.navbar-theme-toggle{width:2.6rem;height:2.6rem}.navbar-account-actions-trigger{min-width:2.5rem;height:2.5rem;padding:0 .58rem;font-size:1.04rem}.navbar-account-menu{width:min(17.5rem,100vw - 1rem)}.navbar-account-menu--actions{width:min(10.75rem,100vw - 1rem)}}@media (max-width:380px){.navbar{padding:calc(.68rem + env(safe-area-inset-top)).6rem .72rem}.navbar-end-controls{gap:.28rem}.navbar-avatar-trigger,.navbar-theme-toggle{width:2.45rem;height:2.45rem}.navbar-account-actions-trigger{min-width:2.45rem;height:2.45rem;padding:0 .52rem;font-size:1.02rem}.navbar-account-menu{width:min(16.75rem,100vw - .72rem)}.navbar-account-menu--actions{width:min(10rem,100vw - .72rem)}}.button,button{cursor:pointer;touch-action:manipulation;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .2s,opacity .2s;display:inline-flex}.button:focus-visible,button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.strava-connect-link{-webkit-tap-highlight-color:transparent;border-radius:4px;justify-content:center;align-items:center;line-height:0;text-decoration:none;transition:opacity .2s;display:inline-flex;overflow:hidden}.strava-connect-link:hover{opacity:.9}.strava-connect-link:focus-visible{outline-offset:2px;outline:2px solid #fc4c02}button:disabled{opacity:.5;cursor:not-allowed}.analyze-button{background:var(--inverse-bg);color:var(--inverse-text);margin-top:1.5rem}.analyze-button:hover:not(:disabled){background:color-mix(in srgb,var(--inverse-bg)85%,var(--surface-bg))}.analyze-button[aria-busy=true]{position:relative}.activity-list{margin:0;padding:0;list-style:none}.activity-item{border:1px solid var(--border-default);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0;padding:1rem;transition:border-color .2s;display:flex}.activity-item:hover{border-color:color-mix(in srgb,var(--text-strong)75%,var(--border-contrast))}.activity-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.activity-details{color:var(--text-muted);font-size:.85rem}.route-preview{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;flex-shrink:0}.route-preview-empty{background:var(--surface-card);border:1px dashed var(--border-strong);border-radius:8px}.route-preview polyline{stroke:var(--text-strong)}.activity-analyze-btn{background:var(--inverse-bg);color:var(--inverse-text);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background .15s}.activity-analyze-btn:hover:not(:disabled){background:color-mix(in srgb,var(--inverse-bg)85%,var(--surface-bg))}.activity-analyze-btn:disabled{opacity:.6;cursor:not-allowed}.activity-analyze-btn[aria-busy=true]{background:color-mix(in srgb,var(--surface-muted)70%,var(--text-subtle));color:var(--text-soft)}.activity-analyze-btn--view{border:1px solid var(--text-strong);color:var(--text-strong);text-align:center;background:0 0;text-decoration:none}.activity-analyze-btn--view:hover{background:color-mix(in srgb,var(--text-strong)10%,transparent)}.activity-name-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.activity-analyzed-badge{text-transform:uppercase;letter-spacing:.03em;color:#4ade80;background:linear-gradient(#22c55e38,#22c55e1a);border:1px solid #22c55e4d;border-radius:6px;align-items:center;padding:.13rem .48rem;font-size:.7rem;font-weight:600;display:inline-flex}.activity-item--analyzed{border-color:#22c55e33}.activity-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.activity-delete-btn{border:1px solid var(--border-strong);width:32px;height:32px;color:var(--text-subtle);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;transition:color .15s,border-color .15s,background .15s;display:flex}.activity-delete-btn:hover:not(:disabled){color:#ef4444;background:#ef44441a;border-color:#ef4444}.activity-delete-btn:disabled{opacity:.4;cursor:not-allowed}.activity-saved-stats{color:var(--text-muted);flex-wrap:wrap;gap:.75rem;font-size:.8rem;display:flex}.activity-saved-stats span{white-space:nowrap}.excluded-badge{color:#818cf8;opacity:.85;vertical-align:middle;align-items:center;gap:.25rem;margin-left:.5rem;font-size:.65rem;font-weight:500;display:inline-flex}.load-more-button{margin:1.5rem auto 0;padding:.75rem 2rem;font-size:.95rem;display:block}.error-message{color:#fecaca;background:#7f1d1d42;border:1px solid #ef444494;border-radius:8px;margin:1rem 0;padding:1rem}html[data-theme=light] .error-message{color:#991b1b;background:#fee2e2f2;border-color:#dc262666}html[data-theme=light] .error-message .button,html[data-theme=light] .error-message a{color:#7f1d1d}.recording-quality-warning{color:#fde68a;background:#1a1400;border:1px solid #f59e0b;border-radius:8px;margin:1rem 0;padding:1rem 1.25rem;line-height:1.5}.recording-quality-warning.severe{color:#fca5a5;background:#1a0800;border-color:#ef4444}.recording-quality-warning .rq-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.recording-quality-warning .rq-detail{opacity:.9;margin:0 0 .5rem;font-size:.875rem}.recording-quality-warning .rq-detail em{color:inherit;font-style:italic;font-weight:600}.recording-quality-warning .rq-fix summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;font-weight:600}.recording-quality-warning .rq-fix ul{margin:.5rem 0 0 1.25rem;padding:0;font-size:.825rem;line-height:1.7}.recording-quality-warning .rq-fix li{margin:0}.results-display{background:var(--surface-card);border-radius:8px;padding:1rem;font-family:ui-monospace,monospace;font-size:.875rem;overflow-x:auto}.result-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin:1rem 0;padding:1.5rem}.result-type{color:var(--text-muted);margin-top:-.5rem;font-size:.9rem}.result-stats{flex-wrap:wrap;gap:1.5rem;margin-top:.75rem;display:flex}.stat{flex-direction:column;align-items:center;display:flex}.stat-value{color:var(--text-strong);font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.stream-tags{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.stream-tag{background:var(--surface-muted);color:var(--text-soft);border:1px solid var(--border-strong);border-radius:8px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}fieldset{border:none;margin:0;padding:0}.pagination-controls{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.pagination-btn{background:var(--surface-muted);color:var(--text-soft);border:1px solid var(--border-strong);padding:.5rem 1.25rem;font-size:.9rem}.pagination-btn:hover:not(:disabled){background:color-mix(in srgb,var(--surface-muted)80%,var(--text-strong));color:var(--text-strong)}.pagination-info{color:var(--text-muted);text-align:center;min-width:4rem;font-size:.9rem}.chart-section{overflow:visible}.analysis-charts-col>.chart-section{margin-top:0}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.chart-header h3{margin:0}.chart-controls{align-items:center;gap:.75rem;display:flex}.unit-toggle{border:1px solid #333;border-radius:6px;display:flex;overflow:hidden}.unit-btn{color:#888;cursor:pointer;background:#1a1a1a;border:none;padding:.35rem .75rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.unit-btn:hover{color:#ccc;background:#222}.unit-btn.active{color:#000;background:#fff}.chart-hint{color:#666;margin:0 0 .5rem;font-size:.8rem}.view-stats-bar{color:#aaa;background:#ffffff0a;border:1px solid #292929;border-radius:6px;align-items:center;gap:1rem;margin-bottom:.4rem;padding:.3rem .6rem;font-size:.82rem;display:flex}.view-stats-bar strong{color:#e5e5e5;font-variant-numeric:tabular-nums;margin-right:.2rem}.timeline-overview{z-index:15;background:#111;border:1px solid #1e1e1e;border-radius:10px;margin:.25rem 0 .75rem;padding:.5rem .75rem .35rem;position:sticky;top:0}.timeline-track{background:#1a1a1a;border:1px solid #282828;border-radius:8px;height:16px;position:relative;overflow:hidden}.timeline-zoom{cursor:grab;touch-action:none;background:#ffffff14;border-left:2px solid #ffffff40;border-right:2px solid #ffffff40;border-radius:4px;height:100%;position:absolute;top:0}.timeline-edge-left,.timeline-edge-right{cursor:ew-resize;z-index:2;width:8px;height:100%;position:absolute;top:0}.timeline-edge-left{left:-4px}.timeline-edge-right{right:-4px}.timeline-edge-left:hover,.timeline-edge-right:hover{background:#ffffff26}.timeline-lap{cursor:pointer;z-index:3;border-radius:2px;height:100%;transition:opacity .15s;position:absolute;top:0}.timeline-lap:hover{opacity:.85!important}.timeline-lap.active{box-shadow:0 0 4px #ffffff4d}.timeline-playhead{pointer-events:none;background:#fff3;width:1px;height:100%;display:none;position:absolute;top:0;left:50%}.timeline-labels{height:14px;margin-top:2px;position:relative;overflow:visible}.timeline-tick{color:#666;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.65rem;position:absolute}.timeline-tick:first-child{transform:translate(0)}.timeline-tick:last-child{transform:translate(-100%)}.timeline-tick:not(:first-child):not(:last-child){transform:translate(-50%)}.chart-warning{color:#fca5a5;background:#1a0000;border:1px solid #dc2626;border-radius:6px;margin-top:.5rem;padding:.5rem .75rem;font-size:.85rem}.chart-loading{color:#888;text-align:center;padding:2rem 0}.chart-label{color:#999;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;margin-bottom:.25rem;font-size:.85rem;font-weight:600;display:flex}.speed-options-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.speed-options-row.advanced-lines{background:#ffffff08;border:1px solid #292929;border-radius:6px;margin-bottom:.5rem;padding:.35rem .5rem}.speed-line-toggle{color:#bbb;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.speed-line-toggle input[type=checkbox]{accent-color:#22d3ee;cursor:pointer;width:14px;height:14px}.speed-line-toggle .swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.speed-line-toggle .swatch-striped{background:repeating-linear-gradient(45deg,var(--swatch-color),var(--swatch-color)2px,transparent 2px,transparent 4px)}.speed-line-label{color:#bbb;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.speed-line-label .swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.event-legend-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.event-chip{color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;background:#111;border:1px solid #333;border-radius:8px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.78rem;font-weight:500;line-height:1.2;transition:border-color .15s,background-color .15s,color .15s;display:flex}.event-chip:hover{color:#999;border-color:#555}.event-chip-dot{opacity:.35;background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:opacity .15s}.event-chip.active .event-chip-dot{opacity:1}.event-chip-count{font-weight:700}.event-chip.burst.active{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b}.event-chip.brake.active{color:#ef4444;background:#ef444414;border-color:#ef4444}.event-chip.sprint.active{color:#c084fc;background:#c084fc14;border-color:#c084fc}.event-chip.hsr.active{color:#38bdf8;background:#38bdf814;border-color:#38bdf8}.advanced-toggle{margin-left:auto;padding:.15rem .5rem;font-size:.75rem}.split-view{grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem;display:grid}@media (max-width:700px){.split-view{grid-template-columns:1fr}}.split-pane{flex-direction:column;align-items:center;display:flex}.split-label{color:#888;text-align:center;margin-bottom:.5rem;font-size:.8rem}.map-svg{border:1px solid #222;border-radius:8px;width:100%;max-width:400px;height:auto}.map-legend{color:#888;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.75rem;display:flex}.legend-stop{border-radius:3px;flex-shrink:0;width:12px;height:12px}.legend-bar{background:linear-gradient(90deg,#2525f4,#25f425,#f4f425,#f42525);border-radius:2px;flex:1;min-width:40px;height:4px}.legend-text{white-space:nowrap}.recharts-wrapper,.recharts-surface{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;outline:none}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--chart-grid)}.recharts-tooltip-wrapper{z-index:10}.recharts-legend-item-text{font-size:.8rem;color:var(--chart-legend-text)!important}.recharts-brush-slide{fill:var(--chart-brush-slide);fill-opacity:.4}.recharts-brush-traveller rect{fill:var(--chart-brush-traveller)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}.compact-header{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin-bottom:.75rem;padding:1rem 1.25rem}.compact-title{align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.compact-title h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25rem;overflow:hidden}.compact-type{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.compact-stats{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.compact-stat{align-items:baseline;gap:.3rem;display:flex}.compact-stat-value{color:var(--text-strong);font-size:1.1rem;font-weight:700}.compact-stat-label{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.compact-divider{background:#333;width:1px;height:1.1rem}.events-panel{background:#111;border:1px solid #222;border-radius:12px;margin-bottom:1rem;padding:.75rem 1rem}.events-panel .burst-brake-bar{margin-bottom:0}.advanced-options{border-top:1px solid #222;margin-top:.5rem;padding-top:.25rem}.advanced-options-toggle{cursor:pointer;color:#666;letter-spacing:.02em;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;padding:.4rem 0;font-size:.78rem;font-weight:500;list-style:none;transition:color .2s;display:flex}.advanced-options-toggle:hover{color:#aaa}.advanced-options-toggle:before{content:"▸";font-size:.7rem;transition:transform .2s;display:inline-block}.advanced-options[open]>.advanced-options-toggle:before{transform:rotate(90deg)}.advanced-options-toggle::-webkit-details-marker{display:none}.threshold-bar{background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:flex-end;gap:1.25rem;margin-top:0;padding:.5rem 0 0;display:flex}.threshold-group label{color:#999;align-items:center;gap:.35rem;margin-bottom:.25rem;font-size:.78rem;display:flex}.threshold-input-row{align-items:center;gap:.35rem;display:flex}.threshold-input-row input[type=number]{color:#fff;background:#1a1a1a;border:1px solid #333;border-radius:6px;width:5rem;padding:.3rem .5rem;font-family:inherit;font-size:.85rem}.threshold-input-row input[type=number]:focus-visible{outline-offset:1px;outline:2px solid #fff}.threshold-unit{color:#888;font-size:.78rem}.recompute-btn{color:#000;background:#fff;border-radius:6px;margin-left:auto;padding:.4rem 1rem;font-size:.8rem}.recompute-btn:hover{background:#ddd}.gps-config-badge{color:#777;background:#111;border:1px solid #222;border-radius:6px;align-items:center;gap:.4rem;margin-top:.35rem;padding:.3rem .65rem;font-size:.75rem;display:inline-flex}.gps-config-badge svg{color:#555;flex-shrink:0}.threshold-divider{background:#222;width:100%;height:1px;margin:.25rem 0}.threshold-group-wide{flex-basis:100%}.gps-btn-row{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.gps-level-btn{color:#aaa;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:.3rem .7rem;font-family:inherit;font-size:.78rem;transition:background-color .15s,border-color .15s,color .15s}.gps-level-btn:hover{color:#ddd;background:#222;border-color:#555}.gps-level-btn.active{color:#e8a040;background:#e8a0401a;border-color:#e8a040}.gps-spike-toggle{cursor:pointer;align-items:center;gap:.4rem;display:flex}.gps-spike-toggle input[type=checkbox]{accent-color:#e8a040;cursor:pointer;width:15px;height:15px}.gps-spike-count{color:#f59e0b;opacity:.85;margin-top:.2rem;font-size:.72rem;display:inline-block}.infotip-wrapper{align-items:center;display:inline-flex;position:relative}.infotip-btn{color:#bbb;cursor:pointer;background:#333;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:10px;font-weight:700;line-height:1;transition:background .15s;display:inline-flex}.infotip-btn:hover,.infotip-btn:focus-visible{color:#fff;background:#555}.infotip-bubble{color:#ddd;z-index:20;pointer-events:none;background:#222;border:1px solid #444;border-radius:8px;width:max-content;max-width:260px;padding:.5rem .65rem;font-size:.75rem;font-weight:400;line-height:1.45;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000080}.vp-event-cards-container{background:#ffffff05;border:1px solid #222;border-radius:10px;padding:.75rem}.vp-event-cards{flex-wrap:wrap;gap:.75rem;display:flex}.vp-event-card-wrapper{flex-direction:column;flex:1;min-width:120px;display:flex}.vp-event-card{border-left:3px solid var(--card-color,#333);background:0 0;border-radius:0;padding:.6rem .75rem;transition:background .2s}.vp-event-card.active{background:color-mix(in srgb,var(--card-color,#888)5%,transparent)}.vp-event-card-header{align-items:center;gap:.6rem;display:flex}.vp-event-card-count{color:var(--card-color,#fff);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800;line-height:1}.vp-event-card-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.vp-event-card-label{color:#999;font-size:.82rem;font-weight:500}.vp-event-card-eye{color:#555;cursor:pointer;background:0 0;border:1px solid #333;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;padding:0;transition:border-color .15s,color .15s,background-color .15s;display:flex}.vp-event-card-eye:hover{color:#999;background:#ffffff0a;border-color:#555}.vp-event-card-eye.on{color:var(--card-color,#ccc);border-color:color-mix(in srgb,var(--card-color,#888)40%,transparent);background:color-mix(in srgb,var(--card-color,#888)8%,transparent)}.vp-event-card-expand{color:#666;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;margin-top:.5rem;padding:0;font-family:inherit;font-size:.75rem;transition:color .15s;display:flex}.vp-event-card-expand:hover{color:#aaa}.vp-event-card-chevron{font-size:.8rem;transition:transform .2s}.vp-event-card-chevron.open{transform:rotate(180deg)}.vp-event-card-dropdown{background:#ffffff05;border:1px solid #222;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.map-canvas-clip{aspect-ratio:1;border:1px solid #222;border-radius:8px;width:100%;max-width:400px;transition:width .3s,height .3s;position:relative;overflow:hidden}.map-canvas-wrapper{transition:transform .4s;position:relative}.map-canvas{border:none;border-radius:0;width:100%;height:100%}.map-hover-overlay{pointer-events:none;position:absolute;top:0;left:0}.map-esri-attribution{color:#ffffffb8;pointer-events:auto;z-index:10;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#00000085;border-radius:3px;margin:0;padding:2px 5px;font-size:9px;line-height:1.4;position:absolute;bottom:4px;right:4px}.map-esri-attribution a{color:inherit;text-underline-offset:1px;text-decoration:underline}.frame-click-capture{cursor:crosshair;z-index:20;width:100%;height:100%;position:absolute;top:0;left:0}.frame-click-capture.corners-placed{cursor:grab}.frame-click-capture.corners-placed:active{cursor:grabbing}.pitch-frame-controls{flex-wrap:wrap;gap:.5rem;display:flex}.pitch-setting-bar{background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.pitch-instructions{color:#ccc;margin:0;font-weight:500}.pitch-setting-actions{gap:.4rem;display:flex}.map-zoom-controls{z-index:25;flex-direction:column;gap:2px;display:flex;position:absolute;bottom:8px;right:8px}.map-zoom-btn{color:#ccc;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#111111d9;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.1rem;font-weight:600;transition:background .15s,color .15s;display:flex}.map-zoom-btn:hover{color:#fff;background:#ffffff26;border-color:#ffffff4d}.heatmap-bar{background:linear-gradient(90deg,#00f,#0ff,#0f0,#ff0,red)}.pitch-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;animation:.25s pitch-modal-fadein;display:flex;position:fixed;inset:0}@keyframes pitch-modal-fadein{0%{opacity:0}to{opacity:1}}.pitch-modal{overscroll-behavior:contain;background:#111;border:1px solid #333;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;max-width:95vw;max-height:95vh;padding:1.5rem;display:flex;overflow:auto;box-shadow:0 24px 80px #0009}.pitch-modal-title{color:#fff;margin:0;font-size:1.25rem;font-weight:700}.pitch-modal-desc{color:#aaa;margin:0;font-size:.85rem;font-weight:500}.pitch-modal-map{position:relative}.pitch-modal-canvas-clip{aspect-ratio:1;border:1px solid #333;border-radius:10px;width:100%;max-width:600px;position:relative;overflow:hidden}@media (max-width:680px){.pitch-modal-canvas-clip{max-width:90vw}.pitch-modal{padding:1rem}.pitch-modal-desc{text-align:center;font-size:.9rem;line-height:1.4}}.pitch-modal-actions{align-items:center;gap:.5rem;display:flex}.pitch-modal-confirm{border:none;font-weight:700;color:#000!important;background:#fff!important}.pitch-modal-confirm:hover{background:#ddd!important}.pitch-modal-skip{color:#888}.compact-header-row{align-items:center;gap:1rem;display:flex}.header-route-thumb{background:#1a1a1a;border:1px solid #333;border-radius:8px;flex-shrink:0}.compact-header-text{flex:1;min-width:0}.analysis-layout{grid-template-columns:minmax(280px,420px) 1fr;align-items:start;gap:.75rem;display:grid}@media (max-width:900px){.analysis-layout{grid-template-columns:1fr}}.analysis-left-col{flex-direction:column;align-self:start;gap:.75rem;display:flex;position:sticky;top:1rem}.analysis-charts-col{min-width:0}.map-panel{background:#111;border:1px solid #222;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;max-width:100%;padding:1rem;transition:max-width .3s;display:flex;overflow:hidden}.map-toggle-row{flex-wrap:wrap;justify-content:space-between;align-self:stretch;align-items:center;gap:.55rem;margin-bottom:.25rem;display:flex}.laps-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.laps-header h3{margin:0}.laps-controls{align-items:center;gap:.5rem;display:flex}.lap-preview{background:#ffffff08;border:1px dashed #333;border-radius:8px;margin-top:.5rem;padding:.5rem}.lap-preview-label{color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.7rem}.threshold-group-inline{color:#999;font-size:.8rem}.lap-count-input{color:#fff;text-align:center;background:#1a1a1a;border:1px solid #333;border-radius:6px;width:3.5rem;padding:.3rem .5rem;font-family:inherit;font-size:.85rem}.lap-count-input:focus-visible{outline-offset:1px;outline:2px solid #fff}.laps-table-wrap{margin-top:.5rem;overflow-x:auto}.laps-table{border-collapse:collapse;width:100%;font-size:.85rem}.laps-table th,.laps-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #222;padding:.5rem .75rem}.laps-table th{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.laps-table td{color:#ddd}.laps-table tbody tr:hover{background:#1a1a1a}.burst-cell{color:#f59e0b;font-weight:600}.brake-cell{color:#ef4444;font-weight:600}.unified-analysis{background:#111;border:1px solid #222;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.unified-analysis .burst-brake-bar{margin-bottom:0}.bb-card.sprint .bb-count{color:#c084fc}.bb-card.hsr .bb-count{color:#38bdf8}.heatmap-controls{border-top:1px solid #222;flex-wrap:wrap;align-items:flex-end;gap:.75rem;width:100%;padding:.5rem 0;display:flex}.heatmap-inactivity{flex-direction:column;gap:.2rem;display:flex}.sat-overlay-toggle{color:#aaa;cursor:pointer;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.sat-overlay-toggle input[type=checkbox]{accent-color:#fff;width:14px;height:14px}.heatmap-inactivity-label{color:#888;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.heatmap-inactivity .threshold-input-row input[type=number]{color:#fff;background:#1a1a1a;border:1px solid #333;border-radius:6px;width:4rem;padding:.25rem .4rem;font-family:inherit;font-size:.8rem}.laps-panel{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:12px;padding:.75rem}.laps-panel .laps-header{flex-direction:row;align-items:center;gap:.4rem}.laps-panel .laps-header h3{align-items:center;gap:.35rem;margin:0;font-size:.95rem;display:inline-flex}.laps-tabs-container{margin-top:.5rem}.laps-tabs{border-bottom:1px solid #222;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;padding-bottom:.25rem;display:flex}.laps-tab{color:#888;cursor:pointer;background:#111;border-top:1px solid #222;border-bottom:none;border-left:3px solid #0000;border-right:1px solid #222;border-radius:6px 6px 0 0;align-items:center;gap:.25rem;padding:0;font-size:.78rem;font-weight:500;transition:background .15s,color .15s;display:flex}.laps-tab-label{all:unset;cursor:pointer;flex:1;padding:.3rem .25rem .3rem .75rem}.laps-tab-delete{all:unset;color:#555;cursor:pointer;border-radius:0 6px 0 0;padding:.2rem .5rem;font-size:.85rem;line-height:1;transition:color .15s,background .15s}.laps-tab-delete:hover{color:#ef4444;background:#ef44441a}.laps-tab:hover{color:#ccc;background:#1a1a1a}.laps-tab.active{color:#fff;background:#1e1e1e;border-color:#444}.laps-tab.active .laps-tab-delete{color:#999}.laps-tab.active .laps-tab-delete:hover{color:#ef4444;background:#ef44441f}.lap-detail{border-left:3px solid #0000;padding:.25rem 0 .25rem .5rem}.lap-stats-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.lap-stat{background:#111;border:1px solid #1a1a1a;border-radius:8px;flex-direction:column;align-items:center;padding:.4rem;display:flex}.lap-stat-value{color:#fff;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700;line-height:1.2}.lap-stat-label{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.lap-stat.burst-cell .lap-stat-value{color:#f59e0b}.lap-stat.brake-cell .lap-stat-value{color:#ef4444}.lap-stat.sprint-cell .lap-stat-value{color:#c084fc}.lap-stat.hsr-cell .lap-stat-value{color:#38bdf8}.laps-mode-row{margin-bottom:.5rem}.laps-panel .laps-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.streams-footer{border-top:1px solid #222;padding-top:.5rem}.streams-footer h4{color:#888;margin:0 0 .35rem;font-size:.85rem}.events-master-toggle{color:#888;letter-spacing:.03em;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border:1.5px dashed #444;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:border-color .2s,color .2s,background-color .2s;display:flex}.events-master-toggle:hover{color:#bbb;background:#ffffff0f;border-color:#666}.events-master-toggle.active{color:#f59e0b;background:#f59e0b14;border-style:solid;border-color:#f59e0b}.events-master-toggle.active:hover{color:#fbbf24;background:#f59e0b1f;border-color:#fbbf24}.events-toggle-icon{font-size:1rem;line-height:1}.events-map-toggles{flex-wrap:wrap;gap:.4rem;padding:.4rem 0;display:flex}.event-map-chip{color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;background:#111;border:1px solid #333;border-radius:8px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.72rem;font-weight:500;line-height:1.2;transition:border-color .15s,background-color .15s,color .15s;display:flex}.event-map-chip:hover{color:#999;border-color:#555}.event-map-dot{opacity:.35;background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:opacity .15s}.event-map-chip.active .event-map-dot{opacity:1}.event-map-chip.burst.active{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b}.event-map-chip.brake.active{color:#ef4444;background:#ef444414;border-color:#ef4444}.event-map-chip.sprint.active{color:#c084fc;background:#c084fc14;border-color:#c084fc}.event-map-chip.hsr.active{color:#38bdf8;background:#38bdf814;border-color:#38bdf8}.vp-section{--vp-canvas-shell:#080808;--vp-canvas-border:#1a1a1a;--vp-field-base:#112a1f;--vp-marking-line:#ffffff47;--vp-marking-faint:#ffffff26;--vp-track-on:#fff;--vp-track-faded:#fff3;margin-top:1.5rem}html[data-theme=light] .vp-section{--vp-canvas-shell:#eaf2fc;--vp-canvas-border:var(--border-default);--vp-field-base:#112a1f;--vp-marking-line:#ffffff47;--vp-marking-faint:#ffffff26;--vp-track-on:#fff;--vp-track-faded:#fff3}.vp-section--embed{margin-top:0}.vp-container{background:#111;border:1px solid #222;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.vp-container--embed{background:0 0;border:0;border-radius:0;gap:0;padding:0}.vp-container--embed .vp-dual{gap:0}.vp-container--embed .vp-panel{min-width:0}.vp-container--embed .vp-canvas{border:0;border-radius:0}.vp-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.vp-title{align-items:center;gap:.4rem;margin:0;font-size:1.15rem;font-weight:600;display:flex}.vp-subtitle{color:#777;margin:0;font-size:.85rem}.vp-dim-label{color:#666;white-space:nowrap;font-size:.78rem;font-weight:400}.vp-header-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.vp-orientation-badge{color:#f7c66d;white-space:nowrap;background:#f7c66d1f;border:1px solid #f7c66d73;border-radius:999px;align-items:center;padding:.24rem .52rem;font-size:.7rem;line-height:1;display:inline-flex}.vp-canvas{border:1px solid var(--vp-canvas-border);background:var(--vp-canvas-shell);border-radius:8px;width:100%;overflow:hidden}.vp-svg{width:100%;height:auto;display:block}.vp-cta{text-align:center;color:#666;border:1px dashed #2a2a2a;border-radius:8px;padding:3rem 2rem;font-size:.88rem;line-height:1.6}.vp-cta p{margin:0 0 1rem}.vp-legend{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.vp-legend-item{color:#888;align-items:center;gap:.35rem;font-size:.78rem;display:flex}.vp-legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.vp-hint{text-align:center;color:#555;margin:0;font-size:.78rem}.vp-lap-selector{flex-wrap:wrap;gap:.5rem;display:flex}.vp-lap-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.78rem;font-weight:500;transition:border-color .15s,color .15s,background-color .15s;display:flex}.vp-lap-btn:hover{color:#bbb;background:#ffffff08;border-color:#444}.vp-lap-btn.active{border-color:var(--lap-color,#22d3ee);color:#eee;background:color-mix(in srgb,var(--lap-color,#22d3ee)10%,transparent)}.vp-lap-swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.vp-lap-stats{background:#ffffff05;border:1px solid #222;border-left:3px solid #22d3ee;border-radius:10px;padding:.75rem 1rem}.vp-lap-stats-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem 1rem;display:grid}.vp-lap-stat{flex-direction:column;gap:.1rem;display:flex}.vp-lap-stat-value{color:#e0e0e0;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700;line-height:1.2}.vp-lap-stat-label{color:#666;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.vp-lap-stat.burst-cell .vp-lap-stat-value{color:#f59e0b}.vp-lap-stat.brake-cell .vp-lap-stat-value{color:#ef4444}.vp-lap-stat.sprint-cell .vp-lap-stat-value{color:#c084fc}.vp-lap-stat.hsr-cell .vp-lap-stat-value{color:#38bdf8}.vp-dual{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.vp-dual--single{flex-wrap:nowrap}.vp-dual--single .vp-panel{min-width:unset;flex:100%}.vp-panel{flex:1;min-width:300px}.vp-panel-label{color:#666;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:500}.vp-panel-header{justify-content:space-between;align-items:center;min-height:24px;margin-bottom:.4rem;display:flex}.vp-mode-toggle{border:1px solid #2a2a2a;border-radius:6px;display:flex;overflow:hidden}.vp-mode-btn{color:#555;cursor:pointer;background:0 0;border:none;padding:.15rem .5rem;font-size:.7rem;font-weight:500;transition:color .15s,background .15s}.vp-mode-btn:not(:last-child){border-right:1px solid #2a2a2a}.vp-mode-btn:hover{color:#aaa}.vp-mode-btn.active{color:#ccc;background:#1a1a1a}.vp-heat-legend{justify-content:center;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.vp-heat-bar{border-radius:3px;flex-shrink:0;width:100px;height:6px}.vp-heat-label{color:#555;white-space:nowrap;font-size:.68rem}html[data-theme=light] .vp-container:not(.vp-container--embed){background:var(--surface-card);border-color:var(--border-default)}html[data-theme=light] .vp-subtitle,html[data-theme=light] .vp-dim-label,html[data-theme=light] .vp-panel-label,html[data-theme=light] .vp-heat-label,html[data-theme=light] .vp-hint,html[data-theme=light] .vp-lap-stat-label{color:var(--text-muted)}html[data-theme=light] .vp-lap-btn{border-color:var(--border-default);color:var(--text-muted);background:var(--surface-muted)}html[data-theme=light] .vp-lap-btn:hover{border-color:var(--border-contrast);color:var(--text-strong);background:#edf4fd}html[data-theme=light] .vp-lap-btn.active{color:var(--text-strong)}html[data-theme=light] .vp-mode-toggle{border-color:var(--border-default);background:var(--surface-muted)}html[data-theme=light] .vp-mode-btn{color:var(--text-muted)}html[data-theme=light] .vp-mode-btn:not(:last-child){border-right-color:var(--border-default)}html[data-theme=light] .vp-mode-btn:hover{color:var(--text-strong)}html[data-theme=light] .vp-mode-btn.active{color:var(--text-strong);background:#edf4fd}.vp-detail-list{border-top:1px solid #222;max-height:160px;overflow-y:auto}.vp-detail-list::-webkit-scrollbar{width:4px}.vp-detail-list::-webkit-scrollbar-track{background:0 0}.vp-detail-list::-webkit-scrollbar-thumb{background:#444;border-radius:2px}.vp-detail-row{color:#aaa;border-bottom:1px solid #ffffff0a;align-items:center;padding:.35rem .75rem;font-size:.75rem;transition:background .15s;display:grid}.vp-detail-list--accel .vp-detail-row{grid-template-columns:3.2rem 1fr auto;gap:.6rem}.vp-detail-list--speed .vp-detail-row{grid-template-columns:3.2rem 3rem 1fr;gap:.6rem}.vp-detail-row:last-child{border-bottom:none}.vp-detail-row.clickable{cursor:pointer}.vp-detail-row.clickable:hover{background:#ffffff0f}.vp-detail-row.focused{border-left:3px solid var(--accent,#22d3ee);background:#ffffff12}.vp-detail-time{font-variant-numeric:tabular-nums;color:#888;min-width:3.2rem}.vp-detail-stat{font-variant-numeric:tabular-nums;color:#ccc;white-space:nowrap}@media (max-width:640px){.vp-header{flex-direction:column;align-items:flex-start}.vp-dual{flex-direction:column}}@keyframes skeleton-pulse{0%,to{opacity:.15}50%{opacity:.3}}.skeleton-text{color:#fff6}.skeleton-list{flex-direction:column;gap:.75rem;display:flex}.skeleton-activity-item{background:#ffffff0a;border-radius:8px;align-items:center;gap:1rem;padding:.75rem;display:flex}.skeleton-thumb{background:#ffffff1a;border-radius:8px;flex-shrink:0;width:64px;height:64px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-activity-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.skeleton-line{background:#ffffff1a;border-radius:4px;height:14px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-line-title{width:60%}.skeleton-line-details{width:80%}.skeleton-results{flex-direction:column;gap:1.5rem;display:flex}.skeleton-header-row{align-items:center;gap:1rem;display:flex}.skeleton-header-text{flex-direction:column;flex:1;gap:.5rem;display:flex}.skeleton-stats-row{gap:1rem;display:flex}.skeleton-stat{background:#ffffff14;border-radius:6px;width:60px;height:32px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-chart{background:#ffffff0d;border-radius:8px;width:100%;height:300px;animation:1.5s ease-in-out infinite skeleton-pulse}.site-footer{border-top:1px solid var(--border-default);background:color-mix(in srgb,var(--surface-elevated)94%,var(--surface-bg));margin-top:3rem;padding:1.5rem 1rem}.site-footer-inner{flex-direction:column;align-items:center;gap:.75rem;max-width:1200px;margin:0 auto;display:flex}.strava-attribution{flex-direction:column;justify-content:center;align-items:center;gap:.35rem;display:flex}.strava-attribution a{opacity:.8;align-items:center;transition:opacity .2s;display:inline-flex}.strava-attribution a:hover{opacity:1}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.footer-links a{color:var(--text-muted);text-decoration:none;transition:color .2s}.footer-link-button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;transition:color .2s}.footer-links a:hover,.footer-link-button:hover{color:var(--text-soft);text-decoration:underline}.footer-link-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.footer-sep{color:var(--border-contrast)}.strava-view-link{color:#fc5200;white-space:nowrap;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .2s}.strava-view-link:hover{opacity:.85;text-decoration:underline}.navbar-strava-profile{color:#fc5200;font-size:.8rem;font-weight:500;text-decoration:none;transition:opacity .2s}.navbar-strava-profile:hover{opacity:.85;text-decoration:underline}.cookie-banner-layer{z-index:2147483647;pointer-events:none;align-items:flex-end;display:flex;position:fixed;inset:0}.cookie-banner{background:var(--surface-card);border-top:1px solid var(--border-strong);width:100%;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));pointer-events:auto;animation:.3s ease-out cookie-slide-up}@keyframes cookie-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-banner-inner{text-align:center;max-width:900px;margin:0 auto}.cookie-banner-text{color:var(--text-soft);margin:0 0 .25rem;font-size:.85rem;line-height:1.5}.cookie-banner-text a{color:color-mix(in srgb,var(--text-soft)85%,var(--text-strong));text-decoration:underline}.cookie-banner-text-de{color:var(--text-muted);font-size:.78rem}.cookie-banner-status{color:var(--text-primary);margin:.5rem 0 0;font-size:.8rem}.cookie-banner-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.75rem;display:flex}.cookie-btn{cursor:pointer;border:1px solid var(--border-contrast);border-radius:6px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;transition:background .2s,border-color .2s}.cookie-btn-reject{color:var(--text-soft);background:0 0}.cookie-btn-reject:hover{background:var(--surface-muted);border-color:color-mix(in srgb,var(--border-contrast)75%,var(--text-strong))}.cookie-btn-secondary{color:var(--text-muted);background:0 0}.cookie-btn-secondary:hover{background:var(--surface-muted);border-color:color-mix(in srgb,var(--border-contrast)70%,var(--text-strong))}.cookie-btn-accept{color:#fff;background:#1a6b1a;border-color:#2a8a2a}.cookie-btn-accept:hover{background:#1f7f1f}.garmin-attribution{color:var(--text-muted);text-align:center;max-width:62ch;margin:0;font-size:.72rem;line-height:1.35}.privacy-lang-nav{align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.9rem;display:flex}.privacy-lang-nav a{color:#bbb;text-decoration:underline}.privacy-lang-nav a:hover{color:#fff}.privacy-table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.85rem}.privacy-table th,.privacy-table td{text-align:left;color:#ccc;border:1px solid #333;padding:.5rem .65rem}.privacy-table th{color:#eee;background:#1a1a1a;font-weight:600}.privacy-table td code{background:#1a1a1a;border-radius:3px;padding:.1rem .3rem;font-size:.8rem}.chart-compact-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:0;padding:.4rem .75rem;display:flex}.chart-compact-center{flex:auto;justify-content:center;min-width:0;display:flex}.chart-reset-zoom{transition:opacity .15s,background .15s,color .15s,border-color .15s}.chart-reset-zoom:disabled{opacity:.3;cursor:default}.chart-reset-zoom.active-zoom{color:#fff;background:#222;border:1px solid #444}.chart-reset-zoom.active-zoom:hover{background:#333}.analysis-advanced-drawer{padding:.75rem 0}@media (max-width:560px){.map-panel{padding:.78rem}.map-toggle-row{align-items:stretch}.map-toggle-row .unit-toggle{flex:auto}.pitch-frame-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;width:100%;display:grid}.pitch-frame-controls .unit-btn{min-height:2.55rem}.heatmap-controls{gap:.6rem}.heatmap-inactivity{width:100%}.chart-compact-controls{gap:.42rem;padding:.45rem 0}.chart-compact-controls .unit-toggle{order:1}.chart-reset-zoom{order:2;margin-left:auto}.chart-compact-center{flex:100%;order:3;justify-content:flex-start}}.threshold-note{color:#888;margin-top:.5rem;font-size:.78rem}@media (pointer:coarse){.timeline-edge-left,.timeline-edge-right{width:28px;min-height:44px}.timeline-edge-left{left:-14px}.timeline-edge-right{right:-14px}.vp-tl-edge-left,.vp-tl-edge-right{width:28px;min-height:44px}.vp-tl-edge-left{left:-14px}.vp-tl-edge-right{right:-14px}.timeline-track,.vp-tl-track{min-height:28px}.timeline-zoom,.vp-tl-zoom{touch-action:none}.infotip-btn{box-sizing:content-box;width:28px;height:28px;margin:-8px;padding:8px;font-size:13px}.activity-delete-btn{min-width:44px;min-height:44px}.bb-eye{width:40px;height:40px;font-size:16px}.bb-detail-toggle{width:32px;height:32px;font-size:13px}.map-zoom-btn{width:44px;height:44px;font-size:1.3rem}.navbar-signin,.navbar-signout{min-height:44px;padding:.6rem 1.25rem}.stepper-back{min-height:44px;padding:.55rem 1rem}.dashboard-analyze-btn{min-height:44px;padding:.6rem 1.25rem}}@media (max-width:768px){.vp-dual{flex-direction:column}.events-panel .burst-brake-bar{flex-wrap:wrap}.vp-event-card-wrapper{flex:calc(50% - .375rem);min-width:140px}}.burst-brake-bar{flex-wrap:wrap}.pitch-place-toggle{font-weight:600;transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s;border:2px solid #444!important}.pitch-place-toggle.active{box-shadow:0 0 12px #fc4c0240;color:#fc4c02!important;background:#fc4c021a!important;border-color:#fc4c02!important}html[data-theme=light] .privacy-lang-nav a:hover{color:var(--text-strong)}html[data-theme=light] .privacy-table th,html[data-theme=light] .privacy-table td{border-color:var(--border-default);color:var(--text-soft)}html[data-theme=light] .privacy-table th,html[data-theme=light] .privacy-table td code{background:var(--surface-muted);color:var(--text-soft)}html[data-theme=light] .chart-reset-zoom.active-zoom{background:var(--surface-muted);color:var(--text-strong);border-color:var(--border-contrast)}html[data-theme=light] .chart-reset-zoom.active-zoom:hover{background:color-mix(in srgb,var(--surface-muted)80%,var(--text-strong))}html[data-theme=light] .threshold-note{color:var(--text-muted)}html[data-theme=light] .pitch-place-toggle{border-color:var(--border-contrast)!important}
@font-face{font-family:aeonik;src:url(../media/AeonikTRIAL_Regular-s.p.3fdd272a.otf)format("opentype");font-display:swap;font-weight:400}@font-face{font-family:aeonik;src:url(../media/AeonikTRIAL_Medium-s.p.4e3ecea1.otf)format("opentype");font-display:swap;font-weight:500}@font-face{font-family:aeonik;src:url(../media/AeonikTRIAL_SemiBold-s.p.89d6c934.otf)format("opentype");font-display:swap;font-weight:600}@font-face{font-family:aeonik;src:url(../media/AeonikTRIAL_Bold-s.p.61811f66.otf)format("opentype");font-display:swap;font-weight:700}@font-face{font-family:aeonik Fallback;src:local(Arial);ascent-override:91.27%;descent-override:22.57%;line-gap-override:0.0%;size-adjust:101.9%}.aeonik_d178fa3b-module____3XrW__className{font-family:aeonik,aeonik Fallback}.aeonik_d178fa3b-module____3XrW__variable{--font-aeonik:"aeonik","aeonik Fallback"}
@font-face{font-family:aeonikExtended;src:url(../media/AeonikExtendedTRIAL_Bold-s.p.4758feed.otf)format("opentype");font-display:swap;font-weight:700}@font-face{font-family:aeonikExtended;src:url(../media/AeonikExtendedTRIAL_Black-s.p.e5c858d7.otf)format("opentype");font-display:swap;font-weight:800}@font-face{font-family:aeonikExtended Fallback;src:local(Arial);ascent-override:76.2%;descent-override:18.85%;line-gap-override:0.0%;size-adjust:122.04%}.aeonikextended_9a2e60cd-module__5nehma__className{font-family:aeonikExtended,aeonikExtended Fallback}.aeonikextended_9a2e60cd-module__5nehma__variable{--font-aeonik-extended:"aeonikExtended","aeonikExtended Fallback"}
