/* assets/physics/fluid-dynamics/laminar-flow-vs-turbulent-flow.css — 本页专属样式（en/zh 共用） */
/* ============ 层流与湍流 · Laminar vs turbulent ============ */
/* laminar-turbulent · merged from source <style> */

/* ===== 图形基础 ===== */
body[data-topic="laminar-turbulent"] .svg-title{fill:#16202c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
           font-size:17px;font-weight:600;letter-spacing:.08em;text-anchor:middle;}
body[data-topic="laminar-turbulent"] .svg-sub{fill:#64748b;font-size:12px;text-anchor:middle;}
body[data-topic="laminar-turbulent"] .tag   {fill:#334155;font-size:19px;font-weight:600;text-anchor:middle;}
body[data-topic="laminar-turbulent"] .tag-sm{fill:#5b6472;font-size:14px;text-anchor:middle;}
body[data-topic="laminar-turbulent"] .legend{fill:#5b6472;font-size:11px;text-anchor:middle;}
body[data-topic="laminar-turbulent"] .panel-title{font-size:18px;font-weight:700;text-anchor:middle;
           font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}

/* ===== 管体 ===== */
body[data-topic="laminar-turbulent"] .pipe{fill:#f8fafc;stroke:#1e293b;stroke-width:2.5;stroke-linejoin:round;}
body[data-topic="laminar-turbulent"] .pipe-laminar {fill:#e0f2fe;}
body[data-topic="laminar-turbulent"] .pipe-turbulent{fill:#fff7ed;}

/* ===== 层流流线（蓝色平行、平滑） ===== */
body[data-topic="laminar-turbulent"] .laminar-stream{
  fill:none;stroke:#2563eb;stroke-width:3.5;stroke-linecap:round;
  stroke-dasharray:20 14;stroke-dashoffset:0;
  animation:lf-flow 1.4s linear infinite;
}
@keyframes lf-flow{to{stroke-dashoffset:-68}}

/* ===== 湍流流线（橙色、杂乱、波动） ===== */
body[data-topic="laminar-turbulent"] .turbulent-stream{
  fill:none;stroke:#ea580c;stroke-width:3.5;stroke-linecap:round;
  stroke-dasharray:14 10;stroke-dashoffset:0;
  animation:tf-flow .55s linear infinite;
}
@keyframes tf-flow{to{stroke-dashoffset:-48}}

/* ===== 湍流涡旋 ===== */
body[data-topic="laminar-turbulent"] .eddy{
  fill:none;stroke:#f97316;stroke-width:3;stroke-linecap:round;
  transform-box:fill-box;transform-origin:50% 50%;
  animation:eddySpin 2.4s linear infinite;
  opacity:.85;
}
body[data-topic="laminar-turbulent"] .eddy.rev{animation-direction:reverse;animation-duration:3.1s;}
@keyframes eddySpin{to{transform:rotate(360deg)}}

/* ===== 速度剖面（层流抛物线 / 湍流扁平） ===== */
body[data-topic="laminar-turbulent"] .profile-laminar{
  fill:none;stroke:#2563eb;stroke-width:3;stroke-linecap:round;
  stroke-dasharray:5 4;
}
body[data-topic="laminar-turbulent"] .profile-turbulent{
  fill:none;stroke:#ea580c;stroke-width:3;stroke-linecap:round;
  stroke-dasharray:5 4;
}
body[data-topic="laminar-turbulent"] .profile-axis{stroke:#94a3b8;stroke-width:1.5;stroke-dasharray:4 4;}
body[data-topic="laminar-turbulent"] .profile-text{font-size:12px;font-weight:600;fill:#64748b;
                font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}

/* ===== 无障碍：减弱动效 ===== */
@media (prefers-reduced-motion:reduce){
  body[data-topic="laminar-turbulent"] .laminar-stream,
  body[data-topic="laminar-turbulent"] .turbulent-stream,
  body[data-topic="laminar-turbulent"] .eddy{animation:none;}
}

