/* Ambient machinery is decorative; its movement never represents an agent job. */
.world-machinery{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none!important;overflow:hidden;isolation:isolate;color:var(--wm-color,#8ae1ef);opacity:.96}
.world-machinery *{pointer-events:none!important}
/* A clipped dark screen bed lets bright data move visibly over bright source art. */
.world-machinery .wm-screen-glass{fill:#071a28;fill-opacity:.68}
.world-machinery .wm-terminal-lines{fill:none;stroke:var(--wm-color);stroke-width:1.5;stroke-opacity:.9;animation:wm-terminal-drift 3.4s linear infinite;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-terminal-tick{stroke-opacity:.55}
.world-machinery .wm-accent{stroke:#efd39d;fill:#efd39d}
.world-machinery .wm-terminal-lines .wm-accent{stroke-opacity:1;fill:none}
.world-machinery .wm-screen-trace{fill:none;stroke:#e4faff;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 5;animation:wm-trace 2.6s linear infinite;opacity:.8}
.world-machinery .wm-screen-rule{stroke:var(--wm-color);stroke-width:.8;opacity:.55}
.world-machinery .wm-screen-scan{opacity:0;animation:wm-screen-scan 2.8s linear infinite;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-eq-bar{fill:var(--wm-color);opacity:.95;transform-box:fill-box;transform-origin:center bottom;animation:wm-equalizer 1.15s ease-in-out infinite alternate;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-eq-bar.wm-accent{fill:#ffe3ae}
.world-machinery .wm-eq-bar:nth-child(3n){animation-duration:.95s}
.world-machinery .wm-eq-bar:nth-child(4n){animation-duration:1.6s}
.world-machinery .wm-radar{fill:none;stroke:var(--wm-color);stroke-width:1.4;opacity:.92}
.world-machinery .wm-radar>circle{stroke-opacity:.65}
.world-machinery .wm-radar>line{stroke-opacity:.3}
.world-machinery .wm-radar-rotor{transform-box:view-box;transform-origin:0 0;animation:wm-radar-turn 4.5s linear infinite}
.world-machinery .wm-radar-wedge{fill:var(--wm-color);fill-opacity:.3;stroke:none}
.world-machinery .wm-radar-ray{stroke-width:2.6;filter:drop-shadow(0 0 2px var(--wm-color))}
.world-machinery .wm-radar-blip{fill:#e4faff;stroke:none;animation:wm-radar-ping 3s ease-in-out infinite}
/* Wide trailing light plus a sharp leading pulse stays visible at tablet scale. */
.world-machinery .wm-light-track,.world-machinery .wm-halo{mix-blend-mode:screen}
.world-machinery .wm-light-base,.world-machinery .wm-light-bloom,.world-machinery .wm-light-packet,.world-machinery .wm-light-wave{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-light-base{stroke:var(--wm-color);stroke-width:1.6;opacity:.26;animation:wm-light-breathe 4.5s ease-in-out infinite alternate;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-light-bloom{stroke:var(--wm-color);stroke-width:8;stroke-dasharray:19 81;filter:blur(2px);opacity:.54;animation:wm-wave-flow 4.8s linear infinite;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-light-wave{stroke:var(--wm-color);stroke-width:4;stroke-dasharray:19 81;opacity:.78;animation:wm-wave-flow 4.8s linear infinite;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-light-packet{stroke:#f0fbff;stroke-width:2.5;stroke-dasharray:6 94;filter:drop-shadow(0 0 3px var(--wm-color));opacity:.98;animation:wm-wave-flow 4.8s linear infinite;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-halo-base{fill:none;stroke:var(--wm-color);stroke-width:1;stroke-opacity:.36;vector-effect:non-scaling-stroke}
.world-machinery .wm-halo-orbit{fill:none;stroke:#e4faff;stroke-width:2.5;stroke-dasharray:14 19;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--wm-color));animation:wm-halo-orbit 5.5s linear infinite;animation-delay:var(--wm-delay,0s);vector-effect:non-scaling-stroke;opacity:.92}
.world-machinery .wm-halo-echo{fill:none;stroke:#edd29d;stroke-width:1.6;stroke-dasharray:4 10;stroke-linecap:round;animation:wm-halo-echo 8s linear infinite;animation-delay:var(--wm-delay,0s);vector-effect:non-scaling-stroke;opacity:.65}
.world-machinery .wm-halo-volume-scan{opacity:0;animation:wm-volume-scan 6.5s linear infinite;animation-delay:var(--wm-delay,0s)}
.world-machinery .wm-halo-haze{opacity:.6;animation:wm-halo-breathe 6s ease-in-out infinite alternate;animation-delay:var(--wm-delay,0s)}
@keyframes wm-terminal-drift{from{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--wm-terminal-travel,20px)))}}
@keyframes wm-trace{to{stroke-dashoffset:-48}}
@keyframes wm-screen-scan{0%{transform:translateY(0);opacity:0}12%,85%{opacity:.85}100%{transform:translateY(var(--wm-travel,40px));opacity:0}}
@keyframes wm-equalizer{0%{transform:scaleY(.16);opacity:.7}45%{transform:scaleY(.65);opacity:.95}100%{transform:scaleY(1);opacity:1}}
@keyframes wm-radar-turn{to{transform:rotate(360deg)}}
@keyframes wm-radar-ping{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes wm-wave-flow{to{stroke-dashoffset:-100}}
@keyframes wm-halo-orbit{to{stroke-dashoffset:-99}}
@keyframes wm-halo-echo{to{stroke-dashoffset:98}}
@keyframes wm-volume-scan{0%{transform:translateY(0);opacity:0}18%,70%{opacity:.95}100%{transform:translateY(var(--wm-halo-travel,80px));opacity:0}}
@keyframes wm-halo-breathe{from{opacity:.4}to{opacity:.9}}
@keyframes wm-light-breathe{from{opacity:.2}to{opacity:.48}}
.world-room.motion-paused .world-machinery *,.world-room.motion-suspended .world-machinery *{animation-play-state:paused!important}
.world-room.motion-suspended .world-machinery{visibility:hidden}
/* Miniature desk content stays independent of desk-active and live job status. */
.crew-offices-mode .crew-desk-terminal i,.crew-offices-mode .crew-desk-mixing i{overflow:hidden}
.crew-offices-mode .crew-desk-terminal i:after,.crew-offices-mode .crew-desk-mixing i:after{content:'';position:absolute;inset:1px;background:repeating-linear-gradient(0deg,transparent 0 3px,#cef4ffa6 3px 5px,transparent 5px 8px);opacity:.8;transform:translateY(-30%);animation:wm-desk-content 3.2s linear infinite;pointer-events:none}
.crew-offices-mode .crew-desk-mixing i:after{background:repeating-linear-gradient(90deg,transparent 0 2px,#f5dfadbb 2px 4px,transparent 4px 6px);animation-duration:2.4s}
.world-room.motion-paused .crew-desk-terminal i:after,.world-room.motion-paused .crew-desk-mixing i:after,.world-room.motion-suspended .crew-desk-terminal i:after,.world-room.motion-suspended .crew-desk-mixing i:after{animation-play-state:paused!important}
@keyframes wm-desk-content{to{transform:translateY(30%)}}
@media(prefers-reduced-motion:reduce){
 .world-machinery *{animation:none!important;transition:none!important}
 .world-machinery .wm-screen-scan,.world-machinery .wm-light-bloom,.world-machinery .wm-light-wave,.world-machinery .wm-halo-volume-scan{display:none}
 .world-machinery .wm-light-packet,.world-machinery .wm-halo-orbit{opacity:.38}
 .world-machinery .wm-radar-ray{filter:none}
 .world-machinery .wm-halo-haze{opacity:.25}
 .world-machinery .wm-light-base{opacity:.16}
 .crew-offices-mode .crew-desk-terminal i:after,.crew-offices-mode .crew-desk-mixing i:after{animation:none!important;transform:none;opacity:.35}
}
