I want you to build a online wizard game. for game instructions look into /wizard_instructions/. the service consists of the following components: a react app that serves as frontend, a python server, that contains the game logic and synchronizes and manages the players, an ai model in python that serves as ai player.

React frontend: Build the react website in /wizard_website/. make sure to keep the css in modules.

Python game server: Build the game server in /wizard_server/. the server should contain a component for the game logic. that game logic component should be usable apart from the server for the ai models to train. the server should manage players and lobbys.
the process is the following: a player opens the website, he creates a lobby, he joins that lobby. in that lobby there is a visibale lobby code whith which others can join that same lobby. you can also let ai players join with a button. when pressing start the game starts.

ai player: the ai player consists of a maschine learning model that was trained with reinforcement learning. the model will be trained with other models using the game logic component of the server. build the ai player in /wizard_ai/. in production the ai player should comunicate with the server over a websocket. the exact implementation of the ai model will be done later, just build the structure around it.

infrastructure: all components should be dockerized. make a dockerfile for each component and one compose file for all components together. the website will be inside the external docker network "wizard_website", the server will be inside the external docker network "wizard_api" and the server and ai model will be inside the docker network "wizard_internal". an already existing caddy container will work as reverse proxy for the services.
