/*
 * ==========================================================
 * VIBE GAME SCENES 2.0
 * ==========================================================
 */

.gs-game-card{
  position:relative;

  overflow:hidden;
}


.gs-game-card
>.vb-card-body
>.vgame-icon{
  position:absolute;

  width:1px;
  height:1px;

  overflow:hidden;

  opacity:0;

  pointer-events:none;
}


.gs-scene{
  position:relative;

  height:155px;

  display:grid;
  place-items:center;

  margin-bottom:13px;

  overflow:hidden;

  border:
    1px solid
    rgba(255,255,255,.055);

  border-radius:16px;

  background:
    radial-gradient(
      circle at 50% 40%,
      rgba(139,124,255,.09),
      transparent 45%
    ),
    #090b11;

  transform:
    translateZ(0);
}


.gs-scene::after{
  content:"";

  position:absolute;

  inset:0;

  pointer-events:none;

  background:
    linear-gradient(
      110deg,
      transparent 20%,
      rgba(255,255,255,.025) 48%,
      transparent 76%
    );

  transform:
    translateX(-100%);
}


.gs-is-playing
.gs-scene::after{
  animation:
    gs-scan
    .75s
    linear
    infinite;
}


/* ==========================================================
 * OUTCOME
 * ========================================================== */

.gs-outcome-win{
  border-color:
    rgba(74,222,128,.26)
    !important;
}


.gs-outcome-loss{
  border-color:
    rgba(251,113,133,.19)
    !important;
}


.gs-outcome-draw{
  border-color:
    rgba(148,163,184,.16)
    !important;
}


.gs-delta-chip{
  position:absolute;

  z-index:30;

  top:13px;
  right:13px;

  padding:
    7px
    9px;

  border-radius:999px;

  font-family:
    ui-monospace,
    monospace;

  font-size:10px;
  font-weight:900;

  pointer-events:none;

  animation:
    gs-delta
    1.1s
    cubic-bezier(.2,.8,.2,1)
    forwards;
}


.gs-delta-chip.win{
  color:#86efac;

  border:
    1px solid
    rgba(74,222,128,.22);

  background:
    rgba(22,101,52,.88);
}


.gs-delta-chip.loss{
  color:#fecdd3;

  border:
    1px solid
    rgba(251,113,133,.20);

  background:
    rgba(127,29,29,.88);
}


.gs-delta-chip.draw{
  color:#cbd5e1;

  border:
    1px solid
    rgba(148,163,184,.16);

  background:
    rgba(30,41,59,.88);
}


/* ==========================================================
 * SLOTS
 * ========================================================== */

.gs-slots{
  background:
    radial-gradient(
      circle at 50% 30%,
      rgba(250,204,21,.08),
      transparent 44%
    ),
    #090b11;
}


.gs-reels{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      66px
    );

  gap:8px;
}


.gs-reel{
  position:relative;

  width:66px;
  height:82px;

  display:grid;
  place-items:center;

  overflow:hidden;

  border:
    1px solid
    rgba(255,255,255,.09);

  border-radius:13px;

  background:
    linear-gradient(
      #111722,
      #07090e
    );

  box-shadow:
    inset 0 9px 18px
      rgba(0,0,0,.32),
    inset 0 -9px 18px
      rgba(0,0,0,.32);
}


.gs-reel::before,
.gs-reel::after{
  content:"";

  position:absolute;

  left:0;
  right:0;

  height:24px;

  z-index:2;

  pointer-events:none;
}


.gs-reel::before{
  top:0;

  background:
    linear-gradient(
      #090b11,
      transparent
    );
}


.gs-reel::after{
  bottom:0;

  background:
    linear-gradient(
      transparent,
      #090b11
    );
}


.gs-reel-value{
  font-size:34px;

  filter:
    drop-shadow(
      0 3px 5px
      rgba(0,0,0,.45)
    );
}


.gs-is-playing
.gs-reel-value{
  animation:
    gs-reel-spin
    .16s
    linear
    infinite;
}


.gs-reel-value.gs-stop{
  animation:
    gs-reel-stop
    .28s
    cubic-bezier(.15,.9,.25,1);
}


.gs-machine-lights{
  position:absolute;

  left:16px;
  right:16px;
  bottom:9px;

  display:flex;
  justify-content:space-between;
}


