/* Nesa's maximal celebration preset. The board and controls keep their layout. */
#fx-layer{position:fixed;inset:0;z-index:150;pointer-events:none;overflow:hidden;contain:strict}
#fx-layer canvas{display:block;width:100%;height:100%;pointer-events:none}
.juice-on .ambient{display:none}
.juice-on .wash{animation:juice-waterlight 10s ease-in-out infinite}
@keyframes juice-waterlight{0%,100%{opacity:.78}50%{opacity:1}}
.juice-on .lumi-btn{animation:none}
.juice-on #lumiImg{transform-origin:50% 65%;animation:juice-lumi-swim 5.8s ease-in-out infinite}
.juice-on #nesa{transform-origin:50% 78%;animation:juice-nesa-sway 4.8s ease-in-out infinite}
.juice-on .reward-highfive{animation:juice-highfive 3.2s ease-in-out infinite}
.juice-on .panel-characters img:first-child{animation:juice-final-dolphin 3.8s ease-in-out infinite}
.juice-on .panel-characters img:last-child{animation:juice-final-starfish 3.8s ease-in-out infinite .25s}
.juice-on .reward{animation:juice-medal-bob 3.6s ease-in-out infinite}
.juice-on .wm-confirm-btn.juice-ready{animation:juice-ready 2.8s ease-in-out infinite}
.juice-on .round.juice-last-round{animation:juice-progress 2.4s ease-in-out infinite}
/* Shadow rings stay still so an animated hint remains easy to touch. */
.juice-on .group.hint{animation:none;box-shadow:0 0 0 7px #f2c14166,inset 0 -9px 0 #7b464e24}
@keyframes juice-lumi-swim{
  0%,100%{transform:translate(0,0) rotate(-3deg)}
  28%{transform:translate(-3px,-7px) rotate(3deg)}
  58%{transform:translate(2px,-3px) rotate(-1deg)}
  78%{transform:translate(0,-9px) rotate(-4deg)}
}
@keyframes juice-nesa-sway{
  0%,100%{transform:translateY(0) rotate(-3deg) scale(1)}
  30%{transform:translateY(-6px) rotate(4deg) scale(1.025,.98)}
  62%{transform:translateY(-2px) rotate(-4deg) scale(.985,1.02)}
  80%{transform:translateY(-8px) rotate(2deg)}
}
@keyframes juice-highfive{0%,100%{transform:translateY(0) rotate(-2deg)}35%{transform:translateY(-5px) rotate(2deg)}65%{transform:translateY(-2px) rotate(-1deg)}}
@keyframes juice-final-dolphin{0%,100%{transform:translateY(0) rotate(-4deg)}42%{transform:translateY(-12px) rotate(7deg)}72%{transform:translateY(-4px) rotate(-3deg)}}
@keyframes juice-final-starfish{0%,100%{transform:translateY(0) rotate(4deg)}40%{transform:translateY(-9px) rotate(-7deg)}75%{transform:translateY(-3px) rotate(3deg)}}
@keyframes juice-medal-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(3deg)}}
@keyframes juice-ready{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.045)}}
@keyframes juice-progress{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.juice-on .game-shell[data-state="paused"] *, .juice-on .game-shell[data-state="menu"] *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  .juice-on #lumiImg,.juice-on #nesa,.juice-on .reward-highfive,.juice-on .panel-characters img,.juice-on .reward,.juice-on .wm-confirm-btn.juice-ready,.juice-on .round.juice-last-round{animation:none!important;transform:none}
  .juice-on .wm-confirm-btn.juice-ready{transform:translateX(-50%)}
}
.juice-on.juice-reduced #lumiImg,.juice-on.juice-reduced #nesa,.juice-on.juice-reduced .reward-highfive,.juice-on.juice-reduced .panel-characters img,.juice-on.juice-reduced .reward{animation:none!important}
.juice-on.juice-reduced .wash,.juice-on.juice-reduced .round.juice-last-round{animation:none!important}
