The game is progressing nicely.
3 variables left, eh? Have you tried reusing variables? Better yet, have you tried sharing variables? You can store two 4-bit variables in one byte each with a range of 0 to 15. If you have boolean variables, you can store 8 of those in one byte. Logical binary operators are a blessing if you know how to use them.
If you don't mind me peddling some more ideas, here are some things you could consider:
Instead of stopping the game after the time ends, have a certain number of jellyfish you must catch. Then once you have met the quota, continue on until time runs out. If you fail to catch the number of jellyfish for the round, game over. Otherwise, advance to another stage (maybe switch up the playfield colors for each round). Bump up the jellyfish quota by like 10 or so, and repeat. Eventually it will get so frantic the player would eventually fail to get enough jellyfish per round (probably around stage 5 or 6).
You'd need 3-4 bits of RAM for the current stage and the jellyfish count could be based on that, like:
Required Jellyfish = (Stage Number x 10) + 40
You could limit the number of stages to 8, which would use 3 bits of RAM (values 0 through 7). And you could store the remaining jellyfish required to be "safe" for the remainder of the stage using 7 bits of RAM (values 0 through 127). So that's only an extra byte of RAM usage. In the above formula, stage 8 would yield a jellyfish quota of 120 (which will fit in your 7-bit variable). You'd need to have a condition that checks if the game ends on level 8, probably at which that point you can just stop the game.
I'm not saying you should do all this if you don't want to, but consider it a challenge.
You could then slap a simple title screen on this thing and call it a complete game.