✓ 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 (value=0 at top puts crowns in air, which is correct semantically, but the slider's `writing-mode: bt-lr` with `appearance: slider-vertical` means bottom of the physical slider = 0 = air, top = 100 = water — inverted from the spec); mass/volume/density stats are static labels not live-updating values, and there is no distinct fall animation transition — crowns teleport linearly rather than animating.
Slider direction is inverted (value=0 at top puts crowns in air, which is correct semantically, but the slider's `writing-mode: bt-lr` with `appearance: slider-vertical` means bottom of the physical slider = 0 = air, top = 100 = water — inverted from the spec); mass/volume/density stats are static labels not live-updating values, and there is no distinct fall animation transition — crowns teleport linearly rather than animating.