/*
 * Vertex layout authority v3
 * One responsive shell. Legacy component styling remains in styles.css,* while this file exclusively owns hierarchy,positioning and responsive layout.
 */

.vertex-v3 #app{
  --v3-nav-mobile:62px;
  --v3-safe-bottom:env(safe-area-inset-bottom);
  --v3-mobile-top:max(10px,env(safe-area-inset-top));
  --v3-desktop-rail:76px;
  --v3-desktop-left:108px;
  --v3-panel-w:420px;
  --v3-gap:12px;
}/* ---------- Global navigation ownership ---------- */
.vertex-v3 #app .bottom-nav{
  position:fixed!important;
  z-index:110!important;
  margin:0!important;
  transform:none!important;
}.vertex-v3 #app .bottom-nav button{
  cursor:pointer;
}.vertex-v3 #app .bottom-nav button.selected{
  color:#fff!important;
}.vertex-v3 #app .topbar{
  z-index:42!important;
}.vertex-v3 #app .advanced-map-tool{
  display:none!important;
}.vertex-v3 #app .map-tools{
  z-index:41!important;
}.vertex-v3 #app .place-card{
  z-index:35!important;
}.vertex-v3 #app .mountain-primary-actions{
  margin-top:8px;
}.vertex-v3 #app .contextual-compass{
  transition:opacity .15s ease;
}/* ---------- Primary destination surfaces ---------- */
.vertex-v3 #app .explore-sheet,.vertex-v3 #app .you-sheet,.vertex-v3 #app .activities-sheet,.vertex-v3 #app .activity-detail,.vertex-v3 #app .route-detail,.vertex-v3 #app .compare-sheet{
  z-index:70!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}.vertex-v3 #app .community-view{
  z-index:68!important;
}.vertex-v3 #app .weather-view{
  z-index:65!important;
}.vertex-v3 #app .record-sheet,.vertex-v3 #app .panel,.vertex-v3 #app .avalanche-sheet{
  z-index:90!important;
}/* Primary destinations are not draggable sheets. */
.vertex-v3 #app .explore-sheet>.sheet-grabber,.vertex-v3 #app .activities-sheet>.sheet-grabber,.vertex-v3 #app .activity-detail>.sheet-grabber,.vertex-v3 #app .route-detail>.sheet-grabber,.vertex-v3 #app .compare-sheet>.sheet-grabber{
  display:none!important;
}/* ---------- Routes ---------- */
.vertex-v3 #app .routes-sheet .activities-head{
  margin-bottom:10px!important;
}.vertex-v3 #app .routes-mode-tabs{
  margin-bottom:14px!important;
}.vertex-v3 #app .routes-library-toolbar{
  margin-bottom:10px!important;
}.vertex-v3 #app .route-library-filters{
  position:static!important;
  top:auto!important;
  margin:0 0 10px!important;
  padding:0!important;
  background:transparent!important;
}.vertex-v3 #app .route-row{
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  background:transparent!important;
  border-top:0!important;
  border-bottom:1px solid #ffffff10!important;
}.vertex-v3 #app .route-row .route-map-toggle{
  border-color:#ffffff16!important;
}/* ---------- You ---------- */
.vertex-v3 #app .you-sheet{
  overflow:auto!important;
}.vertex-v3 #app .you-menu>button{
  border-radius:0!important;
  background:transparent!important;
}/* ---------- Community contextual use ---------- */
.vertex-v3 #app[data-section="routes"] .community-head,.vertex-v3 #app[data-section="routes"] .community-tabs,.vertex-v3 #app[data-section="routes"] .community-library-summary,.vertex-v3 #app[data-section="routes"] #communityPeople,.vertex-v3 #app[data-section="routes"] #communityProfileView{
  display:none!important;
}.vertex-v3 #app[data-section="routes"] #routesDiscoverNav{
  display:grid!important;
}.vertex-v3 #app[data-section="routes"] #communityRoutes{
  display:block!important;
}.vertex-v3 #app[data-section="you"] .community-head,.vertex-v3 #app[data-section="you"] .community-tabs,.vertex-v3 #app[data-section="you"] #communityRoutes,.vertex-v3 #app[data-section="you"] #routesDiscoverNav{
  display:none!important;
}.vertex-v3 #app[data-section="you"] #peopleContextNav{
  display:grid!important;
}.vertex-v3 #app[data-section="you"] #communityPeople:not([hidden]){
  display:block!important;
}.vertex-v3 #app .people-context-nav{
  grid-template-columns:auto 1fr auto!important;
  align-items:center;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}.vertex-v3 #app .people-context-nav strong{
  text-align:center;
  font-size:13px;
}.vertex-v3 #app .people-context-nav button{
  min-height:36px!important;
  padding:0 10px!important;
  background:transparent!important;
  color:#c4cecb!important;
}.vertex-v3 #app .people-context-nav .context-back{
  text-align:left;
}.vertex-v3 #app .people-context-nav .context-profile-shortcut{
  text-align:right;
  color:#fff!important;
}/* ---------- Weather ---------- */
.vertex-v3 #app .weather-head{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 40px!important;
  align-items:start!important;
  gap:9px!important;
}.vertex-v3 #app .weather-head>div{
  min-width:0;
}.vertex-v3 #app .weather-head .weather-back{
  width:36px!important;
  height:36px!important;
  border:0!important;
  border-radius:50%!important;
  background:#ffffff0b!important;
  font-size:24px!important;
}.vertex-v3 #app .weather-tabs{
  z-index:105!important;
}.vertex-v3 #app .weather-summary{
  display:none!important;
}/* ---------- Details ---------- */
.vertex-v3 #app .route-detail-actions{
  grid-template-columns:minmax(0,1fr) auto auto!important;
}.vertex-v3 #app .activity-actions{
  grid-template-columns:minmax(0,1fr) auto auto!important;
}.vertex-v3 #app .route-detail-menu{
  grid-template-columns:1fr!important;
}.vertex-v3 #app .community-route-card,.vertex-v3 #app .community-person-card{
  box-shadow:none!important;
}/* ---------- Tool sheets ---------- */
.vertex-v3 #app .panel{
  overflow:auto;
}.vertex-v3 #app .layer-more-group summary{
  cursor:pointer;
}.vertex-v3 #app .record-sheet{
  overflow:auto;
}.vertex-v3 #app .route-planner{
  z-index:95!important;
}/* ---------- Mobile ---------- */
@media(max-width:759px){
  .vertex-v3 #app{
    --v3-content-bottom:calc(var(--v3-nav-mobile) + var(--v3-safe-bottom));
  }

  .vertex-v3 #app .bottom-nav{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:calc(var(--v3-nav-mobile) + var(--v3-safe-bottom))!important;
    min-height:calc(var(--v3-nav-mobile) + var(--v3-safe-bottom))!important;
    padding:2px 6px var(--v3-safe-bottom)!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:center!important;
    border:0!important;
    border-top:1px solid #ffffff12!important;
    border-radius:0!important;
    background:#091013f7!important;
    backdrop-filter:blur(22px)!important;
  }
  .vertex-v3 #app .bottom-nav button{
    height:56px!important;
    min-height:56px!important;
    padding:4px 0 3px!important;
    display:flex!important;
    justify-content:center!important;
    gap:2px!important;
  }
  .vertex-v3 #app .bottom-nav small{
    font-size:8px!important;
  }

  .vertex-v3 #app .topbar{
    position:fixed!important;
    top:var(--v3-mobile-top)!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 50px!important;
    gap:7px!important;
  }
  .vertex-v3 #app .search{
    height:50px!important;
    min-height:50px!important;
    border-radius:15px!important;
    padding:0 11px!important;
  }
  .vertex-v3 #app .round{
    width:50px!important;
    height:50px!important;
    border-radius:15px!important;
  }

  .vertex-v3 #app .map-tools{
    position:fixed!important;
    top:calc(var(--v3-mobile-top) + 62px)!important;
    right:10px!important;
    left:auto!important;
    gap:6px!important;
  }
  .vertex-v3 #app .tool{
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
  }

  .vertex-v3 #app .place-card{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(var(--v3-content-bottom) + 8px)!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(46vh,360px)!important;
    padding:6px 14px 12px!important;
    overflow:auto!important;
    border-radius:18px!important;
  }
  .vertex-v3 #app .place-card.collapsed{
    max-height:108px!important;
    overflow:hidden!important;
  }
  .vertex-v3 #app .place-card.collapsed .place-card-content{
    max-height:82px!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .vertex-v3 #app .place-card.collapsed .place-expanded-content{
    display:none!important;
  }
  .vertex-v3 #app .place-card.collapsed .place-card-title{
    margin-bottom:3px!important;
  }
  .vertex-v3 #app .place-card.collapsed .eyebrow{
    display:none!important;
  }
  .vertex-v3 #app .place-card.collapsed .resort-status{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vertex-v3 #app .place-card.collapsed .resort-status span:nth-child(3){
    display:none!important;
  }

  /* Destinations are screens, not floating cards. */
  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view,
  .vertex-v3 #app .weather-view{
    position:fixed!important;
    inset:0 0 var(--v3-content-bottom) 0!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:calc(max(14px,env(safe-area-inset-top)) + 4px) 14px 22px!important;
    overflow:auto!important;
    border:0!important;
    border-radius:0!important;
    background:#0b1216!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .vertex-v3 #app .community-view{
    padding-top:calc(max(14px,env(safe-area-inset-top)) + 6px)!important;
  }
  .vertex-v3 #app .weather-view{
    padding-top:calc(max(14px,env(safe-area-inset-top)) + 4px)!important;
  }

  .vertex-v3 #app .activities-head,
  .vertex-v3 #app .activity-detail-head,
  .vertex-v3 #app .route-detail-head{
    position:sticky!important;
    top:-18px!important;
    z-index:6!important;
    margin:-4px -14px 10px!important;
    padding:10px 14px 8px!important;
    background:linear-gradient(#0b1216 78%,#0b121600)!important;
  }

  .vertex-v3 #app .context-surface-nav{
    position:sticky!important;
    top:-4px!important;
    z-index:8!important;
    margin:0 0 14px!important;
    background:#0b1216!important;
  }

  /* Weather sub navigation belongs below its header, not floating over the app. */
  .vertex-v3 #app .weather-tabs{
    position:static!important;
    margin:0!important;
    pointer-events:auto!important;
  }

  .vertex-v3 #app .weather-forecast{
    padding-top:46px!important;
  }
  .vertex-v3 #app .weather-map-view{
    inset:0 0 var(--v3-content-bottom) 0!important;
  }
  .vertex-v3 #app .weather-map-head{
    top:calc(max(14px,env(safe-area-inset-top)) + 98px)!important;
    left:10px!important;
  }
  .vertex-v3 #app .weather-map-layers{
    top:calc(max(14px,env(safe-area-inset-top)) + 145px)!important;
    left:10px!important;
    right:10px!important;
  }
  .vertex-v3 #app .weather-timeline{
    bottom:calc(var(--v3-content-bottom) + 10px)!important;
    left:10px!important;
    right:10px!important;
  }

  /* Tool sheets remain sheets. */
  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(var(--v3-content-bottom) + 8px)!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(68vh,620px)!important;
    margin:0!important;
    padding:12px 14px 16px!important;
    border:1px solid #ffffff18!important;
    border-radius:20px!important;
    background:#0d1519fa!important;
    box-shadow:0 18px 60px #0009!important;
    backdrop-filter:blur(22px)!important;
  }
  .vertex-v3 #app .route-planner,
  .vertex-v3 #app .replay-controls,
  .vertex-v3 #app .active-session{
    bottom:calc(var(--v3-content-bottom) + 8px)!important;
  }

  /* Legends never compete with the mountain dock at the bottom. */
  .vertex-v3 #app .slope-legend,
  .vertex-v3 #app .aspect-legend{
    top:calc(var(--v3-mobile-top) + 66px)!important;
    left:10px!important;
    right:60px!important;
    bottom:auto!important;
  }
  .vertex-v3 #app .sun-panel{
    top:calc(var(--v3-mobile-top) + 66px)!important;
    bottom:auto!important;
    left:10px!important;
    right:60px!important;
    width:auto!important;
    transform:none!important;
  }

  .vertex-v3 #app .app-brand-mark{
    display:none!important;
  }
}/* ---------- Desktop ---------- */
@media(min-width:760px){
  .vertex-v3 #app .bottom-nav{
    left:16px!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    width:76px!important;
    height:auto!important;
    min-height:0!important;
    padding:8px 6px!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
    border:1px solid #ffffff18!important;
    border-radius:20px!important;
    background:#091013e8!important;
    backdrop-filter:blur(22px)!important;
    box-shadow:0 12px 36px #0007!important;
  }
  .vertex-v3 #app .bottom-nav button{
    flex:none!important;
    width:62px!important;
    min-height:58px!important;
    padding:7px 4px!important;
    border-radius:14px!important;
    justify-content:center!important;
  }
  .vertex-v3 #app .bottom-nav button.selected{
    background:#ffffff0d!important;
  }

  .vertex-v3 #app .topbar{
    position:fixed!important;
    top:20px!important;
    left:var(--v3-desktop-left)!important;
    right:auto!important;
    width:460px!important;
    max-width:460px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    gap:8px!important;
  }
  .vertex-v3 #app .search{
    height:54px!important;
    border-radius:16px!important;
  }
  .vertex-v3 #app .round{
    width:54px!important;
    height:54px!important;
    border-radius:16px!important;
  }

  .vertex-v3 #app .map-tools{
    position:fixed!important;
    right:20px!important;
    top:20px!important;
    gap:7px!important;
  }

  .vertex-v3 #app .place-card{
    position:fixed!important;
    left:var(--v3-desktop-left)!important;
    right:auto!important;
    bottom:20px!important;
    width:420px!important;
    max-width:420px!important;
    max-height:390px!important;
    overflow:auto!important;
  }

  /* Destinations become a consistent desktop side workspace. */
  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view{
    position:fixed!important;
    top:20px!important;
    bottom:20px!important;
    left:var(--v3-desktop-left)!important;
    right:auto!important;
    width:430px!important;
    height:auto!important;
    max-width:430px!important;
    max-height:none!important;
    margin:0!important;
    padding:16px!important;
    overflow:auto!important;
    border:1px solid #ffffff18!important;
    border-radius:22px!important;
    background:#0b1216f8!important;
    box-shadow:0 22px 64px #0008!important;
    backdrop-filter:blur(24px)!important;
    transform:none!important;
  }

  .vertex-v3 #app .weather-view{
    position:fixed!important;
    top:20px!important;
    bottom:20px!important;
    left:var(--v3-desktop-left)!important;
    right:auto!important;
    width:min(620px,calc(100vw - 148px))!important;
    max-width:620px!important;
    height:auto!important;
    margin:0!important;
    padding:18px!important;
    overflow:auto!important;
    border:1px solid #ffffff18!important;
    border-radius:22px!important;
    background:#0b1216f8!important;
    box-shadow:0 22px 64px #0008!important;
    backdrop-filter:blur(24px)!important;
  }
  .vertex-v3 #app .weather-forecast{
    padding-top:48px!important;
  }
  .vertex-v3 #app .weather-tabs{
    position:static!important;
    margin:0!important;
    pointer-events:auto!important;
  }

  /* Weather map expands to the map workspace; forecast stays a side panel. */
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-view{
    inset:0!important;
    width:auto!important;
    max-width:none!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    pointer-events:none!important;
  }
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-tabs,
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-view{
    pointer-events:auto!important;
  }
  .vertex-v3 #app .weather-map-head{
    top:86px!important;
    left:var(--v3-desktop-left)!important;
  }
  .vertex-v3 #app .weather-map-layers{
    top:138px!important;
    left:var(--v3-desktop-left)!important;
  }
  .vertex-v3 #app .weather-timeline{
    left:50%!important;
    right:auto!important;
    bottom:20px!important;
    width:min(620px,calc(100vw - 220px))!important;
    transform:translateX(-50%)!important;
  }

  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    position:fixed!important;
    top:20px!important;
    bottom:20px!important;
    left:auto!important;
    right:20px!important;
    width:410px!important;
    max-width:410px!important;
    max-height:none!important;
    overflow:auto!important;
    border-radius:22px!important;
  }

  .vertex-v3 #app .route-planner,
  .vertex-v3 #app .replay-controls{
    bottom:20px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
  .vertex-v3 #app .active-session{
    bottom:20px!important;
    left:auto!important;
    right:20px!important;
  }

  .vertex-v3 #app .slope-legend,
  .vertex-v3 #app .aspect-legend{
    left:var(--v3-desktop-left)!important;
    right:auto!important;
    bottom:20px!important;
    max-width:520px!important;
  }
  .vertex-v3 #app .sun-panel{
    left:50%!important;
    right:auto!important;
    bottom:20px!important;
    transform:translateX(-50%)!important;
  }

  .vertex-v3 #app .app-brand-mark{
    top:20px!important;
    right:88px!important;
  }
}/* Hidden always wins. */
.vertex-v3 #app [hidden]{
  display:none!important;
}/* Replay has an explicit exit plus transport controls. */
.vertex-v3 #app .replay-controls{
  grid-template-columns:38px 42px minmax(0,1fr) 44px!important;
}.vertex-v3 #app #replayExit{
  font-size:20px!important;
}.vertex-v3 #app .replay-controls span{
  left:108px!important;
}
@media(max-width:420px){.vertex-v3 #app .replay-controls{
    grid-template-columns:34px 38px minmax(0,1fr) 40px!important;
    gap:6px!important;
  }.vertex-v3 #app .replay-controls span{
    left:94px!important;
  }
}/* ---------- Context overlays: one purpose each ---------- */

