@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;500;600;700&family=Abril+Fatface&display=swap');

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

:root {
    --deep-navy: #0b132b;
    --twilight-blue: #1c2541;
    --royal-purple: #5e60ce;
    --bright-violet: #7b2cbf;
    --hot-pink: #e040fb;
    --soft-cream: #f5f3f4;
}

html { scroll-behavior: smooth; }

body {
    font-family: 'Josefin Sans', sans-serif;
    background: var(--deep-navy);
    color: var(--soft-cream);
    line-height: 1.7;
}

h1, h2, h3 { font-family: 'Abril Fatface', serif; }

a { color: var(--hot-pink); text-decoration: none; transition: all 0.3s; }
a:hover { color: var(--bright-violet); }

.navbar { position: fixed; top: 0; width: 100%; z-index: 1000; background: rgba(11, 19, 43, 0.92); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(94, 96, 206, 0.2); }
.nav-content { max-width: 1500px; margin: 0 auto; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; }
.logo-section { display: flex; align-items: center; gap: 12px; }
.logo-section svg { width: 46px; height: 46px; }
.logo-section span { font-family: 'Abril Fatface', serif; font-size: 1.7rem; color: var(--hot-pink); }

.nav-burger { display: none; width: 30px; height: 22px; flex-direction: column; justify-content: space-between; cursor: pointer; }
.nav-burger span { height: 3px; background: var(--hot-pink); transition: all 0.3s; }
.nav-burger.active span:first-child { transform: rotate(45deg) translate(6px, 6px); }
.nav-burger.active span:nth-child(2) { opacity: 0; }
.nav-burger.active span:last-child { transform: rotate(-45deg) translate(7px, -7px); }

.nav-menu ul { display: flex; list-style: none; gap: 2.5rem; }
.nav-menu a { font-weight: 500; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1.5px; color: var(--soft-cream); }
.nav-menu a:hover { color: var(--hot-pink); }

.wheel-hero { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 120px 2rem 80px; background: radial-gradient(ellipse at 30% 30%, rgba(123, 44, 191, 0.2) 0%, transparent 50%), radial-gradient(ellipse at 70% 70%, rgba(224, 64, 251, 0.1) 0%, transparent 40%), var(--deep-navy); text-align: center; }
.hero-inner { max-width: 850px; }
.hero-inner h1 { font-size: clamp(2.8rem, 7vw, 5rem); color: var(--soft-cream); margin-bottom: 1.5rem; }
.hero-inner h1 .glow { color: var(--hot-pink); text-shadow: 0 0 30px rgba(224, 64, 251, 0.5); }
.hero-text { font-size: 1.15rem; color: rgba(245, 243, 244, 0.8); margin-bottom: 2.5rem; }
.hero-action { display: inline-block; background: linear-gradient(135deg, var(--hot-pink), var(--royal-purple)); color: var(--deep-navy); padding: 1rem 2.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; border-radius: 50px; transition: all 0.3s; }
.hero-action:hover { color: var(--deep-navy); transform: scale(1.05); box-shadow: 0 10px 40px rgba(224, 64, 251, 0.3); }

.features-row { padding: 5rem 2rem; background: linear-gradient(180deg, var(--deep-navy), var(--twilight-blue)); }
.features-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.feature-tile { background: rgba(28, 37, 65, 0.6); border: 1px solid rgba(94, 96, 206, 0.3); border-radius: 16px; padding: 2.5rem 2rem; text-align: center; transition: all 0.3s; }
.feature-tile:hover { border-color: var(--hot-pink); transform: translateY(-5px); }
.tile-icon { font-size: 2.8rem; margin-bottom: 1.5rem; }
.feature-tile h3 { font-size: 1.4rem; color: var(--hot-pink); margin-bottom: 0.75rem; }
.feature-tile p { color: rgba(245, 243, 244, 0.7); font-size: 0.95rem; }

.game-area { padding: 5rem 2rem; background: var(--deep-navy); }
.game-container { max-width: 1400px; margin: 0 auto; }
.game-heading { text-align: center; margin-bottom: 3rem; }
.game-heading h2 { font-size: clamp(2rem, 4vw, 3rem); color: var(--soft-cream); }
.game-heading p { color: var(--royal-purple); }
.game-box { background: var(--twilight-blue); border: 2px solid var(--bright-violet); border-radius: 20px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); }
.game-box iframe { width: 100%; height: 600px; border: none; display: block; }

