/* /assets/css/machines/fluid-pump-valve/how-a-diaphragm-pump-internal-check-valve-pair-works-cutaway.css — 本页专属样式（en/zh 共用） */
/* ============ 特殊材质（Solid-fill internals） ============ */
.part .water{fill:#6fa8dc;fill-opacity:.6;stroke:#2563eb;stroke-width:1.2}
.part.is-active .water{fill:#2563eb;fill-opacity:.75}
.stream{fill:none;stroke:#6f4a2f;stroke-width:6;stroke-linecap:round;stroke-dasharray:9 9;opacity:.85}
.is-running .stream{animation:flow 1.1s linear infinite}

/* ============ 零件本体/区分色（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))}

/* ============ 动画：叶轮（motion） ============ */
.impeller{transform-box:view-box;animation:spin 1.4s linear infinite;animation-play-state:paused}
.is-running .impeller{animation-play-state:running}
@keyframes spin{to{transform:rotate(360deg)}}

/* ============ 管道流动（flow） ============ */
.pipe-case{fill:none;stroke:#94a3b8;stroke-width:24;stroke-linecap:round;stroke-linejoin:round}
.pipe-flow{
  fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:10 16;opacity:0;transition:opacity .4s;
}
.pipe-flow.hot{stroke:#ea580c}
.pipe-flow.cold{stroke:#2563eb}
.is-running .pipe-flow{opacity:.95;animation:flow 1.15s linear infinite}
.is-running .pipe-flow.hot{animation-duration:.9s}
@keyframes flow{to{stroke-dashoffset:-26}}

/* ============ 图解标题 ============ */
.svg-head{fill:var(--strong);font-family:var(--mono);font-size:17px;font-weight:600;letter-spacing:.08em}
.svg-head-sm{fill:#5b6472;font-size:11px}

/* 叶轮旋转中心（各页按需覆盖 transform-origin，见页面专属块） */
.pump-vane{fill:none;stroke:#5b6a7d;stroke-width:9;stroke-linecap:round;opacity:.85}
.part.is-active .pump-vane{stroke:var(--accent-2)}
.pump-out{fill:none;stroke:#2563eb;stroke-width:4;stroke-linecap:round;opacity:.75}

body[data-topic="diaphragm-pump-check-valves"] .part[data-id="part-motor"]:not(.is-active) .body{fill:#c8c1e5}
body[data-topic="diaphragm-pump-check-valves"] .part[data-id="part-crank"]:not(.is-active) .body{fill:#c6cfda}
body[data-topic="diaphragm-pump-check-valves"] .part[data-id="part-rod"]:not(.is-active) .body{fill:#a9bccf}
body[data-topic="diaphragm-pump-check-valves"] .part[data-id="part-inlet"]:not(.is-active) .body{fill:#bcd9f2}
body[data-topic="diaphragm-pump-check-valves"] .part[data-id="part-outlet"]:not(.is-active) .body{fill:#bfe0f5}
/* 隔膜与止回阀 */
.dp-memb{fill:#dbe3ee;stroke:#64748b;stroke-width:2;transform-box:fill-box;transform-origin:50% 50%;animation:dpFlex 1.8s ease-in-out infinite}
@keyframes dpFlex{0%,100%{transform:translateX(-14px)}50%{transform:translateX(14px)}}
.dp-ball{fill:#c6d0dd;stroke:#16202c;stroke-width:1.6}
.dp-flow{fill:none;stroke:#2563eb;stroke-width:5;stroke-linecap:round;stroke-dasharray:12 12;opacity:.9}
.is-running .dp-flow{animation:flow 1.1s linear infinite}
body[data-topic="diaphragm-pump-check-valves"] .dp-memb,
body[data-topic="diaphragm-pump-check-valves"] .dp-flow{animation-play-state:running}
body[data-topic="diaphragm-pump-check-valves"] .dp-flow-gate{animation:dpGate 1.8s ease-in-out infinite}
@keyframes dpGate{0%,100%{opacity:1}50%{opacity:.15}}
@media (prefers-reduced-motion:reduce){
  .dp-memb,.dp-flow,.dp-flow-gate{animation:none}
}