/* Route detail already communicates the preview context; a second floating
   COMMUNITY badge adds noise without adding navigation. */
.vertex-v3 #app .community-preview-bar{
  display:none!important;
}/* Community map gets one explicit back/context bar. */
.vertex-v3 #app .community-map-bar{
  z-index:72!important;
  pointer-events:none!important;
}.vertex-v3 #app .community-map-bar button{
  pointer-events:auto!important;
}/* Route presence on Explore is a small contextual control,never a second dock. */
.vertex-v3 #app .map-route-chip{
  z-index:44!important;
}/* Dialogs are contextual modals; they must not inherit the destination geometry. */
.vertex-v3 #app .profile-editor-sheet,.vertex-v3 #app .community-safety-sheet,.vertex-v3 #app .powder-finder-sheet{
  z-index:120!important;
}

@media(max-width:759px){.vertex-v3 #app .community-map-bar{
    position:fixed!important;
    top:var(--v3-mobile-top)!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    transform:none!important;
  }.vertex-v3 #app .community-map-bar span{
    max-width:calc(100vw - 120px)!important;
  }.vertex-v3 #app .map-route-chip{
    position:fixed!important;
    top:calc(var(--v3-mobile-top) + 60px)!important;
    bottom:auto!important;
    left:10px!important;
    right:auto!important;
    transform:none!important;
    max-width:calc(100vw - 70px)!important;
  }.vertex-v3 #app .profile-editor-sheet,.vertex-v3 #app .community-safety-sheet,.vertex-v3 #app .powder-finder-sheet{
    position:fixed!important;
    inset:0 0 var(--v3-content-bottom) 0!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:calc(max(14px,env(safe-area-inset-top)) + 4px) 14px 22px!important;
    overflow:auto!important;
    border:0!important;
    border-radius:0!important;
    transform:none!important;
    background:#0b1216!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }.vertex-v3 #app .profile-editor-sheet .publish-route-head,.vertex-v3 #app .community-safety-sheet .publish-route-head,.vertex-v3 #app .powder-finder-sheet .publish-route-head{
    position:sticky!important;
    top:-18px!important;
    z-index:3!important;
    margin:-4px -14px 10px!important;
    padding:10px 14px 8px!important;
    background:linear-gradient(#0b1216 80%,#0b121600)!important;
  }
}

@media(min-width:760px){.vertex-v3 #app .community-map-bar{
    position:fixed!important;
    top:20px!important;
    left:var(--v3-desktop-left)!important;
    right:auto!important;
    width:430px!important;
    transform:none!important;
  }.vertex-v3 #app .map-route-chip{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:20px!important;
    transform:translateX(-50%)!important;
  }.vertex-v3 #app .profile-editor-sheet,.vertex-v3 #app .community-safety-sheet{
    position:fixed!important;
    top:40px!important;
    bottom:40px!important;
    left:calc(var(--v3-desktop-left) + 20px)!important;
    right:auto!important;
    width:390px!important;
    max-width:390px!important;
    max-height:none!important;
    margin:0!important;
    overflow:auto!important;
    border-radius:20px!important;
    transform:none!important;
  }.vertex-v3 #app .powder-finder-sheet{
    position:fixed!important;
    top:40px!important;
    bottom:40px!important;
    left:calc(var(--v3-desktop-left) + 20px)!important;
    right:auto!important;
    width:560px!important;
    max-width:min(560px,calc(100vw - 170px))!important;
    max-height:none!important;
    margin:0!important;
    overflow:auto!important;
    transform:none!important;
  }
}/* =========================================================
   Vertex v4 layout authority
   Weather is one destination. Desktop is rail + map + panel.
   ========================================================= */

.vertex-v3 #app{
  --v4-rail-w:80px;
  --v4-panel-w:430px;
  --v4-panel-gap:16px;
}/* Weather owns its own Forecast / Weather map navigation. */
.vertex-v3 #app .weather-view>.weather-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:3px!important;
  border:1px solid #ffffff12!important;
  border-radius:12px!important;
  background:#ffffff07!important;
  pointer-events:auto!important;
}.vertex-v3 #app .weather-view>.weather-tabs button{
  min-height:36px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#8f9c99!important;
  font-size:10px!important;
  font-weight:800!important;
}.vertex-v3 #app .weather-view>.weather-tabs button.active{
  background:#eef2f0!important;
  color:#11191d!important;
}.vertex-v3 #app .weather-view.map-active{
  overflow:hidden!important;
}.vertex-v3 #app .weather-map-view{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#11191d!important;
}.vertex-v3 #app #weatherMapCanvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}.vertex-v3 #app .weather-map-head,.vertex-v3 #app .weather-map-layers,.vertex-v3 #app .weather-timeline{
  z-index:8!important;
}/* Powder map must visibly fail instead of appearing as a blank broken map. */
.vertex-v3 #app .powder-raster-map.map-error{
  display:grid!important;
  place-items:center!important;
  background:
    linear-gradient(135deg,#182226,#0f171a)!important;
}.vertex-v3 #app .powder-raster-map.map-error::after{
  content:"Map temporarily unavailable";
  color:#91a09c;
  font-size:10px;
  font-weight:700;
}/* ---------------- Mobile ---------------- */
@media(max-width:759px){
  .vertex-v3 #app .weather-view{
    display:flex!important;
    flex-direction:column!important;
    inset:0 0 var(--v3-content-bottom) 0!important;
    padding:calc(max(12px,env(safe-area-inset-top)) + 2px) 12px 14px!important;
    overflow:auto!important;
  }
  .vertex-v3 #app .weather-view[hidden]{display:none!important}
  .vertex-v3 #app .weather-head{
    flex:0 0 auto!important;
    position:sticky!important;
    top:-4px!important;
    z-index:14!important;
    margin:0 -12px 8px!important;
    padding:6px 12px 8px!important;
    background:linear-gradient(#0b1216 82%,#0b121600)!important;
  }
  .vertex-v3 #app .weather-view>.weather-tabs{
    flex:0 0 auto!important;
    position:sticky!important;
    top:58px!important;
    z-index:13!important;
    background:#111a1eea!important;
    backdrop-filter:blur(18px)!important;
  }
  .vertex-v3 #app .weather-forecast{
    padding:0!important;
  }
  .vertex-v3 #app .weather-view.map-active{
    padding-bottom:10px!important;
  }
  .vertex-v3 #app .weather-view.map-active .weather-map-view{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:300px!important;
    margin:0!important;
    border:1px solid #ffffff14!important;
    border-radius:16px!important;
  }
  .vertex-v3 #app .weather-view.map-active .weather-map-head{
    position:absolute!important;
    top:12px!important;
    left:12px!important;
    right:auto!important;
  }
  .vertex-v3 #app .weather-view.map-active .weather-map-layers{
    position:absolute!important;
    top:48px!important;
    left:12px!important;
    right:12px!important;
  }
  .vertex-v3 #app .weather-view.map-active .weather-timeline{
    position:absolute!important;
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    width:auto!important;
    transform:none!important;
  }

  /* Forecast hierarchy: useful first, deep detail second. */
  .vertex-v3 #app .weather-summary{
    display:none!important;
  }
  .vertex-v3 #app .weather-levels{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin:10px 0 12px!important;
  }
  .vertex-v3 #app .weather-level-card{
    min-width:0!important;
    padding:9px!important;
  }
  .vertex-v3 #app .weather-level-card>div{
    display:none!important;
  }
  .vertex-v3 #app .weather-level-card b{
    font-size:18px!important;
  }
  .vertex-v3 #app .weather-level-card small{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}/* ---------------- Desktop ---------------- */
@media(min-width:760px){
  /* Permanent desktop rail, not a floating mobile tab bar. */
  .vertex-v3 #app .bottom-nav{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:var(--v4-rail-w)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    padding:88px 8px 18px!important;
    transform:none!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    gap:6px!important;
    border:0!important;
    border-right:1px solid #ffffff12!important;
    border-radius:0!important;
    background:#091013f5!important;
    box-shadow:none!important;
  }
  .vertex-v3 #app .bottom-nav button{
    width:64px!important;
    min-height:62px!important;
    border-radius:14px!important;
  }
  .vertex-v3 #app .bottom-nav button.selected{
    background:#ffffff0d!important;
  }

  .vertex-v3 #app .app-brand-mark{
    top:21px!important;
    left:14px!important;
    right:auto!important;
    width:52px!important;
    opacity:.8!important;
    z-index:112!important;
  }

  .vertex-v3 #app .topbar{
    top:18px!important;
    left:calc(var(--v4-rail-w) + 18px)!important;
    width:min(460px,calc(100vw - var(--v4-rail-w) - 110px))!important;
  }
  .vertex-v3 #app .place-card{
    left:calc(var(--v4-rail-w) + 18px)!important;
    bottom:18px!important;
  }
  .vertex-v3 #app .map-tools{
    top:18px!important;
    right:18px!important;
  }

  /* One desktop side workspace. */
  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view{
    top:16px!important;
    bottom:16px!important;
    left:calc(var(--v4-rail-w) + 16px)!important;
    width:var(--v4-panel-w)!important;
    max-width:var(--v4-panel-w)!important;
    border-radius:18px!important;
  }

  /* When a destination panel is open, map-only chrome gets out of the way. */
  .vertex-v3 #app:has(.explore-sheet:not([hidden])) .topbar,
  .vertex-v3 #app:has(.you-sheet:not([hidden])) .topbar,
  .vertex-v3 #app:has(.activities-sheet:not([hidden])) .topbar,
  .vertex-v3 #app:has(.activity-detail:not([hidden])) .topbar,
  .vertex-v3 #app:has(.route-detail:not([hidden])) .topbar,
  .vertex-v3 #app:has(.compare-sheet:not([hidden])) .topbar,
  .vertex-v3 #app:has(.community-view:not([hidden])) .topbar,
  .vertex-v3 #app:has(.weather-view:not([hidden])) .topbar{
    display:none!important;
  }
  .vertex-v3 #app:has(.explore-sheet:not([hidden])) .place-card,
  .vertex-v3 #app:has(.you-sheet:not([hidden])) .place-card,
  .vertex-v3 #app:has(.activities-sheet:not([hidden])) .place-card,
  .vertex-v3 #app:has(.activity-detail:not([hidden])) .place-card,
  .vertex-v3 #app:has(.route-detail:not([hidden])) .place-card,
  .vertex-v3 #app:has(.compare-sheet:not([hidden])) .place-card,
  .vertex-v3 #app:has(.community-view:not([hidden])) .place-card,
  .vertex-v3 #app:has(.weather-view:not([hidden])) .place-card{
    display:none!important;
  }

  /* Forecast = focused side workspace with map still visible. */
  .vertex-v3 #app .weather-view{
    position:fixed!important;
    top:16px!important;
    bottom:16px!important;
    left:calc(var(--v4-rail-w) + 16px)!important;
    right:auto!important;
    width:520px!important;
    max-width:520px!important;
    height:auto!important;
    padding:16px!important;
    overflow:auto!important;
    border:1px solid #ffffff18!important;
    border-radius:18px!important;
    background:#0b1216f8!important;
    box-shadow:0 22px 64px #0008!important;
    backdrop-filter:blur(24px)!important;
  }
  .vertex-v3 #app .weather-forecast{
    padding:0!important;
  }

  /* Weather Map = actual map workspace to the right of the rail. */
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-view{
    inset:0 0 0 var(--v4-rail-w)!important;
    width:auto!important;
    max-width:none!important;
    padding:18px!important;
    border:0!important;
    border-radius:0!important;
    background:#0b1216!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-head{
    position:absolute!important;
    z-index:14!important;
    top:18px!important;
    left:18px!important;
    width:390px!important;
    padding:10px 12px!important;
    border:1px solid #ffffff16!important;
    border-radius:15px!important;
    background:#0b1215e8!important;
    backdrop-filter:blur(18px)!important;
  }
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-view>.weather-tabs{
    position:absolute!important;
    z-index:14!important;
    top:104px!important;
    left:18px!important;
    width:300px!important;
    margin:0!important;
    background:#0b1215e8!important;
    backdrop-filter:blur(18px)!important;
  }
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-view{
    position:absolute!important;
    inset:0!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
  }
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-head{
    top:158px!important;
    left:18px!important;
  }
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-layers{
    top:200px!important;
    left:18px!important;
    right:auto!important;
  }
  .vertex-v3 #app[data-explore-view="weather-map"] .weather-timeline{
    left:50%!important;
    bottom:18px!important;
    width:min(660px,calc(100vw - var(--v4-rail-w) - 80px))!important;
    transform:translateX(-50%)!important;
  }

  /* Forecast information density on desktop. */
  .vertex-v3 #app .weather-levels{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .vertex-v3 #app .weather-level-card{
    min-width:0!important;
    padding:10px!important;
  }
  .vertex-v3 #app .weather-level-card>div span:nth-child(n+3){
    display:none!important;
  }

  /* Desktop Powder is a side workspace, not a centered modal floating over everything. */
  .vertex-v3 #app .powder-finder-sheet{
    top:16px!important;
    bottom:16px!important;
    left:calc(var(--v4-rail-w) + 16px)!important;
    right:auto!important;
    width:560px!important;
    max-width:min(560px,calc(100vw - var(--v4-rail-w) - 48px))!important;
    border-radius:18px!important;
  }
}/* =========================================================
   Vertex v5 interaction authority
   Weather controls must always sit above the weather canvas.
   ========================================================= */
