<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>UCArena — Киберспортивная арена</title>
<!-- Фирменные шрифты UCArena -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Rajdhani:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
/* ========== ГЛОБАЛЬНЫЕ СТИЛИ ========== */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--bg-deep: #0B0E17;
--bg-surface: #131824;
--bg-card: #1A1F2E;
--accent-orange: #FF5E00;
--accent-gold: #FFB800;
--accent-cyan: #00F0FF;
--text-primary: #FFFFFF;
--text-secondary: #B0B7CC;
--border-dim: rgba(255, 94, 0, 0.3);
--glow-orange: 0 0 15px rgba(255, 94, 0, 0.5);
--glow-cyan: 0 0 20px rgba(0, 240, 255, 0.4);
--radius-lg: 24px;
--radius-md: 16px;
--radius-sm: 12px;
}
body {
font-family: 'Rajdhani', sans-serif;
background: var(--bg-deep);
color: var(--text-primary);
line-height: 1.5;
-webkit-font-smoothing: antialiased;
background-image:
radial-gradient(circle at 20% 30%, rgba(255, 94, 0, 0.08) 0%, transparent 30%),
radial-gradient(circle at 80% 70%, rgba(0, 240, 255, 0.05) 0%, transparent 40%),
repeating-linear-gradient(45deg, rgba(255,255,255,0.01) 0px, rgba(255,255,255,0.01) 2px, transparent 2px, transparent 8px);
}
/* Типографика в стиле UCArena */
h1, h2, h3, h4, .logo-text, .nav-link, .btn, .product-price, .balance-badge, .modal-title {
font-family: 'Orbitron', sans-serif;
text-transform: uppercase;
letter-spacing: 0.05em;
}
h2 {
font-size: 36px;
font-weight: 800;
margin-bottom: 32px;
background: linear-gradient(135deg, #FFFFFF 0%, #FFB800 80%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 30px rgba(255, 184, 0, 0.3);
position: relative;
display: inline-block;
}
h2::after {
content: '';
position: absolute;
bottom: -8px;
left: 0;
width: 70%;
height: 4px;
background: linear-gradient(90deg, var(--accent-orange), transparent);
border-radius: 4px;
}
/* Контейнер */
.container {
max-width: 1300px;
margin: 0 auto;
padding: 0 30px;
}
/* ========== ШАПКА ========== */
.header {
background: rgba(19, 24, 36, 0.85);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border-dim);
padding: 16px 0;
position: sticky;
top: 0;
z-index: 100;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}
.header-content {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 20px;
}
.logo-area {
display: flex;
align-items: center;
gap: 12px;
}
.logo-icon {
width: 50px;
height: 50px;
background: linear-gradient(145deg, var(--accent-orange), #B33A00);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
box-shadow: var(--glow-orange);
border: 1px solid rgba(255, 184, 0, 0.5);
transform: rotate(5deg);
}
.logo-text {
font-size: 32px;
font-weight: 900;
background: linear-gradient(135deg, #FFFFFF, var(--accent-gold));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 20px var(--accent-orange);
}
.nav {
display: flex;
gap: 40px;
}
.nav-link {
color: var(--text-secondary);
text-decoration: none;
font-weight: 600;
font-size: 18px;
padding: 8px 0;
border-bottom: 3px solid transparent;
transition: all 0.2s ease;
position: relative;
}
.nav-link::before {
content: '';
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 3px;
background: linear-gradient(90deg, var(--accent-orange), var(--accent-gold));
transition: width 0.3s;
box-shadow: 0 0 10px var(--accent-orange);
}
.nav-link:hover::before,
.nav-link.active::before {
width: 100%;
}
.nav-link:hover,
.nav-link.active {
color: #FFFFFF;
text-shadow: 0 0 8px var(--accent-cyan);
}
.user-area {
display: flex;
align-items: center;
gap: 24px;
}
.balance-badge {
background: rgba(26, 31, 46, 0.8);
border: 1px solid var(--accent-gold);
padding: 10px 20px;
border-radius: 40px;
font-weight: 700;
font-size: 18px;
color: var(--accent-gold);
box-shadow: inset 0 0 10px rgba(255, 184, 0, 0.2), 0 0 15px rgba(255, 94, 0, 0.3);
backdrop-filter: blur(5px);
}
.avatar {
width: 50px;
height: 50px;
border-radius: 50%;
background: linear-gradient(145deg, var(--accent-orange), #7A2E00);
display: flex;
align-items: center;
justify-content: center;
font-weight: 800;
font-size: 20px;
border: 2px solid var(--accent-gold);
box-shadow: var(--glow-orange);
cursor: pointer;
transition: transform 0.2s;
}
.avatar:hover {
transform: scale(1.05);
}
/* ========== ОСНОВНОЙ КОНТЕНТ ========== */
.main {
padding: 50px 0;
}
/* Карточки товаров — стиль UCArena */
.products-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 30px;
margin-bottom: 60px;
}
.product-card {
background: var(--bg-card);
border-radius: var(--radius-lg);
overflow: hidden;
border: 1px solid rgba(255, 94, 0, 0.3);
box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.5);
transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);
position: relative;
}
.product-card::before {
content: '';
position: absolute;
inset: 0;
border-radius: var(--radius-lg);
padding: 2px;
background: linear-gradient(145deg, var(--accent-orange), transparent, var(--accent-cyan));
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
opacity: 0;
transition: opacity 0.3s;
pointer-events: none;
}
.product-card:hover {
transform: translateY(-8px);
border-color: transparent;
box-shadow: 0 20px 40px rgba(255, 94, 0, 0.2), 0 0 0 1px rgba(255, 184, 0, 0.5);
}
.product-card:hover::before {
opacity: 1;
}
.product-image {
height: 180px;
background: linear-gradient(145deg, #1E2538, #0F1320);
display: flex;
align-items: center;
justify-content: center;
font-size: 64px;
position: relative;
overflow: hidden;
}
.product-image::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 30% 30%, rgba(255,184,0,0.15), transparent 70%);
}
.product-info {
padding: 24px 20px;
background: linear-gradient(to bottom, rgba(26,31,46,0.9), var(--bg-card));
}
.product-name {
font-family: 'Orbitron', sans-serif;
font-weight: 700;
font-size: 22px;
margin-bottom: 8px;
color: #FFFFFF;
text-transform: uppercase;
}
.product-desc {
color: var(--text-secondary);
font-size: 15px;
margin-bottom: 20px;
letter-spacing: 0.3px;
}
.product-footer {
display: flex;
align-items: center;
justify-content: space-between;
}
.product-price {
font-size: 26px;
font-weight: 800;
background: linear-gradient(135deg, #FFB800, #FF5E00);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 10px rgba(255, 94, 0, 0.8);
}
.btn {
background: transparent;
border: 2px solid var(--accent-orange);
color: var(--accent-orange);
font-family: 'Orbitron', sans-serif;
font-weight: 700;
font-size: 14px;
padding: 10px 22px;
border-radius: 40px;
cursor: pointer;
text-transform: uppercase;
letter-spacing: 1px;
transition: all 0.25s;
box-shadow: 0 0 10px rgba(255, 94, 0, 0.2);
background: rgba(255, 94, 0, 0.05);
backdrop-filter: blur(5px);
}
.btn:hover {
background: var(--accent-orange);
color: #0B0E17;
box-shadow: 0 0 25px var(--accent-orange);
border-color: var(--accent-gold);
}
.btn-primary {
background: var(--accent-orange);
color: #0B0E17;
border: none;
box-shadow: var(--glow-orange);
}
.btn-primary:hover {
background: #FF7B1C;
box-shadow: 0 0 35px var(--accent-orange);
}
/* ========== БЛОК ПОПОЛНЕНИЯ ========== */
.recharge-block {
background: var(--bg-surface);
border-radius: 32px;
padding: 40px;
border: 1px solid rgba(255, 94, 0, 0.4);
box-shadow: inset 0 0 40px rgba(0,0,0,0.5), 0 20px 40px rgba(0,0,0,0.6);
max-width: 800px;
margin: 0 auto;
backdrop-filter: blur(10px);
}
.recharge-title {
font-size: 32px;
margin-bottom: 30px;
color: #FFFFFF;
text-shadow: 0 0 15px var(--accent-orange);
}
.amount-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-bottom: 40px;
}
.amount-card {
background: var(--bg-card);
border: 1px solid rgba(255, 94, 0, 0.3);
border-radius: 20px;
padding: 20px 10px;
text-align: center;
cursor: pointer;
transition: all 0.2s;
box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
.amount-card.selected {
background: linear-gradient(145deg, #2A2030, #1A1F2E);
border-color: var(--accent-gold);
box-shadow: 0 0 25px rgba(255, 184, 0, 0.4), inset 0 0 15px rgba(255,184,0,0.1);
transform: scale(1.02);
}
.amount-value {
font-family: 'Orbitron', sans-serif;
font-weight: 800;
font-size: 24px;
color: var(--accent-gold);
text-shadow: 0 0 8px rgba(255,184,0,0.8);
}
.amount-fiat {
font-size: 15px;
color: var(--text-secondary);
margin-top: 6px;
}
.payment-methods {
display: flex;
gap: 20px;
margin-bottom: 30px;
}
.payment-option {
display: flex;
align-items: center;
gap: 10px;
padding: 14px 28px;
background: rgba(26, 31, 46, 0.8);
border: 1px solid var(--border-dim);
border-radius: 50px;
cursor: pointer;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
transition: all 0.2s;
backdrop-filter: blur(5px);
}
.payment-option.active {
background: var(--accent-orange);
border-color: var(--accent-gold);
color: #0B0E17;
box-shadow: var(--glow-orange);
}
.total-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 0;
border-top: 2px dashed rgba(255, 94, 0, 0.5);
margin-top: 10px;
}
.total-label {
font-family: 'Orbitron', sans-serif;
font-size: 20px;
color: var(--text-secondary);
}
.total-value {
font-family: 'Orbitron', sans-serif;
font-weight: 800;
font-size: 38px;
background: linear-gradient(135deg, #FFB800, #FF5E00);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 30px var(--accent-orange);
}
.btn-large {
width: 100%;
padding: 18px;
font-size: 20px;
margin-top: 24px;
letter-spacing: 2px;
}
.legal-note {
text-align: center;
margin-top: 20px;
font-size: 13px;
color: var(--text-secondary);
opacity: 0.7;
}
/* Личный кабинет */
.profile-placeholder {
background: var(--bg-surface);
border-radius: 32px;
padding: 40px;
border: 1px solid var(--border-dim);
box-shadow: inset 0 0 30px #0B0E17, 0 15px 30px rgba(0,0,0,0.5);
backdrop-filter: blur(8px);
}
.profile-placeholder h2 {
margin-bottom: 25px;
}
/* Модальное окно CryptoCloud */
.modal {
display: none;
position: fixed;
top: 0; left: 0; width: 100%; height: 100%;
background: rgba(11, 14, 23, 0.9);
backdrop-filter: blur(8px);
z-index: 1000;
align-items: center;
justify-content: center;
}
.modal-card {
background: var(--bg-surface);
border-radius: 32px;
padding: 40px;
max-width: 520px;
width: 90%;
border: 1px solid var(--accent-orange);
box-shadow: 0 0 60px rgba(255, 94, 0, 0.3);
border-top: 4px solid var(--accent-gold);
}
.modal-title {
font-size: 28px;
margin-bottom: 20px;
color: #FFFFFF;
text-shadow: 0 0 10px var(--accent-cyan);
}
.wallet-box {
background: #0F1420;
border-radius: 20px;
padding: 24px;
margin: 25px 0;
border: 1px solid rgba(0, 240, 255, 0.3);
box-shadow: inset 0 0 20px #000000;
}
.wallet-address {
font-family: 'Courier New', monospace;
font-size: 20px;
font-weight: bold;
word-break: break-all;
margin: 12px 0;
color: var(--accent-cyan);
text-shadow: 0 0 8px var(--accent-cyan);
background: #0A0E16;
padding: 12px;
border-radius: 12px;
border: 1px solid var(--accent-orange);
}
.btn-copy {
background: var(--accent-cyan);
color: #0B0E17;
border: none;
margin-right: 15px;
box-shadow: 0 0 15px var(--accent-cyan);
}
.btn-copy:hover {
background: #5CFFFF;
}
.hidden {
display: none !important;
}
/* Адаптив */
@media (max-width: 768px) {
.header-content {
flex-direction: column;
}
.nav {
gap: 20px;
flex-wrap: wrap;
justify-content: center;
}
.amount-grid {
grid-template-columns: repeat(2, 1fr);
}
h2 {
font-size: 28px;
}
}
</style>
</head>
<body>
<header class="header">
<div class="container header-content">
<div class="logo-area">
<div class="logo-icon">⚡</div>
<span class="logo-text">UCArena</span>
</div>
<nav class="nav">
<a href="#" class="nav-link active" data-section="market">Маркет</a>
<a href="#" class="nav-link" data-section="recharge">Пополнить</a>
<a href="#" class="nav-link" data-section="profile">Кабинет</a>
</nav>
<div class="user-area">
<div class="balance-badge" id="balanceDisplay">₿ 0.0000</div>
<div class="avatar" id="profileAvatar">UC</div>
</div>
</div>
</header>
<main class="main container">
<!-- Секция Маркет -->
<section id="marketSection">
<h2>⚔️ Игровой маркет</h2>
<div class="products-grid">
<div class="product-card">
<div class="product-image">🎮🔥</div>
<div class="product-info">
<div class="product-name">Легендарный Скин</div>
<div class="product-desc">Эксклюзив PUBG Mobile</div>
<div class="product-footer">
<span class="product-price">₿ 0.05</span>
<button class="btn buy-btn" data-product="Легендарный скин" data-price="0.05">Купить</button>
</div>
</div>
</div>
<div class="product-card">
<div class="product-image">💎💰</div>
<div class="product-info">
<div class="product-name">5000 UC</div>
<div class="product-desc">Внутриигровая валюта</div>
<div class="product-footer">
<span class="product-price">₿ 0.10</span>
<button class="btn buy-btn" data-product="5000 UC" data-price="0.10">Купить</button>
</div>
</div>
</div>
<div class="product-card">
<div class="product-image">👑✨</div>
<div class="product-info">
<div class="product-name">VIP-Статус</div>
<div class="product-desc">Месяц привилегий</div>
<div class="product-footer">
<span class="product-price">₿ 0.20</span>
<button class="btn buy-btn" data-product="VIP-статус" data-price="0.20">Купить</button>
</div>
</div>
</div>
<div class="product-card">
<div class="product-image">🚀🔫</div>
<div class="product-info">
<div class="product-name">Боевой Пропуск</div>
<div class="product-desc">Сезонный абонемент</div>
<div class="product-footer">
<span class="product-price">₿ 0.08</span>
<button class="btn buy-btn" data-product="Боевой пропуск" data-price="0.08">Купить</button>
</div>
</div>
</div>
</div>
</section>
<!-- Секция Пополнение -->
<section id="rechargeSection" class="hidden">
<div class="recharge-block">
<h2 class="recharge-title">💰 Пополнение баланса</h2>
<div class="amount-grid">
<div class="amount-card selected" data-amount="0.01">
<div class="amount-value">₿ 0.01</div>
<div class="amount-fiat">≈ 900 ₽</div>
</div>
<div class="amount-card" data-amount="0.02">
<div class="amount-value">₿ 0.02</div>
<div class="amount-fiat">≈ 1 800 ₽</div>
</div>
<div class="amount-card" data-amount="0.05">
<div class="amount-value">₿ 0.05</div>
<div class="amount-fiat">≈ 4 500 ₽</div>
</div>
<div class="amount-card" data-amount="0.10">
<div class="amount-value">₿ 0.10</div>
<div class="amount-fiat">≈ 9 000 ₽</div>
</div>
</div>
<div class="payment-methods">
<div class="payment-option active" data-method="crypto">
<span>💎</span> CryptoCloud
</div>
<div class="payment-option" data-method="card">
<span>💳</span> Карта
</div>
</div>
<div class="total-row">
<span class="total-label">Итого к оплате</span>
<span class="total-value" id="totalAmount">₿ 0.01</span>
</div>
<button class="btn btn-primary btn-large" id="payButton">Оплатить через CryptoCloud</button>
<div class="legal-note">Нажимая кнопку, вы принимаете условия оферты</div>
</div>
</section>
<!-- Секция Личный кабинет -->
<section id="profileSection" class="hidden">
<div class="profile-placeholder">
<h2>👤 Личный кабинет</h2>
<p style="color: var(--text-secondary); font-size: 18px;">Добро пожаловать, боец! Здесь будет история покупок, настройки и достижения.</p>
<p style="margin-top: 20px; color: var(--accent-cyan);">Для полноценной работы подключите Tilda Membership.</p>
</div>
</section>
</main>
<!-- Модальное окно CryptoCloud -->
<div class="modal" id="cryptoModal">
<div class="modal-card">
<h3 class="modal-title">💠 Крипто оплата</h3>
<p>Отправьте точную сумму на адрес (сеть TRC20):</p>
<div class="wallet-box">
<div>Сеть: <strong style="color:var(--accent-gold);">TRC20 (USDT)</strong></div>
<div>Адрес:</div>
<div class="wallet-address" id="walletAddress">TXxTHU4vBQn8oKp9bJqZzrYKH8uZpGgWYi</div>
<div>Сумма: <strong id="modalAmount" style="color:var(--accent-gold);">₿ 0.01</strong></div>
</div>
<button class="btn btn-copy" id="copyAddressBtn">📋 Копировать адрес</button>
<button class="btn" id="closeModalBtn">✖ Закрыть</button>
<p style="margin-top: 20px; font-size: 14px; color: var(--text-secondary);">После отправки средств транзакция обработается в течение 10–30 минут.</p>
</div>
</div>
<script>
(function(){
// Навигация
const navLinks = document.querySelectorAll('.nav-link');
const sections = {
market: document.getElementById('marketSection'),
recharge: document.getElementById('rechargeSection'),
profile: document.getElementById('profileSection')
};
function showSection(sectionId) {
Object.values(sections).forEach(s => s.classList.add('hidden'));
sections[sectionId].classList.remove('hidden');
navLinks.forEach(link => {
link.classList.remove('active');
if (link.dataset.section === sectionId) link.classList.add('active');
});
}
navLinks.forEach(link => {
link.addEventListener('click', (e) => {
e.preventDefault();
showSection(link.dataset.section);
});
});
// Кнопки "Купить"
document.querySelectorAll('.buy-btn').forEach(btn => {
btn.addEventListener('click', () => {
const product = btn.dataset.product;
const price = btn.dataset.price;
showSection('recharge');
// Выбрать соответствующую сумму
const amountCards = document.querySelectorAll('.amount-card');
let found = false;
amountCards.forEach(card => {
card.classList.remove('selected');
if (card.dataset.amount === price) {
card.classList.add('selected');
found = true;
}
});
if (!found) amountCards[0].classList.add('selected');
updateTotalFromSelected();
// Можно уведомить
alert(`⚡ Выбран товар: ${product}\nЦена: ₿ ${price}`);
});
});
// Выбор суммы
const amountCards = document.querySelectorAll('.amount-card');
const totalSpan = document.getElementById('totalAmount');
function updateTotalFromSelected() {
const selected = document.querySelector('.amount-card.selected');
if (selected) totalSpan.textContent = `₿ ${selected.dataset.amount}`;
}
amountCards.forEach(card => {
card.addEventListener('click', () => {
amountCards.forEach(c => c.classList.remove('selected'));
card.classList.add('selected');
updateTotalFromSelected();
});
});
// Выбор метода оплаты
document.querySelectorAll('.payment-option').forEach(opt => {
opt.addEventListener('click', () => {
document.querySelectorAll('.payment-option').forEach(o => o.classList.remove('active'));
opt.classList.add('active');
});
});
// Модалка CryptoCloud
const modal = document.getElementById('cryptoModal');
const payBtn = document.getElementById('payButton');
const closeModal = document.getElementById('closeModalBtn');
const copyBtn = document.getElementById('copyAddressBtn');
const walletSpan = document.getElementById('walletAddress');
const modalAmountSpan = document.getElementById('modalAmount');
payBtn.addEventListener('click', () => {
const selectedAmount = document.querySelector('.amount-card.selected')?.dataset.amount || '0.01';
modalAmountSpan.textContent = `₿ ${selectedAmount}`;
// В реальности здесь запрос к API CryptoCloud
walletSpan.textContent = 'TXxTHU4vBQn8oKp9bJqZzrYKH8uZpGgWYi';
modal.style.display = 'flex';
});
closeModal.addEventListener('click', () => modal.style.display = 'none');
modal.addEventListener('click', (e) => { if (e.target === modal) modal.style.display = 'none'; });
copyBtn.addEventListener('click', () => {
navigator.clipboard?.writeText(walletSpan.textContent).then(() => {
alert('✅ Адрес скопирован!');
}).catch(() => alert('⚠ Скопируйте вручную'));
});
// Профиль по клику на аватар
document.getElementById('profileAvatar').addEventListener('click', () => showSection('profile'));
// Старт
showSection('market');
updateTotalFromSelected();
})();
</script>
</body>
</html>