This conversation inspired me to write a bit more about polyfilling/fallbacks for progress().
If your breakpoints are in pixels, which they usually are, all you need is this!
Not a nice as progress() but a lot better than I proposing in my previous article. Only 1 @property and 1 tan(atan2())