/* Versioned artwork keeps the original uploads untouched and lets the CDN
   cache each lighter replacement for a year. The 89-point override only
   applies while the administrator's current image is still selected. */
html #root .wechat-room.game-chat-room[data-room-code="eighty-nine"][style*="dd5990cf-a2f9-497a-a888-04acaa50d077"]{
  --game-chat-background-image:url('/assets/game-background-fast-20261019-v1/e89-chat-background.webp')!important;
}
html #root .wechat-room.game-chat-room[data-room-code^="niuniu"][style*="ddbf3a42-009e-4897-a1d4-820b1164a8c8"]{
  --game-chat-background-image:url('/assets/game-background-fast-20261019-v1/niuniu-chat-background.webp')!important;
}
html #root .e89-room-backdrop{
  background-image:linear-gradient(180deg,#00102044 0%,#00112880 65%,#001631ff 100%),url('/assets/game-background-fast-20261019-v1/table-background-two-tables.webp')!important;
}
html #root .e89-round-room{
  background-image:linear-gradient(180deg,#05050518,#171717dc),url('/assets/game-background-fast-20261019-v1/table-background-two-tables.webp')!important;
}
html #root .mahjong24-root.mj-game{
  background-image:linear-gradient(180deg,#00122e00 20%,#02132b08 65%,#020a1c45),url('/assets/game-background-fast-20261019-v1/table-background-two-tables.webp')!important;
}
html #root .mahjong24-root.mj-game.mj-galaxy-game .mj-galaxy-background{
  background-image:url('/assets/game-background-fast-20261019-v1/mahjong-galaxy-table.webp')!important;
}

/* Shared galaxy page art is the same image on multiple player screens. */
html #root .galaxy-live.galaxy-live :is(.arena-reference-phone,.arena-offers-phone,.arena-lobby-phone,.arena-wallet-phone),
html #root :is(.galaxy-member-surface,.galaxy-register-page,.calendar-checkin-page),
html #root .wechat-room.galaxy-platform-notifications{
  background-image:url('/assets/game-background-fast-20261019-v1/galaxy-home-background.webp')!important;
}
html #root .galaxy-transfer{
  background-image:linear-gradient(#000c1f88,#00112dcc),url('/assets/game-background-fast-20261019-v1/galaxy-home-background.webp')!important;
}
html #root .galaxy-withdraw{
  background-image:linear-gradient(#00102275,#000c20cc),url('/assets/game-background-fast-20261019-v1/galaxy-home-background.webp')!important;
}

/* The indicator moves between buttons on the GPU without shifting their
   labels. Existing active colours and keyboard focus styles stay intact. */
#player-bottom-navigation :is(.bottom-nav,.neo-bottom-dock){isolation:isolate}
#player-bottom-navigation :is(.bottom-nav,.neo-bottom-dock)::before{
  content:"";position:absolute;z-index:0;top:5px;bottom:5px;left:0;
  width:var(--game-speed-nav-width,0px);
  transform:translate3d(var(--game-speed-nav-x,0px),0,0);
  border:1px solid rgba(83,205,240,.18);border-radius:15px;
  background:linear-gradient(145deg,rgba(80,112,229,.18),rgba(53,193,207,.07));
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 12px rgba(48,159,227,.1);
  opacity:var(--game-speed-nav-opacity,0);pointer-events:none;
}
#player-bottom-navigation .bottom-nav::before{
  border-color:color-mix(in srgb,var(--gold,#e8b94f) 28%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--gold,#e8b94f) 17%,transparent),transparent);
}
#player-bottom-navigation .game-speed-nav-ready::before{
  transition:transform 270ms cubic-bezier(.22,.75,.25,1),width 270ms cubic-bezier(.22,.75,.25,1),opacity 160ms ease;
}
#player-bottom-navigation :is(.bottom-nav,.neo-bottom-dock)>a{z-index:1}
#player-bottom-navigation .game-speed-nav-ready>a.active{background:transparent!important;box-shadow:none!important}

/* A return visit should feel immediate; the first visit can retain its
   fuller reveal. This affects visual motion only, never game timing. */
.player-page-motion.tab-slide-forward,.player-page-motion.tab-slide-backward,
.player-page-motion.is-return-visit:not([data-player-route="chat"]){animation-duration:270ms!important}
.player-page-motion.is-return-visit[data-player-route="home"] :is(.promo-banner,.notice,.quick-grid button,.section-title-row,.game-grid .game-card,.invite){
  animation-duration:230ms!important;animation-delay:0ms!important;
}
html.frontend-route-entering .game-page{animation-duration:260ms!important}

@media(prefers-reduced-motion:reduce){
  #player-bottom-navigation .game-speed-nav-ready::before{transition:none!important}
  .player-page-motion.tab-slide-forward,.player-page-motion.tab-slide-backward,
  .player-page-motion.is-return-visit:not([data-player-route="chat"]),
  .player-page-motion.is-return-visit[data-player-route="home"] :is(.promo-banner,.notice,.quick-grid button,.section-title-row,.game-grid .game-card,.invite),
  html.frontend-route-entering .game-page{animation-duration:1ms!important;animation-delay:0ms!important}
}
