/* V95 Mobile menu + hero/search flow stabilization. Loaded last on purpose. */

/* Desktop remains a centered, scrollable vault rather than an oversized page overlay. */
.maximus-vault{
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
.vault-library-actions{margin-top:8px!important}
.vault-library-actions .vault-mastery{margin-top:0!important}

@media(max-width:900px){
  html,body{overflow-x:hidden!important}

  /* Search must be ordinary page content, never sticky or floating over the hero. */
  .main{display:block!important;overflow:visible!important;padding-top:0!important}
  .topbar{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    z-index:5!important;
    display:block!important;
    width:auto!important;
    margin:8px 8px 10px!important;
    padding:5px!important;
    transform:none!important;
    float:none!important;
  }
  .topbar .search-wrap{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    transform:none!important;
    overflow:hidden!important;
  }
  .stage{
    position:relative!important;
    z-index:1!important;
    margin:0 8px 10px!important;
    width:auto!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:9/12!important;
    overflow:hidden!important;
  }
  .stage-art{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .stage-bg{position:absolute!important;inset:0!important}
  .title-panel{bottom:10px!important}
  .visualizer{bottom:105px!important}

  /* Full-screen mobile drawer with exactly one scroll layer. */
  .hub-more[open]::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:998;
    background:rgba(2,1,4,.86);
    backdrop-filter:blur(8px);
  }
  .hub-more[open]>.maximus-vault{
    position:fixed!important;
    inset:calc(58px + env(safe-area-inset-top,0px)) 0 0 0!important;
    z-index:999!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0 12px calc(30px + env(safe-area-inset-bottom,0px))!important;
    border-radius:22px 22px 0 0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-behavior:smooth!important;
    background:linear-gradient(180deg,#0d0812 0%,#050307 42%,#020103 100%)!important;
    border:1px solid rgba(226,204,255,.55)!important;
    box-shadow:0 -8px 35px rgba(143,61,224,.25),0 0 70px rgba(0,0,0,.95)!important;
  }
  .maximus-vault-head{
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    margin:0 -12px 12px!important;
    padding:12px!important;
    min-height:78px!important;
    background:linear-gradient(180deg,rgba(14,8,19,.995),rgba(7,4,10,.96))!important;
    border-bottom:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 10px 24px rgba(0,0,0,.42)!important;
  }
  .maximus-vault-heading strong{font-size:23px!important}
  .maximus-vault-heading span{font-size:11px!important}
  .maximus-vault-close{width:44px!important;height:44px!important;min-width:44px!important}

  .maximus-vault-group{
    margin:0 0 12px!important;
    padding:12px!important;
    border-radius:19px!important;
  }
  .maximus-vault-grid-3,
  .maximus-vault-grid-2{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .maximus-vault-btn{
    min-height:64px!important;
    grid-template-columns:42px minmax(0,1fr) 18px!important;
    gap:11px!important;
    padding:9px 12px!important;
    border-radius:17px!important;
  }
  .maximus-vault-btn i{width:40px!important;height:40px!important;border-radius:12px!important;font-size:17px!important}
  .maximus-vault-btn strong{font-size:15px!important;line-height:1.1!important}
  .maximus-vault-btn small{font-size:10px!important;line-height:1.25!important;margin-top:4px!important}
  .maximus-vault-btn b{font-size:23px!important}
  .maximus-vault-group-title strong{font-size:19px!important}
  .maximus-vault-group-title small{font-size:8px!important}
  .maximus-vault-socials{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .maximus-vault-socials a{min-height:46px!important;font-size:12px!important}

  /* Keep the last controls reachable above browser and phone safe areas. */
  .maximus-vault-story{margin-bottom:28px!important}
}

@media(max-width:390px){
  .hub-more[open]>.maximus-vault{padding-left:9px!important;padding-right:9px!important}
  .maximus-vault-head{margin-left:-9px!important;margin-right:-9px!important}
  .maximus-vault-heading strong{font-size:20px!important}
  .maximus-vault-heading span{font-size:9px!important}
  .maximus-vault-btn{min-height:60px!important;grid-template-columns:38px minmax(0,1fr) 16px!important;padding:8px 10px!important}
  .maximus-vault-btn i{width:36px!important;height:36px!important}
  .maximus-vault-btn strong{font-size:14px!important}
  .maximus-vault-btn small{font-size:9px!important}
}

@media(prefers-reduced-motion:reduce){
  .hub-more[open]>.maximus-vault{scroll-behavior:auto!important}
}
@media(max-width:900px){body.vault-open{overflow:hidden!important;touch-action:none!important}body.vault-open .maximus-vault{touch-action:pan-y!important}}
