I like it, and I think that having it work on any card is cool, 3-4 is smaller than 4-5, but hey, the board is the same for all players. On some boards it will be cheaper than others, but being a one-shot I doubt this will break kingdoms.
My suggestions are making the effect on gain (because it's cooler, and I don't see a power problem, and on gain is easier rules-wise too). Also, I'm not a big fan of "choose one" effects that offer similar-ish options. I'd just keep the +2 Cards, +1 Coin, +1 Buy. Or +3 Cards, +1 Buy.
I like a +Buy here. We don't have a one-shot +Buy, and this one is very cool.