/* V1 expanded station blocks, grouped queues and dispatch indications. */

/* Five visible station positions, ordered in the right-to-left direction of travel. */
.hold-slot-one{left:calc(14% + 182px)}
.hold-slot-two{left:calc(14% + 364px)}
.pre-unload-slot{left:calc(65% + 182px)}
.hold-slot:empty,.pre-unload-slot:empty{opacity:1}
.hold-slot:before,.pre-unload-slot:before{content:"";position:absolute;left:7px;right:7px;bottom:-12px;height:5px;border-left:2px solid #4dbccc;border-right:2px solid #4dbccc;border-bottom:2px solid #4dbccc;opacity:.65;pointer-events:none}
.hold-slot:after,.pre-unload-slot:after{position:absolute;left:0;right:0;bottom:-25px;color:#3f737b;text-align:center;font-size:6px;font-weight:bold;letter-spacing:.1em;pointer-events:none}
.hold-slot-one:after{content:"STATION HOLD 1"}.hold-slot-two:after{content:"STATION HOLD 2"}.pre-unload-slot:after{content:"PRE-OFFLOAD HOLD"}

/* All air-gate leaves remain behind the fixed platform fence, open or closed. */
.air-gates,.air-gates.open{z-index:6}

/* The clearance lamp changes to amber while the departure block is occupied. */
.real-button.dispatch.blocked-ready:disabled{opacity:1;filter:none;border-color:#b77d20;background:linear-gradient(#79642f,#443a25);box-shadow:inset 0 0 0 3px #9d843d,0 4px 0 #181b1c,0 0 15px #ffc34e;animation:dispatchHoldWaiting .72s ease-in-out infinite alternate}
.real-button.dispatch.blocked-ready b{background:#ffc34e;box-shadow:0 0 13px #ffc34e}
.real-button.dispatch.penalty{animation:dispatchPenalty .16s linear 5;border-color:#e84148;box-shadow:inset 0 0 0 3px #a83b40,0 0 18px #ef414a}
.real-button.dispatch.restraint-error:not(.blocked-ready) b{background:#d13c43;box-shadow:0 0 10px #ef414a}
@keyframes dispatchHoldWaiting{from{filter:brightness(.76)}to{filter:brightness(1.28)}}
@keyframes dispatchPenalty{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

/* Staff use the protected opening as a waypoint on both outbound and return walks. */
.staff{transition:left .65s ease,top .65s ease,transform .3s}
.load-staff.gate-entry{left:5.4%;top:54px}.load-staff.gate-entry.through-gate{left:5.4%;top:102px}
.unload-staff.gate-entry{left:92%;top:54px}.unload-staff.gate-entry.through-gate{left:92%;top:102px}

/* Standby parties retain their order; subtle floor dividers show party boundaries. */
.guest-queue .queue-person.group-end:after{content:"";position:absolute;right:-5px;bottom:-5px;width:2px;height:5px;border-radius:2px;background:#47b7c8;box-shadow:0 0 4px #5ad9ea}
.guest-queue.board .queue-person{transform:none;opacity:1}
.guest-queue.board-1 .queue-person:nth-child(1),
.guest-queue.board-2 .queue-person:nth-child(-n+2),
.guest-queue.board-3 .queue-person:nth-child(-n+3),
.guest-queue.board-4 .queue-person:nth-child(-n+4){transform:translateY(-66px);opacity:0}

.single-rider-heading{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding-top:9px;border-top:1px solid #4b595c}
.single-rider-heading span{color:#75d5e3;font-size:7px}
.single-rider-button{background:#2d7785;border-color:#173a42}
.single-rider-button.open{background:#c94b50}
.queue-button:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.48}

/* Fourteen block indications remain readable without making the sticky panel taller. */
.block-map{grid-template-columns:repeat(14,1fr)}
body.systems-testing .block{animation:showSystemTest .55s ease-in-out infinite alternate}
body.systems-testing .block:nth-child(2n){animation-delay:.18s}
@keyframes showSystemTest{from{filter:brightness(.75)}to{filter:brightness(1.45);border-color:#70dbea}}

@media(max-width:1100px){.block-map{grid-template-columns:repeat(7,1fr)}}
@media(max-width:650px){.hold-slot-one{left:calc(5% + 145px)}.hold-slot-two{left:calc(5% + 290px)}.pre-unload-slot{left:calc(58% + 145px)}.block-map{grid-template-columns:repeat(3,1fr)}.load-staff.gate-entry,.load-staff.gate-entry.through-gate,.unload-staff.gate-entry,.unload-staff.gate-entry.through-gate{display:none}}
