/* /assets/css/machines/fluid-pump-valve/how-a-nozzle-accelerates-fluid-cutaway.css — 本页专属样式（en/zh 共用） */

/* ============ 零件本体/区分色（part bodies & per-part distinct fills） ============ */
.part .body{fill:var(--metal);stroke:#8ea0b5;stroke-width:1.6}
.part .body2{fill:var(--metal-2);stroke:#a9b7c9;stroke-width:1.2}
.part .body3{fill:#c6d0dd;stroke:none}
.part .accent{fill:none;stroke:#6b7b8c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.part.is-active .body{fill:#cfe3fb;stroke:var(--accent)}
.part.is-active .body2{fill:#e3eefc;stroke:#60a5fa}
.part.is-active .body3{fill:var(--accent)}
.part.is-active .accent{stroke:var(--accent-2)}
.part.is-active{filter:drop-shadow(0 0 10px rgba(37,99,235,.35))}

/* ============ 管道流动（flow） ============ */
.pipe-flow{fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;stroke-dasharray:10 16;opacity:0;transition:opacity .4s}
.is-running .pipe-flow{opacity:.95;animation:flow 1.15s linear infinite}
@keyframes flow{to{stroke-dashoffset:-26}}

/* ============ 流体束与射流（stream / jet） ============ */
.stream{fill:none;stroke:#2563eb;stroke-width:14;stroke-linecap:round;stroke-dasharray:14 20;opacity:0;transition:opacity .4s}
.is-running .stream{opacity:.9}
.is-running .slow-flow{animation:flow 1.6s linear infinite}
.is-running .fast-flow{animation:flow .55s linear infinite}
.jet{fill:#cfe3fb;stroke:#3b82f6;stroke-width:1.5;opacity:.85}
.part.is-active .jet{fill:#9dc3f5;stroke:var(--accent-2)}

/* ============ 各部件区分色 ============ */
body[data-topic="nozzle"] .part[data-id="part-inlet"]:not(.is-active) .body{fill:#bcd9f2}
body[data-topic="nozzle"] .part[data-id="part-inlet"]:not(.is-active) .body2{fill:#d6e9fb}
body[data-topic="nozzle"] .part[data-id="part-outlet"]:not(.is-active) .body{fill:#bfe0f5}
body[data-topic="nozzle"] .part[data-id="part-outlet"]:not(.is-active) .body2{fill:#e0f1fc}
body[data-topic="nozzle"] .part[data-id="part-jet"] .body3{fill:#bcd9f2}

@media (prefers-reduced-motion:reduce){
  .stream{opacity:.9 !important}
}