/* /assets/css/machines/energy-storage/how-a-solar-thermal-collector-absorber-tube-works-cutaway.css — 本页专属样式（en/zh 共用） */

/* ============ 机器类目基线：零件材质与高亮 ============ */
.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-case{fill:none;stroke:#94a3b8;stroke-width:18;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}}

/* ============ 太阳能集热管剖面图 · Solar collector absorber tube ============
   源图：svgs/todo/machine-82-how-a-solar-thermal-collector-absorber-tube-works-cutaway.html。
   通用类（.part/.body/.body2/.body3/.accent/.tag/.tag-sm/.pipe-flow）已在 base 中存在。 */
.part .coating{fill:#3b4a5a;stroke:#1e293b;stroke-width:1.4}
.part.is-active .coating{fill:#2563eb;stroke:#1e3a8a}
.coating-specks{fill:#94a3b8}
.part .copper{fill:#d9a86c;stroke:#b0703a;stroke-width:1.2}
.part.is-active .copper{fill:#2563eb;stroke:#1e3a8a}
.part .sun{fill:#fbbf24;stroke:#d97706;stroke-width:1.4}
.part.is-active .sun{stroke:#1d4ed8}
.sun-ray{fill:none;stroke:#f59e0b;stroke-width:3;stroke-linecap:round}
.part.is-active .sun-ray{stroke:#2563eb}
.leader{fill:none;stroke:#5b6a7d;stroke-width:1.2}
.leader-dot{fill:#5b6a7d}
.part .fluid{fill:#93c5fd;stroke:#2563eb;stroke-width:1.2}
.part.is-active .fluid{fill:#2563eb}
.part .insul{fill:#cbd5e1}