Very clean execution, this was a very polished experience. Only things I'd suggest is adding an undo button, or adding a more intuitive way to shift the rows/columns. It was a little frustrating being one move away from beating the level, accidentally shifting a row when I meant to shift a column, then having to restart the entire level again. Still a great submission though :)