.vertex-v3 #app .weather-map-view{
  isolation:isolate!important;
}.vertex-v3 #app #weatherMapCanvas{
  z-index:0!important;
  pointer-events:auto!important;
}.vertex-v3 #app .weather-map-head,.vertex-v3 #app .weather-map-layers,.vertex-v3 #app .weather-timeline{
  position:absolute!important;
  z-index:20!important;
  pointer-events:auto!important;
}.vertex-v3 #app .weather-map-layers{
  display:flex!important;
  visibility:visible!important;
}.vertex-v3 #app .weather-map-layers button{
  pointer-events:auto!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
}
@media(max-width:759px){.vertex-v3 #app .weather-view.map-active .weather-map-layers{
    top:48px!important;
    left:12px!important;
    right:12px!important;
    bottom:auto!important;
  }
}
@media(min-width:760px){.vertex-v3 #app[data-explore-view="weather-map"] #weatherMapCanvas{
    z-index:0!important;
  }.vertex-v3 #app[data-explore-view="weather-map"] .weather-map-head,.vertex-v3 #app[data-explore-view="weather-map"] .weather-map-layers,.vertex-v3 #app[data-explore-view="weather-map"] .weather-timeline{
    z-index:20!important;
    pointer-events:auto!important;
  }
}/* =========================================================
   Vertex UI system v6 — compact professional scale authority
   Visual chrome is restrained; touch targets remain >= 44px.
   ========================================================= */
.vertex-v3 #app{
  --ui-hit:44px;
  --ui-control:40px;
  --ui-control-sm:34px;
  --ui-radius:11px;
  --ui-radius-sm:9px;
  --ui-radius-panel:16px;
  --ui-title:18px;
  --ui-heading:13px;
  --ui-body:11px;
  --ui-label:9px;
  --ui-meta:8.5px;
  --ui-icon:17px;
  --ui-gap:8px;
}/* ---------- Typography ---------- */
.vertex-v3 #app h1,.vertex-v3 #app .place-card h1,.vertex-v3 #app .weather-head h1{
  font-size:var(--ui-title)!important;
  line-height:1.08!important;
  letter-spacing:-.018em!important;
}.vertex-v3 #app h2,.vertex-v3 #app .activities-head h2,.vertex-v3 #app .activity-detail-head h2,.vertex-v3 #app .route-detail-head h2,.vertex-v3 #app .panel-head h2,.vertex-v3 #app .record-head h2{
  font-size:17px!important;
  line-height:1.12!important;
  letter-spacing:-.012em!important;
}.vertex-v3 #app h3{
  font-size:14px!important;
}.vertex-v3 #app .eyebrow,.vertex-v3 #app .activities-head small,.vertex-v3 #app .activity-detail-head small,.vertex-v3 #app .route-detail-head small,.vertex-v3 #app .panel-head small,.vertex-v3 #app .record-head small,.vertex-v3 #app .weather-head small,.vertex-v3 #app .weather-section-head small,.vertex-v3 #app .layer-section small{
  font-size:var(--ui-label)!important;
  letter-spacing:.12em!important;
  font-weight:800!important;
}.vertex-v3 #app p,.vertex-v3 #app .weather-head p{
  font-size:var(--ui-body)!important;
  line-height:1.42!important;
}.vertex-v3 #app button{
  letter-spacing:0!important;
}/* ---------- Shared icon / close / back controls ---------- */
.vertex-v3 #app .round,.vertex-v3 #app .tool,.vertex-v3 #app .weather-head>button,.vertex-v3 #app .panel-head>button,.vertex-v3 #app .record-head>button,.vertex-v3 #app .activities-head>button,.vertex-v3 #app .activity-detail-head>button,.vertex-v3 #app .route-detail-head>button,.vertex-v3 #app .publish-route-head>button,.vertex-v3 #app .community-map-bar>button{
  width:var(--ui-hit)!important;
  height:var(--ui-hit)!important;
  min-width:var(--ui-hit)!important;
  min-height:var(--ui-hit)!important;
  padding:0!important;
  border-radius:12px!important;
  font-size:18px!important;
  display:grid!important;
  place-items:center!important;
}.vertex-v3 #app .round,.vertex-v3 #app .tool{
  border-color:#ffffff18!important;
  background:#0d1518dd!important;
  box-shadow:0 5px 16px #0004!important;
  backdrop-filter:blur(14px)!important;
}.vertex-v3 #app .tool.active{
  background:#edf2f0!important;
  color:#11191c!important;
}/* ---------- Search ---------- */
.vertex-v3 #app .topbar{
  gap:7px!important;
}.vertex-v3 #app .search{
  height:var(--ui-hit)!important;
  min-height:var(--ui-hit)!important;
  padding:0 7px 0 11px!important;
  border-radius:12px!important;
  border-color:#ffffff18!important;
  box-shadow:0 5px 18px #0004!important;
}.vertex-v3 #app .search-icon{
  margin-right:7px!important;
  font-size:20px!important;
}.vertex-v3 #app .search input{
  font-size:13px!important;
}.vertex-v3 #app .search-submit{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  flex-basis:34px!important;
  margin-left:4px!important;
  border-radius:9px!important;
  font-size:15px!important;
}.vertex-v3 #app .search-result{
  min-height:48px!important;
  padding:8px 11px!important;
}.vertex-v3 #app .search-result b{
  font-size:11px!important;
}.vertex-v3 #app .search-result small{
  font-size:var(--ui-meta)!important;
}/* ---------- Bottom / desktop navigation ---------- */
.vertex-v3 #app .bottom-nav button{
  font-size:var(--ui-icon)!important;
  font-weight:700!important;
}.vertex-v3 #app .bottom-nav small{
  font-size:var(--ui-meta)!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}.vertex-v3 #app .bottom-nav .record span{
  width:30px!important;
  height:30px!important;
  font-size:11px!important;
}/* ---------- Tabs / segmented controls / chips ---------- */
.vertex-v3 #app .weather-view>.weather-tabs button,.vertex-v3 #app .weather-map-layers button,.vertex-v3 #app .powder-map-tabs button,.vertex-v3 #app .routes-mode-tabs button,.vertex-v3 #app .context-surface-nav button,.vertex-v3 #app .community-tabs button,.vertex-v3 #app .route-library-filters button{
  min-height:var(--ui-control-sm)!important;
  height:var(--ui-control-sm)!important;
  padding:0 10px!important;
  border-radius:var(--ui-radius-sm)!important;
  font-size:var(--ui-label)!important;
  font-weight:800!important;
}.vertex-v3 #app .weather-view>.weather-tabs,.vertex-v3 #app .routes-mode-tabs,.vertex-v3 #app .context-surface-nav{
  gap:2px!important;
  padding:2px!important;
  border-radius:var(--ui-radius)!important;
}.vertex-v3 #app .weather-map-layers{
  gap:3px!important;
  padding:3px!important;
  border-radius:var(--ui-radius)!important;
}.vertex-v3 #app .route-library-filters{
  gap:5px!important;
}/* ---------- Layer panel ---------- */
.vertex-v3 #app .layer-row{
  min-height:52px!important;
  padding:7px 0!important;
  gap:10px!important;
}.vertex-v3 #app .layer-preview{
  width:42px!important;
  height:34px!important;
  flex:0 0 42px!important;
  border-radius:8px!important;
}.vertex-v3 #app .layer-row b{
  font-size:11px!important;
  line-height:1.2!important;
}.vertex-v3 #app .layer-row small{
  margin-top:2px!important;
  font-size:var(--ui-meta)!important;
  line-height:1.25!important;
}.vertex-v3 #app .layer-row>i{
  min-width:24px!important;
  font-size:12px!important;
}.vertex-v3 #app .layer-section{
  padding:10px 0 5px!important;
}.vertex-v3 #app .layer-more-group summary{
  min-height:38px!important;
  padding:0 2px!important;
  font-size:var(--ui-label)!important;
}/* ---------- Map place card ---------- */
.vertex-v3 #app .place-card{
  border-radius:var(--ui-radius-panel)!important;
  padding:6px 13px 11px!important;
}.vertex-v3 #app .place-card-title{
  gap:8px!important;
}.vertex-v3 #app .favorite-place{
  width:var(--ui-hit)!important;
  height:var(--ui-hit)!important;
  min-width:var(--ui-hit)!important;
  min-height:var(--ui-hit)!important;
  font-size:18px!important;
}.vertex-v3 #app .resort-status span,.vertex-v3 #app .stats span{
  padding:7px 6px!important;
}.vertex-v3 #app .resort-status b,.vertex-v3 #app .stats b{
  font-size:11px!important;
}.vertex-v3 #app .resort-status small,.vertex-v3 #app .stats small{
  font-size:var(--ui-meta)!important;
}.vertex-v3 #app .mountain-primary-actions{
  gap:6px!important;
}.vertex-v3 #app .mountain-primary-actions button{
  min-height:52px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
}.vertex-v3 #app .mountain-primary-actions button>span{
  font-size:15px!important;
}.vertex-v3 #app .mountain-primary-actions button>b{
  font-size:10px!important;
}.vertex-v3 #app .mountain-primary-actions button>small{
  font-size:var(--ui-meta)!important;
}/* ---------- Lists / rows ---------- */
.vertex-v3 #app .activity-row,.vertex-v3 #app .route-row,.vertex-v3 #app .community-route-card,.vertex-v3 #app .community-person-card,.vertex-v3 #app .you-menu>button{
  min-height:56px!important;
}.vertex-v3 #app .activity-row,.vertex-v3 #app .route-row{
  padding:7px 4px!important;
}.vertex-v3 #app .activity-icon,.vertex-v3 #app .you-menu>button>span{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:9px!important;
  font-size:14px!important;
}.vertex-v3 #app .activity-copy b,.vertex-v3 #app .you-menu>button b,.vertex-v3 #app .community-route-card>b{
  font-size:11.5px!important;
}.vertex-v3 #app .activity-copy small,.vertex-v3 #app .activity-copy em,.vertex-v3 #app .you-menu>button small{
  font-size:var(--ui-meta)!important;
}.vertex-v3 #app .activity-arrow,.vertex-v3 #app .you-menu>button>i{
  font-size:17px!important;
}.vertex-v3 #app .community-route-card,.vertex-v3 #app .community-person-card{
  padding:10px 2px!important;
}/* ---------- Primary / secondary actions ---------- */
.vertex-v3 #app .route-detail-actions button,.vertex-v3 #app .route-detail-menu button,.vertex-v3 #app .activity-actions button,.vertex-v3 #app .record-actions button,.vertex-v3 #app .route-add-primary,.vertex-v3 #app .route-filter-toggle,.vertex-v3 #app .explore-actions button,.vertex-v3 #app .community-route-save-inline,.vertex-v3 #app .publish-route-actions button,.vertex-v3 #app .settings-actions button{
  min-height:40px!important;
  height:auto!important;
  padding:8px 11px!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:800!important;
}.vertex-v3 #app .route-detail-actions #routeDetailMore,.vertex-v3 #app .activity-actions #activityMoreButton{
  width:40px!important;
  min-width:40px!important;
  padding:0!important;
}/* ---------- Stats ---------- */
.vertex-v3 #app .activities-totals,.vertex-v3 #app .activity-detail-stats,.vertex-v3 #app .route-detail-stats{
  border-radius:11px!important;
  margin-bottom:10px!important;
}.vertex-v3 #app .activities-totals span,.vertex-v3 #app .activity-detail-stats span,.vertex-v3 #app .route-detail-stats span{
  padding:8px!important;
}.vertex-v3 #app .activities-totals b,.vertex-v3 #app .activity-detail-stats b,.vertex-v3 #app .route-detail-stats b{
  font-size:12px!important;
}.vertex-v3 #app .activities-totals small,.vertex-v3 #app .activity-detail-stats small,.vertex-v3 #app .route-detail-stats small{
  font-size:var(--ui-meta)!important;
}/* ---------- Weather ---------- */
.vertex-v3 #app .weather-now-main strong{
  font-size:30px!important;
}.vertex-v3 #app .weather-now-main b{
  font-size:12px!important;
}.vertex-v3 #app .weather-now-metrics b,.vertex-v3 #app .weather-sun b{
  font-size:11px!important;
}.vertex-v3 #app .weather-now-metrics small,.vertex-v3 #app .weather-sun small{
  font-size:var(--ui-meta)!important;
}.vertex-v3 #app .weather-level-card{
  border-radius:10px!important;
  padding:8px!important;
}.vertex-v3 #app .weather-level-card>b{
  font-size:17px!important;
}.vertex-v3 #app .weather-level-card small{
  font-size:var(--ui-meta)!important;
}.vertex-v3 #app .weather-hour-card{
  min-width:62px!important;
  padding:8px 6px!important;
}.vertex-v3 #app .weather-hour-card b{
  font-size:12px!important;
}.vertex-v3 #app .weather-hour-card small,.vertex-v3 #app .weather-hour-card span{
  font-size:var(--ui-meta)!important;
}.vertex-v3 #app .weather-days article{
  min-height:48px!important;
  padding:7px 2px!important;
  font-size:10px!important;
}.vertex-v3 #app .powder-card{
  min-height:54px!important;
  padding:9px 11px!important;
  border-radius:11px!important;
}.vertex-v3 #app .powder-card b{
  font-size:11px!important;
}.vertex-v3 #app .powder-card small,.vertex-v3 #app .powder-card span{
  font-size:var(--ui-meta)!important;
}/* ---------- Form controls / dialogs ---------- */
.vertex-v3 #app input:not([type="range"]),.vertex-v3 #app select,.vertex-v3 #app textarea{
  border-radius:10px!important;
  font-size:11px!important;
}.vertex-v3 #app select,.vertex-v3 #app input:not([type="range"]):not([type="checkbox"]):not([type="radio"]){
  min-height:40px!important;
}.vertex-v3 #app .profile-editor-sheet,.vertex-v3 #app .community-safety-sheet,.vertex-v3 #app .powder-finder-sheet,.vertex-v3 #app .panel,.vertex-v3 #app .record-sheet{
  border-radius:var(--ui-radius-panel)!important;
}/* ---------- Mobile ---------- */
@media(max-width:759px){
  .vertex-v3 #app .topbar{
    left:9px!important;
    right:9px!important;
  }
  .vertex-v3 #app .search input{
    font-size:16px!important; /* Prevent iOS input zoom. */
  }
  .vertex-v3 #app .map-tools{
    right:9px!important;
    gap:5px!important;
  }
  .vertex-v3 #app .bottom-nav{
    --v3-nav-mobile:58px;
    padding-top:1px!important;
  }
  .vertex-v3 #app .bottom-nav button{
    height:52px!important;
    min-height:52px!important;
  }
  .vertex-v3 #app .place-card{
    left:9px!important;
    right:9px!important;
  }
  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    left:7px!important;
    right:7px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}/* ---------- Desktop ---------- */
