| | <!DOCTYPE html> |
| | <html lang="ru"> |
| | <head> |
| | <meta charset="UTF-8"> |
| | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | <title>PhaseAI - Тестовый прогноз</title> |
| | <script src="https://cdn.tailwindcss.com"></script> |
| | <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| | <style> |
| | @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); |
| | |
| | body { |
| | font-family: 'Inter', sans-serif; |
| | background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); |
| | min-height: 100vh; |
| | color: #e2e8f0; |
| | } |
| | |
| | .glass-card { |
| | background: rgba(15, 23, 42, 0.7); |
| | backdrop-filter: blur(10px); |
| | border: 1px solid rgba(255, 255, 255, 0.1); |
| | } |
| | |
| | .neon-purple { |
| | color: #c084fc; |
| | text-shadow: 0 0 5px rgba(192, 132, 252, 0.5); |
| | } |
| | |
| | .neon-teal { |
| | color: #5eead4; |
| | text-shadow: 0 0 5px rgba(94, 234, 212, 0.5); |
| | } |
| | |
| | .phase-indicator { |
| | position: relative; |
| | overflow: hidden; |
| | } |
| | |
| | .phase-indicator::after { |
| | content: ''; |
| | position: absolute; |
| | top: 0; |
| | left: 0; |
| | height: 100%; |
| | background: linear-gradient(90deg, rgba(94, 234, 212, 0.2) 0%, rgba(192, 132, 252, 0.2) 100%); |
| | border-radius: 9999px; |
| | } |
| | |
| | .holding::after { |
| | width: 30%; |
| | background: linear-gradient(90deg, rgba(239, 68, 68, 0.2) 0%, rgba(249, 168, 212, 0.2) 100%); |
| | } |
| | |
| | .payout::after { |
| | width: 73%; |
| | background: linear-gradient(90deg, rgba(94, 234, 212, 0.2) 0%, rgba(192, 132, 252, 0.2) 100%); |
| | } |
| | |
| | .fade-in { |
| | animation: fadeIn 0.5s ease-in-out; |
| | } |
| | |
| | .slide-up { |
| | animation: slideUp 0.5s ease-out; |
| | } |
| | |
| | @keyframes fadeIn { |
| | from { opacity: 0; } |
| | to { opacity: 1; } |
| | } |
| | |
| | @keyframes slideUp { |
| | from { transform: translateY(20px); opacity: 0; } |
| | to { transform: translateY(0); opacity: 1; } |
| | } |
| | |
| | .graph-container { |
| | height: 200px; |
| | position: relative; |
| | } |
| | |
| | .graph-line { |
| | position: absolute; |
| | bottom: 0; |
| | left: 0; |
| | width: 100%; |
| | height: 80%; |
| | background: linear-gradient(to top, rgba(94, 234, 212, 0.2) 0%, transparent 100%); |
| | clip-path: polygon( |
| | 0% 100%, |
| | 10% 80%, |
| | 20% 85%, |
| | 30% 60%, |
| | 40% 70%, |
| | 50% 40%, |
| | 60% 50%, |
| | 70% 20%, |
| | 80% 30%, |
| | 90% 10%, |
| | 100% 20%, |
| | 100% 100% |
| | ); |
| | } |
| | |
| | .payout-graph { |
| | background: linear-gradient(to top, rgba(94, 234, 212, 0.2) 0%, transparent 100%); |
| | clip-path: polygon( |
| | 0% 100%, |
| | 10% 30%, |
| | 20% 40%, |
| | 30% 20%, |
| | 40% 35%, |
| | 50% 15%, |
| | 60% 25%, |
| | 70% 10%, |
| | 80% 20%, |
| | 90% 5%, |
| | 100% 15%, |
| | 100% 100% |
| | ); |
| | } |
| | |
| | .demo-badge { |
| | position: fixed; |
| | top: 20px; |
| | right: 20px; |
| | transform: rotate(15deg); |
| | opacity: 0.7; |
| | z-index: 50; |
| | } |
| | </style> |
| | </head> |
| | <body class="antialiased"> |
| | |
| | <div class="demo-badge glass-card px-4 py-2 rounded-full text-xs font-bold text-purple-300"> |
| | ДЕМО-РЕЖИМ |
| | </div> |
| |
|
| | <div class="container mx-auto px-4 py-12 max-w-6xl"> |
| | |
| | <div class="text-center mb-12 slide-up"> |
| | <h1 class="text-4xl font-bold mb-4 neon-purple">Проверь, как работает <span class="neon-teal">PhaseAI</span></h1> |
| | <p class="text-lg text-gray-300">Получи тестовый прогноз для своей любимой игры</p> |
| | </div> |
| |
|
| | |
| | <div class="glass-card rounded-xl p-6 mb-8 fade-in"> |
| | <h2 class="text-xl font-semibold mb-4 flex items-center"> |
| | <i class="fas fa-crown mr-2 text-yellow-400"></i> Выберите казино |
| | </h2> |
| | <div class="relative"> |
| | <select id="casinoSelect" class="w-full bg-slate-800 border border-slate-700 rounded-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-purple-500 appearance-none"> |
| | <option value="" disabled selected>Выберите платформу</option> |
| | <option value="jet" data-logo="🟣">Jet Casino</option> |
| | <option value="1win" data-logo="🔵">1Win</option> |
| | <option value="mostbet" data-logo="🔴">MostBet</option> |
| | <option value="pinup" data-logo="🟢">Pin-Up</option> |
| | <option value="stake" data-logo="🟡">Stake</option> |
| | </select> |
| | <div class="absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none"> |
| | <i class="fas fa-chevron-down text-gray-400"></i> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div id="gamesContainer" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12 hidden"> |
| | <h2 class="text-xl font-semibold mb-4 col-span-full flex items-center"> |
| | <i class="fas fa-gamepad mr-2 text-purple-400"></i> Доступные игры |
| | </h2> |
| | |
| | </div> |
| |
|
| | |
| | <div id="forecastContainer" class="glass-card rounded-xl p-6 mb-8 hidden slide-up"> |
| | <div class="flex justify-between items-start mb-6"> |
| | <div> |
| | <h2 class="text-2xl font-bold neon-teal mb-1" id="gameTitle">Aviator</h2> |
| | <div class="flex items-center text-sm text-gray-400"> |
| | <i class="fas fa-clock mr-1"></i> |
| | <span id="lastUpdated">Последнее обновление: 12:52</span> |
| | </div> |
| | </div> |
| | <button id="backButton" class="bg-slate-700 hover:bg-slate-600 text-white px-4 py-2 rounded-lg flex items-center"> |
| | <i class="fas fa-arrow-left mr-2"></i> Назад |
| | </button> |
| | </div> |
| |
|
| | |
| | <div class="graph-container bg-slate-800 rounded-lg mb-6 relative overflow-hidden"> |
| | <div class="graph-line payout-graph"></div> |
| | <div class="absolute bottom-0 left-0 right-0 h-px bg-slate-600"></div> |
| | <div class="absolute top-0 left-0 right-0 p-4 flex justify-between items-start"> |
| | <div class="bg-slate-900 bg-opacity-70 px-3 py-1 rounded-full text-xs font-medium"> |
| | <span class="neon-teal" id="currentPhase">Фаза: отдача</span> |
| | </div> |
| | <div class="bg-slate-900 bg-opacity-70 px-3 py-1 rounded-full text-xs font-medium"> |
| | <span class="neon-purple" id="winProbability">Вероятность: 78%</span> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="bg-slate-800 rounded-lg p-4 mb-6 border-l-4 border-teal-400"> |
| | <div class="flex items-start"> |
| | <div class="bg-teal-900 bg-opacity-30 p-2 rounded-full mr-3"> |
| | <i class="fas fa-brain text-teal-300"></i> |
| | </div> |
| | <div> |
| | <h3 class="font-semibold text-teal-300 mb-1">AI-комментарий</h3> |
| | <p class="text-sm text-gray-300" id="aiComment">На основе последних 50 раундов вероятен рост коэффициента на 120–180% в ближайшие 7 запусков. Резкое снижение холда в 11:30 — признак высокой вероятности надбавки.</p> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="mb-6"> |
| | <h3 class="font-semibold text-lg mb-3 flex items-center"> |
| | <i class="fas fa-history mr-2 text-purple-400"></i> Последние запуски |
| | </h3> |
| | <div class="bg-slate-800 rounded-lg overflow-hidden"> |
| | <table class="w-full text-sm"> |
| | <thead class="bg-slate-700 text-gray-300"> |
| | <tr> |
| | <th class="py-2 px-4 text-left">Время</th> |
| | <th class="py-2 px-4 text-left">Коэфф.</th> |
| | <th class="py-2 px-4 text-left">Фаза</th> |
| | </tr> |
| | </thead> |
| | <tbody id="roundsTable" class="divide-y divide-slate-700"> |
| | |
| | </tbody> |
| | </table> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="bg-gradient-to-r from-purple-900 to-teal-900 rounded-xl p-6 text-center"> |
| | <h3 class="text-xl font-bold mb-3 neon-teal">Хочешь получать такие прогнозы по всем играм?</h3> |
| | <p class="text-gray-300 mb-5">Активируй подписку и получай прогнозы в реальном времени с точностью до 92%</p> |
| | <button class="bg-gradient-to-r from-purple-500 to-teal-500 hover:from-purple-600 hover:to-teal-600 text-white font-bold py-3 px-8 rounded-full inline-flex items-center transition-all transform hover:scale-105"> |
| | <i class="fas fa-gem mr-2"></i> Активировать подписку |
| | </button> |
| | <div class="mt-4 text-xs text-gray-400"> |
| | <i class="fas fa-lock mr-1"></i> Безопасная оплата • Доступ от 1 дня |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | <script> |
| | document.addEventListener('DOMContentLoaded', function() { |
| | |
| | const casinoSelect = document.getElementById('casinoSelect'); |
| | const gamesContainer = document.getElementById('gamesContainer'); |
| | const forecastContainer = document.getElementById('forecastContainer'); |
| | const backButton = document.getElementById('backButton'); |
| | |
| | |
| | const gamesData = { |
| | jet: [ |
| | { id: 1, name: "Aviator", lastActivity: "12:52", phase: "payout", phasePercent: 73 }, |
| | { id: 2, name: "Mines", lastActivity: "12:48", phase: "holding", phasePercent: 30 }, |
| | { id: 3, name: "Plinko", lastActivity: "12:45", phase: "payout", phasePercent: 68 }, |
| | { id: 4, name: "Dice", lastActivity: "12:40", phase: "payout", phasePercent: 75 }, |
| | { id: 5, name: "Roulette", lastActivity: "12:35", phase: "holding", phasePercent: 25 }, |
| | { id: 6, name: "Crash", lastActivity: "12:30", phase: "payout", phasePercent: 70 } |
| | ], |
| | "1win": [ |
| | { id: 1, name: "Aviator", lastActivity: "12:50", phase: "payout", phasePercent: 72 }, |
| | { id: 2, name: "Hilo", lastActivity: "12:45", phase: "holding", phasePercent: 28 }, |
| | { id: 3, name: "Dice", lastActivity: "12:42", phase: "payout", phasePercent: 65 } |
| | ], |
| | mostbet: [ |
| | { id: 1, name: "Aviator", lastActivity: "12:55", phase: "payout", phasePercent: 70 }, |
| | { id: 2, name: "Mines", lastActivity: "12:50", phase: "payout", phasePercent: 67 }, |
| | { id: 3, name: "Plinko", lastActivity: "12:48", phase: "holding", phasePercent: 32 } |
| | ], |
| | pinup: [ |
| | { id: 1, name: "Aviator", lastActivity: "12:58", phase: "holding", phasePercent: 35 }, |
| | { id: 2, name: "Dice", lastActivity: "12:55", phase: "payout", phasePercent: 71 }, |
| | { id: 3, name: "Crash", lastActivity: "12:52", phase: "payout", phasePercent: 69 } |
| | ], |
| | stake: [ |
| | { id: 1, name: "Aviator", lastActivity: "13:00", phase: "payout", phasePercent: 74 }, |
| | { id: 2, name: "Mines", lastActivity: "12:58", phase: "holding", phasePercent: 27 }, |
| | { id: 3, name: "Plinko", lastActivity: "12:55", phase: "payout", phasePercent: 66 } |
| | ] |
| | }; |
| | |
| | |
| | const aiComments = [ |
| | "На основе последних 50 раундов вероятен рост коэффициента на 120–180% в ближайшие 7 запусков.", |
| | "Система обнаружила паттерн отдачи с высокой вероятностью успеха в ближайшие 5 минут.", |
| | "После продолжительного холда игра перешла в фазу отдачи - оптимальное время для ставок.", |
| | "Анализ показывает 78% вероятность успешных ставок в ближайшие 3 минуты.", |
| | "Резкое снижение холда в последних раундах указывает на скорую фазу отдачи.", |
| | "Статистика по игре показывает стабильную отдачу в этот временной промежуток." |
| | ]; |
| | |
| | |
| | const recentRounds = [ |
| | { time: "12:52", multiplier: "1.87x", phase: "payout" }, |
| | { time: "12:50", multiplier: "0.95x", phase: "holding" }, |
| | { time: "12:48", multiplier: "2.15x", phase: "payout" }, |
| | { time: "12:46", multiplier: "0.45x", phase: "holding" }, |
| | { time: "12:44", multiplier: "1.72x", phase: "payout" }, |
| | { time: "12:42", multiplier: "0.80x", phase: "holding" }, |
| | { time: "12:40", multiplier: "1.95x", phase: "payout" } |
| | ]; |
| | |
| | |
| | casinoSelect.addEventListener('change', function() { |
| | const selectedCasino = this.value; |
| | |
| | if (selectedCasino) { |
| | |
| | gamesContainer.classList.remove('hidden'); |
| | |
| | |
| | gamesContainer.innerHTML = ` |
| | <h2 class="text-xl font-semibold mb-4 col-span-full flex items-center"> |
| | <i class="fas fa-gamepad mr-2 text-purple-400"></i> Доступные игры |
| | </h2> |
| | `; |
| | |
| | |
| | gamesData[selectedCasino].forEach(game => { |
| | const gameCard = document.createElement('div'); |
| | gameCard.className = 'glass-card rounded-xl p-5 hover:bg-slate-800 transition-all cursor-pointer'; |
| | gameCard.dataset.gameId = game.id; |
| | gameCard.dataset.gameName = game.name; |
| | gameCard.dataset.lastActivity = game.lastActivity; |
| | gameCard.dataset.phase = game.phase; |
| | gameCard.dataset.phasePercent = game.phasePercent; |
| | |
| | const phaseClass = game.phase === 'payout' ? 'text-teal-400' : 'text-rose-400'; |
| | const phaseText = game.phase === 'payout' ? 'отдача' : 'холд'; |
| | |
| | gameCard.innerHTML = ` |
| | <div class="flex justify-between items-start mb-3"> |
| | <h3 class="font-bold text-lg">${game.name}</h3> |
| | <span class="text-xs bg-slate-700 px-2 py-1 rounded-full">${game.lastActivity}</span> |
| | </div> |
| | <div class="mb-4"> |
| | <div class="flex justify-between text-sm mb-1"> |
| | <span class="text-gray-400">Фаза:</span> |
| | <span class="${phaseClass} font-medium">${phaseText} (${game.phasePercent}%)</span> |
| | </div> |
| | <div class="phase-indicator h-1.5 w-full rounded-full bg-slate-700 ${game.phase}"></div> |
| | </div> |
| | <button class="w-full bg-gradient-to-r from-purple-500 to-blue-500 hover:from-purple-600 hover:to-blue-600 text-white py-2 px-4 rounded-lg flex items-center justify-center transition-all"> |
| | <i class="fas fa-chart-line mr-2"></i> Получить прогноз |
| | </button> |
| | `; |
| | |
| | gamesContainer.appendChild(gameCard); |
| | }); |
| | |
| | |
| | document.querySelectorAll('#gamesContainer .glass-card').forEach(card => { |
| | card.addEventListener('click', function() { |
| | showForecast( |
| | this.dataset.gameName, |
| | this.dataset.lastActivity, |
| | this.dataset.phase, |
| | this.dataset.phasePercent |
| | ); |
| | }); |
| | }); |
| | } |
| | }); |
| | |
| | |
| | backButton.addEventListener('click', function() { |
| | forecastContainer.classList.add('hidden'); |
| | gamesContainer.classList.remove('hidden'); |
| | }); |
| | |
| | |
| | function showForecast(gameName, lastActivity, phase, phasePercent) { |
| | |
| | document.getElementById('gameTitle').textContent = gameName; |
| | document.getElementById('lastUpdated').textContent = `Последнее обновление: ${lastActivity}`; |
| | |
| | const phaseText = phase === 'payout' ? 'отдача' : 'холд'; |
| | const phaseColor = phase === 'payout' ? 'teal' : 'rose'; |
| | document.getElementById('currentPhase').textContent = `Фаза: ${phaseText}`; |
| | document.getElementById('winProbability').textContent = `Вероятность: ${phasePercent}%`; |
| | |
| | |
| | document.getElementById('aiComment').textContent = aiComments[Math.floor(Math.random() * aiComments.length)]; |
| | |
| | |
| | const roundsTable = document.getElementById('roundsTable'); |
| | roundsTable.innerHTML = ''; |
| | |
| | recentRounds.forEach(round => { |
| | const row = document.createElement('tr'); |
| | const phaseClass = round.phase === 'payout' ? 'text-teal-400' : 'text-rose-400'; |
| | const phaseText = round.phase === 'payout' ? 'отдача' : 'холд'; |
| | |
| | row.innerHTML = ` |
| | <td class="py-2 px-4">${round.time}</td> |
| | <td class="py-2 px-4 font-medium">${round.multiplier}</td> |
| | <td class="py-2 px-4"><span class="${phaseClass}">${phaseText}</span></td> |
| | `; |
| | roundsTable.appendChild(row); |
| | }); |
| | |
| | |
| | gamesContainer.classList.add('hidden'); |
| | forecastContainer.classList.remove('hidden'); |
| | |
| | |
| | forecastContainer.scrollIntoView({ behavior: 'smooth' }); |
| | } |
| | |
| | |
| | setTimeout(() => { |
| | casinoSelect.value = "jet"; |
| | const event = new Event('change'); |
| | casinoSelect.dispatchEvent(event); |
| | }, 300); |
| | }); |
| | </script> |
| | <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=timoon811/phase10" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| | </html> |