bit less frequently to reduce on-screen density
        function spawnInterval() { return Math.max(650 - (state.level - 1) * 30, 400); }
        // Limit the maximum number of simultaneous words on screen, slowly increasing with level
        function maxWordsOnScreen() { return 4 + Math.floor((state.level - 1) / 4); }
        function levelUpIfNeeded() {
          const newLevel = 1 + Math.floor(state.score / 100);
          if (newLevel !== state.level) { state.level = newLevel; updateHUD(); }
        }

