:root{color:#ecf3ef;background:radial-gradient(100% 80% at 50% 45%,#d5ff4309,#07110f00 64%),#07110fc9;backdrop-filter:blur(14px) saturate(85%) brightness(55%);-webkit-backdrop-filter:blur(14px) saturate(85%) brightness(55%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,select,input{font:inherit}button{color:inherit;cursor:pointer}.app-shell,.map-canvas{width:100%;height:100%}.app-shell{position:relative;min-height:100vh;height:100vh}@supports (height: 100dvh){.app-shell{min-height:100dvh;height:100dvh}}.map-canvas{position:absolute;inset:0;background:#14221e}.camera-debug-hud{position:absolute;z-index:11;top:72px;left:16px;display:flex;align-items:center;gap:8px;padding:6px 7px 5px 9px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:#07110fe0;box-shadow:0 6px 18px #0000003d;pointer-events:auto}.camera-debug-values{display:grid;gap:2px;min-width:57px;color:#9db0a9;font-size:9px;font-variant-numeric:tabular-nums;line-height:1.2;text-transform:uppercase}.camera-debug-values span{display:flex;justify-content:space-between;gap:5px}.camera-debug-values strong{color:#edf6f1;font-size:10px;font-weight:750}.camera-debug-graph{display:block;width:108px;height:28px}.dev-debug-console-launcher{position:absolute;z-index:31;right:18px;bottom:18px;min-width:70px;min-height:38px;border:1px solid rgba(213,255,67,.55);border-radius:10px;background:#07110feb;box-shadow:0 8px 24px #00000057;color:#d5ff43;font-size:11px;font-weight:800;letter-spacing:.04em}.dev-debug-console{position:fixed;z-index:100;inset:0;display:flex;flex-direction:column;overflow:hidden;background:#07110ffa;color:#edf6f1}.dev-debug-console-header{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:15px 24px;border-bottom:1px solid rgba(255,255,255,.12)}.dev-debug-console-header p,.dev-debug-console h2,.dev-debug-console h3,.dev-debug-console p{margin:0}.dev-debug-console-header p{color:#9db0a9;font-size:10px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.dev-debug-console-header h2{margin-top:3px;font-size:19px}.dev-debug-console-close,.dev-debug-console-intro button,.dev-debug-session button{min-height:36px;padding:0 13px;border:1px solid rgba(213,255,67,.52);border-radius:8px;background:#d5ff431a;color:#d5ff43;font-size:11px;font-weight:760}.dev-debug-console-tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.1)}.dev-debug-console-tabs button{min-height:44px;padding:0 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:#9db0a9;font-size:12px;font-weight:700}.dev-debug-console-tabs button.selected{border-bottom-color:#d5ff43;color:#edf6f1}.dev-debug-console-content{width:min(1180px,100%);margin:0 auto;padding:24px;overflow:auto}.dev-debug-console-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff09}.dev-debug-console-intro p{max-width:690px;color:#bdcbc5;font-size:13px;line-height:1.45}.dev-debug-route-control,.dev-debug-path-control{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff06}.dev-debug-route-control{display:grid;grid-template-columns:minmax(180px,1.25fr) repeat(3,minmax(160px,1fr));gap:15px;align-items:end;margin-bottom:15px}.dev-debug-route-control h3,.dev-debug-path-control h3,.dev-debug-session h3{font-size:14px}.dev-debug-route-control p,.dev-debug-path-control p,.dev-debug-session p{margin-top:5px;color:#9db0a9;font-size:11px;line-height:1.4}.dev-debug-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.dev-debug-path-control{display:grid;grid-template-columns:minmax(170px,1fr) minmax(120px,.7fr) minmax(150px,1fr) minmax(150px,1fr);gap:14px;align-items:end}.dev-debug-console label{display:grid;gap:7px;color:#b9c8c0;font-size:11px;font-weight:700}.dev-debug-console output{color:#d5ff43;font-variant-numeric:tabular-nums}.dev-debug-console input[type=range]{width:100%;accent-color:#d5ff43}.dev-debug-color-pair{display:flex;gap:11px}.dev-debug-color-pair label,.dev-debug-color{display:flex;align-items:center;gap:8px}.dev-debug-console input[type=color]{width:31px;height:27px;padding:2px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;cursor:pointer}.dev-debug-session{max-width:580px;padding-top:24px}.dev-debug-session p{margin-bottom:18px;font-size:13px}@media(max-width:820px){.dev-debug-console-header,.dev-debug-console-tabs,.dev-debug-console-content{padding-left:16px;padding-right:16px}.dev-debug-console-intro{align-items:flex-start;flex-direction:column}.dev-debug-route-control,.dev-debug-path-grid,.dev-debug-path-control{grid-template-columns:1fr}}.camera-performance-lab{position:absolute;z-index:20;right:64px;bottom:16px;width:min(720px,calc(100vw - 80px));max-height:44vh;padding:10px;overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:#07110ff0;box-shadow:0 8px 24px #00000057;color:#dce9e3;font-size:11px}.camera-performance-lab header{display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-performance-lab button{min-height:30px;padding:4px 10px;border-radius:6px}.camera-performance-lab p{margin:5px 0;color:#9db0a9}.camera-performance-lab pre{margin:8px 0 0;overflow:visible;color:#edf6f1;font:10px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.camera-performance-lab .camera-performance-error{color:#ff8d85}.app-shell.is-map-interacting .search-field,.app-shell.is-map-interacting .search-results,.app-shell.is-map-interacting .locate-button,.app-shell.is-map-interacting .bottom-sheet,.app-shell.is-map-interacting .reach-panel,.app-shell.is-map-interacting .point-of-view-hud,.app-shell.is-map-interacting .map-tool-dock,.app-shell.is-map-interacting .maplibregl-ctrl-group,.app-shell.is-map-interacting .slope-legend{-webkit-backdrop-filter:none;backdrop-filter:none}.waypoint-drag-marker{position:absolute;z-index:14;top:0;left:0;display:grid;width:26px;height:26px;place-items:center;border:3px solid #07110f;border-radius:50%;color:#07110f;background:#d5ff43;font-size:12px;font-weight:800;line-height:1;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0) translate(-50%,-50%);will-change:transform}.waypoint-drag-marker.is-visible{opacity:1}.waypoint-drag-marker.is-from{background:#76efb6}.waypoint-drag-marker.is-to{background:#ffcf73}.waypoint-drag-marker.is-snapped{background:#d5ff43;box-shadow:0 0 0 5px #d5ff4347}button,select{min-height:42px;border:1px solid rgba(255,255,255,.13);border-radius:11px;color:#edf6f1;background:#10201c}button:hover,button.active{border-color:#d5ff4399;background:#172b25}button:disabled{cursor:not-allowed;opacity:.45}.layers-close,.sheet-close,.location-card-close,.coach-hint button,.search-clear,.search-location,.search-account,.icon-action,.camera-control-button,.layers-button,.locate-button,.weather-map-button,.reach-button{box-sizing:border-box;flex-shrink:0;align-self:center}.layers-close:focus,.sheet-close:focus,.location-card-close:focus,.coach-hint button:focus,.search-clear:focus,.search-location:focus,.search-account:focus,.icon-action:focus,.camera-control-button:focus,.layers-button:focus,.locate-button:focus,.weather-map-button:focus,.reach-button:focus{outline:none}.layers-close:focus-visible,.sheet-close:focus-visible,.location-card-close:focus-visible,.coach-hint button:focus-visible,.search-clear:focus-visible,.search-location:focus-visible,.search-account:focus-visible,.icon-action:focus-visible,.camera-control-button:focus-visible,.layers-button:focus-visible,.locate-button:focus-visible,.weather-map-button:focus-visible,.reach-button:focus-visible{outline:2px solid rgba(213,255,67,.85);outline-offset:2px}.top-controls{position:absolute;z-index:12;top:16px;left:16px;right:16px;display:flex;align-items:flex-start;gap:10px;min-width:0}.brand-chip{flex:0 0 auto}.brand-mark{display:block;width:44px;height:44px;border-radius:13px;object-fit:cover;box-shadow:0 8px 26px #0000004d}.search-box{position:relative;flex:1 1 0%;min-width:0;max-width:460px}.map-tool-dock{display:contents}.top-controls:not(:has(.search-box)) .locate-button{margin-left:auto}.search-field{display:flex;align-items:center;gap:9px;height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:#07110feb;box-shadow:0 8px 26px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.search-icon{flex:0 0 auto;width:17px;height:17px;fill:none;stroke:#8fa29b;stroke-width:2;stroke-linecap:round}.search-field input{flex:1 1 auto;min-width:0;height:100%;min-height:0;padding:0;border:0;border-radius:0;color:#edf6f1;background:transparent;font-size:14px}.search-field input::placeholder{color:#6f827b}.search-field input:focus{outline:none}.search-field input::-webkit-search-cancel-button{display:none}.search-clear{display:grid;flex:0 0 auto;place-items:center;width:26px;height:26px;min-width:26px;min-height:26px;padding:0;border:0;border-radius:50%;color:#b8c8c2;background:#ffffff12;font-size:16px;line-height:1}.search-location{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:0;border-radius:50%;background:#ffffff12}.search-location svg{width:16px;height:16px;fill:none;stroke:#8fa29b;stroke-width:1.8;stroke-linecap:round}.search-location svg circle{fill:#8fa29b;stroke:none}.search-location.is-active{background:#5eb3ff29}.search-location.is-active svg,.search-location.is-active svg circle{stroke:#5eb3ff;fill:#5eb3ff}.search-account{display:grid;flex:0 0 auto;width:30px;height:30px;min-width:30px;min-height:30px;place-items:center;padding:0;overflow:hidden;border:1px solid rgba(213,255,67,.28);border-radius:10px;color:#07110f;background:#d5ff43;font-size:12px;font-weight:900}.search-account:hover,.search-account:active{border-color:#d5ff43b3;background:#d5ff43}.search-account img{width:100%;height:100%;object-fit:cover}.search-account .search-app-mark{padding:2px;object-fit:contain}.search-result.search-result-location{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:10px;align-items:center}.search-result-location-icon{grid-row:1 / span 2;width:26px;height:26px;border-radius:50%;fill:none;stroke:#5eb3ff;stroke-width:1.8;stroke-linecap:round;background:#5eb3ff29}.search-result-location-icon circle{fill:#5eb3ff;stroke:none}.search-result-location strong,.search-result-location span{grid-column:2}.search-result-location strong{color:#cfe8ff}.search-results{position:absolute;top:50px;left:0;right:0;z-index:20;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#07110ff5;box-shadow:0 24px 70px #00000075;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.search-empty{padding:14px 16px;color:#8fa29b;font-size:13px}.search-result{display:block;width:100%;padding:11px 16px;border:0;border-radius:0;background:transparent;text-align:left}.search-result+.search-result{border-top:1px solid rgba(255,255,255,.06)}.search-result.active,.search-result:hover{background:#d5ff431a}.search-result strong{display:block;font-size:13px;font-weight:700}.search-result span{display:block;margin-top:2px;overflow:hidden;color:#8fa29b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.layers-button,.camera-control-button,.weather-map-button,.reach-button{display:grid;flex:0 0 auto;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:#07110feb;box-shadow:0 8px 26px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.layers-button svg{width:21px;height:21px;fill:none;stroke:#d5ff43;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.camera-control-button svg{width:21px;height:21px;fill:none;stroke:#d7e6df;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.weather-map-button svg{width:22px;height:22px;fill:none}.weather-map-button svg path{stroke:#71827a;stroke-width:2.1;stroke-linecap:round;transition:stroke .14s ease,opacity .14s ease}.weather-map-button.is-active{border-color:#d5ff435c;background:#12221df5}.weather-map-button.is-active .weather-icon-rain{stroke:#00c8ff}.weather-map-button.is-active .weather-icon-wind{stroke:#d8d2ff}.weather-map-button.is-active .weather-icon-temperature{stroke:#ff3d62}.weather-map-button.is-active .weather-icon-uv{stroke:#ff9f1c}.camera-control-button:disabled{opacity:.36}.reach-button svg{width:22px;height:22px;fill:none;stroke:#d5ff43;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.reach-button svg .icon-pin{fill:#10201c}.reach-button.is-active svg .icon-pin{fill:#d5ff4321}.reach-button svg circle{fill:#d5ff43;stroke:none}.reach-button.is-active{border-color:#d5ff43ad;background:#1f3428f2}.experimental-tools{position:relative;flex:0 0 auto}.experimental-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:12;min-width:154px;padding:4px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#07110ff5;box-shadow:0 12px 30px #00000057}.experimental-menu button{width:100%;min-height:36px;padding:0 10px;border:0;border-radius:5px;color:#dbe9e2;background:transparent;font:inherit;font-size:13px;text-align:left}.experimental-menu button:hover,.experimental-menu button:focus-visible{color:#d5ff43;background:#d5ff431c;outline:none}.locate-button{display:grid;flex:0 0 auto;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:#07110feb;box-shadow:0 8px 26px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.locate-button svg{width:21px;height:21px;fill:none;stroke:#8fa29b;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.locate-button svg circle:first-of-type{fill:#8fa29b;stroke:none}.locate-button.is-active{border-color:#5eb3ff8c}.locate-button.is-active svg{stroke:#5eb3ff}.locate-button.is-active svg circle:first-of-type{fill:#5eb3ff}.account-overlay{position:absolute;z-index:34;inset:0;display:grid;place-items:center;padding:20px;background:#0207068c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.account-modal{width:min(430px,100%);max-height:calc(100% - 40px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:#07110ff7;box-shadow:0 30px 90px #0000008c}.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.account-head h2{margin:2px 0 0;font-size:22px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.auth-tabs button{min-height:38px;font-size:12px;font-weight:800}.google-action{width:100%;margin-bottom:12px;font-weight:800}.auth-form{display:grid;gap:10px}.auth-form label{display:grid;gap:6px;color:#93a59e;font-size:11px;font-weight:800;text-transform:uppercase}.auth-form input{min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.13);border-radius:11px;color:#edf6f1;background:#10201c}.auth-link{width:100%;min-height:36px;margin-top:10px;border:0;background:transparent;color:#d5ff43;font-size:12px;font-weight:800}.account-message,.saved-empty{margin:12px 0 0;color:#9fb0aa;font-size:12px;line-height:1.45}.account-profile{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:12px;border-radius:14px;background:#ffffff0b}.account-profile img,.account-profile>span{display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;border-radius:50%;background:#d5ff43;color:#07110f;object-fit:cover;font-weight:900}.account-profile strong,.account-profile span{display:block}.account-profile strong{font-size:14px}.account-profile div span{margin-top:2px;color:#8fa29b;font-size:12px}.saved-list{display:grid;gap:9px;margin-bottom:14px}.saved-route-card{display:grid;grid-template-columns:1fr 38px;align-items:stretch;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#ffffff0a}.saved-route-main{min-width:0;min-height:76px;padding:10px 12px;border:0;border-radius:0;background:transparent;text-align:left}.saved-route-main strong,.saved-route-main span,.saved-route-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-route-main strong{font-size:13px}.saved-route-main span{margin-top:5px;color:#9fb0aa;font-size:11px}.saved-route-main small{margin-top:5px;color:#6f847c;font-size:10px}.saved-route-delete{width:38px;min-height:0;border:0;border-left:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent;color:#ffb5a9;font-size:22px}.layers-overlay{position:absolute;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#0207068c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.layers-modal{width:min(520px,100%);max-height:calc(100% - 40px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:#07110ff7;box-shadow:0 30px 90px #0000008c}.layers-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.layers-modal-head strong{font-size:16px;letter-spacing:-.01em}.layers-close,.sheet-close{display:grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:50%;color:#b8c8c2;background:#ffffff12;font-size:19px;line-height:1}.layers-close:hover,.sheet-close:hover{border:0;color:#edf6f1;background:#ffffff1f}.sheet-close svg{width:18px;height:18px}.layers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.layer-card{display:flex;flex-direction:row;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:#ffffff09;text-align:left}.layer-card.active{border-color:#d5ff43;background:#d5ff431a}.layer-swatch{flex:none;width:38px;height:38px;border-radius:9px;background-size:cover;background-position:center}.swatch-aerial{background:linear-gradient(135deg,#2c4a32,#6f8a3f 55%,#cdd6a0)}.swatch-relief{background:linear-gradient(135deg,#3a3a3a,#8a8a8a 60%,#d8d8d8)}.swatch-topo{background:repeating-linear-gradient(125deg,#c79a3f,#c79a3f 2px,#e8dcc0 2px 7px)}.swatch-slope{background:linear-gradient(90deg,#41ad6e,#f2cd4a,#f4933f,#e14e3a,#912659)}.layers-section-head{margin:16px 0 8px;color:#8fa29b;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.path-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.path-legend-item{display:flex;align-items:center;min-width:0;gap:9px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#ffffff06}.path-legend-item>span{display:grid;min-width:0;gap:2px}.path-legend-item strong{font-size:11px}.path-legend-item small{color:#8fa29b;font-size:10px;line-height:1.3}.path-legend-line{position:relative;flex:0 0 38px;height:10px}.path-legend-line:before,.path-legend-line:after{position:absolute;top:50%;right:0;left:0;content:"";transform:translateY(-50%)}.path-legend-track:before,.path-legend-service:before{height:7px;border-radius:999px;background:#737b74}.path-legend-track:after,.path-legend-service:after{height:3px;border-radius:999px;background:#f4f3ed}.path-legend-service:before{height:6px}.path-legend-service:after{height:2px}.path-legend-foot:before{height:3px;border-radius:999px;background:repeating-linear-gradient(90deg,#557b55 0 9px,transparent 9px 18px)}.path-legend-pedestrian:before,.path-legend-cycleway:before{height:2px;background:repeating-linear-gradient(90deg,#747d78 0 11px,transparent 11px 18px)}.path-legend-cycleway:before{background:repeating-linear-gradient(90deg,#4f7f7a 0 13px,transparent 13px 20px)}.swatch-overlay-hiking{background:repeating-linear-gradient(90deg,#d6453a,#d6453a 9px,#2f6fd6 9px 18px)}.swatch-overlay-cycling{background:linear-gradient(135deg,#2f6fd6,#4aa3e8 60%,#9fd0f2)}.swatch-overlay-mtb{background:linear-gradient(135deg,#6b3f1d,#a9692f 60%,#d9a35a)}.layer-card-copy strong{display:block;font-size:13px}.layer-card-copy span{display:block;margin-top:2px;color:#8fa29b;font-size:10.5px;line-height:1.35}.bottom-sheet{position:absolute;z-index:8;bottom:16px;left:16px;width:400px;max-width:calc(100% - 32px);max-height:calc(100vh - 90px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:#07110ff2;box-shadow:0 24px 80px #00000075;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .22s cubic-bezier(.2,.8,.2,1);touch-action:none}.sheet-grab{display:grid;flex:0 0 auto;place-items:center;height:22px;cursor:grab;touch-action:none}.sheet-grab:active{cursor:grabbing}.sheet-grab-bar{width:44px;height:5px;border-radius:99px;background:#ffffff38}.sheet-body{padding:4px 20px 20px;overflow-y:auto}.bottom-sheet-mini{flex-direction:row;align-items:center;gap:8px;padding:8px 8px 8px 6px}.bottom-sheet.route-preview{right:16px;bottom:16px;left:auto;width:min(560px,calc(100% - 32px));max-height:none;padding:10px 14px 8px;overflow:visible}.route-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-preview-head>span{display:flex;min-width:0;flex-direction:column;gap:1px}.route-preview-head b{color:#dfe9e3;font-size:12px}.route-preview-head small{color:#81958d;font-size:10px}.route-preview .route-profile{margin:0;padding-top:4px}.route-preview-toggle{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 12px;padding:10px 12px;border-color:#d5ff4347;color:#d5ff43;background:#d5ff430f;font-size:12px;font-weight:800}.route-preview-toggle span{color:#91a69c;font-size:10px;font-weight:600}.sheet-mini{display:flex;flex:1;min-width:0;align-items:center;gap:12px;padding:8px 6px 8px 14px;border:0;border-radius:16px;background:transparent;text-align:left;cursor:pointer}.sheet-mini .sheet-grab-bar{width:5px;height:30px;flex:none}.sheet-mini-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.sheet-mini-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-mini-copy span{color:#8fa29b;font-size:12px}.sheet-mini-expand{display:grid;place-items:center;margin-left:auto;padding:0 8px;color:#8fa29b}.sheet-mini-expand svg{width:17px;height:17px}.sheet-mini-close{flex:none}.sheet-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.sheet-eyebrow{display:block;margin-bottom:4px;color:#d5ff43;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sheet-section-head h2{margin:0;font-size:20px;letter-spacing:-.03em}.activity-selector{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:-2px 0 12px;color:#a9bbb3;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.activity-selector select{width:100%;min-height:40px;padding:0 40px 0 12px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:#07110fb8;color:#edf5f0;color-scheme:dark;appearance:none;-webkit-appearance:none;font:inherit;font-size:13px;letter-spacing:0;text-transform:none}.activity-select-control{position:relative;display:block}.activity-select-control svg{position:absolute;top:50%;right:14px;width:16px;height:16px;pointer-events:none;transform:translateY(-50%);color:var(--mv-label-secondary, #aabbb3)}.route-name-input{width:min(280px,calc(100vw - 130px));margin:0;padding:0;border:0;border-bottom:1px solid transparent;border-radius:0;outline:0;background:transparent;color:inherit;font-size:20px;font-weight:700;letter-spacing:-.03em}.route-name-input:hover,.route-name-input:focus{border-bottom-color:#d5ff43cc}.reach-panel{position:absolute;z-index:14;left:18px;bottom:18px;width:min(380px,calc(100vw - 36px));max-height:min(640px,calc(100vh - 112px));overflow-y:auto;padding:16px;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:#07110ff0;box-shadow:0 24px 80px #0000007a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.reach-panel-mini{flex-direction:row;align-items:center;gap:8px;max-height:none;overflow:visible;padding:8px 8px 8px 6px}.reach-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.reach-panel-head h2{margin:0;font-size:20px;line-height:1.1}.reach-start-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:10px;min-height:48px;margin-bottom:12px;padding:8px 8px 8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#ffffff0b}.reach-start-row span{min-width:0;overflow:hidden;color:#cdd9d3;font-size:13px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.reach-status{margin:0 0 12px;font-size:12.5px;line-height:1.35;color:#cdd9d3}.reach-status-empty{color:#f2cd4a}.reach-status-error{color:#f4936b}.reach-selection{display:grid;gap:10px;margin:0 0 12px;padding:11px;border:1px solid rgba(213,255,67,.18);border-radius:14px;background:#d5ff4313}.reach-selection-head,.reach-selection-metrics{display:flex;align-items:center;justify-content:space-between;gap:10px}.reach-selection-head span{color:#eef8ee;font-size:12px;font-weight:850}.reach-selection-head button{min-height:28px;padding:0 9px;border-radius:999px;color:#d5ff43;background:#d5ff4314;font-size:11px;font-weight:800}.reach-selection-note{margin:0;color:#cdd9d3;font-size:12px;line-height:1.35}.reach-selection-error .reach-selection-note{color:#f4936b}.reach-selection-metrics{padding:8px 9px;border-radius:10px;background:#030d0b61;color:#cdd9d3;font-size:12px;font-weight:750}.reach-selection-metrics span{min-width:0}.reach-selection-metrics strong{color:#eef8ee;font-size:15px}.reach-selection-options{display:flex;flex-wrap:wrap;gap:6px}.reach-selection-options button{display:grid;width:32px;height:32px;min-width:32px;min-height:32px;place-items:center;padding:0;border-radius:50%;color:#d7e2dc;background:#ffffff12;font-size:12px;font-weight:900}.reach-selection-options button.active{color:#07110f;background:#d5ff43}.reach-confirm-button{min-height:38px;border-radius:999px;color:#07110f;background:#d5ff43;font-size:13px;font-weight:900}.reach-progress{display:grid;gap:7px;margin:0 0 12px}.reach-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:700;color:#cdd9d3;font-variant-numeric:tabular-nums}.reach-progress-track{position:relative;height:6px;overflow:hidden;border-radius:999px;background:#ffffff1a}.reach-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9fe83a,#d5ff43);transition:width .35s ease}.reach-progress-track.is-indeterminate .reach-progress-fill{width:40%;transition:none;animation:reach-progress-glide 1.15s ease-in-out infinite}@keyframes reach-progress-glide{0%{transform:translate(-110%)}to{transform:translate(310%)}}.sheet-mini-progress{flex:1;display:grid;gap:8px;padding:4px 8px 6px;cursor:default}.sheet-mini-progress .reach-progress{margin:0}.reach-camera-locked{cursor:progress!important}.reach-submit{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;margin-top:2px;padding:0 16px;border:1px solid rgba(213,255,67,.85);border-radius:14px;color:#07110f;background:#d5ff43;font-size:14px;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .05s ease}.reach-submit:hover:not(:disabled){background:#e2ff6e}.reach-submit:active:not(:disabled){transform:translateY(1px)}.reach-submit:disabled{cursor:default;color:#9fb0aa;border-color:#ffffff1a;background:#ffffff0d}.reach-submit-spinner{width:15px;height:15px;border-radius:50%;border:2px solid rgba(159,176,170,.4);border-top-color:#9fb0aa;animation:reach-spinner-spin .7s linear infinite}@keyframes reach-spinner-spin{to{transform:rotate(360deg)}}.reach-start-button{display:grid;width:34px;height:34px;min-width:34px;min-height:34px;place-items:center;padding:0;border-radius:50%;background:#d5ff4314}.reach-start-button svg{width:19px;height:19px;fill:none;stroke:#d5ff43;stroke-width:1.8;stroke-linejoin:round}.reach-start-button svg circle{fill:#d5ff43;stroke:none}.reach-start-button.active{color:#07110f;background:#d5ff43}.reach-start-button.active svg{stroke:#07110f}.reach-start-button.active svg circle{fill:#07110f}.reach-presets,.reach-terrain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px}.reach-presets button,.reach-terrain button{min-width:0;min-height:36px;padding:0 8px;border-radius:999px;color:#b8c8c2;background:#ffffff0b;font-size:12px;font-weight:800}.reach-presets button.active,.reach-terrain button.active{color:#07110f;border-color:#d5ff43d9;background:#d5ff43}.reach-sliders{display:grid;gap:10px;margin-bottom:12px}.reach-slider-row{display:grid;gap:6px}.reach-slider-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.reach-slider-row strong{font-size:12px}.reach-slider-row em{color:#8fa29b;font-size:12px;font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}.reach-slider-row input[type=range]{width:100%;accent-color:#d5ff43}.reach-grade-slider-row{gap:8px}.reach-grade-track-shell{position:relative;display:block;height:22px}.reach-grade-pill-track{position:absolute;inset:8px 0 auto;display:block;height:6px;border-radius:999px;background:#ffffff0e;overflow:hidden}.reach-grade-pill-track i{position:absolute;top:0;bottom:0;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff1a;opacity:.88}.reach-grade-pill-track i.active{opacity:1;box-shadow:inset 0 0 0 1px #ffffff2e,0 0 8px #d5ff431f}.reach-grade-pill-fill{position:absolute;inset:0 auto 0 0;width:var(--reach-grade-progress);border-radius:999px 0 0 999px;background:linear-gradient(90deg,#d5ff4394,#d5ff4357);box-shadow:inset 0 0 0 1px #f4ffe024;mix-blend-mode:screen;pointer-events:none}.reach-slider-row input.reach-grade-range{position:absolute;inset:0;height:22px;appearance:none;background:transparent}.reach-slider-row input.reach-grade-range::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:transparent}.reach-slider-row input.reach-grade-range::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;appearance:none;border:0;border-radius:50%;background:#d5ff43;box-shadow:0 0 0 1px #07110f8c}.reach-slider-row input.reach-grade-range::-moz-range-track{height:6px;border-radius:999px;background:transparent}.reach-slider-row input.reach-grade-range::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:#d5ff43;box-shadow:0 0 0 1px #07110f8c}.bottom-sheet.phase-peek{right:20px;bottom:20px;left:auto;width:min(92vw,430px);max-width:none;max-height:none;display:block;overflow:hidden;border-color:#d5ff432e;border-radius:18px;background:radial-gradient(circle at 18% 0%,rgba(213,255,67,.13),transparent 36%),linear-gradient(155deg,#11231ef7,#07110feb 64%),#07110fe6;box-shadow:0 0 0 1px #ffffff09 inset,0 20px 60px #0000006b,0 0 46px #d5ff431a}.bottom-sheet.phase-peek .sheet-body{padding:13px;overflow:visible}.peek-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.peek-badge{padding:4px 10px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.peek-badge.kind-trail{color:#07110f;background:#e8893a}.peek-badge.kind-search{color:#07110f;background:#76efb6}.peek-badge.kind-map{color:#07110f;background:#d5ff43}.peek-badge.kind-poi{color:#07110f;background:#76efb6}.peek-title{margin:0 0 8px;color:#f3ffe0;font-size:20px;font-weight:900;letter-spacing:0;line-height:1.1}.peek-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:12px}.peek-meta-actions{display:inline-flex;align-items:center;gap:6px}.peek-meta-copy{min-width:0}.peek-subtitle{margin:0 0 3px;color:#cdd9d3;font-size:13px;line-height:1.25}.peek-route-context{margin:0 0 3px;color:#d5ff43;font-size:12px;font-weight:750;line-height:1.25}.peek-coordinate{margin:0;color:#748981;font-size:11px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-navigate,.sheet-pov,.peek-share{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;margin:0;white-space:nowrap}.sheet-pov{min-height:34px;padding:0 11px;border-color:#d5ff4357;border-radius:999px;color:#f3ffe0;background:#d5ff4317;font-size:12px;font-weight:850}.peek-share{width:34px;min-width:34px;min-height:34px;padding:0;border-color:#ffffff21;border-radius:50%;color:#9fb0aa;background:#ffffff0b}.peek-share svg{width:16px;height:16px}.peek-share:hover:not(:disabled),.peek-share:focus-visible{border-color:#d5ff436b;color:#d5ff43;background:#d5ff431a}.peek-share.is-copied{border-color:#76efb66b;color:#76efb6;background:#76efb61a}.peek-share:disabled{color:transparent}.peek-share:disabled:after{width:13px;height:13px;border:2px solid rgba(213,255,67,.26);border-top-color:#d5ff43;border-radius:50%;content:"";animation:route-update-spin .7s linear infinite}.sheet-navigate{min-height:48px}.poi-preview{min-height:42px;margin-bottom:8px;color:#f3ffe0;border-color:#d5ff4361;background:#d5ff431f}.poi-secondary-actions{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.poi-secondary-actions .text-action{padding:3px 0;color:#a9c4b9;font-size:12px}.navigate-icon,.pov-action-icon{width:17px;height:17px}.navigate-icon{fill:#07110f}.pov-action-icon{width:15px;height:15px;fill:none;stroke:#d5ff43;stroke-width:1.9;stroke-linecap:round}.pov-action-icon circle{fill:#d5ff43;stroke:none}.waypoint-list{display:grid;margin-bottom:6px}.waypoint-row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:3px 0;border:0;border-radius:0;background:transparent;transition:transform .16s cubic-bezier(.2,.8,.2,1)}.waypoint-row+.waypoint-row:before{content:"";position:absolute;top:0;left:40px;right:0;height:1px;background:#ffffff17}.waypoint-row.dragging{border-radius:12px;background:#16271ff5;box-shadow:0 14px 34px #00000073}.waypoint-row.dragging:before,.waypoint-row.dragging+.waypoint-row:before{opacity:0}.waypoint-row:focus-within{z-index:20}.waypoint-dot{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;color:#07110f;background:#d5ff43;font-size:12px;font-weight:900;transition:box-shadow .14s ease}.waypoint-row.active .waypoint-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--search-accent, #d5ff43) 32%,transparent)}.waypoint-dot.from{background:#76efb6}.waypoint-dot.to{background:#ffcf73}.waypoint-dot.via{background:#cdd9d3}.search-box.compact{flex:1 1 auto;max-width:none}.search-box.compact .search-field{height:44px;gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.waypoint-row.active .search-box.compact .search-field{box-shadow:inset 0 -2px color-mix(in srgb,var(--search-accent, #d5ff43) 70%,transparent)}.waypoint-approach{grid-column:2 / -1;margin:-3px 0 7px;color:#ffcf73;font-size:.7rem;letter-spacing:.01em}.search-box.compact .search-icon{display:none}.search-box.compact .search-field input{font-size:13px}.search-box.compact .search-field .icon-action{flex-shrink:0}.search-box.compact .search-results{top:44px;z-index:30}.waypoint-controls{display:flex;align-items:center;gap:2px}.icon-action{display:grid;place-items:center;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:#8fa29b;transition:color .13s ease}.icon-action:hover{border:0;background:transparent;color:#edf6f1}.icon-action svg{width:18px;height:18px}.icon-action.remove:hover{color:#ff8e76}.icon-action.swap:hover{color:#d5ff43}.icon-action.drag-handle{cursor:grab;touch-action:none}.icon-action.drag-handle:active{cursor:grabbing}.icon-action.drag-handle:hover{color:#d5ff43}.secondary-action{width:100%;margin-bottom:12px;font-weight:800}.primary-action{width:100%;min-height:50px;border:0;color:#07110f;background:#d5ff43;font-weight:900}.primary-action:hover:not(:disabled){background:#e1ff77}.status-line{min-height:18px;margin:12px 0 0;color:#8fa29b;font-size:12px;line-height:1.45}.status-line.error{min-height:0;padding:10px 12px;border:1px solid rgba(255,112,72,.38);border-radius:10px;color:#ffd8cf;background:#ff70481f;font-size:13px}.planner-quick-actions{display:flex;justify-content:space-between;gap:12px;margin:2px 2px 10px}.planner-quick-actions .text-action{min-height:32px;padding-inline:8px;border-radius:8px}.text-action{border:0;padding:6px 0;background:transparent;color:var(--ink-muted, #9caaa3);font:inherit;font-size:.82rem;cursor:pointer}.text-action:hover:not(:disabled){color:#d5ff43}.text-action:disabled{cursor:default;opacity:.45}.text-action.danger:hover:not(:disabled){color:#ff9f83}.route-detail{padding-top:7px}.route-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.route-detail-title{min-width:0}.route-detail .sheet-eyebrow{margin-bottom:5px}.route-detail .route-name-input{display:block;width:min(242px,calc(100vw - 206px));font-size:22px;line-height:1.12}.route-stops-link{min-height:auto;margin:7px 0 0;padding:0;border:0;border-radius:0;background:transparent;color:#9fb2aa;font-size:11px;font-weight:650;letter-spacing:.01em}.route-stops-link:hover{border:0;background:transparent;color:#d5ff43}.route-detail-tools{display:flex;flex:0 0 auto;align-items:center;gap:2px;margin-top:2px}.route-detail-icon{display:grid;width:34px;height:34px;min-height:34px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#9fb2aa}.route-detail-icon:hover:not(:disabled){border:0;background:#ffffff13;color:#edf6f1}.route-detail-icon.is-confirmed{color:#76efb6}.route-detail-icon svg{width:18px;height:18px}.route-detail-hero{margin:24px 0 16px;padding:17px 18px 16px;border:1px solid rgba(213,255,67,.21);border-radius:16px;background:linear-gradient(120deg,#d5ff431f,#d5ff4306 62%),#ffffff09}.route-detail-hero strong{display:block;color:#f1f8f3;font-size:32px;font-weight:780;letter-spacing:-.055em;line-height:1}.route-detail-ride-meta{display:flex;align-items:center;gap:8px;margin-top:10px;color:#aec0b8;font-size:12px;font-variant-numeric:tabular-nums;font-weight:650}.route-detail-ride-meta i{width:3px;height:3px;border-radius:50%;background:#6d8178}.route-detail-highlights{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:11px;color:#82978e;font-size:10px;font-variant-numeric:tabular-nums;font-weight:650}.route-detail-highlights b{color:#cbd8d2;font-size:11px;font-weight:750}.route-detail-highlights i{width:3px;height:3px;border-radius:50%;background:#61756c}.route-weather{margin:0 0 12px;padding:13px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:#ffffff09}.weather-heading,.weather-preference,.weather-better-window,.weather-compare>header:not(.overlay-sheet-header){display:flex;align-items:center}.weather-heading{justify-content:space-between;gap:12px}.weather-heading>div{min-width:0}.weather-heading .sheet-eyebrow{display:block;margin:0 0 4px}.weather-heading strong{display:block;color:#ecf3ef;font-size:12px;font-weight:720;line-height:1.35}.weather-model-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}.weather-model-tools label{display:flex;min-width:0;align-items:center;gap:6px;color:#70837a;font-size:8px;font-weight:780;letter-spacing:.05em;text-transform:uppercase}.weather-model-tools select{min-height:28px;max-width:116px;padding:0 22px 0 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0000002e;color:#dbe7e1;color-scheme:dark;font-size:9px;font-weight:750;text-transform:none}.weather-model-tools>button{min-height:28px;padding:0;border:0;background:transparent;color:#a9be77;font-size:9px;font-weight:760}.weather-model-tools>button span{margin-left:3px;color:#d5ff43}.weather-model-tools>button:disabled{opacity:.4}.weather-model-fallback{margin:6px 0 0;color:#ffcf73;font-size:8px;line-height:1.4}.weather-shared-context{margin:5px 0 0;color:#879b91;font-size:8px;line-height:1.4}.weather-score{display:flex;flex:0 0 auto;gap:3px}.weather-score i{width:5px;height:5px;border-radius:50%;background:#ffffff24}.weather-score .on{background:#d5ff43}.weather-score.score-3 .on{background:#ffcf73}.weather-score.score-2 .on,.weather-score.score-1 .on{background:#ff805d}.weather-preference{display:grid;grid-template-columns:auto minmax(76px,1fr) auto auto;gap:6px;margin-top:11px}.weather-mode,.weather-time-stepper{display:flex;align-items:center}.weather-mode{padding:2px;border-radius:9px;background:#0000003d}.weather-mode button{min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:#849990;font-size:9px;font-weight:750}.weather-mode button.active{background:#d5ff4321;color:#d5ff43}.weather-day-trigger,.weather-preference>select{min-height:32px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#00000026;color:#dce7e1}.weather-day-trigger{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:0 8px;font-size:10px;font-weight:720}.weather-day-trigger small{color:#849990;font-size:8px}.weather-preference>select{max-width:72px;padding:0 5px;color-scheme:dark;font-size:9px;font-weight:700}.weather-time-stepper{border:1px solid rgba(255,255,255,.1);border-radius:9px;overflow:hidden;background:#00000026}.weather-time-stepper button{width:27px;min-height:30px;padding:0;border:0;background:transparent;color:#9fb2aa;font-size:15px}.weather-time-stepper input{width:56px;min-height:30px;padding:0;border:0;outline:0;background:transparent;color:#ecf3ef;color-scheme:dark;font-size:10px;font-variant-numeric:tabular-nums;text-align:center}.weather-better-window{gap:9px;margin-top:10px;padding:9px 9px 9px 10px;border:1px solid rgba(213,255,67,.34);border-radius:11px;background:linear-gradient(105deg,#d5ff4324,#d5ff4309)}.weather-alert-mark{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border-radius:8px;background:#d5ff43;color:#07110f;font-size:13px;font-weight:900}.weather-better-window div{min-width:0;flex:1}.weather-better-window small{display:block;color:#aebd91;font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.weather-better-window strong{display:block;margin-top:1px;color:#f1f7f3;font-size:11px;font-variant-numeric:tabular-nums}.weather-better-window p{overflow:hidden;margin:2px 0 0;color:#9faf9e;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.weather-better-window button{min-height:31px;padding:0 11px;border:0;border-radius:8px;background:#d5ff43;color:#07110f;font-size:10px;font-weight:820}.weather-best-fit{margin:8px 1px 0;color:#83968e;font-size:9px}.weather-skeleton{height:34px;margin-top:10px;border-radius:10px;background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:200% 100%;animation:weather-shimmer 1.2s linear infinite}@keyframes weather-shimmer{to{background-position:-200% 0}}.weather-state{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding:8px 9px;border-radius:9px;background:#ffffff0b;color:#82958d;font-size:9px}.weather-state.error{color:#ffb6a4;background:#ff715514}.weather-state button{min-height:26px;padding:0 9px;border:1px solid currentColor;border-radius:7px;background:transparent;font-size:9px}.weather-compare-backdrop{position:fixed;z-index:90;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:14px;background:#02080794;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.weather-compare{width:min(100%,480px);max-height:min(78dvh,660px);overflow:auto;padding:17px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#0b1714;box-shadow:0 30px 80px #0000008c}.weather-compare>header:not(.overlay-sheet-header){justify-content:space-between}.weather-compare h2{margin:2px 0 0;color:#eef6f1;font-size:20px}.weather-compare>header:not(.overlay-sheet-header) button{width:34px;min-height:34px;padding:0;border:0;border-radius:50%;background:#ffffff0f;color:#9bada5;font-size:22px}.weather-compare>p{margin:8px 0 14px;color:#7f938a;font-size:10px;line-height:1.4}.weather-day-list{display:grid;gap:6px}.weather-day-list>button{display:grid;grid-template-columns:38px 34px minmax(0,1fr) 47px;align-items:center;gap:9px;min-height:55px;padding:7px 9px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff06;text-align:left}.weather-day-list>button.selected{border-color:#d5ff435c;background:#d5ff4312}.weather-day-list>button:disabled{cursor:default;opacity:.45}.weather-day-list time{display:flex;align-items:baseline;gap:4px;color:#8fa299;font-size:9px}.weather-day-list time span{color:#e7f0eb;font-size:17px;font-weight:780}.weather-day-verdict,.weather-day-time{display:flex;min-width:0;flex-direction:column}.weather-day-verdict b{color:#dce7e1;font-size:10px}.weather-day-verdict small{overflow:hidden;color:#7f938a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.weather-day-time{align-items:flex-end;font-variant-numeric:tabular-nums}.weather-day-time small{color:#667a71;font-size:8px;text-transform:uppercase}.weather-day-time b{color:#d5ff43;font-size:11px}.weather-day-unavailable{color:#657970;font-size:8px}.weather-model-compare-backdrop{position:fixed;z-index:110;inset:0;overflow:hidden;background:#07110f}.weather-model-compare{height:100%;overflow:auto;overscroll-behavior:contain;padding:max(16px,env(safe-area-inset-top)) 14px max(24px,env(safe-area-inset-bottom))}.weather-model-compare>header:not(.overlay-sheet-header){position:sticky;z-index:3;top:calc(-1*max(16px,env(safe-area-inset-top)));display:flex;align-items:center;justify-content:space-between;margin:0 -14px;padding:max(16px,env(safe-area-inset-top)) 14px 12px;background:linear-gradient(#07110f 80%,#07110feb)}.weather-model-compare h2{margin:2px 0 0;color:#f0f6f2;font-size:22px;line-height:1}.weather-model-compare>header:not(.overlay-sheet-header) button{width:36px;min-height:36px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:50%;background:#ffffff0d;color:#a9bbb3;font-size:23px}.weather-model-compare>p{max-width:580px;margin:4px 0 16px;color:#7b8f86;font-size:9px;line-height:1.45}.weather-model-shared-context{display:flex;max-width:760px;align-items:center;justify-content:space-between;gap:12px;margin:0 auto 10px;padding:9px 11px;border:1px solid rgba(255,207,115,.18);border-radius:11px;background:#ffcf730e}.weather-model-shared-context span{color:#8d8062;font-size:7px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.weather-model-shared-context strong{color:#d7cab0;font-size:9px;text-align:right}.weather-model-list{display:grid;gap:10px;max-width:760px;margin:0 auto}.weather-model-list>article{padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:#ffffff07}.weather-model-list>article.selected{border-color:#d5ff435c;background:linear-gradient(120deg,#d5ff4312,#ffffff06)}.weather-model-list>article.partial{border-color:#ffcf7338}.weather-model-list>article.unavailable{padding-block:9px;border-style:dashed;background:transparent}.weather-model-list>article.unavailable>strong{margin:5px 0 0;color:#71857c;font-weight:560}.weather-model-list article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.weather-model-list article>header span{display:block;color:#667b72;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.weather-model-list h3{margin:2px 0 0;color:#edf4f0;font-size:13px}.weather-model-list article>header>div>small{display:block;margin-top:2px;color:#61756c;font-size:7px}.weather-model-list article>header>small{color:#667970;font-size:8px}.weather-model-score{display:flex;flex:0 0 auto;align-items:flex-end;flex-direction:column;gap:4px}.weather-model-score small{color:#c1a565;font-size:7px}.weather-model-list article>strong{display:block;margin:8px 0 7px;color:#aebfb6;font-size:9px;font-weight:680;line-height:1.35}.weather-model-capability{margin:-2px 0 8px;color:#8b7d60;font-size:7px;line-height:1.35}.weather-model-list .route-profile{margin-top:2px}.weather-model-list .route-profile-topline>span{color:#71857c}.weather-model-list article>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}.weather-model-list article>footer p{max-width:72%;margin:0;color:#64786f;font-size:8px;line-height:1.35}.weather-model-list article>footer button,.weather-model-list article>footer>span{flex:0 0 auto;min-height:26px;padding:0 9px;border:1px solid rgba(213,255,67,.3);border-radius:8px;background:#d5ff4314;color:#d5ff43;font-size:8px;font-weight:790;line-height:24px}.weather-model-list article>footer button:disabled{opacity:.35}.weather-more-models{min-height:36px;border:1px dashed rgba(255,255,255,.13);border-radius:12px;background:transparent;color:#91a49b;font-size:9px;font-weight:750}.weather-more-models span{display:inline-grid;width:17px;height:17px;margin-left:5px;place-items:center;border-radius:50%;background:#ffffff0f;color:#bfd0c8;font-size:8px}.route-approach-note,.route-update-status{display:flex;align-items:center;gap:9px;margin:12px 0 0;padding:10px 12px;border:1px solid rgba(255,207,115,.28);border-radius:12px;background:#ffcf7314;color:#f4e7c3;font-size:.82rem;line-height:1.35}.route-approach-note span{color:#ffcf73;font-size:1.35rem;line-height:1}.route-approach-note p{margin:0}.route-update-status{color:#dbe5de;border-color:#d5ff4340;background:#d5ff4314}.route-update-status.error{color:#ffb6a4;border-color:#ff715559;background:#ff71551a}.route-update-spinner{width:13px;height:13px;flex:0 0 auto;border:2px solid rgba(213,255,67,.3);border-top-color:#d5ff43;border-radius:50%;animation:route-update-spin .75s linear infinite}@keyframes route-update-spin{to{transform:rotate(360deg)}}.route-detail-note{margin:13px 2px 16px;color:#849990;font-size:11px;line-height:1.5}.route-detail-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.route-send-action,.route-exact-gpx-action,.route-mapy-open-action,.route-getting-there-action,.route-retry{min-height:46px;margin:0;font-size:12px;font-weight:800}.route-send-action{display:flex;align-items:center;justify-content:center;gap:8px;border:0;color:#07110f;background:#d5ff43}.route-exact-gpx-action,.route-mapy-open-action{min-height:46px;margin:0;font-size:12px;font-weight:800}.route-getting-there-action{min-height:42px;border-color:#ffffff29;color:#c7d5cf;background:#ffffff09;font-size:12px;font-weight:750}.route-getting-there-action:hover:not(:disabled){border-color:#d5ff4366;color:#edf6e4;background:#d5ff4312}.route-getting-there-action:disabled{cursor:not-allowed;opacity:.48}.route-start-unavailable{margin:-2px 2px 2px;color:#ffb5a9;font-size:11px;line-height:1.45}.route-start-navigation-overlay{position:fixed;z-index:90;inset:0;display:grid;align-items:end;padding:18px;background:#0207069e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.route-start-navigation-sheet{width:min(520px,100%);justify-self:center;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#07110ffa;box-shadow:0 30px 90px #0000008c}.route-start-navigation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.route-start-navigation-head h2{margin:3px 0 0;color:#f3fbf6;font-size:18px;letter-spacing:-.02em}.route-start-navigation-description{margin:12px 0 16px;color:#aebfb7;font-size:12px;line-height:1.45}.route-start-navigation-actions{display:grid;gap:8px}.route-start-navigation-actions button{min-height:44px;margin:0;border-color:#d5ff4347;color:#e8f6d1;background:#d5ff4314;font-size:12px;font-weight:800}.route-start-navigation-actions button:hover{border-color:#d5ff43ad;background:#d5ff4326}.route-start-navigation-error{margin:12px 2px 0;color:#ffb5a9;font-size:11px;line-height:1.45}.route-exact-gpx-action{border:0;color:#07110f;background:#d5ff43}.route-exact-gpx-action:hover{border:0;background:#e1ff77}.route-mapy-open-action{border-color:#d5ff4373;color:#e8f6d1;background:#d5ff431a}.route-mapy-open-action:hover{border-color:#d5ff43cc;background:#d5ff432b}.route-mapy-note{margin:-2px 2px 2px;color:#849990;font-size:11px;line-height:1.45}.route-mapy-navigation{border-top:1px solid rgba(255,255,255,.09);padding-top:9px}.route-mapy-navigation summary{color:#b9c9c1;font-size:11px;font-weight:750;cursor:pointer}.route-mapy-navigation p{margin:8px 0;color:#849990;font-size:11px;line-height:1.45}.route-mapy-navigation button{width:100%;min-height:40px;border-color:#d5ff4352;color:#d5ff43;background:#d5ff4312;font-size:12px;font-weight:800}.route-send-action:hover:not(:disabled){border:0;background:#e1ff77}.route-retry{padding-inline:13px;color:#d9e4de;background:#ffffff0b}.route-retry:hover{border-color:#d5ff4375}.route-retry{grid-column:1 / -1;border-color:#ff70484d;color:#ffc0ae}.share-status{margin:10px 0 0;color:#ffb5a9;font-size:11px}.share-load-toast{position:absolute;top:82px;left:50%;z-index:30;width:min(360px,calc(100vw - 28px));transform:translate(-50%);padding:10px 12px;border:1px solid rgba(213,255,67,.24);border-radius:12px;background:#0a120fe0;box-shadow:0 16px 42px #00000047;color:#eaf8f0;font-size:12px;line-height:1.35;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.share-load-toast.error{border-color:#ff786257;color:#ffd6cf}.share-onboarding{position:absolute;inset:0;z-index:80;display:grid;place-items:center;padding:18px;color:#f3fbf6;background:linear-gradient(180deg,#04090894,#040908eb),#040908d1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.share-onboarding-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 16%,rgba(213,255,67,.18),transparent 28%),linear-gradient(140deg,rgba(118,239,182,.14),transparent 38%),linear-gradient(320deg,rgba(255,207,115,.1),transparent 36%);opacity:.92;pointer-events:none}.share-phone{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto auto;width:min(430px,100%);min-height:min(760px,calc(100dvh - 36px));max-height:calc(100dvh - 36px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(180deg,#0d1b17f5,#060d0cf7),#07110f;box-shadow:0 24px 70px #0000007a,inset 0 1px #ffffff14}.share-progress{height:5px;background:#ffffff14}.share-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#d5ff43,#76efb6);transition:width .22s ease}.share-step{overflow-y:auto;padding:28px 22px 16px}.share-eyebrow{display:block;margin-bottom:10px;color:#d5ff43;font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase}.share-step h1{margin:0;max-width:12ch;color:#f7fff9;font-size:38px;line-height:.98;letter-spacing:0}.share-body{margin:14px 0 0;color:#a9bcb5;font-size:14px;line-height:1.55}.paywall-price{display:grid;gap:4px;margin-top:24px;padding:18px;border:1px solid rgba(213,255,67,.22);border-radius:18px;background:#d5ff4314}.paywall-price span{color:#c7d8d0;font-size:12px;font-weight:800}.paywall-price strong{color:#f7fff9;font-size:44px;line-height:1}.paywall-price small{color:#90a39b;font-size:12px;line-height:1.35}.paywall-features{display:grid;gap:9px;margin-top:18px}.paywall-features span{position:relative;padding:11px 12px 11px 34px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff0b;color:#dcebe5;font-size:13px;line-height:1.25}.paywall-features span:before{content:"";position:absolute;top:50%;left:13px;width:8px;height:8px;transform:translateY(-50%);border-radius:50%;background:#76efb6;box-shadow:0 0 0 4px #76efb61f}.choice-grid,.choice-stack{display:grid;gap:10px;margin-top:24px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid button,.choice-stack button{min-height:52px;padding:12px;border-radius:16px;background:#ffffff0e;color:#eaf6f0;font-size:13px;font-weight:800;line-height:1.25;text-align:left;white-space:normal}.choice-grid button.selected,.choice-stack button.selected{border-color:#d5ff43c7;background:#d5ff4324;color:#f8fff2}.share-slider{display:grid;gap:18px;margin-top:34px}.share-slider input{width:100%;accent-color:#d5ff43}.share-slider strong{justify-self:center;color:#f7fff9;font-size:42px;line-height:1}.share-step textarea,.share-email{width:100%;margin-top:24px;border:1px solid rgba(255,255,255,.13);border-radius:18px;color:#f4fff8;background:#ffffff0f;outline:none}.share-step textarea{min-height:150px;resize:none;padding:14px;font-size:15px;line-height:1.45}.share-email{height:56px;padding:0 14px;font-size:16px}.share-step textarea:focus,.share-email:focus{border-color:#d5ff43b8;box-shadow:0 0 0 3px #d5ff431f}.share-done-pulse{display:grid;place-items:center;height:180px}.share-done-pulse span{width:68px;height:68px;border-radius:50%;background:#d5ff43;box-shadow:0 0 0 18px #d5ff431f,0 0 54px #d5ff4361}.share-error{margin:14px 0 0;color:#ffb5a9;font-size:12px;line-height:1.35}.share-onboarding-actions{display:grid;grid-template-columns:1fr;gap:10px;padding:14px 22px 0}.share-onboarding-actions:has(.back-route-button){grid-template-columns:.7fr 1fr}.share-onboarding-actions:has(.free-route-button){grid-template-columns:.86fr 1.14fr}.free-route-button,.back-route-button,.unlock-route-button{min-width:0;min-height:50px;border-radius:16px;padding:0 13px;font-size:13px;font-weight:900;line-height:1.15;white-space:normal}.free-route-button,.back-route-button{background:#ffffff0e;color:#c8d8d1}.unlock-route-button{border-color:#d5ff43b8;color:#07110f;background:#d5ff43}.unlock-route-button:hover{color:#07110f;background:#e0ff6a}.share-trust{margin:0;padding:10px 22px 18px;color:#7f928b;font-size:11px;line-height:1.35;text-align:center}@media(max-width:520px){.share-onboarding{padding:0}.share-phone{width:100%;min-height:100dvh;max-height:100dvh;border-width:0;border-radius:0}.share-step h1{max-width:13ch;font-size:34px}}.route-profile{margin:2px 0 12px;padding-top:8px}.route-profile-empty{margin:3px 2px 13px;color:#6f837a;font-size:10px}.route-profile-topline{display:flex;min-height:18px;align-items:center;justify-content:space-between;gap:12px;padding:0 2px;color:#81958d;font-size:10px;font-weight:700;letter-spacing:.025em}.route-profile-topline small{color:#657970;font-size:9px;font-weight:600}.profile-readout{display:flex;align-items:baseline;gap:8px;color:#9dafa7;font-variant-numeric:tabular-nums;letter-spacing:0}.profile-readout b{color:#dfe9e3;font-size:10px}.profile-readout span{font-size:10px}.profile-readout .rideable{color:#76efb6}.profile-readout .hard{color:#ffcf73}.profile-readout .push{color:#ff7048}.route-profile-chart{display:block;width:100%;height:84px;margin-top:2px;overflow:visible;cursor:crosshair;touch-action:none}.profile-grid{stroke:#ffffff1a;stroke-width:1}.profile-push-zone{fill:#ff925b21}.profile-area{fill:url(#elevation-fill)}.profile-line{fill:none;stroke:#d5ff43;stroke-width:1.47;stroke-linecap:round;stroke-linejoin:round}.profile-weather-halo{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.profile-weather-halo.severity-red{opacity:.96}.profile-weather-missing{fill:none;stroke:#65736d;stroke-width:10;stroke-dasharray:5 4;stroke-linecap:butt;opacity:.72}.profile-grade-line{fill:none;stroke-width:1.57;stroke-linecap:round}.profile-grade-line.rideable{stroke:#d5ff43}.profile-grade-line.hard{stroke:#ffcf73}.profile-grade-line.push{stroke:#ff7048;stroke-dasharray:4 2}.profile-weather-detail{display:block;min-height:14px;margin:-1px 2px 0;overflow:hidden;color:#aebeb6;font-size:8px;font-variant-numeric:tabular-nums;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}@media(max-width:430px){.weather-preference{grid-template-columns:auto minmax(70px,1fr) auto}.weather-preference>select{grid-column:3;max-width:none}.weather-time-stepper{grid-column:1 / 3;grid-row:2;justify-self:start}}@media(min-width:760px){.weather-compare-backdrop{align-items:center;padding-left:min(45vw,560px)}.weather-compare{border-radius:17px}.weather-model-compare{padding-inline:max(28px,calc((100vw - 820px)/2))}.weather-model-compare>header:not(.overlay-sheet-header){margin-inline:calc(-1*max(28px,calc((100vw - 820px)/2)));padding-inline:max(28px,calc((100vw - 820px)/2))}}@media(prefers-reduced-motion:reduce){.weather-skeleton{animation:none}}.profile-cursor{stroke:#ffffff80;stroke-width:1;stroke-dasharray:3 3}.profile-cursor-dot{fill:#d5ff43;stroke:#07110f;stroke-width:2}.profile-axis-label{fill:#60736b;font-size:9px}.weather-map-callout{--weather-callout-color: #d8d2ff;position:relative;display:flex;align-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;overflow:visible;border:1px solid color-mix(in srgb,var(--weather-callout-color) 76%,white 24%);border-radius:11px;color:#f5fff8;background:#05100ef0;box-shadow:0 7px 18px #0000006b,0 0 0 1px #00000073,0 0 13px color-mix(in srgb,var(--weather-callout-color) 20%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.25);backdrop-filter:blur(12px) saturate(1.25);cursor:pointer;isolation:isolate;transition:width .16s ease,min-width .16s ease,border-color .16s ease,box-shadow .16s ease}.weather-map-callout:before{position:absolute;z-index:-1;bottom:-8px;left:50%;width:7px;height:7px;border:2px solid #07110f;border-radius:50%;background:var(--weather-callout-color);box-shadow:0 0 8px color-mix(in srgb,var(--weather-callout-color) 48%,transparent);content:"";transform:translate(-50%)}.weather-map-callout:after{position:absolute;z-index:-2;bottom:-7px;left:50%;width:1px;height:8px;background:color-mix(in srgb,var(--weather-callout-color) 76%,transparent);content:""}.weather-map-callout.severity-red{border-color:var(--weather-callout-color);box-shadow:0 8px 22px #00000080,0 0 0 1px #00000080,0 0 17px color-mix(in srgb,var(--weather-callout-color) 32%,transparent)}.weather-map-callout.is-collision-hidden{visibility:hidden;pointer-events:none}.weather-map-callout-compact{position:relative;display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px}.weather-map-callout-icon{display:grid;place-items:center;width:19px;height:19px;color:var(--weather-callout-color)}.weather-map-callout-icon svg{width:19px;height:19px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform-origin:center}.weather-map-callout-signals{position:absolute;right:4px;bottom:3px;left:4px;display:flex;justify-content:center;gap:2px;height:3px}.weather-map-callout-signals i{width:4px;height:2px;border-radius:2px;background:var(--weather-signal-color);box-shadow:0 0 4px color-mix(in srgb,var(--weather-signal-color) 60%,transparent)}.weather-map-callout-overflow{position:absolute;top:-7px;right:-8px;display:none;min-width:16px;height:16px;padding:0 4px;border:1px solid rgba(255,255,255,.24);border-radius:8px;color:#f3ffe0;background:#07110f;box-shadow:0 3px 8px #0000006b;font-size:8px;font-weight:760;line-height:14px}.weather-map-callout-overflow:not(:empty){display:block}.weather-map-callout-detail{position:absolute;right:auto;bottom:-1px;left:38px;display:none;width:min(206px,calc(100vw - 72px));min-width:0;padding:7px 10px;border:1px solid color-mix(in srgb,var(--weather-callout-color) 54%,rgba(255,255,255,.18));border-radius:10px;background:#05100ef5;box-shadow:0 8px 22px #00000075;-webkit-backdrop-filter:blur(12px) saturate(1.25);backdrop-filter:blur(12px) saturate(1.25);text-align:left;white-space:nowrap}.weather-map-callout.is-edge-right .weather-map-callout-detail{right:38px;left:auto}.weather-map-callout-meta,.weather-map-callout-secondary{display:block;overflow:hidden;color:#92a69e;font-size:9px;font-variant-numeric:tabular-nums;line-height:1.2;text-overflow:ellipsis}.weather-map-callout-detail strong{display:block;margin:1px 0;overflow:hidden;color:#f4fff7;font-size:11px;font-weight:720;line-height:1.25;text-overflow:ellipsis}.weather-map-callout.is-expanded{z-index:6}.weather-map-callout.is-expanded .weather-map-callout-detail{display:block}.weather-map-callout:focus-visible{outline:2px solid #f3ffe0;outline-offset:3px}@media(hover:hover)and (pointer:fine){.weather-map-callout:hover{z-index:5}.weather-map-callout:hover .weather-map-callout-detail{display:block}}@media(prefers-reduced-motion:reduce){.weather-map-callout{transition:none}}.coach-hint{position:absolute;z-index:8;left:50%;bottom:28px;display:flex;align-items:center;gap:12px;max-width:min(92vw,420px);padding:12px 12px 12px 14px;border:1px solid rgba(213,255,67,.3);border-radius:16px;background:#07110feb;box-shadow:0 18px 50px #00000073;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(-50%);animation:coach-hint-in .32s ease-out}.coach-hint-glyph{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border-radius:50%;background:#d5ff4324}.coach-hint-glyph svg{width:20px;height:20px;fill:none;stroke:#d5ff43;stroke-width:1.8;stroke-linecap:round}.coach-hint p{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;margin:0}.coach-hint strong{color:#f3ffe0;font-size:13px}.coach-hint span{color:#9db0a9;font-size:11px}.coach-hint button{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:0;border-radius:50%;color:#b8c8c2;background:#ffffff12;font-size:16px;line-height:1;cursor:pointer}.coach-hint button:hover{border:0;color:#edf6f1;background:#ffffff1f}@keyframes coach-hint-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes coach-hint-mobile-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.location-card{--location-accent: #5eb3ff;--location-accent-soft: rgba(94, 179, 255, .18);--location-accent-glow: rgba(94, 179, 255, .34);position:absolute;z-index:11;left:50%;bottom:28px;display:grid;gap:14px;width:min(92vw,400px);padding:16px 16px 14px;overflow:hidden;border:1px solid rgba(94,179,255,.28);border-radius:22px;background:linear-gradient(165deg,#0c1c18f7,#07110ff0 58%),#07110feb;box-shadow:0 0 0 1px #ffffff0a inset,0 28px 80px #0000008c,0 0 48px var(--location-accent-glow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:translate(-50%);animation:location-card-in .48s cubic-bezier(.22,1,.36,1)}.location-card.is-denied{--location-accent: #ff9b7a;--location-accent-soft: rgba(255, 155, 122, .16);--location-accent-glow: rgba(255, 155, 122, .22);border-color:#ff9b7a47}.location-card-ambient{position:absolute;top:-40%;left:50%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,var(--location-accent-glow) 0%,transparent 68%);pointer-events:none;transform:translate(-50%);filter:blur(18px)}.location-card-head{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.location-card-icon{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.14),transparent 55%),var(--location-accent-soft);box-shadow:0 0 0 1px #ffffff0f inset}.location-card-icon svg{position:relative;z-index:2;width:22px;height:22px;fill:none;stroke:var(--location-accent);stroke-width:1.7;stroke-linecap:round}.location-card-icon .location-icon-core{fill:var(--location-accent);stroke:none}.location-card-icon .location-icon-ring{stroke:var(--location-accent);stroke-opacity:.55}.location-card-pulse{position:absolute;inset:0;border-radius:50%;border:1px solid var(--location-accent);opacity:0;animation:location-pulse 2.4s ease-out infinite}.location-card-pulse-delayed{animation-delay:1.2s}.location-card-eyebrow{color:var(--location-accent);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.location-card-close{display:grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:50%;color:#9db0a9;background:#ffffff0f;cursor:pointer;transition:background .16s ease,color .16s ease}.location-card-close svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.location-card-close:hover{border:0;color:#edf6f1;background:#ffffff1a}.location-card-body{position:relative;z-index:1;display:grid;gap:6px}.location-card-body h2{margin:0;color:#f3ffe0;font-size:18px;font-weight:900;letter-spacing:-.02em;line-height:1.15}.location-card-body p{margin:0;color:#9db0a9;font-size:13px;line-height:1.5}.location-card-error{padding:8px 10px;border-radius:10px;color:#ffc4ad!important;background:#ff9b7a1a;font-size:12px!important}.location-card-footer{position:relative;z-index:1;display:grid;gap:8px}.location-card-primary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 18px;border:0;border-radius:14px;color:#07110f;background:linear-gradient(180deg,#e1ff77,#d5ff43);box-shadow:0 0 0 1px #ffffff2e inset,0 10px 28px #d5ff4338;font-size:14px;font-weight:900;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.location-card-primary svg{width:17px;height:17px;fill:none;stroke:#07110f;stroke-width:2;stroke-linecap:round}.location-card-primary .location-icon-core{fill:#07110f;stroke:none}.location-card-primary .location-icon-ring{stroke:#07110f;stroke-opacity:.45}.location-card-primary:hover{background:linear-gradient(180deg,#ebff8f,#e1ff77);box-shadow:0 0 0 1px #ffffff38 inset,0 14px 34px #d5ff4347;transform:translateY(-1px)}.location-card-primary:active{transform:translateY(0)}.location-card-secondary{min-height:36px;padding:0;border:0;color:#7f948d;background:transparent;font-size:12px;font-weight:700;cursor:pointer;transition:color .16s ease}.location-card-secondary:hover{color:#c5d4ce}@keyframes location-card-in{0%{opacity:0;transform:translate(-50%,18px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes location-pulse{0%{opacity:.55;transform:scale(.72)}70%,to{opacity:0;transform:scale(1.55)}}@media(max-width:720px){.location-card{bottom:calc(16px + env(safe-area-inset-bottom));width:min(calc(100vw - 20px),400px);border-radius:20px}}@media(prefers-reduced-motion:reduce){.location-card{animation:none}.location-card-pulse{animation:none;opacity:.25;transform:scale(1)}.location-card-primary:hover{transform:none}}@media(prefers-reduced-motion:reduce){.coach-hint{animation:none}}.point-of-view-canvas{cursor:crosshair!important;touch-action:none}.point-of-view-canvas.is-looking{cursor:grabbing!important}.point-of-view-teleport-flash{position:absolute;z-index:7;width:18px;height:18px;border:2px solid #d5ff43;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);animation:point-of-view-teleport .62s ease-out forwards}.point-of-view-hud{position:absolute;z-index:9;right:20px;bottom:20px;display:flex;align-items:center;gap:14px;min-width:390px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#07110fe0;box-shadow:0 20px 60px #0006;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.point-of-view-copy{display:flex;flex:1;flex-direction:column;gap:2px}.point-of-view-copy strong{font-size:13px}.point-of-view-copy small{color:#9db0a9;font-size:10px}.point-of-view-label{color:#d5ff43;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.point-of-view-hud button{min-height:38px;padding:0 14px;border-color:#d5ff43;color:#07110f;background:#d5ff43;font-size:11px;font-weight:800}.point-of-view-reticle{position:relative;width:34px;height:34px;border:1px solid rgba(213,255,67,.45);border-radius:50%}.point-of-view-reticle:before,.point-of-view-reticle:after{position:absolute;content:"";background:#d5ff43}.point-of-view-reticle:before{top:50%;right:5px;left:5px;height:1px}.point-of-view-reticle:after{top:5px;bottom:5px;left:50%;width:1px}.point-of-view-reticle span{position:absolute;z-index:1;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:#07110f;transform:translate(-50%,-50%)}.slope-legend{position:absolute;z-index:6;right:16px;bottom:16px;display:grid;gap:5px;padding:11px 13px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:#07110fe6;font-size:10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.slope-legend strong{margin-bottom:2px;font-size:11px}.slope-legend span{display:flex;align-items:center;gap:7px;color:#d5dfdb}.slope-legend i{width:18px;height:7px;border-radius:2px}.slope-0{background:#41ad6e}.slope-5{background:#aecf4e}.slope-10{background:#f2cd4a}.slope-15{background:#f4933f}.slope-20{background:#e14e3a}.slope-30{background:#912659}.maplibregl-ctrl-top-right{top:70px;right:8px}.maplibregl-ctrl-group{overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#07110fe6}.maplibregl-ctrl-group button{min-height:29px;border:0;border-radius:0;background:transparent;box-shadow:none}.maplibregl-ctrl-group button+button{border-top:1px solid rgba(255,255,255,.075)}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1)}.maplibregl-ctrl-group button:not(:disabled):hover,.maplibregl-ctrl-group button:not(:disabled):active{background:#ffffff0e}.maplibregl-ctrl-group button:focus,.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:none}.maplibregl-ctrl-group button:focus-visible{box-shadow:inset 0 0 0 1px #d5ff436b}@keyframes point-of-view-teleport{0%{opacity:1;box-shadow:0 0 #d5ff43e6,0 0 26px #d5ff43e6;transform:translate(-50%,-50%) scale(.45)}to{opacity:0;box-shadow:0 0 0 34px #d5ff4300,0 0 8px #d5ff4300;transform:translate(-50%,-50%) scale(1.25)}}.loading-overlay{position:absolute;inset:0;z-index:30;display:grid;place-items:center;overflow:hidden;padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#07110f;transition:opacity .42s ease,visibility 0s linear .42s;opacity:0;visibility:hidden;pointer-events:none}.loading-overlay[data-visible=true]{opacity:1;visibility:visible;transition:opacity .18s ease,visibility 0s;pointer-events:auto}.loading-content{position:relative;display:grid;justify-items:center;width:min(100%,390px);gap:clamp(38px,7vh,62px);text-align:center}.loading-brand{display:flex;flex-direction:column;align-items:center;gap:13px}.loading-mark{display:block;width:clamp(72px,18vw,92px);height:clamp(72px,18vw,92px);object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.3))}.loading-wordmark{color:#d5ff43;font-size:17px;font-weight:820;letter-spacing:.09em;line-height:1.1;text-indent:.09em}.loading-message{display:grid;width:100%;justify-items:center;gap:24px}.loading-spinner{position:relative;display:block;width:40px;height:40px;animation:loading-spin .9s steps(12,end) infinite}.loading-spinner i{position:absolute;top:1px;left:calc(50% - 2px);width:4px;height:10px;border-radius:99px;background:#f4f8f5;opacity:calc(.14 + (var(--loading-spoke) * .07));transform:rotate(calc(var(--loading-spoke) * 30deg));transform-origin:2px 19px}.loading-message h1{margin:0;color:#f7faf8;font-size:clamp(28px,10vw,38px);font-weight:740;letter-spacing:-.04em;line-height:1.04;white-space:nowrap}@keyframes loading-spin{to{transform:rotate(360deg)}}@media(max-width:420px){.loading-overlay{padding-inline:max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-left))}.loading-content{gap:clamp(36px,7vh,52px)}.loading-message h1{font-size:clamp(28px,10vw,38px)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}@media(max-width:720px){.top-controls{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));display:block}.brand-chip{display:none}.search-box{width:100%;max-width:none}.search-field{height:48px;padding:0 14px;border-color:#d5ff4333;border-radius:16px;background:linear-gradient(135deg,#07110ff5,#0d1f1af0);box-shadow:0 12px 34px #00000057,inset 0 1px #ffffff0d}.search-icon{width:18px;height:18px;stroke:#d5ff43}.search-field input{font-size:15px}.search-results{top:54px}.map-tool-dock{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:linear-gradient(160deg,#07110ff0,#0d1f1ae6);box-shadow:0 16px 42px #00000057,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell:has(.coach-hint) .map-tool-dock{bottom:calc(88px + env(safe-area-inset-bottom))}.app-shell:has(.bottom-sheet-mini) .map-tool-dock,.app-shell:has(.reach-panel-mini) .map-tool-dock{bottom:calc(104px + env(safe-area-inset-bottom))}.app-shell:has(.route-preview) .map-tool-dock{bottom:calc(154px + env(safe-area-inset-bottom))}.maplibregl-ctrl-top-right{top:62px;right:max(10px,env(safe-area-inset-right));left:auto}.maplibregl-ctrl-top-right .maplibregl-ctrl-group{border-color:#ffffff1a;border-radius:14px;background:linear-gradient(160deg,#07110ff0,#0d1f1ae6);box-shadow:0 16px 42px #00000057,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.maplibregl-ctrl-top-right .maplibregl-ctrl-group button{width:36px;height:40px;min-height:40px}.map-tool-dock>.locate-button,.map-tool-dock>.camera-control-button,.map-tool-dock>.weather-map-button,.map-tool-dock>.reach-button,.map-tool-dock>.layers-button{width:44px;height:44px;min-width:44px;min-height:44px;border-color:transparent;border-radius:13px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.map-tool-dock>button:hover,.map-tool-dock>button:active,.map-tool-dock>button.is-active{border-color:#d5ff433d;background:#d5ff431a}.map-tool-dock>.locate-button.is-active{border-color:#5eb3ff4d;background:#5eb3ff1a}.coach-hint{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-width:none;padding:12px 12px 12px 14px;border-radius:14px;transform:none;animation-name:coach-hint-mobile-in}.coach-hint-glyph{width:32px;height:32px}.coach-hint p{min-width:0}.coach-hint strong{font-size:14px;line-height:1.2}.coach-hint span{font-size:12px;line-height:1.25}.reach-panel{left:0;right:0;bottom:0;width:auto;max-height:78vh;padding:14px 16px calc(18px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0}.reach-panel-mini{padding:8px 10px calc(8px + env(safe-area-inset-bottom)) 8px;border-radius:24px 24px 0 0}.bottom-sheet{left:0;right:0;bottom:0;width:auto;max-width:none;max-height:82vh;border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0;box-shadow:0 -18px 60px #00000080}.sheet-grab{height:26px}.sheet-body{padding:6px 16px calc(20px + env(safe-area-inset-bottom))}.bottom-sheet.phase-peek{right:max(10px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));width:auto;max-height:none;border:1px solid rgba(213,255,67,.18);border-radius:16px;box-shadow:0 0 0 1px #ffffff09 inset,0 18px 56px #00000070,0 0 34px #d5ff4314}.bottom-sheet.phase-peek .sheet-body{padding:13px}.bottom-sheet.route-preview{right:0;bottom:0;left:0;width:auto;padding:10px 16px calc(8px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:22px 22px 0 0}.bottom-sheet-mini{padding:8px 10px calc(8px + env(safe-area-inset-bottom)) 8px}.account-overlay{align-items:end;padding:10px}.account-modal{width:100%;max-height:86vh;border-radius:22px}.result-actions{grid-template-columns:repeat(2,1fr)}.search-box.compact .search-field{height:48px}.layers-overlay{align-items:flex-end;padding:0}.layers-modal{width:100%;max-height:86vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0}.route-start-navigation-overlay{padding:0}.route-start-navigation-sheet{width:100%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0}.layers-grid,.path-legend{grid-template-columns:1fr}.slope-legend{right:max(8px,env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom))}.point-of-view-hud{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));display:grid;grid-template-columns:34px minmax(0,1fr) auto;width:auto;min-width:0;padding:12px;border-radius:14px}.point-of-view-copy strong{overflow:hidden;font-size:14px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.point-of-view-hud button{min-width:86px;padding:0 12px;white-space:nowrap}}:root{--mv-background: #000000;--mv-surface: #1c1c1e;--mv-surface-raised: #2c2c2e;--mv-surface-strong: #3a3a3c;--mv-modal-surface: linear-gradient(180deg, #1c1c1e 0%, #111112 100%);--mv-modal-solid: #000000;--mv-label: #f3faf6;--mv-label-secondary: #aabbb3;--mv-label-tertiary: #71837a;--mv-separator: rgb(243 250 246 / 12%);--mv-tint: #d5ff43;--mv-tint-ink: #15230e;--mv-warning: #ffcf73;--mv-danger: #ff9a86;--mv-success: #76efb6;--mv-radius-small: 12px;--mv-radius: 18px;--mv-radius-sheet: 26px;--mv-space-1: 4px;--mv-space-2: 8px;--mv-space-3: 12px;--mv-space-4: 16px;--mv-space-5: 24px;--mv-shadow: 0 20px 64px rgb(0 0 0 / 38%);--mv-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, "Segoe UI", sans-serif;--mv-type-body: 14px;--mv-type-meta: 12px;--mv-type-caption: 10px;--mv-leading-tight: 1.1;--mv-leading-body: 1.5;color:var(--mv-label);background:var(--mv-background)}html,body,#root{font-family:var(--mv-font-sans);font-synthesis:none;font-kerning:normal;font-weight:430;line-height:var(--mv-leading-body)}button,input,select,textarea{font-family:inherit;font-synthesis:inherit;font-kerning:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--mv-tint);outline-offset:3px}.bottom-sheet,.account-modal,.layers-modal,.weather-compare,.route-start-navigation-sheet,.weather-controls-sheet{background:var(--mv-modal-surface)}.weather-model-compare-backdrop{background:var(--mv-modal-solid)}.weather-model-compare>header:not(.overlay-sheet-header){background:linear-gradient(var(--mv-modal-solid) 80%,rgb(0 0 0 / 92%))}.overlay-sheet{--overlay-sheet-top-inset: 8px;--overlay-sheet-inline-inset: 14px;touch-action:pan-y;transition:transform .18s ease}.account-modal,.layers-modal,.route-start-navigation-sheet{--overlay-sheet-top-inset: 18px;--overlay-sheet-inline-inset: 18px}.weather-compare{--overlay-sheet-top-inset: 17px;--overlay-sheet-inline-inset: 17px}.weather-model-compare{--overlay-sheet-top-inset: max(16px, env(safe-area-inset-top));--overlay-sheet-inline-inset: 14px}.location-card{--overlay-sheet-top-inset: 16px;--overlay-sheet-inline-inset: 16px}.account-modal>.auth-panel,.account-modal>.saved-panel{margin-top:16px}.overlay-sheet-drag-handle{display:grid;height:14px;margin-top:calc(-1 * var(--overlay-sheet-top-inset));margin-inline:calc(-1 * var(--overlay-sheet-inline-inset));place-items:center;cursor:grab;touch-action:none}.overlay-sheet-drag-handle:active{cursor:grabbing}.overlay-sheet-drag-handle span{width:34px;height:4px;border-radius:999px;background:#f3faf640}.overlay-sheet-header{display:grid;min-height:40px;margin-inline:calc(-1 * var(--overlay-sheet-inline-inset));padding-inline:var(--overlay-sheet-inline-inset);grid-template-columns:minmax(40px,1fr) minmax(0,2fr) minmax(40px,1fr);align-items:center;text-align:center}.overlay-sheet-header>div{min-width:0}.overlay-sheet-header .sheet-eyebrow{margin:0 0 2px}.overlay-sheet-header h2{margin:0;color:var(--mv-label);font-size:17px;font-weight:730;letter-spacing:-.025em;line-height:1.15}.overlay-sheet-header>button{min-width:44px;min-height:40px;padding:0;border:0;border-radius:0;background:transparent;color:var(--mv-label);font-size:13px;font-weight:700}.weather-compare .overlay-sheet-header{display:grid;justify-content:normal}.weather-compare>p{margin:8px 0 14px;color:var(--mv-label-secondary);font-size:10px;line-height:1.4}.weather-model-compare>p{max-width:580px;margin:4px 0 16px;color:var(--mv-label-secondary);font-size:9px;line-height:1.45}.route-actions-sheet{background:var(--mv-modal-surface)}.bottom-sheet.phase-result{border-color:#ffffff1a;border-radius:30px;background:var(--mv-modal-surface);box-shadow:var(--mv-shadow)}@media(max-width:720px){.account-overlay,.layers-overlay,.route-start-navigation-overlay,.route-actions-overlay,.weather-compare-backdrop,.weather-controls-overlay{align-items:end;padding:0}.bottom-sheet,.bottom-sheet.phase-result,.bottom-sheet.route-preview,.reach-panel,.reach-panel-mini,.account-modal,.layers-modal,.route-start-navigation-sheet,.route-actions-sheet,.weather-compare,.weather-controls-sheet,.location-card{border-bottom:0;border-radius:var(--mv-radius-sheet) var(--mv-radius-sheet) 0 0}.account-modal,.layers-modal,.route-start-navigation-sheet,.route-actions-sheet,.weather-compare,.weather-controls-sheet{width:100%;max-width:none;max-height:min(86dvh,760px);border-right:0;border-left:0;background:var(--mv-modal-surface);box-shadow:0 -18px 56px #0000007a}.account-modal,.layers-modal,.route-start-navigation-sheet,.route-actions-sheet,.weather-compare{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.weather-controls-sheet{padding:8px 16px calc(16px + env(safe-area-inset-bottom))}.location-card{right:0;bottom:0;left:0;width:auto;max-width:none;padding:16px 16px calc(14px + env(safe-area-inset-bottom));border-right:0;border-left:0;background:var(--mv-modal-surface);box-shadow:0 -18px 56px #0000007a;transform:none;animation-name:mv-location-sheet-in}.location-card-ambient{display:none}.account-modal,.layers-modal,.route-start-navigation-sheet,.route-actions-sheet,.weather-compare,.weather-controls-sheet,.location-card{--overlay-sheet-inline-inset: 16px}}@keyframes mv-location-sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.route-actions-overlay{position:fixed;z-index:120;inset:0;display:grid;align-items:end;justify-content:center;padding:14px;background:#0000008f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.route-actions-sheet{width:min(100%,420px);max-height:min(78dvh,620px);overflow:auto;padding:8px 14px 16px;border:1px solid rgb(255 255 255 / 10%);border-radius:22px 22px 15px 15px;box-shadow:0 -16px 42px #0000005c;color:var(--mv-label)}.route-actions-grabber{display:block;width:34px;height:4px;margin:1px auto 10px;border-radius:999px;background:#f3faf640}.route-actions-sheet>header:not(.overlay-sheet-header){display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.route-actions-sheet>header:not(.overlay-sheet-header) h2{margin:3px 0 0;color:var(--mv-label);font-size:18px;letter-spacing:-.02em}.route-actions-sheet>header:not(.overlay-sheet-header)>button{display:grid;width:36px;min-height:36px;place-items:center;padding:0;border:0;border-radius:50%;background:var(--mv-surface-raised);color:var(--mv-label-secondary);font-size:22px}.route-actions-sheet>p{margin:10px 0 14px;color:var(--mv-label-secondary);font-size:12px;line-height:1.45}.route-actions-list{display:grid;overflow:hidden;border-radius:14px;background:var(--mv-surface)}.route-actions-list button{min-height:50px;padding:0 14px;border:0;border-radius:0;border-top:1px solid var(--mv-separator);background:transparent;color:var(--mv-label);font-size:13px;font-weight:650;text-align:left}.route-actions-list button:first-child{border-top:0}.route-actions-list button:hover,.route-actions-list button:active{background:#ffffff0d}.route-actions-list .route-actions-primary{color:var(--mv-tint-ink);background:var(--mv-tint);font-weight:760}.route-actions-list .route-actions-primary:hover,.route-actions-list .route-actions-primary:active{background:#e1ff77}.route-actions-list .route-actions-primary:disabled{cursor:default;opacity:.5}.route-actions-list small{padding:0 14px 10px;color:var(--mv-label-secondary);font-size:10px;line-height:1.4}.bottom-sheet.phase-result .sheet-body.route-detail{display:grid;gap:13px;padding:5px 15px 15px;font-family:var(--mv-font-sans);font-size:var(--mv-type-body);line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .route-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:3px}.bottom-sheet.phase-result .route-detail-title{flex:1 1 0;min-width:0}.bottom-sheet.phase-result .route-detail .route-name-input{display:block;width:100%;max-width:none;min-width:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;color:var(--mv-label);font-family:var(--mv-font-sans);font-size:27px;font-weight:800;letter-spacing:-.055em;line-height:1}.bottom-sheet.phase-result .route-detail-tools{gap:3px;margin-top:0}.bottom-sheet.phase-result .route-detail-icon{width:40px;min-width:40px;height:40px;min-height:40px}.bottom-sheet.phase-result .route-stops-link{display:block;width:max-content;min-height:24px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--mv-label-secondary);font-family:var(--mv-font-sans);font-size:var(--mv-type-body);font-weight:430;letter-spacing:0;line-height:var(--mv-leading-body);text-align:left}.bottom-sheet.phase-result .route-stops-link b{color:var(--mv-label);font-weight:700}.bottom-sheet.phase-result .route-detail .route-summary{display:grid;align-items:end;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:0 0 12px;border-bottom:1px solid var(--mv-separator)}.bottom-sheet.phase-result .route-summary .distance{margin:0;color:var(--mv-label);font-size:59px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.085em;line-height:.8}.bottom-sheet.phase-result .route-summary .distance span{color:var(--mv-label);font-size:.36em;letter-spacing:-.045em}.bottom-sheet.phase-result .ride-metrics{display:grid;gap:2px;padding-bottom:0;color:var(--mv-label-secondary);font-family:var(--mv-font-sans);font-size:var(--mv-type-caption);font-weight:430;line-height:var(--mv-leading-body);text-align:end}.bottom-sheet.phase-result .ride-metrics b{color:var(--mv-label);font-size:14px;font-weight:700;letter-spacing:-.03em;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .route-weather.journey{display:grid;gap:7px;margin:0;padding:0;border:0;border-radius:0;background:transparent}.bottom-sheet.phase-result .journey-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.bottom-sheet.phase-result .journey-heading h2{margin:0;color:var(--mv-label);font-size:14px;font-weight:800;letter-spacing:-.03em;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .journey-heading>span{flex:0 0 auto;color:var(--mv-label-secondary);font-size:var(--mv-type-caption);font-weight:430;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .journey-board{position:relative;overflow:hidden;border:1px solid rgb(213 255 67 / 26%);border-radius:21px;background:linear-gradient(155deg,#d5ff4326,#10201cdb 70%)}.bottom-sheet.phase-result .weather-markers{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 10px 0}.bottom-sheet.phase-result .weather-stop{display:grid;min-height:46px;justify-items:start;gap:1px;padding:0;border:0;border-radius:0;background:transparent;color:var(--mv-label);font-family:var(--mv-font-sans);text-align:left}.bottom-sheet.phase-result .weather-stop:hover,.bottom-sheet.phase-result .weather-stop:active{border:0;background:transparent}.bottom-sheet.phase-result .weather-stop:nth-child(2){justify-items:center}.bottom-sheet.phase-result .weather-stop:last-child{justify-items:end}.bottom-sheet.phase-result .weather-stop b{display:flex;align-items:center;gap:4px;color:var(--mv-label);font-size:11px;font-weight:700;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .weather-stop span{color:#c5d2a8;font-size:9px;font-weight:430;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .journey-weather-icon,.bottom-sheet.phase-result .journey-weather-icon svg{width:17px;height:17px}.bottom-sheet.phase-result .journey-weather-icon{display:inline-grid;place-items:center;color:var(--mv-tint)}.bottom-sheet.phase-result .weather-stop.selected b{color:var(--mv-label)}.bottom-sheet.phase-result .journey .weather-journey-profile{margin:-1px 0 0;padding:0;border:0}.bottom-sheet.phase-result .journey .weather-journey-profile .route-profile{margin:0;padding:0}.bottom-sheet.phase-result .journey .weather-journey-profile .route-profile-topline{display:flex;min-height:20px;align-items:center;justify-content:space-between;gap:8px;padding:0 10px}.bottom-sheet.phase-result .journey .weather-journey-profile .route-profile-topline>span,.bottom-sheet.phase-result .journey .weather-journey-profile .route-profile-topline>small{color:var(--mv-label-secondary);font-size:9px;font-weight:430;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .journey .weather-journey-profile .profile-readout{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;color:var(--mv-label-secondary);font-variant-numeric:tabular-nums}.bottom-sheet.phase-result .journey .weather-journey-profile .profile-readout b,.bottom-sheet.phase-result .journey .weather-journey-profile .profile-readout span{font-size:9px;font-weight:430;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .journey .weather-journey-profile .profile-readout b{color:var(--mv-label);font-weight:700}.bottom-sheet.phase-result .journey .weather-journey-profile .route-profile-chart{height:93px;margin:0}.bottom-sheet.phase-result .journey .profile-push-zone{display:block;fill:#ff877d2e}.bottom-sheet.phase-result .journey .profile-grade-line{stroke-width:2.4}.bottom-sheet.phase-result .journey .profile-journey-connector{stroke:#f3faf694;stroke-width:.8;vector-effect:non-scaling-stroke}.bottom-sheet.phase-result .journey .profile-journey-pin{stroke:var(--mv-background);stroke-width:2;vector-effect:non-scaling-stroke}.bottom-sheet.phase-result .journey .profile-journey-pin.start{fill:#b8c99e}.bottom-sheet.phase-result .journey .profile-journey-pin.mid{fill:#c9bd9c}.bottom-sheet.phase-result .journey .profile-journey-pin.end{fill:#c8aaa3}.bottom-sheet.phase-result .journey .weather-journey-profile .profile-weather-detail{display:block;min-height:14px;margin:-1px 10px 5px;overflow:hidden;color:var(--mv-label-secondary);font-size:9px;font-variant-numeric:tabular-nums;font-weight:430;line-height:var(--mv-leading-body);text-overflow:ellipsis;white-space:nowrap}.bottom-sheet.phase-result .journey-caption{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:7px;padding:0 10px 10px}.bottom-sheet.phase-result .journey-caption p,.bottom-sheet.phase-result .journey-caption .weather-controls-trigger{font-family:var(--mv-font-sans);font-size:var(--mv-type-caption);font-weight:430;letter-spacing:0;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .journey-caption p{min-width:0;margin:0;color:var(--mv-label-secondary)}.bottom-sheet.phase-result .journey-caption p b{color:var(--mv-label);font-weight:700}.bottom-sheet.phase-result .journey-caption .weather-controls-trigger{flex:0 0 auto;width:auto;min-height:30px;margin:0;padding:0 9px;border:1px solid rgb(213 255 67 / 28%);border-radius:999px;background:#d5ff431c;color:var(--mv-tint);font-size:var(--mv-type-meta);font-weight:700}.bottom-sheet.phase-result .journey-caption .weather-controls-trigger:hover,.bottom-sheet.phase-result .journey-caption .weather-controls-trigger:active{border-color:#d5ff437a;background:#d5ff432e}.bottom-sheet.phase-result .route-status{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding-block:9px;border-block:1px solid var(--mv-separator)}.bottom-sheet.phase-result .route-status span{color:var(--mv-label-secondary);font-family:var(--mv-font-sans);font-size:var(--mv-type-caption);font-weight:430;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .route-status b{display:block;margin-bottom:1px;color:var(--mv-label);font-size:11px;font-weight:700;letter-spacing:-.02em;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .route-status em{display:inline;color:#ff877d;font-size:9px;font-style:normal;line-height:inherit}.bottom-sheet.phase-result .route-status span:last-child{padding-inline-start:9px;border-inline-start:1px solid var(--mv-separator)}.bottom-sheet.phase-result .route-detail-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.bottom-sheet.phase-result .route-exact-gpx-action{display:flex;width:100%;min-width:0;min-height:50px;align-items:center;justify-content:center;gap:6px;margin:0;padding:0 16px;overflow:hidden;border:0;border-radius:15px;background:var(--mv-tint);color:var(--mv-tint-ink);font-size:var(--mv-type-meta);font-weight:800;line-height:1}.bottom-sheet.phase-result .route-exact-gpx-action:hover,.bottom-sheet.phase-result .route-exact-gpx-action:active{border:0;background:#e1ff77}.bottom-sheet.phase-result .route-exact-gpx-action span{min-width:0}.bottom-sheet.phase-result .route-exact-gpx-action svg{display:block;width:18px;height:18px;flex:0 0 18px}.bottom-sheet.phase-result .route-services{display:grid;gap:5px}.bottom-sheet.phase-result .route-services-label{margin:0 4px;color:var(--mv-label-secondary);font-size:var(--mv-type-caption);font-weight:430;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .route-services-list{overflow:hidden;border:0;border-radius:14px;background:var(--mv-surface)}.bottom-sheet.phase-result .route-service-row{display:grid;grid-template-columns:22px minmax(0,1fr) 14px;width:100%;min-width:0;align-items:center;gap:8px;min-height:54px;margin:0;padding:8px 10px;border:0;border-radius:0;background:transparent;color:var(--mv-label);font-family:var(--mv-font-sans);line-height:var(--mv-leading-body);text-align:left}.bottom-sheet.phase-result .route-service-row:hover,.bottom-sheet.phase-result .route-service-row:active{border:0;background:#ffffff0a}.bottom-sheet.phase-result .route-services-list>.route-service-row+.route-service-row{border-top:1px solid var(--mv-separator)}.bottom-sheet.phase-result .route-service-row>span:nth-child(2){display:block;min-width:0}.bottom-sheet.phase-result .route-service-row .route-service-icon{display:grid;width:22px;height:22px;place-items:center;color:var(--mv-label)}.bottom-sheet.phase-result .route-service-row .route-service-icon svg{display:block;width:19px;height:19px}.bottom-sheet.phase-result .route-service-row b{display:block;color:var(--mv-label);font-size:var(--mv-type-meta);font-weight:700;letter-spacing:-.02em;line-height:var(--mv-leading-body)}.bottom-sheet.phase-result .route-service-row small{display:block;min-width:0;margin-top:1px;overflow:hidden;color:var(--mv-label-secondary);font-size:var(--mv-type-caption);font-weight:430;line-height:var(--mv-leading-body);text-overflow:ellipsis;white-space:nowrap}.bottom-sheet.phase-result .route-service-row .route-service-chevron{align-self:center;color:var(--mv-label-secondary);font-size:20px;font-style:normal;line-height:1}.weather-controls-overlay{position:fixed;z-index:120;inset:0;display:grid;align-items:end;justify-content:center;padding:14px;background:#0000008f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.weather-controls-overlay[hidden]{display:none}.weather-controls-sheet{width:min(100%,420px);max-height:min(78dvh,620px);overflow:auto;padding:8px 14px 16px;border:1px solid rgb(255 255 255 / 10%);border-radius:22px 22px 15px 15px;background:var(--mv-modal-surface);box-shadow:0 -16px 42px #0000005c;color:var(--mv-label)}.weather-controls-grabber{display:block;width:34px;height:4px;margin:1px auto 10px;border-radius:999px;background:#f3faf640}.weather-controls-sheet>header:not(.overlay-sheet-header){display:grid;min-height:38px;grid-template-columns:34px minmax(0,1fr) 40px;align-items:center;text-align:center}.weather-controls-sheet>header:not(.overlay-sheet-header)>div{min-width:0}.weather-controls-sheet>header:not(.overlay-sheet-header) .sheet-eyebrow{margin:0}.weather-controls-sheet>header:not(.overlay-sheet-header) h2{margin:1px 0 0;color:var(--mv-label);font-size:15px;font-weight:750;letter-spacing:-.03em;line-height:1.1}.weather-controls-sheet>header:not(.overlay-sheet-header)>button{width:auto;min-height:34px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--mv-tint);font-size:12px;font-weight:700}.weather-controls-sheet>header:not(.overlay-sheet-header)>button:first-child{color:var(--mv-label-secondary);font-size:22px;font-weight:430}.weather-controls-done{position:relative}.weather-update-spinner{position:absolute;top:50%;right:calc(100% + 6px);width:9px;height:9px;border:1.5px solid rgb(243 250 246 / 28%);border-top-color:var(--mv-tint);border-radius:50%;transform:translateY(-50%);animation:mv-weather-update .72s linear infinite}.weather-controls-sheet>p{margin:8px 0 13px;color:var(--mv-label-secondary);font-size:11px;line-height:1.45}.weather-controls-intro{max-width:330px}.weather-update-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes mv-weather-update{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.weather-update-spinner{animation:none}}.weather-settings-section{display:grid;gap:6px;margin-top:14px}.weather-settings-section>h3{margin:0 4px;color:var(--mv-label-secondary);font-size:10px;font-weight:600;line-height:1.3}.weather-settings-list{overflow:hidden;border-radius:14px;background:var(--mv-surface)}.weather-model-picker,.weather-settings-row,.weather-timing-mode,.weather-day-trigger,.weather-time-stepper{min-height:50px;margin:0;border:0;border-radius:0;background:transparent}.weather-model-picker{display:grid;grid-template-columns:minmax(80px,1fr) auto;align-items:center;gap:12px;padding:8px 12px;color:var(--mv-label);font-size:12px}.weather-model-picker>span,.weather-timing-mode>span,.weather-time-stepper>span{color:var(--mv-label);font-weight:600}.weather-model-picker select{width:auto;max-width:208px;min-height:34px;padding:0 18px 0 7px;border:0;border-radius:0;background:transparent;color:var(--mv-label);color-scheme:dark;font-size:11px;font-weight:500;text-align:right}.weather-settings-row{display:flex;width:100%;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid var(--mv-separator);color:var(--mv-tint);font-size:12px;font-weight:600;text-align:left}.weather-settings-row i,.weather-day-trigger>i{color:var(--mv-label-secondary);font-size:20px;font-style:normal;line-height:1}.weather-settings-row:hover,.weather-settings-row:active,.weather-day-trigger:hover,.weather-day-trigger:active{border-top-color:var(--mv-separator);background:#ffffff0a}.weather-model-fallback,.weather-shared-context{margin:0 4px;color:var(--mv-label-secondary);font-size:10px;line-height:1.4}.weather-model-fallback{color:var(--mv-warning)}.weather-timing-mode{display:grid;grid-template-columns:minmax(80px,1fr) auto;align-items:center;gap:12px;padding:8px 12px}.weather-timing-mode .weather-mode{display:grid;grid-template-columns:1fr 1fr;padding:2px;border-radius:10px;background:var(--mv-surface-raised);justify-self:end}.weather-timing-mode .weather-mode button{min-height:30px;margin:0;padding:0 6px;border:0;border-radius:8px;background:transparent;color:var(--mv-label-secondary);font-size:10px;font-weight:600}.weather-timing-mode .weather-mode button.active{background:#f3faf61f;color:var(--mv-label)}.weather-day-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;width:100%;align-items:center;gap:10px;padding:7px 12px;border-top:1px solid var(--mv-separator);color:var(--mv-label);text-align:left}.weather-day-trigger>span:first-child{display:grid;gap:1px}.weather-day-trigger b{font-size:12px;font-weight:600}.weather-day-trigger small{color:var(--mv-label-secondary);font-size:10px}.weather-day-trigger .weather-score{justify-self:end}.weather-time-stepper{display:grid;grid-template-columns:minmax(80px,1fr) auto;width:100%;box-sizing:border-box;align-items:center;gap:12px;padding:6px 12px;border-top:1px solid var(--mv-separator);grid-area:auto;justify-self:stretch}.weather-time-stepper>div{display:flex;align-items:center;gap:4px;justify-self:end}.weather-time-stepper button{width:34px;min-height:34px;margin:0;padding:0;border:0;border-radius:50%;background:#f3faf617;color:var(--mv-tint);font-size:19px;line-height:1}.weather-time-stepper input{width:68px;min-height:34px;padding:0;border:0;outline:0;background:transparent;color:var(--mv-label);color-scheme:dark;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;text-align:center}.weather-time-stepper input::-webkit-calendar-picker-indicator{display:none}.weather-controls-sheet .weather-better-window,.weather-controls-sheet .weather-best-fit{margin:14px 0 0}@media(max-width:720px){.weather-controls-overlay,.route-actions-overlay{justify-content:stretch;padding:0}.app-shell:has(.bottom-sheet.phase-result) .dev-debug-console-launcher{display:none}.weather-controls-sheet,.route-actions-sheet{width:100%;max-width:none;max-height:min(86dvh,760px);padding:8px 16px calc(16px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:var(--mv-radius-sheet) var(--mv-radius-sheet) 0 0;background:var(--mv-modal-surface);box-shadow:0 -18px 56px #0000007a}}
