/* PSARI King of the Wild — original cinematic tumble presentation.
   No change to the engine's outcome, payment, stop or win calculations. */

/* A reel should NEVER turn into a grid of empty stars while symbols enter.
   Retain a subdued full-size symbol afterimage until its replacement lands. */
.reels-grid.psari-gravity-active > .reel-cell {
  background:radial-gradient(circle at 55% 43%,#8a5f315a,#2c0c20 83%)!important;
  border-color:#dc9b4c98!important;
  box-shadow:inset 0 0 18px #e59f4940!important;
}
.reels-grid.psari-gravity-active > .reel-cell img{
  visibility:visible!important;
  opacity:.33!important;
  filter:saturate(.76) brightness(.77) sepia(.12)!important;
  transition:none!important;
}
.reels-grid.psari-gravity-active > .reel-cell:before {
  content:""!important;
  display:none!important;
}
.reels-grid.psari-gravity-active > .reel-cell.won img{
  opacity:.26!important;
  filter:saturate(.95) brightness(.9) sepia(.14)!important;
}
.psari-gravity-piece{
  background:radial-gradient(circle at 50% 32%,#542038,#1a091d);
  border:1px solid #e3a958a5;
  box-shadow:inset 0 0 11px #f8bf6780,0 0 6px #f7c6623d;
}
.psari-gravity-piece img{
  filter:drop-shadow(0 0 3px #e6a44b3b);
}
.psari-gravity-piece.psari-gravity-winning{
  overflow:visible;
  isolation:isolate;
  z-index:8;
  border-color:#ffe6ac;
  box-shadow:0 0 10px 1px #f6aa386b,inset 0 0 9px #fff7a83c;
}
.psari-gravity-piece.psari-gravity-winning.psari-gravity-pop{
  animation:psari-cinematic-symbol-flare .5s cubic-bezier(.12,.72,.3,1) both!important;
}
.psari-gravity-piece.psari-gravity-winning.psari-gravity-pop:before{
  inset:-47%;
  z-index:10;
  border-radius:50%;
  background:radial-gradient(circle,#ffe8a62b 0%,#ffd37b5b 15%,#ffb83a57 30%,#de801f25 49%,transparent 70%);
  mix-blend-mode:screen;
  animation:psari-cinematic-symbol-fire .56s cubic-bezier(.15,.8,.2,1) both!important;
}
.psari-gravity-piece.psari-gravity-winning.psari-gravity-pop:after{
  inset:-43%;
  z-index:11;
  border:2px solid #f8cb72a1;
  box-shadow:0 0 8px #ffda655a,inset 0 0 7px #fff6d057;
  animation:psari-cinematic-symbol-ring .53s ease-out both!important;
}
.psari-gravity-piece.psari-gravity-new {
  z-index:5;
  border-color:#efb765af;
  box-shadow:0 0 12px #efab5c70,inset 0 0 12px #fdcf7e6b;
}
.psari-gravity-piece.psari-gravity-new img{
  filter:brightness(1.12) saturate(1.1) drop-shadow(0 0 7px #f6be6b85);
}
@keyframes psari-cinematic-symbol-flare{
  0%{opacity:1;filter:brightness(1);transform:scale(1)}
  24%{opacity:1;filter:brightness(1.45) saturate(1.25);transform:scale(1.09)}
  56%{opacity:.95;filter:brightness(1.55);transform:scale(1.13)}
  100%{opacity:.06;filter:brightness(1.15);transform:scale(.73)}
}
@keyframes psari-cinematic-symbol-fire{
  0%{transform:scale(.08) rotate(-8deg);opacity:0}
  20%{transform:scale(.55) rotate(8deg);opacity:1}
  64%{transform:scale(1.28) rotate(-6deg);opacity:.9}
  100%{transform:scale(1.72);opacity:0}
}
@keyframes psari-cinematic-symbol-ring{
  0%{transform:scale(.26);opacity:1}
  36%{transform:scale(.8);opacity:.95}
  100%{transform:scale(1.6);opacity:0}
}

/* Stage-wide blast: jungle-gold rays ripple across the whole playable scene,
   while the 6 x 5 board remains in its fixed geometry. */
.psari-tumble-atmosphere {
  position:absolute;inset:0;z-index:9;
  overflow:hidden;pointer-events:none;isolation:isolate;
  mix-blend-mode:screen;
  background:radial-gradient(ellipse 53% 50% at 51% 49%,#ffd76235,transparent 83%);
  animation:psari-tumble-scenic-flash 1.03s ease-out both;
}
.psari-tumble-atmosphere:before {
  content:"";position:absolute;
  width:82%;aspect-ratio:1;left:9%;top:-21%;
  border:7px solid #f5be596e;
  border-radius:50%;
  box-shadow:0 0 55px 22px #ffc85243,inset 0 0 65px 12px #fff4c04f;
  animation:psari-tumble-shockwave .88s cubic-bezier(.1,.77,.29,1) both;
}
.psari-tumble-atmosphere:after {
  content:"";position:absolute;inset:-80% -24%;
  background:conic-gradient(from 18deg at 49% 50%,
    transparent 0 20deg,#e5b34f31 26deg,transparent 31deg 82deg,
    #ffdd8547 89deg,transparent 94deg 143deg,
    #ebc66b33 150deg,transparent 155deg 220deg,
    #ffd67b31 230deg,transparent 237deg 300deg,
    #fff1a12e 306deg,transparent 315deg);
  animation:psari-tumble-lightwheel 1.05s cubic-bezier(.25,.66,.45,1) both;
}
.psari-tumble-spark {
  position:absolute;z-index:3;
  left:var(--x);top:var(--y);
  width:var(--size);height:var(--size);
  background:radial-gradient(circle,#fffdf3 0%,#fff0a0 31%,#f1a32d99 60%,transparent 75%);
  box-shadow:0 0 9px #ffe09d,0 0 22px #e7a531ab;
  border-radius:50%;pointer-events:none;
  animation:psari-tumble-spark-fly var(--speed) ease-out var(--delay) both;
}
@keyframes psari-tumble-scenic-flash{
  0%{opacity:0;filter:brightness(1)}
  14%{opacity:.92;filter:brightness(1.45)}
  40%{opacity:.65;filter:brightness(1.05)}
  100%{opacity:0}
}
@keyframes psari-tumble-shockwave{
  0%{opacity:.05;transform:scale(.16)}
  34%{opacity:1}
  100%{opacity:0;transform:scale(2)}
}
@keyframes psari-tumble-lightwheel{
  0%{opacity:0;transform:rotate(-20deg) scale(.7)}
  30%{opacity:1}
  100%{opacity:0;transform:rotate(33deg) scale(1.25)}
}
@keyframes psari-tumble-spark-fly{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.3)}
  15%{opacity:1}
  100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) scale(.04)}
}

/* A legible, physically centered payout banner remains attached to the board,
   and uses the *actual* already-computed round win, never invented amounts. */
.psari-tumble-banner{
  position:absolute;
  z-index:16;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  gap:12px;box-sizing:border-box;
  padding:5px 20px;
  border:2px ridge #ffe0a5;
  border-radius:12px;
  color:#ffeabc;
  background:linear-gradient(95deg,#1a0a17e8,#6b2716f5 38%,#582010f5 64%,#1a0a17e8);
  box-shadow:inset 0 0 16px #edac5666,0 0 23px 5px #ffc75b6b,0 3px 10px #0a0307ad;
  text-shadow:0 2px 2px #260b08,0 0 12px #f6c65b94;
  animation:psari-tumble-banner-enter .77s cubic-bezier(.13,.77,.22,1) both;
}
.psari-tumble-banner .psari-tumble-label{
  display:block;
  font:900 17px/1.1 Georgia,'Times New Roman',serif;
  letter-spacing:.035em;
  white-space:nowrap;
  color:#fff1bb;
}
.psari-tumble-banner strong{
  display:block;
  font:900 27px/1 Georgia,'Times New Roman',serif;
  letter-spacing:.015em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  color:#fff7d7;
}
.desktop-stage>.psari-tumble-banner{
  top:244px;left:555px;width:581px;height:43px;
}
body[data-psari-mode] .desktop-stage>.psari-tumble-banner{
  top:293px;height:41px;
}
@keyframes psari-tumble-banner-enter{
  0%{opacity:0;transform:translateY(12px) scale(.78);filter:brightness(2.2)}
  22%{opacity:1;transform:translateY(0) scale(1.035)}
  65%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:.8;transform:translateY(-3px) scale(1)}
}
.mobile-board-frame{position:relative}
.mobile-board-frame>.psari-tumble-banner{
  top:0;left:0;right:0;width:100%;height:40px;
  gap:7px;padding:4px 6px;
  border-radius:6px;
}
.mobile-board-frame>.psari-tumble-banner .psari-tumble-label{font-size:11px}
.mobile-board-frame>.psari-tumble-banner strong{font-size:19px}
.mobile-board-frame>.psari-tumble-atmosphere{z-index:10;mix-blend-mode:screen}
@media(max-width:900px){
  .psari-tumble-atmosphere:before{left:-20%;top:-50%;width:140%}
}
@media(prefers-reduced-motion:reduce){
  .psari-tumble-atmosphere,.psari-tumble-spark{display:none!important}
  .psari-tumble-banner,.psari-gravity-winning.psari-gravity-pop{animation:none!important}
}

/* Center-stage jackpot-style impact, only during the initial clear.
   The real persistent win counter stays in the existing result HUD. */
.psari-tumble-centerwin{
  position:absolute;z-index:17;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  padding:0 12px;box-sizing:border-box;
  color:#fff6cd;
  font:900 78px/.95 Georgia,'Times New Roman',serif;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  -webkit-text-stroke:.7px #f4b44e;
  text-shadow:0 2px 3px #3b1009,0 0 10px #fff3bc,
    0 0 32px #ffb135,0 0 60px #ff8f18;
  filter:drop-shadow(0 8px 5px #10040ca6);
  animation:psari-tumble-big-win .75s cubic-bezier(.16,.8,.25,1) both;
}
.desktop-stage>.psari-tumble-centerwin{
  left:555px;top:390px;width:581px;height:110px;
}
.mobile-board-frame>.psari-tumble-centerwin{
  left:0;top:31%;width:100%;height:30%;
  font-size:clamp(35px,10vw,60px);
}
@keyframes psari-tumble-big-win{
  0%{opacity:0;transform:scale(.48) translateY(25px);filter:brightness(3) blur(3px)}
  18%{opacity:1;transform:scale(1.2) translateY(-5px);filter:brightness(1.7)}
  42%{opacity:1;transform:scale(1) translateY(0);filter:brightness(1)}
  72%{opacity:.83;transform:scale(1.04) translateY(-5px)}
  100%{opacity:0;transform:scale(1.2) translateY(-20px)}
}
@media(prefers-reduced-motion:reduce){
 .psari-tumble-centerwin{display:none!important}
}
