/* KASINO INCES88 — FUN ANIMATIONS (mobile landing) */

/* ── HUJAN KOIN (background) ── */
@keyframes coinFall {
  0%   { transform: translateY(-12vh) rotate(0deg); opacity: 0; }
  8%   { opacity: .85; }
  100% { transform: translateY(112vh) rotate(360deg); opacity: 0; }
}
.coin-rain {
  position: fixed; inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}
.coin-rain span {
  position: absolute;
  top: -12vh;
  animation: coinFall linear infinite;
  will-change: transform;
  filter: drop-shadow(0 0 6px rgba(255, 200, 50, .5));
}

/* ── MASCOT MEMANTUL ── */
@keyframes mascotBounce {
  0%, 100% { transform: translateY(0) scale(1, 1); }
  45%      { transform: translateY(-16px) scale(.98, 1.03); }
  55%      { transform: translateY(0) scale(1.04, .96); }
  70%      { transform: translateY(-7px) scale(1, 1); }
}
.mascot {
  display: inline-block;
  animation: mascotBounce 1.6s ease-in-out infinite;
  cursor: pointer;
  user-select: none;
}
.mascot:active { animation: mascotSpin .6s ease; }

@keyframes mascotSpin {
  0% { transform: rotate(0) scale(1); }
  50% { transform: rotate(180deg) scale(1.25); }
  100% { transform: rotate(360deg) scale(1); }
}

/* ── JACKPOT TICKER (angka jalan) ── */
@keyframes jackpotGlow {
  0%, 100% { text-shadow: 0 0 8px rgba(255,215,0,.7), 0 0 20px rgba(255,180,0,.4); }
  50%      { text-shadow: 0 0 16px rgba(255,215,0,1), 0 0 40px rgba(255,180,0,.8); }
}
.jackpot {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 900;
  color: #ffd54f;
  letter-spacing: 2px;
  animation: jackpotGlow 1.8s ease-in-out infinite;
  font-variant-numeric: tabular-nums;
}
.jackpot small { display: block; font-size: .65rem; color: #cbd5e1; letter-spacing: 3px; font-weight: 700; }

/* ── MARQUEE PROMO ── */
.marquee {
  overflow: hidden;
  white-space: nowrap;
  border-radius: 30px;
  background: linear-gradient(90deg, #1e3a5f, #0f2440);
  border: 1px solid rgba(255, 213, 79, .35);
  padding: 8px 0;
  margin: 10px 0;
}
.marquee-track {
  display: inline-block;
  animation: marqueeMove 18s linear infinite;
  font-size: .78rem;
  color: #ffe08a;
  font-weight: 700;
}
.marquee-track span { margin: 0 18px; }
@keyframes marqueeMove {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── MESIN SLOT MINI ── */
.slot-machine {
  background: linear-gradient(160deg, #2a1a4a, #1a0f30);
  border-radius: 18px;
  border: 2px solid #ffd54f;
  padding: 14px 12px 16px;
  margin: 12px 0;
  box-shadow: 0 10px 30px rgba(0,0,0,.5), inset 0 0 30px rgba(255,213,79,.08);
}
.slot-reels {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.reel {
  width: 76px; height: 88px;
  background: #0b0b1e;
  border-radius: 12px;
  border: 2px solid #ffd54f;
  display: flex; align-items: center; justify-content: center;
  font-size: 2.6rem;
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.8);
}
.reel-inner { transition: transform .5s cubic-bezier(.2, .8, .3, 1); }
.reel.speed .reel-inner { animation: reelSpin .35s linear infinite; }
@keyframes reelSpin {
  0% { transform: translateY(0); }
  100% { transform: translateY(-100%); }
}
.slot-msg {
  text-align: center;
  margin-top: 10px;
  font-size: .8rem;
  font-weight: 800;
  color: #ffd54f;
  min-height: 1.2em;
}
.slot-btn {
  display: block;
  margin: 10px auto 0;
  background: linear-gradient(180deg, #ffd54f, #f59e0b);
  color: #1a0f30;
  border: 0;
  border-radius: 30px;
  padding: 10px 28px;
  font-weight: 900;
  font-size: .9rem;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(255, 190, 0, .45);
  transition: transform .1s;
}
.slot-btn:active { transform: scale(.92); }

/* ── KONFETI ── */
.confetti-piece {
  position: fixed;
  top: -10px;
  width: 10px; height: 16px;
  z-index: 999;
  pointer-events: none;
  animation: confettiFall linear forwards;
}
@keyframes confettiFall {
  0%   { transform: translateY(-5vh) rotate(0deg); opacity: 1; }
  100% { transform: translateY(115vh) rotate(720deg); opacity: 0; }
}

/* ── TOMBOL GOYANG ── */
@keyframes wiggleBtn {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-2.5deg) scale(1.03); }
  75% { transform: rotate(2.5deg) scale(1.03); }
}
.btn-fun:hover { animation: wiggleBtn .5s ease; }

/* ── EMOJI LEDAKAN (pop) ── */
@keyframes emojiPop {
  0%   { transform: scale(0) rotate(-30deg); opacity: 0; }
  60%  { transform: scale(1.3) rotate(10deg); opacity: 1; }
  100% { transform: scale(1) rotate(0); opacity: 1; }
}
.emoji-pop { animation: emojiPop .5s cubic-bezier(.34, 1.56, .64, 1) both; }

/* ── SPLASH TEXT LUCU ── */
@keyframes funText {
  0%, 100% { transform: scale(1); opacity: .9; }
  50% { transform: scale(1.08); opacity: 1; }
}
.fun-text { animation: funText 1.4s ease-in-out infinite; }

/* mobile: reel lebih kecil di layar sempit */
@media (max-width: 380px) {
  .reel { width: 62px; height: 72px; font-size: 2.1rem; }
  .jackpot { font-size: 1.3rem; }
}
