/* P1/P2 consolidated battle performance CSS. Loaded instead of the old overlay CSS stack. */
:root{--battle-perf:1}
.bg-particles,.bg-noise,.battle__ambient,.battle__speedlines,.battle__flash{display:none!important}
.particle,.confetti-piece,.chaos-sticker{display:none!important;animation:none!important}
.battle__stage{filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;contain:layout paint style!important;box-shadow:none!important}
.battle__hand,.battle__digit,.floater{filter:none!important;will-change:transform,opacity!important;transform:translateZ(0)}
.battle__combo,.battle__meme{box-shadow:0 8px 14px rgba(17,17,40,.16)!important;filter:none!important}
.sixty-seven-jackpot__confetti,.sixty-seven-jackpot__word{display:none!important}

/* Clean result typography: no doubled/glitchy stroke or shimmer on verdict text. */
.result__verdict,
.result__verdict.is-win,
.result__verdict.is-lose,
.result__verdict.is-tie{
  font-family:var(--font-loud)!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
  filter:none!important;
  animation:none!important;
  letter-spacing:.5px!important;
  line-height:.95!important;
  paint-order:normal!important;
}
.result__verdict::before,
.result__verdict::after{display:none!important;content:none!important}
.result[data-outcome="jackpot"] .result__verdict,
.result[data-outcome="win"] .result__verdict{
  color:#111128!important;
  background:linear-gradient(135deg,#ffb800,#ff7a00)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}

/* Center the selected digit in the battle stage. */
.battle__digit{
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center center!important;
  z-index:5!important;
  width:min(38vw,156px)!important;
  max-height:42%!important;
  object-fit:contain!important;
}

/* Hands: visible, separated, mirrored, cheap vertical movement. */
.battle__hands{overflow:hidden!important;contain:layout paint style!important}
.battle__hand{width:44%!important;max-width:210px!important;bottom:-7%!important;filter:none!important;will-change:transform!important;transition:transform 58ms linear!important;transform-origin:50% 96%!important}
.battle__hand--left{left:-4%!important;right:auto!important;transform:translate3d(0,0,0) rotate(-4deg) scaleX(-1)!important}
.battle__hand--right{right:-4%!important;left:auto!important;transform:translate3d(0,0,0) rotate(4deg) scaleX(1)!important}
.battle__hand--left.is-tap,.battle__hand--left.is-lite-left-tap{transform:translate3d(0,-38px,0) rotate(-4deg) scaleX(-1)!important}
.battle__hand--right.is-tap,.battle__hand--right.is-lite-right-tap{transform:translate3d(0,-38px,0) rotate(4deg) scaleX(1)!important}

/* During active battle, pause every nonessential animation and expensive paint effect. */
body.is-battle-running .bg-layer,
body.is-battle-running .bg-mesh,
body.is-battle-running .bg-grid,
body.is-battle-running .bg-ghosts,
body.is-battle-running .bg-particles,
body.is-battle-running .bg-noise,
body.is-battle-running .hero__hand,
body.is-battle-running .hero__sparks,
body.is-battle-running .spark,
body.is-battle-running .war-card::after,
body.is-battle-running .daily-curse::after,
body.is-battle-running .challenge-card,
body.is-battle-running .tap-zone,
body.is-battle-running .battle__stage,
body.is-battle-running .battle__meme,
body.is-battle-running .battle__combo,
body.is-battle-running .battle__digit{
  animation:none!important;
  transition:none!important;
}
body.is-battle-running .battle__stage,
body.is-battle-running .battle__player,
body.is-battle-running .tap-zone,
body.is-battle-running .battle__timer{
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.is-battle-running .vs-bar__six,
body.is-battle-running .vs-bar__seven,
body.is-battle-running .timer-ring__fg{
  transition:none!important;
}
.battle-p1-engine .battle__floaters{display:none!important}
.battle-p1-engine .battle__digit{filter:none!important;transition:none!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}
.battle-p1-engine .battle__digit.is-pop{transform:translate(-50%,-50%)!important}
.battle-p1-engine .battle__stage.is-final-rush{animation:none!important}
.battle-p1-engine .tap-zone.is-armed,.battle-p1-engine .tap-zone.is-live{animation:none!important}
.battle-p1-engine .battle__meme.is-pop,.battle-p1-engine .battle__combo.is-pop{animation:none!important}
.battle-p1-engine .battle__combo{
  left:50%!important;
  bottom:18px!important;
  top:auto!important;
  width:var(--combo-size,92px)!important;
  height:var(--combo-size,92px)!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:999px!important;
  transform:translateX(-50%)!important;
  font-size:18px!important;
  line-height:1.05!important;
  text-align:center!important;
  pointer-events:none!important;
}
.battle-p1-engine .battle__combo[hidden]{display:none!important}
.result-action-locked{
  pointer-events:none!important;
  opacity:.52!important;
  filter:grayscale(.25)!important;
  transform:none!important;
}

/* Clean 67 jackpot: no noisy particles, no blend-mode artifacts, one readable card. */
.sixty-seven-jackpot--clean{
  background:
    radial-gradient(circle at 18% 16%,rgba(44,125,245,.34),transparent 35%),
    radial-gradient(circle at 84% 20%,rgba(255,42,109,.30),transparent 38%),
    linear-gradient(135deg,#111128,#271b61 54%,#111128)!important;
  animation:cleanJackpotIn 180ms ease-out both!important;
  filter:none!important;
}
.sixty-seven-jackpot--clean::before,
.sixty-seven-jackpot--clean::after,
.sixty-seven-jackpot--clean .sixty-seven-jackpot__confetti,
.sixty-seven-jackpot--clean .sixty-seven-jackpot__word{display:none!important;content:none!important}
.sixty-seven-jackpot--clean .sixty-seven-jackpot__card{
  width:min(88vw,430px)!important;
  padding:24px 18px 22px!important;
  border-radius:32px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 26px 70px rgba(0,0,0,.34),0 0 0 6px rgba(255,184,0,.16)!important;
  display:grid!important;
  place-items:center!important;
  gap:12px!important;
  text-align:center!important;
  transform:translateZ(0)!important;
}
.sixty-seven-jackpot--clean .sixty-seven-jackpot__badge,
.sixty-seven-jackpot--clean .sixty-seven-jackpot__clean-title,
.sixty-seven-jackpot--clean .sixty-seven-jackpot__clean-score,
.sixty-seven-jackpot--clean .sixty-seven-jackpot__sub{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  color:#111128!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
  filter:none!important;
  animation:none!important;
  font-family:var(--font-loud)!important;
  text-transform:uppercase!important;
}
.sixty-seven-jackpot--clean .sixty-seven-jackpot__badge{
  padding:8px 12px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#2c7df5,#ff2a6d)!important;
  color:#fff!important;
  font-size:13px!important;
  letter-spacing:1.4px!important;
  box-shadow:none!important;
}
.sixty-seven-jackpot--clean .sixty-seven-jackpot__clean-title{
  max-width:100%!important;
  font-size:clamp(28px,8vw,46px)!important;
  line-height:.96!important;
  letter-spacing:.3px!important;
}
.sixty-seven-jackpot--clean .sixty-seven-jackpot__clean-score{
  font-size:clamp(64px,22vw,112px)!important;
  line-height:.8!important;
  background:linear-gradient(135deg,#ffb800,#ff2a6d)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
.sixty-seven-jackpot--clean .sixty-seven-jackpot__sub{
  width:auto!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  background:rgba(17,17,40,.08)!important;
  font-family:var(--font-display)!important;
  font-size:13px!important;
  letter-spacing:.9px!important;
  box-shadow:none!important;
}
.sixty-seven-jackpot--clean.is-out{animation:cleanJackpotOut 360ms ease-in forwards!important}
@keyframes cleanJackpotIn{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
@keyframes cleanJackpotOut{to{opacity:0;transform:scale(.98)}}

@media (max-width:390px){.battle__digit{width:min(36vw,138px)!important}.battle__hand{width:42%!important;max-width:186px!important}.battle__hand--left{left:-4%!important}.battle__hand--right{right:-4%!important}.battle__hand--left.is-tap,.battle__hand--left.is-lite-left-tap{transform:translate3d(0,-32px,0) rotate(-4deg) scaleX(-1)!important}.battle__hand--right.is-tap,.battle__hand--right.is-lite-right-tap{transform:translate3d(0,-32px,0) rotate(4deg) scaleX(1)!important}}
