.room-pet {
  touch-action: none; cursor: grab; will-change: left, top, transform, filter;
}
.room-pet.is-free {
  right: auto !important; bottom: auto !important;
  transform: scale(var(--pet-scale));
}
.room-pet.is-dragging {
  cursor: grabbing; z-index: 12;
  filter:
    drop-shadow(0 18px 22px rgba(0,0,0,.36))
    drop-shadow(0 0 22px rgba(99,230,184,.54));
}
.room-pet.is-dragging::after {
  content: ""; position: absolute; left: 50%; bottom: 18px; width: 78px; height: 16px;
  transform: translateX(-50%); border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255,248,223,.36), transparent 72%);
  pointer-events: none;
}
.photo-stack.pet-dragging {
  outline: 1px solid rgba(99,230,184,.35); outline-offset: -6px;
}
.photo-stack.pet-dragging::after {
  content: "松手后，小 pet 会记住这个位置"; position: absolute; z-index: 13; left: 50%; bottom: 12px;
  transform: translateX(-50%); padding: 7px 11px; border-radius: 999px;
  color: #102033; background: rgba(255,255,255,.9); font-family: var(--font-cute); font-size: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.18); pointer-events: none;
}
.photo-stack.celebrate .room-pet.is-free,
.photo-stack.cozy .room-pet.is-free {
  animation: none;
}
