diff --git a/core/templates/core/sequential_generator.html b/core/templates/core/sequential_generator.html
index 1fea7f6..8b035ca 100644
--- a/core/templates/core/sequential_generator.html
+++ b/core/templates/core/sequential_generator.html
@@ -144,9 +144,14 @@
{% endfor %}
-
+
+
+
+
@@ -305,6 +310,50 @@
const viewport = document.querySelector(".generator-viewport");
const elitePanel = document.getElementById("elite-panel");
+ // Novo Algoritmo de Probabilidade de Elite (Busca por Quadra 4+)
+ function recalculateDeepElite() {
+ if (!lotteryData || !lotteryData.name.toLowerCase().includes('quina')) return;
+
+ speak("Iniciando Recalibragem Neural de Alta Precisão para o próximo concurso.");
+
+ const allNums = Array.from({length: 80}, (_, i) => i + 1);
+ const frequency = lotteryData.elite_greens; // Histórico de frequência
+ const delayed = lotteryData.reclaimed_numbers; // Números em atraso
+
+ // Peso 1: Frequência Harmônica (30% de peso)
+ // Peso 2: Atraso Crítico (50% de peso - Essencial para o próximo concurso)
+ // Peso 3: Quadrantes (20% de peso - Equilíbrio)
+
+ let candidates = allNums.map(n => {
+ let score = 0;
+
+ // Pontua por frequência (Inverso para evitar vício)
+ const freqIdx = frequency.indexOf(n);
+ if (freqIdx !== -1) score += (10 - (freqIdx / 8));
+
+ // Pontua por Atraso (Ouro para o próximo sorteio)
+ if (delayed.includes(n)) score += 15;
+
+ // Bônus de Quadrante (Distribuição Geométrica)
+ const quad = Math.ceil(n / 20);
+ score += 2;
+
+ return { num: n, score: score };
+ });
+
+ // Ordena por maior score de probabilidade
+ candidates.sort((a, b) => b.score - a.score);
+
+ // Seleciona as 10 dezenas com Convergência Matemática
+ const top10 = candidates.slice(0, 10).map(c => c.num).sort((a, b) => a - b);
+
+ customEliteNumbers = top10;
+ fillEliteInputs(top10);
+ updateElitePanel();
+
+ speak("Matemática de Elite aplicada. 10 dezenas de ouro selecionadas para busca de Quadra.");
+ }
+
lotterySelect.addEventListener("change", async (e) => {
const key = e.target.value;
if (!key) return;
@@ -318,6 +367,8 @@
document.getElementById("col-duque").classList.remove("d-none");
document.getElementById("col-terno").classList.remove("d-none");
document.getElementById("col-sena").classList.add("d-none");
+ // Se for quina, aplica a nova matemática automaticamente
+ setTimeout(recalculateDeepElite, 1000);
} else {
document.getElementById("col-duque").classList.add("d-none");
document.getElementById("col-terno").classList.add("d-none");
@@ -326,7 +377,9 @@
setupFunnel(lotteryData.max_number);
updateElitePanel();
- fillEliteInputs(lotteryData.elite_greens.slice(0, 10));
+ if (!key.toLowerCase().includes('quina')) {
+ fillEliteInputs(lotteryData.elite_greens.slice(0, 10));
+ }
btnStart.disabled = false;
document.getElementById("stats-bar").classList.remove("d-none");
resetGenerator();
@@ -592,6 +645,11 @@
const eliteSwitch = document.getElementById("elite-mode-switch");
const eliteInputs = document.querySelectorAll(".elite-num-input");
const btnApplyElite = document.getElementById("btn-apply-elite");
+ const btnRecalculateMath = document.getElementById("btn-recalculate-math");
+
+ btnRecalculateMath.addEventListener("click", () => {
+ recalculateDeepElite();
+ });
function fillEliteInputs(numbers) {
eliteInputs.forEach((input, idx) => {