/* /assets/css/machines/aerospace/how-a-de-laval-converging-diverging-nozzle-works-cutaway.css — 本页专属样式（en/zh 共用） */

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

/* ============ SVG 标题 ============ */
.svg-title{fill:var(--strong);font-family:var(--mono);font-size:17px;font-weight:600;letter-spacing:.08em}
.svg-sub{font-size:11px}

/* ============ 速度箭头（velocity arrows） ============ */
.flow-arrow{fill:none;stroke:#2563eb;stroke-width:5;stroke-linecap:round;opacity:0;transition:opacity .4s}
.is-running .flow-arrow{opacity:.9;animation:arrowPulse 1.2s ease-in-out infinite}
@keyframes arrowPulse{0%,100%{opacity:.55}50%{opacity:1}}

/* ============ 排气羽流（exhaust plume） ============ */
.flame{opacity:0;transition:opacity .4s}
.is-running .flame{opacity:.9;animation:flamePulse 1s ease-in-out infinite}
@keyframes flamePulse{0%,100%{opacity:.65}50%{opacity:1}}

/* ============ 德·拉伐尔喷管剖面图 · de Laval nozzle ============
   源图：svgs/done/machine-64-how-a-de-laval-converging-diverging-nozzle-works-cutaway.html。
   通用类（.part/.body/.body2/.body3/.accent/.tag/.tag-sm）已在 base + 本表存在。 */

/* 各部件区分色（:not(.is-active) 保证全局高亮仍生效） */
body[data-topic="de-laval-nozzle"] .part[data-id="part-inlet-plenum"]:not(.is-active) .body{fill:#e7cfa6}
body[data-topic="de-laval-nozzle"] .part[data-id="part-inlet-plenum"]:not(.is-active) .body2{fill:#f0e0c2}
body[data-topic="de-laval-nozzle"] .part[data-id="part-converging"]:not(.is-active) .body{fill:#c2b6d9}
body[data-topic="de-laval-nozzle"] .part[data-id="part-converging"]:not(.is-active) .body2{fill:#ddd4ec}
body[data-topic="de-laval-nozzle"] .part[data-id="part-throat"]:not(.is-active) .body{fill:#b7c9dd}
body[data-topic="de-laval-nozzle"] .part[data-id="part-diverging"]:not(.is-active) .body{fill:#aab9cd}
body[data-topic="de-laval-nozzle"] .part[data-id="part-diverging"]:not(.is-active) .body2{fill:#c6d2e0}