.gs-machine-lights i{
  width:4px;
  height:4px;

  border-radius:50%;

  background:
    rgba(250,204,21,.25);
}


.gs-is-playing
.gs-machine-lights i{
  animation:
    gs-light
    .5s
    ease-in-out
    infinite alternate;
}


.gs-machine-lights i:nth-child(3n){
  animation-delay:-.25s;
}


.gs-machine-lights i:nth-child(2n){
  animation-delay:-.1s;
}


/* ==========================================================
 * COIN
 * ========================================================== */

.gs-coin-scene{
  perspective:700px;
}


.gs-coin{
  position:relative;

  width:78px;
  height:78px;

  transform-style:
    preserve-3d;
}


.gs-coin>span{
  position:absolute;

  inset:0;

  display:grid;
  place-items:center;

  border:
    2px solid
    rgba(253,224,71,.40);

  border-radius:50%;

  backface-visibility:
    hidden;

  background:
    radial-gradient(
      circle at 32% 28%,
      #fde68a,
      #ca8a04 60%,
      #713f12
    );

  color:#422006;

  font-family:
    ui-monospace,
    monospace;

  font-size:28px;
  font-weight:1000;

  box-shadow:
    inset 0 0 0 5px
      rgba(255,255,255,.12),
    0 12px 25px
      rgba(0,0,0,.30);
}


.gs-coin .back{
  transform:
    rotateY(180deg);
}


.gs-coin.gs-flipping{
  animation:
    gs-coin-flip
    .44s
    linear
    infinite;
}


.gs-coin[
  data-side="tails"
]{
  transform:
    rotateY(180deg);
}


.gs-coin.gs-land{
  animation:
    gs-coin-land
    .34s
    cubic-bezier(.2,.9,.2,1);
}


