/* A quiet scroll gesture; the frame stays still while its wheel travels down. */
.chest-scroll { left: 50%; bottom: 20px; transform: translateX(-50%); gap: 7px; padding: 7px 18px; }
.scroll-cue { display: flex; flex-direction: column; align-items: center; width: 30px; height: 52px; gap: 0; }
.chest-scroll .scroll-mouse { width: 28px; height: 34px; animation: none; stroke-width: 1.3; }
.chest-scroll .scroll-mouse path { animation: scroll-wheel-49e 2.8s ease-in-out infinite; }
.chest-scroll .scroll-arrows { width: 19px; height: 18px; stroke-width: 1.4; animation: scroll-arrows-49e 2.8s ease-in-out infinite; }
.chest-scroll.is-past-entry svg,
.chest-scroll.is-past-entry path { animation-play-state: paused; }
@keyframes scroll-wheel-49e {
  0%, 15% { transform: translateY(0); opacity: .9; }
  55% { transform: translateY(5px); opacity: .15; }
  56% { transform: translateY(0); opacity: 0; }
  85%, 100% { transform: translateY(0); opacity: .9; }
}
@keyframes scroll-arrows-49e {
  0%, 20%, 100% { transform: translateY(0); opacity: .45; }
  55% { transform: translateY(3px); opacity: .9; }
}
@media (max-width: 760px) {
  .chest-scroll { left: 50%; bottom: 28px; transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .chest-scroll .scroll-mouse path,
  .chest-scroll .scroll-arrows { animation: none; }
}
