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

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

:root {
    --astro-rose: #f43f5e;
    --astro-pink: #ec4899;
    --space-dark: #18181b;
    --deep-gray: #27272a;
    --medium-gray: #3f3f46;
    --soft-pink: #fce7f3;
    --white: #fafafa;
}

body { font-family: 'Merriweather', serif; background: var(--white); color: var(--space-dark); line-height: 1.8; }

.astro-banner { background: linear-gradient(90deg, var(--astro-rose), var(--astro-pink), var(--astro-rose)); padding: 10px; text-align: center; font-family: 'Josefin Sans', sans-serif; font-weight: 600; color: var(--white); }

header { background: var(--space-dark); padding: 20px 30px; position: sticky; top: 0; z-index: 1000; }

.header-inner { max-width: 1500px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }

.astro-logo { font-family: 'Josefin Sans', sans-serif; font-size: 2rem; font-weight: 700; color: var(--astro-rose); text-decoration: none; letter-spacing: 2px; }

.menu-toggle { display: none; background: none; border: 2px solid var(--astro-rose); padding: 8px 10px; cursor: pointer; border-radius: 8px; }

.menu-toggle span { display: block; width: 22px; height: 2px; background: var(--astro-rose); margin: 5px 0; transition: 0.3s; }

.menu-toggle.open span:first-child { transform: rotate(45deg) translate(5px, 5px); }
.menu-toggle.open span:nth-child(2) { opacity: 0; }
.menu-toggle.open span:last-child { transform: rotate(-45deg) translate(5px, -5px); }

.astro-nav { display: flex; list-style: none; gap: 5px; }

.astro-nav a { color: var(--white); text-decoration: none; padding: 10px 22px; font-family: 'Josefin Sans', sans-serif; font-weight: 500; transition: 0.3s; }

.astro-nav a:hover { color: var(--astro-rose); }

.hero-astro { padding: 100px 30px; background: linear-gradient(135deg, var(--space-dark) 0%, var(--deep-gray) 100%); text-align: center; }

.hero-content { max-width: 850px; margin: 0 auto; }

.hero-content h1 { font-family: 'Josefin Sans', sans-serif; font-size: 3.5rem; font-weight: 700; color: var(--white); margin-bottom: 25px; }

.hero-content .desc { font-size: 1.2rem; color: var(--soft-pink); margin-bottom: 40px; font-weight: 300; }

.astro-btn { display: inline-block; background: linear-gradient(135deg, var(--astro-rose), var(--astro-pink)); color: var(--white); padding: 16px 45px; text-decoration: none; font-family: 'Josefin Sans', sans-serif; font-weight: 600; border-radius: 50px; transition: 0.3s; }

.astro-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(244, 63, 94, 0.4); }

.info-badges { display: flex; justify-content: center; gap: 50px; margin-top: 60px; flex-wrap: wrap; }

.badge { text-align: center; color: var(--white); }

.badge .icon { font-size: 2.5rem; margin-bottom: 10px; }

.badge .text { font-family: 'Josefin Sans', sans-serif; font-weight: 600; font-size: 0.9rem; }

.game-astro { padding: 80px 30px; background: var(--white); }

.astro-heading { font-family: 'Josefin Sans', sans-serif; font-size: 2.5rem; text-align: center; margin-bottom: 50px; color: var(--space-dark); }

.game-wrapper { max-width: 1200px; margin: 0 auto; background: var(--space-dark); padding: 20px; border-radius: 20px; border: 3px solid var(--astro-rose); }

.game-display { width: 100%; height: 620px; border: none; border-radius: 15px; }

.features-astro { padding: 100px 30px; background: var(--soft-pink); }

.features-flex { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }

.feature-item { background: var(--white); padding: 40px 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }

.feature-item .emoji { font-size: 3rem; margin-bottom: 20px; }

.feature-item h3 { font-family: 'Josefin Sans', sans-serif; font-size: 1.3rem; color: var(--astro-rose); margin-bottom: 15px; }

.feature-item p { color: var(--deep-gray); }

.about-astro { padding: 80px 30px; background: var(--white); text-align: center; }

.about-content { max-width: 850px; margin: 0 auto; }

.about-content h2 { font-family: 'Josefin Sans', sans-serif; font-size: 2rem; color: var(--space-dark); margin-bottom: 30px; }

.about-content p { color: var(--deep-gray); margin-bottom: 20px; }

footer { background: var(--space-dark); padding: 50px 30px; text-align: center; }

.help-row { margin-bottom: 25px; }

.help-row a { color: var(--astro-rose); text-decoration: none; margin: 0 18px; font-weight: 500; transition: 0.3s; }

.help-row a:hover { color: var(--white); }

.footer-small { color: var(--soft-pink); font-size: 0.9rem; opacity: 0.8; }

.page-astro { padding: 100px 30px 80px; background: var(--white); min-height: 80vh; }

.page-content { max-width: 900px; margin: 0 auto; }

.page-content h1 { font-family: 'Josefin Sans', sans-serif; font-size: 2.8rem; color: var(--space-dark); margin-bottom: 30px; }

.page-content h2 { font-family: 'Josefin Sans', sans-serif; font-size: 1.5rem; color: var(--astro-rose); margin: 35px 0 15px; }

.page-content p { color: var(--deep-gray); margin-bottom: 15px; }

.page-content ul { margin: 15px 0 15px 30px; color: var(--deep-gray); }

.page-content li { margin-bottom: 10px; }

.age-astro { position: fixed; inset: 0; background: rgba(24, 24, 27, 0.97); z-index: 9999; display: flex; align-items: center; justify-content: center; }

.age-popup { background: var(--deep-gray); padding: 50px; border-radius: 25px; text-align: center; max-width: 480px; border: 3px solid var(--astro-rose); }

.age-popup h2 { font-family: 'Josefin Sans', sans-serif; font-size: 1.8rem; color: var(--white); margin-bottom: 20px; }

.age-popup p { color: var(--soft-pink); margin-bottom: 30px; }

.age-choices { display: flex; gap: 15px; justify-content: center; }

.age-accept, .age-decline { padding: 14px 35px; font-size: 1rem; font-family: 'Josefin Sans', sans-serif; font-weight: 600; cursor: pointer; border: none; border-radius: 50px; transition: 0.3s; }

.age-accept { background: linear-gradient(135deg, var(--astro-rose), var(--astro-pink)); color: var(--white); }
.age-accept:hover { transform: scale(1.05); }

.age-decline { background: transparent; border: 2px solid var(--soft-pink); color: var(--soft-pink); }
.age-decline:hover { background: var(--soft-pink); color: var(--space-dark); }

.hidden { display: none !important; }

@media (max-width: 768px) {
    .menu-toggle { display: block; }
    .astro-nav { position: absolute; top: 100%; left: 0; right: 0; background: var(--space-dark); flex-direction: column; padding: 20px; display: none; }
    .astro-nav.shown { display: flex; }
    .astro-nav a { text-align: center; }
    .hero-content h1 { font-size: 2.2rem; }
    .info-badges { flex-direction: column; align-items: center; gap: 20px; }
    .game-display { height: 420px; }
    .age-popup { margin: 20px; padding: 35px; }
    .age-choices { flex-direction: column; }
}