.gs-scene-label{
  position:absolute;

  bottom:10px;

  color:
    var(--vb-text-soft,#929bad);

  font-size:8px;
  font-weight:900;

  letter-spacing:.14em;
}


/* ==========================================================
 * DICE
 * ========================================================== */

.gs-dice-scene{
  perspective:700px;
}


.gs-die{
  width:75px;
  height:75px;

  display:grid;
  place-items:center;

  border:
    1px solid
    rgba(255,255,255,.22);

  border-radius:18px;

  background:
    linear-gradient(
      145deg,
      #fafafa,
      #cbd5e1
    );

  color:#111827;

  box-shadow:
    inset 0 0 0 5px
      rgba(255,255,255,.23),
    0 15px 25px
      rgba(0,0,0,.28);

  transform-style:
    preserve-3d;
}


.gs-die span{
  font-family:
    ui-monospace,
    monospace;

  font-size:34px;
  font-weight:1000;
}


.gs-die.gs-dice-roll{
  animation:
    gs-dice-roll
    .42s
    linear
    infinite;
}


.gs-die.gs-dice-land{
  animation:
    gs-dice-land
    .35s
    cubic-bezier(.15,.9,.2,1);
}


.gs-dice-floor{
  position:absolute;

  width:110px;
  height:14px;

  bottom:23px;

  border-radius:50%;

  background:
    rgba(0,0,0,.34);

  filter:
    blur(7px);
}


/* ==========================================================
 * RPS
 * ========================================================== */

.gs-rps-scene{
  grid-template-columns:
    1fr
    auto
    1fr;

  padding:
    0
    20px;
}


.gs-rps-side{
  display:grid;
  place-items:center;

  gap:5px;
}


.gs-rps-side small{
  color:
    var(--vb-text-soft,#929bad);

  font-size:8px;
  font-weight:900;

  letter-spacing:.12em;
}


.gs-rps-side strong{
  display:block;

  font-size:50px;

  filter:
    drop-shadow(
      0 10px 12px
      rgba(0,0,0,.25)
    );
}


.gs-rps-vs{
  color:
    rgba(255,255,255,.25);

  font-family:
    ui-monospace,
    monospace;

  font-size:11px;
  font-weight:900;
}


.gs-rps-playing
.gs-rps-side.user strong{
  animation:
    gs-rps-user
    .38s
    ease-in-out
    infinite;
}


.gs-rps-playing
.gs-rps-side.bot strong{
  animation:
    gs-rps-bot
    .38s
    ease-in-out
    infinite;
}


.gs-rps-land
.gs-rps-side strong{
  animation:
    gs-rps-land
    .32s
    ease-out;
}


/* ==========================================================
 * MINE
 * ========================================================== */

.gs-mine-board{
  position:relative;

  overflow:hidden;
}


.gs-mine-sweep{
  position:absolute;

  z-index:3;

  top:-40%;
  bottom:-40%;

  width:2px;

  left:-10%;

  opacity:.11;

  pointer-events:none;

  background:#a78bfa;

  box-shadow:
    0 0 28px 8px
    rgba(139,124,255,.35);

  animation:
    gs-mine-sweep
    3s
    linear
    infinite;
}


.vmine-cell{
  position:relative;

  overflow:hidden;
}


.vmine-cell::after{
  content:"";

  position:absolute;

  inset:0;

  opacity:0;

  pointer-events:none;

  border-radius:inherit;

  background:
    radial-gradient(
      circle,
      rgba(167,139,250,.22),
      transparent 62%
    );

  transition:
    opacity .12s ease;
}


.vmine-cell:hover::after{
  opacity:1;
}


.vmine-cell.gs-cell-scanning{
  animation:
    gs-mine-cell-scan
    .40s
    ease-out;
}


.gs-mine-armed{
  animation:
    gs-mine-armed
    .58s
    ease-out;
}


.gs-mine-win{
  animation:
    gs-mine-win
    .65s
    ease-out;
}


.gs-mine-fx{
  position:fixed;

  z-index:100001;

  width:0;
  height:0;

  pointer-events:none;
}


.gs-mine-fx>strong{
  position:absolute;

  left:-30px;
  top:-30px;

  width:60px;
  height:60px;

  display:grid;
  place-items:center;

  font-size:38px;

  filter:
    drop-shadow(
      0 0 12px
      currentColor
    );
}


.gs-mine-fx.safe>strong{
  color:#86efac;

  animation:
    gs-safe
    .58s
    ease-out
    forwards;
}


.gs-mine-fx.win>strong{
  color:#c4b5fd;

  animation:
    gs-win
    .70s
    ease-out
    forwards;
}


.gs-mine-fx.boom>strong{
  animation:
    gs-boom
    .65s
    cubic-bezier(.15,.9,.25,1)
    forwards;
}


.gs-mine-fx.boom i{
  position:absolute;

  width:5px;
  height:5px;

  border-radius:50%;

  background:
    hsl(
      calc(
        10
        +
        var(--i)
        *
        4
      )
      95%
      62%
    );

  box-shadow:
    0 0 8px
    currentColor;

  transform:
    rotate(
      calc(
        var(--i)
        *
        30deg
      )
    )
    translateX(0);

  animation:
    gs-shrapnel
    .70s
    ease-out
    forwards;
}


/* ==========================================================
 * KEYFRAMES
 * ========================================================== */

@keyframes gs-scan{

  from{
    transform:
      translateX(-100%);
  }

  to{
    transform:
      translateX(100%);
  }

}


@keyframes gs-delta{

  0%{
    opacity:0;

    transform:
      translateY(8px)
      scale(.88);
  }

  18%{
    opacity:1;

    transform:
      translateY(0)
      scale(1.06);
  }

  72%{
    opacity:1;

    transform:
      translateY(-6px)
      scale(1);
  }

  100%{
    opacity:0;

    transform:
      translateY(-14px)
      scale(.96);
  }

}


@keyframes gs-reel-spin{

  0%{
    opacity:.35;

    transform:
      translateY(-22px)
      scaleY(.72);
  }

  50%{
    opacity:1;

    transform:
      translateY(0)
      scaleY(1.12);
  }

  100%{
    opacity:.35;

    transform:
      translateY(22px)
      scaleY(.72);
  }

}


@keyframes gs-reel-stop{

  0%{
    transform:
      translateY(-22px)
      scale(.80);
  }

  65%{
    transform:
      translateY(4px)
      scale(1.12);
  }

  100%{
    transform:
      translateY(0)
      scale(1);
  }

}


@keyframes gs-light{

  from{
    opacity:.15;

    transform:
      scale(.7);
  }

  to{
    opacity:1;

    transform:
      scale(1.3);

    box-shadow:
      0 0 8px
      rgba(250,204,21,.6);
  }

}


@keyframes gs-coin-flip{

  from{
    transform:
      rotateX(0)
      rotateY(0);
  }

  to{
    transform:
      rotateX(360deg)
      rotateY(720deg);
  }

}


@keyframes gs-coin-land{

  0%{
    transform:
      translateY(-18px)
      scale(.85);
  }

  65%{
    transform:
      translateY(3px)
      scale(1.08);
  }

  100%{
    transform:
      translateY(0)
      scale(1);
  }

}


@keyframes gs-dice-roll{

  0%{
    transform:
      rotateX(0)
      rotateY(0)
      rotateZ(0);
  }

  100%{
    transform:
      rotateX(720deg)
      rotateY(540deg)
      rotateZ(360deg);
  }

}


@keyframes gs-dice-land{

  0%{
    transform:
      translateY(-18px)
      rotate(12deg)
      scale(.86);
  }

  55%{
    transform:
      translateY(5px)
      rotate(-5deg)
      scale(1.08);
  }

  100%{
    transform:
      translateY(0)
      rotate(0)
      scale(1);
  }

}


@keyframes gs-rps-user{

  0%,
  100%{
    transform:
      translateX(0)
      rotate(-8deg);
  }

  50%{
    transform:
      translateX(12px)
      rotate(8deg);
  }

}


@keyframes gs-rps-bot{

  0%,
  100%{
    transform:
      translateX(0)
      rotate(8deg);
  }

  50%{
    transform:
      translateX(-12px)
      rotate(-8deg);
  }

}


@keyframes gs-rps-land{

  0%{
    transform:
      scale(.75);
  }

  65%{
    transform:
      scale(1.16);
  }

  100%{
    transform:
      scale(1);
  }

}


@keyframes gs-mine-sweep{

  from{
    left:-10%;
  }

  to{
    left:110%;
  }

}


@keyframes gs-mine-cell-scan{

  0%{
    box-shadow:
      0 0 0 0
      rgba(167,139,250,.45);
  }

  100%{
    box-shadow:
      0 0 0 20px
      rgba(167,139,250,0);
  }

}


@keyframes gs-mine-armed{

  0%{
    filter:
      brightness(.75);
  }

  35%{
    filter:
      brightness(1.35);
  }

  100%{
    filter:
      brightness(1);
  }

}


@keyframes gs-mine-win{

  0%{
    filter:
      brightness(1);
  }

  45%{
    filter:
      brightness(1.35)
      saturate(1.25);
  }

  100%{
    filter:
      brightness(1);
  }

}


@keyframes gs-safe{

  0%{
    opacity:0;

    transform:
      scale(.45);
  }

  45%{
    opacity:1;

    transform:
      scale(1.28);
  }

  100%{
    opacity:0;

    transform:
      translateY(-18px)
      scale(.90);
  }

}


@keyframes gs-win{

  0%{
    opacity:0;

    transform:
      scale(.35)
      rotate(-45deg);
  }

  50%{
    opacity:1;

    transform:
      scale(1.45)
      rotate(12deg);
  }

  100%{
    opacity:0;

    transform:
      translateY(-22px)
      scale(.85)
      rotate(0);
  }

}


@keyframes gs-boom{

  0%{
    opacity:0;

    transform:
      scale(.25)
      rotate(-20deg);
  }

  45%{
    opacity:1;

    transform:
      scale(1.55)
      rotate(9deg);
  }

  100%{
    opacity:0;

    transform:
      scale(2.15)
      rotate(0);
  }

}


@keyframes gs-shrapnel{

  from{
    opacity:1;

    transform:
      rotate(
        calc(
          var(--i)
          *
          30deg
        )
      )
      translateX(4px);
  }

  to{
    opacity:0;

    transform:
      rotate(
        calc(
          var(--i)
          *
          30deg
        )
      )
      translateX(
        calc(
          38px
          +
          var(--i)
          *
          1px
        )
      );
  }

}


/* ==========================================================
 * RESPONSIVE
 * ========================================================== */

@media(max-width:600px){

  .gs-scene{
    height:138px;
  }


  .gs-reels{
    grid-template-columns:
      repeat(
        3,
        58px
      );
  }


  .gs-reel{
    width:58px;
    height:75px;
  }


  .gs-rps-side strong{
    font-size:42px;
  }

}


@media(
  prefers-reduced-motion:
  reduce
){

  .gs-game-card *,
  .gs-game-card *::before,
  .gs-game-card *::after,

  .gs-mine-fx *,
  .gs-mine-fx *::before,
  .gs-mine-fx *::after{

    animation:none
      !important;

    transition:none
      !important;
  }

}

/* VIBE_GAME_SCENES_POLISH_21_CSS_BEGIN */


/* ==========================================================
 * COIN FACES
 * ========================================================== */

.gs-coin>span{
  grid-template-rows:
    auto
    auto;

  align-content:center;
}


.gs-coin>span b{
  font-size:25px;
  line-height:1;
}


.gs-coin>span small{
  margin-top:4px;

  font-size:7px;
  font-weight:1000;

  letter-spacing:.09em;
}


/* ==========================================================
 * REAL DICE PIPS
 * ========================================================== */

.gs-die{
  position:relative;
}


.gs-pip{
  position:absolute;

  width:10px;
  height:10px;

  opacity:0;

  border-radius:50%;

  background:#111827;

  box-shadow:
    inset 0 1px 1px
    rgba(255,255,255,.18);

  transition:
    opacity
    50ms
    linear;
}


.gs-pip.p1{
  left:16px;
  top:16px;
}


.gs-pip.p2{
  left:50%;
  top:16px;

  margin-left:-5px;
}


.gs-pip.p3{
  right:16px;
  top:16px;
}


.gs-pip.p4{
  left:16px;
  top:50%;

  margin-top:-5px;
}


.gs-pip.p5{
  left:50%;
  top:50%;

  margin:
    -5px
    0
    0
    -5px;
}


.gs-pip.p6{
  right:16px;
  top:50%;

  margin-top:-5px;
}


.gs-pip.p7{
  left:16px;
  bottom:16px;
}


.gs-pip.p8{
  left:50%;
  bottom:16px;

  margin-left:-5px;
}


.gs-pip.p9{
  right:16px;
  bottom:16px;
}


/* 1 */

.gs-die[data-gs-face="1"]
.p5{
  opacity:1;
}


/* 2 */

.gs-die[data-gs-face="2"]
.p1,

.gs-die[data-gs-face="2"]
.p9{
  opacity:1;
}


/* 3 */

.gs-die[data-gs-face="3"]
.p1,

.gs-die[data-gs-face="3"]
.p5,

.gs-die[data-gs-face="3"]
.p9{
  opacity:1;
}


/* 4 */

.gs-die[data-gs-face="4"]
.p1,

.gs-die[data-gs-face="4"]
.p3,

.gs-die[data-gs-face="4"]
.p7,

.gs-die[data-gs-face="4"]
.p9{
  opacity:1;
}


/* 5 */

.gs-die[data-gs-face="5"]
.p1,

.gs-die[data-gs-face="5"]
.p3,

.gs-die[data-gs-face="5"]
.p5,

.gs-die[data-gs-face="5"]
.p7,

.gs-die[data-gs-face="5"]
.p9{
  opacity:1;
}


/* 6 */

.gs-die[data-gs-face="6"]
.p1,

.gs-die[data-gs-face="6"]
.p3,

.gs-die[data-gs-face="6"]
.p4,

.gs-die[data-gs-face="6"]
.p6,

.gs-die[data-gs-face="6"]
.p7,

.gs-die[data-gs-face="6"]
.p9{
  opacity:1;
}


/* ==========================================================
 * FINISH
 * ========================================================== */

.gs-finish-layer{
  position:absolute;

  z-index:26;

  left:50%;
  top:126px;

  min-width:116px;

  padding:
    8px
    12px;

  border-radius:12px;

  backdrop-filter:
    blur(12px);

  text-align:center;

  pointer-events:none;

  transform:
    translateX(-50%);

  animation:
    gs-finish
    .92s
    cubic-bezier(.2,.8,.2,1)
    forwards;
}


.gs-finish-layer strong{
  display:block;

  font-size:11px;
  font-weight:1000;

  letter-spacing:.14em;
}


.gs-finish-layer span{
  display:block;

  margin-top:2px;

  font-family:
    ui-monospace,
    monospace;

  font-size:9px;
  font-weight:900;
}


.gs-finish-layer.win{
  color:#bbf7d0;

  border:
    1px solid
    rgba(74,222,128,.24);

  background:
    rgba(20,83,45,.82);
}


.gs-finish-layer.loss{
  color:#fecdd3;

  border:
    1px solid
    rgba(251,113,133,.21);

  background:
    rgba(127,29,29,.80);
}


.gs-finish-layer.draw{
  color:#e2e8f0;

  border:
    1px solid
    rgba(148,163,184,.18);

  background:
    rgba(30,41,59,.82);
}


/* ==========================================================
 * REPEAT
 * ========================================================== */

.gs-repeat{
  width:100%;

  margin-top:7px;

  min-height:38px
    !important;

  opacity:.84;

  font-size:10px
    !important;
}


/* ==========================================================
 * JACKPOT
 * ========================================================== */

.gs-jackpot{
  animation:
    gs-jackpot-card
    .72s
    ease-out;
}


.gs-jackpot-banner{
  position:absolute;

  z-index:40;

  left:50%;
  top:55px;

  display:grid;
  place-items:center;

  padding:
    10px
    18px;

  border:
    1px solid
    rgba(253,224,71,.38);

  border-radius:14px;

  background:
    rgba(113,63,18,.88);

  color:#fef08a;

  pointer-events:none;

  transform:
    translateX(-50%);

  box-shadow:
    0 0 28px
    rgba(250,204,21,.15);

  animation:
    gs-jackpot-banner
    1.5s
    cubic-bezier(.2,.85,.2,1)
    forwards;
}


.gs-jackpot-banner strong{
  font-size:16px;
  font-weight:1000;

  letter-spacing:.13em;
}


.gs-jackpot-banner span{
  margin-top:2px;

  font-family:
    ui-monospace,
    monospace;

  font-size:10px;
}


/* ==========================================================
 * RPS IMPACT
 * ========================================================== */

.gs-rps-impact{
  position:absolute;

  z-index:20;

  left:50%;
  top:50%;

  width:0;
  height:0;

  pointer-events:none;
}


.gs-rps-impact strong{
  position:absolute;

  left:-25px;
  top:-25px;

  width:50px;
  height:50px;

  display:grid;
  place-items:center;

  color:#fde68a;

  font-size:30px;

  text-shadow:
    0 0 18px
    rgba(250,204,21,.55);

  animation:
    gs-rps-impact-core
    .46s
    ease-out
    forwards;
}


.gs-rps-impact i{
  position:absolute;

  left:-1px;
  top:-22px;

  width:2px;
  height:44px;

  background:
    linear-gradient(
      transparent,
      #fde68a,
      transparent
    );

  transform-origin:
    50%
    50%;

  animation:
    gs-rps-impact-line
    .46s
    ease-out
    forwards;
}


.gs-rps-impact i:nth-child(2){
  transform:
    rotate(60deg);
}


.gs-rps-impact i:nth-child(3){
  transform:
    rotate(120deg);
}


/* ==========================================================
 * MINE RICH FX
 * ========================================================== */

.gs-control-busy{
  pointer-events:none;

  opacity:.68;

  filter:
    saturate(.8);
}


.gs-mine-float{
  position:fixed;

  z-index:100005;

  padding:
    7px
    9px;

  border-radius:999px;

  font-family:
    ui-monospace,
    monospace;

  font-size:10px;
  font-weight:1000;

  pointer-events:none;

  transform:
    translate(
      -50%,
      -50%
    );

  animation:
    gs-mine-float
    .85s
    cubic-bezier(.2,.85,.2,1)
    forwards;
}


.gs-mine-float.safe{
  color:#bbf7d0;

  border:
    1px solid
    rgba(74,222,128,.25);

  background:
    rgba(20,83,45,.89);
}


.gs-mine-float.loss{
  color:#fecaca;

  border:
    1px solid
    rgba(248,113,113,.30);

  background:
    rgba(127,29,29,.90);
}


.gs-mine-float.cashout{
  color:#ddd6fe;

  border:
    1px solid
    rgba(167,139,250,.30);

  background:
    rgba(76,29,149,.90);
}


.gs-hazard-reveal{
  position:fixed;

  z-index:100004;

  width:46px;
  height:46px;

  display:grid;
  place-items:center;

  font-size:27px;

  pointer-events:none;

  transform:
    translate(
      -50%,
      -50%
    );

  filter:
    drop-shadow(
      0 0 12px
      rgba(239,68,68,.55)
    );

  animation:
    gs-hazard-reveal
    .90s
    cubic-bezier(.15,.9,.2,1)
    forwards;
}


.gs-screen-shock{
  position:fixed;

  z-index:99998;

  inset:0;

  pointer-events:none;

  background:
    radial-gradient(
      circle,
      rgba(239,68,68,.10),
      rgba(239,68,68,.015) 55%,
      transparent 72%
    );

  animation:
    gs-screen-shock
    .38s
    ease-out
    forwards;
}


/* ==========================================================
 * KEYFRAMES
 * ========================================================== */

@keyframes gs-finish{

  0%{
    opacity:0;

    transform:
      translate(
        -50%,
        9px
      )
      scale(.88);
  }

  22%{
    opacity:1;

    transform:
      translate(
        -50%,
        0
      )
      scale(1.06);
  }

  72%{
    opacity:1;

    transform:
      translate(
        -50%,
        -3px
      )
      scale(1);
  }

  100%{
    opacity:0;

    transform:
      translate(
        -50%,
        -9px
      )
      scale(.96);
  }

}


@keyframes gs-jackpot-card{

  0%{
    filter:
      brightness(1);
  }

  35%{
    filter:
      brightness(1.38)
      saturate(1.25);
  }

  100%{
    filter:
      brightness(1);
  }

}


@keyframes gs-jackpot-banner{

  0%{
    opacity:0;

    transform:
      translateX(-50%)
      scale(.55);
  }

  18%{
    opacity:1;

    transform:
      translateX(-50%)
      scale(1.12);
  }

  75%{
    opacity:1;

    transform:
      translateX(-50%)
      scale(1);
  }

  100%{
    opacity:0;

    transform:
      translateX(-50%)
      translateY(-14px)
      scale(.92);
  }

}


@keyframes gs-rps-impact-core{

  0%{
    opacity:0;

    transform:
      scale(.25)
      rotate(-25deg);
  }

  45%{
    opacity:1;

    transform:
      scale(1.5)
      rotate(8deg);
  }

  100%{
    opacity:0;

    transform:
      scale(2)
      rotate(0);
  }

}


@keyframes gs-rps-impact-line{

  0%{
    opacity:0;

    scale:.25;
  }

  40%{
    opacity:1;

    scale:1;
  }

  100%{
    opacity:0;

    scale:1.7;
  }

}


@keyframes gs-mine-float{

  0%{
    opacity:0;

    transform:
      translate(
        -50%,
        -25%
      )
      scale(.75);
  }

  18%{
    opacity:1;

    transform:
      translate(
        -50%,
        -65%
      )
      scale(1.08);
  }

  72%{
    opacity:1;

    transform:
      translate(
        -50%,
        -105%
      )
      scale(1);
  }

  100%{
    opacity:0;

    transform:
      translate(
        -50%,
        -150%
      )
      scale(.92);
  }

}


@keyframes gs-hazard-reveal{

  0%{
    opacity:0;

    transform:
      translate(
        -50%,
        -50%
      )
      scale(.2)
      rotate(-20deg);
  }

  38%{
    opacity:1;

    transform:
      translate(
        -50%,
        -50%
      )
      scale(1.35)
      rotate(7deg);
  }

  75%{
    opacity:1;

    transform:
      translate(
        -50%,
        -50%
      )
      scale(1);
  }

  100%{
    opacity:0;

    transform:
      translate(
        -50%,
        -70%
      )
      scale(.75);
  }

}


@keyframes gs-screen-shock{

  0%{
    opacity:0;
  }

  22%{
    opacity:1;
  }

  100%{
    opacity:0;
  }

}


/* ==========================================================
 * MOBILE
 * ========================================================== */

@media(max-width:600px){

  .gs-finish-layer{
    top:112px;
  }


  .gs-pip{
    width:9px;
    height:9px;
  }

}


/* ==========================================================
 * ACCESSIBILITY
 * ========================================================== */

@media(
  prefers-reduced-motion:
  reduce
){

  .gs-finish-layer,
  .gs-jackpot,
  .gs-jackpot-banner,
  .gs-rps-impact *,
  .gs-mine-float,
  .gs-hazard-reveal,
  .gs-screen-shock{

    animation:none
      !important;
  }

}

/* VIBE_GAME_SCENES_POLISH_21_CSS_END */
