I really like this, and I'm curious - how did you script the levels? As it feels like early on you can click buttons waywardly to get all of them, but past level 15 you need to backtrack a few times to get to a hidden button?
Is each square a set of boolean combinations to reveal/not?