= state.score;
          goAcc.textContent = acc.toFixed(0) + '%';
          const bestKey = 'typing_rain_best_v1';
          let best = 0;
          try {
            best = parseInt(localStorage.getItem(bestKey) || '0', 10) || 0;
            if (state.score > best) { best = state.score; localStorage.setItem(bestKey, String(best)); }
          } catch {}
          goBest.textContent = String(best);
        }

        function baseFallSpeed() { return 45 + (state.level - 1) * 12; }
        // Spawn words a 