/* ARCADE V11 — slow, cinematic flows + living stage + spinning balance star */
/* balance star turns slowly */
html.av2 .balance .coin {
  animation: av3balanceTurn 11s linear infinite !important;
  transform-origin: 50% 50%;
  filter: drop-shadow(0 0 6px rgba(255,212,94,.35));
}
@keyframes av3balanceTurn {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

/* slower ambient transitions */
html.av2 .view.on { animation-duration: .4s !important; }
html.av2 .wheel { transition: transform 3.8s cubic-bezier(.12,.78,.18,1) !important; }
html.av2 .card { animation-duration: .4s !important; }
html.av2 .minesgrid button { transition: transform .2s ease, background .35s ease, border-color .35s ease; }
html.av2 .toast { transition: all .3s ease; }

/* stage atmosphere */
html.av2 #av2stage {
  background:
    radial-gradient(700px 420px at 50% 12%, rgba(67,231,255,.15), transparent 65%),
    radial-gradient(700px 500px at 50% 110%, rgba(255,61,139,.12), transparent 65%),
    rgba(2,3,8,.82) !important;
  overflow: hidden;
}
html.av2 #av2stage::before {
  content: "50VS50";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--av2-num);
  font-size: clamp(120px, 26vw, 300px);
  line-height: .8;
  letter-spacing: .02em;
  color: rgba(255,255,255,.035);
  pointer-events: none;
  white-space: nowrap;
}
html.av2 #av2stage::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .6;
  background-image:
    radial-gradient(1.5px 1.5px at 22px 44px, rgba(255,255,255,.85), transparent 70%),
    radial-gradient(1px 1px at 94px 148px, rgba(120,225,255,.8), transparent 70%),
    radial-gradient(2px 2px at 174px 64px, rgba(255,255,255,.9), transparent 70%),
    radial-gradient(1px 1px at 262px 180px, rgba(255,150,220,.8), transparent 70%),
    radial-gradient(1.5px 1.5px at 344px 102px, rgba(255,255,255,.85), transparent 70%);
  background-size: 420px 230px;
  animation: av3stageStars 90s linear infinite;
  mix-blend-mode: screen;
}
@keyframes av3stageStars { to { background-position: 420px 230px; } }
html.av2 .av3-stage-card { position: relative; z-index: 2; }
html.av2 .av3-stage-head { margin-bottom: 2px; }

/* stage rules / footer fill */
html.av2 .av3-ruleline {
  text-align: center;
  font-family: var(--av2-ui);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
  color: var(--av2-dim);
  margin-top: 2px;
  position: relative;
  z-index: 2;
}
html.av2 .av3-stage-foot {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--av2-line);
  position: relative;
  z-index: 2;
}
html.av2 .av3-stage-foot span {
  font-family: var(--av2-ui);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--av2-dim);
}
html.av2 .av3-stage-foot span:last-child { color: var(--av2-gold); }

/* slow game animations */
html.av2 .av3-coin { animation: av3coinSlow 3.4s cubic-bezier(.2,.8,.3,1) infinite !important; }
html.av2 .av3-die { animation: av3diceSlow 2s ease-in-out infinite !important; }
html.av2 .av3-die:nth-child(2) { animation-delay: .28s !important; animation-duration: 2.3s !important; }
html.av2 .av3-wheel { animation: av3wheel 5.5s linear infinite !important; }
html.av2 .av3-stage-card.done .av3-coin { animation: none !important; }
@keyframes av3coinSlow {
  0%, 100% { transform: translateY(0) rotateY(0) rotateZ(-3deg); }
  25% { transform: translateY(-20px) rotateY(360deg) rotateZ(2deg); }
  50% { transform: translateY(0) rotateY(720deg) rotateZ(-2deg); }
  75% { transform: translateY(-12px) rotateY(1080deg) rotateZ(1deg); }
}
@keyframes av3diceSlow {
  0%,100% { transform: translateY(0) rotate(-6deg); }
  50% { transform: translateY(-12px) rotate(8deg); }
}
html.av2 .av3-stage-card.done .av3-detail { font-size: 10px; }
html.av2 .av3-stage-card.done .av3-ruleline { opacity: .4; }

/* stage result appears with a slower reveal */
html.av2 .av3-stage-card.done .av3-result { animation-duration: .6s !important; }
