
.pkl-celebrate-root {
  position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 40%, rgba(20, 14, 4, .66), rgba(10, 8, 3, .9));
  overflow: hidden; font-family: 'Inter', sans-serif; color: #fff;
  opacity: 1; transition: opacity .5s ease; animation: pkl-cel-fade .4s ease;
}
.pkl-celebrate-root.out { opacity: 0; pointer-events: none; }
@keyframes pkl-cel-fade { from { opacity: 0; } to { opacity: 1; } }

.pkl-celebrate-curtain { position: absolute; inset: 0; pointer-events: none; }
.pkl-celebrate-curtain::before, .pkl-celebrate-curtain::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 50%;
  background: repeating-linear-gradient(45deg, #8a6508 0 14px, #b8860b 14px 28px);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, .55);
  transition: transform 1s cubic-bezier(.7, 0, .3, 1);
}
.pkl-celebrate-curtain::before { left: 0; transform: translateX(-100%); }
.pkl-celebrate-curtain::after { right: 0; transform: translateX(100%); }
.pkl-celebrate-curtain.in::before, .pkl-celebrate-curtain.in::after { transform: translateX(0); }
.pkl-celebrate-curtain.open::before { transform: translateX(-100%); }
.pkl-celebrate-curtain.open::after { transform: translateX(100%); }

.pkl-celebrate-stage {
  position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center;
  gap: .9rem; max-width: 90vw; text-align: center;
}
.pkl-celebrate-title {
  font: 800 clamp(1.4rem, 4vw, 2.4rem)/1.1 'Inter', sans-serif; letter-spacing: -.03em;
  color: #ffd700; text-wrap: balance;
}

.pkl-celebrate-card {
  position: relative; z-index: 2; text-align: center; color: #fff;
  transform: translateY(8px); animation: pkl-cel-pop .6s cubic-bezier(.2, 1.3, .4, 1) both;
}
.pkl-celebrate-gift { display: flex; justify-content: center; margin-bottom: .5rem; }
.pkl-celebrate-gift svg { filter: drop-shadow(0 6px 18px rgba(255, 215, 0, .35)); }
.pkl-celebrate-kicker {
  font: 700 .68rem/1 'Inter', sans-serif; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255, 255, 255, .62); margin-bottom: .3rem;
}
.pkl-celebrate-title, .pkl-celebrate-card .pkl-celebrate-title { margin: 0; }
.pkl-celebrate-sub {
  font: 600 .88rem/1.4 'Inter', sans-serif; color: rgba(255, 255, 255, .78); margin-top: .3rem;
  font-variant-numeric: tabular-nums;
}

.pkl-celebrate-prize {
  display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .9rem; border-radius: 999px;
  background: rgba(184, 134, 11, .16); border: 1px solid rgba(255, 215, 0, .4); color: #fff;
  font: 800 15px/1 'Inter', sans-serif; opacity: 0; transform: translateY(16px) scale(.92);
}
.pkl-celebrate-prize.pop { animation: pkl-cel-pop .5s cubic-bezier(.2, 1.3, .4, 1) forwards; }
.pkl-celebrate-prize-dot { width: 8px; height: 8px; border-radius: 50%; background: #ffd700; flex: none; }
.pkl-celebrate-prize-detail {
  font-weight: 700; color: #ffd700; font-variant-numeric: tabular-nums;
}

.pkl-celebrate-award {
  display: inline-flex; align-items: baseline; gap: .5rem; padding: .3rem .8rem; border-radius: 999px;
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16);
  opacity: 0; transform: translateY(16px) scale(.92);
}
.pkl-celebrate-award.pop { animation: pkl-cel-pop .5s cubic-bezier(.2, 1.3, .4, 1) forwards; }
.pkl-celebrate-award-lbl {
  font: 700 .58rem/1 'Inter', sans-serif; letter-spacing: .1em; text-transform: uppercase;
  color: #ffd700;
}
.pkl-celebrate-award-who { font: 700 .88rem/1 'Inter', sans-serif; color: #fff; }
.pkl-celebrate-award-dt { font: 500 .72rem/1 'Inter', sans-serif; color: rgba(255, 255, 255, .55); }

@keyframes pkl-cel-pop {
  from { opacity: 0; transform: translateY(16px) scale(.92); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .pkl-celebrate-curtain::before, .pkl-celebrate-curtain::after { transition-duration: .01ms; }
  .pkl-celebrate-card, .pkl-celebrate-prize.pop, .pkl-celebrate-award.pop { animation-duration: .01ms; }
}
