/* Phase 46: gifts float above the room without changing timeline height. */
.ldroom-gift-overlay,
.ldroom-gift-overlay.show {
  position: fixed;
  z-index: 46;
  top: calc(var(--safe-top) + 76px);
  right: auto;
  bottom: auto;
  left: 50%;
  width: max-content;
  min-width: 230px;
  max-width: min(520px, calc(100vw - 96px));
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 10px 15px;
  overflow: visible;
  border: 1px solid rgba(255, 218, 130, .42);
  border-radius: 18px;
  background: rgba(24, 15, 5, .94);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -8px) scale(.97);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .38);
}

.ldroom-gift-overlay.show {
  animation: ld-gift-top-v47 3.2s both;
}

@keyframes ld-gift-top-v47 {
  0% {
    opacity: 0;
    transform: translate(-50%, -8px) scale(.97);
  }
  10%, 78% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -12px) scale(.98);
  }
}

@media (max-width: 700px) {
  .ldroom-gift-overlay,
  .ldroom-gift-overlay.show {
    top: calc(var(--safe-top) + 62px);
    max-width: calc(100vw - 72px);
    padding: 8px 12px;
  }
}
