/* Map-first workflows. Keep controls anchored where the user entered the flow. */
.vertex-v3 #app#app .topbar { display:none!important; }
.vertex-v3 #app#app[data-finding] .topbar {
  display:flex!important; flex-direction:column!important; gap:16px!important;
  position:fixed!important; top:auto!important; bottom:calc(12px + env(safe-area-inset-bottom))!important;
  left:12px!important; right:12px!important; width:auto!important; max-width:460px!important;
  max-height:calc(100dvh - 40px)!important; padding:20px!important; box-sizing:border-box;
  overflow-y:auto; border:1px solid #ffffff25; border-radius:24px;
  background:#101c22; box-shadow:0 14px 60px #0009; z-index:65!important;
}
.vertex-v3 #app#app .find-sheet-head { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; }
.vertex-v3 #app .find-sheet-head small { color:#8dcfff; font-size:10px; font-weight:750; letter-spacing:.1em; }
.vertex-v3 #app .find-sheet-head h2 { margin:5px 0 0; color:#f1f6f5; font-size:22px; line-height:1.2; }
.vertex-v3 #app#app[data-finding] .find-cancel { display:block!important; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#ffffff10; color:#fff; font-size:24px; text-shadow:none; flex:none; }
.vertex-v3 #app#app[data-finding] .search-wrap { width:100%!important; max-width:none!important; min-width:0; }
.vertex-v3 #app#app[data-finding] .search { position:relative; width:100%!important; height:50px!important; box-sizing:border-box; margin:0!important; }
.vertex-v3 #app#app[data-finding] .search input { font-size:16px!important; }
.vertex-v3 #app#app[data-finding] .search-results {
  position:static!important; width:100%!important; max-height:32dvh!important; margin-top:10px!important;
  border:0!important; box-shadow:none!important; background:#ffffff06!important; border-radius:12px;
}
.vertex-v3 #app .search-result { min-height:56px; }
.vertex-v3 #app .search-empty { color:#b6c7ce; padding:16px; font-size:14px; line-height:1.5; }
.vertex-v3 #app#app[data-finding] .find-shortcuts { display:grid!important; grid-template-columns:1fr; width:100%; gap:8px; margin:0; overflow:visible; }
.vertex-v3 #app#app[data-finding] .find-shortcuts button {
  display:grid!important; grid-template-columns:34px 1fr; grid-template-rows:auto auto; gap:3px 12px;
  height:auto; min-height:68px; padding:12px; border-radius:14px; text-align:left; background:#ffffff07; box-shadow:none;
}
.vertex-v3 #app .find-shortcuts button>span { grid-row:1 / 3; align-self:center; font-size:24px; color:#8dcfff; text-align:center; }
.vertex-v3 #app .find-shortcuts b { font-size:15px; color:#f3f8f7; }
.vertex-v3 #app .find-shortcuts small { font-size:12px; color:#9eb0b8; font-weight:400; }
.vertex-v3 #app#app[data-finding]:has(.search-results:not([hidden])) .find-shortcuts { display:none!important; }
.vertex-v3 #app#app[data-finding] .place-card { display:none!important; }
.vertex-v3 #app#app[data-finding] .today-tour-pill,.vertex-v3 #app#app[data-finding] .layer-mode-pill,.vertex-v3 #app#app[data-finding] .community-map-bar { display:none!important; }
.vertex-v3 #app#app[data-finding] .map-tools,.vertex-v3 #app#app[data-finding] .find-bar,.vertex-v3 #app#app[data-finding] .place-badge { display:none!important; }
.vertex-v3 #app#app .record-fab { width:auto; min-width:94px; padding:0 14px; gap:9px; display:flex; justify-content:center; border-radius:27px; color:#f3f8f7; }
.vertex-v3 #app .record-fab b { font-size:14px; font-weight:700; }
.vertex-v3 #app .find-button { padding:0 16px; font-size:15px; gap:9px; }
.vertex-v3 #app .area-route-actions { display:flex; gap:8px; margin:12px 0; }
.vertex-v3 #app .area-route-actions button { flex:1; min-height:44px; border:1px solid #ffffff24; border-radius:12px; background:#ffffff0c; color:#ecf5f4; font:600 13px system-ui; }
.vertex-v3 #app .area-route-actions button:first-child { background:#e5f1ef; color:#102027; }
.vertex-v3 #app#app .routes-library-toolbar { display:flex; gap:8px; flex-wrap:wrap; }
.vertex-v3 #app .route-name-field { display:flex; flex-direction:column; gap:5px; color:#a8bdc5; font-size:12px; margin-bottom:12px; }
.vertex-v3 #app .route-name-field input { width:100%; box-sizing:border-box; height:42px; padding:0 12px; border:1px solid #ffffff24; border-radius:10px; background:#ffffff08; color:#fff; font:16px system-ui; }
.vertex-v3 #app .planner-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.vertex-v3 #app .planner-heading small { color:#8dcfff; font-size:10px; letter-spacing:.1em; }
.vertex-v3 #app #plannerLayers { min-height:40px; padding:0 14px; border:1px solid #ffffff24; border-radius:12px; background:#ffffff0c; color:#eff7f6; font:600 14px system-ui; }
.vertex-v3 #app#app .route-detail-actions { display:flex!important; flex-wrap:wrap; gap:8px!important; }
.vertex-v3 #app#app .route-detail-actions .route-go { width:100%; flex:1 0 100%; }
.vertex-v3 #app#app .route-detail-actions #routeDetailReplay { flex:1; min-width:130px; background:#ffffff14!important; }
.vertex-v3 #app#app .route-detail-actions #routeDetailLayers { flex:1; }
.vertex-v3 #app#app .route-detail-actions #routeDetailMore { flex:0 0 44px; min-width:44px; }
.vertex-v3 #app#app #routeDetail {
  display:flex!important; flex-direction:column!important; max-height:min(60dvh,520px)!important;
  overflow:hidden!important; padding:16px!important;
}
.vertex-v3 #app#app #routeDetail[hidden] { display:none!important; }
.vertex-v3 #app#app #routeDetail .route-detail-head { position:static!important; flex:none; margin:0 0 10px!important; padding:0!important; background:none!important; }
.vertex-v3 #app .route-detail-content { min-height:0; overflow:auto; overscroll-behavior:contain; flex:1 1 auto; }
.vertex-v3 #app#app #routeDetail .route-detail-stats { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; }
.vertex-v3 #app#app #routeDetail .route-detail-stats span:nth-child(n+4) { display:none!important; }
.vertex-v3 #app#app #routeDetail .route-detail-actions { flex:none; margin:12px 0 0!important; padding-top:12px; border-top:1px solid #ffffff18; }
.vertex-v3 #app#app .route-detail-actions #routeDetailReplay,.vertex-v3 #app#app .route-detail-actions #routeDetailLayers,.vertex-v3 #app#app .route-detail-actions #routeDetailMore { display:flex!important; align-items:center; justify-content:center; order:1; }
.vertex-v3 #app .route-choice-actions { display:flex; width:100%; flex:1 0 100%; gap:8px; }
.vertex-v3 #app#app .route-choice-actions .route-go { flex:1 1 0; width:auto; min-width:0; padding:0 10px!important; }
.vertex-v3 #app#app #routeDetailMap { display:none!important; }
.vertex-v3 #app#app .route-detail-actions #routeDetailSaveCommunity:not([hidden]) { flex:0 0 108px; padding:0 8px!important; font-size:12px!important; }
.vertex-v3 #app#app #routeDetail .route-community-info:not([hidden]) { display:block!important; }
.vertex-v3 #app#app #routeDetail .route-detail-menu:not([hidden]) { flex:none; max-height:20dvh; overflow:auto; }
.vertex-v3 #app#app[data-section="routes"] #alpsLibrary { border-top:0; padding-top:0; margin-bottom:16px; }
.vertex-v3 #app .record-choice small { display:block; font-size:12px; color:#9db2ba; line-height:1.4; }
.vertex-v3 #app .record-explainer { color:#9db2ba; font-size:13px; line-height:1.5; margin:12px 0; }
.vertex-v3 #app#app #replayExit { width:auto!important; min-width:70px; padding:0 10px!important; font-size:14px!important; white-space:nowrap; }
.vertex-v3 #app#app .replay-controls { grid-template-columns:70px 44px minmax(0,1fr) 44px!important; gap:8px!important; padding:14px!important; }
.vertex-v3 #app #replayTitle { grid-column:1 / -1; color:#eaf3f1; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vertex-v3 #app #replayExit { grid-column:1; grid-row:2; }
.vertex-v3 #app #replayPlayPause { grid-column:2; grid-row:2; }
.vertex-v3 #app #replayProgress { grid-column:3; grid-row:2; min-width:0; }
.vertex-v3 #app #replaySpeed { grid-column:4; grid-row:2; }
.vertex-v3 #app#app #replayStats { position:static!important; grid-column:1 / -1; font-size:12px; color:#a5bbc3; }
.vertex-v3 #app .record-change { min-height:40px; border:1px solid #ffffff20; border-radius:12px; padding:0 14px; background:#ffffff08; color:#c1d6de; font:600 13px system-ui; }
.vertex-v3 #app { --workflow-tour-bottom:max(calc(var(--place-card-current-h,0px) + 132px + env(safe-area-inset-bottom)),calc(var(--legend-floor,74px) + var(--legend-terrain,0px) + var(--legend-sun,0px) + var(--legend-wind,0px) + var(--legend-best,0px) + var(--legend-powder,0px) + 8px)); }
.vertex-v3 #app#app .today-tour-pill { bottom:var(--workflow-tour-bottom); }
.vertex-v3 #app#app .today-tour-name b { max-width:42vw; }
.vertex-v3 #app#app .today-tour-start { padding:0 12px; }
.vertex-v3 #app#app:has(.today-tour-pill:not([hidden])) .map-route-chip { display:none!important; }
.vertex-v3 #app#app:has(.today-tour-pill:not([hidden])) .layer-mode-pill { bottom:calc(var(--workflow-tour-bottom) + 64px); }
.vertex-v3 #app#app:has(#recordSheet:not([hidden])) .map-route-chip { display:none!important; }
.vertex-v3 #app#app:has(#replayControls:not([hidden])) #communityPreviewBar { display:none!important; }
.vertex-v3 #app#app[data-section="routes"][data-routes-view="discover"] #communityView {
  position:fixed!important; inset:auto 12px calc(12px + env(safe-area-inset-bottom))!important;
  width:auto!important; max-width:460px!important; height:auto!important; max-height:66dvh!important;
  padding:16px!important; border:1px solid #ffffff25!important; border-radius:24px!important;
  background:#101c22!important; box-shadow:0 14px 60px #0009; overflow:auto!important;
}
.vertex-v3 #app#app[data-section="routes"] #routesDiscoverNav {
  position:sticky!important; top:-16px!important; z-index:3; margin:-16px -16px 12px!important;
  padding:12px!important; background:#101c22!important; display:grid!important; grid-template-columns:auto 1fr auto!important; gap:8px;
}
.vertex-v3 #app #routesDiscoverNav strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; font-size:15px; }
.vertex-v3 #app #tracksListPlan { min-height:40px; padding:0 12px; border:1px solid #ffffff24; border-radius:12px; background:#ffffff0c; color:#edf6f5; font:600 13px system-ui; }
@media(min-width:760px) {
  .vertex-v3 #app#app[data-section="routes"][data-routes-view="discover"] #communityView { width:440px!important; right:auto!important; left:20px!important; }
}
.vertex-v3 #app#app[data-layer-context] #routePlanner,.vertex-v3 #app#app[data-layer-context] #routeDetail { visibility:hidden!important; pointer-events:none!important; }
.vertex-v3 #app#app #routePlanner.sheet-collapsed .route-name-field { display:none; }
.vertex-v3 #app button:focus-visible,.vertex-v3 #app input:focus-visible { outline:2px solid #8dcfff; outline-offset:3px; }
@media(min-width:760px) {
  .vertex-v3 #app .find-bar { display:flex!important; left:50%; right:auto; transform:translateX(-50%); width:440px; max-width:calc(100vw - 40px); }
  .vertex-v3 #app#app[data-finding] .topbar { left:50%!important; right:auto!important; transform:translateX(-50%); width:460px!important; }
  .vertex-v3 #app#app[data-finding] .find-bar { display:none!important; }
  .vertex-v3 #app#app #routeDetail { top:auto!important; left:20px!important; right:auto!important; bottom:20px!important; width:440px!important; }
}

