/* /assets/css/machines/naval-vessels/how-an-icebreaker-reinforced-bow-hull-structure-works-cutaway.css — 本页专属样式（en/zh 共用） */
/* ============ 特殊材质（Solid-fill internals） ============ */
.part .water{fill:#7fb2e0;fill-opacity:.5;stroke:#2563eb;stroke-width:1.2}
.part.is-active .water{fill:#2563eb;fill-opacity:.7}
.part .ice{fill:#e2eefb;stroke:#9dc3f0;stroke-width:1.4}
.part.is-active .ice{fill:#bfdbfe;stroke:#2563eb}
.ice-deco{fill:#e6effb;stroke:#a8c7ea;stroke-width:1.4;opacity:.9}
.ice-belt{stroke:#3b6ea5;stroke-width:1.6}
.part .accent{fill:none;stroke:#6b7b8c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.part.is-active .accent{stroke:var(--accent-2)}

/* ============ 零件本体/区分色（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.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{filter:drop-shadow(0 0 10px rgba(37,99,235,.35))}

/* ============ 流动（flow） ============ */
.pipe-case{fill:none;stroke:#94a3b8;stroke-width:20;stroke-linecap:round}
.pipe-flow{fill:none;stroke:var(--accent);stroke-width:5;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}}

/* ============ 破冰船剖面图 · Icebreaker cutaway ============
   源图：svgs/done/machine-68-how-an-icebreaker-reinforced-bow-hull-structure-works-cutaway.html。
   通用类（.part/.body/.body2/.body3/.tag/.tag-sm）已在 base 中存在。 */
.frame{stroke:#9aa9bb;stroke-width:1.4;opacity:.7;fill:none}
.web-frame{stroke:#7c8b9d;stroke-width:3.4;opacity:.85;fill:none}
.bow-plate{fill:url(#hatch);opacity:.28}
.tag-num{font-size:11px;fill:#5b6472;font-weight:700;letter-spacing:.12em;pointer-events:none;transition:fill .25s}
.ref-line{stroke:#c9d2e0;stroke-width:1;stroke-dasharray:6 8;fill:none}
.ref-label{fill:#5b6472;font-family:var(--mono);font-size:9px;letter-spacing:.14em}
.shell-layer .body{fill:#c8d2de;stroke:#5b6a7d;stroke-width:1.6;stroke-dasharray:4 3}
.part:hover .body{fill:#fef3c7;stroke:#d97706;stroke-width:1.6}
.part:hover .body2{fill:#fef9e7;stroke:#b45309}
.part:hover .tag{fill:#b45309}
.part:hover .tag-sm{fill:#b8862e}
.part:hover .tag-num{fill:#d97706}
.part:hover{filter:drop-shadow(0 0 6px rgba(217,119,6,.25))}
body[data-topic="icebreaker"] .part[data-id="reinforced-bow"]:not(.is-active) .body{fill:#c6d6e9}
body[data-topic="icebreaker"] .part[data-id="ice-belt"]:not(.is-active) .body2{fill:#c3d7ec}
body[data-topic="icebreaker"] .part[data-id="deck"]:not(.is-active) .body{fill:#d3dbe6}
body[data-topic="icebreaker"] .part[data-id="heeling-tanks"]:not(.is-active) .body2{fill:#d7e6f5}