@media(min-width:760px){
  .vertex-v3 #app{
    --v4-rail-w:72px;
    --v4-rail-half:36px;
  }
  .vertex-v3 #app .bottom-nav{
    width:var(--v4-rail-w)!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  .vertex-v3 #app .bottom-nav button{
    width:60px!important;
    min-height:56px!important;
    height:56px!important;
  }
  .vertex-v3 #app .app-brand-mark{
    left:12px!important;
    width:46px!important;
  }
  .vertex-v3 #app .topbar{
    width:min(430px,calc(100vw - var(--v4-rail-w) - 100px))!important;
  }
  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view{
    width:410px!important;
    max-width:410px!important;
    padding:14px!important;
  }
  .vertex-v3 #app .weather-view{
    width:500px!important;
    max-width:500px!important;
    padding:14px!important;
  }
}/* =========================================================
   Vertex responsive authority v7
   Final geometry rules for mobile,tablet and desktop.
   ========================================================= */

/* Nested route dialogs belong to Route Detail,not to the viewport. */
.vertex-v3 #app .route-detail{
  position:fixed!important;
}.vertex-v3 #app .route-detail .publish-route-sheet{
  position:absolute!important;
  z-index:40!important;
  inset:0!important;
  width:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:14px!important;
  overflow:auto!important;
  border:0!important;
  border-radius:inherit!important;
  background:#0b1216!important;
  box-shadow:none!important;
  transform:none!important;
}.vertex-v3 #app .route-detail .publish-route-sheet .publish-route-head{
  position:sticky!important;
  top:-14px!important;
  z-index:3!important;
  margin:-14px -14px 10px!important;
  padding:12px 14px 8px!important;
  background:linear-gradient(#0b1216 82%,#0b121600)!important;
}/* Map-workflow controls stay map-centric on every screen size. */
.vertex-v3 #app .route-planner,.vertex-v3 #app .replay-controls,.vertex-v3 #app .active-session{
  z-index:100!important;
  margin:0!important;
}.vertex-v3 #app .route-planner{
  max-height:min(46vh,420px)!important;
  overflow:auto!important;
}.vertex-v3 #app .replay-controls{
  max-width:none!important;
}.vertex-v3 #app .active-session{
  max-width:none!important;
}/* Contextual map overlays must never exceed the viewport. */
.vertex-v3 #app .map-route-chip,.vertex-v3 #app .community-map-bar,.vertex-v3 #app .avalanche-chip,.vertex-v3 #app .bulletin-terrain-legend{
  max-width:calc(100vw - 24px)!important;
}/* ---------- Mobile ---------- */
@media(max-width:759px){
  .vertex-v3 #app{
    --v7-edge:8px;
  }

  /* Primary destinations always occupy the usable area above nav. */
  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view,
  .vertex-v3 #app .weather-view,
  .vertex-v3 #app .profile-editor-sheet,
  .vertex-v3 #app .community-safety-sheet,
  .vertex-v3 #app .powder-finder-sheet{
    inset:0 0 var(--v3-content-bottom) 0!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    border-radius:0!important;
  }

  /* Tool sheets stay docked and never hide under the nav. */
  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    left:var(--v7-edge)!important;
    right:var(--v7-edge)!important;
    bottom:calc(var(--v3-content-bottom) + var(--v7-edge))!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(68vh,calc(100dvh - var(--v3-content-bottom) - 26px))!important;
  }

  .vertex-v3 #app .route-planner{
    position:fixed!important;
    left:var(--v7-edge)!important;
    right:var(--v7-edge)!important;
    bottom:calc(var(--v3-content-bottom) + var(--v7-edge))!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    padding:10px!important;
    border-radius:14px!important;
  }
  .vertex-v3 #app .route-planner-actions{
    gap:5px!important;
  }
  .vertex-v3 #app .route-planner-actions button{
    min-height:40px!important;
    padding:6px 8px!important;
    font-size:9px!important;
  }

  .vertex-v3 #app .replay-controls{
    position:fixed!important;
    left:var(--v7-edge)!important;
    right:var(--v7-edge)!important;
    bottom:calc(var(--v3-content-bottom) + var(--v7-edge))!important;
    width:auto!important;
    transform:none!important;
  }

  .vertex-v3 #app .active-session{
    position:fixed!important;
    left:var(--v7-edge)!important;
    right:var(--v7-edge)!important;
    bottom:calc(var(--v3-content-bottom) + var(--v7-edge))!important;
    width:auto!important;
  }
  .vertex-v3 #app .active-session.collapsed{
    right:auto!important;
    max-width:min(280px,calc(100vw - 16px))!important;
  }

  .vertex-v3 #app .community-map-bar{
    left:var(--v7-edge)!important;
    right:var(--v7-edge)!important;
    width:auto!important;
  }
  .vertex-v3 #app .map-route-chip{
    left:var(--v7-edge)!important;
    right:auto!important;
    max-width:calc(100vw - 64px)!important;
  }
}/* Small phones: keep content readable without allowing side overflow. */
@media(max-width:390px){
  .vertex-v3 #app .route-detail-stats,
  .vertex-v3 #app .activity-detail-stats,
  .vertex-v3 #app .activities-totals{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vertex-v3 #app .route-detail-actions{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .vertex-v3 #app .route-detail-actions #routeDetailMore{
    grid-column:auto!important;
  }
  .vertex-v3 #app .weather-now-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}/* Short / landscape mobile: prioritize workflow content over decorative height. */
@media(max-width:759px) and (max-height:620px){
  .vertex-v3 #app .place-card{
    max-height:96px!important;
    overflow:hidden!important;
  }
  .vertex-v3 #app .place-card .place-expanded-content{
    display:none!important;
  }
  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    max-height:calc(100dvh - var(--v3-content-bottom) - 16px)!important;
  }
  .vertex-v3 #app .route-planner{
    max-height:calc(100dvh - var(--v3-content-bottom) - 16px)!important;
  }
  .vertex-v3 #app .route-planner-copy span{
    display:none!important;
  }
}/* ---------- Tablet / compact desktop ---------- */
@media(min-width:760px) and (max-width:1023px){
  .vertex-v3 #app{
    --v4-rail-w:64px;
    --v4-rail-half:32px;
    --v4-panel-w:360px;
  }

  .vertex-v3 #app .bottom-nav{
    width:64px!important;
    padding-left:3px!important;
    padding-right:3px!important;
  }
  .vertex-v3 #app .bottom-nav button{
    width:56px!important;
  }
  .vertex-v3 #app .app-brand-mark{
    left:9px!important;
    width:42px!important;
  }

  .vertex-v3 #app .topbar{
    left:calc(var(--v4-rail-w) + 12px)!important;
    width:min(370px,calc(100vw - var(--v4-rail-w) - 90px))!important;
  }

  .vertex-v3 #app .place-card{
    left:calc(var(--v4-rail-w) + 12px)!important;
    width:360px!important;
    max-width:360px!important;
  }

  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view{
    left:calc(var(--v4-rail-w) + 12px)!important;
    width:360px!important;
    max-width:360px!important;
  }

  .vertex-v3 #app .weather-view{
    left:calc(var(--v4-rail-w) + 12px)!important;
    width:430px!important;
    max-width:min(430px,calc(100vw - var(--v4-rail-w) - 24px))!important;
  }

  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    right:12px!important;
    width:360px!important;
    max-width:360px!important;
  }

  .vertex-v3 #app .profile-editor-sheet,
  .vertex-v3 #app .community-safety-sheet{
    left:calc(var(--v4-rail-w) + 12px)!important;
    width:360px!important;
    max-width:360px!important;
  }

  .vertex-v3 #app .powder-finder-sheet{
    left:calc(var(--v4-rail-w) + 12px)!important;
    width:500px!important;
    max-width:calc(100vw - var(--v4-rail-w) - 24px)!important;
  }
}/* ---------- Desktop ---------- */
@media(min-width:760px){
  /* Map workflows center inside the workspace to the right of the rail. */
  .vertex-v3 #app .route-planner,
  .vertex-v3 #app .replay-controls{
    position:fixed!important;
    left:calc(50% + var(--v4-rail-half))!important;
    right:auto!important;
    bottom:18px!important;
    transform:translateX(-50%)!important;
  }
  .vertex-v3 #app .route-planner{
    width:min(680px,calc(100vw - var(--v4-rail-w) - 48px))!important;
    max-width:680px!important;
  }
  .vertex-v3 #app .replay-controls{
    width:min(620px,calc(100vw - var(--v4-rail-w) - 48px))!important;
  }

  .vertex-v3 #app .active-session{
    position:fixed!important;
    left:auto!important;
    right:18px!important;
    bottom:18px!important;
    width:min(420px,calc(100vw - var(--v4-rail-w) - 36px))!important;
  }

  /* Tool panels are one predictable right-side family. */
  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    top:16px!important;
    right:16px!important;
    bottom:16px!important;
    width:390px!important;
    max-width:390px!important;
    max-height:none!important;
  }

  /* Context dialogs align with the left-side destination workspace. */
  .vertex-v3 #app .profile-editor-sheet,
  .vertex-v3 #app .community-safety-sheet{
    top:16px!important;
    bottom:16px!important;
    left:calc(var(--v4-rail-w) + 16px)!important;
    width:410px!important;
    max-width:410px!important;
    max-height:none!important;
    border-radius:16px!important;
  }

  .vertex-v3 #app .powder-finder-sheet{
    top:16px!important;
    bottom:16px!important;
    left:calc(var(--v4-rail-w) + 16px)!important;
    width:560px!important;
    max-width:min(560px,calc(100vw - var(--v4-rail-w) - 32px))!important;
    max-height:none!important;
  }

  .vertex-v3 #app .community-map-bar{
    left:calc(var(--v4-rail-w) + 16px)!important;
    width:410px!important;
    max-width:min(410px,calc(100vw - var(--v4-rail-w) - 32px))!important;
  }
}/* Large desktop: keep readable line lengths; do not stretch UI just because space exists. */
@media(min-width:1440px){
  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view{
    width:420px!important;
    max-width:420px!important;
  }
  .vertex-v3 #app .weather-view{
    width:520px!important;
    max-width:520px!important;
  }
}/* Hidden remains authoritative after every responsive rule. */
.vertex-v3 #app [hidden]{
  display:none!important;
}/* Combination-state authority: map workflows should not stack unrelated chrome. */
.vertex-v3 #app:has(.route-planner:not([hidden])) .place-card,.vertex-v3 #app:has(.route-planner:not([hidden])) .topbar,.vertex-v3 #app:has(.replay-controls:not([hidden])) .place-card,.vertex-v3 #app:has(.replay-controls:not([hidden])) .topbar{
  display:none!important;
}.vertex-v3 #app:has(.route-planner:not([hidden])) .map-route-chip,.vertex-v3 #app:has(.replay-controls:not([hidden])) .map-route-chip{
  display:none!important;
}
@media(max-width:759px){.vertex-v3 #app:has(.active-session:not([hidden])) .place-card{
    display:none!important;
  }
}/* Tablet rail half is explicit; desktop default is 36px. */
@media(min-width:1024px){
  .vertex-v3 #app{
    --v4-rail-half:36px;
  }
}/* Final visibility guard — nothing after this may revive hidden UI. */
.vertex-v3 #app [hidden]{
  display:none!important;
}/* =========================================================
   Vertex full QA v9 — Weather Map + place summary authority
   ========================================================= */

