✓ 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 "pull up" and value=0 is resting/air while value=100 is submerged, but a vertical range input with min=0 at bottom and max=100 at top means the physical top position gives 100/water — however the writing-mode bt-lr means 0 is at bottom and 100 is at top, so top=100=submerged which is inverted from the required top=air convention); physics and live values are solid, Heureka overlay and splash effects are well-implemented, but both crowns share identical submersion fraction rather than accounting for their differing sizes during entry.
Slider direction is inverted (label says "pull up" and value=0 is resting/air while value=100 is submerged, but a vertical range input with min=0 at bottom and max=100 at top means the physical top position gives 100/water — however the writing-mode bt-lr means 0 is at bottom and 100 is at top, so top=100=submerged which is inverted from the required top=air convention); physics and live values are solid, Heureka overlay and splash effects are well-implemented, but both crowns share identical submersion fraction rather than accounting for their differing sizes during entry.