Have I reached maximum current on my Arduino?
Yes, you are slowly damaging it. Each output is guaranteed to supply up to 20 mA and you're exceeding that. You noticed that it does work. It will not work for the 10 years lifetime the manufacturer guarantees if you observe the max ratings. So it might fail sooner or later.

The Arduino can probably provide even more current but it's lifetime will decrease dramatically. For example you might get 5 years at 300 mA but only 1 month at 500 mA. This is just my guess !

What the max current will be in your implementation depends on the supply voltage and the LEDs. The switches in the Arduino have some resistance and these now limit the current somewhat. But this is no good as that also means extra heat dissipation ! And heat decreases lifetime.

If you want your contraption to last a long time: do not exceed the max ratings ! So use some MOSFETs to do the heavy work. The SI2301 and AO3400 are MOSFETs that can easily handle the current and can be easily controlled from the Arduino. Oh, and they're also cheap on ebay.