/* Weather Map is a clean map state: explicit return/close,no redundant cards. */
.vertex-v3 #app .weather-view.map-active>.weather-head,.vertex-v3 #app .weather-view.map-active>.weather-tabs{
  display:none!important;
}.vertex-v3 #app .weather-map-nav{
  position:absolute!important;
  z-index:32!important;
  top:12px!important;
  left:12px!important;
  right:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  pointer-events:none!important;
}.vertex-v3 #app .weather-map-nav button{
  min-height:40px!important;
  height:40px!important;
  border:1px solid #ffffff18!important;
  background:#0b1216e8!important;
  color:#eef3f1!important;
  box-shadow:0 5px 18px #0005!important;
  backdrop-filter:blur(16px)!important;
  pointer-events:auto!important;
  font-weight:800!important;
}.vertex-v3 #app .weather-map-back{
  padding:0 12px!important;
  border-radius:11px!important;
  font-size:10px!important;
}.vertex-v3 #app .weather-map-close{
  width:40px!important;
  min-width:40px!important;
  padding:0!important;
  border-radius:11px!important;
  font-size:18px!important;
}.vertex-v3 #app .weather-map-head{
  top:62px!important;
  left:12px!important;
  padding:4px 8px!important;
  border:0!important;
  border-radius:8px!important;
  background:#0b1216b8!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px)!important;
}.vertex-v3 #app .weather-map-head b{
  font-size:10px!important;
  font-weight:800!important;
}.vertex-v3 #app .weather-map-layers{
  top:92px!important;
  left:12px!important;
  right:auto!important;
  max-width:calc(100% - 24px)!important;
}.vertex-v3 #app .weather-map-status{
  position:absolute!important;
  z-index:24!important;
  top:136px!important;
  left:12px!important;
  max-width:min(340px,calc(100% - 24px))!important;
  padding:6px 9px!important;
  border-radius:9px!important;
  background:#0b1216df!important;
  color:#aeb9b6!important;
  font-size:9px!important;
  font-weight:750!important;
  pointer-events:none!important;
}.vertex-v3 #app .weather-map-status[data-tone="error"]{
  color:#f0c7c3!important;
}.vertex-v3 #app .weather-map-status[hidden]{
  display:none!important;
}/* Place summary: one calm information hierarchy,not a dashboard. */
.vertex-v3 #app .place-card{
  padding:5px 12px 10px!important;
  border-radius:14px!important;
  border:1px solid #ffffff16!important;
  background:#0c1417ee!important;
  box-shadow:0 12px 34px #0006!important;
}.vertex-v3 #app .place-card-handle{
  height:15px!important;
  min-height:15px!important;
  margin:0 0 2px!important;
}.vertex-v3 #app .place-card-handle span{
  width:30px!important;
  height:3px!important;
  margin:6px auto!important;
  opacity:.55!important;
}.vertex-v3 #app .place-card-title{
  align-items:center!important;
  margin-bottom:7px!important;
}.vertex-v3 #app .place-card-title .eyebrow{
  margin-bottom:3px!important;
  font-size:7.5px!important;
  letter-spacing:.12em!important;
  color:#75827f!important;
}.vertex-v3 #app .place-card-title h1{
  margin:0!important;
  font-size:17px!important;
  line-height:1.08!important;
}.vertex-v3 #app .favorite-place{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  border-radius:10px!important;
  font-size:17px!important;
  background:transparent!important;
  border-color:#ffffff12!important;
}/* Three useful glance values; no mini-cards inside the card. */
.vertex-v3 #app .resort-status{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin:0!important;
  padding:7px 0!important;
  border-top:1px solid #ffffff0d!important;
  border-bottom:1px solid #ffffff0d!important;
}.vertex-v3 #app .resort-status span{
  min-width:0!important;
  padding:1px 9px!important;
  border:0!important;
  border-right:1px solid #ffffff0d!important;
  border-radius:0!important;
  background:transparent!important;
}.vertex-v3 #app .resort-status span:first-child{
  padding-left:0!important;
}.vertex-v3 #app .resort-status span:last-child{
  padding-right:0!important;
  border-right:0!important;
}.vertex-v3 #app .resort-status b{
  font-size:11px!important;
  font-weight:800!important;
}.vertex-v3 #app .resort-status small{
  margin-top:2px!important;
  font-size:7.5px!important;
  color:#768480!important;
}/* Weather / Conditions are navigation rows,not oversized feature cards. */
.vertex-v3 #app .mountain-primary-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin:6px 0 0!important;
}.vertex-v3 #app .mountain-primary-actions button{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr) 16px!important;
  align-items:center!important;
  gap:7px!important;
  min-height:45px!important;
  padding:5px 2px!important;
  border:0!important;
  border-bottom:1px solid #ffffff0d!important;
  border-radius:0!important;
  background:transparent!important;
  color:#e9efed!important;
  text-align:left!important;
}.vertex-v3 #app .mountain-primary-actions button:last-child{
  border-bottom:0!important;
}.vertex-v3 #app .mountain-primary-actions button>span:first-child{
  width:26px!important;
  height:26px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  background:#ffffff07!important;
  font-size:13px!important;
}.vertex-v3 #app .mountain-primary-actions button>span:nth-child(2){
  min-width:0!important;
  display:grid!important;
  gap:1px!important;
}.vertex-v3 #app .mountain-primary-actions button b{
  font-size:10.5px!important;
}.vertex-v3 #app .mountain-primary-actions button small{
  font-size:7.5px!important;
  color:#7f8d89!important;
}.vertex-v3 #app .mountain-primary-actions button i{
  font-size:16px!important;
  font-style:normal!important;
  color:#71807c!important;
  text-align:right!important;
}/* Terrain facts are quiet metadata. */
.vertex-v3 #app .place-card .stats{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin:2px 0 0!important;
  padding-top:6px!important;
}.vertex-v3 #app .place-card .stats span{
  min-width:0!important;
  padding:2px 9px!important;
  border:0!important;
  border-right:1px solid #ffffff0c!important;
  background:transparent!important;
}.vertex-v3 #app .place-card .stats span:first-child{
  padding-left:0!important;
}.vertex-v3 #app .place-card .stats span:last-child{
  border-right:0!important;
}.vertex-v3 #app .place-card .stats b{
  font-size:9.5px!important;
}.vertex-v3 #app .place-card .stats small{
  font-size:7px!important;
  color:#6f7d79!important;
}/* Collapsed mobile card remains useful without feeling tall. */
@media(max-width:759px){
  .vertex-v3 #app .place-card.collapsed{
    max-height:91px!important;
  }
  .vertex-v3 #app .place-card.collapsed .place-card-content{
    max-height:68px!important;
  }
  .vertex-v3 #app .place-card.collapsed .resort-status{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vertex-v3 #app .place-card.collapsed .resort-status span:nth-child(3){
    display:block!important;
  }
  .vertex-v3 #app .weather-map-layers{
    top:92px!important;
    left:12px!important;
    right:12px!important;
  }
}/* Powder map always has measurable geometry before SDK initialization. */
.vertex-v3 #app .powder-raster-map{
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  position:relative!important;
  isolation:isolate!important;
}
@media(max-width:620px){.vertex-v3 #app .powder-raster-map{
    height:190px!important;
    min-height:190px!important;
  }
}/* Final visibility guard. */
.vertex-v3 #app [hidden]{
  display:none!important;
}/* =========================================================
   Vertex v10 — You hierarchy + place card layout authority
   ========================================================= */

/* Place title is a real two-column layout: text can never sit under favorite. */
.vertex-v3 #app .place-card-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 40px!important;
  align-items:center!important;
  gap:8px!important;
}.vertex-v3 #app .place-card-title>div{
  min-width:0!important;
}.vertex-v3 #app .place-card-title h1{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  text-wrap:balance!important;
}.vertex-v3 #app .favorite-place{
  grid-column:2!important;
  justify-self:end!important;
  align-self:center!important;
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
}/* One visual family for the complete You destination. */
.vertex-v3 #app[data-section="you"] .you-sheet,.vertex-v3 #app[data-section="you"] .activities-sheet,.vertex-v3 #app[data-section="you"] .activity-detail,.vertex-v3 #app[data-section="you"] .compare-sheet,.vertex-v3 #app[data-section="you"] .community-view{
  background:#0b1216f8!important;
  border-color:#ffffff14!important;
  color:#edf3f1!important;
}.vertex-v3 #app[data-section="you"] .you-sheet,.vertex-v3 #app[data-section="you"] .activities-sheet,.vertex-v3 #app[data-section="you"] .compare-sheet,.vertex-v3 #app[data-section="you"] .community-view{
  padding:14px!important;
}/* You home: compact,calm and row-based. */
.vertex-v3 #app .you-season-summary{
  margin:2px 0 10px!important;
  padding:10px 0 12px!important;
  gap:3px!important;
}.vertex-v3 #app .you-season-summary small{
  font-size:7.5px!important;
}.vertex-v3 #app .you-season-summary b{
  font-size:14px!important;
  line-height:1.25!important;
}.vertex-v3 #app .you-season-summary span{
  font-size:8.5px!important;
}.vertex-v3 #app .you-menu{
  display:grid!important;
  gap:0!important;
}.vertex-v3 #app .you-menu>button{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 16px!important;
  align-items:center!important;
  gap:9px!important;
  min-height:58px!important;
  padding:7px 2px!important;
  border:0!important;
  border-bottom:1px solid #ffffff0d!important;
  border-radius:0!important;
  background:transparent!important;
  text-align:left!important;
}.vertex-v3 #app .you-menu>button:last-child{
  border-bottom:0!important;
}.vertex-v3 #app .you-menu>button>span{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border:1px solid #ffffff0f!important;
  border-radius:9px!important;
  background:#ffffff05!important;
  font-size:13px!important;
  color:#b9c4c1!important;
}.vertex-v3 #app .you-menu>button b{
  font-size:11px!important;
}.vertex-v3 #app .you-menu>button small{
  font-size:8px!important;
  color:#778682!important;
}.vertex-v3 #app .you-menu>button>i{
  font-size:16px!important;
  color:#65736f!important;
}/* Every child of You uses Back-left + title,never an arbitrary close placement. */
.vertex-v3 #app .you-child-head{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-height:48px!important;
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}.vertex-v3 #app .you-child-head>button{
  grid-column:1!important;
  grid-row:1!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  border:1px solid #ffffff10!important;
  border-radius:10px!important;
  background:#ffffff05!important;
  color:#dce5e2!important;
  font-size:20px!important;
  display:grid!important;
  place-items:center!important;
}.vertex-v3 #app .you-child-head>div{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
}.vertex-v3 #app .you-child-head small{
  display:block!important;
  margin:0 0 2px!important;
  font-size:7.5px!important;
  font-weight:850!important;
  letter-spacing:.12em!important;
  color:#74827f!important;
}.vertex-v3 #app .you-child-head h2,.vertex-v3 #app .you-child-head b{
  margin:0!important;
  font-size:15px!important;
  line-height:1.15!important;
}/* Community is only a data source when reached from You. */
.vertex-v3 #app[data-section="you"] .community-head,.vertex-v3 #app[data-section="you"] .community-tabs,.vertex-v3 #app[data-section="you"] #communityRoutes,.vertex-v3 #app[data-section="you"] #routesDiscoverNav{
  display:none!important;
}.vertex-v3 #app[data-section="you"] #peopleContextNav{
  display:none!important;
}.vertex-v3 #app[data-section="you"][data-you-view="people"] #peopleContextNav{
  display:grid!important;
}.vertex-v3 #app[data-section="you"] .people-context-nav{
  grid-template-columns:40px minmax(0,1fr) auto!important;
  min-height:48px!important;
  margin:0 0 10px!important;
  gap:8px!important;
}.vertex-v3 #app[data-section="you"] .people-context-nav .context-back{
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  padding:0!important;
  border:1px solid #ffffff10!important;
  border-radius:10px!important;
  background:#ffffff05!important;
  font-size:0!important;
}.vertex-v3 #app[data-section="you"] .people-context-nav .context-back::after{
  content:"‹";
  font-size:20px;
}.vertex-v3 #app[data-section="you"] .people-context-nav strong{
  text-align:left!important;
  font-size:15px!important;
}.vertex-v3 #app[data-section="you"] .people-context-nav .context-profile-shortcut{
  min-height:36px!important;
  padding:0 9px!important;
  border:1px solid #ffffff10!important;
  border-radius:9px!important;
  background:#ffffff05!important;
  font-size:9px!important;
}.vertex-v3 #app[data-section="you"] #communityPeople:not([hidden]){
  display:block!important;
}/* In the narrow You workspace,People is always one column. */
.vertex-v3 #app[data-section="you"] .community-people-discover{
  display:block!important;
  max-width:none!important;
}.vertex-v3 #app[data-section="you"] .community-my-profile-card{
  display:none!important;
}.vertex-v3 #app[data-section="you"] .community-friends-overview{
  margin-bottom:14px!important;
}.vertex-v3 #app[data-section="you"] .community-friends-block{
  padding:9px 0!important;
  border:0!important;
  border-bottom:1px solid #ffffff0d!important;
  border-radius:0!important;
  background:transparent!important;
}.vertex-v3 #app[data-section="you"] .community-search{
  height:42px!important;
  border-radius:10px!important;
}.vertex-v3 #app[data-section="you"] .community-search-state{
  padding:11px 2px 8px!important;
}.vertex-v3 #app[data-section="you"] .community-people-list{
  display:grid!important;
  gap:4px!important;
}/* Profile belongs to the same You child surface. */
.vertex-v3 #app[data-section="you"] .community-profile-view{
  max-width:none!important;
  padding:0 0 18px!important;
}.vertex-v3 #app[data-section="you"] .community-profile-hero{
  margin-top:2px!important;
  padding:12px 0!important;
  border-top:1px solid #ffffff0d!important;
  border-bottom:1px solid #ffffff0d!important;
  background:transparent!important;
}.vertex-v3 #app[data-section="you"] .community-profile-stats{
  margin:10px 0!important;
}.vertex-v3 #app[data-section="you"] .community-section-head{
  margin-top:14px!important;
}.vertex-v3 #app[data-section="you"] .community-profile-actions button,.vertex-v3 #app[data-section="you"] .community-friend-actions button{
  min-height:38px!important;
  border-radius:9px!important;
  font-size:9px!important;
}/* Settings/edit/password become nested You views,not global floating modals. */
.vertex-v3 #app[data-section="you"] .community-view .profile-editor-sheet{
  position:absolute!important;
  z-index:40!important;
  inset:0!important;
  width:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:14px!important;
  overflow:auto!important;
  border:0!important;
  border-radius:inherit!important;
  background:#0b1216!important;
  box-shadow:none!important;
  transform:none!important;
}.vertex-v3 #app[data-section="you"] .community-view .profile-editor-sheet .you-child-head{
  position:sticky!important;
  top:-14px!important;
  z-index:4!important;
  margin:-14px -14px 10px!important;
  padding:10px 14px 8px!important;
  background:linear-gradient(#0b1216 84%,#0b121600)!important;
}.vertex-v3 #app[data-section="you"] .settings-section{
  padding:12px 0!important;
  border-top:1px solid #ffffff0d!important;
}.vertex-v3 #app[data-section="you"] .settings-section:first-of-type{
  border-top:0!important;
}.vertex-v3 #app[data-section="you"] .settings-section>small{
  font-size:7.5px!important;
  letter-spacing:.12em!important;
}.vertex-v3 #app[data-section="you"] .settings-section label{
  font-size:9px!important;
}.vertex-v3 #app[data-section="you"] .settings-plan,.vertex-v3 #app[data-section="you"] .settings-toggle{
  border-radius:10px!important;
}/* Saved mountains uses the same restrained list logic. */
.vertex-v3 #app[data-section="you"] .compare-intro{
  margin:0 0 10px!important;
}.vertex-v3 #app[data-section="you"] .compare-grid{
  gap:5px!important;
}.vertex-v3 #app[data-section="you"] .compare-card{
  min-height:64px!important;
  padding:9px!important;
  border-radius:10px!important;
}/* Mobile collapsed place title is one clean line; no favorite overlap. */
@media(max-width:759px){
  .vertex-v3 #app .place-card.collapsed .place-card-title{
    grid-template-columns:minmax(0,1fr) 36px!important;
    gap:6px!important;
  }
  .vertex-v3 #app .place-card.collapsed .place-card-title h1{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    overflow-wrap:normal!important;
  }
  .vertex-v3 #app .place-card.collapsed .favorite-place{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    font-size:16px!important;
  }
}/* Final visibility authority. */
.vertex-v3 #app [hidden]{
  display:none!important;
}/* =========================================================
   Vertex v11 — responsive component authority
   ========================================================= */

