This is a really impressive puzzle game, fluid simulations alone are a nightmare but you have a lot of systems interacting and working well! You've clean pixel art and satisfying menus, I particularly liked the different sounds for menu-ing up and down. I had a lot of fun trying to solve the puzzles using as few resources as possible.
Some feedback: I think the retry option should respawn the player faster. You've got a great animation and sound for the retry, but I think I would have rather got back into the action a couple seconds quicker. I got stuck quite a bit on level 4 and had to retry a lot. Level 4 seems pretty RNG dependent on how the grains of sand fall after you burn the wood. Each time I did (I believe) pretty much the exact same inputs and got different results. The duck would get stuck if too many grains of sand ended up on the side, sometimes stuck on only just one. However after a few attempts everything fell just right and I was able to beat the level. I feel like this might just be a necessary evil of having such a dynamic puzzle game though, I'm not sure how I would go about fixing it.
Awesome job!