- SVG fire group with 3 layered flame paths (red/orange/yellow gradients) - CSS keyframe flicker animations with different timings per flame layer - JS controls fire opacity and scaleY proportional to heater power - Fix buildStep() reading grain_mass/water_mass from nested step.pot instead of flat step keys, matching the JSON structure Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DGKe8JzTM2Gr1fdx9wYXTi