.about-area { padding: 6rem 2rem; background: linear-gradient(180deg, var(--deep-navy), rgba(28, 37, 65, 0.5)); }
.about-box { max-width: 900px; margin: 0 auto; text-align: center; }
.about-box h2 { font-size: 2.8rem; color: var(--hot-pink); margin-bottom: 2rem; }
.about-box p { font-size: 1.1rem; color: rgba(245, 243, 244, 0.85); margin-bottom: 1.5rem; }

.bottom-footer { background: rgba(11, 19, 43, 0.98); border-top: 1px solid rgba(94, 96, 206, 0.2); padding: 3rem 2rem; }
.footer-content { max-width: 1400px; margin: 0 auto; text-align: center; }
.footer-nav { display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; margin-bottom: 2rem; }
.footer-nav a { color: var(--soft-cream); font-size: 0.9rem; }
.help-section { padding-top: 2rem; border-top: 1px solid rgba(94, 96, 206, 0.1); }
.help-section p { font-size: 0.85rem; color: rgba(245, 243, 244, 0.6); margin-bottom: 1rem; }
.help-section .help-links { display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; }
.help-section .help-links a { font-size: 0.85rem; }
.copy-note { margin-top: 2rem; font-size: 0.8rem; color: rgba(245, 243, 244, 0.4); }

.age-overlay { position: fixed; inset: 0; background: rgba(11, 19, 43, 0.98); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.age-overlay.gone { display: none; }
.overlay-box { background: linear-gradient(145deg, var(--twilight-blue), var(--deep-navy)); border: 2px solid var(--hot-pink); border-radius: 20px; padding: 3rem; max-width: 480px; text-align: center; }
.overlay-box h2 { font-size: 2rem; color: var(--hot-pink); margin-bottom: 1.5rem; }
.overlay-box p { color: var(--soft-cream); margin-bottom: 2rem; }
.overlay-btns { display: flex; gap: 1rem; justify-content: center; }
.overlay-btn { padding: 0.9rem 2rem; border: none; border-radius: 50px; font-family: 'Josefin Sans', sans-serif; font-weight: 600; font-size: 0.95rem; cursor: pointer; transition: all 0.3s; }
.overlay-btn.enter { background: var(--hot-pink); color: var(--deep-navy); }
.overlay-btn.enter:hover { transform: scale(1.05); }
.overlay-btn.leave { background: transparent; color: var(--soft-cream); border: 2px solid var(--royal-purple); }
.overlay-btn.leave:hover { background: var(--royal-purple); }

.page-content { padding: 120px 2rem 4rem; max-width: 950px; margin: 0 auto; min-height: calc(100vh - 250px); }
.page-content h1 { font-size: clamp(2rem, 5vw, 3rem); color: var(--hot-pink); margin-bottom: 2.5rem; text-align: center; }
.page-content h2 { font-size: 1.4rem; color: var(--royal-purple); margin: 2.5rem 0 1rem; }
.page-content p { color: rgba(245, 243, 244, 0.9); margin-bottom: 1.2rem; }
.page-content ul { margin: 1rem 0 1.5rem 1.5rem; }
.page-content li { color: rgba(245, 243, 244, 0.85); margin-bottom: 0.5rem; }

.play-content { padding: 120px 2rem 4rem; max-width: 1400px; margin: 0 auto; }
.play-content h1 { text-align: center; font-size: clamp(2rem, 4vw, 3rem); color: var(--hot-pink); margin-bottom: 1rem; }
.play-content .note { text-align: center; color: rgba(245, 243, 244, 0.6); margin-bottom: 2rem; }

@media (max-width: 900px) { .features-grid { grid-template-columns: 1fr; max-width: 500px; } }
@media (max-width: 768px) {
    .nav-burger { display: flex; }
    .nav-menu { position: fixed; top: 0; right: -100%; width: 75%; max-width: 300px; height: 100vh; background: var(--deep-navy); transition: right 0.35s; padding: 100px 2rem; border-left: 1px solid rgba(94, 96, 206, 0.2); }
    .nav-menu.open { right: 0; }
    .nav-menu ul { flex-direction: column; gap: 2rem; }
    .game-box iframe { height: 480px; }
    .overlay-btns { flex-direction: column; }
    .footer-nav { flex-direction: column; gap: 1rem; }
}
@media (max-width: 480px) { .logo-section span { font-size: 1.3rem; } .game-box iframe { height: 380px; } }
