I understand dreaming big! It's so hard not to when you have all these super cool ideas flowing into a game design! My advice is to create the critical game flow, essentially a MVP (minimal viable product) where you can play your game at the most basic skeleton of the game. Then add features to improve the game so that if you have to end a lot sooner than you expect to, you still have a product that is playable from start to end.
At the end of the day, you made a fun experience that I thoroughly enjoyed and I hope that my advice is useful and helps you continue to grow!