.sys-cell.moving.channel{background-image:repeating-linear-gradient(110deg,#78c1da 0 8px,#43a5c9 8px 15px);background-size:160% 100%;animation:sys-water .8s linear infinite}
.sys-cell.moving.runoff{background-image:linear-gradient(115deg,transparent 35%,#d9f4fa9c 48%,transparent 62%);background-size:170% 100%;animation:sys-water 1.1s linear infinite}
.sys-cell.strong-flow{box-shadow:inset 0 0 0 3px #effbff}
.sys-cell.muddy:after{content:"· ·";position:absolute;bottom:1px;left:3px;color:#825d3b;font-size:.75rem}
.sys-cell.raised{background:#c8b079;color:#604527;box-shadow:inset 0 0 0 2px #a2804f}
.sys-cell.power-site{outline:3px solid #f0c743;outline-offset:-4px}
.sys-map-wrap.raining{background-image:repeating-linear-gradient(115deg,#d8e8d6 0 10px,#c1dcdd 10px 11px,#d8e8d6 11px 20px)}
.sys-pipe-map .pipe-flow{stroke-dasharray:3 1.5;animation:sys-pipe var(--flow-duration,.9s) linear infinite}
.sys-pipe-map .pipe-flow.reverse{animation-direction:reverse}
.sys-pipe-map .pipe-power{stroke:#dfaa24}
.sys-node.tank{background:linear-gradient(to top,#70bfd9 var(--fill),#e8f5f7 var(--fill))}
.sys-pipe-button.pump-running{animation:sys-pump 1.5s linear infinite}
@keyframes sys-water{to{background-position:160% 0}}
@keyframes sys-pipe{to{stroke-dashoffset:-9}}
@keyframes sys-pump{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sys-cell.moving.channel,.sys-cell.moving.runoff,.sys-pipe-map .pipe-flow,.sys-pipe-button.pump-running{animation:none}}
