.contact-crossing[data-build="contact-fast-door-r14"] .crossing-world{position:absolute;inset:0;pointer-events:none;will-change:transform}
.contact-crossing[data-build="contact-fast-door-r14"] .crossing-landscape img{inset:auto;max-width:none;object-fit:fill}
.crossing-far-signal,.crossing-far-gate{position:absolute;pointer-events:none}
.crossing-far-signal svg,.crossing-far-gate svg{display:block;width:100%;height:100%}
.crossing-far-gate{transform-origin:0 50%;z-index:1000;will-change:transform}
.crossing-far-signal{z-index:1000}
.contact-crossing[data-build="contact-fast-door-r14"] .crossing-train{z-index:2000}
.contact-crossing[data-build="contact-fast-door-r14"] .crossing-signal,.contact-crossing[data-build="contact-fast-door-r14"] .crossing-gate{z-index:6000}
.contact-crossing[data-build="contact-fast-door-r14"] .crossing-office{z-index:8000}
.crossing-office-threshold{position:absolute;max-width:none;object-fit:fill;pointer-events:none;z-index:10010;clip-path:polygon(18.1% 84.44%,43.2% 84.44%,43.2% 87.7%,18.1% 87.7%)}
.contact-crossing[data-build="contact-fast-door-r14"] .crossing-actor{z-index:10000}
.contact-crossing[data-build="contact-fast-door-r14"] .crossing-shadow{z-index:9000;opacity:.22}
@media(prefers-reduced-motion:reduce){:where(html:not([data-motion-mode="full"])) .crossing-far-gate,:where(html:not([data-motion-mode="full"])) .contact-crossing[data-build="contact-fast-door-r14"] .crossing-world{will-change:auto}}

.crossing-foot-shadow{position:absolute;display:block;border-radius:50%;background:#323342;filter:blur(1px)}
.ctl .crossing-pedestrian img{position:relative}
.ctl .crossing-human-r35{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.ctl .crossing-pedestrian>img[hidden]{display:none}

@media(max-height:430px) and (min-aspect-ratio:1/1){
 .contact-crossing[data-build="contact-fast-door-r14"] .crossing-confirm{left:50%;right:auto;top:4%;align-items:center;gap:4px;transform:translateX(-50%)}
 .contact-crossing[data-build="contact-fast-door-r14"] .crossing-confirm h3{font-size:clamp(29px,4vw,40px);white-space:nowrap}
}

.crossing-near-right-signal,.crossing-near-right-gate,.crossing-far-left-signal,.crossing-far-left-gate{position:absolute;pointer-events:none;transform-origin:0 50%;will-change:transform}
.crossing-near-right-signal svg,.crossing-near-right-gate svg,.crossing-far-left-signal svg,.crossing-far-left-gate svg{display:block;width:100%;height:100%}
.crossing-near-right-signal,.crossing-near-right-gate{z-index:6000}
.crossing-far-left-signal,.crossing-far-left-gate{z-index:1000}
/* Keep the replay action directly on the seaside background. */
.ctl .contact-crossing .crossing-confirm button{background:transparent}
.contact-crossing[data-build="contact-fast-door-r14"] .crossing-shadow{background:none;filter:none;opacity:1}
.crossing-sole-shadow,.crossing-shoe-shadow,.crossing-cast-shadow{position:absolute;display:block;border-radius:50%;background:#292634;pointer-events:none}
.crossing-sole-shadow{filter:blur(.35px);z-index:2}
.crossing-shoe-shadow{filter:blur(.85px);z-index:1}
.crossing-cast-shadow{filter:blur(2.2px);z-index:0}
