/* =====================================================================
 * Losa777 — Login page mobile perf v2
 *
 * The previous version hid the ambient field. This version goes after
 * the two ACTUAL scroll-killers: the 60vw blurred blobs behind body,
 * the 3 spinning slot reel strips, and the marquee chasing dots.
 *
 * Desktop entirely unaffected — every rule is inside @media (max-width: 767px).
 * ===================================================================== */
@media (max-width: 767px) {

  /* ---------------------------------------------------------------------
   * KILL THE TWO BLURRED BLOBS — the #1 GPU killer.
   * Each is 60vw × 60vw with filter: blur(60px) and a fixed position.
   * The blur kernel runs every frame the user scrolls. Removing the
   * blur drops GPU cost by ~90%. We keep the gradient colors but
   * shrink the size and remove the blur — visually almost identical
   * on a phone where you can't really see soft blobs anyway.
   * --------------------------------------------------------------------- */
  body::before,
  body::after {
    filter: none !important;
    animation: none !important;
    /* Reduce size so the gradient doesn't dominate the viewport */
    width: 40vw !important;
    height: 40vw !important;
    /* Lower opacity since the gradient is no longer softened by blur */
    opacity: 0.5 !important;
  }

  /* ---------------------------------------------------------------------
   * Hide the ambient $/coin/card-symbol field. Spawners still run
   * (we don't break JS) but elements never paint.
   * --------------------------------------------------------------------- */
  #auAmbient,
  .au-ambient {
    display: none !important;
  }

  /* ---------------------------------------------------------------------
   * Freeze slot reel strips. Symbols stay visible at their initial
   * frame — looks like a paused reel showing 3 random symbols.
   * --------------------------------------------------------------------- */
  .au-reel--1 .au-reel__strip,
  .au-reel--2 .au-reel__strip,
  .au-reel--3 .au-reel__strip {
    animation: none !important;
  }

  /* Reel border bulbs (chasing lights inside the reel frame) — freeze */
  .au-reels::before,
  .au-reels::after {
    animation: none !important;
  }

  /* ---------------------------------------------------------------------
   * Stop the marquee chasing-light border around the card.
   * --------------------------------------------------------------------- */
  .au-marquee,
  .au-marquee::before,
  .au-marquee::after {
    animation: none !important;
  }

  /* ---------------------------------------------------------------------
   * Cap remaining infinite animations to a single pass.
   * Catches: logo breathe, title shift, btn pulse, btn shimmer,
   * bonus glow, jackpot pulse, payline pulse, card glow, etc.
   * Keeps initial entry animations (card fade-in) intact.
   * --------------------------------------------------------------------- */
  .se-auth-shell *,
  .se-auth-shell *::before,
  .se-auth-shell *::after {
    animation-iteration-count: 1 !important;
  }

  /* ---------------------------------------------------------------------
   * Paint isolation — keep auth card repaints from cascading.
   * --------------------------------------------------------------------- */
  .se-auth-shell {
    contain: layout paint;
  }
  .se-auth-card {
    contain: layout paint style;
  }

  /* ---------------------------------------------------------------------
   * Promote the card to its own GPU layer once. Helps scroll smoothness
   * because the card is the visual focal point during scroll.
   * --------------------------------------------------------------------- */
  .se-auth-card {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
}

/* =====================================================================
 * Reduced-motion users get the same lightweight treatment.
 * ===================================================================== */
@media (prefers-reduced-motion: reduce) {
  body::before, body::after,
  #auAmbient, .au-ambient,
  .au-marquee, .au-marquee::before, .au-marquee::after,
  .au-reels::before, .au-reels::after,
  .au-reel__strip {
    animation: none !important;
  }
  body::before, body::after {
    filter: none !important;
    opacity: 0.4 !important;
  }
}