.vertex-v3 #app#app[data-finding] .find-shortcuts.search-failed { display:grid!important; }

/* One area/search dock, four map controls, and contextual tools within thumb reach. */
.vertex-v3 #app#app .map-tools,.vertex-v3 #app#app .place-badge { display:none!important; }
.vertex-v3 #app#app .map-corner {
  display:flex!important; top:max(12px,env(safe-area-inset-top))!important; right:12px!important;
  left:auto!important; bottom:auto!important; width:44px!important; border-radius:22px!important; z-index:41!important;
}
.vertex-v3 #app#app .map-corner button { display:grid!important; width:44px!important; height:44px!important; flex:none; border:0!important; border-radius:0!important; background:none!important; }
.vertex-v3 #app#app .map-corner button+button { border-top:1px solid #ffffff12!important; }
.vertex-v3 #app#app .map-corner #compassButton span { display:grid; place-items:center; }
.vertex-v3 #app#app .map-corner .ui-icon { width:20px; height:20px; }
.vertex-v3 #app#app[data-section="you"] .map-corner,.vertex-v3 #app#app:has(#weatherView:not([hidden])) .map-corner { display:none!important; }
.vertex-v3 #app#app .find-bar {
  flex-direction:column!important; gap:7px!important; padding:8px!important; box-sizing:border-box;
  border:1px solid #ffffff24; border-radius:24px; background:#101c22f2; box-shadow:0 10px 35px #0007;
}
.vertex-v3 #app .dock-area { display:flex; width:100%; border-radius:17px; background:#eaf3f1; color:#12242b; }
.vertex-v3 #app#app .find-button { height:62px; padding:0 13px; border-radius:17px 0 0 17px; background:none; box-shadow:none; text-align:left; }
.vertex-v3 #app .dock-area-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.vertex-v3 #app .dock-area-copy small { font-size:11px; color:#566b73; font-weight:550; }
.vertex-v3 #app .dock-area-copy b { font-size:16px; font-weight:750; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vertex-v3 #app .dock-area-info { display:grid; place-items:center; flex:0 0 44px; margin:9px 0; padding:0; border:0; border-left:1px solid #12242b24; background:none; color:#24404c; }
.vertex-v3 #app .dock-area-info .ui-icon { width:23px; height:23px; }
.vertex-v3 #app .find-area-info { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:42px; margin:-8px 0; padding:0 3px; border:0; background:none; color:#b2c8d2; font:13px system-ui; text-align:left; }
.vertex-v3 #app#app[data-finding]:has(#searchResults:not([hidden])) .find-area-info { display:none; }
.vertex-v3 #app#app .place-card { bottom:calc(var(--map-dock-height,130px) + 20px + env(safe-area-inset-bottom))!important; max-height:54dvh!important; }
.vertex-v3 #app#app .place-card.collapsed { display:none!important; }
.vertex-v3 #app#app .place-card-title { grid-template-columns:minmax(0,1fr) 36px 36px!important; }
.vertex-v3 #app .place-change-area { grid-column:2!important; grid-row:1!important; align-self:center; width:36px; height:36px; border:1px solid #ffffff18; border-radius:50%; background:#ffffff08; color:#eaf4f2; font-size:23px; }
.vertex-v3 #app#app .place-card .favorite-place { grid-column:3!important; }
.vertex-v3 #app .map-context-stack {
  position:fixed; z-index:40; left:12px; right:12px; bottom:var(--map-surface-clearance,150px);
  display:flex; flex-direction:column; align-items:stretch; gap:8px;
  max-height:min(28dvh,max(44px,calc(100dvh - var(--map-surface-clearance,150px) - 210px)));
  overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; pointer-events:none;
}
.vertex-v3 #app#app #mapContextStack>* {
  position:relative!important; inset:auto!important; transform:none!important; margin:0!important;
  width:100%!important; max-width:none!important; box-sizing:border-box; flex:none; pointer-events:auto;
}
.vertex-v3 #app#app #mapContextStack .community-map-bar { padding:0!important; border:0!important; box-shadow:none!important; background:none!important; gap:4px; }
.vertex-v3 #app#app #mapContextStack .community-map-filters { overflow-x:auto!important; width:100%; scrollbar-width:none; gap:5px; }
.vertex-v3 #app#app #mapContextStack .community-map-filters button { min-height:40px!important; padding:0 10px!important; font-size:11px!important; }
.vertex-v3 #app#app #mapContextStack .community-map-filters .tracks-list-chip { margin-left:auto; }
.vertex-v3 #app#app #mapContextStack .avalanche-chip { min-height:46px!important; justify-content:flex-start; padding:6px 12px; border-radius:16px; }
.vertex-v3 #app#app #mapContextStack .map-route-chip { justify-content:flex-start; border-radius:16px; }
.vertex-v3 #app#app #mapContextStack .today-tour-pill { border-radius:16px; }
.vertex-v3 #app#app #mapContextStack .today-tour-name { flex:1; min-width:0; }
.vertex-v3 #app#app #mapContextStack .today-tour-name b { max-width:none; width:100%; font-size:14px; }
.vertex-v3 #app#app #mapContextStack .layer-mode-pill { justify-content:space-between; border-radius:16px; min-height:42px; }
.vertex-v3 #app#app #mapContextStack .sun-panel { padding:10px 12px!important; border-radius:16px!important; }
.vertex-v3 #app#app #mapContextStack .slope-legend,.vertex-v3 #app#app #mapContextStack .aspect-legend { left:auto!important; width:100%!important; }
.vertex-v3 #app#app #mapContextStack .wind-load-legend { min-height:40px; border-radius:16px; }
.vertex-v3 #app#app[data-finding] .map-context-stack,.vertex-v3 #app#app:has(#layerPanel:not([hidden]),#recordSheet:not([hidden]),#youSheet:not([hidden]),#weatherView:not([hidden]),#communityView:not([hidden]),#avalancheSheet:not([hidden]),#todayBriefSheet:not([hidden])) .map-context-stack { display:none!important; }
.vertex-v3 #app#app:has(#routePlanner:not([hidden]),#routeDetail:not([hidden]),#replayControls:not([hidden]),#activeSession:not([hidden])) .map-context-action,
.vertex-v3 #app#app[data-place-docked] .map-context-action { display:none!important; }
.vertex-v3 #app#app .status { top:auto!important; bottom:calc(var(--map-surface-clearance,150px) + var(--map-context-height,0px) + 10px)!important; max-width:calc(100vw - 32px); }
@media(min-width:760px) {
  .vertex-v3 #app .map-context-stack { left:50%; right:auto; transform:translateX(-50%); width:440px; }
  .vertex-v3 #app#app .place-card { left:50%!important; right:auto!important; transform:translateX(-50%); width:440px!important; }
}
.vertex-v3 #app#app .place-card .area-route-actions { display:none; }
.vertex-v3 #app#app .mountain-primary-actions #todayBriefButton { display:flex!important; width:100%!important; }
.vertex-v3 #app#app[data-layer-context="replay"] #replayControls { visibility:hidden!important; pointer-events:none!important; }

