Hi! You can start before the theme is announced.
There's also nothing wrong with reusing various systems and scripts. It saves time, and is even recommended
Hi! It's not only allowed, but also recommended to reuse stuff from previous projects, or game assets too. It's best to also build systems of code that would be universal enough to be reused for future projects, so you wouldn't have to start from scratch each time you begin working on a new game idea!