That was fun until I got to the point where no progress could be made and I had to undo a whole bunch of times to get to a workable configuration. Perhaps add a notification of some kind that I've gotten myself in that situation, rather than letting me kill a bunch of time solving an unsolvable puzzle. Still, very enjoyable!
Very nice. Easy to accidentally cheat, however. Shift a word to an invalid position, but right click instead of letting the mouse up event fire. Then shift the word back to the original position: win!