@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@400;600;700;900&family=Inter:wght@400;500;600&display=swap');

:root {
--purple-deep: #1a0033;
--purple-mid: #3b0066;
--purple-bright: #8b00ff;
--blue-neon: #00cfff;
--blue-electric: #0088ff;
--gold: #ffd700;
--text-light: #f0e6ff;
--text-muted: #b0a0cc;
--bg-card: rgba(59,0,102,0.55);
--border-glow: rgba(0,207,255,0.35);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
font-family: 'Inter', sans-serif;
background: var(--purple-deep);
color: var(--text-light);
overflow-x: hidden;
}

@keyframes glowPulse {
0%, 100% { box-shadow: 0 0 12px rgba(0,207,255,0.5), 0 0 30px rgba(139,0,255,0.3); }
50% { box-shadow: 0 0 24px rgba(0,207,255,0.9), 0 0 60px rgba(139,0,255,0.6); }
}

@keyframes spinOrbit {
0% { transform: rotate(0deg) translateX(4px) rotate(0deg); }
100% { transform: rotate(360deg) translateX(4px) rotate(-360deg); }
}

@keyframes marqueeScroll {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}

@keyframes fadeUp {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}

@keyframes parallaxFloat {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-12px); }
}

@keyframes neonFlicker {
0%, 100% { opacity: 1; }
92% { opacity: 1; }
93% { opacity: 0.7; }
94% { opacity: 1; }
}

@keyframes chipTrail {
0% { transform: translateX(-100px) rotate(0deg); opacity: 0; }
20% { opacity: 1; }
80% { opacity: 1; }
100% { transform: translateX(calc(100vw + 100px)) rotate(720deg); opacity: 0; }
}

.font-display { font-family: 'Exo 2', sans-serif; }

.glow-box { animation: glowPulse 3s ease-in-out infinite; }

.neon-text {
color: var(--blue-neon);
text-shadow: 0 0 8px var(--blue-neon), 0 0 20px var(--blue-electric);
animation: neonFlicker 5s infinite;
}

.purple-text {
color: var(--purple-bright);
text-shadow: 0 0 8px var(--purple-bright);
}

.btn-primary {
display: inline-block;
background: linear-gradient(135deg, var(--purple-bright), var(--blue-electric));
color: #fff;
font-family: 'Exo 2', sans-serif;
font-weight: 700;
padding: 0.85em 2em;
border-radius: 50px;
border: none;
cursor: pointer;
text-decoration: none;
transition: transform 0.2s, box-shadow 0.2s;
box-shadow: 0 4px 20px rgba(139,0,255,0.5);
letter-spacing: 0.04em;
text-transform: uppercase;
font-size: 1rem;
}

.btn-primary:hover {
transform: translateY(-2px) scale(1.03);
box-shadow: 0 8px 32px rgba(0,207,255,0.6);
}

.btn-secondary {
display: inline-block;
background: transparent;
color: var(--blue-neon);
font-family: 'Exo 2', sans-serif;
font-weight: 600;
padding: 0.8em 1.8em;
border-radius: 50px;
border: 2px solid var(--blue-neon);
cursor: pointer;
text-decoration: none;
transition: background 0.2s, color 0.2s, box-shadow 0.2s;
letter-spacing: 0.04em;
text-transform: uppercase;
font-size: 0.95rem;
}

.btn-secondary:hover {
background: var(--blue-neon);
color: var(--purple-deep);
box-shadow: 0 0 20px rgba(0,207,255,0.5);
}

.card-glass {
background: var(--bg-card);
border: 1px solid var(--border-glow);
border-radius: 16px;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}

.marquee-track {
display: flex;
width: max-content;
animation: marqueeScroll 28s linear infinite;
}

.marquee-track:hover { animation-play-state: paused; }

.parallax-float { animation: parallaxFloat 6s ease-in-out infinite; }

.chip-trail {
position: absolute;
animation: chipTrail 8s linear infinite;
opacity: 0;
}

.section-divider {
width: 100%;
height: 2px;
background: linear-gradient(90deg, transparent, var(--blue-neon), var(--purple-bright), transparent);
margin: 0;
}

