Cache apt and npm downloads between Docker builds
Every time the apt layer missed the cache, the build pulled ~270 MB of Chromium and ffmpeg from deb.debian.org again - often 10+ minutes on a slow mirror. The package lists, .debs and the npm cache now live in BuildKit cache mounts, so a re-run installs from local files. None of it ends up in the image.