✓ 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 at top maps to "Luft"/air but the slider-labels layout places "Luft" at top and "Wasser" at bottom visually while native vertical range in most browsers reads top=max, so the value=0/"Luft" crown-above mapping is correct by code but the -webkit-appearance:slider-vertical renders top=100/bottom=0, making it effectively inverted); water-level rise uses a fixed pixel ratio hardcoded to gold volume (51.8) rather than per-crown volume, and the Heureka animation fires via SVG text with the CSS class but the class font-size/color only applies to HTML elements so the text renders unstyled, and there is no smooth fall animation — crowns teleport with the slider.
Slider direction is inverted (min=0 at top maps to "Luft"/air but the slider-labels layout places "Luft" at top and "Wasser" at bottom visually while native vertical range in most browsers reads top=max, so the value=0/"Luft" crown-above mapping is correct by code but the -webkit-appearance:slider-vertical renders top=100/bottom=0, making it effectively inverted); water-level rise uses a fixed pixel ratio hardcoded to gold volume (51.8) rather than per-crown volume, and the Heureka animation fires via SVG text with the CSS class but the class font-size/color only applies to HTML elements so the text renders unstyled, and there is no smooth fall animation — crowns teleport with the slider.