/* DJIVA: stable AI landing viewport. 2026-10-31
   No window scroll/bounce in this compact 2-card landing.
   Header and bottom nav stay fixed; on smaller displays, only content can scroll.
   Other screens (including AI dialogues) are untouched. */
@media(max-width:799px){
  html:has(#app > main.screen-body.section-ai .gu-ai-hub),
  body:has(#app > main.screen-body.section-ai .gu-ai-hub){
    height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  body:has(#app > main.screen-body.section-ai .gu-ai-hub){
    height:100dvh!important;
    max-height:100dvh!important;
    position:relative!important;
  }
  #app:has(> main.screen-body.section-ai .gu-ai-hub){
    display:flex!important;
    flex-direction:column!important;
    position:relative!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:0!important;
    padding-bottom:0!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  #app:has(> main.screen-body.section-ai .gu-ai-hub) > .v2-top{
    flex:0 0 auto!important;
    position:relative!important;
    top:0!important;
  }
  #app > main.screen-body.section-ai:has(.gu-ai-hub){
    position:relative!important;
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-x:none!important;
    overscroll-behavior-y:none!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:calc(90px + var(--safe-bottom))!important;
    scroll-padding-bottom:calc(90px + var(--safe-bottom));
  }
  #app > main.screen-body.section-ai:has(.gu-ai-hub)::-webkit-scrollbar{
    display:none;
  }
  /* Keep the existing approved menu position but never allow scroll to move it. */
  #app:has(> main.screen-body.section-ai .gu-ai-hub) > nav.v2-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    transform:none!important;
    z-index:50!important;
  }
}
/* Narrow/short phone layouts: cards stay reachable, with scrolling confined
   to the main content instead of moving the header or whole page. */
@media(max-width:799px) and (max-height:735px){
  #app > main.screen-body.section-ai:has(.gu-ai-hub){
    padding-bottom:calc(100px + var(--safe-bottom))!important;
  }
  .screen-body.section-ai .gh-ai-page.gs-home:has(.gu-ai-hub) .gs-welcome.gs-hero{
    height:clamp(215px,61vw,248px)!important;
  }
}
