A lovely puzzle! The only little hitch I had is that the button I was keeping pressed at the end of level kinda fell through to the next level, so I lost that button's action immediately at the start of that level and had to restart it.
Still, great job!