/* V168: mobile scroll stability polish.
   Scope: mobile/tablet only. Existing quiz/stage/scoring/camera logic is not changed. */

@media (max-width: 980px){
  html.mobile-scroll-stability-v168,
  body.mobile-scroll-stability-v168{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y!important;
    scroll-behavior:auto!important;
  }

  body.mobile-scroll-stability-v168{
    background-attachment:scroll!important;
    contain:none!important;
  }

  /* Heavy ambient gradients and multi-layer glass blur were causing jank on phones. */
  body.mobile-scroll-stability-v168 .ambient,
  body.mobile-scroll-stability-v168 .ambient-a,
  body.mobile-scroll-stability-v168 .ambient-b,
  body.mobile-scroll-stability-v168 .ambient-c{
    display:none!important;
    opacity:0!important;
  }

  body.mobile-scroll-stability-v168 .glass-panel,
  body.mobile-scroll-stability-v168 .login-card,
  body.mobile-scroll-stability-v168 .login-rules-card,
  body.mobile-scroll-stability-v168 .sidebar,
  body.mobile-scroll-stability-v168 .topbar,
  body.mobile-scroll-stability-v168 .hero,
  body.mobile-scroll-stability-v168 .section-card,
  body.mobile-scroll-stability-v168 .final-quiz-card,
  body.mobile-scroll-stability-v168 .final-quiz-panel,
  body.mobile-scroll-stability-v168 .final-quiz-proctor,
  body.mobile-scroll-stability-v168 .final-quiz-work,
  body.mobile-scroll-stability-v168 .ai-lab-shell-v158,
  body.mobile-scroll-stability-v168 .decision-room-card-v158,
  body.mobile-scroll-stability-v168 .v159-stage-card,
  body.mobile-scroll-stability-v168 .stage-secure-banner-v161,
  body.mobile-scroll-stability-v168 .stage-secure-inline-v161{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:0 14px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08)!important;
    transform:none!important;
  }

  /* Avoid nested scroll traps on mobile: the page itself scrolls smoothly. */
  body.mobile-scroll-stability-v168 #loginView .rules-scroll,
  body.mobile-scroll-stability-v168 .rules-scroll,
  body.mobile-scroll-stability-v168 .final-quiz-reading-card,
  body.mobile-scroll-stability-v168 .final-quiz-reading-work,
  body.mobile-scroll-stability-v168 .final-quiz-work,
  body.mobile-scroll-stability-v168 .final-quiz-root,
  body.mobile-scroll-stability-v168 .evidence-lab-root-v158,
  body.mobile-scroll-stability-v168 .decision-room-root-v158,
  body.mobile-scroll-stability-v168 .ai-lab-shell-v158,
  body.mobile-scroll-stability-v168 .decision-room-card-v158,
  body.mobile-scroll-stability-v168 .v159-stage-card{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.mobile-scroll-stability-v168 #loginView .rules-scroll{
    padding-right:0!important;
  }

  body.mobile-scroll-stability-v168 .app-shell,
  body.mobile-scroll-stability-v168 #appView,
  body.mobile-scroll-stability-v168 .workspace,
  body.mobile-scroll-stability-v168 .app-section{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  body.mobile-scroll-stability-v168 .workspace{
    padding-bottom:calc(108px + env(safe-area-inset-bottom))!important;
  }

  /* During a finger scroll, disable expensive transitions/hover paints. */
  body.is-mobile-scrolling-v168 *,
  body.is-mobile-scrolling-v168 *::before,
  body.is-mobile-scrolling-v168 *::after{
    transition:none!important;
    animation-play-state:paused!important;
  }

  /* Keep the secure widget visible but lighter and non-janky. */
  body.mobile-scroll-stability-v168 #secureSessionWidgetV81,
  body.mobile-scroll-stability-v168 .secure-session-widget-v81{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:0 12px 32px rgba(0,0,0,.42)!important;
    will-change:auto!important;
  }

  body.mobile-scroll-stability-v168 .secure-alert-v82,
  body.mobile-scroll-stability-v168 .integrity-hard-lock-v164,
  body.mobile-scroll-stability-v168 .progress-update-banner-v165{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  /* iOS/Chrome mobile sometimes freezes when fixed-height media sits in a grid while scrolling. */
  body.mobile-scroll-stability-v168 video,
  body.mobile-scroll-stability-v168 canvas{
    max-width:100%!important;
    transform:translateZ(0)!important;
    will-change:auto!important;
  }

  body.mobile-scroll-stability-v168 .final-quiz-camera{
    contain:layout paint!important;
  }

  /* Prevent accidental horizontal drag from long quiz options/questions. */
  body.mobile-scroll-stability-v168 .final-quiz-options label,
  body.mobile-scroll-stability-v168 .final-quiz-question,
  body.mobile-scroll-stability-v168 .final-quiz-case,
  body.mobile-scroll-stability-v168 .lab-card-v158,
  body.mobile-scroll-stability-v168 .decision-option-v158,
  body.mobile-scroll-stability-v168 .ev-card-v158,
  body.mobile-scroll-stability-v168 .v159-rule-row{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}

@media (max-width: 430px){
  body.mobile-scroll-stability-v168 .workspace{
    padding-left:max(8px,env(safe-area-inset-left))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
  }
  body.mobile-scroll-stability-v168 .section-card,
  body.mobile-scroll-stability-v168 .hero,
  body.mobile-scroll-stability-v168 .topbar{
    border-radius:22px!important;
  }
}
