/* V1 gate command lamps and persistent entrance queue movement. */

/* Gate lamps show command availability separately from the current position. */
.real-button.gate>i:not(.progress){
  background:#273337!important;
  box-shadow:inset 0 2px 3px #ffffff18,0 0 2px #000!important;
  animation:none!important;
}
.real-button.gate.gate-command-ready>i:not(.progress){
  background:#63e18c!important;
  box-shadow:0 0 12px #63e18c,0 0 19px #63e18c66!important;
}
.real-button.gate.gate-position-active>i:not(.progress){
  background:#63e18c!important;
  box-shadow:0 0 12px #63e18c,0 0 19px #63e18c66!important;
  animation:gatePositionLamp 1s steps(2,end) infinite!important;
}
@keyframes gatePositionLamp{
  0%,42%{opacity:1;filter:brightness(1.08)}
  43%,100%{opacity:.18;filter:brightness(.45)}
}

/* The queue person is now the walker: it arrives, stays, then advances with the line. */
.guest-queue .queue-person.queue-entering{
  animation:queueGuestJoin 1.65s ease-in-out var(--entry-delay,0s) both;
}
.guest-queue.board .queue-person.queue-entering{animation:none!important}
@keyframes queueGuestJoin{
  0%{opacity:0;transform:translateX(var(--entry-distance)) translateY(0)}
  12%{opacity:1}
  100%{opacity:1;transform:translateX(0) translateY(0)}
}

@media (prefers-reduced-motion:reduce){
  .real-button.gate.gate-position-active>i:not(.progress){animation:none!important}
  .guest-queue .queue-person.queue-entering{animation:none!important}
}