.vertex-v3 #app{
  --v11-mobile-pad:12px;
  --v11-panel-pad:14px;
  --v11-desktop-panel:420px;
  --v11-desktop-weather:520px;
  --v11-desktop-wide:560px;
  --v11-card-radius:11px;
  --v11-card-gap:7px;
}/* Shared content-card language. */
.vertex-v3 #app .activity-detail-stats,.vertex-v3 #app .route-detail-stats,.vertex-v3 #app .community-profile-stats,.vertex-v3 #app .activities-totals,.vertex-v3 #app .record-stats{
  gap:1px!important;
  border-radius:var(--v11-card-radius)!important;
  overflow:hidden!important;
}.vertex-v3 #app .activity-detail-stats>span,.vertex-v3 #app .route-detail-stats>span,.vertex-v3 #app .community-profile-stats>span,.vertex-v3 #app .activities-totals>span,.vertex-v3 #app .record-stats>span{
  min-width:0!important;
}.vertex-v3 #app .community-route-card,.vertex-v3 #app .community-library-card,.vertex-v3 #app .community-my-profile-card,.vertex-v3 #app .compare-card,.vertex-v3 #app .record-choice,.vertex-v3 #app .powder-card,.vertex-v3 #app .weather-hour-card{
  border-radius:var(--v11-card-radius)!important;
}/* Long copy can never force card geometry wider than its container. */
.vertex-v3 #app .community-route-card,.vertex-v3 #app .community-library-card,.vertex-v3 #app .community-my-profile-card,.vertex-v3 #app .compare-card,.vertex-v3 #app .record-choice,.vertex-v3 #app .powder-card,.vertex-v3 #app .weather-hour-card,.vertex-v3 #app .route-detail,.vertex-v3 #app .activity-detail{
  min-width:0!important;
}.vertex-v3 #app .community-route-card *,.vertex-v3 #app .community-library-card *,.vertex-v3 #app .community-my-profile-card *,.vertex-v3 #app .compare-card *,.vertex-v3 #app .record-choice *,.vertex-v3 #app .powder-card *{
  min-width:0;
}/* Lists use one restrained vertical rhythm. */
.vertex-v3 #app .activities-list,.vertex-v3 #app .community-list,.vertex-v3 #app .community-people-list,.vertex-v3 #app .tour-route-list,.vertex-v3 #app .powder-finder-list,.vertex-v3 #app .compare-grid{
  gap:var(--v11-card-gap)!important;
}/* Action families wrap instead of overflowing. */
.vertex-v3 #app .activity-actions,.vertex-v3 #app .route-detail-actions,.vertex-v3 #app .record-actions,.vertex-v3 #app .route-planner-actions,.vertex-v3 #app .community-profile-actions,.vertex-v3 #app .community-friend-actions{
  max-width:100%!important;
}.vertex-v3 #app .activity-actions button,.vertex-v3 #app .route-detail-actions button,.vertex-v3 #app .record-actions button,.vertex-v3 #app .route-planner-actions button,.vertex-v3 #app .community-profile-actions button,.vertex-v3 #app .community-friend-actions button{
  min-width:0!important;
}/* Weather cards: content first,never fixed text columns that collide. */
.vertex-v3 #app .weather-now-main,.vertex-v3 #app .weather-overview,.vertex-v3 #app .weather-hour-card,.vertex-v3 #app .weather-days article{
  min-width:0!important;
}.vertex-v3 #app .weather-days article>*,.vertex-v3 #app .weather-hour-card>*{
  min-width:0!important;
}.vertex-v3 #app .weather-days article b,.vertex-v3 #app .weather-days article small,.vertex-v3 #app .weather-hour-card strong,.vertex-v3 #app .weather-hour-card span{
  overflow-wrap:anywhere!important;
}/* ---------- Mobile ---------- */
@media(max-width:759px){
  .vertex-v3 #app{
    --v11-card-gap:6px;
  }

  /* Destination views are true mobile screens. */
  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view,
  .vertex-v3 #app .weather-view,
  .vertex-v3 #app .powder-finder-sheet,
  .vertex-v3 #app .profile-editor-sheet,
  .vertex-v3 #app .community-safety-sheet{
    width:auto!important;
    max-width:none!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view,
  .vertex-v3 #app .weather-view{
    padding-left:var(--v11-mobile-pad)!important;
    padding-right:var(--v11-mobile-pad)!important;
  }

  /* Tool surfaces remain compact sheets rather than accidental full screens. */
  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    left:7px!important;
    right:7px!important;
    width:auto!important;
    max-width:none!important;
    padding:12px!important;
    border-radius:14px!important;
  }

  /* Place card: compact and readable, never a desktop card squeezed narrow. */
  .vertex-v3 #app .place-card{
    left:9px!important;
    right:9px!important;
    width:auto!important;
    max-width:none!important;
    padding:5px 11px 9px!important;
  }
  .vertex-v3 #app .place-card-title h1{
    font-size:16px!important;
  }
  .vertex-v3 #app .resort-status span{
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .vertex-v3 #app .resort-status b{
    font-size:10px!important;
  }
  .vertex-v3 #app .resort-status small{
    font-size:7px!important;
  }

  /* Weather: stack metrics/cards for thumb-width readability. */
  .vertex-v3 #app .weather-overview{
    padding:13px!important;
    border-radius:13px!important;
  }
  .vertex-v3 #app .weather-now-main{
    gap:9px!important;
  }
  .vertex-v3 #app .weather-now-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1px!important;
  }
  .vertex-v3 #app .weather-levels{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .vertex-v3 #app .weather-hours{
    grid-auto-columns:minmax(108px,34vw)!important;
  }
  .vertex-v3 #app .weather-days article{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:5px 8px!important;
  }
  .vertex-v3 #app .weather-days article>em,
  .vertex-v3 #app .weather-days article>span,
  .vertex-v3 #app .weather-days article>small{
    grid-column:1/-1!important;
  }

  /* Weather Map controls fit narrow screens without layering over each other. */
  .vertex-v3 #app .weather-map-layers{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
    max-width:none!important;
  }
  .vertex-v3 #app .weather-map-layers button{
    width:100%!important;
  }
  .vertex-v3 #app .weather-map-status{
    top:174px!important;
  }

  /* Powder: map + ranking flow vertically. */
  .vertex-v3 #app .powder-finder-sheet{
    padding:12px!important;
  }
  .vertex-v3 #app .powder-map-card{
    padding:9px!important;
    border-radius:12px!important;
  }
  .vertex-v3 #app .powder-map-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vertex-v3 #app .powder-finder-row{
    grid-template-columns:28px minmax(0,1fr) auto!important;
    gap:7px!important;
    padding:9px 2px!important;
  }
  .vertex-v3 #app .powder-finder-row .powder-meta{
    grid-column:2/-1!important;
    justify-self:start!important;
  }

  /* Route/activity details use stacked actions on narrow screens. */
  .vertex-v3 #app .route-detail-actions{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .vertex-v3 #app .route-detail-actions .route-primary,
  .vertex-v3 #app .route-detail-actions .route-community-save:not([hidden]),
  .vertex-v3 #app .route-detail-actions .route-publish-action:not([hidden]){
    grid-column:1/-1!important;
  }
  .vertex-v3 #app .activity-actions{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .vertex-v3 #app .activity-actions #saveActivityRoute{
    grid-column:1/-1!important;
  }

  /* Recording: chooser becomes one column on genuinely narrow phones. */
  .vertex-v3 #app .record-chooser{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Stats cannot become four unreadably thin columns. */
  .vertex-v3 #app .activity-detail-stats,
  .vertex-v3 #app .route-detail-stats,
  .vertex-v3 #app .activities-totals{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Settings controls get full mobile width. */
  .vertex-v3 #app[data-section="you"] .settings-section label,
  .vertex-v3 #app[data-section="you"] .settings-plan,
  .vertex-v3 #app[data-section="you"] .settings-toggle{
    width:100%!important;
  }

  /* Search/results remain edge-safe. */
  .vertex-v3 #app .search-results{
    max-height:min(52dvh,420px)!important;
    overflow:auto!important;
  }
}

@media(max-width:430px){.vertex-v3 #app .record-chooser{
    grid-template-columns:1fr!important;
  }.vertex-v3 #app .weather-levels{
    grid-template-columns:1fr!important;
  }.vertex-v3 #app .weather-levels button,.vertex-v3 #app .weather-levels>div{
    min-height:44px!important;
  }.vertex-v3 #app .powder-finder-row{
    grid-template-columns:24px minmax(0,1fr)!important;
  }.vertex-v3 #app .powder-finder-row .powder-snow,.vertex-v3 #app .powder-finder-row .powder-meta{
    grid-column:2!important;
    justify-self:start!important;
  }
}/* ---------- Tablet / compact desktop ---------- */
@media(min-width:760px) and (max-width:1023px){
  .vertex-v3 #app{
    --v11-desktop-panel:360px;
    --v11-desktop-weather:430px;
    --v11-desktop-wide:500px;
  }

  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view{
    width:var(--v11-desktop-panel)!important;
    max-width:calc(100vw - var(--v4-rail-w) - 24px)!important;
    padding:13px!important;
  }
  .vertex-v3 #app .weather-view{
    width:var(--v11-desktop-weather)!important;
    max-width:calc(100vw - var(--v4-rail-w) - 24px)!important;
    padding:13px!important;
  }
  .vertex-v3 #app .powder-finder-sheet{
    width:var(--v11-desktop-wide)!important;
    max-width:calc(100vw - var(--v4-rail-w) - 24px)!important;
  }

  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    width:360px!important;
    max-width:calc(100vw - var(--v4-rail-w) - 24px)!important;
  }

  .vertex-v3 #app .place-card{
    width:min(360px,calc(100vw - var(--v4-rail-w) - 32px))!important;
  }

  .vertex-v3 #app .weather-now-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vertex-v3 #app .community-people-discover{
    grid-template-columns:1fr!important;
  }
}/* ---------- Desktop ---------- */
@media(min-width:1024px){
  .vertex-v3 #app .explore-sheet,
  .vertex-v3 #app .you-sheet,
  .vertex-v3 #app .activities-sheet,
  .vertex-v3 #app .activity-detail,
  .vertex-v3 #app .route-detail,
  .vertex-v3 #app .compare-sheet,
  .vertex-v3 #app .community-view{
    width:var(--v11-desktop-panel)!important;
    max-width:var(--v11-desktop-panel)!important;
    padding:14px!important;
  }

  .vertex-v3 #app .weather-view{
    width:var(--v11-desktop-weather)!important;
    max-width:var(--v11-desktop-weather)!important;
    padding:14px!important;
  }

  .vertex-v3 #app .powder-finder-sheet{
    width:var(--v11-desktop-wide)!important;
    max-width:min(var(--v11-desktop-wide),calc(100vw - var(--v4-rail-w) - 32px))!important;
    padding:14px!important;
  }

  .vertex-v3 #app .panel,
  .vertex-v3 #app .record-sheet,
  .vertex-v3 #app .avalanche-sheet{
    width:390px!important;
    max-width:390px!important;
    padding:14px!important;
  }

  /* Map summary stays compact on desktop instead of becoming a mini dashboard. */
  .vertex-v3 #app .place-card{
    width:360px!important;
    max-width:360px!important;
  }

  /* Desktop can use richer card columns where they actually help. */
  .vertex-v3 #app .activity-detail-stats,
  .vertex-v3 #app .route-detail-stats,
  .vertex-v3 #app .activities-totals{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .vertex-v3 #app .weather-now-metrics{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .vertex-v3 #app .weather-levels{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  /* Full Community destination may use two columns; You-context remains one column from v10. */
  .vertex-v3 #app[data-section="routes"] .community-people-discover{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)!important;
  }

  .vertex-v3 #app .compare-card{
    grid-template-columns:minmax(0,1.35fr) .48fr .68fr .58fr .58fr!important;
  }

  .vertex-v3 #app .powder-raster-map{
    height:230px!important;
    min-height:230px!important;
  }
}/* Large desktop remains intentionally bounded. */
@media(min-width:1440px){
  .vertex-v3 #app{
    --v11-desktop-panel:430px;
    --v11-desktop-weather:540px;
    --v11-desktop-wide:580px;
  }
}/* Final responsive visibility authority. */
.vertex-v3 #app [hidden]{
  display:none!important;
}/* v11 — auth and nested dialog responsive authority */
.vertex-v3 .auth-gate-shell,.vertex-v3 .auth-gate-card{
  box-sizing:border-box!important;
  max-width:100%!important;
}.vertex-v3 .auth-gate-card{
  overflow:hidden!important;
}.vertex-v3 .auth-gate-card input,.vertex-v3 .auth-gate-card button{
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:759px){.vertex-v3 .auth-gate{
    padding:
      max(18px,env(safe-area-inset-top))
      14px
      max(18px,env(safe-area-inset-bottom))!important;
  }.vertex-v3 .auth-gate-shell{
    width:min(100%,320px)!important;
    gap:13px!important;
  }.vertex-v3 .auth-gate-brand img{
    width:min(58vw,194px)!important;
  }.vertex-v3 .auth-gate-card{
    width:100%!important;
    padding:12px!important;
    border-radius:14px!important;
  }
}
@media(min-width:760px){.vertex-v3 .auth-gate-shell{
    width:332px!important;
  }.vertex-v3 .auth-gate-card{
    width:312px!important;
    margin-inline:auto!important;
  }
}/* Route-detail subdialogs are children of Route Detail,never viewport-sized cards. */
.vertex-v3 #app .route-detail .publish-route-sheet{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}.vertex-v3 #app .route-detail .route-detail-menu,.vertex-v3 #app .activity-detail .activity-more-menu{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:759px){.vertex-v3 #app .route-detail .publish-route-sheet{
    padding:12px!important;
    border-radius:12px!important;
  }.vertex-v3 #app .route-detail .route-detail-menu{
    grid-template-columns:1fr!important;
  }.vertex-v3 #app .activity-detail .activity-more-menu button{
    min-height:40px!important;
  }
}
@media(min-width:760px){.vertex-v3 #app .route-detail .publish-route-sheet{
    padding:13px!important;
    border-radius:12px!important;
  }
}/* Standalone safety dialog follows destination workspace geometry. */
@media(min-width:760px) and (max-width:1023px){
  .vertex-v3 #app .community-safety-sheet{
    width:360px!important;
    max-width:calc(100vw - var(--v4-rail-w) - 24px)!important;
  }
}
@media(min-width:1024px){.vertex-v3 #app .community-safety-sheet{
    width:410px!important;
    max-width:410px!important;
  }
}/* Form controls always respect parent width. */
.vertex-v3 #app input:not([type="range"]),.vertex-v3 #app select,.vertex-v3 #app textarea{
  max-width:100%!important;
  box-sizing:border-box!important;
}/* Final final visibility authority after auth/dialog pass. */
.vertex-v3 #app [hidden]{
  display:none!important;
}


