/* SyokBox V2.23 — preserve approved official artwork and existing flows. */
.splash-official-icon {
  position: relative;
  display: block;
  width: 140px !important;
  height: 140px !important;
}

.splash-official-base,
.splash-official-ribbon {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.splash-official-ribbon {
  transform-origin: 50% 35.5% !important;
}

.fixed-choice-grid .choice-icon-wrap {
  overflow: visible;
}

.fixed-choice-grid .syokbox-premium-official {
  width: 59px !important;
  height: 59px !important;
  object-fit: contain;
}

.fixed-choice-grid .premium-choice .syokbox-premium-official {
  opacity: .72;
}

.saved-reward-image[src*="syokbox-default-reward"] {
  box-sizing: border-box;
  padding: 5px;
  object-fit: contain !important;
  object-position: center;
  background: #fff;
}

.tap-win-premium-sheet {
  border: 0 !important;
  outline: 0 !important;
  background: #fff !important;
  box-shadow: 0 -12px 38px rgba(16, 39, 99, .13);
}

.tap-win-premium-sheet .premium-offer-image {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 988 / 627;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  background: #fff;
}

.tap-win-premium-sheet .premium-offer-copy {
  padding-top: 18px;
}

.tap-win-grid {
  grid-template-columns: repeat(2, minmax(0, 146px)) !important;
  grid-auto-rows: 154px !important;
  justify-content: center !important;
  gap: 16px 30px !important;
  max-width: 322px !important;
}

.tap-win-box {
  width: 146px !important;
  height: 154px !important;
  min-height: 154px !important;
}

.tap-box-body {
  width: 119px !important;
  height: 96px !important;
  bottom: 8px !important;
  background: linear-gradient(115deg, #1150d3, #0b38af 70%, #072785) !important;
}

.tap-box-lid {
  width: 132px !important;
  bottom: 94px !important;
}

.tap-box-bow::before,
.tap-box-bow::after {
  bottom: 120px !important;
}

.tap-win-box::after {
  bottom: 119px !important;
}

.tap-box-logo {
  top: 29px !important;
  width: 99px !important;
  height: 37px !important;
  background-image: url('/assets/syokbox-logo-white.png?v=2.23') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

.winner-result-card {
  overflow: visible !important;
}

.winner-confetti {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100svh !important;
  overflow: hidden !important;
  transform: none !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

.winner-confetti::before,
.winner-confetti::after {
  content: none !important;
}

.winner-confetti i {
  position: absolute !important;
  top: -12vh !important;
  left: var(--confetti-left) !important;
  width: var(--confetti-size) !important;
  height: calc(var(--confetti-size) * 1.55) !important;
  border-radius: 2px !important;
  background: var(--confetti-color) !important;
  opacity: 0;
  animation: syokboxConfettiV223 var(--confetti-duration) cubic-bezier(.18,.58,.48,.99) var(--confetti-delay) both !important;
}

.winner-confetti i.celebration-round {
  height: var(--confetti-size) !important;
  border-radius: 50% !important;
}

@keyframes syokboxConfettiV223 {
  0% { opacity: 0; transform: translate3d(0, -4vh, 0) rotate(0deg); }
  12% { opacity: .95; }
  85% { opacity: .9; }
  100% { opacity: 0; transform: translate3d(var(--confetti-drift), 108vh, 0) rotate(690deg); }
}

.syokbox-powered-footer {
  color: #8290a7 !important;
}

.syokbox-powered-name {
  color: #254cc4 !important;
  text-decoration: none !important;
  font-weight: 650;
}

.winner-powered-footer {
  margin-top: 24px !important;
}

@media (max-width: 380px) {
  .tap-win-grid {
    grid-template-columns: repeat(2, minmax(0, 125px)) !important;
    grid-auto-rows: 140px !important;
    gap: 12px 22px !important;
  }

  .tap-win-box {
    width: 125px !important;
    height: 140px !important;
    min-height: 140px !important;
  }

  .tap-box-body { width: 105px !important; height: 86px !important; }
  .tap-box-lid { width: 115px !important; bottom: 85px !important; }
  .tap-box-bow::before,
  .tap-box-bow::after { bottom: 111px !important; }
  .tap-win-box::after { bottom: 110px !important; }
  .tap-box-logo { width: 88px !important; top: 25px !important; }
}
