:root{--ride: var(--ride-strong);--on-ride: #fff;--ride-2: #ec4899;--ride-ink: #9a3412;--ride-soft: rgba(249, 115, 22, .12);--slope-flat: #0ea5e9;--slope-up: #f59e0b;--slope-steep: #ef4444;--slope-down: #22c55e}:root[data-theme=dark]{--ride: #fb923c;--on-ride: #042f2e;--ride-ink: #fed7aa;--ride-soft: rgba(251, 146, 60, .16)}.velo-page .panel{--panel-w: 440px}.app.velo{grid-template-columns:440px 1fr}.ride-hero{margin:2px 0 14px;padding:14px 16px;border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,var(--ride-strong) 0%,#be185d 55%,#6d28d9 100%);box-shadow:0 10px 26px #ec489940}.ride-hero h1,.ride-hero h2{font-size:19px;margin:0 0 4px;letter-spacing:-.02em}.ride-hero p{margin:0;font-size:13px;opacity:.92}.ride-loop{display:flex;align-items:center;gap:8px;margin:2px 0 8px;font-size:13.5px;font-weight:600}.ride-loop input{accent-color:var(--ride);width:18px;height:18px;margin:0}.bike-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.bike-tiles label{position:relative;cursor:pointer}.bike-tiles input{position:absolute;opacity:0;inset:0}.bike-tiles .tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:12px 8px 10px;border-radius:var(--radius);border:1.5px solid var(--border-strong);background:var(--surface);transition:border-color .15s,background .15s,transform .15s var(--ease)}.bike-tiles .tile svg{width:56px;height:38px;color:var(--muted)}.bike-tiles .tile b{font-size:13.5px}.bike-tiles .tile small{font-size:11.5px;color:var(--muted);line-height:1.3}.bike-tiles label:has(input:checked) .tile,.bike-tiles label.checked .tile{border-color:var(--ride);background:var(--ride-soft);transform:translateY(-1px)}.bike-tiles label:has(input:checked) .tile svg,.bike-tiles label.checked .tile svg{color:var(--ride)}.bike-tiles input:focus-visible+.tile{outline:2px solid var(--blue);outline-offset:2px}.ride-themes label:has(input:checked),.ride-themes label.checked{background:var(--ride-soft);border-color:var(--ride);color:var(--ride-ink)}.velo-page .seg label:has(input:checked),.velo-page .seg label.checked{background:var(--ride-soft);color:var(--ride-ink)}.velo-page .range input[type=range]{accent-color:var(--ride)}.btn-primary.ride-go{background:linear-gradient(135deg,var(--ride-strong),#be185d);box-shadow:0 8px 22px #f9731659;color:#fff}.btn-primary.ride-go:hover:where(:not(:disabled):not([aria-disabled=true])){box-shadow:0 10px 26px #ec489966}.ride-progress{grid-template-columns:repeat(3,1fr)}.ride-progress li[data-state=active],.ride-progress li[data-state=done]{border-color:var(--ride)}.ride-progress li[data-state=done]{color:var(--ride-ink)}input[type=datetime-local].input{min-height:42px}.ride-party-field{min-width:0;padding:0;border:0}.ride-party-field legend{margin-bottom:8px;font-size:13px;font-weight:600;letter-spacing:0}.seg.ride-party{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:8px}.seg.ride-party label,.seg.ride-children label{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;white-space:normal;overflow-wrap:anywhere;letter-spacing:0;line-height:1.4;transition:background-color .15s,color .15s}.seg.ride-party label:nth-child(odd){border-left:0}.seg.ride-party label:nth-child(n+3){border-top:1px solid var(--border-strong)}.seg.ride-children{border-radius:8px}.ride-party-field .seg label:focus-within{outline:2px solid var(--blue);outline-offset:-3px;z-index:1}.ride-results-head h2{font-size:18px;margin-bottom:2px;letter-spacing:-.02em}.ride-results-head .note{margin-bottom:8px}.ride-variants{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ride-alert{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:#f59e0b1f;color:#92400e;font-size:12.5px}:root[data-theme=dark] .ride-alert{color:#fcd34d}.ride-late-ready{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;margin:0 0 10px;padding:10px 12px;border-radius:var(--radius-sm);border-left:3px solid var(--ride);background:var(--ride-soft)}.ride-late-ready>.note{flex:1 1 12rem;margin:4px 0;color:var(--text);font-size:13px}.ride-late-ready .btn-secondary{flex:none;height:auto;min-height:44px;max-width:100%;padding:8px 16px;border-color:var(--ride);color:var(--ride-ink);white-space:normal;text-align:center}.ride-late-ready .btn-secondary:hover{background:var(--surface);color:var(--text)}.ride-late-ready .action-result{flex:1 0 100%}.ride-late-ready .action-result .note:not([hidden]){margin:6px 0 0}.ride-cards{display:flex;flex-direction:column;gap:14px}.ride-card{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}.ride-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.ride-card.selected{border-color:var(--ride);box-shadow:0 0 0 3px var(--ride-soft),var(--shadow);cursor:default}.ride-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ride-card .cover{position:relative;aspect-ratio:16 / 9;min-height:150px;background:linear-gradient(135deg,#0ea5e9,#22c55e 60%,#f59e0b);overflow:hidden}.ride-card.nocover .cover{background:linear-gradient(135deg,#1e3a8a,#0ea5e9 55%,#22c55e)}.ride-card .cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}.ride-card:hover .cover img{transform:scale(1.04)}.ride-card .cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000000d 30%,#000000b8)}.ride-card .cover h3{position:absolute;left:14px;right:14px;bottom:12px;margin:0;z-index:1;color:#fff;font-size:17px;line-height:1.25;text-shadow:0 2px 8px rgba(0,0,0,.5);letter-spacing:-.01em}.ride-card .cover .badge{position:absolute;top:10px;left:10px;z-index:1;padding:3px 9px;border-radius:999px;background:#ffffffe6;color:#0f172a;font-size:11px;font-weight:700}.ride-card .cover .num{position:absolute;top:8px;right:10px;z-index:1;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--ride-strong),#be185d);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #0000004d}.ride-card .cover .credit{position:absolute;right:8px;bottom:2px;z-index:1;font-size:9.5px;color:#ffffffb3;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ride-card .body{padding:12px 14px 14px}.ride-card-heading{margin:0;font-size:14px;letter-spacing:0}.ride-card-toggle{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 32px;align-items:center;width:100%;min-height:84px;padding:0;border:0;border-radius:0;text-align:left;color:var(--text);background:var(--surface);cursor:pointer;font:inherit;letter-spacing:0;transition:background-color .15s}.ride-card-toggle:hover{background:var(--surface-2)}.ride-card-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.ride-card-toggle .cover{display:block;width:72px;min-height:84px;height:100%;aspect-ratio:auto}.ride-card-toggle[aria-expanded=false] .credit{display:none}.ride-card-toggle[aria-expanded=true]{grid-template-columns:minmax(0,1fr) 32px}.ride-card-toggle[aria-expanded=true] .cover{grid-column:1 / -1;width:100%;height:auto;min-height:150px;aspect-ratio:16 / 9}.ride-card-number{position:absolute;top:8px;left:8px;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 1px 5px #0003}.ride-card-summary{min-width:0;padding:12px}.ride-card-name{display:block;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.ride-card-facts{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.ride-card-toggle .chev{width:18px;height:18px;color:var(--muted);transition:transform .2s}.ride-card-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}.ride-card-content[hidden]{display:none}.ride-card-content{border-top:1px solid var(--border)}.ride-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.ride-activity{margin-bottom:12px;min-width:0}.form-actions>.help-action:first-child{flex:1}.form-actions .help-action>button{flex:1}.ride-actions .help-action,.lib-actions .help-action,.ride-variants .help-action{flex-wrap:wrap}.ride-actions>.info,.lib-actions>.info,.ride-variants>.info,.ride-tools-row>.info{margin-left:0}.ride-activity select,.ride-activity input[type=number]{box-sizing:border-box;min-height:44px;width:100%;max-width:100%;font:inherit;font-size:15px;color:var(--text);background:var(--field);border:1px solid var(--border-strong);border-radius:12px;padding:0 14px}.ride-activity .activity-field{grid-column:1/-1}.ride-activity>div.activity-field:not([hidden]){display:block}.activity-field>.seg.activity-tabs{margin-top:6px}.ride-activity input[type=checkbox]{min-width:24px;min-height:24px}.ride-activity>div:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ride-activity details{grid-column:1/-1}.hike-ratings{display:flex;flex-wrap:wrap;gap:8px;width:100%}.hike-rating,.hike-global{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--border);border-radius:10px;padding:5px 9px;font-size:13px;line-height:1.3;font-weight:700;font-variant-numeric:tabular-nums}.hike-rating b{font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.hike-global{color:#fff;background:#555;font-size:12px}.hike-level1{background:#16713a}.hike-level2{background:#1d4ed8}.hike-level3{background:#b91c1c}.hike-level4{background:#171717}.ride-kpis>div{padding:7px 8px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);min-width:0}.ride-kpis>div.main{grid-column:span 2;background:var(--ride-soft);border-color:transparent}.ride-kpis b{display:block;font-size:15px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.ride-kpis .main b{font-size:20px}.ride-kpis span{display:block;font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ride-kpis .up b{color:#d97706}.ride-kpis .down b{color:#16a34a}.ride-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px}.diff{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700}.diff .bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.diff .bars i{width:5px;background:var(--border-strong);border-radius:2px;height:5px}.diff .bars i:nth-child(2){height:7px}.diff .bars i:nth-child(3){height:9px}.diff .bars i:nth-child(4){height:11px}.diff .bars i:nth-child(5){height:14px}.diff.d1 .bars i.on{background:#22c55e}.diff.d2 .bars i.on{background:#84cc16}.diff.d3 .bars i.on{background:#f59e0b}.diff.d4 .bars i.on{background:#f97316}.diff.d5 .bars i.on{background:#ef4444}.ride-wx{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.ride-wx svg{width:18px;height:18px;color:var(--text)}.ride-wx b{color:var(--text)}.ride-wx .wd{display:inline-flex;align-items:center;gap:3px}.ride-wx .wd svg{width:14px;height:14px}.ride-wx.far{opacity:.7}.ride-hl{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.ride-hl li{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12px;max-width:100%;cursor:pointer}.ride-hl li:hover{border-color:var(--ride)}.ride-hl li img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none}.ride-hl li .ico{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--accent-soft);color:var(--accent-ink)}.ride-hl li .ico svg{width:15px;height:15px}.ride-hl li .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;font-weight:600}.ride-hl li small{color:var(--muted)}.c-view .ico,.ico.c-view{background:#0ea5e926;color:#0369a1}.ico.c-peak{background:#78716c2e;color:#44403c}.ico.c-water{background:#06b6d426;color:#0e7490}.ico.c-heritage{background:#a855f726;color:#6b21a8}.ico.c-pass{background:#6366f126;color:#4338ca}.ico.c-nature{background:#22c55e26;color:#15803d}.ico.c-village{background:#f59e0b2e;color:#b45309}.ico.c-curiosity{background:#ec489926;color:#be185d}:root[data-theme=dark] .c-view .ico,:root[data-theme=dark] .ico.c-view{color:#7dd3fc}:root[data-theme=dark] .ico.c-peak{color:#d6d3d1}:root[data-theme=dark] .ico.c-water{color:#67e8f9}:root[data-theme=dark] .ico.c-heritage{color:#d8b4fe}:root[data-theme=dark] .ico.c-pass{color:#a5b4fc}:root[data-theme=dark] .ico.c-nature{color:#86efac}:root[data-theme=dark] .ico.c-village{color:#fcd34d}:root[data-theme=dark] .ico.c-curiosity{color:#f9a8d4}.ride-actions{display:flex;flex-wrap:wrap;gap:6px}.ride-actions button{display:inline-flex;align-items:center;gap:6px}.ride-actions svg{width:15px;height:15px}.btn-fly{height:36px;padding:0 12px;border-radius:10px;border:0;color:#fff;font-weight:700;font-size:13px;background:linear-gradient(135deg,#0369a1,#6d28d9);box-shadow:0 6px 16px #8b5cf64d}.btn-fly:hover{filter:brightness(1.06)}.ride-none{margin:0 0 10px}.ride-details{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border-strong);cursor:default}.ride-details h4{margin:12px 0 6px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.ride-details h4:first-child{margin-top:0}.profile{position:relative}.profile svg{display:block;width:100%;height:130px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.profile .line{fill:none;stroke:#f59e0b;stroke-width:2;vector-effect:non-scaling-stroke}.profile .climb{fill:#ef44441f}.profile .tick{font-size:10px;fill:var(--muted)}.profile .cursor{stroke:var(--text);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.profile-label{position:absolute;top:6px;right:8px;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);background:var(--glass);padding:2px 6px;border-radius:6px;pointer-events:none}.profile-label:empty{display:none}.climbs{list-style:none;margin:0;padding:0;font-size:12.5px}.climbs li{padding:5px 8px;border-radius:8px;cursor:pointer}.climbs li:hover{background:var(--surface-2)}.climbs small{color:var(--muted)}.terrain .lbl{margin:6px 0 4px;font-size:12px;font-weight:600;color:var(--muted)}.tbar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--border)}.tbar i{display:block;height:100%}.tlegend{list-style:none;margin:4px 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted)}.tlegend li{display:inline-flex;align-items:center;gap:5px}.tlegend i{width:10px;height:10px;border-radius:3px}.tlegend b{color:var(--text)}.surface-paved{background:#475569}.surface-gravel{background:#d97706}.surface-dirt{background:#9a3412}.surface-unknown{background:#a3a3a3}.way-cycleway{background:#16a34a}.way-greenway{background:#84cc16}.way-shared{background:#f59e0b}.way-busy{background:#dc2626}.way-unknown{background:#a3a3a3}.terrain .reco{margin:6px 0 0;font-size:13px;font-weight:600}.services{display:flex;flex-direction:column;gap:4px}.services details{border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.services summary{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:600;cursor:pointer;list-style:none}.services summary::-webkit-details-marker{display:none}.services summary .g{width:22px;text-align:center}.services summary b{margin-left:auto;min-width:22px;text-align:center;padding:0 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border-strong);font-size:11.5px}.services details.warn summary{color:#b91c1c}.services ul{list-style:none;margin:0;padding:0 10px 8px 40px;font-size:12.5px}.services li{padding:3px 0;cursor:pointer}.services li:hover{color:var(--blue)}.services li small{color:var(--muted)}.practical{list-style:none;margin:0;padding:0;font-size:13px}.practical li{display:flex;align-items:flex-start;gap:8px;padding:5px 0}.practical li svg{width:18px;height:18px;flex:none;margin-top:1px}.practical li.warn,.practical li.night{color:#b91c1c}.practical li.tight{color:#b45309}.ride-export-note{margin:12px 0 0}.map-colorby{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.map-colorby label{padding:7px 10px;font-size:12.5px;white-space:nowrap}.hl-marker{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 3px 8px #00000059;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text)}.hl-marker svg{width:16px;height:16px}.hl-marker.photo{width:44px;height:44px;overflow:hidden;background:#cbd5e1}.hl-marker.photo img{width:100%;height:100%;object-fit:cover;display:block}.hl-marker.c-view{background:#0ea5e9;color:#fff}.hl-marker.c-peak{background:#57534e;color:#fff}.hl-marker.c-pass{background:#6366f1;color:#fff}.hl-marker.c-water{background:#06b6d4;color:#fff}.hl-marker.c-heritage{background:#a855f7;color:#fff}.hl-marker.c-nature{background:#22c55e;color:#fff}.hl-marker.c-village{background:#f59e0b;color:#fff}.hl-marker.c-curiosity{background:#ec4899;color:#fff}.svc-marker{width:24px;height:24px;border-radius:8px;background:var(--surface);border:1.5px solid var(--border-strong);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.svc-marker.s-works{border-color:#ef4444;background:#fee2e2}.svc-marker.s-charge{border-color:#22c55e}.ride-preview{width:min(760px,94vw);border:0;border-radius:var(--radius);padding:14px 16px 12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.ride-preview::backdrop{background:#02061799;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ride-preview[open]:not(:modal){position:fixed;inset:0;margin:auto;z-index:var(--z-preview);max-height:92vh;overflow:auto}.rp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rp-head h3{margin:0;font-size:16px}.rp-stage{position:relative;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}:root[data-theme=dark] .rp-stage{background:#253247}.rp-stage img{width:100%;height:100%;object-fit:cover;display:block}.rp-loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;padding:0 16px;text-align:center;color:var(--muted);font-size:14px}:root[data-theme=dark] .rp-loading{color:var(--text)}.rp-loading .spinner{width:26px;height:26px;border:3px solid var(--border-strong);border-top-color:var(--muted);border-radius:50%;animation:spin .8s linear infinite}.rp-stage.rp-next .rp-loading{inset:auto 10px 10px auto;padding:6px;border-radius:999px;background:#0f172a8c}.rp-stage.rp-next .spinner{width:18px;height:18px;border-width:2px;border-color:#ffffff59;border-top-color:#fff}.rp-searching:empty{display:none}.rp-result{display:grid;justify-items:start;gap:10px;margin:2px 0 8px}.rp-why{margin:0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-ink);font-size:14px;font-weight:600;line-height:1.45}.rp-why:before{content:"\2717\a0" / ""}.rp-more{margin:0;color:var(--muted);font-size:13px}.rp-result .btn-secondary{height:auto;min-height:44px;padding:0 18px}.rp-caption{margin-top:8px;font-weight:700;font-size:14px}.rp-credit{font-size:10px;color:var(--muted);min-height:14px}.rp-controls{display:flex;align-items:center;gap:6px;margin:10px 0 6px}.rp-controls .btn-secondary,.rp-controls .btn-primary{height:44px;min-width:44px;padding:0 12px}.rp-controls button:disabled{opacity:.45;filter:none;cursor:not-allowed}@media(min-width:481px){.rp-controls .btn-primary{flex:0 0 auto;min-width:58px}}.rp-dots{display:flex;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.rp-dots button{position:relative;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none}.rp-dots button:before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--muted)}.rp-dots button.on:before{background:var(--ride-ink);transform:scale(1.4)}.flight{position:fixed;inset:0;z-index:var(--z-flight);background:#0b1220;color:#fff;overflow:hidden}body.flight-open{overflow:hidden}body.flight-open .toast{position:fixed;z-index:calc(var(--z-flight) + 10)}.flight-map,.flight .flight-map.maplibregl-map{position:absolute!important;inset:0;width:100%;height:100%}.flight-map .maplibregl-canvas{transition:filter .8s linear}.flight-fx,.flight-night,.flight-sun{position:absolute;inset:0;pointer-events:none}.flight-night{background:radial-gradient(ellipse at 50% 40%,#050a1e59,#030716f2);opacity:0;transition:opacity 1s linear}.flight-sun{width:60vmax;height:60vmax;inset:auto;transform:translate(-50%,-50%);opacity:0;transition:opacity 1s linear,left 1.2s linear,top 1.2s linear;mix-blend-mode:screen}.flight{--fl-credit-h: 20px}@media(max-width:900px){.flight{--fl-credit-h: 34px}}.flight-hud{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:max(10px,var(--safe-top)) 12px calc(10px + var(--safe-bottom) + var(--fl-credit-h))}.flight-hud>*{pointer-events:auto}.hud-top{display:flex;align-items:flex-start;gap:10px}.hud-title{padding:10px 14px;border-radius:12px;background:#0206178c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);min-width:0}.hud-title b{display:block;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}.hud-title span{font-size:12.5px;opacity:.85;font-variant-numeric:tabular-nums}.hud-wx{margin-left:auto;display:grid;grid-template-columns:auto auto;grid-auto-rows:auto;gap:2px 10px;align-items:center;padding:8px 12px;border-radius:12px;background:#0206178c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);font-size:12.5px}.hud-wx .wx-ico svg{width:34px;height:34px}.hud-wx .wx-main b{font-size:20px;font-weight:800;letter-spacing:-.02em}.hud-wx .wx-main span{display:block;opacity:.85;max-width:240px}.hud-wx .wx-wind{grid-column:1 / -1;display:flex;align-items:center;gap:6px}.hud-wx .wx-wind svg{width:18px;height:18px}.hud-wx .wx-extra{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px 12px;opacity:.9}.hud-wx .wx-sun[data-state=night]{color:#fca5a5;font-weight:700}.hud-wx .wx-sun[data-state=tight]{color:#fcd34d}.hud-wx .wx-pop:empty,.hud-wx .wx-sun:empty{display:none}.fl-close{flex:none;background:#0206178c;color:#fff;border-color:#fff3}.hud-poi{align-self:flex-start;display:flex;align-items:center;gap:10px;margin:0 auto;padding:8px 14px 8px 8px;border-radius:14px;background:#fffffff0;color:#0f172a;box-shadow:var(--shadow);animation:poi-in .5s var(--ease)}.hud-poi .poi-media img,.hud-poi .poi-media .ico{width:54px;height:54px;border-radius:10px;object-fit:cover;display:flex;align-items:center;justify-content:center}.hud-poi .poi-media .ico svg{width:26px;height:26px}.hud-poi b{display:block;font-size:15px}.hud-poi span{font-size:12px;color:#475569}.hud-poi .hud-poi-offers{pointer-events:auto;font:inherit;font-weight:700;color:inherit;background:none;border:0;padding:0;min-height:44px;text-align:left;text-decoration:underline;cursor:pointer}@keyframes poi-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.hud-bottom{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:#0206178c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12)}.fl-play,.fl-speed{height:38px;min-width:42px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;color:#fff;font-weight:700}.fl-play:hover,.fl-speed:hover{background:#fff3}.fl-track{position:relative;flex:1}.fl-progress{width:100%;margin:0;accent-color:#f97316;height:28px}.fl-ticks{position:absolute;left:0;right:0;top:22px;height:6px;pointer-events:none}.fl-ticks i{position:absolute;top:0;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #f97316cc}.fl-clock{font-variant-numeric:tabular-nums;font-weight:800;font-size:15px;min-width:46px;text-align:right}.flight-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#0b1220d9;font-size:15px;z-index:2}.flight-loading .spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.fl-hl{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:default}.fl-hl img,.fl-hl svg{width:46px;height:46px;border-radius:50%;border:2px solid #fff;box-shadow:0 3px 10px #00000073;object-fit:cover;background:#fff;padding:0}.fl-hl svg{padding:11px;color:#0f172a}.fl-hl span{font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8);max-width:140px;text-align:center;line-height:1.15}.fl-bike{font-size:26px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}.flight .maplibregl-ctrl-bottom-right{left:0}.flight .maplibregl-ctrl.maplibregl-ctrl-attrib{font-size:10px;background:#0009;color:#eee;margin:0;width:100%;box-sizing:border-box;text-align:right;padding-bottom:var(--safe-bottom)}.flight .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button{display:none}.flight .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-inner{display:block}.flight .maplibregl-ctrl-attrib a{color:#fff}.flight.pip{inset:auto 12px 12px auto;width:320px;height:180px;border-radius:14px;box-shadow:0 12px 40px #0000008c;border:1px solid rgba(255,255,255,.15)}.flight.pip .hud-wx,.flight.pip .fl-info,.flight.pip .hud-poi,.flight.pip .fl-pos,.flight.pip .fl-track,.flight.pip .fl-speed,.flight.pip .fl-clock,.flight.pip .fl-pip,.fl-expand{display:none}.flight.pip .fl-expand{display:inline-flex}.flight.pip .flight-hud{padding:6px}.flight.pip .hud-top{gap:6px;flex-wrap:nowrap}.flight.pip .hud-title{padding:4px 8px;flex:1}.flight.pip .hud-title b{font-size:12px;max-width:none}.flight.pip .fl-close,.flight.pip .fl-expand{width:30px;height:30px}.flight.pip .hud-bottom{padding:4px 6px;width:max-content}.flight.pip .flight-hud{flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:6px}.flight.pip .hud-top{order:2;flex:1;min-width:0}.flight.pip .hud-bottom{order:1;flex:none;padding:0;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.flight.pip:not(.info-on) .hud-title{display:block}.flight.pip .fl-play{height:30px;min-width:34px}.flight.pip .flight-loading{font-size:12px}.flight.pip .hud-title{cursor:move;touch-action:none;user-select:none;-webkit-user-select:none}.fl-resize{display:none}.flight.pip .fl-resize{display:block;position:absolute;right:0;bottom:0;width:24px;height:24px;padding:0;border:0;cursor:nwse-resize;touch-action:none;z-index:3;background:linear-gradient(135deg,transparent 55%,rgba(255,255,255,.75) 55%,rgba(255,255,255,.75) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.75) 80%);border-radius:0 0 14px}.flight.pip .fl-resize:focus-visible{outline:2px solid #fff;outline-offset:-2px}@media(max-width:900px){.flight.pip{width:45vw;height:25.3125vw}}@media(max-width:1100px){.app.velo{grid-template-columns:400px 1fr}}@media(max-width:900px){.app.velo{grid-template-columns:1fr}.ride-kpis{grid-template-columns:repeat(4,1fr)}.hud-top{flex-wrap:wrap}.hud-wx{margin-left:0;order:3;width:100%}.hud-title b{max-width:60vw}}@media(max-width:480px){.ride-kpis{grid-template-columns:repeat(3,1fr)}.ride-kpis>div.main{grid-column:span 3}.bike-tiles .tile small{display:none}.ride-hl li .nm{max-width:120px}.map-colorby label{padding:6px 7px;font-size:11.5px}.hud-wx .wx-main span{max-width:160px}.hud-title b{max-width:70vw}.rp-controls .rp-dots{display:none}}.flight-upsell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:min(400px,calc(100% - 32px));padding:26px 24px 20px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:0 28px 70px #0206178c,0 2px 8px #0206174d;text-align:center;color:var(--text);animation:fu-in .22s var(--ease) both}@keyframes fu-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.flight-upsell p{margin:0}.flight-upsell .fu-end{display:block;margin:0 auto 14px;padding:7px 14px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:12.5px;font-weight:600;line-height:1.35}.flight-upsell .fu-why{margin:0 0 16px;color:var(--text);font-size:17px;font-weight:700;line-height:1.4;letter-spacing:-.01em}.flight-upsell .fu-offer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 14px;border-radius:14px;background:var(--accent-soft);border:1px solid rgba(16,185,129,.32);color:var(--text)}@supports (border-color: color-mix(in srgb,red 50%,transparent)){.flight-upsell .fu-offer{border-color:color-mix(in srgb,var(--accent) 32%,transparent)}}.flight-upsell .fu-offer b{font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--accent-ink)}.flight-upsell .fu-offer span{font-size:13px;line-height:1.4;color:var(--muted)}.flight-upsell .fu-actions{display:flex;gap:10px;justify-content:center;align-items:stretch;margin-top:18px}.flight-upsell .fu-custom .note{margin:0 0 12px;font-size:13px;line-height:1.45}.flight-upsell .fu-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0 0 14px}.flight-upsell .fu-packs .fu-offer{padding:12px 8px;cursor:pointer}.flight-upsell .fu-packs .fu-offer:has(input:checked){outline:2px solid var(--accent);outline-offset:1px}.flight-upsell .fu-packs .fu-offer b{font-size:18px}.flight-upsell .fu-consent{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;text-align:left;font-size:13px;line-height:1.45;cursor:pointer}.flight-upsell .fu-consent input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0}.flight-upsell .fu-status:empty{display:none}.flight-upsell .fu-go:is(:disabled,[aria-disabled=true]){opacity:.55;cursor:not-allowed}.flight-upsell .fu-go{flex:1 1 auto;max-width:230px;height:48px;border-radius:14px;font-size:15px;font-weight:700}.flight-upsell .fu-later{flex:0 0 auto;height:48px;padding:0 20px;border-radius:14px;font-weight:600;color:var(--muted)}@media(max-width:480px){.flight-upsell{padding:22px 18px 18px;border-radius:18px}.flight-upsell .fu-why{font-size:16px}.flight-upsell .fu-actions{flex-direction:column}.flight-upsell .fu-go,.flight-upsell .fu-later{max-width:none;width:100%}}.ride-tools-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.ride-tools-row .seg{flex:1;min-width:180px}.ride-drawbar{padding:10px;border-radius:10px;background:#8b5cf61a;border:1px dashed #8b5cf6}.ride-drawbar .note{margin-bottom:8px}.ride-poicats label{padding:4px 9px;font-size:12px}.ride-poi-list{list-style:none;margin:0;padding:0;font-size:12.5px;max-height:260px;overflow:auto}.ride-poi-list li{padding:5px 8px;border-radius:8px;cursor:pointer;display:flex;gap:8px;align-items:baseline}.ride-poi-list li:hover{background:var(--surface-2)}.ride-poi-list li .g{width:20px;text-align:center}.ride-poi-list li small{color:var(--muted);margin-left:auto;white-space:nowrap}.ride-poi-list li.welcome:after{content:"\1f6b4"}.ride-lib{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ride-lib li{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);font-size:13px}.ride-lib .lib-summary{display:flex;align-items:center;gap:10px;min-width:0}.ride-lib li img{width:56px;height:44px;object-fit:cover;border-radius:6px;flex:none}.ride-lib li .nm{flex:1;min-width:0}.ride-lib li .nm b{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.4}.ride-lib li .nm small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.ride-lib .lib-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.ride-lib li button{min-height:44px;height:auto;max-width:100%;padding:8px 12px;font-size:12px;white-space:normal;overflow-wrap:anywhere;border-radius:6px}.ride-lib li button[data-a=delete]{min-width:44px;margin-left:auto}.ride-lib .lib-share{flex-basis:100%;margin:0}.ride-lib .note{padding:0}.club-copy-draft{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--accent-ink);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.seg.seg-col{flex-direction:column}.seg.seg-col label+label{border-left:0;border-top:1px solid var(--border-strong)}.seg.seg-col label{text-align:left;padding:8px 10px}.ride-day{display:inline-block;padding:2px 8px;border-radius:999px;background:#0f172a;color:#fff;font-size:11px;font-weight:700;margin-right:6px}.ride-char{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.ride-char b{color:var(--text)}.ride-ferry{margin:6px 0 0;padding:6px 10px;border-radius:10px;background:var(--blue-soft);font-size:12.5px;font-weight:600}.ride-offline{margin:0 0 10px;padding:8px 10px;border-radius:10px;background:var(--blue-soft);font-size:12.5px}.layers{position:relative}.layers>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:10px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);cursor:pointer}.layers>summary::-webkit-details-marker{display:none}.layers>summary svg{width:16px;height:16px}.map.editing,.map.drawing{cursor:crosshair}.via-marker{width:22px;height:22px;border-radius:50%;background:#8b5cf6;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 6px #0006;cursor:grab}.via-marker.draw{background:#0ea5e9}.km-marker{padding:1px 4px;border-radius:6px;background:#0f172ad9;color:#fff;font-size:10.5px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.wind-marker{width:22px;height:22px;border-radius:50%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000059}.wind-marker svg{width:16px;height:16px}.svc-marker.welcome{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a59}.wind-strip{display:flex;gap:2px;margin:4px 0 8px}.wind-strip i{flex:1;height:8px;border-radius:2px}.wind-strip i.head{background:#ef4444}.wind-strip i.tail{background:#22c55e}.wind-strip i.cross{background:#94a3b8}.wind-strip i.calm{background:#cbd5e1}.trails{list-style:none;margin:0;padding:0;font-size:12.5px}.trails li{padding:5px 8px;border-radius:8px;cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.trails li:hover{background:var(--surface-2)}.trails .mtb{padding:1px 7px;border-radius:999px;font-weight:700;font-size:11px;background:#e2e8f0;color:#0f172a}.trails .mtb.m2,.trails .mtb.m3{background:#fde68a}.trails .mtb.m4,.trails .mtb.m5,.trails .mtb.m6{background:#fca5a5}.passes-list{list-style:none;margin:0;padding:0;font-size:12.5px}.passes-list li{padding:4px 8px}@media(max-width:900px){.layers{position:static}}.ride-hud{position:absolute;left:10px;right:10px;bottom:max(10px,var(--safe-bottom));z-index:30;padding:10px 12px;border-radius:16px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:var(--shadow)}@media(min-width:901px){.ride-hud{right:auto;width:min(660px,calc(100% - 20px))}}.rh-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.rh-top{display:flex;align-items:center;gap:4px;margin-top:6px;border-radius:22px;background:var(--surface-2)}.rh-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.rh-gps{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.rh-gps[data-state=on]{background:#22c55e2e;color:var(--accent-ink)}.rh-gps[data-state=denied]{background:#ef444426;color:var(--danger-ink)}.rh-gps[data-state=sim]{background:#8b5cf626;color:#6d28d9}:root[data-theme=dark] .rh-gps[data-state=sim]{color:#c4b5fd}.rh-groupstate{flex:none;width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.rh-groupstate[data-state=on]{background:#22c55e}.rh-groupstate[data-state=off]{background:#f59e0b}.ride-hud .drive-btn{border:1px solid var(--border);background:var(--surface);color:var(--text)}.rh-off{margin:4px 0;padding:6px 10px;border-radius:10px;background:#fee2e2;color:#b91c1c;font-weight:700;font-size:13px}.rh-voice{margin:2px 0 4px;font-size:13px;font-style:italic;color:var(--text);transition:opacity .6s}.rh-voice:empty,.rh-voice.fade{display:none}.rh-heard{margin:0 0 4px;font-size:11.5px;color:var(--muted)}.rh-heard:empty{display:none}.ride-hud .drive-btn.listening{background:#dc2626;border-color:#dc2626;color:#fff;animation:pulse 1s infinite}.ride-hud .drive-btn.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.rh-next{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:13.5px}.rh-next .ico{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.rh-next .ico svg{width:15px;height:15px}.rh-next b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rh-bar{height:6px;border-radius:3px;background:var(--border);overflow:hidden;margin:6px 0}.rh-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f97316,#ec4899);transition:width .5s linear}.rh-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.rh-free .st-remain,.rh-free .st-eta,.rh-free .rh-bar{display:none}#accountOpen.on{color:var(--accent)}.rh-turn{position:absolute;top:10px;left:10px;z-index:30;width:min(360px,calc(100% - 20px));display:grid;grid-template-columns:48px 1fr;gap:0 12px;padding:10px 14px;border-radius:14px;background:#1d4ed8f0;color:#fff;box-shadow:0 8px 24px #00000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rh-turn-ico{width:48px;height:48px;align-self:center}.rh-turn-ico svg{width:48px;height:48px}.rh-turn-main b{display:block;font-size:28px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rh-turn-main span{display:block;margin-top:3px;font-size:14px;font-weight:600;line-height:1.25}.rh-turn-main em{display:block;margin-top:3px;font-style:normal;font-size:12px;color:#dbeafe}.rh-turn-main em:empty{display:none}.rh-turn-main span:first-letter,.rh-turn-main em:first-letter{text-transform:uppercase}.rh-speed{position:absolute;right:0;top:-66px;width:56px;height:56px;border-radius:50%;background:#fffffff2;color:#0b1220;border:4px solid #dc2626;display:grid;place-items:center;align-content:center;line-height:1;box-shadow:0 6px 18px #00000040}.rh-speed b{font-size:20px;font-weight:900;font-variant-numeric:tabular-nums}.rh-speed span{font-size:8px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.04em}.rh-ebike{display:inline-flex;gap:12px}.rh-ebike b{font-variant-numeric:tabular-nums}.rh-ebike .low{color:#b91c1c}.rh-stat b{display:block;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.rh-stat em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rh-row2{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12.5px;font-weight:600}.rh-wind{display:inline-flex;align-items:center;gap:4px}.rh-wind svg{width:16px;height:16px}.map-wrap.riding .map-overlay.top{display:none}html.riding,html.riding body{overflow:hidden;overscroll-behavior:none}html.riding .mobile-nav{position:fixed;top:var(--topbar-h);left:0;right:0;z-index:var(--z-riding-menu)}.app.riding{min-height:0}.me-marker{width:22px;height:22px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 0 0 4px #2563eb4d,0 2px 8px #0006}.gd-code{display:flex;align-items:center;gap:10px}.gd-code b{font-size:26px;letter-spacing:.12em;font-family:var(--mono)}.gd-members{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}.gd-members li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gd-members li>span:first-child{flex:1 1 auto;font-weight:600}.btn-ride{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;border:0;color:#fff;font-weight:700;font-size:13px;background:linear-gradient(135deg,#15803d,#0369a1)}@media(max-width:900px){.app.velo.riding .panel{display:none}.app.velo.riding .map-wrap{inset:0}.ride-hud{left:6px;right:6px;bottom:max(6px,var(--safe-bottom));padding:6px 10px 8px;border-radius:14px}.rh-head{gap:6px;margin-bottom:4px}.rh-name{font-size:14px}.rh-voice{font-size:12px;margin:0 0 3px}.rh-heard{font-size:11px}.rh-bar{margin:4px 0;height:5px}.rh-row{gap:4px}.rh-row2{font-size:11.5px;gap:3px 10px;margin-top:4px}.rh-next{font-size:12.5px;margin:3px 0}.rh-speed{width:50px;height:50px;top:-58px;right:4px;border-width:3px}.rh-speed b{font-size:17px}.rh-turn{top:6px;left:6px;width:calc(100% - 66px);padding:7px 10px;grid-template-columns:40px 1fr;gap:0 10px;border-radius:12px}.rh-turn-ico,.rh-turn-ico svg{width:40px;height:40px}.rh-turn-main b{font-size:24px}.rh-turn-main span{font-size:13px;margin-top:2px}.rh-turn-main em{font-size:11.5px;margin-top:2px}}@media(max-width:600px){.rh-head{flex-wrap:wrap;row-gap:3px}.rh-gps{max-width:calc(100% - 15px)}.ride-hud:not(.rh-free) .st-dist{display:none}}.input.invalid,.velo-page input.invalid{border-color:var(--danger);box-shadow:0 0 0 3px #ef44442e;animation:field-shake .35s var(--ease)}.place-field .field-error{margin:6px 0 2px 2px}#rideStatus{white-space:normal;overflow:visible;line-height:1.45}#rideStatus.err{padding:8px 10px;border-radius:10px;background:#ef444414;border:1px solid rgba(239,68,68,.28)}.toast{max-width:min(92%,520px);line-height:1.35;white-space:normal}@keyframes field-shake{0%,to{transform:none}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.ride-alerts{list-style:none;margin:8px 0 2px;padding:0;display:flex;flex-direction:column;gap:4px}.ride-alerts li{display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:9px;font-size:12.5px;line-height:1.35;cursor:pointer}.ride-alerts li svg{width:15px;height:15px;flex:none}.ride-alerts li.a-steps{background:#f59e0b1f;color:var(--text)}.ride-alerts li.a-steps svg{color:#d97706}.ride-alerts li.a-protected{background:#22c55e1c;color:var(--text)}.ride-alerts li.a-protected svg{color:#16a34a}.ride-unchecked{margin:6px 0 0;font-size:12px;opacity:.8}.ride-alerts li:hover,.ride-alerts li:focus-visible{filter:brightness(.96);outline:none}.ride-alerts li.a-more{padding:0;cursor:default;background:none}.ride-alerts li.a-more summary{font-size:12px;color:var(--muted);cursor:pointer;padding:2px 9px;list-style:none}.ride-alerts li.a-more ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.alert-marker{width:22px;height:22px;border-radius:50%;background:#f59e0b;color:#fff;border:2px solid #fff;box-shadow:0 2px 6px #00000059;display:flex;align-items:center;justify-content:center}.alert-marker svg{width:13px;height:13px}.place-icon{overflow:visible}.place-marker{display:none;position:relative;width:22px;height:22px;border-radius:50%;background:#f76b15;color:#fff;border:2px solid #fff;box-shadow:0 1px 4px #0000004d;align-items:center;justify-content:center;box-sizing:border-box}.place-marker .ico svg{width:12px;height:12px;display:block}.z-places .place-marker{display:flex}.place-marker .nm,.hl-icon .nm{display:none;position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis;font:600 12px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;color:#e8590c;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff;pointer-events:none}.hl-icon{overflow:visible}.hl-icon .nm{left:calc(100% + 2px);color:#c2410c}.z-labels .place-marker .nm,.z-labels .hl-icon .nm{display:block}[data-theme=dark] .place-marker .nm,[data-theme=dark] .hl-icon .nm{color:#fdba74;text-shadow:0 0 2px #0b1220,0 0 3px #0b1220}.map-compass{position:absolute;top:96px;right:10px;z-index:12;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:transparent;cursor:grab;touch-action:none;filter:drop-shadow(0 3px 7px rgba(15,23,42,.28)) drop-shadow(0 1px 1.5px rgba(15,23,42,.25));transition:transform .15s}.map-compass:hover{transform:scale(1.06)}.map-compass:active{cursor:grabbing}.map-compass:focus-visible{outline:3px solid var(--ride);outline-offset:3px}.map-compass svg{width:52px;height:52px;display:block}.map-compass .face{fill:url(#cmpFace);stroke:#0f172a1f;stroke-width:1}.map-compass .rose{transform:rotate(var(--rose, 0deg));transform-origin:28px 28px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.map-compass.turned .rose,.map-compass:active .rose{transition:none}.map-compass .tk{stroke:#aab2bd;stroke-width:.8;stroke-linecap:round}.map-compass .tk.m{stroke:#7d8794;stroke-width:1.1}.map-compass .tk.M{stroke:#1f2937;stroke-width:1.6}.map-compass .card{font:700 6.4px/1 system-ui,-apple-system,Segoe UI,sans-serif;fill:#5b6573;text-anchor:middle}.map-compass .card.n{fill:#e11d2e;font-size:7.6px}.map-compass .needle-n,.map-compass .needle-s{stroke:#0000002e;stroke-width:.5}.map-compass .hub{fill:#fff;stroke:#1f2937;stroke-width:1.2}.map-compass .lubber{fill:#1f2937}.map-compass.active .face{stroke:var(--ride);stroke-width:2.4}.map-compass.turned .lubber{fill:#e11d2e}[data-theme=dark] .map-compass .face{fill:#1b2436;stroke:#ffffff24}[data-theme=dark] .map-compass .card{fill:#aab4c3}[data-theme=dark] .map-compass .tk.M{stroke:#e5e7eb}[data-theme=dark] .map-compass .hub{fill:#1b2436;stroke:#e5e7eb}[data-theme=dark] .map-compass .lubber{fill:#e5e7eb}.map-wrap.rotated #rideMap{width:170%;height:170%;left:-35%;top:-35%;transform:rotate(var(--map-rot, 0deg));transform-origin:center center;transition:transform .45s linear}.map-wrap:is(.rotated,.riding) .leaflet-control-attribution{display:none}.map-credit{display:none;position:absolute;right:0;bottom:calc(var(--ride-hud-space, 0px) + var(--rh-pill-over, 0px));z-index:25;max-width:100%;padding:2px 6px;font-size:10px;line-height:1.3;background:var(--glass);color:var(--muted);border-radius:6px 0 0;pointer-events:auto}.map-credit a{color:var(--blue)}.map-wrap:is(.rotated,.riding) .map-credit{display:block}.map-wrap.riding .leaflet-bottom{bottom:calc(var(--ride-hud-space, 0px) + var(--rh-pill-over, 0px))}.map-wrap.riding .leaflet-bottom.leaflet-right,.map-wrap.riding .map-credit{right:auto;left:0;max-width:calc(100% - 112px)}.map-wrap.riding .leaflet-bottom.leaflet-right .leaflet-control-attribution{white-space:normal;border-radius:0 6px 0 0}.map-wrap.riding .map-credit{border-radius:0 6px 0 0}@media(max-width:900px){.map-compass{top:62px;right:8px;width:46px;height:46px}.map-compass svg{width:46px;height:46px}}.map-dock{position:absolute;left:12px;bottom:calc(12px + var(--credit-h, 0px));z-index:12;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.map-wrap.riding .map-dock{bottom:auto;top:232px}.map-wrap.riding .layers-btn{width:64px;height:64px}@media(max-width:900px){.map-wrap.riding .map-dock{top:96px}}@media(max-width:900px){.map-dock{left:10px;bottom:calc(var(--sheet-h, 45vh) + 12px + var(--credit-h, 0px))}}.map-dock{pointer-events:none}.map-dock>*{pointer-events:auto}.map-dock>.ride-preview-result .note:not([hidden]){margin:0;padding:8px 12px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow);max-width:18rem}@media(max-width:900px)and (max-height:760px){.map-wrap:not(.riding) .map-dock{flex-direction:row;align-items:flex-end;max-width:calc(100% - 20px);pointer-events:auto;overflow-x:auto;overflow-y:hidden;padding:6px 2px 2px;scrollbar-width:none;overscroll-behavior-x:contain}.map-wrap:not(.riding) .map-dock::-webkit-scrollbar{display:none}.map-wrap:not(.riding) .map-dock>*{flex:none}}.peaks-card{position:relative;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;gap:2px 10px;padding:10px 12px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.peaks-ico svg{width:30px;height:22px;display:block}.peaks-lbl{grid-column:1;font-size:12.5px;font-weight:700;display:flex;gap:6px;align-items:center}.peaks-lbl b{min-width:18px;padding:0 5px;border-radius:9px;background:#e0115f;color:#fff;font-size:11px;text-align:center}.peaks-card .switch{grid-column:2;grid-row:1 / span 2}.switch{position:relative;display:inline-block;width:40px;height:24px;cursor:pointer}.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.switch i,.lp-switch i{position:absolute;inset:0;border-radius:12px;background:#c7ccd3;transition:background .2s}.switch i:after,.lp-switch i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s}.switch input:checked+i,.lp-switch input:checked+i{background:#e0115f}.switch input:checked+i:after,.lp-switch input:checked+i:after{transform:translate(16px)}.switch input:focus-visible+i,.lp-switch input:focus-visible+i{outline:2px solid var(--ride);outline-offset:2px}.peaks-tip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);width:max-content;max-width:280px;padding:9px 12px;border-radius:10px;background:#1c1c1e;color:#fff;font-size:13px;line-height:1.35;opacity:0;pointer-events:none;transition:opacity .15s}.peaks-tip:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left:0;border-right-color:#1c1c1e}.peaks-card:hover .peaks-tip,.peaks-card:focus-within .peaks-tip{opacity:1}@media(hover:none){.peaks-tip{display:none}}@media(hover:hover){.peaks-lbl .info{display:none}}.layers-btn{position:relative;width:84px;height:84px;padding:0;border:3px solid #fff;border-radius:14px;overflow:hidden;background:#dfe7da;box-shadow:var(--shadow);cursor:pointer}.layers-btn img{width:100%;height:100%;object-fit:cover;display:block}.layers-btn span{position:absolute;left:0;right:0;bottom:0;padding:14px 6px 5px;color:#fff;font-size:12.5px;font-weight:700;text-align:left;background:linear-gradient(transparent,#0009 12px)}.layers-panel{position:absolute;left:12px;bottom:calc(110px + var(--credit-h, 0px));z-index:13;width:min(420px,calc(100% - 24px));max-height:calc(100% - 146px - var(--credit-h, 0px));overflow:auto;padding:18px 20px 20px;border-radius:22px;background:var(--surface);box-shadow:0 12px 40px #00000040}@media(max-width:900px){.layers-panel{bottom:calc(var(--sheet-h, 45vh) + 110px + var(--credit-h, 0px));max-height:calc(100% - var(--sheet-h, 45vh) - 130px - var(--credit-h, 0px))}}.lp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.lp-head h3{margin:0;font-size:20px}.lp-close{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.lp-close svg{width:22px;height:22px}.lp-close:hover{background:var(--surface-2)}.layers-panel h4{margin:14px 0 10px;font-size:15px}.lp-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:14px 12px;padding-bottom:4px}.lp-type[hidden]{display:none}.lp-name small{display:block;font-size:11.5px;color:var(--muted, #6b7280)}.lp-type{flex:none;width:92px;scroll-snap-align:start;cursor:pointer}.lp-type input{position:absolute;opacity:0}.lp-thumb{position:relative;display:block;width:92px;height:92px;border-radius:12px;overflow:hidden;border:2px solid transparent;background:var(--surface-2);box-shadow:0 1px 3px #00000026}.lp-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lp-type input:checked+.lp-thumb{border-color:#f76b15;box-shadow:0 0 0 1px #f76b15}.lp-type input:focus-visible+.lp-thumb{outline:2px solid var(--ride);outline-offset:2px}.lp-name{display:block;margin-top:6px;font-size:13px;line-height:1.25}.base-notice{margin-top:10px}.base-notice>.note.err:not([hidden]){display:block;margin:0 0 8px;padding:8px 12px;border-left:3px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);line-height:1.35}.base-notice>[hidden]{display:none}.base-notice>.btn-secondary{height:auto;min-height:44px;max-width:100%;padding:8px 16px;color:var(--text);white-space:normal;text-align:center;cursor:pointer}.base-notice .action-result .note:not([hidden]){margin:8px 0 0}.layers-btn.has-base-notice:after{content:"";position:absolute;top:6px;right:6px;width:14px;height:14px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 2px #fff;pointer-events:none}.lp-overlays{display:flex;flex-direction:column;gap:4px}.lp-switch{position:relative;display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:14px;cursor:pointer}.lp-switch input{position:absolute;opacity:0;right:0;width:40px;height:24px;margin:0}.lp-switch i{position:relative;flex:none;width:40px;height:24px;inset:auto}.peak-icon{overflow:visible}.peak-marker{position:relative;width:20px;height:20px}.peak-marker svg{width:20px;height:20px;display:block;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.45))}.peak-marker svg path{fill:#8a8f98;stroke:#fff;stroke-width:1.6;stroke-linejoin:round}.peak-marker.got svg path{fill:#e0115f}.peak-marker .nm{display:none;position:absolute;left:calc(100% + 3px);top:50%;transform:translateY(-50%);white-space:nowrap;font:600 11.5px/1.2 system-ui,sans-serif;color:#3f4650;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff;pointer-events:none}.z-labels .peak-marker .nm{display:block}.z-labels .lbl-hidden,.lbl-hidden{visibility:hidden}.map-recenter{position:absolute;top:158px;right:13px;z-index:12;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 7px #0f172a38,0 1px 1.5px #0f172a33;transition:transform .15s,color .15s}.map-recenter svg{width:22px;height:22px}.map-recenter:hover{transform:scale(1.06);color:var(--ride)}.map-recenter:focus-visible{outline:3px solid var(--ride);outline-offset:3px}@media(max-width:900px){.map-recenter{top:116px;right:8px;width:44px;height:44px}}:root{interpolate-size:allow-keywords}.ride-details{border-top:0;padding-top:0}.ride-sec{margin:10px 0;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 1px 2px #0f172a0d;overflow:hidden;transition:box-shadow .2s,border-color .2s}.ride-sec[open]{box-shadow:0 4px 14px #0f172a14}.ride-sec>summary{display:flex;align-items:center;gap:11px;padding:11px 12px;cursor:pointer;list-style:none;user-select:none}.ride-sec>summary::-webkit-details-marker{display:none}.ride-sec>summary:hover{background:var(--surface-2)}.ride-sec>summary:focus-visible{outline:2px solid var(--ride);outline-offset:-2px;border-radius:14px}.sec-ico{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--sec-bg, #eef2f7);color:var(--sec-fg, #475569)}.sec-ico svg{width:18px;height:18px}.sec-title{flex:1;min-width:0;font-size:14px;font-weight:700;letter-spacing:.01em}.ride-sec .chev{flex:none;width:18px;height:18px;color:var(--muted);transition:transform .25s ease}.ride-sec[open] .chev{transform:rotate(180deg)}.sec-body{padding:2px 14px 14px}.ride-sec::details-content{block-size:0;overflow:clip;transition:block-size .28s ease,content-visibility .28s allow-discrete}.ride-sec[open]::details-content{block-size:auto}.s-along{--sec-bg: #fff1e6;--sec-fg: #ea580c}.s-profile{--sec-bg: #e0f2fe;--sec-fg: #0284c7}.s-climbs{--sec-bg: #fee2e2;--sec-fg: #dc2626}.s-passes{--sec-bg: #ede9fe;--sec-fg: #7c3aed}.s-wind{--sec-bg: #e0f7fa;--sec-fg: #0891b2}.s-terrain{--sec-bg: #f1f5f9;--sec-fg: #475569}.s-trails{--sec-bg: #ecfccb;--sec-fg: #4d7c0f}.s-services{--sec-bg: #fef3c7;--sec-fg: #b45309}.s-practical{--sec-bg: #dcfce7;--sec-fg: #15803d}.s-bike{--sec-bg: #fff1e6;--sec-fg: #ea580c}.s-shape{--sec-bg: #e0f2fe;--sec-fg: #0284c7}.s-journey{--sec-bg: #ede9fe;--sec-fg: #7c3aed}.s-track{--sec-bg: #fce7f3;--sec-fg: #db2777}.s-poi{--sec-bg: #fef3c7;--sec-fg: #b45309}.s-library{--sec-bg: #dcfce7;--sec-fg: #15803d}#viewForm .ride-sec fieldset{margin:4px 0 0}#viewForm .s-journey .grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}#viewForm .s-journey .grid .field{margin:0}#viewForm .s-journey .grid .field.wide{grid-column:1 / -1}@media(max-width:480px){#viewForm .s-journey .grid{grid-template-columns:1fr}}[data-theme=dark] .ride-sec{background:var(--surface);border-color:var(--border)}[data-theme=dark] .sec-ico{background:color-mix(in srgb,var(--sec-fg) 22%,transparent);color:color-mix(in srgb,var(--sec-fg) 70%,white)}.map-tools{position:absolute;top:66px;left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 150px)}@media(min-width:901px){.map-tools{pointer-events:none}.map-tools>*{pointer-events:auto}}.mt-btn{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 8px #0f172a2e,0 1px 2px #0f172a29;transition:transform .12s,background .15s,color .15s}.mt-btn svg{width:21px;height:21px}.mt-btn:hover:not(:disabled){transform:translateY(-1px);color:var(--ride)}.mt-btn:active:not(:disabled){transform:scale(.94)}.mt-btn:disabled{color:#b5bcc6;cursor:default}.mt-btn.on,.mt-btn[aria-expanded=true]{background:var(--ride);color:var(--on-ride)}.mt-btn.on:hover,.mt-btn[aria-expanded=true]:hover{color:var(--on-ride)}.mt-btn:focus-visible{outline:3px solid var(--ride);outline-offset:2px}.mt-hint{flex-basis:100%;max-width:440px;margin:0 auto;padding:5px 12px;border-radius:12px;background:var(--glass, rgba(255,255,255,.85));font-size:12.5px;text-align:center;box-shadow:0 1px 4px #0f172a1f}[data-theme=dark] .mt-btn:disabled{color:#4b5563}.map-wrap.riding .map-tools{top:12px;left:auto;right:72px;transform:none;flex-wrap:nowrap;width:auto;max-width:none;gap:8px}.map-wrap.riding #mtDraw,.map-wrap.riding .mt-hint{display:none}@media(max-width:900px){.map-tools{top:58px;left:8px;right:62px;transform:none;width:auto;max-width:none;justify-content:flex-start;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}.map-tools::-webkit-scrollbar{display:none}.mt-btn svg{width:18px;height:18px}.mt-hint{display:none}.map-wrap.riding .map-tools{top:170px;left:auto;right:10px;flex-direction:column;overflow:hidden auto;padding:0;gap:6px;max-height:max(44px,calc(100% - 170px - var(--ride-hud-space, 220px) - 126px))}}.map-sheet{position:absolute;top:122px;left:50%;transform:translate(-50%);z-index:31;width:min(560px,calc(100% - 24px));max-height:calc(100% - 140px);overflow:auto;padding:18px 22px 16px;border-radius:22px;background:var(--surface);box-shadow:0 12px 40px #00000040;overscroll-behavior:contain}.map-sheet h4{margin:16px 0 6px;font-size:16px}.ms-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:9px 0;cursor:pointer}.ms-ico{width:52px;height:52px;border-radius:10px;display:grid;place-items:center;background:#efeae1;color:#4a4539}.ms-ico svg{width:24px;height:24px}.ms-txt b{display:block;font-size:15.5px;font-weight:500}.ms-txt small{display:block;margin-top:2px;font-size:13.5px;line-height:1.35;color:var(--muted, #6b7280)}.ms-row .switch{width:58px;height:32px}.ms-row .switch i{border-radius:16px;background:#8e8a86}.ms-row .switch i:after{top:3px;left:3px;width:26px;height:26px}.ms-row .switch input:checked+i{background:#3b4a2a}.ms-row .switch input:checked+i:after{transform:translate(26px)}[data-theme=dark] .ms-ico{background:#2d2f33;color:#d6d3cc}[data-theme=dark] .ms-row .switch input:checked+i{background:#6b8f3a}.lp-more{display:flex;align-items:center;gap:10px;width:100%;margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2, #f4f5f7);color:var(--text);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer}.lp-more svg{width:20px;height:20px}.lp-more span{flex:1;text-align:left}.lp-more b{font-size:20px;line-height:1}.lp-more:hover{border-color:#f76b15}@media(max-width:900px){.map-sheet{top:104px;max-height:calc(100% - var(--sheet-h, 45vh) - 116px);padding:14px 16px 12px}.ms-row{grid-template-columns:42px 1fr auto;gap:10px}.ms-ico{width:42px;height:42px}}.app.riding .map-sheet{max-height:calc(100% - 140px)}.flight:not(.info-on) .hud-title,.flight:not(.info-on) .hud-wx{display:none}.fl-info{flex:none;margin-left:auto;display:grid;place-items:center;background:#0206178c;color:#fff;border-color:#fff3}.flight.info-on .fl-info{background:#f97316;border-color:#f97316;margin-left:0}@media(max-width:900px){.flight.info-on .fl-info{margin-left:auto}}.map-tools{top:12px}.map-overlay.top{top:66px}.mt-hint{position:absolute;top:calc(100% + 62px);left:50%;transform:translate(-50%);width:max-content;max-width:min(440px,80vw)}@media(max-width:900px){.map-tools{top:8px}.map-overlay.top{top:56px}}@media(max-width:560px){.map-compass{top:6px;right:6px;width:44px;height:44px}.map-compass svg{width:44px;height:44px}.map-recenter{top:54px;right:9px;width:44px;height:44px}.map-recenter svg{width:19px;height:19px}.map-tools,.map-overlay.top{left:8px;right:58px;width:auto;max-width:none;transform:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.map-tools::-webkit-scrollbar,.map-overlay.top::-webkit-scrollbar{display:none}.map-tools{top:8px;gap:8px;padding:1px 0}.mt-btn{scroll-snap-align:center}.mt-btn svg{width:19px;height:19px}.map-overlay.top{top:52px;gap:6px}.map-overlay.top>*,.map-overlay.top .seg{flex:none}.map-overlay.top .seg label{flex:none;padding:6px 9px;font-size:12px;white-space:nowrap}.map-overlay.top .icon-btn{width:34px;height:34px;flex:none}.map-overlay.top .legend{flex:none;white-space:nowrap}.mt-hint{top:calc(100% + 46px)}}.poi-popup .station-photo{width:100%;max-width:none;margin:0 0 8px}.poi-popup .station-photo img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.poi-popup .station-photo.pending{aspect-ratio:16 / 9;border-radius:8px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:poi-shimmer 1.2s linear infinite}@keyframes poi-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.poi-popup h4{font-size:15px;line-height:1.3}.poi-popup .photo-credit{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ride-style{display:grid;grid-template-columns:repeat(4,1fr)}.ride-style label{padding-left:4px;padding-right:4px;text-align:center;white-space:nowrap}.rh-rec{flex:none;padding:1px 7px;border-radius:6px;background:#dc2626;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.06em;animation:rec-blink 1.6s ease-in-out infinite}.rh-rec[hidden]{display:none}@keyframes rec-blink{50%{opacity:.45}}.rec-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin:10px 0 14px}.rec-stats div{padding:10px 12px;border-radius:12px;background:var(--surface-2)}.rec-stats b{display:block;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.rec-stats span{font-size:12px;color:var(--muted)}.lib-rec{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#dc2626;vertical-align:middle}.lib-cloud{margin-left:6px;font-size:12px;color:var(--muted)}.lib-mixed{margin-left:6px;padding:1px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.map.selecting,.map.selecting .leaflet-interactive{cursor:crosshair}.sel-card{position:absolute;left:50%;bottom:calc(18px + var(--credit-h, 0px));transform:translate(-50%);z-index:14;width:min(440px,calc(100% - 24px));padding:12px 14px;border-radius:16px;background:var(--surface);box-shadow:0 10px 30px #0f172a38}.sel-card[hidden]{display:none}.sel-head{display:flex;align-items:center;justify-content:space-between}.sel-head b{font-size:15px}.sel-card .note{margin:4px 0 2px}.sel-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.sel-stats div{padding:8px;border-radius:10px;background:var(--surface-2);text-align:center}.sel-stats b{display:block;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.sel-stats span{font-size:11px;color:var(--muted)}.sel-actions{display:flex;gap:8px;justify-content:flex-end}.map-wrap.riding #mtCrop,.map-wrap.riding #mtSelect,.map-wrap.riding .sel-card{display:none}.map-wrap .relief-map{position:absolute;inset:0;width:100%;height:100%;z-index:1}.relief-on #rideMap{visibility:hidden;pointer-events:none}.relief-on #mapCompass,.relief-on #layersOpen,.relief-on .map-credit,.relief-on #layersPanel{display:none}.relief-popup-open .relief-camera,.relief-popup-open #mapDock{visibility:hidden}.relief-on #mapDock{left:auto;right:12px;bottom:44px}.relief-on .peaks-tip{left:auto;right:calc(100% + 12px)}.relief-on .peaks-tip:before{left:auto;right:-6px;border:6px solid transparent;border-right:0;border-left-color:#1c1c1e}.relief-on #mapRecenter{top:160px}.relief-map .maplibregl-ctrl-group button{width:44px;height:44px}.relief-map .maplibregl-ctrl.maplibregl-ctrl-attrib{font-size:8px;line-height:1.25;color:#252525;background:#ffffffeb;margin:0 0 var(--safe-bottom);border-radius:12px 0 0}.relief-map .maplibregl-ctrl-attrib a{color:inherit}.planning-view{display:flex;flex:none;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.planning-view button{min-width:44px;min-height:38px;padding:6px 10px;border:0;border-radius:0;background:transparent;color:var(--text);font-weight:700}.planning-view button[aria-pressed=true]{background:var(--ride);color:var(--on-ride)}.planning-view button:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.planning-view[aria-busy=true]{opacity:.65}.relief-camera{position:absolute;bottom:64px;left:12px;z-index:12;width:220px;max-width:calc(100% - 72px);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.relief-camera label{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px;min-height:32px;font-size:12px;overflow-wrap:anywhere}.relief-camera input{width:100%;min-width:0;accent-color:var(--ride)}.relief-camera select{width:100%;min-width:0;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:4px}.relief-camera:not([open]){width:auto}.relief-camera summary{min-height:24px;font-size:13px;font-weight:600;cursor:pointer}.relief-camera[open] summary{margin-bottom:8px}.relief-pin{max-width:150px;padding:5px 8px;border:2px solid #fff;border-radius:8px;background:var(--accent-strong);color:#fff;box-shadow:0 1px 4px #0005;font:700 12px/1.3 system-ui;overflow-wrap:anywhere}.relief-pin.end{background:#be123c}.relief-pin.via{background:#6d28d9;width:44px;height:44px;padding:0}.relief-pick{display:grid;gap:8px}.relief-pick button{min-height:44px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface);padding:6px 10px}.relief-pick .actions{display:flex;gap:8px;flex-wrap:wrap}.relief-map .maplibregl-popup-content{background:var(--surface);color:var(--text)}.relief-marker{width:44px;height:44px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}.relief-marker-art{display:flex;align-items:center;justify-content:center}.relief-marker .nm{display:none}.relief-marker .hl-marker.photo{width:40px;height:40px}.relief-marker.place-icon{display:none}.z-places~.relief-map .relief-marker.place-icon,.z-places~.relief-map .place-marker{display:flex}.relief-marker:focus-visible{outline:2px solid var(--blue);border-radius:6px}.relief-overlay-popup{overflow-wrap:anywhere}.relief-overlay-popup .actions{display:flex;gap:8px;flex-wrap:wrap}.relief-overlay-popup button{min-height:44px}.relief-hint{position:absolute;left:50%;top:50%;z-index:30;transform:translate(-50%,-50%);width:max-content;max-width:min(300px,calc(100% - 32px));display:grid;justify-items:center;gap:6px;padding:14px 18px;border-radius:14px;background:#1c1c1ee6;color:#fff;box-shadow:0 8px 24px #0006;font-size:14px;line-height:1.35;text-align:center;overflow-wrap:anywhere;pointer-events:none;animation:fu-in .25s ease-out}.relief-hint ul{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:13px;color:#e5e7eb}.relief-hint-icon{display:flex;color:#6ee7b7}.relief-hint:empty{background:none;box-shadow:none;padding:0}@media(max-height:480px){.relief-hint{max-width:min(440px,calc(100% - 32px));gap:4px;padding:10px 14px}.relief-hint-icon{display:none}}@media(max-width:900px){.map-wrap .relief-map{height:calc(100% - var(--sheet-h, 45vh))}.relief-on #mapDock{bottom:calc(var(--sheet-h, 45vh) + 44px)}.relief-camera{bottom:calc(var(--sheet-h, 45vh) + 64px);left:8px;width:205px}.relief-map .maplibregl-ctrl.maplibregl-ctrl-attrib{margin-bottom:max(0px,calc(var(--safe-bottom) - var(--sheet-h, 45vh)))}.sheet-full .relief-camera,.sheet-full .relief-hint{display:none}.relief-hint{top:calc((100% - var(--sheet-h, 45vh)) / 2)}.relief-camera[open]~#mapDock{visibility:hidden}}@media(max-width:900px){.sel-card{bottom:calc(var(--sheet-h, 45vh) + 12px + var(--credit-h, 0px))}.sel-stats{grid-template-columns:repeat(2,1fr)}}.fav-icon{background:none;border:0}.fav-marker{width:26px;height:26px;border-radius:50%;background:#f59e0b;color:#fff;border:2px solid #fff;box-shadow:0 2px 6px #0f172a59;display:grid;place-items:center}.fav-marker svg{width:15px;height:15px}.fav-icon .nm{position:absolute;left:30px;top:3px;white-space:nowrap;font-size:12px;font-weight:700;color:#0f172a;text-shadow:0 0 3px #fff,0 0 3px #fff;display:none}.z-labels .fav-icon .nm{display:block}.fav-pin svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px;color:#f59e0b}.fav-items{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.fav-items li{display:flex;align-items:center;gap:4px}.fav-go{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.fav-go:hover{border-color:#f59e0b}.fav-star{flex:none;color:#f59e0b;display:inline-flex}.fav-star svg{width:16px;height:16px}.fav-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fav-act{flex:none;width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer}.fav-act svg{width:16px;height:16px}.fav-act:hover{color:var(--ride);border-color:var(--ride)}.fav-empty,.fav-hint{margin:4px 0 8px}@media(max-width:900px){.map-wrap.has-popup .map-dock{visibility:hidden}}.mtb-sum{margin:2px 0 10px}.mtb-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--border)}.mtb-bar i{display:block;height:100%}.mtb-sum p{margin:6px 0 0;font-size:13px;font-weight:600}.ride-hl li .hl-info{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--muted);font:700 12px/1 system-ui,sans-serif;cursor:pointer;padding:0}.ride-hl li .hl-info:hover,.ride-hl li .hl-info:focus-visible{border-color:var(--ride);color:var(--ride)}.ride-visits .visit-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin:2px 0 10px}.ride-visits .visit-totals>div{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.ride-visits .visit-totals dt{font-size:11.5px;font-weight:600;line-height:1.25;color:var(--muted)}.ride-visits .visit-totals dd{margin:2px 0 0;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.ride-visits .visit-totals .total{border-color:var(--ride);background:var(--ride-soft)}.ride-visits .visit-totals .over{border-color:var(--danger)}.ride-visits .visit-totals .over dd{color:var(--danger)}.ride-visits .discovery-stops{list-style:none;margin:10px 0;padding:0;counter-reset:visit;display:grid;gap:8px}.ride-visits .discovery-stops li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"n name dist" "n fee fee" "n acts acts";column-gap:10px;align-items:center;padding:10px 6px 2px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);counter-increment:visit;cursor:grab}.ride-visits .discovery-stops li:hover{border-color:var(--border-strong)}.ride-visits .discovery-stops li:before{content:counter(visit);grid-area:n;align-self:start;width:28px;height:28px;border-radius:50%;background:var(--ride-soft);color:var(--ride-ink);font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.ride-visits .discovery-stops li .nm{grid-area:name;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.ride-visits .discovery-stops li small{grid-area:dist;align-self:start;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.ride-visits .discovery-stops li .visit-fee{grid-area:fee;justify-self:start;margin-top:4px;padding:1px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:12px;font-weight:600}.ride-visits .discovery-stops li .visit-fee-yes{border-color:var(--danger);color:var(--danger)}.ride-visits .discovery-transit{display:grid;gap:6px;margin:8px 0}.ride-visits .discovery-transit button{min-height:44px;text-align:left;white-space:normal}.ride-visits .visit-totals .surfaces dd,.ride-visits .visit-totals .stops dd{white-space:normal}.ride-visits .visit-totals .surfaces dd{font-size:13px}.discovery-stops li.note{display:block;padding:12px;border-style:dashed;cursor:default;color:var(--muted)}.ride-visits .discovery-stops li.note:before,.ride-visits .discovery-stops li.action-result-row:before{content:none}.ride-visits .discovery-stops li.action-result-row{display:block;padding:0;border:0;background:none;counter-increment:none;cursor:default}.ride-visits .discovery-actions{grid-area:acts;display:flex;justify-content:flex-end;gap:2px}.ride-visits .discovery-actions button{min-width:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ride-visits .discovery-actions button svg{width:18px;height:18px}.ride-visits .discovery-actions button:hover:not(:disabled),.ride-visits .discovery-actions button:focus-visible{background:var(--surface-2);color:var(--text)}.ride-visits .discovery-actions .visit-act-sheet{color:var(--blue)}.ride-visits .discovery-actions .visit-act-remove:hover:not(:disabled),.ride-visits .discovery-actions .visit-act-remove:focus-visible{background:var(--danger-soft);color:var(--danger-ink)}.ride-visits .discovery-actions button:disabled{opacity:.3;cursor:default}.ride-visits .discovery-replace{display:grid;gap:6px;grid-template-columns:1fr;margin:12px 0 8px;padding-top:12px;border-top:1px solid var(--border)}.ride-visits .discovery-replace select,.ride-visits .discovery-replace button{min-height:44px}.ride-activity .ride-mixed{margin-top:8px}.hike-entry{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;font-weight:700;box-shadow:var(--shadow);cursor:pointer}.hike-entry svg{width:20px;height:20px}.hike-entry:hover{border-color:#f76b15}.hike-panel .hike-status{margin:0 0 6px;font-size:13px}.hike-panel .hike-status:empty{display:none}.hike-packs-list{list-style:none;margin:4px 0 8px;padding:0}.hike-pack{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;border-top:1px solid var(--border)}.hike-pack .nm{flex:1 1 160px;min-width:0}.hike-pack .nm b{display:block;overflow-wrap:anywhere}.hike-pack .nm small{display:block;color:var(--muted);font-size:12.5px}.hike-pack button,.hike-ask button{min-height:44px}.hike-ask{margin:8px 0;padding:10px 12px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2, #f4f5f7)}.hike-ask p{margin:0 0 8px}.hike-ask .actions{display:flex;flex-wrap:wrap;gap:6px}.offline-depart-size{font-weight:600}.offline-depart-choices .actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.offline-depart button{min-height:44px}.offline-depart-choices button{white-space:normal;text-align:left}.offline-depart-progress:not([hidden]){margin:8px 0 0}.hike-ask .btn-primary,.offline-depart .btn-primary{height:auto;padding:8px 14px}.hike-ask [data-pack-action=bgOption],.offline-depart-choices [data-depart=option]{flex:1 1 220px}.trail-line{cursor:pointer}.trail-popup h4{margin:0 0 4px;font-size:15px}.trail-popup .meta{font-size:12.5px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.trail-popup .trail-swatch{display:inline-grid;place-items:center;width:22px;height:14px;margin-right:6px;border:2px solid;border-radius:3px;vertical-align:-2px}.trail-popup .trail-swatch i{display:block;width:10px;height:6px}.trail-popup .trail-portion{display:block;margin-top:8px}.trail-popup .trail-portion span{display:block;font-size:12.5px;margin-bottom:4px}.trail-popup select{width:100%;min-height:40px;font:inherit}.trail-popup .actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.trail-popup .actions button{min-height:40px}.hike-contrast .leaflet-tile-pane{filter:contrast(1.25) saturate(.85)}.hike-contrast .leaflet-tile-pane .tiles-dark{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(1.15) saturate(.7)}.hike-battery .map-wrap:after{content:"";position:absolute;inset:0;z-index:20;background:#0000008c;pointer-events:none}.hike-battery .flow{animation:none}.rh-walk{display:inline-flex;align-items:center;gap:4px}.rh-walk b{font-variant-numeric:tabular-nums}.rh-walk-profile{margin-top:6px}.rh-walk-profile svg{display:block;width:100%;height:48px}@media(max-width:900px){.hike-entry{font-size:12.5px;padding:8px 10px}.rh-walk-profile svg{height:36px}}.walk-safety{margin-top:10px;font-size:13px;line-height:1.45}.walk-safety p{margin:4px 0}.practical li.storm{font-weight:600}.ride-plan{list-style:none;margin:0 0 10px;padding:0;font-size:13px}.ride-plan li{display:flex;gap:8px;align-items:flex-start;padding:3px 0}.ride-plan li:before{content:"\1f6b2";flex:none}.ride-plan li.walk:before{content:"\1f6b6"}.mixed-parking{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:#fff;color:#2563eb;font-weight:800;border:2px solid #2563eb;font-size:14px}.cw-steps{display:flex;align-items:center;gap:6px;margin:0 0 12px}.cw-steps ol{flex:1;min-width:0;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cw-tab{width:100%;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font:600 13px/1.2 var(--font);text-align:center;cursor:pointer}.cw-tab .cw-n{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--border);color:var(--text);font-size:12px;font-weight:800}.cw-tab .cw-name{max-width:100%;hyphens:auto;overflow-wrap:break-word}.cw-tab[aria-current=step]{border-color:var(--accent);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.cw-tab[aria-current=step] .cw-n{background:var(--accent);color:var(--on-accent)}.cw-step{display:grid;gap:10px}.cw-step[hidden]{display:none}.cw-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 4px}.cw-count{flex:1 1 0;color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}.cw-nav .cw-next{margin-left:auto}@media(prefers-reduced-motion:no-preference){.cw-step:not([hidden]){animation:cw-in .18s ease-out}}@keyframes cw-in{0%{opacity:0;transform:translateY(4px)}}.cw-counter{display:inline-flex;align-items:center;gap:6px}.cw-counter input{width:64px;text-align:center}.cw-step-btn{flex:none;width:44px;height:44px;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--text);font:700 20px/1 var(--font);cursor:pointer}.cw-step-btn:disabled{opacity:.45;cursor:default}#rideAutonomyField{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:10px}#rideAutonomyField>:first-child{grid-area:1 / 1;margin-bottom:2px}#rideAutonomyField .cw-value{grid-area:1 / 2;font-variant-numeric:tabular-nums;font-weight:700;font-size:13.5px}#rideAutonomyField>input{grid-area:2 / 1 / 3 / -1;width:100%;height:28px;margin:0;accent-color:var(--ride, var(--accent))}#rideAutonomyField .cw-autonomy-note{grid-area:3 / 1 / 4 / -1;display:block;margin-top:4px}.poi-dock{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.poi-dock[aria-busy=true] .poi-chip{cursor:progress;opacity:.7}.poi-dock .poi-dock-result{flex-basis:100%}.poi-dock-result .note:not(:empty){width:max-content;max-width:min(300px,calc(100vw - 40px));margin:0;padding:5px 10px;border-radius:10px;background:var(--surface);box-shadow:var(--shadow);font-weight:600}.poi-dock-result .note.ok:not(:empty){background:linear-gradient(var(--accent-soft),var(--accent-soft)) var(--surface)}.poi-chip{min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid transparent;border-radius:999px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font:600 13px/1 var(--font);cursor:pointer}.poi-chip[aria-pressed=true]{border-color:var(--accent);box-shadow:var(--shadow),inset 0 0 0 1px var(--accent)}.poi-chip[aria-pressed=false]{color:var(--muted)}@media(max-width:900px){.poi-chip .poi-chip-name{display:none}.poi-chip{width:44px;height:44px;padding:0;justify-content:center}}@media(max-width:900px){@supports (backdrop-filter: blur(1px)){.peaks-card,.poi-chip,.planning-view{background:color-mix(in srgb,var(--surface) 80%,transparent);backdrop-filter:blur(10px) saturate(1.2)}}}.lp-tabs{margin:4px 0 2px}.layers-btn .lb-phone{display:none}.lp-marks:not([hidden]){display:grid;gap:10px}.lp-marks h4{margin:16px 0 0}.lp-marks .peaks-card{display:flex;align-items:center;gap:12px;width:100%;box-shadow:none;border:1px solid var(--border);background:var(--surface-2)}.lp-marks .peaks-lbl{flex:1;font-size:14px}.lp-marks .peaks-tip{display:none}.lp-marks .peaks-lbl .info{display:inline-flex}.lp-marks .poi-chip,.lp-marks .hike-entry{box-shadow:none;border:1px solid var(--border-strong);background:var(--surface-2);-webkit-backdrop-filter:none;backdrop-filter:none}.lp-marks .hike-entry{width:100%;justify-content:flex-start;min-height:48px}.mp-lead{margin:12px 0 2px}.mp-group[hidden]{display:none}.mp-group h4{margin:16px 0 8px;font-size:15px}#lpPractice .action-result{margin-top:12px}@media(max-width:900px){.layers-btn,.map-wrap.riding .layers-btn{width:auto;height:48px;display:inline-flex;align-items:center;gap:8px;padding:4px 16px 4px 4px;border:0;border-radius:999px;overflow:visible;background:var(--surface);color:var(--text)}.layers-btn img{width:40px;height:40px;border-radius:50%}.layers-btn span{display:none}.layers-btn .lb-phone{display:inline;position:static;padding:0;background:none;color:inherit;font-size:14px;font-weight:700}.lp-marks .poi-chip{width:auto;height:auto;min-height:44px;padding:8px 14px;justify-content:flex-start}.lp-marks .poi-chip .poi-chip-name{display:inline}.layers-panel,.map-sheet,.app.riding .map-sheet{position:fixed;inset:auto 0 0;transform:none;width:100%;max-height:82vh;max-height:82dvh;padding:0 16px calc(16px + var(--safe-bottom));border-radius:22px 22px 0 0;z-index:var(--z-sheet);overscroll-behavior:contain;animation:bs-up .3s var(--ease)}.layers-panel .bs-grip,.map-sheet .bs-grip{position:sticky;top:0;z-index:1;margin:0 -16px;background:var(--surface)}.map-wrap:has(>.layers-panel:not([hidden]),>.map-sheet:not([hidden])):before{content:"";position:fixed;inset:0;z-index:calc(var(--z-sheet) - 1);background:#0f172a52}.relief-on #layersOpen{display:inline-flex}.relief-on #layersPanel:not([hidden]){display:block}.relief-on .lp-base{display:none}@supports (backdrop-filter: blur(1px)){.layers-btn{background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(10px) saturate(1.2)}}}.ride-hud .drive-btn{width:44px;height:44px;border-radius:50%;font-size:19px}.ride-hud .rh-top .drive-btn{flex-shrink:0}.ride-hud .rh-top .drive-btn{border-color:transparent;background:transparent}.ride-hud .rh-top .drive-btn:hover{background:var(--surface)}.ride-hud .rh-top .drive-btn:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.ride-hud .rh-top #rhExit{margin-left:auto}@media(min-width:601px),(max-height:500px)and (min-width:560px){.ride-hud{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px}.ride-hud>:not(.rh-speed){grid-column:1 / -1}.ride-hud>.rh-head{grid-column:1;grid-row:1;margin-bottom:0}.ride-hud>.rh-top{grid-column:2;grid-row:1;margin-top:0}.ride-hud>:is(.rh-result,.rh-hazard,.rh-hazard-place,.rh-more,.rh-confirm){order:-1}}.rh-confirm{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.rh-confirm-title{margin:0 0 8px;font-size:15px;font-weight:800}.rh-confirm-actions{display:flex;gap:8px}.rh-confirm-actions button{flex:1 1 0;min-height:44px}.rh-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.rh-more[hidden],.rh-more .drive-btn[hidden]{display:none}.ride-hud .rh-more .drive-btn{width:auto;height:auto;min-height:60px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:14px;font-size:20px}.ride-hud .rh-more .drive-btn:after{content:attr(aria-label);font:600 11.5px/1.2 var(--font);text-align:center;overflow-wrap:anywhere}.rh-result .note{margin:6px 0 0}.rh-off{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;line-height:1.3;border-radius:10px}.rh-off[hidden]{display:none}.rh-off:before{content:"\26a0";font-size:14px}.rh-off:not([hidden])~.rh-voice{display:none}.rh-off:not([hidden])~.rh-next{display:none}.rh-stat b{font-size:clamp(20px,6.4vw,26px);line-height:1.15}.rh-stat{container-type:inline-size;min-width:0}.rh-stat b{font-size:min(clamp(20px,6.4vw,26px),calc(100cqi / (var(--len, 1) * .64)))}.rh-stat:last-child b{color:var(--accent-ink)}.map-fab{display:none}@media(max-width:900px){.map-wrap.riding .map-fab{display:grid;place-items:center;position:absolute;right:8px;bottom:calc(var(--ride-hud-space, 220px) + 70px);z-index:13;width:48px;height:48px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--text);box-shadow:var(--shadow);cursor:pointer}.map-wrap.riding .map-fab[aria-expanded=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.map-wrap.riding .map-fab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.map-wrap.riding .map-fab svg{width:22px;height:22px}.map-wrap.riding:not(.tools-open) .map-tools{display:none}.ride-hud .drive-btn{width:44px;height:44px;font-size:18px}.map-wrap.riding.tools-aside .map-fab{right:62px;bottom:calc(var(--ride-hud-space, 220px) + 8px)}.map-wrap.riding.tools-aside .map-tools{top:96px;right:64px;max-height:max(44px,calc(100% - 96px - var(--ride-hud-space, 220px) - 64px))}}.map-wrap.toasts-guarded .toast{transform:translate(-50%)}.map-wrap.toasts-guarded .toast:not([data-placed]){visibility:hidden}@media(max-height:500px){.rh-walk-profile{display:none}.rh-turn-main{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:baseline}.rh-turn-main span{margin-top:0}.rh-turn-main em{grid-column:1 / -1}.rh-turn:not([hidden])~.ride-hud .rh-next{display:none}.rh-turn{padding-top:5px;padding-bottom:5px}.ride-hud #rhHazardAhead{grid-template-columns:auto minmax(0,1fr) auto}.ride-hud #rhHazardAhead .hz-votes{grid-column:auto}.ride-hud #rhHazardAhead .hz-votes button{flex:none;padding:0 12px}.rh-stat b{font-size:min(22px,calc(100cqi / (var(--len, 1) * .64)))}}@media(max-height:700px){.ride-hud>#rhHazardAhead:not([hidden])~:is(.rh-row,.rh-row2){display:none}.rh-turn:not([hidden])~.ride-hud .rh-voice,.rh-turn:not([hidden])~.ride-hud>#rhHazardAhead:not([hidden])~.rh-next,.rh-turn:not([hidden])~.ride-hud[data-attention]>.rh-next{display:none}.ride-hud #rhHazardAhead{margin:2px 0;padding:4px 8px}.rh-bar{margin:3px 0}.ride-hud #rhHazardAhead:has(>.action-result>.err:not([hidden])){margin:0;padding-top:2px;padding-bottom:2px;row-gap:2px}.ride-hud #rhHazardAhead .action-result>.err{margin-top:0;line-height:1.25}.ride-hud:has(.rh-result>.note:not([hidden]))>:is(.rh-voice,.rh-heard){display:none}.ride-hud:has(>.rh-hazard:not([hidden]),>.rh-hazard-place:not([hidden]))>:is(.rh-head,.rh-top){display:none}.ride-hud>.rh-hazard:not([hidden]){margin-top:0;padding-top:0;border-top:0;max-height:calc(100vh - var(--topbar-h) - 80px);max-height:calc(100dvh - var(--topbar-h) - 80px);overflow-y:auto}}@media(max-height:700px),(min-width:901px)and (max-height:1199px){.ride-hud>.rh-hazard:not([hidden]){display:flex;flex-wrap:wrap;column-gap:8px}.ride-hud>.rh-hazard>*{flex:1 1 100%}.ride-hud .rh-hazard-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ride-hud .rh-hazard-adjust{flex:1 1 0;order:1;margin:0}.ride-hud .rh-hazard-adjust~.rh-hazard-cancel{flex:none;order:1;width:auto;padding:0 18px}.ride-hud .rh-hazard-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ride-hud .rh-hazard-type{min-height:48px;flex-direction:row;gap:8px;padding:6px 10px}.ride-hud .rh-hazard-ico{font-size:22px}}@media(max-height:700px),(max-width:600px)and (orientation:portrait){.ride-hud{--rh-pill-up: auto calc(100% - 27px) }.ride-hud :is(.rh-exit-result,.rh-hazard-result,#rhHazardAhead .action-result)>.ok{position:absolute;z-index:2;inset-block:var(--rh-pill-inset, 8px auto);left:12px;max-width:var(--rh-head-w, 55%);margin:0;padding:4px 12px;line-height:1.25;border-radius:999px;background-color:var(--surface);background-image:linear-gradient(var(--accent-soft),var(--accent-soft));box-shadow:var(--shadow-sm);pointer-events:none}}@media(max-width:600px)and (orientation:portrait){.ride-hud{--rh-pill-inset: var(--rh-pill-up)}.ride-hud :is(.rh-exit-result,.rh-hazard-result,#rhHazardAhead .action-result)>.ok{max-width:calc(100% - 124px)}.ride-hud>.rh-head{padding-right:100px}.ride-hud>.rh-speed{top:-14px;width:40px;height:40px}.ride-hud>.rh-top{margin-top:2px}.map-wrap.riding .map-fab,.map-wrap.riding.tools-aside .map-fab{right:62px;bottom:calc(var(--ride-hud-space, 220px) - 24px);z-index:31}.map-wrap.riding:has(.ride-hud>:is(.rh-hazard,.rh-hazard-place):not([hidden])) .map-fab{bottom:calc(var(--ride-hud-space, 220px) + 6px)}}@media(max-height:500px),(max-height:780px)and (max-width:600px)and (orientation:portrait){.ride-hud{padding-top:4px;padding-bottom:4px}.rh-head{margin-bottom:2px;line-height:1.2}.ride-hud>.rh-group{margin-top:2px}.ride-hud>.rh-bar{position:absolute;left:14px;right:14px;bottom:1px;height:3px;margin:0}.ride-hud #rhHazardAhead{margin:0}.ride-hud #rhHazardAhead .hz-ahead-ico{font-size:20px}.ride-hud>.rh-hazard{margin-top:4px;padding-top:4px}}@media(max-height:640px)and (max-width:600px)and (orientation:portrait){.ride-hud[data-attention] .rh-group:not([data-tone=warn])>.rg-result{display:none}}@media(max-height:400px){.ride-hud[data-attention] .rh-row2{display:none}}@media(max-height:500px)and (min-width:560px),(min-width:601px)and (max-width:900px){.ride-hud{grid-template-columns:minmax(0,1fr) auto auto}.ride-hud>.rh-speed{position:static;grid-column:2;grid-row:1;width:44px;height:44px;border-width:3px;box-shadow:none}.ride-hud>.rh-top{grid-column:3}.ride-hud>.rh-speed b{font-size:15px}.ride-hud>.rh-speed span{font-size:7px}}@media(max-height:900px),(max-width:900px){.ride-hud:has(#rhMoreSheet:not([hidden]),#rhExitSheet:not([hidden]),.rh-hazard:not([hidden]),.rh-hazard-place:not([hidden]),#rhGroupPeople:not([hidden])) :is(.rh-next,.rh-bar,.rh-row,.rh-row2,.rh-voice,.rh-heard,.rh-walk-profile,.rh-speed,#rhHazardAhead,.rg-chips,.rh-group:not(:has(#rhGroupPeople:not([hidden])))){display:none}}@media(max-height:500px)and (min-width:560px){.ride-hud{right:76px}}@media(max-height:500px)and (min-width:560px)and (max-width:900px){.map-wrap.riding .map-fab,.map-wrap.riding.tools-aside .map-fab{top:176px;right:8px;bottom:auto}.map-wrap.riding .map-dock{top:232px;left:auto;right:8px}.map-wrap.riding .layers-btn{padding:4px}.map-wrap.riding .layers-btn .lb-phone{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.map-wrap.riding .map-tools,.map-wrap.riding.tools-aside .map-tools{top:176px;right:64px;z-index:31;flex-direction:row;max-height:none;max-width:calc(100% - 140px);overflow:auto hidden}}@media(max-width:900px){#mapDock>#peaksCard,#mapDock>#poiDock,#mapDock>#hikeTools{display:none}}.rh-hazard{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.rh-hazard[hidden]{display:none}.rh-hazard-title{margin:0 0 4px;font-size:15px;font-weight:800}.rh-hazard .rh-hazard-hint{margin:0 0 8px;font-size:12.5px}.rh-hazard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}.rh-hazard-type{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface-2);color:var(--text);font:700 13px/1.2 var(--font);text-align:center;cursor:pointer;transition:transform .1s,border-color .15s,background .15s}.rh-hazard-type:hover{border-color:#c2410c}.rh-hazard-type:active{transform:scale(.97)}.rh-hazard-type:focus-visible,.rh-hazard-cancel:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.rh-hazard-type:disabled{opacity:.55;cursor:progress}.rh-hazard-ico{font-size:26px;line-height:1}.rh-hazard-name{overflow-wrap:anywhere}.rh-hazard-cancel{width:100%;min-height:44px}@media(prefers-reduced-motion:reduce){.rh-hazard-type:active{transform:none}}@media(pointer:coarse){.ride-poicats{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}.ride-poicats label{flex-direction:column;justify-content:center;gap:3px;min-height:58px;padding:6px 4px;border-radius:12px;font-size:12px;line-height:1.2;text-align:center;overflow-wrap:anywhere}.ride-poicats .poi-ico{font-size:20px;line-height:1}.map-overlay.top .seg label{display:inline-flex;align-items:center;min-height:44px}.planning-view button{min-height:44px}.map-overlay.top .icon-btn,.lp-close{width:44px;height:44px}.relief-camera summary{line-height:44px}.relief-camera label{min-height:44px}.relief-camera input[type=range]{height:44px;margin:0}}@media(max-height:400px)and (min-width:560px)and (max-width:660px){html.riding{--topbar-h: 0px}html.riding :is(.topbar,.mobile-nav){display:none}.ride-hud{--rh-pill-inset: var(--rh-pill-up)}}