/* =========================================================
   Mobile Routes product model
   Mobile route selection is map-first: library -> map preview + bottom sheet.
   Desktop keeps the established side-panel composition.
   ========================================================= */
@media(max-width:759px){
  .vertex-v3 #app[data-section="routes"] .routes-sheet{
    padding-top:max(12px,env(safe-area-inset-top))!important;
  }

  .vertex-v3 #app[data-section="routes"] .routes-sheet .activities-head{
    margin-bottom:4px!important;
  }

  .vertex-v3 #app[data-section="routes"] .routes-mode-tabs{
    margin-bottom:10px!important;
  }

  .vertex-v3 #app[data-section="routes"] .routes-library-toolbar{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
    margin-bottom:8px!important;
  }

  .vertex-v3 #app[data-section="routes"] #routesList{
    gap:0!important;
    margin-top:3px!important;
  }

  .vertex-v3 #app[data-section="routes"] #routesList .route-row{
    min-height:76px!important;
    padding:10px 2px!important;
    border:0!important;
    border-bottom:1px solid #ffffff10!important;
    border-radius:0!important;
    background:transparent!important;
  }

  .vertex-v3 #app[data-section="routes"] #routesList .route-main{
    min-height:54px!important;
    align-items:center!important;
    gap:9px!important;
  }

  .vertex-v3 #app[data-section="routes"] #routesList .route-kind{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:12px!important;
    background:#ffffff0b!important;
    font-size:18px!important;
  }

  .vertex-v3 #app[data-section="routes"] #routesList .activity-copy{
    gap:2px!important;
  }

  .vertex-v3 #app[data-section="routes"] #routesList .activity-copy b{
    font-size:14px!important;
    line-height:1.2!important;
  }

  .vertex-v3 #app[data-section="routes"] #routesList .activity-copy em{
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Opening the row itself is the map action on mobile. */
  .vertex-v3 #app[data-section="routes"] #routesList .route-map-toggle{
    display:none!important;
  }

  .vertex-v3 #app[data-section="routes"] #routesList .route-more{
    width:38px!important;
    height:38px!important;
    margin-left:5px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview{
    position:fixed!important;
    z-index:34!important;
    top:auto!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(var(--v3-content-bottom) + 8px)!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:min(46dvh,430px)!important;
    padding:11px 12px 12px!important;
    overflow:auto!important;
    border:1px solid #ffffff1c!important;
    border-radius:18px!important;
    background:#0c1418f2!important;
    box-shadow:0 -12px 38px #0008!important;
    backdrop-filter:blur(22px)!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-detail-head{
    position:sticky!important;
    top:-11px!important;
    z-index:4!important;
    margin:-11px -12px 4px!important;
    padding:11px 12px 7px!important;
    background:linear-gradient(#0c1418 78%,#0c141800)!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-detail-head h2{
    margin-bottom:1px!important;
    font-size:18px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-detail-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    margin-bottom:8px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-detail-stats span{
    padding:8px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-detail-stats span:nth-child(4),
  .vertex-v3 #app .route-detail.mobile-map-preview .route-detail-stats span:nth-child(5){
    display:none!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-elevation-profile{
    height:96px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-profile-head{
    margin-top:6px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-detail-actions{
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:6px!important;
    margin-top:8px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview #routeDetailMap{
    display:none!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview #routeDetailReplay{
    min-height:42px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview #routeDetailMore{
    width:44px!important;
    min-width:44px!important;
  }

  .vertex-v3 #app .route-detail.mobile-map-preview .route-community-info{
    margin-top:8px!important;
  }

  /* The selected route chip is redundant while its preview sheet is open. */
  .vertex-v3 #app:has(.route-detail.mobile-map-preview:not([hidden])) .map-route-chip{
    display:none!important;
  }

  /* Keep map chrome quiet while a route preview owns the mobile map. */
  .vertex-v3 #app:has(.route-detail.mobile-map-preview:not([hidden])) .place-card,
  .vertex-v3 #app:has(.route-detail.mobile-map-preview:not([hidden])) .topbar{
    display:none!important;
  }
}

/* Mobile Routes refinements: planner, discover and post-create continuity. */
@media(max-width:759px){
  .vertex-v3 #app[data-section="routes"] .community-view{
    padding-top:max(10px,env(safe-area-inset-top))!important;
  }

  .vertex-v3 #app[data-section="routes"] .community-discover{
    margin-bottom:12px!important;
  }

  .vertex-v3 #app[data-section="routes"] .community-section-head{
    margin-bottom:8px!important;
  }

  .vertex-v3 #app[data-section="routes"] .community-route-card-wrap{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:7px!important;
    padding:2px 0!important;
    border-bottom:1px solid #ffffff10!important;
  }

  .vertex-v3 #app[data-section="routes"] .community-route-card{
    min-width:0!important;
    padding:11px 2px!important;
    border:0!important;
    background:transparent!important;
  }

  .vertex-v3 #app[data-section="routes"] .community-route-save-inline{
    min-width:74px!important;
    min-height:38px!important;
    padding:0 9px!important;
    border-radius:10px!important;
    white-space:nowrap!important;
  }

  .vertex-v3 #app[data-section="routes"] .community-route-top{
    gap:6px!important;
  }

  .vertex-v3 #app[data-section="routes"] .community-route-meta{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .vertex-v3 #app .route-planner{
    padding:10px!important;
  }

  .vertex-v3 #app .route-planner-copy{
    margin-bottom:8px!important;
  }

  .vertex-v3 #app .route-planner-copy b{
    font-size:13px!important;
  }

  .vertex-v3 #app .route-planner-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .vertex-v3 #app .route-planner-actions button{
    min-width:0!important;
    min-height:42px!important;
    padding:7px 6px!important;
    font-size:10px!important;
  }

  .vertex-v3 #app .route-planner-actions #savePlannedRoute{
    grid-column:1/-1!important;
    order:-1!important;
    min-height:46px!important;
    font-size:11px!important;
  }

  .vertex-v3 #app:has(.route-planner:not([hidden])) .map-tools{
    display:none!important;
  }
}

/* Mobile route library thumbnails use the actual route geometry. */
.route-thumb{display:none}
@media(max-width:759px){
  .vertex-v3 #app[data-section="routes"] #routesList .route-kind{
    display:none!important;
  }
  .vertex-v3 #app[data-section="routes"] #routesList .route-thumb{
    display:block!important;
    flex:0 0 56px!important;
    width:56px!important;
    height:46px!important;
    border:1px solid #ffffff10!important;
    border-radius:12px!important;
    background:#ffffff06!important;
  }
}

/* =========================================================
   Mobile Explore / Map product model
   Keep the map dominant. The collapsed mountain dock is a glance surface;
   expansion is the deliberate path to weather and conditions.
   ========================================================= */
@media(max-width:759px){
  .vertex-v3 #app[data-section="explore"] .place-card{
    bottom:calc(var(--v3-content-bottom) + 6px)!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed{
    max-height:82px!important;
    padding:3px 10px 7px!important;
    overflow:hidden!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .place-card-handle{
    height:11px!important;
    min-height:11px!important;
    margin:0!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .place-card-handle span{
    width:28px!important;
    margin:4px auto!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .place-card-content{
    max-height:65px!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .place-card-title{
    min-height:31px!important;
    margin:0!important;
    grid-template-columns:minmax(0,1fr) 32px!important;
    gap:5px!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .place-card-title h1{
    font-size:15px!important;
    line-height:1.1!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .favorite-place{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    border-radius:9px!important;
    font-size:15px!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .resort-status{
    min-height:24px!important;
    padding:4px 0 1px!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .resort-status span{
    padding:0 5px!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .resort-status b{
    font-size:9.5px!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card.collapsed .resort-status small{
    margin-top:0!important;
    font-size:6.5px!important;
  }

  .vertex-v3 #app[data-section="explore"] .place-card:not(.collapsed){
    max-height:min(48dvh,390px)!important;
    padding-bottom:10px!important;
  }

  .vertex-v3 #app[data-section="explore"] .map-tools{
    top:calc(var(--v3-mobile-top) + 60px)!important;
    right:9px!important;
  }

  .vertex-v3 #app[data-section="explore"] .map-tools .tool{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
  }

  /* Layer legends sit immediately above the mountain dock and never under it. */
  .vertex-v3 #app[data-section="explore"] .slope-legend,
  .vertex-v3 #app[data-section="explore"] .aspect-legend,
  .vertex-v3 #app[data-section="explore"] .sun-panel{
    bottom:calc(var(--v3-content-bottom) + var(--place-card-current-h,82px) + 12px)!important;
  }

  .vertex-v3 #app[data-section="explore"]:has(.slope-legend.show) .place-card,
  .vertex-v3 #app[data-section="explore"]:has(.aspect-legend.show) .place-card,
  .vertex-v3 #app[data-section="explore"]:has(.sun-panel.show) .place-card{
    z-index:8!important;
  }

  /* Opening Layers is a focused map task, so the mountain dock leaves the stage. */
  .vertex-v3 #app[data-section="explore"]:has(#layerPanel:not([hidden])) .place-card{
    display:none!important;
  }
}

/* =========================================================
   Mobile Weather product model
   Forecast is a scrollable content screen; elevation is a horizontal selector.
   Weather Map is a dedicated full-map state with its own return controls.
   ========================================================= */
@media(max-width:759px){
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-view{
    padding-top:0!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-head{
    position:sticky!important;
    top:0!important;
    z-index:8!important;
    margin:0 calc(var(--v11-mobile-pad) * -1)!important;
    padding:max(10px,env(safe-area-inset-top)) var(--v11-mobile-pad) 7px!important;
    background:linear-gradient(#0b1216 82%,#0b121600)!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-head h1{
    max-width:calc(100vw - 120px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-view>.weather-tabs{
    position:sticky!important;
    top:62px!important;
    z-index:7!important;
    margin:0 0 9px!important;
    background:#0b1216f2!important;
    backdrop-filter:blur(18px)!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-overview{
    margin-top:4px!important;
    padding:11px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics span{
    min-width:0!important;
    padding:8px 5px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics b{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-levels{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(218px,72vw)!important;
    grid-template-columns:none!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
    padding:1px var(--v11-mobile-pad) 5px 0!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-levels::-webkit-scrollbar{
    display:none!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card{
    scroll-snap-align:start!important;
    min-height:112px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hours{
    grid-auto-columns:minmax(104px,30vw)!important;
    scroll-snap-type:x proximity!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hour-card{
    scroll-snap-align:start!important;
  }

  .vertex-v3 #app[data-explore-view="weather-map"] .weather-view{
    padding:0!important;
  }

  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-view{
    inset:0!important;
  }

  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-nav{
    top:max(10px,env(safe-area-inset-top))!important;
  }

  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-head{
    top:calc(max(10px,env(safe-area-inset-top)) + 50px)!important;
  }

  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-layers{
    top:calc(max(10px,env(safe-area-inset-top)) + 80px)!important;
  }

  .vertex-v3 #app[data-explore-view="weather-map"] .weather-map-status{
    top:calc(max(10px,env(safe-area-inset-top)) + 164px)!important;
  }
}

/* =========================================================
   Mobile Record product model
   Recording is map-first. Ordinary Explore chrome yields to live session controls.
   ========================================================= */
@media(max-width:759px){
  .vertex-v3 #app[data-section="record"] .record-sheet{
    max-height:min(62dvh,560px)!important;
    padding:12px!important;
  }

  .vertex-v3 #app[data-section="record"] .record-head h2{
    margin-bottom:10px!important;
    font-size:18px!important;
  }

  .vertex-v3 #app[data-section="record"] .record-chooser{
    gap:7px!important;
  }

  .vertex-v3 #app[data-section="record"] .record-choice{
    min-height:104px!important;
    padding:12px!important;
  }

  .vertex-v3 #app[data-section="record"] .record-choice>b{
    font-size:13px!important;
  }

  .vertex-v3 #app[data-section="record"] .tour-route-picker{
    max-height:min(34dvh,280px)!important;
    overflow:auto!important;
  }

  .vertex-v3 #app[data-section="record"] .tour-route-option{
    min-height:48px!important;
  }

  .vertex-v3 #app[data-section="record"] .record-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .vertex-v3 #app[data-section="record"] .record-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .vertex-v3 #app[data-section="record"] .record-actions #startRecord:not([hidden]){
    grid-column:1/-1!important;
  }

  .vertex-v3 #app:has(.active-session:not([hidden])) .topbar,
  .vertex-v3 #app:has(.active-session:not([hidden])) .place-card,
  .vertex-v3 #app:has(.active-session:not([hidden])) .map-tools{
    display:none!important;
  }

  .vertex-v3 #app .active-session{
    left:7px!important;
    right:7px!important;
    bottom:calc(var(--v3-content-bottom) + 7px)!important;
    padding:8px 10px 10px!important;
    border-radius:16px!important;
  }

  .vertex-v3 #app .active-session-main strong{
    font-size:21px!important;
  }

  .vertex-v3 #app .active-map-controls{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .vertex-v3 #app .active-map-controls button{
    min-height:40px!important;
  }

  /* Opening the live controls replaces the compact live strip instead of stacking it. */
  .vertex-v3 #app:has(#recordSheet:not([hidden])) .active-session{
    display:none!important;
  }
}

/* =========================================================
   Mobile You product model
   One navigation hierarchy across Ski Log, People, Saved, Profile and Settings.
   ========================================================= */
@media(max-width:759px){
  .vertex-v3 #app[data-section="you"] .you-sheet,
  .vertex-v3 #app[data-section="you"] .activities-sheet,
  .vertex-v3 #app[data-section="you"] .activity-detail,
  .vertex-v3 #app[data-section="you"] .compare-sheet,
  .vertex-v3 #app[data-section="you"] .community-view{
    padding-top:max(10px,env(safe-area-inset-top))!important;
  }

  .vertex-v3 #app[data-section="you"] .you-child-head,
  .vertex-v3 #app[data-section="you"] .activity-detail-head,
  .vertex-v3 #app[data-section="you"] .people-context-nav{
    position:sticky!important;
    top:calc(max(10px,env(safe-area-inset-top)) * -1)!important;
    z-index:8!important;
    margin-left:calc(var(--v11-mobile-pad) * -1)!important;
    margin-right:calc(var(--v11-mobile-pad) * -1)!important;
    padding:10px var(--v11-mobile-pad) 8px!important;
    background:linear-gradient(#0b1216 84%,#0b121600)!important;
  }

  .vertex-v3 #app[data-section="you"] .activities-list{
    gap:0!important;
  }

  .vertex-v3 #app[data-section="you"] .activities-list .activity-row{
    min-height:70px!important;
    padding:9px 2px!important;
    border:0!important;
    border-bottom:1px solid #ffffff0d!important;
    border-radius:0!important;
    background:transparent!important;
  }

  .vertex-v3 #app[data-section="you"] .compare-grid{
    gap:7px!important;
  }

  .vertex-v3 #app[data-section="you"] .compare-card{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    padding:11px!important;
  }

  .vertex-v3 #app[data-section="you"] .compare-card>div{
    grid-column:1/-1!important;
  }

  .vertex-v3 #app[data-section="you"] .compare-card>strong,
  .vertex-v3 #app[data-section="you"] .compare-card>span{
    display:grid!important;
    min-width:0!important;
  }

  .vertex-v3 #app[data-section="you"] .compare-card>strong{
    align-content:start!important;
    font-size:17px!important;
  }

  .vertex-v3 #app[data-section="you"] .compare-card>span b,
  .vertex-v3 #app[data-section="you"] .compare-card>span small{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .vertex-v3 #app[data-section="you"] .community-view .profile-editor-sheet{
    padding-top:max(10px,env(safe-area-inset-top))!important;
  }
}