.vertex-v3 #app#app #plannerLayers,.vertex-v3 #app#app .route-detail-actions #routeDetailLayers { display:none!important; }
.vertex-v3 #app#app .place-card { transform:translateY(var(--place-drag-y,0px))!important; }
@media(min-width:760px) {
  .vertex-v3 #app#app .place-card { transform:translate(-50%,var(--place-drag-y,0px))!important; }
}
.vertex-v3 #app#app .status.hide { visibility:hidden; pointer-events:none; }
/* Saved routes and the account menu open as the same bottom workspace. */
.vertex-v3 #app#app #exploreSheet,.vertex-v3 #app#app #youSheet {
  position:fixed!important; inset:auto 12px calc(12px + env(safe-area-inset-bottom))!important;
  width:auto!important; max-width:460px!important; height:auto!important; max-height:66dvh!important;
  padding:16px!important; border:1px solid #ffffff25!important; border-radius:24px!important;
  background:#101c22!important; box-shadow:0 14px 60px #0009; overflow:auto!important;
}
.vertex-v3 #app#app[data-section="you"][data-you-view="home"] .map-corner { display:flex!important; }
.vertex-v3 #app#app:has(#exploreSheet:not([hidden]),#activitiesSheet:not([hidden]),#activityDetail:not([hidden]),#compareSheet:not([hidden])) .map-context-stack { display:none!important; }
.vertex-v3 #app#app[data-layer-context="record"] #recordSheet,
.vertex-v3 #app#app[data-layer-context="library"] #exploreSheet,
.vertex-v3 #app#app[data-layer-context="you"] #youSheet,
.vertex-v3 #app#app[data-layer-context="tours"] #communityView { visibility:hidden!important; pointer-events:none!important; }
@media(min-width:760px) {
  .vertex-v3 #app#app #exploreSheet,.vertex-v3 #app#app #youSheet { left:50%!important; right:auto!important; transform:translateX(-50%); width:440px!important; }
}
/* Overlapping tracks are chosen in the same thumb-reachable workspace. */
.vertex-v3 #app#app .community-route-chooser-popup {
  position:fixed!important; inset:auto 12px calc(var(--map-dock-height,130px) + 20px + env(safe-area-inset-bottom))!important;
  transform:none!important; max-width:none!important; width:auto!important; z-index:110!important;
}
.vertex-v3 #app .community-route-chooser-popup .maplibregl-popup-tip { display:none; }
.vertex-v3 #app#app .community-route-chooser-popup .maplibregl-popup-content { width:100%; box-sizing:border-box; padding:16px!important; border-radius:22px!important; max-height:38dvh; overflow:auto; }
.vertex-v3 #app .community-route-chooser>small { padding:0 44px 12px 0; font-size:13px; }
.vertex-v3 #app#app .community-route-chooser .route-chooser-close { position:absolute; top:10px; right:10px; width:40px; min-height:40px; display:grid; place-items:center; padding:0; border-radius:50%; font-size:24px; }
.vertex-v3 #app#app:has(.community-route-chooser-popup) .map-context-stack { display:none!important; }
@media(min-width:760px) {
  .vertex-v3 #app#app .community-route-chooser-popup { left:50%!important; right:auto!important; width:440px!important; transform:translateX(-50%)!important; }
}

