Fix the building static: the media-element sink drifts — mobile-only now

Paul: static builds over ~10 minutes, any genre, worse over time. The 13-15min instrumented soaks found it: the mobile background-audio route (master -> MediaStreamAudioDestinationNode -> ) made the element THE output for every session, and the element's playback clock DRIFTS from the…

• Exonerated with the same soaks: the tb303 mono-voice param timeline (13min: 0 clicks, flat noise floor), fx_bus automation, heap, node counts — all flat.

• The fix: the media-element route is now MOBILE-ONLY — it exists for iOS/Android screen-lock survival, which desktop never needed; desktop reverts to the classic analyser -> ctx.destination path.

• KNOWN FOLLOW-UP flagged honestly: mobile long sessions still carry the drifting sink; the fix there is periodic gapless recreation of the element/stream — queued separately.

• faust/soak-run.js + soak.html join the standing harnesses (the class of bug no 30-second gate can see).

▶ Play it: Neon Fiscal Year → Titration Rapture — a shuttle between the two genres this change names — the blend is the point https://stellate.app/?genre=citypop&seed=9363&path=1530.6221,1405.21491&xdur=0.049

ca11cd8 https://github.com/aboard-io/stellate/commit/ca11cd8be51eb418e4e1358a3252399f931c545e