.pokemon-reward-reveal {
  position: relative;
  display: grid;
  width: min(100%, 540px);
  max-height: calc(100dvh - 2rem);
  gap: 1.1rem;
  overflow-y: auto;
  padding: 1.5rem;
  border: 1px solid var(--reserve-line, var(--pokemon-battle-line, var(--bs-border-color)));
  border-radius: var(--border-radius-20, 20px);
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--reserve-blue, var(--bs-primary)) 14%, transparent), transparent 44%),
    var(--reserve-panel, var(--bs-body-bg));
  color: var(--reserve-text, var(--bs-body-color));
  box-shadow: var(--xds-shadow-mini);
}

.pokemon-reward-reveal__hero {
  position: relative;
  display: grid;
  justify-items: center;
  text-align: center;
}

.pokemon-reward-reveal__gift {
  display: grid;
  width: 82px;
  height: 82px;
  margin-bottom: 0.85rem;
  place-items: center;
  color: var(--reserve-blue, var(--bs-primary));
}

.pokemon-reward-reveal__gift svg {
  width: 54px;
  height: 54px;
}

.pokemon-reward-reveal__hero small {
  color: var(--reserve-blue, var(--bs-primary));
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.pokemon-reward-reveal__hero h3,
.pokemon-reward-reveal__hero h4 {
  margin-top: 0.25rem;
  font-size: clamp(1.2rem, 4vw, 1.65rem);
  text-align: center;
}

.pokemon-reward-reveal__hero p {
  margin: 0.55rem 0 0;
  color: var(--reserve-muted, var(--bs-secondary-color));
  font-size: 0.78rem;
}

.pokemon-reward-reveal__spark {
  position: absolute;
  color: color-mix(in srgb, var(--reserve-blue, var(--bs-primary)) 70%, #fff);
  animation: pokemon-reward-spark 1.8s ease-in-out infinite;
}

.pokemon-reward-reveal__spark--one { top: 8px; left: 24%; font-size: 1.25rem; }
.pokemon-reward-reveal__spark--two { top: 46px; right: 23%; font-size: 0.8rem; animation-delay: -0.7s; }

.pokemon-reward-reveal__items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
}

.pokemon-reward-reveal__items[hidden] { display: none; }

.pokemon-reward-reveal__item {
  --reward-color: var(--reserve-blue, var(--bs-primary));
  display: grid;
  flex: 0 1 calc((100% - 1.3rem) / 3);
  min-height: 112px;
  justify-items: center;
  align-content: center;
  gap: 0.5rem;
  padding: 0.8rem 0.65rem;
  border: 1px solid color-mix(in srgb, var(--reward-color) 38%, var(--reserve-line, var(--bs-border-color)));
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% 10%, color-mix(in srgb, var(--reward-color) 18%, transparent), transparent 62%),
    var(--reserve-card, var(--bs-body-bg));
  text-align: center;
  animation: pokemon-reward-in 0.38s both;
}

.pokemon-reward-reveal__item:nth-child(2) { animation-delay: 0.07s; }
.pokemon-reward-reveal__item:nth-child(3) { animation-delay: 0.14s; }
.pokemon-reward-reveal__item:nth-child(4) { animation-delay: 0.21s; }
.pokemon-reward-reveal__item--green { --reward-color: #53c987; }
.pokemon-reward-reveal__item--purple { --reward-color: #a678e8; }
.pokemon-reward-reveal__item--gold { --reward-color: #f0b84b; }

.pokemon-reward-reveal__item--wide {
  flex-basis: 100%;
  min-height: 92px;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  justify-items: start;
  padding-inline: 1rem;
  text-align: left;
}

.pokemon-reward-reveal__item-icon {
  display: block;
  width: 34px;
  height: 34px;
  background: var(--reward-color);
  mask: url("../icons/utils/award-UDlM1z_.svg") center / contain no-repeat;
  -webkit-mask: url("../icons/utils/award-UDlM1z_.svg") center / contain no-repeat;
}

.pokemon-reward-reveal__item--green .pokemon-reward-reveal__item-icon {
  mask-image: url("../icons/utils/gift-UwoPJK_.svg");
  -webkit-mask-image: url("../icons/utils/gift-UwoPJK_.svg");
}

.pokemon-reward-reveal__item img,
.pokemon-reward-reveal__item-visual,
.pokemon-reward-reveal__item-visual img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  image-rendering: pixelated;
  filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.2));
}

.pokemon-reward-reveal__item > span:last-child {
  display: grid;
  gap: 0.15rem;
}

.pokemon-reward-reveal__item small {
  color: var(--reserve-muted, var(--bs-secondary-color));
  font-size: 0.61rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pokemon-reward-reveal__item strong {
  color: var(--reward-color);
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

.pokemon-reward-reveal__continue {
  position: relative;
  width: 100%;
  min-height: 46px;
  border-radius: 13px;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@keyframes pokemon-reward-spark {
  0%, 100% { opacity: 0.35; transform: scale(0.75) rotate(0); }
  50% { opacity: 1; transform: scale(1.15) rotate(18deg); }
}

@keyframes pokemon-reward-in {
  from { opacity: 0; transform: translateY(10px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 575.98px) {
  .pokemon-reward-reveal { padding: 1rem; }
  .pokemon-reward-reveal__gift { width: 68px; height: 68px; }
  .pokemon-reward-reveal__gift svg { width: 46px; height: 46px; }
  .pokemon-reward-reveal__item { flex-basis: calc((100% - 0.65rem) / 2); }
  .pokemon-reward-reveal__item--wide { flex-basis: 100%; }
}
