Beautiful work.
FYI there's a bug if you accidentally try to pick up a piece on a tower with no pieces - it throws a multi-line error message. I've screenshotted it and added it below.
Suggestion: If you have multiple rows of towers, let the up/down arrow keys move from the top and bottom rows.