Hello @bltz welcome to freeCodeCamp!
I’d say the most important part is being able to extract the text/gameplay-logic with the HTML/CSS the user sees. This will require knowledge of JavaScript, as it can be used to handle all the logic/dynamic game play elements you desire.
The last thing you want to do is have 500 different HTML pages realize you want to update the style and need to manually update every single one. The easiest way would be to leverage a framework of some kind, which will allow you to focus primarily on the game logic, story and game play, rather than manually dealing with simple stuff.
How you manage the game state/the game itself might require something like a browser api like localStorage so the user doesn’t lose all their progress by refreshing the page.
Other then that, the sky really is the limit. The more complex of a game you want, the more stuff you can/need to integrate.