.vertex-v3 #app#app .routes-library-toolbar { flex-wrap:nowrap; gap:6px; }
.vertex-v3 #app#app .routes-library-toolbar button { width:auto!important; min-height:44px; padding:0 10px!important; font-size:13px!important; }
.vertex-v3 #app#app .routes-library-toolbar #routesPlan { flex:1; min-width:0; }
.vertex-v3 #app#app .routes-library-toolbar #routeAddButton,.vertex-v3 #app#app .routes-library-toolbar #routeFilterButton { flex:none; background:#ffffff08!important; color:#e7f2ef!important; }
/* Area details align with the dock rather than becoming a separate floating card. */
.vertex-v3 #app#app #placeCard { left:12px!important; right:12px!important; width:auto!important; max-width:none!important; box-sizing:border-box; }
@media(min-width:760px) {
  .vertex-v3 #app#app #placeCard { left:50%!important; right:auto!important; width:440px!important; max-width:440px!important; }
}
.vertex-v3 #app#app:has(#youSheet:not([hidden]),#exploreSheet:not([hidden]),#activitiesSheet:not([hidden]),#activityDetail:not([hidden]),#routeDetail:not([hidden]),#communityView:not([hidden]),#weatherView:not([hidden])) #activeSession { display:none!important; }

/* Compact search and clearly labelled map actions. */
.vertex-v3 #app#app .map-corner { background:none!important; border:0!important; box-shadow:none!important; backdrop-filter:none!important; overflow:visible!important; gap:10px; }
.vertex-v3 #app#app .map-corner #youButton { border-radius:50%!important; background:#101c22ed!important; border:1px solid #ffffff25!important; box-shadow:0 4px 18px #0006; }
.vertex-v3 #app .map-navigation-oval { overflow:hidden; border:1px solid #ffffff25; border-radius:23px; background:#101c22ed; box-shadow:0 4px 18px #0006; backdrop-filter:blur(14px); }
.vertex-v3 #app#app .map-corner .map-navigation-oval button+button { border-top:1px solid #ffffff14!important; }
.vertex-v3 #app#app .find-bar { padding:0!important; gap:0!important; border:0!important; border-radius:22px; background:none!important; box-shadow:none!important; }
.vertex-v3 #app .dock-area { position:relative; height:44px; background:none; color:#edf5f3; border-radius:22px; }
.vertex-v3 #app .dock-area::before { content:''; position:absolute; inset:6.5px 0; border:1px solid #ffffff2e; border-radius:18px; background:#101c22f2; box-shadow:0 5px 20px #0006; pointer-events:none; }
.vertex-v3 #app#app .find-button { position:relative; height:44px; padding:0 14px; color:#edf5f3!important; border-radius:22px 0 0 22px; }
.vertex-v3 #app .dock-area-copy small { display:none; }
.vertex-v3 #app .dock-area-copy b { font-size:14px; font-weight:600; }
.vertex-v3 #app .dock-area-info { position:relative; height:44px; margin:0; flex:0 0 44px; border:0; color:#b8cfd8; }
.vertex-v3 #app .dock-area-info::before { content:''; position:absolute; left:0; top:12px; bottom:12px; width:1px; background:#ffffff20; }
.vertex-v3 #app .dock-area-info .ui-icon { width:20px; height:20px; }
.vertex-v3 #app .map-quick-actions { position:fixed; z-index:42; right:12px; bottom:calc(var(--map-dock-height,44px) + 24px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:10px; }
.vertex-v3 #app .map-quick-actions button { width:52px; height:52px; padding:3px 0 4px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; border:1px solid #ffffff2c; border-radius:50%; background:#101c22f2; box-shadow:0 6px 22px #0006; color:#ecf5f3; cursor:pointer; }
.vertex-v3 #app .map-quick-actions .ui-icon { width:23px; height:23px; }
.vertex-v3 #app .map-quick-actions button>span { font-size:25px; line-height:25px; color:#91d3fc; }
.vertex-v3 #app .map-quick-actions b { font-size:10px; font-weight:650; line-height:12px; }
.vertex-v3 #app#app #recordFab { position:fixed; z-index:42; left:50%; transform:translateX(-50%); bottom:calc(var(--map-dock-height,44px) + 24px + env(safe-area-inset-bottom)); width:56px; min-width:0; height:56px; padding:6px 0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid #f87882; border-radius:50%; background:#cd3543; box-shadow:0 5px 22px #0007; }
.vertex-v3 #app#app #recordFab>span { width:13px; height:13px; background:#fff; }
.vertex-v3 #app#app #recordFab b { font-size:10px; line-height:12px; color:#fff; }
.vertex-v3 #app#app:not([data-section="explore"]) .home-map-actions,
.vertex-v3 #app#app[data-finding] .home-map-actions,
.vertex-v3 #app#app:has(#weatherView:not([hidden]),#communityView:not([hidden]),#routeDetail:not([hidden]),#routePlanner:not([hidden]),#replayControls:not([hidden]),#activeSession:not([hidden]),#recordSheet:not([hidden]),#layerPanel:not([hidden]),#avalancheSheet:not([hidden]),#todayBriefSheet:not([hidden]),#compareSheet:not([hidden]),#exploreSheet:not([hidden]),#youSheet:not([hidden]),#activitiesSheet:not([hidden]),#activityDetail:not([hidden]),.community-route-chooser-popup) .home-map-actions { display:none!important; }
.vertex-v3 #app[data-home-actions] .map-context-stack { right:80px; }
.vertex-v3 #app#app #mapContextStack .community-map-filters .tracks-list-chip { display:flex!important; align-items:center; justify-content:flex-start; gap:7px; width:100%!important; min-height:36px!important; height:auto!important; padding:7px 12px!important; border-radius:18px!important; font-size:12px!important; }
.vertex-v3 #app #communityMapBack>span { color:#a6bbc3!important; font-size:11px; }
.vertex-v3 #app #communityMapBack>b { padding:0!important; background:none!important; font-size:12px!important; font-weight:650; }
.vertex-v3 #app #communityMapBack>em { font:11px system-ui; color:#a6bbc3; }
.vertex-v3 #app #communityMapBack>i { margin-left:auto; font-style:normal; font-size:18px; }
.vertex-v3 #app .tour-type-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:12px 0 8px; }
.vertex-v3 #app .tour-type-heading b { color:#dbeae6; font-size:13px; }
.vertex-v3 #app .tour-type-heading span { color:#9bb0b9; font-size:11px; }
.vertex-v3 #app#app #alpsLibraryFilters { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; overflow:visible; margin-bottom:12px; }
.vertex-v3 #app#app #alpsLibraryFilters button { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:3px; height:auto; min-height:58px; padding:10px 12px!important; border-radius:13px; text-align:left; background:#ffffff08; color:#e7f3ef; border:1px solid #ffffff20; }
.vertex-v3 #app #alpsLibraryFilters b { font-size:13px; font-weight:650; }
.vertex-v3 #app #alpsLibraryFilters small { font-size:10px; font-weight:400; line-height:1.4; color:#9eb4bd; }
.vertex-v3 #app#app #alpsLibraryFilters button.active { background:#1f3946; color:#e4f5ff; border-color:#8dcfff80; }
.vertex-v3 #app .tour-conditions-preview { flex:none; width:36px; height:36px; margin-right:10px; border-radius:10px; background:linear-gradient(135deg,#5fb97c 0 33%,#d3a531 33% 66%,#d55955 66%); }
.vertex-v3 #app #tracksTodayChip>span:nth-child(2)>small { display:block; max-width:240px; font-size:11px; line-height:1.4; color:#9ab0b9; }
@media(min-width:760px) {
  .vertex-v3 #app[data-home-actions] .map-context-stack { right:auto; }
}
.vertex-v3 #app#app #alpsLibraryFilters button { height:auto!important; min-height:58px!important; border-radius:13px!important; background:#ffffff08!important; color:#e7f3ef!important; border:1px solid #ffffff20!important; }
.vertex-v3 #app#app #alpsLibraryFilters button.active { background:#1f3946!important; color:#e4f5ff!important; border-color:#8dcfff80!important; }
.vertex-v3 #app .map-quick-actions b,.vertex-v3 #app#app #recordFab b { font-size:11px; }
.vertex-v3 #app #communityMapBack>em::after { content:' routes'; }
/* Attribution opens in the lower-left space rather than underneath recording controls. */
.vertex-v3 #app#app #map .maplibregl-ctrl-bottom-right { left:12px!important; right:auto!important; bottom:calc(var(--map-dock-height,44px) + 88px + env(safe-area-inset-bottom))!important; }
.vertex-v3 #app #map .maplibregl-ctrl-attrib { max-width:calc(100vw - 96px); }
.vertex-v3 #app#app:has(#map .maplibregl-compact-show) .map-context-stack { visibility:hidden!important; pointer-events:none!important; }
/* Area details provide their own contextual route actions; floating actions stay on the open map. */
.vertex-v3 #app#app:has(#placeCard:not(.collapsed)) .home-map-actions { display:none!important; }
.vertex-v3 #app#app .place-card .area-route-actions { display:flex!important; }
.vertex-v3 #app#app:has(.community-route-chooser-popup) .place-card { visibility:hidden!important; pointer-events:none!important; }

