/* Positive idle expressions stay inside each photographed visor registration. */
.visor-eyes{animation:zuno-calm-blink 8.8s ease-in-out infinite}
.visor-idle-smile{transform-box:fill-box;transform-origin:center;animation:zuno-idle-smile 23s ease-in-out infinite}
.station-face-eyes{animation:zuno-calm-blink 9.2s .4s ease-in-out infinite}
.station-right-eye{animation:zuno-observation-wink 27s 1.3s ease-in-out infinite}
.station-face-smile{animation:zuno-idle-smile 24s ease-in-out infinite}
.station-antenna{animation:zuno-idle-beacon 13s ease-in-out infinite}.station-antenna-right{animation-duration:16s;animation-delay:-3s}
.library-eye{animation:zuno-calm-blink 9.6s ease-in-out infinite}.library-eye-right{animation-delay:.08s}
.library-gaze{animation:zuno-reading-pause 28s ease-in-out infinite}.library-smile{animation:zuno-idle-smile 25s ease-in-out infinite}
.zuno-idle-beacon{opacity:.2;animation:zuno-idle-beacon 14s ease-in-out infinite;filter:drop-shadow(0 0 3px #ffc38655)}
.zuno-idle-beacon-right{animation-duration:17s;animation-delay:-3s}
.observation-gaze{animation:zuno-observation-gaze 26s ease-in-out infinite}
.observation-eyes{animation:zuno-calm-blink 9s ease-in-out infinite}
.observation-right-eye{transform-box:fill-box;transform-origin:center;animation:zuno-observation-wink 25s ease-in-out infinite}
.observation-smile{transform-box:fill-box;transform-origin:center;animation:zuno-idle-smile 23s ease-in-out infinite}
.observation-cheeks{opacity:.12;animation:zuno-idle-cheeks 23s ease-in-out infinite}
.observation-antenna{animation:none;opacity:1}
.observation-beacon{animation:zuno-idle-beacon 12s ease-in-out infinite}
.observation-beacon-right{animation-duration:15s;animation-delay:-3s}
.observation-room.is-reacting .observation-smile{animation:zuno-observation-reaction .9s ease-out both}
.observation-room.is-reacting .observation-beacon{animation:zuno-observation-ping .9s ease-out both}
:is(.station-room,.library-room,.observation-room).is-quiet *{animation-play-state:paused!important}
:is(.zuno-scan-armed,.zuno-scan-running,.zuno-scan-ack,.zuno-boarding) :is(.observation-gaze,.observation-right-eye,.observation-cheeks,.observation-smile,.visor-idle-smile){animation-play-state:paused}
:is(.zuno-scan-armed,.zuno-scan-running,.zuno-scan-ack,.zuno-boarding) .intro-visor .zuno-idle-beacon{opacity:.15;animation:none}
@keyframes zuno-calm-blink{0%,62%,66%,100%{transform:scaleY(1)}63.5%,64.5%{transform:scaleY(.12)}}
@keyframes zuno-idle-smile{0%,78%,94%,100%{transform:scale(1);opacity:.92}83%,88%{transform:scale(1.07,1.09);opacity:1}}
@keyframes zuno-idle-beacon{0%,73%,88%,100%{opacity:.2}79%{opacity:.65}83%{opacity:.35}}
@keyframes zuno-idle-cheeks{0%,78%,94%,100%{opacity:.12}83%,88%{opacity:.32}}
@keyframes zuno-observation-gaze{0%,74%,91%,100%{transform:translate(0,0)}80%,85%{transform:translate(-2px,1px)}}
@keyframes zuno-reading-pause{0%,72%,92%,100%{transform:translate(0,0)}79%,85%{transform:translate(-1px,2px)}}
@keyframes zuno-observation-wink{0%,80%,83%,100%{transform:scaleY(1)}81%,82%{transform:scaleY(.12)}}
@keyframes zuno-observation-reaction{0%,100%{transform:scale(1);opacity:.9}25%,65%{transform:scale(1.2,1.25);opacity:1}}
@keyframes zuno-observation-ping{0%,100%{opacity:.4}20%,60%{opacity:1}40%{opacity:.6}}
@media(prefers-reduced-motion:reduce){.visor-eyes,.visor-idle-smile,.station-face-eyes,.station-right-eye,.station-face-smile,.station-antenna,.library-eye,.library-gaze,.library-smile,.zuno-idle-beacon,.observation-gaze,.observation-eyes,.observation-right-eye,.observation-smile,.observation-cheeks,.observation-beacon{animation:none!important}}
