.shared-victory {
  position: fixed;
  inset: 0;
  z-index: 1000;
  overflow: hidden;
  pointer-events: none;
}
.shared-victory-caption {
  position: absolute;
  inset: var(--victory-top, 50%) auto auto var(--victory-left, 50%);
  transform: translate(-50%, -50%);
  z-index: 1;
  padding: 8px;
}
.shared-victory-caption strong {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.shared-victory-caption svg {
  width: clamp(116px, 18vmin, 168px);
  height: auto;
  filter: drop-shadow(0 3px 5px #40200045);
}
.shared-victory > i {
  position: absolute;
  inset: var(--victory-top, 50%) auto auto var(--victory-left, 50%);
  z-index: 2;
  width: 8px;
  height: 12px;
  border: 1px solid #26202a55;
  opacity: 0;
  animation: shared-confetti 3.2s ease-out both;
}
@keyframes shared-confetti {
  0% { transform: translate(0, 0) rotate(0); opacity: 1; }
  75% { opacity: 1; }
  100% { transform: translate(var(--x), calc(var(--y) + 40px)) rotate(var(--spin)); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .shared-victory > i { display: none; }
}
