diff --git "a/frontend/index.html" "b/frontend/index.html"
--- "a/frontend/index.html"
+++ "b/frontend/index.html"
@@ -4,13 +4,10 @@
@@ -3446,3130 +4085,21 @@
-
-
-
-
-
+
+
+
+
+
+
- const osc = a.oscillators || { sell: 0, neutral: 0, buy: 0, signal: '--', data: [] };
- const ma = a.moving_averages || { sell: 0, neutral: 0, buy: 0, signal: '--', data: [] };
- const technicals = a.technicals || { gauge: 50, signal: '--', buy: 0, sell: 0, neutral: 0 };
- const aiGauge = a.ai_gauge || { gauge: 50, signal: '--', confidence_pct: 0, certainty: 0, path_consistency: 50 };
- const summary = a.summary || { sell: 0, neutral: 0, buy: 0, signal: '--' };
- const dashboard = a.dashboard || {};
- const pivots = (a.pivot_points || {}).data || [];
- const comboActive = Boolean(summary.agreement || (Math.abs((technicals.gauge ?? 50) - 50) > 6 && Math.abs((aiGauge.gauge ?? 50) - 50) > 6 && Math.sign((technicals.gauge ?? 50) - 50) === Math.sign((aiGauge.gauge ?? 50) - 50)));
-
- const forecastRows = payload.forecast || [];
- const lastClose = payload.last_close || 0;
- const aiCurrentPrice = dashboard.ai?.current_price ?? lastClose;
- const forecastEnd = dashboard.ai?.forecast_price ?? (forecastRows.length > 1 ? (forecastRows[forecastRows.length - 1]?.p50 ?? lastClose) : lastClose);
- const forecastPctChange = dashboard.ai?.forecast_return_pct ?? (lastClose > 0 ? ((forecastEnd - lastClose) / lastClose) * 100 : 0);
-
- // ── Big SVG Gauge builder (Refactored to buildGaugeSvg) ──
-
- function signalClass(signal) {
- return getSignalClass(signal);
- }
+