/* Prose styles */
.prose h2 {
font-family: 'Exo 2', sans-serif;
font-size: clamp(1.4rem, 3vw, 2rem);
font-weight: 700;
color: var(--blue-neon);
margin-top: 2em;
margin-bottom: 0.6em;
text-shadow: 0 0 8px rgba(0,207,255,0.4);
}

.prose h3 {
font-family: 'Exo 2', sans-serif;
font-size: clamp(1.1rem, 2.5vw, 1.4rem);
font-weight: 600;
color: #d0b8ff;
margin-top: 1.5em;
margin-bottom: 0.5em;
}

.prose p {
font-size: 1rem;
line-height: 1.8;
color: var(--text-light);
margin-bottom: 1.2em;
}

.prose a {
color: var(--blue-neon);
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.2s;
}

.prose a:hover { color: var(--gold); }

.prose ul {
list-style: none;
padding-left: 0;
margin-bottom: 1.2em;
}

.prose ul li {
padding-left: 1.5em;
position: relative;
margin-bottom: 0.5em;
color: var(--text-light);
line-height: 1.7;
}

.prose ul li::before {
content: '';
position: absolute;
left: 0;
top: 0.55em;
width: 0.45em;
height: 0.45em;
background: var(--blue-neon);
border-radius: 50%;
box-shadow: 0 0 6px var(--blue-neon);
}

.prose ol {
padding-left: 1.5em;
margin-bottom: 1.2em;
}

.prose ol li {
margin-bottom: 0.5em;
color: var(--text-light);
line-height: 1.7;
}

.prose blockquote {
border-left: 3px solid var(--purple-bright);
padding-left: 1em;
margin: 1.5em 0;
color: var(--text-muted);
font-style: italic;
}

.prose img {
max-width: 100%;
height: auto;
border-radius: 12px;
border: 1px solid var(--border-glow);
margin: 1.5em 0;
}

.prose table {
width: 100%;
border-collapse: collapse;
margin-bottom: 1.5em;
}

.prose-table-wrap {
overflow-x: auto;
width: 100%;
max-width: 100%;
-webkit-overflow-scrolling: touch;
}

.prose table th {
background: rgba(139,0,255,0.3);
color: var(--blue-neon);
font-family: 'Exo 2', sans-serif;
font-weight: 600;
padding: 0.7em 1em;
text-align: left;
border: 1px solid var(--border-glow);
}

.prose table td {
padding: 0.65em 1em;
border: 1px solid rgba(0,207,255,0.15);
color: var(--text-light);
background: rgba(26,0,51,0.4);
}

.prose table tr:nth-child(even) td {
background: rgba(59,0,102,0.3);
}

.step-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5em;
height: 2.5em;
border-radius: 50%;
background: linear-gradient(135deg, var(--purple-bright), var(--blue-electric));
font-family: 'Exo 2', sans-serif;
font-weight: 900;
font-size: 1.1rem;
color: #fff;
box-shadow: 0 0 16px rgba(139,0,255,0.6);
flex-shrink: 0;
}

.game-card {
border-radius: 14px;
overflow: hidden;
position: relative;
transition: transform 0.25s, box-shadow 0.25s;
}

.game-card:hover {
transform: translateY(-6px) scale(1.02);
box-shadow: 0 12px 40px rgba(0,207,255,0.4);
}

.game-card img {
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
display: block;
}

.faq-item {
border: 1px solid var(--border-glow);
border-radius: 12px;
margin-bottom: 0.8em;
overflow: hidden;
}

.faq-question {
width: 100%;
text-align: left;
background: rgba(59,0,102,0.4);
color: var(--text-light);
font-family: 'Exo 2', sans-serif;
font-weight: 600;
padding: 1em 1.2em;
border: none;
cursor: pointer;
transition: background 0.2s;
font-size: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
}

.faq-question:hover { background: rgba(139,0,255,0.25); }

.faq-answer {
display: none;
padding: 1em 1.2em;
background: rgba(26,0,51,0.5);
color: var(--text-light);
line-height: 1.7;
font-size: 0.97rem;
}

.faq-item.open .faq-answer { display: block; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform 0.2s; color: var(--blue-neon); font-size: 1.2rem; }

