|
|
<!DOCTYPE html> |
|
|
<html lang="ru"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>Прогнозы | Casino Predictor</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> |
|
|
.phase-collection { |
|
|
background-color: rgba(255, 193, 7, 0.1); |
|
|
border-left: 4px solid #ffc107; |
|
|
} |
|
|
.phase-payout { |
|
|
background-color: rgba(40, 167, 69, 0.1); |
|
|
border-left: 4px solid #28a745; |
|
|
} |
|
|
.phase-volatility { |
|
|
background-color: rgba(220, 53, 69, 0.1); |
|
|
border-left: 4px solid #dc3545; |
|
|
} |
|
|
.status-ready { |
|
|
color: #28a745; |
|
|
} |
|
|
.status-working { |
|
|
color: #ffc107; |
|
|
animation: pulse 2s infinite; |
|
|
} |
|
|
.status-expired { |
|
|
color: #6c757d; |
|
|
} |
|
|
.status-error { |
|
|
color: #dc3545; |
|
|
} |
|
|
@keyframes pulse { |
|
|
0% { opacity: 1; } |
|
|
50% { opacity: 0.5; } |
|
|
100% { opacity: 1; } |
|
|
} |
|
|
.modal { |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
.chart-container { |
|
|
height: 300px; |
|
|
background: linear-gradient(90deg, rgba(241,245,249,1) 0%, rgba(226,232,240,1) 100%); |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body class="bg-gray-50 text-gray-800"> |
|
|
<div class="container mx-auto px-4 py-8 max-w-6xl"> |
|
|
|
|
|
<div class="flex justify-between items-center mb-8"> |
|
|
<h1 class="text-3xl font-bold text-gray-900 flex items-center"> |
|
|
<i class="fas fa-chart-line text-blue-500 mr-3"></i> 📊 Мои прогнозы |
|
|
</h1> |
|
|
<div class="flex items-center space-x-4"> |
|
|
<button id="notificationBtn" class="relative p-2 rounded-full hover:bg-gray-200"> |
|
|
<i class="fas fa-bell text-gray-600"></i> |
|
|
<span class="absolute top-0 right-0 w-2 h-2 bg-red-500 rounded-full"></span> |
|
|
</button> |
|
|
<div class="relative"> |
|
|
<button id="sortBtn" class="flex items-center space-x-2 bg-white px-4 py-2 rounded-lg shadow-sm border border-gray-200 hover:bg-gray-50"> |
|
|
<span>Сортировка</span> |
|
|
<i class="fas fa-chevron-down text-sm"></i> |
|
|
</button> |
|
|
<div id="sortDropdown" class="hidden absolute right-0 mt-2 w-48 bg-white rounded-md shadow-lg z-10 border border-gray-200"> |
|
|
<div class="py-1"> |
|
|
<a href="#" class="block px-4 py-2 text-sm hover:bg-gray-100 sort-option" data-sort="date-desc">По дате (новые)</a> |
|
|
<a href="#" class="block px-4 py-2 text-sm hover:bg-gray-100 sort-option" data-sort="date-asc">По дате (старые)</a> |
|
|
<a href="#" class="block px-4 py-2 text-sm hover:bg-gray-100 sort-option" data-sort="phase">По фазе</a> |
|
|
<a href="#" class="block px-4 py-2 text-sm hover:bg-gray-100 sort-option" data-sort="status">По статусу</a> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="mb-8"> |
|
|
<button id="requestForecastBtn" class="bg-blue-600 hover:bg-blue-700 text-white px-6 py-3 rounded-lg font-medium flex items-center shadow-md transition-all"> |
|
|
<i class="fas fa-plus-circle mr-2"></i> Запросить новый прогноз |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white rounded-xl shadow-sm overflow-hidden mb-8"> |
|
|
<div class="overflow-x-auto"> |
|
|
<table class="min-w-full divide-y divide-gray-200"> |
|
|
<thead class="bg-gray-50"> |
|
|
<tr> |
|
|
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Игра</th> |
|
|
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Казино</th> |
|
|
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Время</th> |
|
|
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Фаза</th> |
|
|
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Прогноз</th> |
|
|
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Статус</th> |
|
|
<th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">Действия</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white divide-y divide-gray-200" id="forecastsTable"> |
|
|
|
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="text-center mb-8"> |
|
|
<button id="autoForecastBtn" class="bg-gradient-to-r from-purple-600 to-blue-600 hover:from-purple-700 hover:to-blue-700 text-white px-6 py-3 rounded-lg font-medium flex items-center shadow-md mx-auto transition-all"> |
|
|
<i class="fas fa-robot mr-2"></i> Получить авто-прогноз по всем любимым слотам |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="requestModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden modal"> |
|
|
<div class="bg-white rounded-xl shadow-xl w-full max-w-md mx-4"> |
|
|
<div class="p-6"> |
|
|
<div class="flex justify-between items-center mb-4"> |
|
|
<h3 class="text-xl font-bold text-gray-900">Запросить новый прогноз</h3> |
|
|
<button id="closeModalBtn" class="text-gray-400 hover:text-gray-500"> |
|
|
<i class="fas fa-times"></i> |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="space-y-4"> |
|
|
<div> |
|
|
<label class="block text-sm font-medium text-gray-700 mb-1">🎰 Выберите игру</label> |
|
|
<select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-blue-500 focus:border-blue-500"> |
|
|
<option value="">-- Выберите игру --</option> |
|
|
<option value="aviator">Aviator</option> |
|
|
<option value="mine">Mine</option> |
|
|
<option value="plinko">Plinko</option> |
|
|
<option value="dice">Dice</option> |
|
|
<option value="roulette">Рулетка</option> |
|
|
</select> |
|
|
</div> |
|
|
|
|
|
<div> |
|
|
<label class="block text-sm font-medium text-gray-700 mb-1">🎲 Выберите казино</label> |
|
|
<select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-blue-500 focus:border-blue-500"> |
|
|
<option value="">-- Выберите казино --</option> |
|
|
<option value="1win">1Win</option> |
|
|
<option value="1xbet">1xBet</option> |
|
|
<option value="pinup">Pin-Up</option> |
|
|
<option value="leon">Leon</option> |
|
|
</select> |
|
|
</div> |
|
|
|
|
|
<div> |
|
|
<label class="block text-sm font-medium text-gray-700 mb-1">⏱ Временной интервал</label> |
|
|
<div class="grid grid-cols-3 gap-2"> |
|
|
<button class="time-btn bg-gray-100 hover:bg-gray-200 px-4 py-2 rounded-lg border border-gray-300" data-time="1h">1 час</button> |
|
|
<button class="time-btn bg-gray-100 hover:bg-gray-200 px-4 py-2 rounded-lg border border-gray-300" data-time="4h">4 часа</button> |
|
|
<button class="time-btn bg-blue-100 border-blue-300 text-blue-700 px-4 py-2 rounded-lg border" data-time="1d">1 день</button> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="pt-4"> |
|
|
<button id="submitRequestBtn" class="w-full bg-blue-600 hover:bg-blue-700 text-white py-3 rounded-lg font-medium shadow-md transition-all"> |
|
|
<i class="fas fa-paper-plane mr-2"></i> Запросить прогноз |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="detailModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden modal"> |
|
|
<div class="bg-white rounded-xl shadow-xl w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto"> |
|
|
<div class="p-6"> |
|
|
<div class="flex justify-between items-center mb-4"> |
|
|
<h3 class="text-xl font-bold text-gray-900" id="detailGameTitle">Aviator — 1Win</h3> |
|
|
<button id="closeDetailModalBtn" class="text-gray-400 hover:text-gray-500"> |
|
|
<i class="fas fa-times"></i> |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-6"> |
|
|
<div class="bg-gray-50 p-4 rounded-lg"> |
|
|
<div class="text-sm text-gray-500">Время прогноза</div> |
|
|
<div class="font-medium" id="detailTime">12:58, 15 июня 2023</div> |
|
|
</div> |
|
|
<div class="bg-gray-50 p-4 rounded-lg"> |
|
|
<div class="text-sm text-gray-500">Фаза</div> |
|
|
<div class="font-medium" id="detailPhase">Отдача</div> |
|
|
</div> |
|
|
<div class="bg-gray-50 p-4 rounded-lg"> |
|
|
<div class="text-sm text-gray-500">Статус</div> |
|
|
<div class="font-medium status-ready" id="detailStatus">Готов</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<h4 class="font-medium mb-2">📈 AI-прогноз</h4> |
|
|
<div class="bg-blue-50 p-4 rounded-lg" id="detailForecast"> |
|
|
Ожидается рост коэффициентов на 120–160% в течение следующих 30 минут. Рекомендуется делать ставки с коэффициентом не выше 1.5 для первых 5 раундов. |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<h4 class="font-medium mb-2">🧠 AI-комментарий</h4> |
|
|
<div class="bg-gray-50 p-4 rounded-lg" id="detailComment"> |
|
|
Анализ последних 500 раундов показывает, что после серии из 10 раундов с коэффициентом ниже 1.2 (что мы наблюдали последние 45 минут), вероятность выпадения коэффициента выше 2.0 увеличивается на 37%. Текущая фаза соответствует историческим данным для периода отдачи. |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<h4 class="font-medium mb-2">📊 График прогноза</h4> |
|
|
<div class="chart-container rounded-lg border border-gray-200 p-4 flex items-center justify-center"> |
|
|
<div class="text-center text-gray-500"> |
|
|
<i class="fas fa-chart-line text-4xl mb-2 text-blue-400"></i> |
|
|
<div>Здесь будет график фаз и прогноза</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex justify-end space-x-3 pt-4"> |
|
|
<button class="px-4 py-2 border border-gray-300 rounded-lg hover:bg-gray-50"> |
|
|
<i class="fas fa-share-alt mr-2"></i> Поделиться |
|
|
</button> |
|
|
<button class="px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded-lg"> |
|
|
<i class="fas fa-paper-plane mr-2"></i> Отправить в Telegram |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
|
|
|
const forecasts = [ |
|
|
{ |
|
|
id: 1, |
|
|
game: "Aviator", |
|
|
casino: "1Win", |
|
|
time: "12:58, 15.06.2023", |
|
|
phase: "Отдача", |
|
|
forecast: "Рост коэффициентов 120–160%", |
|
|
comment: "Ожидается рост коэффициентов на 120–160%", |
|
|
status: "ready", |
|
|
isDemo: false |
|
|
}, |
|
|
{ |
|
|
id: 2, |
|
|
game: "Mine", |
|
|
casino: "1xBet", |
|
|
time: "10:30, 15.06.2023", |
|
|
phase: "Сбор", |
|
|
forecast: "Высокая волатильность", |
|
|
comment: "Высокая вероятность крупных выплат в следующих 10 раундах", |
|
|
status: "working", |
|
|
isDemo: true |
|
|
}, |
|
|
{ |
|
|
id: 3, |
|
|
game: "Plinko", |
|
|
casino: "Pin-Up", |
|
|
time: "09:15, 14.06.2023", |
|
|
phase: "Волатильность", |
|
|
forecast: "Нестабильные выплаты", |
|
|
comment: "Период нестабильности, рекомендуется осторожность", |
|
|
status: "expired", |
|
|
isDemo: false |
|
|
}, |
|
|
{ |
|
|
id: 4, |
|
|
game: "Dice", |
|
|
casino: "Leon", |
|
|
time: "22:45, 13.06.2023", |
|
|
phase: "Отдача", |
|
|
forecast: "Стабильные выплаты", |
|
|
comment: "Период стабильных выплат с коэффициентом 1.8-2.2", |
|
|
status: "ready", |
|
|
isDemo: false |
|
|
}, |
|
|
{ |
|
|
id: 5, |
|
|
game: "Рулетка", |
|
|
casino: "1Win", |
|
|
time: "18:20, 12.06.2023", |
|
|
phase: "Сбор", |
|
|
forecast: "Выпадение красного 5 раз подряд", |
|
|
comment: "Высокая вероятность серии красных чисел", |
|
|
status: "error", |
|
|
isDemo: true |
|
|
} |
|
|
]; |
|
|
|
|
|
|
|
|
function getStatusText(status) { |
|
|
switch(status) { |
|
|
case 'ready': return {text: 'Готов ✅', class: 'status-ready'}; |
|
|
case 'working': return {text: 'В работе 🔄', class: 'status-working'}; |
|
|
case 'expired': return {text: 'Истёк ⛔', class: 'status-expired'}; |
|
|
case 'error': return {text: 'Ошибка ❌', class: 'status-error'}; |
|
|
default: return {text: 'Неизвестно', class: ''}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function getPhaseClass(phase) { |
|
|
switch(phase) { |
|
|
case 'Отдача': return 'phase-payout'; |
|
|
case 'Сбор': return 'phase-collection'; |
|
|
case 'Волатильность': return 'phase-volatility'; |
|
|
default: return ''; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function renderForecasts() { |
|
|
const tableBody = document.getElementById('forecastsTable'); |
|
|
tableBody.innerHTML = ''; |
|
|
|
|
|
forecasts.forEach(forecast => { |
|
|
const status = getStatusText(forecast.status); |
|
|
const phaseClass = getPhaseClass(forecast.phase); |
|
|
|
|
|
const row = document.createElement('tr'); |
|
|
row.className = `hover:bg-gray-50 ${phaseClass}`; |
|
|
row.innerHTML = ` |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<div class="flex items-center"> |
|
|
<div class="flex-shrink-0 h-10 w-10 bg-blue-100 rounded-full flex items-center justify-center"> |
|
|
<i class="fas fa-gamepad text-blue-600"></i> |
|
|
</div> |
|
|
<div class="ml-4"> |
|
|
<div class="text-sm font-medium text-gray-900">${forecast.game}</div> |
|
|
${forecast.isDemo ? '<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">DEMO</span>' : ''} |
|
|
</div> |
|
|
</div> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<div class="text-sm text-gray-900">${forecast.casino}</div> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<div class="text-sm text-gray-500">${forecast.time}</div> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full ${forecast.phase === 'Отдача' ? 'bg-green-100 text-green-800' : forecast.phase === 'Сбор' ? 'bg-yellow-100 text-yellow-800' : 'bg-red-100 text-red-800'}"> |
|
|
${forecast.phase} |
|
|
</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<div class="text-sm text-gray-900">${forecast.forecast}</div> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="${status.class} text-sm font-medium">${status.text}</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-blue-600 hover:text-blue-900 detail-btn" data-id="${forecast.id}">Подробнее</button> |
|
|
</td> |
|
|
`; |
|
|
tableBody.appendChild(row); |
|
|
}); |
|
|
|
|
|
|
|
|
document.querySelectorAll('.detail-btn').forEach(btn => { |
|
|
btn.addEventListener('click', () => { |
|
|
const forecastId = parseInt(btn.getAttribute('data-id')); |
|
|
showForecastDetails(forecastId); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
|
|
|
|
|
|
function showForecastDetails(id) { |
|
|
const forecast = forecasts.find(f => f.id === id); |
|
|
if (!forecast) return; |
|
|
|
|
|
const status = getStatusText(forecast.status); |
|
|
|
|
|
document.getElementById('detailGameTitle').textContent = `${forecast.game} — ${forecast.casino}`; |
|
|
document.getElementById('detailTime').textContent = forecast.time; |
|
|
document.getElementById('detailPhase').textContent = forecast.phase; |
|
|
document.getElementById('detailStatus').textContent = status.text; |
|
|
document.getElementById('detailStatus').className = `font-medium ${status.class}`; |
|
|
document.getElementById('detailForecast').textContent = forecast.forecast; |
|
|
document.getElementById('detailComment').textContent = forecast.comment; |
|
|
|
|
|
document.getElementById('detailModal').classList.remove('hidden'); |
|
|
} |
|
|
|
|
|
|
|
|
document.addEventListener('DOMContentLoaded', () => { |
|
|
renderForecasts(); |
|
|
|
|
|
|
|
|
document.getElementById('requestForecastBtn').addEventListener('click', () => { |
|
|
document.getElementById('requestModal').classList.remove('hidden'); |
|
|
}); |
|
|
|
|
|
document.getElementById('closeModalBtn').addEventListener('click', () => { |
|
|
document.getElementById('requestModal').classList.add('hidden'); |
|
|
}); |
|
|
|
|
|
document.getElementById('submitRequestBtn').addEventListener('click', () => { |
|
|
|
|
|
alert('Запрос прогноза отправлен!'); |
|
|
document.getElementById('requestModal').classList.add('hidden'); |
|
|
|
|
|
|
|
|
const newForecast = { |
|
|
id: forecasts.length + 1, |
|
|
game: "Aviator", |
|
|
casino: "1Win", |
|
|
time: new Date().toLocaleTimeString('ru-RU', { hour: '2-digit', minute: '2-digit' }) + ', ' + new Date().toLocaleDateString('ru-RU'), |
|
|
phase: "Анализ", |
|
|
forecast: "Идет анализ данных...", |
|
|
comment: "Система анализирует последние данные для составления прогноза", |
|
|
status: "working", |
|
|
isDemo: true |
|
|
}; |
|
|
|
|
|
forecasts.unshift(newForecast); |
|
|
renderForecasts(); |
|
|
}); |
|
|
|
|
|
|
|
|
document.getElementById('closeDetailModalBtn').addEventListener('click', () => { |
|
|
document.getElementById('detailModal').classList.add('hidden'); |
|
|
}); |
|
|
|
|
|
|
|
|
document.querySelectorAll('.time-btn').forEach(btn => { |
|
|
btn.addEventListener('click', function() { |
|
|
document.querySelectorAll('.time-btn').forEach(b => { |
|
|
b.classList.remove('bg-blue-100', 'border-blue-300', 'text-blue-700'); |
|
|
b.classList.add('bg-gray-100', 'hover:bg-gray-200', 'border-gray-300'); |
|
|
}); |
|
|
|
|
|
this.classList.add('bg-blue-100', 'border-blue-300', 'text-blue-700'); |
|
|
this.classList.remove('bg-gray-100', 'hover:bg-gray-200', 'border-gray-300'); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
document.getElementById('autoForecastBtn').addEventListener('click', () => { |
|
|
alert('Авто-прогноз запрошен для всех ваших любимых слотов!'); |
|
|
}); |
|
|
|
|
|
|
|
|
document.getElementById('notificationBtn').addEventListener('click', () => { |
|
|
alert('Здесь будут ваши уведомления о новых прогнозах!'); |
|
|
}); |
|
|
|
|
|
|
|
|
document.getElementById('sortBtn').addEventListener('click', () => { |
|
|
document.getElementById('sortDropdown').classList.toggle('hidden'); |
|
|
}); |
|
|
|
|
|
document.querySelectorAll('.sort-option').forEach(option => { |
|
|
option.addEventListener('click', function(e) { |
|
|
e.preventDefault(); |
|
|
const sortType = this.getAttribute('data-sort'); |
|
|
|
|
|
|
|
|
if (sortType === 'date-desc') { |
|
|
forecasts.sort((a, b) => b.id - a.id); |
|
|
} else if (sortType === 'date-asc') { |
|
|
forecasts.sort((a, b) => a.id - b.id); |
|
|
} else if (sortType === 'phase') { |
|
|
forecasts.sort((a, b) => a.phase.localeCompare(b.phase)); |
|
|
} else if (sortType === 'status') { |
|
|
forecasts.sort((a, b) => a.status.localeCompare(b.status)); |
|
|
} |
|
|
|
|
|
renderForecasts(); |
|
|
document.getElementById('sortDropdown').classList.add('hidden'); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
document.addEventListener('click', (e) => { |
|
|
if (!e.target.closest('#sortBtn') && !e.target.closest('#sortDropdown')) { |
|
|
document.getElementById('sortDropdown').classList.add('hidden'); |
|
|
} |
|
|
}); |
|
|
}); |
|
|
</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/phase12" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
|
|
</html> |