/* Glass floor network: a complete visible road, not floating payloads or hairlines. */
.asa-industry-flow-network { pointer-events:none; }
.asa-industry-flow-network :is(.asa-flow-channel-depth,.asa-flow-channel-bed,.asa-flow-channel-seam,.asa-flow-lane-edge,.asa-map-track-light,.asa-map-track-flow,.asa-flow-direction-mark) { fill:none; stroke-linecap:round; stroke-linejoin:round; }
.asa-industry-flow-network .asa-flow-channel-depth { stroke:#4e85a8; stroke-width:13; opacity:.12; transform:translateY(2px); }
.asa-industry-flow-network .asa-flow-channel-bed { stroke-width:13; opacity:.62; }
.asa-industry-flow-network .asa-flow-channel-seam { stroke:#fbfeff; stroke-width:1; opacity:.86; }
.asa-industry-flow-network .asa-flow-lane-edge { stroke:#58bdf1; stroke-width:3; opacity:.16; }
.asa-industry-world .asa-industry-flow-network .asa-map-track-light { stroke:#5bafe7; stroke-width:1.15; opacity:.58; }
.asa-industry-world .asa-industry-flow-network .asa-map-route .asa-map-track-flow { stroke:#e3fbff; stroke-width:1.45; stroke-dasharray:3 45; opacity:.83; animation-duration:calc(var(--map-cycle) * var(--route-travel)); }
.asa-industry-flow-network .asa-map-route-lane--reverse .asa-flow-lane-edge { stroke:#47bdb2; }
.asa-industry-flow-network .asa-map-route-lane--reverse .asa-map-track-light { stroke:#58bfbf; opacity:.56; }
.asa-industry-world .asa-industry-flow-network .asa-map-route-lane--reverse .asa-map-track-flow { stroke:#bdf9ed; stroke-dasharray:3 45; opacity:.8; }
.asa-industry-flow-network .asa-flow-direction-mark { stroke:#2b9bd7; stroke-width:1; opacity:.48; }
.asa-industry-flow-network .asa-map-route-lane--reverse .asa-flow-direction-mark { stroke:#279c99; }
/* Warehouse/production have no continuous baked road into the BASE of the core.
   Their dedicated 22px floor decks remain legible at the panorama's small scale.
   These are source-space surfaces; no screen-space width that balloons on zoom. */
.asa-industry-flow-network .asa-map-route--primary .asa-flow-channel-depth { stroke-width:22; opacity:.22; transform:translateY(3px); }
.asa-industry-flow-network .asa-map-route--primary .asa-flow-channel-bed { stroke-width:21; opacity:.92; }
.asa-industry-flow-network .asa-map-route--primary .asa-flow-channel-seam { stroke-width:1.35; opacity:.98; }
.asa-industry-flow-network .asa-map-route--primary .asa-flow-lane-edge { stroke-width:5.2; opacity:.34; }
.asa-industry-world .asa-industry-flow-network .asa-map-route--primary .asa-map-track-light { stroke:#1596e4; stroke-width:2.25; opacity:.9; }
.asa-industry-world .asa-industry-flow-network .asa-map-route--primary .asa-map-route-lane--reverse .asa-map-track-light { stroke:#20b2b7; opacity:.92; }
.asa-industry-world .asa-industry-flow-network .asa-map-route--primary .asa-map-track-flow { stroke-width:2.1; opacity:.98; }
.asa-industry-flow-network .asa-map-route--primary .asa-flow-direction-mark { stroke-width:1.2; opacity:.88; }
.asa-industry-world .asa-industry-flow-network .asa-map-route .asa-map-packet { offset-path:var(--route-path); offset-rotate:0deg; offset-distance:36%; opacity:.95; animation-duration:calc(var(--map-cycle) * var(--route-travel)); animation-delay:var(--packet-delay); }
.asa-industry-world .asa-industry-flow-network .asa-map-transit-document { offset-distance:66%; }
.asa-industry-world .asa-industry-flow-network .asa-map-route-lane--reverse .asa-flow-data { offset-distance:74%; }
.asa-industry-world .asa-industry-flow-network .asa-map-route-lane--reverse .asa-map-transit-document { offset-distance:25%; }
.asa-industry-flow-network .asa-flow-data { fill:#f4fdff; stroke:#298fda; stroke-width:1.2; }
.asa-industry-flow-network .asa-map-route-lane--reverse .asa-flow-data { fill:#ecfff9; stroke:#269f9c; }
.asa-industry-flow-network .asa-flow-document-sheet { fill:#fff; stroke:#509ed5; stroke-width:.85; stroke-linejoin:round; }
.asa-industry-flow-network .asa-flow-document-fold { fill:#daf1ff; stroke:#509ed5; stroke-width:.65; stroke-linejoin:round; }
.asa-industry-flow-network .asa-flow-document-lines { fill:none; stroke:#509ed5; stroke-width:.85; stroke-linecap:round; }
.asa-industry-flow-network .asa-map-route-lane--reverse .asa-flow-document-sheet { fill:#f5fffd; stroke:#3daba5; }
.asa-industry-flow-network .asa-map-route-lane--reverse :is(.asa-flow-document-fold,.asa-flow-document-lines) { stroke:#3daba5; }
.asa-industry-flow-network .asa-flow-dock > path { fill:#e1f4ff; stroke:#4da1d4; stroke-width:.75; }
.asa-industry-flow-network .asa-flow-dock > circle { fill:#fff; stroke:#49b9cf; stroke-width:.8; }
.asa-industry-flow-network .asa-flow-dock--core > path { fill:#e4fff9; stroke:#50aaa9; }
.asa-industry-flow-network .asa-map-route--primary .asa-flow-dock--source > path { fill:#dff8ff; stroke:#168ec8; stroke-width:1.2; }
.asa-industry-flow-network .asa-map-route--primary .asa-flow-dock--source > circle { fill:#f5ffff; stroke:#079cc7; stroke-width:1.1; }
/* Motion controls remain global, including off-screen/visibility pause and OS preferences. */
.asa-live-map.is-map-paused .asa-industry-flow-network *, .asa-live-map--static .asa-industry-flow-network * { animation-play-state:paused!important; }
.asa-live-map--static .asa-industry-flow-network *, body.asa-motion-disabled .asa-industry-flow-network *, .asa-live-map[data-map-reduced="1"] .asa-industry-flow-network * { animation:none!important; transition:none!important; }
@media (prefers-reduced-motion:reduce) { .asa-industry-flow-network * { animation:none!important; transition:none!important; } }
@media print { .asa-industry-flow-network .asa-map-packet { display:none; } }