/* A larger search pill and a calm, labelled activity action. */
.vertex-v3 #app .dock-area { height:52px; }
.vertex-v3 #app .dock-area::before { inset:3px 0; border-radius:24px; }
.vertex-v3 #app#app .find-button,.vertex-v3 #app .dock-area-info { height:52px; }
.vertex-v3 #app .dock-area-copy b { font-size:15px; }
.vertex-v3 #app .dock-area-info[aria-expanded="true"] .ui-icon { transform:rotate(180deg); }
.vertex-v3 #app#app #recordFab { width:154px; height:46px; padding:0 18px; border-radius:23px; border:1px solid #f0d98b; background:#dfc775; gap:0; }
.vertex-v3 #app#app #recordFab b { color:#263037; font-size:14px; font-weight:700; white-space:nowrap; }
.vertex-v3 #app#app #communityMapBar { display:none!important; }
/* The regional bulletin stays available without taking up the bottom map workspace. */
.vertex-v3 #app#app #avalancheChip { position:fixed!important; top:max(12px,env(safe-area-inset-top))!important; left:12px!important; right:auto!important; bottom:auto!important; width:44px!important; min-width:44px!important; height:44px!important; min-height:44px!important; padding:0!important; margin:0!important; transform:none!important; border:1px solid #ffffff25!important; border-radius:50%!important; background:#101c22ed!important; box-shadow:0 4px 18px #0006!important; color:#bfd1d9!important; display:grid!important; place-items:center; z-index:41!important; }
.vertex-v3 #app#app #avalancheChip>*:not(.avalanche-status-symbol) { display:none!important; }
.vertex-v3 #app .avalanche-status-symbol { display:grid; place-items:center; }
.vertex-v3 #app .avalanche-status-symbol .ui-icon { width:23px; height:23px; stroke-width:1.8; }
.vertex-v3 #app#app #avalancheChip[data-indicator="warning"] { color:#f0bd62!important; border-color:#f0bd6266!important; }
.vertex-v3 #app#app #avalancheChip[data-indicator="warning"][data-danger-level="4"],.vertex-v3 #app#app #avalancheChip[data-indicator="warning"][data-danger-level="5"] { color:#fa948b!important; border-color:#fa948b66!important; }
.vertex-v3 #app#app #avalancheChip[hidden],.vertex-v3 #app#app[data-section="you"] #avalancheChip,
.vertex-v3 #app#app:has(#avalancheSheet:not([hidden]),#layerPanel:not([hidden]),#weatherView:not([hidden]),#recordSheet:not([hidden])) #avalancheChip { display:none!important; }
.vertex-v3 #app#app:has(#avalancheSheet:not([hidden])) #routePlanner,
.vertex-v3 #app#app:has(#avalancheSheet:not([hidden])) #routeDetail,
.vertex-v3 #app#app:has(#avalancheSheet:not([hidden])) #replayControls,
.vertex-v3 #app#app:has(#avalancheSheet:not([hidden])) #placeCard,
.vertex-v3 #app#app:has(#avalancheSheet:not([hidden])) #communityView { visibility:hidden!important; pointer-events:none!important; }
.vertex-v3 #app#app:has(#avalancheSheet:not([hidden])) #activeSession { visibility:hidden!important; pointer-events:none!important; }
