✓ 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 (CSS `direction: rtl` + `writing-mode: vertical-lr` maps max value to the top, meaning dragging down increases the value and submerges crowns, which is correct behaviorally but the label layout says "▲ Luft" at top and "▼ Wasser" at bottom — however the slider value=0 at top maps to air and value=100 at bottom maps to water, so direction is actually correct per the JS logic; no smooth fall animation (crowns jump discretely via slider only, no autonomous fall tweening), and the splash is a static SVG group faded in/out rather than a true particle effect.
Slider direction is inverted (CSS `direction: rtl` + `writing-mode: vertical-lr` maps max value to the top, meaning dragging down increases the value and submerges crowns, which is correct behaviorally but the label layout says "▲ Luft" at top and "▼ Wasser" at bottom — however the slider value=0 at top maps to air and value=100 at bottom maps to water, so direction is actually correct per the JS logic; no smooth fall animation (crowns jump discretely via slider only, no autonomous fall tweening), and the splash is a static SVG group faded in/out rather than a true particle effect.