/* Exaggerated arcade pachinko/slot-machine mood for bonus and result phases. */
.theme-pachinko {
  color: #fff8df;
  background: #060003;
}

.theme-pachinko .stage {
  animation: screenShake 0.18s linear infinite;
}

.theme-pachinko .stage__backdrop {
  background:
    radial-gradient(circle at 50% 16%, rgba(255, 245, 123, 0.95), transparent 11rem),
    radial-gradient(circle at 18% 66%, rgba(255, 0, 48, 0.92), transparent 17rem),
    radial-gradient(circle at 82% 72%, rgba(255, 139, 0, 0.8), transparent 16rem),
    repeating-linear-gradient(90deg, rgba(255, 212, 71, 0.22) 0 8px, transparent 8px 18px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0 2px, transparent 2px 8px),
    linear-gradient(135deg, #050002 0%, #240006 18%, #8e0017 45%, #ff2a00 64%, #12000f 100%);
}

.theme-pachinko .stage::before {
  inset: 9px;
  border: 7px dotted rgba(255, 212, 71, 0.94);
  border-radius: 22px;
  opacity: 1;
  filter:
    drop-shadow(0 0 8px rgba(255, 245, 123, 0.95))
    drop-shadow(0 0 18px rgba(255, 22, 63, 0.9))
    drop-shadow(0 0 32px rgba(255, 139, 0, 0.65));
  animation: flashingBorder 0.38s steps(2, end) infinite;
}

.theme-pachinko .stage::after {
  inset: -20%;
  opacity: 0.52;
  background:
    radial-gradient(circle, rgba(255, 245, 123, 0.34) 0 3px, transparent 4px) 0 0 / 42px 42px,
    conic-gradient(from 0deg, transparent, rgba(255, 212, 71, 0.6), transparent, rgba(255, 0, 48, 0.72), transparent);
  animation: coinBurst 3.4s linear infinite;
}

.theme-pachinko .hero-copy {
  text-shadow: 0 0 18px rgba(255, 245, 123, 0.72);
}

.theme-pachinko h1 {
  font-size: clamp(1.78rem, 8.2vw, 2.46rem);
  line-height: 0.96;
}

.theme-pachinko .top-status {
  margin-bottom: 5px;
}

.theme-pachinko .eyebrow,
.theme-pachinko .spin-count {
  min-height: 28px;
  padding: 4px 11px;
  font-size: 0.72rem;
  border-color: #ffd447;
  background: #190006;
  color: #fff57b;
  box-shadow:
    inset 0 0 14px rgba(255, 22, 63, 0.72),
    0 0 14px rgba(255, 212, 71, 0.95),
    0 0 32px rgba(255, 22, 63, 0.78);
  animation: neonText 0.9s ease-in-out infinite;
}

.theme-pachinko .spin-count {
  color: #ffffff;
}

.theme-pachinko .lead {
  max-width: 330px;
  margin-top: 5px;
  color: #ffffff;
  font-size: clamp(0.9rem, 4.2vw, 1.16rem);
  line-height: 1.08;
  text-shadow:
    0 0 10px rgba(255, 255, 255, 0.8),
    0 0 18px rgba(255, 212, 71, 0.7);
}

.theme-pachinko .is-bonus .lead {
  max-width: 300px;
  font-size: clamp(0.78rem, 3.7vw, 1rem);
}

.theme-pachinko .result-panel {
  border: 3px solid rgba(255, 212, 71, 0.92);
  padding: 10px 12px;
  background:
    repeating-linear-gradient(90deg, rgba(255, 0, 48, 0.16) 0 6px, transparent 6px 14px),
    linear-gradient(180deg, rgba(44, 0, 9, 0.96), rgba(9, 0, 5, 0.94));
  box-shadow:
    inset 0 0 20px rgba(255, 22, 63, 0.54),
    0 0 16px rgba(255, 245, 123, 0.86),
    0 0 46px rgba(255, 22, 63, 0.74);
  animation: jackpotPulse 0.76s ease-in-out infinite;
}

.theme-pachinko .is-bonus .result-panel {
  padding: 8px 10px;
}

.theme-pachinko .is-bonus .round-label {
  font-size: clamp(0.86rem, 3.4vw, 1rem);
}

.theme-pachinko .is-bonus .result {
  margin-top: 3px;
  font-size: clamp(1.28rem, 6vw, 1.72rem);
  line-height: 0.98;
}

.theme-pachinko .round-label,
.theme-pachinko .result,
.theme-pachinko .result__sub {
  color: #ffd447;
  text-shadow:
    0 0 8px rgba(255, 245, 123, 0.95),
    0 0 20px rgba(255, 22, 63, 0.86),
    0 3px 0 rgba(0, 0, 0, 0.48);
  animation: neonText 0.84s ease-in-out infinite;
}

.theme-pachinko .grade-badge {
  box-shadow:
    0 0 10px rgba(255, 245, 123, 0.9),
    0 0 28px rgba(255, 22, 63, 0.72);
}

.theme-pachinko .is-super-wheel .grade-badge {
  color: #7df7ff;
  background: #13004d;
  box-shadow:
    0 0 10px rgba(125, 247, 255, 0.95),
    0 0 28px rgba(194, 0, 255, 0.72);
}

.theme-pachinko .wheel {
  border-color: #ffd447;
  background:
    repeating-conic-gradient(
      from -11.25deg,
      rgba(255, 255, 255, 0.8) 0deg 2deg,
      transparent 2deg 22.5deg
    ),
    conic-gradient(
      from -11.25deg,
      #ff001f 0deg 22.5deg,
      #ffd447 22.5deg 45deg,
      #050005 45deg 67.5deg,
      #ff7a00 67.5deg 90deg,
      #ff001f 90deg 112.5deg,
      #ffd447 112.5deg 135deg,
      #050005 135deg 157.5deg,
      #ff7a00 157.5deg 180deg,
      #ff001f 180deg 202.5deg,
      #ffd447 202.5deg 225deg,
      #050005 225deg 247.5deg,
      #ff7a00 247.5deg 270deg,
      #ff001f 270deg 292.5deg,
      #ffd447 292.5deg 315deg,
      #050005 315deg 337.5deg,
      #ff7a00 337.5deg 360deg
    );
  box-shadow:
    inset 0 0 0 9px rgba(255, 255, 255, 0.2),
    inset 0 0 34px rgba(255, 0, 48, 0.52),
    0 0 14px rgba(255, 255, 255, 0.86),
    0 0 34px rgba(255, 212, 71, 1),
    0 0 86px rgba(255, 22, 63, 0.92),
    0 0 126px rgba(255, 139, 0, 0.56);
}

.theme-pachinko .wheel::before {
  border-color: rgba(255, 245, 123, 0.96);
  box-shadow: 0 0 26px rgba(255, 245, 123, 0.82);
  animation: flashingBorder 0.52s steps(2, end) infinite;
}

.theme-pachinko .wheel__portrait {
  display: none;
}

.theme-pachinko .wheel__segment strong {
  color: #fff57b;
  text-shadow:
    0 0 8px rgba(255, 245, 123, 0.95),
    0 0 18px rgba(255, 22, 63, 0.88),
    0 3px 0 rgba(0, 0, 0, 0.48);
}

.theme-pachinko .wheel__score {
  color: #190006;
  background: #fff57b;
  text-shadow: none;
  box-shadow:
    0 0 8px rgba(255, 245, 123, 0.9),
    0 2px 0 rgba(0, 0, 0, 0.35);
}

.theme-pachinko .wheel__hub {
  background-color: #d90028;
  background-image: radial-gradient(circle at 35% 28%, #ff4d67, #d90028 62%, #4a000d);
  color: #fff57b;
  text-shadow:
    0 0 8px rgba(255, 245, 123, 0.95),
    0 0 18px rgba(255, 22, 63, 0.78);
  box-shadow:
    inset 0 0 18px rgba(255, 245, 123, 0.24),
    0 0 18px rgba(255, 245, 123, 0.85),
    0 0 38px rgba(255, 22, 63, 0.72);
  animation: neonText 0.62s ease-in-out infinite;
}

.theme-pachinko .bonus-banner {
  position: relative;
  grid-template-columns: 1fr 0.58fr;
  align-items: stretch;
  gap: 7px;
}

.theme-pachinko .bonus-banner::before {
  content: "";
  position: absolute;
  inset: -6px;
  z-index: -1;
  border: 3px solid rgba(255, 212, 71, 0.86);
  border-radius: 12px;
  background:
    radial-gradient(circle, rgba(255, 212, 71, 0.82) 0 4px, transparent 5px) 0 0 / 28px 28px,
    rgba(8, 0, 4, 0.5);
  box-shadow:
    0 0 18px rgba(255, 245, 123, 0.82),
    0 0 42px rgba(255, 22, 63, 0.7);
  animation: flashingBorder 0.42s steps(2, end) infinite;
}

.theme-pachinko .bonus-banner span {
  display: grid;
  place-items: center;
  min-height: 42px;
  border: 3px solid rgba(255, 212, 71, 0.96);
  border-radius: 8px;
  padding: 7px 7px;
  background:
    repeating-linear-gradient(0deg, rgba(255, 245, 123, 0.08) 0 2px, transparent 2px 5px),
    linear-gradient(180deg, rgba(255, 245, 123, 0.26), transparent),
    #170006;
  color: #fff57b;
  font-size: clamp(1.08rem, 4.8vw, 1.48rem);
  font-weight: 1000;
  line-height: 1.05;
  text-align: center;
  text-shadow:
    0 0 7px rgba(255, 245, 123, 0.95),
    0 0 16px rgba(255, 22, 63, 0.9);
  box-shadow:
    inset 0 0 18px rgba(255, 22, 63, 0.42),
    0 0 14px rgba(255, 245, 123, 0.78),
    0 0 30px rgba(255, 22, 63, 0.62);
  animation: neonText 0.62s ease-in-out infinite;
}

.theme-pachinko .bonus-banner span:first-child {
  grid-column: 1 / -1;
  min-height: 46px;
  font-size: clamp(1.68rem, 8.8vw, 2.35rem);
  line-height: 0.9;
}

.theme-pachinko .bonus-banner span:nth-child(2) {
  color: #ffffff;
  grid-column: 1 / -1;
  min-height: 42px;
  font-size: clamp(1.72rem, 8.6vw, 2.28rem);
  line-height: 0.92;
  background:
    radial-gradient(circle at 50% 20%, rgba(255, 245, 123, 0.34), transparent 42%),
    #a00018;
  animation: jackpotPulse 0.42s ease-in-out infinite;
}

.theme-pachinko .is-bonus .bonus-banner span:nth-child(n+3) {
  display: none;
}

.theme-pachinko .spin-button {
  color: #2a000b;
  background: linear-gradient(180deg, #fff57b, #ffb11a 52%, #ff7a00);
  box-shadow:
    0 10px 0 #9c3d00,
    0 0 16px rgba(255, 245, 123, 0.86),
    0 24px 34px rgba(255, 139, 0, 0.42);
}

.theme-pachinko .is-super-wheel .stage__backdrop {
  background:
    radial-gradient(circle at 50% 16%, rgba(125, 247, 255, 0.92), transparent 12rem),
    radial-gradient(circle at 18% 66%, rgba(81, 40, 255, 0.9), transparent 17rem),
    radial-gradient(circle at 82% 72%, rgba(194, 0, 255, 0.82), transparent 16rem),
    repeating-linear-gradient(90deg, rgba(125, 247, 255, 0.18) 0 8px, transparent 8px 18px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0 2px, transparent 2px 8px),
    linear-gradient(135deg, #020013 0%, #0d0040 28%, #3f00a8 54%, #050018 100%);
}

.theme-pachinko .is-super-wheel .stage::before {
  border-color: rgba(125, 247, 255, 0.95);
  filter:
    drop-shadow(0 0 8px rgba(125, 247, 255, 0.95))
    drop-shadow(0 0 18px rgba(194, 0, 255, 0.86));
}

.theme-pachinko .is-super-wheel .eyebrow,
.theme-pachinko .is-super-wheel .result-panel,
.theme-pachinko .is-super-wheel .bonus-banner::before,
.theme-pachinko .is-super-wheel .bonus-banner span {
  border-color: rgba(125, 247, 255, 0.96);
  box-shadow:
    inset 0 0 18px rgba(81, 40, 255, 0.45),
    0 0 16px rgba(125, 247, 255, 0.86),
    0 0 34px rgba(194, 0, 255, 0.66);
}

.theme-pachinko .is-super-wheel .round-label,
.theme-pachinko .is-super-wheel .result,
.theme-pachinko .is-super-wheel .bonus-banner span,
.theme-pachinko .is-super-wheel .eyebrow,
.theme-pachinko .is-super-wheel .spin-count {
  color: #7df7ff;
  text-shadow:
    0 0 8px rgba(125, 247, 255, 0.98),
    0 0 22px rgba(194, 0, 255, 0.9);
}

.theme-pachinko .is-super-wheel .wheel {
  border-color: #7df7ff;
  box-shadow:
    inset 0 0 0 9px rgba(255, 255, 255, 0.16),
    inset 0 0 34px rgba(81, 40, 255, 0.52),
    0 0 18px rgba(125, 247, 255, 0.95),
    0 0 46px rgba(194, 0, 255, 0.82),
    0 0 96px rgba(0, 217, 255, 0.5);
}

.theme-pachinko .is-super-wheel .wheel__hub {
  background-color: #651fff;
  background-image: radial-gradient(circle at 35% 28%, #7df7ff, #651fff 58%, #12003f);
  color: #ffffff;
  text-shadow:
    0 0 8px rgba(255, 255, 255, 0.95),
    0 0 22px rgba(125, 247, 255, 0.88);
}

.theme-pachinko .is-super-wheel .spin-button {
  color: #06001a;
  background: linear-gradient(180deg, #7df7ff, #8a4dff 55%, #c200ff);
  box-shadow:
    0 10px 0 #31008a,
    0 0 16px rgba(125, 247, 255, 0.86),
    0 24px 34px rgba(194, 0, 255, 0.42);
}

.theme-pachinko .is-spinning .stage {
  animation: none;
}

.theme-pachinko .is-spinning .stage::before {
  animation: none;
  opacity: 0.62;
  filter: drop-shadow(0 0 10px rgba(255, 212, 71, 0.72));
}

.theme-pachinko .is-spinning .stage::after {
  animation: none;
  opacity: 0.12;
}

.theme-pachinko .is-spinning .result-panel,
.theme-pachinko .is-spinning .round-label,
.theme-pachinko .is-spinning .result,
.theme-pachinko .is-spinning .eyebrow,
.theme-pachinko .is-spinning .wheel::before,
.theme-pachinko .is-spinning .wheel__hub,
.theme-pachinko .is-spinning .bonus-banner::before,
.theme-pachinko .is-spinning .bonus-banner span {
  animation: none;
}

.theme-pachinko .is-spinning .wheel {
  box-shadow:
    inset 0 0 0 9px rgba(255, 255, 255, 0.16),
    0 0 22px rgba(255, 212, 71, 0.82),
    0 0 52px rgba(255, 22, 63, 0.5);
}

.theme-pachinko .is-spinning .wheel__score,
.theme-pachinko .is-spinning .wheel__segment strong {
  text-shadow: none;
  box-shadow: none;
}

@media (min-width: 720px) {
  .theme-pachinko .stage::before {
    inset: 10px;
  }
}
