const gameState = {
    nivelIdx: 0,
    paciencia: PACIENCIA_INICIAL,
    vidas: VIDAS_INICIALES,
    paused: false,
    encuentroActivo: false,
    started: false,
    gameOver: false,
    victoria: false,
    nivelCompletado: false,
    tiempoNivelInicio: 0,
    mejorTiempos: {},
    nivelMaxAlcanzado: 0,
    invulnUntil: 0,
    sprinting: false,
    causaMuerte: null,
    runTotalMs: 0,
    runMaxLevel: 0,
    regenBloqueadoHasta: 0
};

function resetEstadoNivel() {
    gameState.paciencia = PACIENCIA_INICIAL;
    gameState.paused = false;
    gameState.encuentroActivo = false;
    gameState.nivelCompletado = false;
    gameState.tiempoNivelInicio = performance.now();
    gameState.invulnUntil = 0;
    gameState.sprinting = false;
    gameState.causaMuerte = null;
    gameState.regenBloqueadoHasta = 0;
}

function resetEstadoCompleto() {
    gameState.nivelIdx = 0;
    gameState.vidas = VIDAS_INICIALES;
    gameState.gameOver = false;
    gameState.victoria = false;
    gameState.runTotalMs = 0;
    gameState.runMaxLevel = 0;
    resetEstadoNivel();
}