.promo-card {
border-radius: 16px;
padding: 2em 1.5em;
background: linear-gradient(145deg, rgba(59,0,102,0.7), rgba(0,30,70,0.7));
border: 1px solid var(--border-glow);
transition: transform 0.25s, box-shadow 0.25s;
}

.promo-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 36px rgba(139,0,255,0.35);
}

.word-cloud span {
display: inline-block;
margin: 0.3em;
padding: 0.3em 0.8em;
border-radius: 20px;
background: rgba(59,0,102,0.5);
border: 1px solid var(--border-glow);
color: var(--text-light);
font-family: 'Exo 2', sans-serif;
transition: color 0.2s, background 0.2s;
}

.word-cloud span:hover {
background: rgba(139,0,255,0.4);
color: var(--blue-neon);
}

.nav-sticky {
position: sticky;
top: 0;
z-index: 1000;
background: rgba(26,0,51,0.97);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border-bottom: 1px solid var(--border-glow);
}

.mobile-menu {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(20,0,45,0.99);
z-index: 2000;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 2em;
}

.mobile-menu.open { display: flex; }

.mobile-menu a {
font-family: 'Exo 2', sans-serif;
font-size: 1.8rem;
font-weight: 700;
color: var(--text-light);
text-decoration: none;
transition: color 0.2s;
}

.mobile-menu a:hover { color: var(--blue-neon); }

.disclaimer {
font-size: 0.78rem;
color: var(--text-muted);
text-align: center;
margin-top: 0.6em;
max-width: 36em;
margin-left: auto;
margin-right: auto;
line-height: 1.5;
}

.hero-bg {
position: relative;
background: url('/images/hero.webp') center center / cover no-repeat;
}

.hero-bg::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(160deg, rgba(26,0,51,0.88) 0%, rgba(0,20,60,0.78) 100%);
}

.badge-bonus {
background: linear-gradient(135deg, rgba(139,0,255,0.35), rgba(0,136,255,0.35));
border: 2px solid var(--gold);
border-radius: 20px;
padding: 1.5em 2em;
box-shadow: 0 0 32px rgba(255,215,0,0.2), 0 0 60px rgba(139,0,255,0.3);
}

.payment-icon {
width: 2em;
height: 2em;
display: inline-flex;
align-items: center;
justify-content: center;
background: rgba(139,0,255,0.3);
border-radius: 6px;
margin-right: 0.5em;
font-size: 1rem;
}

.review-block {
border-radius: 18px;
padding: 2em;
background: linear-gradient(145deg, rgba(59,0,102,0.5), rgba(0,20,60,0.5));
border: 1px solid var(--border-glow);
height: 100%;
}

.section-title {
font-family: 'Exo 2', sans-serif;
font-size: clamp(1.6rem, 4vw, 2.6rem);
font-weight: 900;
color: #fff;
text-align: center;
margin-bottom: 0.25em;
}

.section-subtitle {
color: var(--text-muted);
text-align: center;
font-size: 1rem;
margin-bottom: 2.5em;
}

.container-main {
max-width: 1440px;
margin: 0 auto;
padding: 0 1.25rem;
}

@media (min-width: 640px) { .container-main { padding: 0 2rem; } }
@media (min-width: 1024px) { .container-main { padding: 0 3rem; } }
@media (min-width: 1280px) { .container-main { padding: 0 4rem; } }

.table-scroll { overflow-x: auto; width: 100%; -webkit-overflow-scrolling: touch; }

.data-table { min-width: 600px; width: 100%; border-collapse: collapse; }
.data-table th { background: rgba(139,0,255,0.35); color: var(--blue-neon); font-family: 'Exo 2', sans-serif; font-weight: 700; padding: 0.8em 1em; text-align: left; border: 1px solid var(--border-glow); white-space: nowrap; }
.data-table td { padding: 0.7em 1em; border: 1px solid rgba(0,207,255,0.15); color: var(--text-light); background: rgba(26,0,51,0.4); }
.data-table tr:nth-child(even) td { background: rgba(59,0,102,0.3); }

footer { background: rgba(10,0,25,0.98); border-top: 1px solid var(--border-glow); }