/* =========================================================
   Mobile Powder product model
   Map first, ranking second. Keep the destination dense and scan-friendly.
   ========================================================= */
@media(max-width:759px){
  .vertex-v3 #app .powder-finder-sheet{
    inset:0 0 var(--v3-content-bottom) 0!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    padding:max(10px,env(safe-area-inset-top)) var(--v11-mobile-pad) 14px!important;
    border:0!important;
    border-radius:0!important;
    overflow:auto!important;
  }

  .vertex-v3 #app .powder-finder-sheet>.publish-route-head{
    position:sticky!important;
    top:calc(max(10px,env(safe-area-inset-top)) * -1)!important;
    z-index:8!important;
    margin:calc(max(10px,env(safe-area-inset-top)) * -1) calc(var(--v11-mobile-pad) * -1) 8px!important;
    padding:max(10px,env(safe-area-inset-top)) var(--v11-mobile-pad) 8px!important;
    background:linear-gradient(#0b1216 84%,#0b121600)!important;
  }

  .vertex-v3 #app .powder-finder-summary{
    margin-bottom:8px!important;
    padding:0 2px!important;
  }

  .vertex-v3 #app .powder-map-card{
    padding:8px!important;
    margin-bottom:8px!important;
    border-radius:13px!important;
  }

  .vertex-v3 #app .powder-raster-map{
    height:210px!important;
    min-height:210px!important;
    border-radius:10px!important;
    overflow:hidden!important;
  }

  .vertex-v3 #app .powder-map-scale{
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }

  .vertex-v3 #app .powder-map-scale::-webkit-scrollbar{
    display:none!important;
  }

  .vertex-v3 #app .powder-finder-list{
    gap:0!important;
  }

  .vertex-v3 #app .powder-finder-row{
    min-height:64px!important;
    padding:9px 2px!important;
    border:0!important;
    border-bottom:1px solid #ffffff0d!important;
    border-radius:0!important;
    background:transparent!important;
  }

  .vertex-v3 #app .powder-finder-row .powder-rank{
    align-self:start!important;
    margin-top:2px!important;
  }

  .vertex-v3 #app .powder-finder-note{
    padding:10px 2px 2px!important;
  }
}

/* =========================================================
   Mobile corrections — legends, Weather and mountain actions
   ========================================================= */
@media(max-width:759px){
  /* Terrain legends belong at the bottom of the map, directly above primary nav. */
  .vertex-v3 #app[data-section="explore"] .slope-legend,
  .vertex-v3 #app[data-section="explore"] .aspect-legend{
    position:fixed!important;
    top:auto!important;
    left:9px!important;
    right:9px!important;
    bottom:calc(var(--v3-content-bottom) + 7px)!important;
    max-width:none!important;
    min-height:34px!important;
    padding:6px 8px!important;
    justify-content:center!important;
    gap:5px!important;
    border-radius:11px!important;
    z-index:31!important;
  }

  .vertex-v3 #app[data-section="explore"] .slope-legend .legend-title,
  .vertex-v3 #app[data-section="explore"] .aspect-legend .legend-title{
    display:none!important;
  }

  .vertex-v3 #app[data-section="explore"]:has(.slope-legend.show) .place-card,
  .vertex-v3 #app[data-section="explore"]:has(.aspect-legend.show) .place-card{
    bottom:calc(var(--v3-content-bottom) + 49px)!important;
  }

  .vertex-v3 #app[data-section="explore"] .sun-panel{
    position:fixed!important;
    top:auto!important;
    left:9px!important;
    right:9px!important;
    bottom:calc(var(--v3-content-bottom) + 7px)!important;
    width:auto!important;
    transform:none!important;
    z-index:31!important;
  }

  .vertex-v3 #app[data-section="explore"]:has(.sun-panel.show) .place-card{
    bottom:calc(var(--v3-content-bottom) + 76px)!important;
  }

  /* Older generic span rules treated the text wrapper as an icon. */
  .vertex-v3 #app .mountain-primary-actions button{
    grid-template-columns:28px minmax(0,1fr) 18px!important;
    grid-template-areas:"icon copy arrow"!important;
  }

  .vertex-v3 #app .mountain-primary-actions button>span:first-child{
    grid-area:icon!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
  }

  .vertex-v3 #app .mountain-primary-actions button>span:nth-child(2){
    grid-area:copy!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    display:grid!important;
    place-items:initial!important;
    align-content:center!important;
    gap:2px!important;
    margin:0!important;
    background:transparent!important;
    border-radius:0!important;
    font-size:inherit!important;
  }

  .vertex-v3 #app .mountain-primary-actions button>span:nth-child(2)>b,
  .vertex-v3 #app .mountain-primary-actions button>span:nth-child(2)>small{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .vertex-v3 #app .mountain-primary-actions button>i{
    grid-area:arrow!important;
  }

  /* Weather is a true phone layout, not the desktop composition squeezed narrow. */
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-view{
    inset:0 0 var(--v3-content-bottom) 0!important;
    width:auto!important;
    max-width:none!important;
    padding:0 12px 18px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-head{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) 40px!important;
    align-items:center!important;
    gap:8px!important;
    min-height:62px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-head h1{
    max-width:100%!important;
    font-size:19px!important;
    line-height:1.1!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-head p{
    margin:2px 0 0!important;
    font-size:8px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-view>.weather-tabs{
    top:62px!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:3px!important;
    border-radius:11px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-view>.weather-tabs button{
    width:100%!important;
    min-width:0!important;
    height:36px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-overview{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    margin:10px 0 12px!important;
    padding:13px!important;
    border-radius:16px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-main{
    grid-column:1!important;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    padding-bottom:11px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-condition-icon{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-main strong{
    font-size:38px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics{
    grid-column:1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    border-top:1px solid #ffffff10!important;
    border-left:0!important;
    gap:0!important;
    padding-top:4px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics span{
    padding:8px!important;
    border-right:0!important;
    border-bottom:1px solid #ffffff0c!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics span:nth-last-child(-n+2){
    border-bottom:0!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-sun{
    grid-column:1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    min-width:0!important;
    padding-top:7px!important;
    border-top:1px solid #ffffff10!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-sun span{
    padding:6px 8px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-levels{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(210px,76vw)!important;
    grid-template-columns:none!important;
    gap:7px!important;
    margin:0 0 14px!important;
    border:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card{
    display:block!important;
    min-height:118px!important;
    padding:12px!important;
    border:1px solid #ffffff10!important;
    border-radius:13px!important;
    background:#ffffff05!important;
    scroll-snap-align:start!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card>b{
    display:block!important;
    margin:5px 0 7px!important;
    font-size:26px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card div{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px 10px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card::after{
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:0!important;
    width:auto!important;
    height:2px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-section{
    margin-top:18px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-section-head h2{
    font-size:17px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hours{
    width:calc(100% + 24px)!important;
    margin-left:-12px!important;
    padding-left:12px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hour-card{
    flex:0 0 102px!important;
    min-height:120px!important;
    padding:12px 10px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-days-head{
    display:none!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-days article{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:5px 8px!important;
    padding:11px 2px!important;
  }
}

/* =========================================================
   Mobile Weather visual refinement
   Preserve the mobile structure, but restore a calmer premium hierarchy.
   ========================================================= */
@media(max-width:759px){
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-head small{
    font-size:7px!important;
    letter-spacing:.11em!important;
    color:#6f7d79!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-head h1{
    font-size:18px!important;
    font-weight:650!important;
    letter-spacing:-.025em!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-head p{
    color:#73817e!important;
    font-size:7.5px!important;
    font-weight:550!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-view>.weather-tabs{
    border:1px solid #ffffff0e!important;
    background:#11191cf2!important;
    box-shadow:none!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-view>.weather-tabs button{
    font-size:9px!important;
    font-weight:750!important;
    color:#81908d!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-view>.weather-tabs button.active{
    background:#edf3f1!important;
    color:#10181b!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-overview{
    border:1px solid #ffffff0d!important;
    background:linear-gradient(150deg,#152024 0%,#0f171a 66%,#0c1316 100%)!important;
    box-shadow:none!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-main small{
    font-size:7px!important;
    letter-spacing:.1em!important;
    color:#7a8985!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-main b{
    margin-top:3px!important;
    font-size:13px!important;
    font-weight:600!important;
    color:#c8d2cf!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-main strong{
    margin-top:1px!important;
    font-size:41px!important;
    font-weight:550!important;
    letter-spacing:-.055em!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-condition-icon{
    color:#dfe8e5!important;
    opacity:.9!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics small,
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-sun small{
    font-size:7px!important;
    letter-spacing:.05em!important;
    text-transform:none!important;
    color:#71807c!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics b,
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-sun b{
    margin-top:3px!important;
    font-size:11.5px!important;
    font-weight:600!important;
    color:#d3dcda!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card{
    border-color:#ffffff0b!important;
    background:#ffffff025!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card.active{
    border-color:#ffffff1a!important;
    background:#ffffff055!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card>small{
    font-size:7px!important;
    letter-spacing:.08em!important;
    color:#73827e!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card>b{
    margin:4px 0 5px!important;
    font-size:24px!important;
    font-weight:600!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card div{
    gap:3px 9px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card div span{
    font-size:8.5px!important;
    color:#889693!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-level-card div strong{
    font-weight:600!important;
    color:#c7d1ce!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .powder-card{
    margin:4px 0 20px!important;
    padding:11px 0!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .powder-card small{
    font-size:7px!important;
    letter-spacing:.1em!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .powder-card b{
    font-size:13px!important;
    font-weight:650!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .powder-card span{
    font-size:8.5px!important;
    line-height:1.35!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-section-head{
    margin-bottom:7px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-section-head small{
    font-size:7px!important;
    letter-spacing:.09em!important;
    color:#71807c!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-section-head h2{
    margin-top:2px!important;
    font-size:16px!important;
    font-weight:650!important;
    letter-spacing:-.015em!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-section-head>span{
    font-size:8.5px!important;
    color:#85938f!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hour-card{
    min-height:112px!important;
    padding:11px 9px!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hour-card small{
    font-size:7.5px!important;
    color:#71807c!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hour-card b{
    margin:4px 0 2px!important;
    font-size:20px!important;
    font-weight:600!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hour-card strong{
    min-height:20px!important;
    font-size:8.5px!important;
    font-weight:600!important;
    color:#bdc8c5!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hour-card span{
    margin-top:5px!important;
    font-size:8px!important;
    color:#8b9995!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-hour-card em{
    margin-top:3px!important;
    font-size:7.5px!important;
    color:#65736f!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-mini-icon{
    width:21px!important;
    height:21px!important;
    margin:6px 0 0!important;
    opacity:.82!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-days article>div b{
    font-size:12px!important;
    font-weight:650!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-days article>div small{
    font-size:8px!important;
    color:#74827f!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-days article>strong{
    font-size:14px!important;
    font-weight:600!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-days article>em,
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-days article>span,
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-days article>small:last-child{
    font-size:8.5px!important;
    color:#879591!important;
  }

  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-day-icon{
    width:16px!important;
    height:16px!important;
    margin-right:5px!important;
    vertical-align:-3px!important;
    opacity:.84!important;
  }
}

/* Desktop Explore: correct the legacy action-row grid areas without redesigning the card. */
@media(min-width:760px){
  .vertex-v3 #app[data-section="explore"] .mountain-primary-actions button>span:first-child{
    grid-area:1 / 1!important;
  }
  .vertex-v3 #app[data-section="explore"] .mountain-primary-actions button>span:nth-child(2){
    grid-area:1 / 2!important;
    min-width:0!important;
    width:auto!important;
    height:auto!important;
  }
  .vertex-v3 #app[data-section="explore"] .mountain-primary-actions button>i{
    grid-area:1 / 3!important;
  }
}

/* Desktop Weather: adapt the existing premium overview to the actual side-panel width. */
@media(min-width:760px){
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-overview{
    grid-template-columns:minmax(150px,.85fr) minmax(0,1.15fr)!important;
    gap:12px!important;
    padding:18px!important;
  }
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-main{
    grid-column:1!important;
  }
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-now-metrics{
    grid-column:2!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    border-left:1px solid #ffffff10!important;
  }
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-sun{
    grid-column:1/-1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-width:0!important;
    padding-top:9px!important;
    border-top:1px solid #ffffff10!important;
  }
  .vertex-v3 #app[data-explore-view="weather-forecast"] .weather-sun span{
    padding:4px 8px!important;
  }
}

/* Desktop avalanche chip belongs to the map workspace, never under the left rail. */
@media(min-width:760px){
  .vertex-v3 #app .avalanche-chip{
    left:var(--v3-desktop-left)!important;
    right:auto!important;
  }
}

/* Final visibility authority. Responsive composition must never override the hidden attribute. */
.vertex-v3 #app [hidden]{display:none!important}
