✓ Two crowns ✓ Same mass, different density ✓ Vertical slider ✓ Slider works ✓ Slider controls crowns — Slider direction correct ✓ Full slider range — Fall animation ✓ Water displacement ✓ Rising water level ✓ Splash effects ✓ Physics correct — Live mass value — Live volume value — Live density value ✓ Live displaced water ✓ Gilded displaces more ✓ Heureka animation ✓ No external deps ✓ Light bg / dark text ✓ Self-contained HTML
Slider direction is inverted (min=0=Luft at top, max=100=Wasser at bottom maps correctly in labels but the `writing-mode: bt-lr` vertical slider's visual top position sends value=0, making Luft=top correct — however crown positions use depthRatio=0 at slider top meaning crowns are in air when slider is at top, which IS correct — but live mass, volume, and density values are static HTML text rather than dynamically updated displays, failing three live-value requirements.
Slider direction is inverted (min=0=Luft at top, max=100=Wasser at bottom maps correctly in labels but the `writing-mode: bt-lr` vertical slider's visual top position sends value=0, making Luft=top correct — however crown positions use depthRatio=0 at slider top meaning crowns are in air when slider is at top, which IS correct — but live mass, volume, and density values are static HTML text rather than dynamically updated displays, failing three live-value requirements.