The only comment I have is that the `__main__.py` looks like a bit like spaghetti with ~1200 lines, multiple classes, and scattered global state. Not really a big deal unless you plan on growing the project or using it as a portfolio piece. Also in my opinion the project really is a prime portfolio piece, it shows creativity, polish, and theoretical understanding.
The only comment I have is that the `__main__.py` looks like a bit like spaghetti with ~1200 lines, multiple classes, and scattered global state. Not really a big deal unless you plan on growing the project or using it as a portfolio piece. Also in my opinion the project really is a prime portfolio piece, it shows creativity, polish, and theoretical understanding.