Great job! Challenging but fun and quite addictive.
I will admit I found this a little tricky at first to get my head around and things seemed to go wrong very quickly.
But as a result I found myself experimenting with my approach and had fun.
It is a little heavy on the information to read at first and I think some status indicators would help with the failure thing.
Nice work with this one.