I feel you. I think a year ago I spent over $1k on various videogames I haven't even touched and don't plan on touching anytime soon. What a waste! And now the new and improved iterations have come out? I need to skip Pokemon for a few generations until I actually have gaming time again lol.
My husband likes to eat out more than make his own food, so I make sure to budget that in. He gets about $50/week to spend on fast food for lunch. We do go over budget from time to time, but knowing there is a LINE makes it easier to pull back toward the line instead of spending wildly.
If you go out to the diner a lot, just budget it in and buy less groceries. Figure out if you throw away a lot of food from the fridge because it goes bad and be okay with having an empty fridge except for milk for breakfast cereal or whatever. When budgeting, you should be realistic about your own lifestyle patterns so you're not wasting on things you aren't even using.
I, for example, need to stop buying so many fresh/perishable groceries. I am on a diet so my brain/habits need to update to not buying and cooking things in bulk that I will never get to eating before they go bad.
I just use Excel because I am too simple to use fancy software.
My budget kind of looks like this (this was from 2018, so no more OSAP/student loan now! yay!):
And I break down groceries by week on a different page and looks kind of like this simplified example:
Since everything is mostly on one or two credit cards, I just go through my transactions at the beginning of the new week to review the previous week and add them to a column according to whether it came from the grocery store/household/"needed" purchase or a fast food/restaurant/ebgames etc. purchase.
I think keeping it simple into two buckets like this makes it less overwhelming, but you can always break it down to a meal budget vs date budget vs home leisure budget etc.