FYI I solved this by removing the code that updates the bubbles in the window.onresize handler, I never really figured out *why* things were going haywire, but since I’m ok with not having dynamic updating from words -> dots, that was the simplest thing for me to do. It might still be worth an investigation, though.