/* V1 evacuation, full platform queue, commissioning laps and offload refinements. */

/* Keep a substantial, persistent queue visible from the row gates to the entrance. */
.guest-queue{width:330px!important}
.guest-queue .queue-person.queue-staged{opacity:1}

/* A capacity closure is a temporary admission pause, not an ordinary closure. */
.queue-button.full,.queue-button.full.buffered-unavailable{
  background:#e4ad35!important;
  border-color:#785715!important;
  color:#182226!important;
  opacity:1!important;
  filter:none!important;
  box-shadow:inset 0 0 9px #fff2a866;
}
#queueState.full{color:#b77b00!important}

/* Offload announcement speaker: positioned ahead of the car on the staff side. */
.offload-speaker{left:59.7%!important;right:auto!important;z-index:45!important;overflow:visible!important}
.offload-speech-bubble{left:-28px;min-width:84px;white-space:nowrap}
.offload-speech-bubble.show,.offload-speaker.offload-spiel .offload-speech-bubble{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
}

/* The working unload attendant walks at a human pace and remains behind both cars. */
.unload-staff,
.unload-staff.gate-entry,
.unload-staff.gate-entry.through-gate,
.unload-staff.inspecting{
  z-index:6!important;
  transition:left 3s cubic-bezier(.4,0,.2,1),top 3s cubic-bezier(.4,0,.2,1),transform .5s ease!important;
}
.vehicle-slot{z-index:7}

/* Guest-platform assistance now moves from the exit-side post toward the vehicle. */
.offload-helper.assisting{
  transform:translateX(54px) translateY(-18px)!important;
  transition:transform 2.6s cubic-bezier(.4,0,.2,1),filter .3s!important;
}

/* Block cards carry occupancy and evacuation controls without losing the mimic. */
.block-title{gap:10px}
.evacuation-toggle{
  min-width:112px;
  height:24px;
  padding:0 8px;
  border:1px solid #738387;
  border-radius:2px;
  background:#303b3e;
  color:#dfe9e8;
  font-size:6px;
  font-weight:bold;
  letter-spacing:.08em;
  cursor:pointer;
}
.evacuation-toggle:disabled{opacity:.45;cursor:not-allowed}
.evacuation-toggle.active{background:#a42f36;border-color:#ee6c73;color:#fff;animation:evacuationControlPulse .7s ease-in-out infinite alternate}
.evacuation-toggle.complete{background:#2c7c4c;border-color:#65dd8a;color:#fff;opacity:1}
.block{min-height:66px;padding-bottom:27px}
.block small{display:block;margin-top:3px;color:#bdd0d0;font-size:5.5px;line-height:1.2;letter-spacing:.04em}
.block>button{
  position:absolute;
  left:4px;
  right:4px;
  bottom:4px;
  height:19px;
  border:1px solid #e36169;
  border-radius:2px;
  background:#a93239;
  color:#fff;
  font-size:5.5px;
  font-weight:bold;
  letter-spacing:.06em;
  cursor:pointer;
}
.block>button:disabled{border-color:#607074;background:#334044;color:#91a1a4;cursor:not-allowed}
.block.evacuating{border-color:#ff6970!important;box-shadow:inset 0 0 15px #ff424a55!important;animation:evacuatingBlockPulse .55s ease-in-out infinite alternate}
@keyframes evacuationControlPulse{from{box-shadow:0 0 2px #ef5960}to{box-shadow:0 0 13px #ef5960}}
@keyframes evacuatingBlockPulse{from{filter:brightness(.9)}to{filter:brightness(1.25)}}

@media(max-width:650px){
  .guest-queue{width:260px!important}
  .offload-speaker{display:block!important;left:58%!important;transform:scale(.82);transform-origin:center}
  .block{min-height:70px}
}
