/* JAKSKY V140 MOBILE SMOOTH — light visual changes only.
   The feature is ON by default on phones and OFF via ?smooth=0.
   No player, button, permission, user data, VIP or payment changes. */
@media(max-width:820px),(pointer:coarse){
  /* Heavy full-screen compositing when navigating user pages. */
  html.jakSmoothV140 body #modal,
  html.jakSmoothV140 body #userModal,
  html.jakSmoothV140 body #publicProfileModal,
  html.jakSmoothV140 body #editProfileModal,
  html.jakSmoothV140 body #notifModal,
  html.jakSmoothV140 body #vipShopModal,
  html.jakSmoothV140 body #vipCheckoutModal,
  html.jakSmoothV140 body .bottomNav,
  html.jakSmoothV140 body .ageOverlay{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    filter:none!important;
    will-change:auto!important;
  }
  /* Preserve verified icons, visual roles, avatar photos, and panel colors. */
  html.jakSmoothV140 body #list > .card,
  html.jakSmoothV140 body #comments .comment,
  html.jakSmoothV140 body #comments .replyComment,
  html.jakSmoothV140 body #modal .modalBox,
  html.jakSmoothV140 body .publicProfileBox,
  html.jakSmoothV140 body #editProfileModal .editProfileBox,
  html.jakSmoothV140 body #userModal .authBox{
    will-change:auto!important;
    filter:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  /* Animations that continuously repaint on Android. Static decor remains. */
  html.jakSmoothV140 body .brandHero::after,
  html.jakSmoothV140 body .jakPromoViewport::after,
  html.jakSmoothV140 body .jakPrivateFxV26 span,
  html.jakSmoothV140 body .jakPrivateStaffV26::after,
  html.jakSmoothV140 body .publicProfileHeroGlow,
  html.jakSmoothV140 body .publicProfileHeroGrid,
  html.jakSmoothV140 body .jakMoonStarsV2,
  html.jakSmoothV140 body .jakMoonSparkV2,
  html.jakSmoothV140 body .jakMoonLightV2,
  html.jakSmoothV140 body .jakLiveDot,
  html.jakSmoothV140 body .profileAvatarBackdrop{
    animation:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  /* No animation replay on comments/badges as the user scrolls. */
  html.jakSmoothV140 body #comments .comment,
  html.jakSmoothV140 body #comments .replyComment,
  html.jakSmoothV140 body #comments .customTitleBadge,
  html.jakSmoothV140 body #comments .commentAchievementBadge,
  html.jakSmoothV140 body #comments .verifiedIcon,
  html.jakSmoothV140 body #comments .jakCommentAvatarWrapV28,
  html.jakSmoothV140 body #list > .card{
    animation:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  html.jakSmoothV140 body #comments .comment::before,
  html.jakSmoothV140 body #comments .comment::after,
  html.jakSmoothV140 body #comments .replyComment::before,
  html.jakSmoothV140 body #comments .replyComment::after{
    animation:none!important;
    transition:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  /* Keep poster/avatar photos visible without running extra decorative videos. */
  html.jakSmoothV140 body #comments video.jakCommentFxV28,
  html.jakSmoothV140 body #comments video.jakCommentAvatarFxOverlayV19{
    display:none!important;
  }
  /* Entrance animation must not leave cards invisible after disabling motion. */
  html.jakSmoothV140 body .j19-reveal,
  html.jakSmoothV140 body .jakCardEnterV60{
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
  /* Resist Android scroll bounce without changing modal layout/height. */
  html.jakSmoothV140 body #modal:not(.hidden),
  html.jakSmoothV140 body #publicProfileModal:not(.hidden){
    scroll-behavior:auto!important;
    overscroll-behavior-y:contain!important;
  }
}
