:root{color:#f5f7fb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--app-side-gutter:max(8px, env(safe-area-inset-left), env(safe-area-inset-right));--bottom-nav-gap:max(8px, env(safe-area-inset-bottom));--bottom-nav-height:58px;--z-bottom-nav:5000;--z-fullscreen-map:6000;--visual-viewport-width:100vw;--visual-viewport-height:100dvh;--adaptive-nav-rail-width:76px;background:#05070a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root,.appShell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text}body{min-width:0;min-height:100vh;min-height:var(--visual-viewport-height);background:radial-gradient(circle at top,#182234 0,#05070a 42%,#020304 100%);margin:0;overflow-x:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.appShell{min-width:0;min-height:100vh;min-height:var(--visual-viewport-height);max-width:560px;padding:env(safe-area-inset-top) var(--app-side-gutter) calc(var(--bottom-nav-height) + var(--bottom-nav-gap) + 24px);margin:0 auto;position:relative}.initialShell{min-height:100vh;padding:max(22px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom));place-items:center;display:grid}.reactShellFallback{min-height:calc(100vh - var(--bottom-nav-height) - var(--bottom-nav-gap) - 24px)}.initialShellCard{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090f18d1;border:1px solid #ffffff1a;border-radius:24px;align-items:center;gap:14px;width:min(100%,420px);padding:18px;display:flex;box-shadow:0 24px 80px #0000005c}.initialShellLogo{color:#031018;letter-spacing:-.08em;background:linear-gradient(135deg,#5eead4,#60a5fa);border-radius:18px;flex:none;place-items:center;width:52px;height:52px;font-weight:900;display:grid}.initialShellEyebrow{color:#93c5fd;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}.initialShell h1{letter-spacing:-.04em;margin:2px 0 4px;font-size:21px;line-height:1.08}.initialShell p{color:#b9c7d8;margin:0;font-size:13px;line-height:1.35}.topBar{justify-content:space-between;align-items:center;gap:10px;padding:14px 0 8px;display:flex}h1,h2,p{margin:0}h1{letter-spacing:-.04em;font-size:25px;line-height:1.05}h2{margin-bottom:8px;font-size:17px}p{color:#aab4c4;line-height:1.45}.eyebrow{color:#d7ff52;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:800}.rideScreen,.setupScreen{min-height:100%}.bigMetric{text-align:center;background:linear-gradient(#d7ff5214,#ffffff08);border:1px solid #d7ff5240;border-radius:24px;margin-top:6px;padding:20px 14px 22px;box-shadow:0 20px 60px #00000059}.bigMetricLabel{color:#aab4c4;text-transform:uppercase;letter-spacing:.1em;font-size:15px;font-weight:700}.bigMetricValue{letter-spacing:-.08em;margin-top:10px;font-size:clamp(84px,28vw,152px);font-weight:900;line-height:.92}.bigMetricUnit{color:#d7ff52;letter-spacing:-.03em;font-size:28px;font-weight:900}.metricGrid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.metricCard{background:#ffffff0e;border:1px solid #ffffff14;border-radius:18px;min-height:104px;padding:12px}.metricCard.wide{grid-column:1/-1}.metricCard span{color:#aab4c4;margin-bottom:8px;font-weight:700;display:block}.metricCard strong{letter-spacing:-.04em;font-size:36px;line-height:1;display:block}.metricCard small{color:#d7ff52;margin-top:8px;font-weight:800;display:block}.sensorFooter,.statusList{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.sensorStatus{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:900;display:inline-flex}.sensorStatus small{color:#aab4c4;text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.sensorDot{background:#6d7480;border-radius:50%;width:10px;height:10px}.sensorStatus--connected .sensorDot{background:#d7ff52}.sensorStatus--connecting .sensorDot{background:#ffd166}.sensorStatus--error .sensorDot{background:#ff5d73}.sensorStatus--disconnected .sensorDot{background:#ff8f3d}.panel{background:#ffffff0e;border:1px solid #ffffff14;border-radius:20px;margin-top:10px;padding:12px}.collapsiblePanel{padding:0;overflow:hidden}.collapsiblePanel>summary,.routePicker>summary{cursor:pointer;color:#f5f7fb;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:12px;font-size:16px;font-weight:950;list-style:none;display:flex}.collapsiblePanel>summary::-webkit-details-marker{display:none}.routePicker>summary::-webkit-details-marker{display:none}.collapsiblePanel>summary:after,.routePicker>summary:after{content:"▾";color:#d7ff52;font-size:15px;transition:transform .16s}.collapsiblePanel:not([open])>summary:after,.routePicker:not([open])>summary:after{transform:rotate(-90deg)}.collapsiblePanel>summary small,.routePicker>summary small{text-overflow:ellipsis;white-space:nowrap;color:#aab4c4;margin-left:auto;font-size:12px;font-weight:850;overflow:hidden}.collapsibleBody{padding:0 12px 12px}.routePicker{background:#0000002e;border:1px solid #ffffff14;border-radius:16px;margin:8px 0 12px;overflow:hidden}.routePicker>summary{min-height:40px;padding:10px;font-size:13px}.routePicker .routeTable{margin:0 8px 10px}.buttonStack{grid-template-columns:1fr;gap:10px;margin-top:16px;display:grid}.button{cursor:pointer;border:0;border-radius:999px;min-height:48px;padding:0 18px;font-weight:900}.button:disabled{opacity:.65;cursor:wait}.buttonPrimary{color:#05070a;background:#d7ff52}.buttonGhost{color:#f5f7fb;background:#ffffff1a}.field{color:#aab4c4;gap:8px;margin-top:12px;font-weight:800;display:grid}.field input{color:#f5f7fb;background:#00000040;border:1px solid #ffffff24;border-radius:16px;width:100%;padding:14px}.hint{margin-top:10px;font-size:13px}.recorderFirstPanel{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.recorderFirstPanel h2,.recorderFirstPanel p{margin:0}.recorderFirstPanel .button{flex:none;min-height:42px}@media (width<=420px){.recorderFirstPanel{flex-direction:column;align-items:stretch}}.errorBox{left:50%;bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-gap) + 14px);color:#fff;background:#3c0a12eb;border:1px solid #ff5d7359;border-radius:18px;width:min(520px,100vw - 24px);padding:12px;position:fixed;transform:translate(-50%)}.errorBox p{color:#fff;font-size:13px}.savedRidePanel .button{width:100%;margin-top:14px}.savedRidePanel p+.hint{margin-top:10px}.compactButtons{gap:8px}.logPanel{margin-top:14px}.logStats{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.logStats span{color:#d7ff52;background:#00000038;border:1px solid #ffffff1a;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.successText{color:#d7ff52;margin-top:8px}.errorText{color:#ff8f9d;margin-top:8px}.replayPanel{margin-top:10px}.routeDetailScreen{z-index:30;padding:max(10px, env(safe-area-inset-top)) 8px max(16px, env(safe-area-inset-bottom));background:radial-gradient(circle at top,#182234 0,#05070a 42%,#020304 100%);position:fixed;inset:0;overflow-y:auto}.detailTopBar{z-index:4;padding:max(10px, env(safe-area-inset-top)) 8px 8px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#05070ae6;justify-content:flex-start;margin:-10px -8px 0;position:sticky;top:0}.backButton{color:#efffba;background:#d7ff521f;border:1px solid #d7ff5247;border-radius:999px;min-height:42px;padding:0 13px;font-size:13px;font-weight:950}.routeListHero .routeControls{margin-top:0}.trainingStats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.trainingStats>div{background:#00000038;border:1px solid #ffffff17;border-radius:15px;min-width:0;padding:10px}.trainingStats span{color:#8f9caf;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:950;display:block}.trainingStats strong{color:#fff;margin-top:6px;font-size:24px;line-height:1;display:block}.trainingStats small{text-overflow:ellipsis;white-space:nowrap;color:#d7ff52;margin-top:6px;font-size:11px;font-weight:850;display:block;overflow:hidden}.rideSummaryPanel{background:linear-gradient(#d7ff5213,#ffffff0b);border-color:#d7ff5229}.summaryHeader{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.summaryHeader p{font-size:13px}.summaryFreshness{color:#eaff9b;letter-spacing:.08em;text-transform:uppercase;background:#d7ff521a;border:1px solid #d7ff5238;border-radius:999px;flex:none;padding:5px 8px;font-size:10px;font-weight:950}.summaryStats strong{letter-spacing:-.04em;font-size:clamp(18px,5vw,24px)}.summarySourceGrid{gap:7px;margin-top:10px;display:grid}.summarySourceGrid span{color:#aab4c4;background:#0000002e;border:1px solid #ffffff17;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:800}.summarySourceGrid strong{color:#fff}.summaryTabs{margin-top:12px}.summaryTableWrap{width:100%;margin-top:10px;padding-bottom:2px;overflow-x:auto}.summaryTable{gap:6px;min-width:480px;display:grid}.summaryTableHeader,.summaryTableRow{grid-template-columns:minmax(132px,1.35fr) 48px 82px 92px 64px;align-items:center;gap:8px;display:grid}.summaryTableHeader{color:#8f9caf;letter-spacing:.08em;text-transform:uppercase;padding:0 10px;font-size:10px;font-weight:950}.summaryTableRow{color:#dce6f5;background:#00000030;border:1px solid #ffffff16;border-radius:14px;min-height:48px;padding:8px 10px;font-size:12px;font-weight:850}.summaryTableRow>strong{color:#d7ff52}.summaryPeriod{gap:2px;min-width:0;display:grid}.summaryPeriod strong{color:#fff;font-size:13px}.summaryPeriod small{text-overflow:ellipsis;white-space:nowrap;color:#8f9caf;font-size:10px;font-weight:800;overflow:hidden}.routeTablePanel .routeTable{max-height:none;margin-bottom:0}.detailHero h2{font-size:16px;line-height:1.25}.chartWrap{background:#151515;border:1px solid #ffffff0f;border-radius:14px;margin-top:8px;padding:6px}.chartWrap svg{width:100%;height:auto;display:block;overflow:visible}.chartAxis{stroke:#bebebe85;stroke-width:1.4px}.chartGrid{stroke:#ffffff09;stroke-width:1px}.chartLine{fill:none;stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.rideChartSvg{background:#151515;border-radius:8px;width:100%;display:block}.chartArea{stroke:none;mix-blend-mode:screen}.chartAreaSpeed{fill:#7fdcff1f}.chartAreaCadence{fill:#57dc911a}.chartGapBand rect{fill:#ff5b5b2e;stroke:#ffb65e6b;stroke-width:.7px;vector-effect:non-scaling-stroke}.chartGapBand.gpsGap rect{fill:#ffbe5026}.chartGapBand.sensorGap rect{fill:#ff588424}.chartGapBand text{fill:#ffeabfdb;letter-spacing:-.02em;pointer-events:none;font-size:8px;font-weight:950}.chartMotionBand rect{stroke-width:.7px;vector-effect:non-scaling-stroke}.chartMotionBand.stopBand rect{fill:#ffd16652;stroke:#ffd166db}.chartMotionBand.bikeWalkingBand rect{fill:#c284ff57;stroke:#c284ffe0}.chartMotionBand text{fill:#ffffffc7;pointer-events:none;font-size:7px;font-weight:1000}.chartManualStopBand rect{fill:#a855f747;stroke:#d8b4feeb;stroke-width:.9px;stroke-dasharray:4 2;vector-effect:non-scaling-stroke}.chartManualStopBand.draft rect{fill:#2dd4bf38;stroke:#5eead4f2}.chartManualStopBand text{fill:#ffffffe6;pointer-events:none;font-size:7px;font-weight:1000}.manualAnchorLine,.manualMarkerLine line{stroke:#5eead4f2;stroke-width:1.4px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.manualMarkerLine.end line{stroke:#d8b4fefa}.manualMarkerLine text{fill:#fff;paint-order:stroke;stroke:#05070abf;stroke-width:2px;font-size:8px;font-weight:1000}.interactiveChart{cursor:crosshair;touch-action:none}.chartAxisLabel,.chartAxisUnit{fill:#dadae0c2;font-size:11px;font-weight:650}.cadenceAxisLabel{fill:#befadab8}.speedAxisLabel{fill:#e0e2eab8}.chartCursor{stroke:#a4ffde8f;stroke-width:1.2px}.chartGuide{stroke-width:.7px;stroke-dasharray:4 4;opacity:.58;vector-effect:non-scaling-stroke}.speedGuide{stroke:#88dfff8f}.cadenceGuide{stroke:#74e8a480}.chartDot{stroke:#05070a;stroke-width:1.2px}.speedDot{fill:#94e4ff}.cadenceDot{fill:#77e69f}.chartReadout{color:#aab4c4;white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:-6px;font-size:12px;font-weight:850;display:flex;overflow-x:auto}.chartReadout span{align-items:center;display:inline-flex}.chartReadout span+span:before{content:"·";color:#ffffff57;margin-right:10px}.chartLineSpeed{stroke:#9ee5ff;filter:drop-shadow(0 0 1px #76d6ff3d)}.chartLineCadence{stroke:#79e9a4;opacity:.86;filter:drop-shadow(0 0 1px #67e59733)}.chartLegend{color:#dadae0b8;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:13px;font-weight:700;display:flex}.motionLegend{color:#dadae0b8;flex-wrap:wrap;gap:10px;margin-top:3px;font-size:11px;font-weight:900;display:flex}.stopLegendDot:before,.walkLegendDot:before,.manualStopLegendDot:before,.stopMapLegend:before,.walkMapLegend:before{content:"";border-radius:999px;width:9px;height:9px;margin-right:5px;display:inline-block}.stopLegendDot:before,.stopMapLegend:before{background:#ffd166;box-shadow:0 0 9px #ffd16673}.walkLegendDot:before,.walkMapLegend:before{background:#c084fc;box-shadow:0 0 9px #c084fc73}.manualStopLegendDot:before{background:#a855f7;box-shadow:0 0 9px #a855f780}.speedLegend:before,.cadenceLegend:before{content:"";border-radius:999px;width:10px;height:10px;margin-right:6px;display:inline-block}.speedLegend:before{background:#d7ff52}.cadenceLegend:before{background:#72d6ff}.samsungChart{gap:8px;display:grid}.chartModeTabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.chartTab{text-align:left;color:#dce6f5;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:14px;gap:2px;padding:9px 10px;display:grid}.chartTab.active{background:linear-gradient(135deg,#72d6ff29,#d7ff5214);border-color:#72d6ff94}.chartTab:disabled{opacity:.42}.chartTab span,.chartSummary span{color:#8f9caf;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:900}.chartTab strong,.chartSummary strong{color:#fff;font-size:20px;line-height:1.1}.chartTab small,.chartSummary small{color:#aab4c4;font-size:11px;font-weight:800}.chartSummary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.chartSummary>div{background:#0000002e;border-radius:12px;gap:2px;padding:8px 10px;display:grid}.manualStopPanel{background:linear-gradient(135deg,#a855f71f,#2dd4bf0e);border:1px solid #a855f747;border-radius:16px;gap:8px;padding:10px;display:grid}.manualStopPanel>div:first-child{gap:2px;display:grid}.manualStopPanel strong{color:#fff;font-size:14px;font-weight:950}.manualStopPanel small,.manualStopHint{color:#b7c5d9;margin:0;font-size:12px;font-weight:750}.manualStopActions{flex-wrap:wrap;gap:8px;display:flex}.manualMarkerGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.manualMarkerCard{background:#0000002e;border:1px solid #ffffff1f;border-radius:14px;gap:6px;padding:9px;display:grid}.manualMarkerCard.start{border-color:#5eead457}.manualMarkerCard.end{border-color:#d8b4fe5c}.manualMarkerCard span{color:#9fb0c4;letter-spacing:.08em;font-size:10px;font-weight:1000}.manualMarkerCard strong{font-size:18px}.manualMarkerCard button{color:#eff7ff;background:#ffffff14;border:1px solid #ffffff21;border-radius:10px;padding:7px 8px;font-size:11px;font-weight:900}.manualMarkerCard>div{grid-template-columns:1fr 1fr;gap:6px;display:grid}.pillButton{color:#e9f2ff;background:#ffffff12;border:1px solid #ffffff24;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.pillButton.active{background:#2dd4bf2e;border-color:#5eead4a8}.pillButton.primary{background:linear-gradient(135deg,#a855f752,#2dd4bf2e);border-color:#d8b4feb3}.pillButton:disabled{opacity:.55}.manualStopError{color:#fecaca;margin:0;font-size:12px;font-weight:850}.manualStopList{flex-wrap:wrap;gap:6px;display:flex}.manualStopList span{color:#f4e8ff;background:#a855f72e;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:11px;font-weight:850;display:inline-flex}.manualStopList button{color:#fff;background:#ffffff29;border:0;border-radius:999px;place-items:center;width:18px;height:18px;padding:0;font-weight:1000;display:inline-grid}.emptyChart{color:#aab4c4;background:#0000002e;border-radius:18px;place-items:center;min-height:150px;font-weight:850;display:grid}.samsungLegendText{justify-content:space-between;margin-top:-4px}.replayStats{margin-bottom:10px}.proxyPanel{background:linear-gradient(#d7ff5211,#ffffff0b);border-color:#d7ff5229}.qualityPanel{background:linear-gradient(#ffd16611,#ffffff0a);border-color:#ffd1662e}.qualityHeader{gap:3px;margin-bottom:10px;display:grid}.qualityHeader strong{color:#fff;font-size:15px;font-weight:950}.qualityHeader small{color:#9aa8bb;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:850;overflow:hidden}.qualityChips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.qualityChips span{color:#ffe7a1;background:#ffd16618;border:1px solid #ffd1663d;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.qualityGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.qualityCard{background:#00000038;border:1px solid #ffffff16;border-radius:14px;min-width:0;padding:9px}.qualityCard span{color:#8f9caf;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:950;display:block}.qualityCard strong{text-overflow:ellipsis;white-space:nowrap;color:#fff;margin-top:5px;font-size:17px;line-height:1.1;display:block;overflow:hidden}.qualityCard small{text-overflow:ellipsis;white-space:nowrap;color:#d7ff52;margin-top:5px;font-size:10px;font-weight:850;display:block;overflow:hidden}.qualityCard.strong{background:#ffd16614;border-color:#ffd16647}.gapList,.motionAnnotationList{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gapList span,.motionAnnotationList span{color:#ffd6b8;background:#ff68681a;border:1px solid #ff996642;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.motionAnnotationList span{color:#eadcff;background:#c084fc1a;border-color:#c084fc47}.proxyGrid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.proxyCard{background:#00000038;border:1px solid #ffffff17;border-radius:15px;min-width:0;padding:10px}.proxyCard.strong{background:#d7ff5214;border-color:#d7ff5247}.proxyCard.wide{grid-column:1/-1}.proxyCard span{color:#8f9caf;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:950;display:block}.proxyCard strong{text-overflow:ellipsis;white-space:nowrap;color:#fff;margin-top:5px;font-size:18px;line-height:1.12;display:block;overflow:hidden}.proxyCard small{text-overflow:ellipsis;white-space:nowrap;color:#d7ff52;margin-top:5px;font-size:11px;font-weight:850;display:block;overflow:hidden}.eventTimeline{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.eventTimeline li{color:#aab4c4;grid-template-columns:82px 1fr;align-items:start;gap:8px;font-size:13px;display:grid}.eventTimeline strong{color:#d7ff52;font-variant-numeric:tabular-nums}.replayScreen .topBar{padding-bottom:8px}.replaySelect select{color:#f5f7fb;background:#00000059;border:1px solid #ffffff24;border-radius:16px;width:100%;padding:14px}.routeControls{flex-wrap:wrap;gap:8px;margin:10px 0 12px;display:flex}.controlPill{color:#dce6f5;background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900}.controlPill.active{color:#f5ffd4;background:#d7ff5229;border-color:#d7ff528c}.routeTable,.trainingList{gap:8px;max-height:none;margin:10px 0 14px;padding-right:0;display:grid;overflow:visible}.trainingCard{text-align:left;color:#dce6f5;background:linear-gradient(135deg,#fff1,#ffffff09);border:1px solid #ffffff1a;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px 10px;width:100%;padding:12px;font-size:12px;font-weight:800;display:grid;position:relative}.trainingCard.active{background:linear-gradient(135deg,#d7ff5224,#72d6ff14);border-color:#d7ff5294}.trainingDate{color:#aab4c4;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:900;overflow:hidden}.trainingDistance{color:#fff;letter-spacing:-.04em;grid-column:1/-1;margin-top:2px;font-size:28px;font-weight:980;line-height:1}.trainingMeta,.trainingQuality{color:#dce6f5;flex-wrap:wrap;grid-column:1/-1;gap:0 10px;font-size:12px;font-weight:850;display:flex}.trainingMeta span+span:before{content:"·";color:#ffffff57;margin-right:10px}.trainingQuality{color:#8f9caf;font-size:11px}.dayGroupPanel{border-left:0;border-right:0;border-radius:0;margin-left:-8px;margin-right:-8px;padding-bottom:10px}.dayTableWrap{background:#ffffff08;border:1px solid #ffffff1a;border-radius:0;margin-top:8px;overflow:hidden}.dayTable{color:#dce6f5;width:100%;font-size:12px}.dayTableHeader,.dayTableRow{grid-template-columns:minmax(0,1.45fr) 40px minmax(72px,.85fr) minmax(78px,.9fr);align-items:center;column-gap:6px;display:grid}.trainingSubRow{grid-template-columns:minmax(92px,.92fr) minmax(92px,1fr) minmax(62px,.62fr);align-items:center;column-gap:10px;display:grid}.dayTableHeader{color:#8f9caf;letter-spacing:.04em;text-transform:uppercase;background:#101622f5;border-bottom:1px solid #ffffff1f;min-height:34px;padding:7px 8px;font-size:10px;font-weight:950}.dayTableHeader span:not(:first-child),.daySessions,.distanceCell,.dayDuration,.subDistance,.subSprintBadge{text-align:right;font-variant-numeric:tabular-nums}.dayTableRow{color:#dce6f5;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #ffffff13;border-radius:0;width:100%;min-height:51px;padding:6px 8px;transition:background .16s,color .16s}.dayTableRow:hover,.dayTableRow.open{background:#d7ff5213}.dayName{align-items:center;gap:5px;min-width:0;display:flex}.dayDateStack,.subDate,.subTime,.subSprintBadge{gap:1px;min-width:0;display:grid}.dayDateStack strong,.subDate strong,.subTime strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;overflow:hidden}.dayDateStack small,.subDate small,.subTime small,.subSprintBadge small{color:#8f9caf;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;font-size:10px;font-weight:850;overflow:hidden}.dayChevron{color:#d7ff52;flex:0 0 12px;font-size:12px;font-weight:950;display:inline-flex}.daySessions,.dayDuration,.subDuration{color:#e8edf7;font-size:13px}.distanceCell{color:#d7ff52;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:980;overflow:hidden}.subDistance{color:#d7ff52;white-space:nowrap;min-width:max-content;font-size:15px;font-weight:980}.trainingSubRows{background:#080d1459}.trainingSubRow{color:#dce6f5;cursor:pointer;text-align:left;background:#ffffff06;border:0;border-bottom:1px solid #fff1;border-radius:0;width:100%;min-height:43px;padding:5px 8px 5px 25px}.trainingSubRow:hover{background:#72d6ff13}.trainingSubRow.empty{color:#8f9caf;cursor:default;min-height:0;padding:10px 8px 10px 25px;font-size:12px;display:block}.subDate strong,.subTime strong{font-size:15px}.subTime strong{color:#dce6f5}.subDistance{justify-self:end;font-size:16px}.subSprintBadge{color:#8f9caf;background:#ffffff0b;border:1px solid #ffffff14;border-radius:999px;justify-self:end;min-width:54px;padding:4px 7px;line-height:1.05;display:inline-grid}.subSprintBadge.active{color:#d7ff52;background:#d7ff5214;border-color:#d7ff5252}.subSprintBadge strong{color:inherit;font-size:13px;font-weight:980}.subSprintBadge small{color:inherit;opacity:.8;letter-spacing:.03em;font-size:8px}.subDuration{font-size:12px}.subMeta{color:#8f9caf;font-size:10px;display:none}@media (width<=520px){.dayGroupPanel{padding-left:8px;padding-right:8px}.dayTableHeader,.dayTableRow{grid-template-columns:minmax(0,1.42fr) 34px minmax(68px,.82fr) minmax(76px,.9fr);column-gap:4px}.trainingSubRow{grid-template-columns:minmax(88px,.9fr) minmax(86px,1fr) minmax(56px,.58fr);column-gap:8px}.dayTableHeader{letter-spacing:.025em;padding:6px;font-size:9px}.dayTableRow{padding:6px}.trainingSubRow{padding:5px 6px 5px 20px}.dayDateStack strong,.subDate strong,.subTime strong{font-size:12px}.dayDateStack small,.subDate small{font-size:9px}.daySessions,.dayDuration,.subDuration{font-size:12px}.distanceCell{font-size:14px}.subDistance{font-size:15px}}.dayGroupList{scroll-snap-type:x proximity;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.dayCard{scroll-snap-align:start;min-width:168px}.dayCard .trainingDistance{font-size:22px}.sourceMiniBadge,.sourceBadge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:950;line-height:1.4}.sourceMiniBadge.cyclab,.sourceBadge.cyclab{color:#e8ff8e;background:#d7ff5229}.sourceMiniBadge.samsung,.sourceBadge.samsung{color:#aee8ff;background:#72d6ff24}.loadingCopy{color:#d7ff52;font-size:13px;font-weight:900}.skeletonBlock{background:#ffffff13;border-radius:16px;position:relative;overflow:hidden}.skeletonBlock:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);animation:1.35s ease-in-out infinite skeletonSweep;position:absolute;inset:0;transform:translate(-100%)}.statSkeleton{min-height:72px}.trainingCardSkeleton{min-height:96px}.warningText{color:#ffd166;margin-top:8px;font-size:13px}.loadErrorPanel{gap:10px;display:grid}@keyframes skeletonSweep{to{transform:translate(100%)}}.replayHero h2{margin-bottom:12px}.mapPanel{overflow:hidden}.routeMap{background:linear-gradient(#72d6ff14,#00000047);border:1px solid #ffffff14;border-radius:16px;margin-top:8px;padding:6px}.routeMapPreview{color:#f5f7fb;text-align:left;background:#00000038;border:1px solid #ffffff14;border-radius:16px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.routeMapPreview svg{width:100%;height:auto;display:block}.routeMapPreviewOverlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05070ab8;border:1px solid #ffffff1f;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.routeMapPreviewOverlay strong{font-size:14px;font-weight:950}.routeMapPreviewOverlay small{color:#aab4c4;font-size:11px;font-weight:850}.routeMapFullScreen{z-index:var(--z-fullscreen-map);background:#05070a;display:block;position:fixed;inset:0;overflow:hidden}.fullscreenMapHeader{z-index:8;padding:calc(10px + env(safe-area-inset-top)) 10px 8px;pointer-events:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid;position:absolute;top:0;left:0;right:0}.fullscreenMapHeader>*{pointer-events:auto}.mapTopPill{color:#f7fff8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1112e0;border:1px solid #ffffff29;border-radius:999px;min-height:42px;box-shadow:0 10px 24px #00000047}.fullscreenMapHeader .backButton{padding:0 14px;font-size:13px;font-weight:950}.mapShellCog{width:42px;padding:0;font-size:18px}.fullscreenMapTitle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#0c1112c2;border:1px solid #ffffff21;border-radius:999px;justify-self:center;min-width:0;max-width:min(52vw,280px);padding:7px 14px 8px;box-shadow:0 10px 24px #00000038}.fullscreenMapHeader h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;line-height:1.05;overflow:hidden}.fullscreenMapHeader .eyebrow,.fullscreenMapHeader small{color:#dae8deb8;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:900;display:block;overflow:hidden}.routeMapFullScreen .routeMap{background:#05070a;border:0;border-radius:0;width:100%;height:100%;min-height:0;margin:0;padding:0;display:block;position:relative;overflow:hidden}.routeMapFullScreen .routeMapCanvas{width:100%;height:100%}.routeMapCanvas{background:#060a0f;min-height:0;position:relative;overflow:hidden}.routeMapCanvas svg{width:100%;height:100%;display:block}.routeMapFullScreen .interactiveMap{border-radius:0}.routeMapHud{left:12px;right:auto;bottom:calc(var(--map-active-sheet-height,104px) + 18px + env(safe-area-inset-bottom));z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c1112b8;border-radius:999px;align-items:center;gap:4px;width:auto;max-width:calc(100% - 92px);margin:0;padding:4px;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 24px #0000003d}.mapFloatingControls{right:12px;bottom:calc(var(--map-active-sheet-height,104px) + 14px + env(safe-area-inset-bottom));z-index:5;gap:8px;display:grid;position:absolute}.mapFloatingControls button{color:#f2fff8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1112e0;border:1px solid #ffffff24;border-radius:16px;width:44px;height:44px;font-size:20px;font-weight:950;box-shadow:0 10px 24px #00000047}.mapFloatingControls button.active{color:#b9ffd1;background:linear-gradient(135deg,#79e9a447,#0c1112e6);border-color:#79e9a4b8}.routeMapBottomControls.mapBottomSheet{max-height:min(22vh,172px);padding:6px 14px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0f0e;border:1px solid #ffffff1c;border-bottom:0;border-radius:24px 24px 0 0;gap:8px;display:grid;overflow-y:hidden;box-shadow:0 -18px 40px #00000057}.routeMapFullScreen .routeMapBottomControls.mapBottomSheet{z-index:7;height:auto;max-height:104px;margin:0;position:absolute;bottom:0;left:0;right:0}.routeMapFullScreen .routeMapBottomControls.mapBottomSheet.expanded{max-height:min(64vh,560px);overflow-y:auto}.routeMapFullScreen .routeMapBottomControls.mapBottomSheet:not(.expanded) .mapSheetContent{display:none}body.map-dialog-open .bottomNav{opacity:0;pointer-events:none;transform:translate(-50%)translateY(16px)}.mapSheetHandle{background:0 0;border:0;justify-self:center;width:74px;height:20px;margin:-2px 0 0;padding:0}.mapSheetHandle span{background:#deebe18a;border-radius:999px;width:42px;height:5px;margin:7px auto;display:block}.mapSheetHeader{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.mapSheetHeader strong{color:#f3fff6;font-size:18px;font-weight:950;display:block}.mapSheetHeader small{color:#dae8dea3;font-size:11px;font-weight:850;display:block}.mapSheetClose{color:#ecfff2;background:#46544dc7;border:0;border-radius:50%;width:48px;height:48px;font-size:28px;line-height:1}.mapBottomSheet:not(.expanded) .mapSheetClose{display:none}.mapSheetContent{gap:8px;display:grid}.activityHeatmapMap .mapSheetHeader{display:none}.activityLayerControls{gap:8px;display:grid}.activityLayerAdvanced{background:#ffffff09;border:1px solid #ffffff14;border-radius:16px;gap:8px;padding:8px;display:grid}.bikeHudMetric{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;min-width:0;min-height:26px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex;overflow:hidden;box-shadow:0 8px 22px #00000042;color:#f1ffd4!important;background:#050908c2!important;border:1px solid #d7ff5238!important}.activityMapToggles{grid-template-columns:repeat(3,minmax(0,1fr))}.activityMapToggles button{min-height:34px}.routeMap:not(.emptyMap)>.routeMapBottomControls{margin-top:6px}.routeMapFullScreen .routeMap:not(.emptyMap)>.routeMapBottomControls{margin-top:0}.mapLayerTabs{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px;display:grid}.mapLayerTab{color:#dce6f5;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:950}.mapLayerTab.active{color:#fff4d7;background:linear-gradient(135deg,#ff8f3d33,#d7ff5214);border-color:#ffb1429e}.mapLayerTab:disabled{opacity:.42}.segmentModeTabs{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px;display:grid}.segmentModeTab{color:#dce6f5;text-align:left;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:12px;gap:1px;padding:7px 8px;display:grid}.segmentModeTab span{font-size:12px;font-weight:950}.segmentModeTab small{color:#8f9caf;font-size:10px;font-weight:850}.segmentModeTab.active{color:#fff;background:linear-gradient(135deg,#72d6ff2e,#d7ff5214);border-color:#72d6ff94}.routeMap svg{width:100%;height:auto;display:block}.routeMap .routeMapCanvas svg{height:100%}.interactiveMap{touch-action:none;cursor:grab;border-radius:16px}.emptyMap{place-items:center;min-height:180px;display:grid}.mapBg{fill:#dbe8d2}.mapTile{opacity:1;transition:opacity .16s}.cyclingMapTile{image-rendering:auto;filter:saturate(1.18)contrast(1.12)brightness(.98)}.cyclePathLayer{pointer-events:none}.cyclePathCasing,.cyclePathOverlay{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cyclePathCasing{stroke:#ffffffdb;stroke-width:4.4px;opacity:.72}.cyclePathOverlay{opacity:.9}.cyclePathOverlay.ddr{stroke:red;stroke-width:2px}.cyclePathOverlay.cpr{stroke:orange;stroke-width:2px}.cyclePathOverlay.dpr{stroke:green;stroke-width:2px}.cyclePathOverlay.footway{stroke:#90ee90;stroke-width:1.8px}.cyclePathOverlay.lane{stroke:#00f;stroke-width:2px}.cyclePathOverlay.contraFlow{stroke:#add8e6;stroke-width:2px}.cyclePathOverlay.other{stroke:#000;stroke-width:1.8px}.heatmapLayer{mix-blend-mode:screen;pointer-events:none}.heatmapCell{fill:#ff9f1c;stroke:#fff2a62e;stroke-width:.25px;filter:drop-shadow(0 0 5px #ff8f3d80);transition:opacity .16s}.mapGrid{fill:none;stroke:#ffffff12;stroke-width:1px}.routePoint{fill:#ffffff2e}.mapRouteCasing,.routeSegmentCasing{fill:none;stroke:#030712c7;stroke-width:7.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.86}.routeSegmentCasing.active{stroke-width:9px;opacity:.92}.routeLine,.routeSegment{fill:none;stroke-width:3.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #0000006b)}.routeSegment{cursor:pointer;opacity:.9;transition:opacity .16s,stroke-width .16s,filter .16s}.routeSegment.active{stroke-width:5px;opacity:1;filter:drop-shadow(0 0 8px #ffffff47)}.routeOverviewLine{fill:none;stroke:#d7ff52;stroke-width:4.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 3px #0000008c);pointer-events:none;transition:opacity .16s}.routeOverviewLine.analysisMuted{opacity:.48}.routeOverviewCasing{stroke-width:8.4px}.routeSegmentHit{fill:none;stroke:#fff0;stroke-width:20px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;pointer-events:stroke}.selectedRouteSegment{stroke:#ffcf33;stroke-width:6px}.cyclabRouteLine,.segmentColor0{stroke:#d7ff52}.segmentColor1{stroke:#72d6ff}.segmentColor2{stroke:#79e9a4}.segmentColor3{stroke:#ffd166}.segmentColor4{stroke:#ff8f9d}.segmentBadge circle{fill:#05070aa8;stroke:#ffffff94;stroke-width:1px;transition:transform .16s,stroke .16s,opacity .16s}.segmentBadge.activeBadge circle{fill:#05070adb;stroke:#ffffffd6;stroke-width:1.2px}.segmentBadge.mutedBadge{opacity:.54}.segmentBadge text{fill:#fff;font-size:7.5px;font-weight:900}.pauseMarker{pointer-events:none}.pauseMarker circle{fill:#05070ad1;stroke:#ffd166f2;stroke-width:1.6px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px #ffd1666b)}.pauseMarker text{fill:#ffd166;font-size:10px;font-weight:1000}.bikeWalkingPath{fill:none;stroke:#c084fc;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;opacity:.82;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px #c084fc7a)}.bikeWalkingMarker{pointer-events:none}.bikeWalkingMarker circle{fill:#05070ad6;stroke:#c084fcf5;stroke-width:1.6px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px #c084fc75)}.bikeWalkingMarker text{fill:#e9d5ff;font-size:10px;font-weight:1000}.samsungRouteLine{stroke:#72d6ff;stroke-width:3px;opacity:.92;filter:drop-shadow(0 0 8px #72d6ff40)}.startMarker{fill:#d7ff52;stroke:#05070a;stroke-width:2.2px}.endMarker{fill:#ff5d73;stroke:#05070a;stroke-width:2.2px}.mapLegend{color:#aab4c4;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;font-weight:900;display:flex}.mapLegendToggle{color:#dce6f5;background:#00000061;border:1px solid #ffffff29;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:950}.mapLegendToggle.active{color:#111827;background:#ffffffe6;border-color:#ff5050b8}.mapReadabilityControls{color:#cbd5e1;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;font-weight:850;display:flex}.mapReadabilityControls label,.mapReadabilityControls span{background:#ffffff0e;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:4px 8px;display:inline-flex}.mapReadabilityControls input{accent-color:#d7ff52}.routeMapAnalysisControls{gap:10px;display:grid}.mapModeTabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.mapModeTabs button{color:#dce6f5;text-align:left;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:14px;gap:2px;min-width:0;min-height:48px;padding:7px 8px;display:grid}.mapModeTabs button strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:950;overflow:hidden}.mapModeTabs button small{color:#8f9caf;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:850;overflow:hidden}.mapModeTabs button.active{color:#f6ffdd;background:linear-gradient(135deg,#d7ff522e,#79e9a412);border-color:#d7ff527a}.mapModeTabs button.active small{color:#efffc4b8}.routeOverviewPanel{gap:10px;display:grid}.routeOverviewStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.routeOverviewStats>span{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;min-width:0;padding:8px}.routeOverviewStats strong,.routeOverviewStats small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.routeOverviewStats strong{color:#f5ffe0;font-size:13px;font-weight:950}.routeOverviewStats small{color:#8f9caf;text-transform:uppercase;margin-top:2px;font-size:9px;font-weight:850}.routeMapQuickActions,.routeEventControls{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px;display:grid}.routeMapQuickActions button,.routeEventControls button,.segmentBadgeToggle{color:#dce6f5;background:#ffffff0f;border:1px solid #ffffff1c;border-radius:13px;min-height:44px;padding:8px 10px;font-size:11px;font-weight:900}.routeMapQuickActions button.active,.routeEventControls button.active{color:#d9ffe6;background:#79e9a421;border-color:#79e9a485}.segmentBadgeToggle{align-items:center;gap:7px;display:flex}.segmentBadgeToggle input{accent-color:#d7ff52;width:17px;height:17px}.routeEventControls .mapReadabilityControls{grid-column:1/-1}.segmentHistoryLoading,.segmentHistoryError,.segmentMatchStatus,.segmentMatchError{color:#aab4c4;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:850;display:flex}.segmentHistoryError,.segmentMatchError{justify-content:space-between;align-items:flex-start}.segmentHistoryError .button,.segmentMatchError .button{flex:none;min-height:44px}.mapInlineSpinner{border:2px solid #fff3;border-top-color:#d7ff52;border-radius:50%;flex:0 0 16px;width:16px;height:16px;animation:.8s linear infinite map-inline-spin}@keyframes map-inline-spin{to{transform:rotate(360deg)}}.mapReadabilityControls i{border-radius:999px;width:10px;height:10px;display:inline-block}.startLegendDot{background:#d7ff52}.endLegendDot{background:#ff5d73}.stopLegendDotMini{background:#ffd166}.walkLegendDotMini{background:#c084fc}.segmentSummary{white-space:normal;color:#aab4c4;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:12px;font-weight:800;display:flex;overflow:visible}.segmentSummary strong{color:#f5f7fb}.segmentMatchQuality{color:#caffdc;background:#79e9a41a;border:1px solid #79e9a459;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.segmentSummary .segmentMatchQuality:before{content:none;margin:0}.segmentFocusButton{color:#f5ffda;white-space:nowrap;background:#d7ff521a;border:1px solid #d7ff5266;border-radius:999px;min-height:44px;margin-left:auto;padding:8px 12px;font-size:11px;font-weight:900}.segmentFocusButton[aria-pressed=true]{background:#79e9a424;border-color:#79e9a49e}.segmentSummary span+span:before{content:"·";color:#ffffff57;margin-right:8px}.segmentStrip{scrollbar-width:none;gap:7px;padding:7px 0 2px;display:flex;overflow-x:auto}.segmentStrip::-webkit-scrollbar{display:none}.segmentChip{color:#dce6f5;text-align:left;background:#0003;border:1px solid #ffffff1a;border-radius:12px;flex:none;gap:2px;min-width:112px;min-height:44px;padding:7px 9px;display:grid}.segmentChip strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.segmentChip span{color:#9aa8bb;font-size:11px;font-weight:850}.segmentChip.active{background:#d7ff521a;border-color:#d7ff527a}.segmentHint{color:#8190a5;margin:4px 0 0;font-size:11px;font-weight:750;line-height:1.35}.segmentHistoryPanel{background:#0000002e;border:1px solid #ffffff14;border-radius:14px;margin-top:8px;padding:8px}.segmentHistoryHeader{color:#f5f7fb;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;font-weight:900;display:flex}.segmentHistoryHeader span{color:#9aa8bb}.segmentEffortInsights{background:linear-gradient(145deg,#0f2230eb,#070f18f0);border:1px solid #72d6ff29;border-radius:12px;gap:8px;margin-bottom:8px;padding:9px;display:grid}.segmentEffortInsightsHeader,.segmentTrendSummary,.segmentTrendAxis{justify-content:space-between;align-items:center;gap:8px;display:flex}.segmentEffortInsightsHeader>span:first-child{gap:1px;display:grid}.segmentEffortInsightsHeader strong,.segmentTrendSummary strong{color:#f5f7fb;font-size:12px;font-weight:950}.segmentEffortInsightsHeader small,.segmentTrendSummary span,.segmentTrendAxis{color:#91a0b4;font-size:10px;font-weight:800}.segmentPrBadge,.segmentResultTag{color:#101803;white-space:nowrap;background:#d7ff52;border-radius:999px;font-weight:950}.segmentPrBadge{padding:4px 7px;font-size:10px}.segmentEffortMetrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.segmentEffortMetrics>span{background:#ffffff0d;border-radius:9px;min-width:0;padding:6px 5px;display:grid}.segmentEffortMetrics strong{color:#eef4fb;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:950;overflow:hidden}.segmentEffortMetrics small{color:#8190a5;font-size:10px;font-weight:850}.segmentEffortMetrics .positive strong,.segmentTrendSummary .positive{color:#d7ff52}.segmentEffortMetrics .negative strong,.segmentTrendSummary .negative{color:#ff8999}.segmentRankingNotice{color:#c6d0df;background:#ffb74d17;border-radius:9px;margin:0;padding:7px;font-size:10px;font-weight:750;line-height:1.4}.segmentTrendBlock{gap:3px;display:grid}.segmentTrendChart{aspect-ratio:20/7;background:#01070c7a;border-radius:9px;justify-self:center;width:100%;max-width:320px;height:auto;margin-inline:auto;display:block;overflow:visible}.segmentTrendGrid{stroke:#ffffff14;stroke-width:1px;stroke-dasharray:3 5}.segmentTrendPrLine{stroke:#d7ff5257;stroke-width:1px;stroke-dasharray:4 4}.segmentTrendLine{fill:none;stroke:#72d6ff;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.segmentTrendPoint{fill:#72d6ff;stroke:#071018;stroke-width:1.5px;vector-effect:non-scaling-stroke}.segmentTrendPoint.best{fill:#d7ff52}.segmentTrendPoint.current{fill:#fff;stroke:#d7ff52;stroke-width:2.5px}.segmentTrendCurrentHalo{fill:none;stroke:#d7ff529e;stroke-width:1.5px;vector-effect:non-scaling-stroke}.segmentTrendAxis span:first-child,.segmentTrendAxis span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:35%;overflow:hidden}.segmentRankBlock{justify-items:start;gap:2px;display:grid}.segmentResultTag{padding:1px 4px;font-size:9px}.segmentResultTag.current{color:#dce6f5;background:#72d6ff2e}.segmentHistoryList{gap:6px;display:grid}.segmentHistoryItem{color:#dce6f5;text-align:left;background:#ffffff0b;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:48px minmax(0,1fr) 54px 54px 66px;align-items:center;gap:6px;min-height:44px;padding:7px;display:grid}.segmentHistoryItem.active{background:#d7ff5217;border-color:#d7ff5270}.segmentRank{color:#d7ff52;font-size:12px;font-weight:950}.segmentHistoryMain,.segmentHistoryMetric{min-width:0;display:grid}.segmentHistoryMain strong,.segmentHistoryMain small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.segmentHistoryMain strong,.segmentHistoryMetric strong{font-size:12px;font-weight:950}.segmentHistoryMain small,.segmentHistoryMetric small{color:#8f9caf;font-size:10px;font-weight:800}.segmentHistoryMetric{text-align:right}.startLegend:before,.endLegend:before,.cyclabLegend:before,.samsungLegend:before,.heatmapLegend:before,.heatmapError:before{content:"";border-radius:999px;width:10px;height:10px;margin-right:6px;display:inline-block}.startLegend:before{background:#d7ff52}.endLegend:before{background:#ff5d73}.cyclabLegend:before{background:#d7ff52}.samsungLegend:before{background:#72d6ff}.heatmapLegend:before{background:#ff9f1c;box-shadow:0 0 9px #ff8f3db3}.heatmapError:before{background:#ff5d73}@media (width<=420px){.segmentHistoryItem{grid-template-columns:48px minmax(0,1fr) 50px 70px}.segmentHistoryItem>.segmentHistoryMetric:nth-child(4){display:none}}@media (width<=520px){.routeRow{grid-template-columns:86px 1fr 70px}.routeRow span:nth-child(4),.routeRow span:nth-child(5),.routeRow span:nth-child(6){display:none}}@media (height<=680px){.bigMetric{padding:20px 16px 22px}.metricCard{min-height:98px}.metricCard strong{font-size:30px}}.heatmapEntryButton{color:#fff7dd;background:linear-gradient(135deg,#ff8f3d38,#d7ff5214);border:1px solid #ff9f1c6b;border-radius:16px;width:100%;margin-top:10px;padding:12px;font-size:14px;font-weight:950}.heatmapFullScreen{z-index:50;background:#05070a;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0;overflow:hidden}.heatmapTopBar{padding:calc(10px + env(safe-area-inset-top)) 10px 8px;background:linear-gradient(#05070af7,#05070ac2);border-bottom:1px solid #ffffff14;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.heatmapTopBar h1{text-overflow:ellipsis;white-space:nowrap;font-size:20px;overflow:hidden}.mapOptionsButton{color:#fff4bd;background:#ffcf3314;border:1px solid #ffcf3347;border-radius:14px;padding:10px 12px;font-size:12px;font-weight:950}.mapOptionsButton.active{color:#fff;background:linear-gradient(135deg,#ffcf333d,#ff8f3d29);border-color:#ffcf33b8}.mapOptionsSheet{z-index:55;top:calc(62px + env(safe-area-inset-top));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#070a0ff0;border:1px solid #ffffff24;border-radius:18px;gap:9px;padding:12px;display:grid;position:fixed;left:10px;right:10px;box-shadow:0 18px 50px #00000061}.optionBoxHeader{color:#fff;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;font-weight:950;display:flex}.optionBoxHeader.compact{margin-top:3px}.optionBoxHeader span{color:#aab4c4;font-size:12px;font-weight:900}.optionControlGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.optionControlGrid button,.optionResetButton{color:#dce6f5;background:#ffffff12;border:1px solid #ffffff1f;border-radius:13px;min-height:38px;font-size:12px;font-weight:950}.optionControlGrid button:active,.optionResetButton:active{background:#ffcf3329;transform:translateY(1px)}.overlayOptionsSheet{top:calc(64px + env(safe-area-inset-top))}.overlayToggleGrid button.active{color:#f5ffd4;background:linear-gradient(135deg,#d7ff522e,#72d6ff14);border-color:#d7ff5285}.compactOverlayGrid{grid-template-columns:1fr 1fr}.optionResetButton{color:#fff4bd;border-color:#ffcf3338}.heatmapCanvas{background:#060a0f;min-height:0;position:relative;overflow:hidden}.heatmapSvg{width:100%;height:100%;display:block}.gestureMap{touch-action:none;cursor:grab}.heatmapTile{filter:saturate(.65)brightness(.72)contrast(1.08)}.trackHeatmapLayer{mix-blend-mode:normal;pointer-events:none}.trackHeatmapHalo,.trackHeatmapLine{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trackHeatmapHalo{opacity:.42;mix-blend-mode:normal;stroke:#000000b3!important}.trackHeatmapLine{stroke:#ffcf33;opacity:.86;filter:drop-shadow(0 0 3px #00000094)}.trackStartDot{stroke:#05070a;stroke-width:1.1px;vector-effect:non-scaling-stroke;opacity:.88}.routeIntensityLayer,.routeSpeedLayer{mix-blend-mode:normal;pointer-events:none;isolation:isolate}.routeIntensityLine,.routeSpeedLine{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:none}.routeSpeedLine{filter:drop-shadow(0 0 2px #ffffff29)}.heatmapLoading{color:#aab4c4;text-align:center;place-items:center;height:100%;padding:20px;font-weight:900;display:grid}.heatmapMapHud{pointer-events:none;flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.heatmapMapHud span{color:#fff4bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000094;border:1px solid #ffcf3347;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950}.heatmapBottomControls{padding:10px 10px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#05070ad1,#05070afa);border-top:1px solid #ffffff14;gap:8px;display:grid}.layerControlPanel{max-height:34vh;overflow-y:auto}.heatmapDateLine{color:#aab4c4;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;font-weight:900;display:flex}.heatmapDateLine strong{color:#fff;font-size:13px}.layerControlTable{background:#ffffff09;border:1px solid #ffffff1a;gap:5px;display:grid}.layerControlHeader,.layerControlRow{grid-template-columns:76px minmax(0,1fr) 42px;align-items:center;column-gap:8px;display:grid}.layerControlHeader{color:#7f8da2;letter-spacing:.08em;text-transform:uppercase;min-height:24px;padding:4px 7px 0;font-size:9px;font-weight:950}.layerControlHeader span:last-child{text-align:center}.layerControlRow{color:#dce6f5;background:#03070ca8;border:1px solid #ffffff14;min-height:54px;margin:0 5px 5px;padding:5px 6px}.layerControlRow.active{background:#ffcf330f;border-color:#ffcf3357}.layerCheckCell{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:1px 6px;min-width:0;font-size:11px;font-weight:950;display:grid}.layerCheckCell input{accent-color:#ffcf33;grid-row:1/span 2;width:17px;height:17px}.layerCheckCell span,.layerCheckCell small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.layerCheckCell small{color:#8f9caf;font-size:9px;font-weight:850}.layerScaleCell{background:#ffffff0f;border:1px solid #ffffff21;height:24px;position:relative;overflow:hidden}.layerScaleCell:before,.layerScaleCell span{content:"";position:absolute;inset:0}.routeGradientScale:before,.gradientLegendScale:before{background:linear-gradient(90deg,#af0ae6,#145ff5,#14f5aa,#d0f514,#e60a0a)}.singleColorScale:before{background:linear-gradient(90deg,#ffcf3338,#ffcf33)}.mapOpacityScale:before{background:linear-gradient(90deg,#5f718447,#aabed2bd)}.mapOpacityScale span{background:#ffffff38;right:auto}.haloScale:before{background:linear-gradient(90deg,#ffffff0a,#000000d9)}.haloScale span{background:#ffcf3347;right:auto}.hudScale:before{background:repeating-linear-gradient(90deg,#d7ff5238 0 12px,#72d6ff3d 12px 24px)}.layerCogButton{color:#f5f7fb;background:#ffffff12;border:1px solid #ffffff21;justify-self:center;width:34px;height:34px;font-size:17px;font-weight:950}.layerCogButton:active{background:#ffcf332e;transform:translateY(1px)}.routeColorPicker{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:6px;display:grid}.routeColorPicker button{border:2px solid #ffffff24;border-radius:10px;width:100%;height:28px;box-shadow:inset 0 0 0 1px #00000052}.routeColorPicker button.active{border-color:#fff;box-shadow:0 0 0 2px #ffcf3338,0 0 12px #ffcf3338}.intensityClipControl{align-items:center;gap:0;min-width:0;display:grid;position:relative}.intensityGradientScale{background:linear-gradient(90deg,#0919ce,#0aebeb,#aaf514,#f61e1e);border:1px solid #ffffff21;border-radius:999px;height:22px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000052,0 6px 18px #00000047}.intensityGradientScale:before,.intensityGradientScale:after{content:"";z-index:1;background:repeating-linear-gradient(135deg,#05070ac7 0 4px,#05070a7a 4px 8px);position:absolute;top:0;bottom:0}.intensityGradientScale:before{width:var(--range-min,0%);left:0}.intensityGradientScale:after{left:var(--range-max,100%);right:0}.intensityGradientScale i{z-index:2;background:#fff;border-radius:99px;width:4px;position:absolute;top:-3px;bottom:-3px;box-shadow:0 0 0 2px #00000073,0 0 10px #ffffff73}.intensityGradientScale .rangeStart{left:var(--range-min,0%)}.intensityGradientScale .rangeEnd{left:var(--range-max,100%)}.dualRangeControl{min-height:32px}.dualRangeControl input[type=range]{accent-color:#ffcf33;pointer-events:none;appearance:none;background:0 0;width:100%;height:22px;margin:0;position:absolute;top:3px;left:0;right:0}.dualRangeControl input[type=range]::-webkit-slider-runnable-track{background:0 0;height:22px}.dualRangeControl input[type=range]::-webkit-slider-thumb{appearance:none;background:#fff;border:2px solid #05070ad1;border-radius:999px;width:22px;height:22px;box-shadow:0 0 0 2px #ffcf3342,0 2px 8px #00000080}.dualRangeControl input[type=range]::-moz-range-track{background:0 0;height:22px}.dualRangeControl input[type=range]::-moz-range-thumb{background:#fff;border:2px solid #05070ad1;border-radius:999px;width:20px;height:20px;box-shadow:0 0 0 2px #ffcf3342,0 2px 8px #00000080}.dualRangeControl input[type=range]::-webkit-slider-thumb{pointer-events:auto}.dualRangeControl input[type=range]::-moz-range-thumb{pointer-events:auto}.dualRangeControl .rangeMin{z-index:4}.dualRangeControl .rangeMax{z-index:3}.heatmapBottomControls{padding:6px 8px calc(8px + env(safe-area-inset-bottom));gap:5px}.layerControlPanel{max-height:27vh}.heatmapDateLine{font-size:11px;line-height:1.1}.heatmapDateLine strong{font-size:12px}.layerControlTable{background:#ffffff06;border-color:#ffffff14;gap:2px}.layerControlHeader,.layerControlRow{grid-template-columns:70px minmax(0,1fr) 34px;column-gap:6px}.layerControlHeader{letter-spacing:.075em;min-height:18px;padding:3px 5px 0;font-size:8px}.layerControlRow{min-height:42px;margin:0 3px 3px;padding:4px 5px}.layerCheckCell{gap:0 5px;font-size:10px}.layerCheckCell input{width:15px;height:15px}.layerCheckCell small{font-size:8px}.layerCogButton{width:30px;height:30px;font-size:15px}.routeLayerPreview{grid-template-columns:minmax(48px,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.routeLayerPreview span{border-radius:999px;height:5px;display:block;box-shadow:0 0 0 1px #00000059,0 0 8px #ffffff14}.routeLayerPreview small{color:#8f9caf;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:900;overflow:hidden}.layerOptionsRow .optionBackLabel{color:#fff4bd;text-align:left;background:0 0;border:0;min-width:0;padding:0;font-size:10px;font-weight:950}.rowOptionMenu{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0;display:grid}.rowOptionMenu button{color:#dce6f5;text-overflow:ellipsis;white-space:nowrap;background:#ffffff13;border:1px solid #ffffff1f;border-radius:11px;min-width:0;min-height:30px;padding:0 6px;font-size:10px;font-weight:950;overflow:hidden}.rowOptionMenu button:active{background:#ffcf3324;border-color:#ffcf336b;transform:translateY(1px)}.routeOptionControls,.intensityOptionControls{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.routeOptionControls::-webkit-scrollbar{display:none}.intensityOptionControls::-webkit-scrollbar{display:none}.rowOptionControls button:not(.gradientPreset){color:#dce6f5;background:#ffffff13;border:1px solid #ffffff1f;border-radius:11px;flex:none;min-height:30px;padding:0 8px;font-size:10px;font-weight:950}.optionMiniLabel{color:#8f9caf;letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:9px;font-weight:950}.optionColorPicker{flex:0 0 116px;grid-template-columns:repeat(5,1fr);gap:4px}.optionColorPicker button{height:24px}.gradientPreset{flex:0 0 44px;box-shadow:inset 0 0 0 1px #00000052;color:#0000!important;border-radius:8px!important;min-height:24px!important;padding:0!important}.gradientPreset.active{box-shadow:0 0 0 2px #ffcf3340,inset 0 0 0 1px #00000052;border-color:#ffffffe6!important}.bottomNav{left:50%;bottom:var(--bottom-nav-gap);z-index:var(--z-bottom-nav);width:min(100dvw - 16px,544px);max-width:calc(100vw - 16px);min-height:var(--bottom-nav-height);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;contain:layout paint;background:#05070af0;border:1px solid #ffffff1a;border-radius:18px;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:5px;display:grid;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 14px 42px #0000008c,inset 0 1px #ffffff14}.bottomNav button{color:#9ba7b8;text-align:center;text-overflow:ellipsis;white-space:nowrap;touch-action:manipulation;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:46px;padding:0 2px;font-size:clamp(10px,2.8vw,12px);font-weight:950;display:flex;overflow:hidden}.bottomNav button.active{color:#f7ffdd;background:linear-gradient(#d7ff523b,#d7ff521a);box-shadow:inset 0 0 0 1px #d7ff522e}.bottomNav button>span{font-size:16px;line-height:1;display:block}.bottomNav button>b{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:9px;font-weight:950;line-height:1.1;overflow:hidden}.bottomNav button:active{transform:translateY(1px)scale(.98)}body.map-dialog-open .bottomNav,body.route-detail-open .bottomNav{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%)translateY(18px)}.etlScreen{padding:12px 0 32px}.etlHero{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.etlHero .subtle,.screenHeader .subtle,.subtle{color:#8f9bad;font-size:13px}.secondaryButton,.etlActions button,.etlPanelHeader button{color:#f5f7fb;background:#ffffff14;border:1px solid #ffffff24;border-radius:14px;min-height:42px;padding:10px 12px;font-weight:900}.secondaryButton:disabled,.etlActions button:disabled,.etlPanelHeader button:disabled{opacity:.55}.etlMessage,.etlNotice,.etlBusy{border-radius:16px;margin:8px 0;padding:10px 12px;font-size:13px;font-weight:850}.etlNotice{color:#efff9b;background:#d7ff521a;border:1px solid #d7ff5238}.etlBusy{color:#cfe7ff;background:#67b5ff17;border:1px solid #67b5ff38}.etlHealthCard{background:radial-gradient(circle at 0 0,#d7ff5226,#ffffff0b 46%,#070a0fcc);border:1px solid #d7ff5229;border-radius:24px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:14px;display:flex;box-shadow:0 18px 55px #00000047}.etlHealthCard strong,.etlHealthCard small{display:block}.etlHealthCard strong{letter-spacing:-.04em;margin-top:8px;font-size:24px}.etlHealthCard small{color:#98a5b6;margin-top:5px;font-size:12px}.etlStatusPill{color:#dbe6f4;text-transform:uppercase;letter-spacing:.06em;background:#ffffff14;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:11px;font-weight:950;display:inline-flex}.etlStatusPill--ok{color:#eaff9e;background:#d7ff5229}.etlStatusPill--warn{color:#ffe8aa;background:#ffd16629}.etlStatusPill--bad{color:#ffc2cc;background:#ff5d7329}.etlHealthDots{grid-template-columns:repeat(3,10px);gap:5px;display:grid}.etlHealthDots span,.etlStatusDot{background:#6d7480;border-radius:999px;display:block}.etlHealthDots span{width:10px;height:10px}.etlHealthDots .ok,.etlStatusDot--ok{background:#d7ff52}.etlHealthDots .warn,.etlStatusDot--warn{background:#ffd166}.etlHealthDots .bad,.etlStatusDot--bad{background:#ff5d73}.etlStatusDot{flex:0 0 10px;width:10px;height:10px;box-shadow:0 0 14px}.etlCards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.etlCard{background:linear-gradient(#d7ff5214,#ffffff0a);border:1px solid #d7ff5224;border-radius:18px;min-width:0;padding:12px}.etlCard span,.etlCard small{color:#9aa6b7;font-size:11px;display:block}.etlCard strong{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin:5px 0;font-size:22px;display:block;overflow:hidden}.etlModeTabs{background:#ffffff0e;border-radius:18px;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:12px 0;padding:5px;display:grid}.etlModeTabs button{color:#a6b1c0;background:0 0;border:0;border-radius:14px;min-height:38px;font-size:12px;font-weight:950}.etlModeTabs button.active{color:#efff9b;background:#d7ff5229}.etlActions{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.etlActions button:last-child{color:#d7ff52;grid-column:1/-1}.etlPanel{background:#070a0fb8;border:1px solid #ffffff17;border-radius:22px;margin-top:12px;padding:12px;box-shadow:0 18px 45px #00000040}.etlPanelHeader{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.etlPanelHeader h2{margin-bottom:2px}.etlPipelineFlow{grid-template-columns:1fr;gap:8px;display:grid}.etlPipelineFlow div{background:#ffffff0b;border:1px solid #ffffff14;border-radius:16px;padding:11px 12px;position:relative}.etlPipelineFlow b,.etlPipelineFlow span{display:block}.etlPipelineFlow b{color:#f5f7fb;font-size:15px}.etlPipelineFlow span{color:#96a2b2;margin-top:3px;font-size:12px}.etlList{gap:7px;display:grid}.etlRow{text-align:left;color:#f5f7fb;background:#ffffff0e;border:1px solid #ffffff14;border-radius:16px;justify-content:space-between;align-items:center;gap:9px;width:100%;padding:10px;display:flex}.etlRowMain{flex:auto;min-width:0}.etlRow strong,.etlRow small,.etlRow em{min-width:0;display:block}.etlRow small{color:#96a2b2;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.etlRow em{color:#697586;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;font-style:normal;overflow:hidden}.etlRowAction{color:#d7ff52;flex:none;font-size:12px;font-weight:950}.etlJobDrawer{border-top:1px solid #ffffff14;margin-top:12px;padding-top:10px}.etlJobDrawer h3{color:#dce6f5;word-break:break-all;margin:0 0 8px;font-size:13px}.etlLog{gap:7px;margin-top:8px;display:grid}.etlLog p{color:#cbd6e6;background:#ffffff09;border-left:2px solid #d7ff52;border-radius:9px;padding:7px 9px;font-size:12px}.etlDetailGrid{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.etlDetailMetric{background:#ffffff0b;border:1px solid #ffffff14;border-radius:17px;min-width:0;padding:11px}.etlDetailMetric span,.etlDetailMetric small{color:#93a0b2;font-size:11px;display:block}.etlDetailMetric strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.045em;margin:5px 0 2px;font-size:21px;display:block;overflow:hidden}.etlWarningList{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.etlWarningList span{color:#ffe6a2;background:#ffd16617;border:1px solid #ffd16633;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850}.manualAnalysisList{margin-top:12px}.etlManualRide{background:#ffffff0a;border:1px solid #ffffff17;border-radius:18px;padding:11px}.etlManualRide h3{color:#f5f7fb;word-break:break-all;margin:0 0 4px;font-size:13px}.etlManualLabel{background:#0000002e;border-left:3px solid #d7ff52b8;border-radius:12px;gap:4px;margin-top:8px;padding:8px 9px;display:grid}.etlManualLabel strong{color:#efff9b;font-size:12px}.etlManualLabel small{color:#aab7c8;font-size:11px;line-height:1.35}.etlManualLabel em{color:#c4b5fd;font-size:10px;font-style:normal;line-height:1.35}.etlJsonDetails{margin-top:12px}.etlJsonDetails summary{cursor:pointer;color:#d7ff52;font-weight:950}.normalizationGrid{gap:10px;margin-top:10px;display:grid}.normalizationGrid article{background:#ffffff09;border:1px solid #ffffff14;border-radius:16px;min-width:0;padding:10px}.normalizationGrid h3{margin:0 0 6px;font-size:14px}.normalizationGrid pre{white-space:pre-wrap;word-break:break-word;color:#d7e0ee;-webkit-user-select:text;user-select:text;max-height:260px;margin:0;font-size:11px;overflow:auto}.etlEmptyState{color:#96a2b2;text-align:center;border:1px dashed #ffffff1f;border-radius:16px;margin-top:12px;padding:18px 12px}@media (width<=420px){.etlCards{grid-template-columns:1fr}.etlModeTabs{grid-template-columns:repeat(3,minmax(0,1fr))}.etlDetailGrid{grid-template-columns:1fr 1fr}.etlHero h1{font-size:23px}}.plannedRoutePanel{background:linear-gradient(#0ea5e91f,#ffffff0e);border-color:#5eead438}.plannedRouteHeader{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.plannedRouteLabel{color:#5eead4;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:900;display:block}.plannedRouteBadge{color:#ecfccb;background:#d7ff521f;border:1px solid #d7ff5247;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:900}.plannedRouteMap{background:radial-gradient(circle at 30% 20%,#5eead41f,#020617f0 58%);border:1px solid #ffffff14;border-radius:20px;overflow:hidden}.plannedRouteMap svg{width:100%;height:auto;display:block}.plannedRouteMapBg{fill:#020617c7}.plannedRouteLine{fill:none;stroke:url(#plannedRouteGradient);stroke-linecap:round;stroke-linejoin:round;stroke-width:4.5px}.plannedRouteCenterDot{fill:#d7ff52;opacity:.92}.plannedRouteStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0;display:grid}.plannedRouteStats span{color:#f8fafc;background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;min-height:44px;padding:8px;font-size:12px;font-weight:900;line-height:1.2}.plannedRouteSegment{background:#5eead414;border:1px solid #5eead42e;border-radius:16px;gap:4px;margin-top:10px;padding:10px;display:grid}.plannedRouteSegment span,.plannedRouteSegment small,.plannedRouteDetails p{color:#aab4c4;font-size:12px;line-height:1.35}.plannedRouteDetails{margin-top:10px}.plannedRouteDetails summary{color:#d7ff52;cursor:pointer;font-size:12px;font-weight:900}.plannedRouteSkeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff1c,#ffffff0d) 0 0/220% 100%;border-radius:20px;height:170px;animation:1.35s linear infinite shimmer}@keyframes shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}.plannedRouteMapButton{appearance:none;color:inherit;cursor:pointer;text-align:left;border:1px solid #ffffff14;width:100%;padding:0;display:block;position:relative}.plannedRouteMapButton>span{color:#f8fafc;pointer-events:none;background:#020617bd;border:1px solid #ffffff29;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;position:absolute;bottom:12px;right:12px}.plannedRouteMapModal{z-index:80;padding:max(10px, env(safe-area-inset-top)) 8px max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#020617d1;place-items:center;display:grid;position:fixed;inset:0}.plannedRouteMapSheet{background:#05070a;border:1px solid #ffffff1f;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;width:min(100%,560px);height:min(100%,860px);padding:10px;display:grid;overflow:hidden;box-shadow:0 24px 90px #00000094}.plannedRouteMapTopbar{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.plannedRouteRealMap{background:#111827;border:1px solid #ffffff1a;border-radius:20px;min-height:0;position:relative;overflow:hidden}.plannedRouteRealMap img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;position:absolute}.plannedRouteRealMap svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.plannedRouteRealLine{fill:none;stroke:#d7ff52;stroke-linecap:round;stroke-linejoin:round;stroke-width:6px;paint-order:stroke;filter:drop-shadow(0 2px 5px #000c)}.plannedRouteControlLine{stroke:#38bdf8;stroke-linecap:round;stroke-width:7px;stroke-dasharray:8 8;filter:drop-shadow(0 2px 4px #000000bd)}.plannedRouteStartMarker,.plannedRouteEndMarker{fill:#05070a;stroke:#d7ff52;stroke-width:4px}.plannedRouteEndMarker{stroke:#38bdf8}.plannedRouteMapAttribution{color:#cbd5e1;background:#020617b8;border-radius:999px;padding:4px 7px;font-size:10px;position:absolute;bottom:6px;right:8px}.plannedRouteMapControls{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;display:grid}.plannedRouteMapControls button{color:#f8fafc;background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;min-height:40px;font-weight:900}.plannedRouteMapControls button:last-child{color:#d7ff52;font-size:12px}.plannedRouteMapLegend{color:#cbd5e1;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:800;display:flex}.plannedRouteMapLegend span{align-items:center;gap:6px;display:inline-flex}.plannedRouteMapLegend i{border-radius:999px;width:11px;height:11px;display:inline-block}.plannedRouteMapLegend i.start{background:#05070a;border:3px solid #d7ff52}.plannedRouteMapLegend i.route{background:#d7ff52}.plannedRouteMapLegend i.control{background:#38bdf8}.gravelRoutesPanel{gap:12px;display:grid}.gravelRoutesHeader{align-items:center}.gravelRoutesHeader .button{white-space:nowrap}.gravelRouteList{gap:10px;display:grid}.gravelRouteCard{background:linear-gradient(135deg,#0f172ad1,#020617b8);border:1px solid #94a3b829;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(118px,156px);align-items:stretch;gap:10px;padding:10px;display:grid}.gravelRouteCard.eventRoute{background:linear-gradient(135deg,#33250c94,#020617b8);border-color:#fbbf242e}.gravelRouteInfo{gap:8px;min-width:0;display:grid}.gravelRouteTitleRow{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.gravelRouteTitleRow i{border:2px solid #ffffff6b;border-radius:999px;width:12px;height:12px;margin-top:5px;box-shadow:0 0 14px}.gravelRouteTitleRow h3{color:#f8fafc;margin:0;font-size:15px;line-height:1.2}.gravelRouteMeta{flex-wrap:wrap;gap:6px;display:flex}.gravelRouteMeta strong,.gravelRouteMeta span{color:#cbd5e1;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;min-height:26px;padding:4px 8px;font-size:11px;font-weight:850;display:inline-flex}.gravelRouteMeta strong{color:#d7ff52}.gravelMiniMap{appearance:none;color:#f8fafc;cursor:pointer;background:0 0;border:0;border-radius:16px;align-content:stretch;min-width:0;padding:0;display:grid;position:relative;overflow:hidden}.gravelMiniMap svg{width:100%;height:100%;min-height:96px;display:block}.gravelMiniMap>span{color:#f8fafc;pointer-events:none;background:#020617c2;border:1px solid #ffffff29;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;position:absolute;bottom:8px;right:8px}.gravelMiniMapBg{fill:#030712d6}.gravelMiniRouteLine{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px;filter:drop-shadow(0 1px 4px #000c)}.gravelFullRouteLine,.gravelAllRouteLine{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:5.4px;paint-order:stroke;stroke-opacity:.94;filter:drop-shadow(0 2px 5px #0000009e)}.gravelAllRouteLine{stroke-width:4.4px;stroke-opacity:.78}.gravelMapLegendList{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;max-height:220px;display:grid;overflow:auto}.gravelMapLegendList span{color:#dbeafe;background:#ffffff0f;border-radius:999px;align-items:center;gap:7px;min-width:0;padding:6px 8px;font-size:11px;font-weight:850;display:inline-flex}.gravelMapLegendList i{border-radius:999px;flex:none;width:11px;height:11px}@media (width<=460px){.gravelRouteCard{grid-template-columns:minmax(0,1fr) 118px;padding:8px}.gravelRouteTitleRow h3{font-size:13px}.gravelRouteMeta span:nth-child(n+3){display:none}.gravelMiniMap svg{min-height:84px}}.normalizerReviewPanel .panelBody,.normalizerReviewPanel{scroll-margin-top:12px}.normalizerReviewCard{background:#0f172ab8;border:1px solid #94a3b838;border-radius:18px;margin:10px 0;padding:12px}.normalizerReviewCard.important{border-color:#fbbf248c}.normalizerReviewCard.warning{border-color:#f8717173}.normalizerReviewHeader{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.normalizerReviewHeader strong{font-size:.95rem;display:block}.normalizerReviewHeader small{color:var(--muted);margin-top:2px;display:block}.confidenceBadge{background:#94a3b82e;border-radius:999px;padding:4px 8px;font-size:.82rem;font-weight:800}.confidenceBadge.high{color:#86efac;background:#22c55e33}.confidenceBadge.medium{color:#fde68a;background:#fbbf242e}.confidenceBadge.low{color:#fecaca;background:#f8717129}.normalizerReviewMeta{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.normalizerReviewMeta span{color:var(--muted);background:#94a3b821;border-radius:999px;padding:4px 8px;font-size:.78rem}.normalizerReviewActions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.normalizerReviewActions button{color:var(--text);background:#3b82f62e;border:0;border-radius:12px;padding:9px;font-weight:800}.normalizerReviewQueueItem h3{overflow-wrap:anywhere}.etlSnapshot{background:#94a3b81f;border:1px solid #94a3b82e;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:10px 0;display:grid;overflow:hidden}.etlSnapshot>div{background:#070a0fe0;min-width:0;padding:9px 10px}.etlSnapshot span,.etlSnapshot small{color:#9ca3af;font-size:11px;line-height:1.25;display:block}.etlSnapshot strong{color:#f8fafc;margin:2px 0;font-size:18px;line-height:1.15;display:block}.etlAnalyticalPanel{border-radius:16px;padding:10px}.etlPanelHeaderCompact{align-items:center}.etlHeaderActions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.etlMetricStrip{background:#94a3b81f;border:1px solid #94a3b829;border-radius:12px;flex-wrap:wrap;gap:1px;margin:10px 0;display:flex;overflow:hidden}.etlMetricStrip span{color:#aab4c4;background:#0f172ad1;flex:110px;padding:7px 9px;font-size:11px}.etlMetricStrip b{color:#f8fafc;margin-right:4px;font-size:15px}.etlReviewSummaryGrid{grid-template-columns:1.2fr 1.2fr .8fr;gap:8px;margin:8px 0 10px;display:grid}.etlReviewSummaryGrid article{background:#0f172a94;border:1px solid #94a3b824;border-radius:12px;min-width:0;padding:8px}.etlReviewSummaryGrid h3{color:#d7ff52;margin:0 0 6px;font-size:12px}.etlMiniTable,.etlReviewTable{border-collapse:collapse;width:100%}.etlMiniTable th,.etlMiniTable td{text-align:left;border-top:1px solid #94a3b81a;padding:4px 5px;font-size:11px}.etlMiniTable th{color:#cbd5e1;overflow-wrap:anywhere;font-weight:700}.etlMiniTable td{color:#f8fafc;text-align:right;font-variant-numeric:tabular-nums}.etlTableWrap{background:#02061757;border:1px solid #94a3b829;border-radius:14px;max-width:100%;overflow-x:auto}.etlReviewTable th,.etlReviewTable td{vertical-align:top;text-align:left;border-bottom:1px solid #94a3b81f;padding:7px 8px;font-size:12px}.etlReviewTable thead th{z-index:1;color:#9ca3af;letter-spacing:.05em;text-transform:uppercase;background:#0f172af5;font-size:10px;position:sticky;top:0}.etlReviewTable tbody tr:hover td,.etlReviewTable tbody tr.expanded td{background:#3b82f614}.etlReviewTable td small{color:#94a3b8;margin-top:2px;display:block}.etlReviewTable td strong{min-width:220px;max-width:420px;line-height:1.25;display:block}.etlTableEmpty{color:#94a3b8;text-align:center!important;padding:18px!important}.etlTableLink{appearance:none;color:#d7ff52;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:800}.etlTableLink.mono{color:#93c5fd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.etlSeverity{color:#cbd5e1;white-space:nowrap;background:#94a3b824;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;display:inline-flex}.etlSeverity--important,.etlSeverity--warning{color:#fde68a;background:#fbbf2429}.etlSeverity--critical{color:#fecaca;background:#f8717129}.etlReviewActionsInline{grid-template-columns:repeat(3,minmax(44px,1fr));gap:4px;min-width:150px;display:grid}.etlReviewActionsInline button{color:#f8fafc;background:#1e293beb;border:1px solid #94a3b82e;border-radius:9px;padding:6px;font-size:11px;font-weight:900}.etlReviewActionsInline button:first-child{color:#bbf7d0;background:#22c55e2e}.etlReviewActionsInline button:nth-child(2){color:#fecaca;background:#f8717129}.etlReviewActionsInline button:disabled{opacity:.55}.etlReviewDetails{background:#0f172aa6;border-left:2px solid #d7ff5273;border-radius:8px;margin-top:7px;padding:8px}.etlReviewDetails p{color:#cbd5e1;margin:0 0 7px;line-height:1.35}.etlReviewDetails dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 0 6px;display:grid}.etlReviewDetails dt{color:#64748b;text-transform:uppercase;font-size:10px}.etlReviewDetails dd{color:#f8fafc;overflow-wrap:anywhere;margin:0;font-size:11px}.etlReviewDetails pre{color:#dbeafe;white-space:pre-wrap;background:#020617e6;border-radius:8px;max-height:180px;margin:6px 0 0;padding:8px;font-size:10px;overflow:auto}@media (width<=720px){.etlSnapshot{grid-template-columns:1fr 1fr}.etlReviewSummaryGrid{grid-template-columns:1fr}.etlReviewTable th,.etlReviewTable td{padding:6px}.etlReviewTable td strong{min-width:180px}}.etlReviewFeed{gap:8px;margin-top:10px;display:grid}.etlReviewFeedCard{background:#0f172ab8;border:1px solid #94a3b829;border-left:3px solid #94a3b861;border-radius:14px;overflow:hidden}.etlReviewFeedCard.important,.etlReviewFeedCard.warning{border-left-color:#fbbf24d1}.etlReviewFeedCard.critical{border-left-color:#f87171e0}.etlReviewFeedCard.expanded{border-color:#d7ff5238;box-shadow:0 16px 38px #00000042}.etlReviewCardSummary{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px 7px;display:grid}.reviewCardMain{min-width:0}.reviewCardMain strong{overflow-wrap:anywhere;font-size:13px;line-height:1.22;display:block}.reviewCardMain small{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;display:block;overflow:hidden}.etlReviewCardActions{background:#94a3b81f;border-top:1px solid #94a3b81a;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.etlReviewCardActions button{color:#f8fafc;background:#1e293beb;border:0;padding:8px;font-size:12px;font-weight:900}.etlReviewCardActions button:first-child{color:#bbf7d0;background:#22c55e2b}.etlReviewCardActions button:nth-child(2){color:#fecaca;background:#f8717126}.etlReviewCardActions button:disabled{opacity:.55}.etlReviewCardDetails{background:#0206173d;border-top:1px solid #94a3b81f;padding:10px}.etlReviewCardDetails>p{color:#cbd5e1;margin:0 0 8px;font-size:12px;line-height:1.4}.etlInlineLoader{color:#bfdbfe;background:#3b82f61a;border-radius:10px;padding:10px;font-size:12px}.reviewVizGrid{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.reviewVizCard{background:#0f172ab8;border:1px solid #94a3b824;border-radius:12px;min-width:0;padding:8px}.reviewVizHeader{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.reviewVizHeader strong{color:#f8fafc;font-size:12px}.reviewVizHeader span{color:#94a3b8;font-size:10px}.reviewVizCard svg{width:100%;height:auto;display:block;overflow:visible}.reviewMiniChart svg{background:linear-gradient(#0f172a33,#02061773);border-radius:8px}.reviewMiniChart line{stroke:#94a3b829;stroke-width:1px}.reviewMiniChart .eventWindow{fill:#fbbf242e;stroke:#fbbf2473;stroke-width:1px}.reviewMiniChart path{fill:none;stroke-width:2.2px;vector-effect:non-scaling-stroke}.reviewMiniChart .speedLine{stroke:#60a5fa}.reviewMiniChart .cadenceLine{stroke:#d7ff52}.reviewVizLegend{color:#94a3b8;flex-wrap:wrap;gap:8px;margin-top:5px;font-size:10px;display:flex}.reviewVizLegend .speed{color:#93c5fd}.reviewVizLegend .cadence{color:#eaff7a}.reviewMiniMap svg rect{fill:#0b1220}.reviewMiniMap .routeLine{fill:none;stroke:#60a5fa9e;stroke-width:3px;vector-effect:non-scaling-stroke}.reviewMiniMap .eventLine{fill:none;stroke:#fbbf24;stroke-width:5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.reviewMiniMap .eventPoint{fill:#fef3c7;stroke:#f59e0b;stroke-width:2px;vector-effect:non-scaling-stroke}.reviewMiniMap.empty{color:#94a3b8;font-size:12px}.reviewDetailLinks{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.reviewDetailLinks button{color:#bfdbfe;background:#3b82f621;border:1px solid #93c5fd47;border-radius:10px;padding:7px 9px;font-weight:900}.reviewDetailLinks span{color:#64748b;overflow-wrap:anywhere;font-size:10px}.reviewEvidence{margin-top:8px}.reviewEvidence summary{cursor:pointer;color:#d7ff52;font-size:12px;font-weight:900}.reviewEvidence pre{color:#dbeafe;white-space:pre-wrap;background:#020617e6;border-radius:8px;max-height:180px;margin:6px 0 0;padding:8px;font-size:10px;overflow:auto}@media (width<=760px){.reviewVizGrid{grid-template-columns:1fr}.etlReviewCardSummary{grid-template-columns:auto minmax(0,1fr)}.etlReviewCardSummary .confidenceBadge{grid-column:2;justify-self:start}}.sprintsScreen{width:100%;max-width:760px;margin:0 auto;padding:10px 0 38px}.srOnly{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.sprintTopBar{align-items:flex-start;margin-bottom:12px}.sprintTopBar>div{min-width:0}.sprintTopBar h1{margin-bottom:2px}.sprintTopBar p{color:#98a4b5;margin:3px 0 0;font-size:12px;line-height:1.35}.sprintCatalogHero{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 10px;display:grid}.sprintCatalogHero>div,.sprintStatsHero,.sprintTrendPanel,.sprintAttemptsPanel,.sprintCatalogList{background:linear-gradient(155deg,#191f29f7,#0a0d13fa);border:1px solid #ffffff17;box-shadow:0 18px 42px #0000002e,inset 0 1px #ffffff09}.sprintCatalogHero>div{border-radius:16px;min-width:0;padding:10px}.sprintCatalogHero span,.sprintCatalogHero small{color:#8894a6;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:850;display:block}.sprintCatalogHero strong{color:#f5f9ff;margin:2px 0 1px;font-size:20px;line-height:1.05;display:block}.sprintCatalogToolbar{grid-template-columns:minmax(0,1fr) 44px;gap:7px;margin-bottom:12px;display:grid}.sprintCatalogToolbar input{color:#f5f7fb;width:100%;min-height:44px;font:inherit;background:#0c1017f0;border:1px solid #ffffff1c;border-radius:14px;padding:0 13px;font-size:13px}.sprintCatalogToolbar button{color:#eaff91;background:#d7ff5217;border:1px solid #d7ff5233;border-radius:14px;font-size:20px}.sprintCatalogList,.sprintAttemptsPanel,.sprintTrendPanel,.sprintStatsHero{border-radius:20px;margin-bottom:10px;padding:10px}.sprintSectionHeading{justify-content:space-between;align-items:flex-end;gap:12px;padding:1px 2px 9px;display:flex}.sprintSectionHeading>div span{color:#92a0b2;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900;display:block}.sprintSectionHeading>div strong{color:#f7f9fc;margin-top:2px;font-size:15px;display:block}.sprintSectionHeading>small{color:#7f8b9c;text-align:right;font-size:10px}.sprintCatalogCard{color:#f5f7fb;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff12;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 3px;display:grid}.sprintCatalogCard:first-of-type{border-top:0}.sprintCatalogCard:active{background:#d7ff520b}.sprintCardShape{background:radial-gradient(circle at 30% 20%,#d7ff521f,#0b1017f2);border-radius:12px;place-items:center;width:72px;height:49px;display:grid;position:relative;overflow:hidden}.sprintCardShape svg{width:64px;height:38px}.sprintCardShape path{fill:none;stroke:#d7ff52;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sprintCardShape i{color:#d7ff52;font-size:11px;font-style:normal;position:absolute;bottom:2px;right:5px}.sprintCardMain{min-width:0}.sprintCardMain>small{color:#7f8b9a;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:850;display:block}.sprintCardMain>strong{color:#f8fafc;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0;font-size:13px;line-height:1.15;display:-webkit-box;overflow:hidden}.sprintCardMain>span{color:#aab4c2;font-size:10px;display:block}.sprintSurfaceChip{color:#a7f3e8;background:#5eead414;border:1px solid #5eead43d;border-radius:999px;align-items:center;gap:4px;width:fit-content;margin-top:5px;padding:3px 6px;font-size:9px;font-weight:900;line-height:1;display:inline-flex}.sprintSurfaceChip:before{content:"";background:repeating-linear-gradient(90deg,#94a3b8 0 2px,#475569 2px 3px);border-radius:2px;width:7px;height:7px}.sprintSurfaceChip.compacted_gravel{color:#fde68a;background:#78541826;border-color:#fbbf2442}.sprintSurfaceChip.compacted_gravel:before{background:radial-gradient(circle at 25% 30%,#fde68a 0 1px,#0000 1.4px),radial-gradient(circle at 75% 70%,#d6a94f 0 1.2px,#0000 1.6px),#765b2c;border-radius:999px}.sprintCardStats{flex-direction:column;align-items:flex-end;min-width:72px;display:flex}.sprintCardStats>strong{color:#f8fafc;font-size:18px;line-height:1}.sprintCardStats>small{color:#8290a2;font-size:9px}.sprintCardStats>b{color:#d7ff52;white-space:nowrap;margin-top:4px;font-size:9px;font-weight:900}.sprintMiniSkeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a) 0 0/220% 100%;border-radius:8px;width:58px;height:22px;animation:1.1s linear infinite sprintPulse}@keyframes sprintPulse{to{background-position:-220% 0}}.sprintLoadingPanel,.sprintErrorPanel{background:#0e1219f2;border:1px solid #ffffff17;border-radius:17px;align-items:center;gap:12px;margin:12px 0;padding:14px;display:flex}.sprintLoadingPanel div{flex-direction:column;display:flex}.sprintLoadingPanel small{color:#8d99aa;margin-top:2px;font-size:10px}.sprintErrorPanel{border-color:#f8717140;display:block}.sprintErrorPanel p{color:#fecaca;font-size:12px}.sprintEmptyText{color:#8d99aa;margin:10px 2px;font-size:12px}.sprintMapCard{background:#111722;border:1px solid #ffffff1a;border-radius:21px;min-height:230px;margin-bottom:10px;position:relative;overflow:hidden;box-shadow:0 20px 42px #00000040}.sprintInlineMap,.sprintInlineMap .routeMapCanvas{min-height:230px}.sprintInlineMap .mapLegend{display:none}.sprintReferenceLine{fill:none;stroke:#d7ff52;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 3px #000000a6)}.sprintStartMarker{fill:#4ade80;stroke:#08120c;stroke-width:3px;vector-effect:non-scaling-stroke}.sprintFinishMarker{fill:#f8fafc;stroke:#ef4444;stroke-width:3px;vector-effect:non-scaling-stroke}.sprintMapCardOverlay{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#06090ddb;border:1px solid #ffffff1f;border-radius:13px;align-items:center;gap:9px;padding:7px 8px;display:flex;position:absolute;bottom:9px;left:9px;right:9px}.sprintMapCardOverlay span,.sprintMapSheetInfo span{color:#cbd4df;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;font-size:10px;display:inline-flex;overflow:hidden}.sprintMapCardOverlay button{color:#efff9c;background:#d7ff521f;border:1px solid #d7ff5240;border-radius:10px;flex:none;min-height:32px;margin-left:auto;padding:0 10px;font-size:10px;font-weight:900}.sprintGateDot{background:#4ade80;border-radius:99px;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 2px #4ade802e}.sprintGateDot.finish{background:#f8fafc;box-shadow:0 0 0 2px #ef4444a6}.sprintMapSheetInfo{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sprintMapSheetInfo strong{margin-right:auto}.sprintSurfacePanel{background:linear-gradient(135deg,#24474a33,#0c1017f5);border:1px solid #5eead42e;border-radius:17px;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:11px;margin:0 0 10px;padding:12px;display:grid}.sprintSurfacePanel.compacted_gravel{background:linear-gradient(135deg,#5b401738,#0c1017f5);border-color:#fbbf2433}.sprintSurfaceIcon{background:repeating-linear-gradient(90deg,#7f8b9a 0 8px,#374151 8px 10px);border-radius:12px;width:42px;height:42px;box-shadow:inset 0 0 0 1px #ffffff1f,0 8px 20px #0003}.sprintSurfacePanel.compacted_gravel .sprintSurfaceIcon{background:radial-gradient(circle at 22% 28%,#f4d48c 0 2px,#0000 2.5px),radial-gradient(circle at 68% 36%,#c99b4c 0 2.5px,#0000 3px),radial-gradient(circle at 38% 76%,#ddbb72 0 2px,#0000 2.6px),radial-gradient(circle at 78% 75%,#8c6b36 0 3px,#0000 3.5px),#59482c}.sprintSurfacePanel small{color:#8b9aac;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900;display:block}.sprintSurfacePanel strong{color:#f8fafc;margin:2px 0 3px;font-size:15px;display:block}.sprintSurfacePanel p{color:#b9c4d1;margin:0;font-size:11px;line-height:1.4}.sprintSurfacePanel em{color:#78879a;margin-top:5px;font-size:9px;font-style:normal;display:block}.sprintSurfaceHud.asphalt,.sprintSurfaceHud.mostly_asphalt{color:#cbfff8;border-color:#5eead452}.sprintSurfaceHud.compacted_gravel{color:#ffecb0;border-color:#fbbf245c}.sprintStatsHeroHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin:1px 1px 10px;display:flex}.sprintStatsHeroHeader span{color:#8d99aa;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900;display:block}.sprintStatsHeroHeader strong{margin-top:2px;font-size:16px;display:block}.sprintStatsHeroHeader em{color:#eaff8d;white-space:nowrap;background:#d7ff521a;border:1px solid #d7ff5238;border-radius:99px;padding:6px 9px;font-size:10px;font-style:normal;font-weight:950}.sprintMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.sprintMetricGrid article{background:#ffffff06;border:1px solid #ffffff12;border-radius:14px;min-width:0;padding:9px}.sprintMetricGrid small,.sprintMetricGrid span{color:#8491a3;text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.sprintMetricGrid strong{color:#f8fafc;margin:3px 0;font-size:18px;display:block}.sprintMetricGrid strong i{color:#95a2b2;font-size:9px;font-style:normal}.sprintTrendChart{width:100%;max-height:142px;display:block;overflow:visible}.sprintAttemptsList{display:grid}.sprintAttemptRow{color:#eef2f7;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff12;grid-template-columns:40px minmax(98px,1fr) 70px 70px 52px;align-items:center;gap:7px;width:100%;min-width:0;padding:10px 2px;display:grid}.sprintAttemptRow:first-child{border-top:0}.sprintAttemptRow>span{min-width:0}.sprintAttemptRow strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.sprintAttemptRow small{color:#7f8c9d;text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.sprintAttemptRank strong{color:#d7ff52;font-size:14px}.sprintAttemptRank small{color:#10150a;background:#d7ff52;border-radius:4px;width:fit-content;padding:1px 3px;font-weight:950}.sprintAttemptQuality{text-align:right}@media (width<=520px){.sprintAttemptRow{grid-template-columns:38px minmax(90px,1fr) 62px 62px}.sprintAttemptQuality{display:none}.sprintCatalogCard{grid-template-columns:64px minmax(0,1fr) auto;gap:8px}.sprintCardShape{width:64px}}@media (width<=365px){.bottomNav button>b{display:none}.bottomNav button.active>b{display:block}.bottomNav button>span{font-size:18px}.sprintCatalogHero>div{padding:8px}.sprintCatalogHero strong{font-size:17px}.sprintAttemptRow{grid-template-columns:34px minmax(86px,1fr) 58px 58px;gap:5px}}@media (width>=700px){:root{--app-side-gutter:max(16px, env(safe-area-inset-left), env(safe-area-inset-right))}.appShell{width:min(100%,1280px);max-width:none}.sprintAdaptiveWorkspace{grid-template-columns:minmax(300px,36%) minmax(0,1fr);align-items:start;gap:14px;display:grid}.sprintMasterPane{top:max(12px, env(safe-area-inset-top));max-height:calc(var(--visual-viewport-height) - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));background:linear-gradient(155deg,#191f29fa,#0a0d13fc);border:1px solid #ffffff1a;border-radius:22px;flex-direction:column;display:flex;position:sticky;overflow:hidden}.sprintMasterPane>header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px;display:flex}.sprintMasterPane>header span,.sprintMasterPane>header strong{display:block}.sprintMasterPane>header span{color:#91a0b4;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900}.sprintMasterPane>header strong{margin-top:3px;font-size:16px}.sprintMasterPane>header button{color:#eef3f9;background:#ffffff14;border:0;border-radius:14px;width:44px;height:44px;font-size:22px}.sprintMasterSearch{padding:10px 10px 4px;display:block}.sprintMasterSearch input{color:#f5f7fb;background:#0b1017;border:1px solid #ffffff1c;border-radius:13px;width:100%;min-height:44px;padding:0 12px}.sprintMasterList{overscroll-behavior:contain;min-height:0;padding:4px 9px 12px;overflow-y:auto}.sprintMasterPane .sprintCatalogCard{grid-template-columns:54px minmax(0,1fr) auto;gap:7px;padding:10px 2px}.sprintMasterPane .sprintCardShape{width:54px;height:46px}.sprintMasterPane .sprintCardShape svg{width:48px}.sprintAdaptiveWorkspace>.sprintDetailScreen{min-width:0;padding-top:10px}.sprintAdaptiveWorkspace .sprintDetailScreen>.sprintTopBar>.backButton{display:none}.sprintMetricGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.sprintAttemptRow{grid-template-columns:42px minmax(92px,1fr) 62px 62px 54px;gap:5px}.sprintTrendChart{min-height:170px;overflow:hidden}.sprintDetailScreen .sprintMapCard{min-height:320px}.sprintDetailScreen .sprintInlineMap{height:320px}}@media (width>=820px){.appShell{padding-right:var(--app-side-gutter);padding-bottom:24px;padding-left:calc(var(--adaptive-nav-rail-width) + var(--app-side-gutter) + 12px)}.bottomNav{top:max(12px, env(safe-area-inset-top));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));width:var(--adaptive-nav-rail-width);max-width:var(--adaptive-nav-rail-width);border-radius:24px;grid-template-rows:repeat(5,minmax(58px,1fr));grid-template-columns:1fr;align-content:center;gap:8px;min-height:0;padding:8px;transform:none}.bottomNav button{min-height:58px;padding:6px 3px}.bottomNav button>span{font-size:20px}.bottomNav button>b{font-size:9px;display:block}body.map-dialog-open .bottomNav{transform:translate(-18px)}}@media (width>=700px) and (width<=819px){.sprintAdaptiveWorkspace{grid-template-columns:minmax(240px,39%) minmax(0,1fr);gap:10px}.sprintMasterPane .sprintCatalogCard{grid-template-columns:minmax(0,1fr) auto}.sprintMasterPane .sprintCardShape{display:none}.sprintMasterPane .sprintCardStats{min-width:64px}.sprintMasterPane .sprintCardStats b{max-width:76px}.sprintMasterPane .sprintPrSuffix{display:none}.sprintDetailScreen .sprintMapCard,.sprintDetailScreen .sprintInlineMap{height:270px;min-height:270px}.sprintMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sprintAttemptQuality{display:none}.sprintAttemptRow{grid-template-columns:38px minmax(76px,1fr) 56px 56px}}@media (width>=700px) and (height<=600px){.sprintMasterPane{max-height:calc(var(--visual-viewport-height) - 12px);top:6px}.sprintMasterPane>header{padding:7px 10px}.sprintMasterPane>header button{width:38px;height:38px}.sprintMasterSearch{padding-top:6px}.sprintMasterSearch input{min-height:40px}.sprintAdaptiveWorkspace>.sprintDetailScreen{padding-top:4px}.sprintTopBar{margin-bottom:6px}.sprintTopBar p{display:none}.sprintDetailScreen .sprintMapCard,.sprintDetailScreen .sprintInlineMap{height:240px;min-height:240px}.sprintMapCardOverlay{padding-top:5px;padding-bottom:5px}}@media (width>=820px) and (height<=600px){.appShell{padding-top:4px;padding-bottom:4px}.bottomNav{gap:4px;padding:5px;top:6px;bottom:6px}.bottomNav button{min-height:46px;padding:3px}.bottomNav button>span{font-size:17px}}@media (width>=1000px){.sprintAdaptiveWorkspace{grid-template-columns:minmax(340px,32%) minmax(0,1fr);gap:18px}.sprintDetailScreen{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start;gap:12px;display:grid}.sprintDetailScreen>.sprintTopBar{grid-column:1/-1}.sprintDetailScreen>.sprintMapCard{grid-column:1}.sprintDetailScreen>.sprintSurfacePanel{grid-column:2;align-content:center;min-height:320px;margin:0}.sprintDetailScreen>.sprintLoadingPanel,.sprintDetailScreen>.sprintErrorPanel,.sprintDetailScreen>.sprintStatsHero,.sprintDetailScreen>.sprintTrendPanel,.sprintDetailScreen>.sprintAttemptsPanel{grid-column:1/-1}}.viewportDiagnosticsTrigger{right:max(8px, env(safe-area-inset-right));top:max(8px, env(safe-area-inset-top));z-index:5200;color:#bae6fd;opacity:.34;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050a11cc;border:1px solid #7dd3fc3d;border-radius:14px;width:44px;height:44px;position:fixed}.viewportDiagnosticsTrigger:focus,.viewportDiagnosticsTrigger:hover{opacity:1}.viewportDiagnostics{z-index:7000;padding:max(14px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:radial-gradient(circle at top,#17253a,#05070a 48%);position:fixed;inset:0;overflow-y:auto}.viewportDiagnostics>header{justify-content:space-between;gap:12px;max-width:1040px;margin:0 auto 12px;display:flex}.viewportDiagnostics>header span{color:#7dd3fc;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.viewportDiagnostics h1{margin:3px 0;font-size:clamp(22px,5vw,38px)}.viewportDiagnostics p{color:#9eabbc;margin:4px 0;font-size:12px}.viewportDiagnostics button{color:#f7fafc;background:#ffffff14;border:1px solid #ffffff21;border-radius:14px;min-width:44px;min-height:44px;padding:8px 12px;font-weight:850}.viewportDiagnosticHero{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:1040px;margin:0 auto 12px;display:grid}.viewportDiagnosticHero article{background:#0b121ddb;border:1px solid #7dd3fc29;border-radius:18px;min-width:0;padding:12px}.viewportDiagnosticHero small,.viewportDiagnosticHero span{color:#91a0b3;font-size:10px;display:block}.viewportDiagnosticHero strong{overflow-wrap:anywhere;margin:5px 0;font-size:clamp(16px,4vw,24px);display:block}.viewportDiagnosticData{background:#080d14e6;border:1px solid #ffffff1a;border-radius:20px;max-width:1040px;margin:0 auto;padding:12px}.viewportDiagnosticData>div{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.viewportDiagnosticData textarea{resize:vertical;color:#d8e3ef;background:#030609;border:1px solid #ffffff1a;border-radius:14px;width:100%;min-height:min(50vh,440px);padding:12px;font:12px/1.45 ui-monospace,monospace}@media (width>=700px){.viewportDiagnosticHero{grid-template-columns:repeat(4,minmax(0,1fr))}}.sprintMasterPane{display:none}@media (width>=700px){.sprintMasterPane{display:flex}}@media (prefers-reduced-motion:reduce){.routeMapFullScreen *,.routeMapFullScreen :before,.routeMapFullScreen :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
