/* =============================================================================
   IzeChat Motion System — legacy bridge (Phase 8)
   -----------------------------------------------------------------------------
   A migration file, and it is meant to SHRINK. Every rule here reaches an
   animation that was written before the Motion System existed and brings it
   under the one policy dial. As each component is migrated properly, its line
   here is deleted. When the file is empty, Phase 8 is finished.

   WHAT IT DOES
   Sets `animation-play-state: var(--ize-mo-ambient-play)` on the app's
   pre-existing INFINITE animations. That single property is what lets Reduce
   Motion, battery-saver / low-bandwidth mode (IzeXM's .ize-lean) and a
   backgrounded tab stop idle motion everywhere at once, instead of each
   component being asked to implement the policy itself and 28 of them
   implementing it slightly differently.

   WHAT IT DELIBERATELY DOES NOT TOUCH
   Loaders. A paused spinner reads as "the app has hung", which is worse than
   the battery it saves — so spinners, progress bars, typing indicators and
   skeleton shimmers keep running in every mode. Only DECORATION stops.

   WHY `html` PREFIXES EVERYWHERE
   `animation-play-state` is a longhand that the `animation` shorthand RESETS.
   Several of these components inject their CSS from JavaScript at runtime, so
   their rules land after this stylesheet and would win at equal specificity.
   The `html` prefix adds one element to the selector, which beats them
   regardless of load order — the reason it is here and not cosmetic.
   ========================================================================== */

/* ---------- Authentication background decoration ---------------------------- */
/* Aurora, floating orbs and the morphing blob behind the login card. Beautiful,
   and completely optional on a phone at 12% battery. */
html .ize_aurora,
html .ize_orb,
html .ize_float,
html .ize_morph,
html .ize_hero_blob,
html .ize_btn:hover { animation-play-state: var(--ize-mo-ambient-play); }

/* ---------- Smart card ------------------------------------------------------ */
html .ize-sc-live,
html .ize-sc-glow,
html [class*="ize-sc-"] { animation-play-state: var(--ize-mo-ambient-play); }

/* ---------- Communities ----------------------------------------------------- */
html .ize-comm-live-today i { animation-play-state: var(--ize-mo-ambient-play); }

/* ---------- Presence dot ---------------------------------------------------- */
html .chat-tab .online-toggle-hdr.white_online { animation-play-state: var(--ize-mo-ambient-play); }

/* ---------- Marketplace product page ---------------------------------------- */
/* The pulsing urgency chip and the sheen sweeping across the price. */
html .mp-urgency,
html .mp-sheen,
html .mp-price-sheen { animation-play-state: var(--ize-mo-ambient-play); }

/* ---------- In-call decoration ---------------------------------------------- */
/* The 14s gradient drift behind a voice call, and the recording ring. Both are
   atmosphere; a call is exactly when the battery matters most. */
html .ize-ncall,
html .ize-ncall-bg,
html .ize-ncall-rec-dot,
html .ize-ncall-share-dot { animation-play-state: var(--ize-mo-ambient-play); }

/* ---------- Biometric prompt ------------------------------------------------ */
html .ize-bio-ring { animation-play-state: var(--ize-mo-ambient-play); }

/* ---------- 404 illustration ------------------------------------------------ */
html .tag_404_innr svg .pao-baixo,
html .tag_404_innr svg .pao-cima,
html .tag_404_innr svg .left-sparks,
html .tag_404_innr svg .right-sparks { animation-play-state: var(--ize-mo-ambient-play); }

/* ---------- Night-mode toggle decoration ------------------------------------ */
/* dark.css:449 declares this one `!important`, so matching it is the only way
   the policy can reach it. The single !important in the Motion System, and it
   exists to honour a user's accessibility setting rather than to win a layout
   argument. */
html .tag_night_anim,
html .movenight { animation-play-state: var(--ize-mo-ambient-play) !important; }
