I think the core concept is really interesting. One idea I’d explore is adding some kind of constraint on how many times each block type can be used to complete a level. Right now, I found myself mostly relying on repeated 30px moves until I needed a few 5px adjustments. Limiting the number of 30px and 5px moves available could make the puzzles feel more deliberate and strategic. But regardless, good job!