✓ 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 (label says top=Air, bottom=Water, but the vertical range input with writing-mode:vertical-lr and direction:rtl actually maps 0→top and 100→bottom correctly in the DOM yet the crown physics uses t=val/100 so top=0%=air is correct — however the slider thumb physically starts at top for value=0 meaning air which IS correct, but the CSS writing-mode/direction combo on WebKit renders it inverted in practice); fall animation is absent — crowns teleport via a linear lerp on each input event with no autonomous animation loop, so there's no actual falling motion between slider drags.
Slider direction is inverted (label says top=Air, bottom=Water, but the vertical range input with writing-mode:vertical-lr and direction:rtl actually maps 0→top and 100→bottom correctly in the DOM yet the crown physics uses t=val/100 so top=0%=air is correct — however the slider thumb physically starts at top for value=0 meaning air which IS correct, but the CSS writing-mode/direction combo on WebKit renders it inverted in practice); fall animation is absent — crowns teleport via a linear lerp on each input event with no autonomous animation loop, so there's no actual falling motion between slider drags.