Uno millis() falls behind over long periods (hours/days)

Wow - thanks all. Sorry for asking a noob question - I tried searches but my search terms weren't up to the task. (I think "wall clock" might have been what I was missing.)

Anyway - it sounds like whether the root cause is ceramic oscillators or FastLED disabling interrupts, the solution is the same: I need to upgrade the gear. Either add a separate RTC, or even go whole hog and add something with wifi to connect to a time service or something. I need a better hardware solution.

To answer the question "why not use something better", I had a couple of Unos lying around, so figured I'd try them. This isn't a significant enough build that I wanted to invest an RPi or something beefier, so was hoping to make it work with what I had on hand. I agree though - right tool for the job. I'll be looking into an upgraded Arduino next.