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

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

:root {
    --lunar-silver: #94a3b8;
    --moonlight: #e2e8f0;
    --deep-indigo: #1e1b4b;
    --twilight: #312e81;
    --midnight-blue: #0f0d23;
    --soft-violet: #a78bfa;
    --pearl-white: #f8fafc;
}

body { font-family: 'Work Sans', sans-serif; background: var(--pearl-white); color: var(--deep-indigo); line-height: 1.8; }

.lunar-bar { background: linear-gradient(90deg, var(--twilight), var(--soft-violet), var(--twilight)); padding: 10px; text-align: center; font-weight: 500; color: var(--pearl-white); }

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

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

.lunar-logo { font-family: 'Spectral', serif; font-size: 2.2rem; font-weight: 700; color: var(--moonlight); text-decoration: none; font-style: italic; }

.burger-menu { display: none; background: none; border: 1px solid var(--lunar-silver); padding: 8px 10px; cursor: pointer; border-radius: 5px; }

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

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

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

.lunar-nav a { color: var(--moonlight); text-decoration: none; padding: 10px 22px; font-weight: 500; transition: 0.3s; }

.lunar-nav a:hover { color: var(--soft-violet); }

.hero-lunar { padding: 100px 30px; background: linear-gradient(180deg, var(--midnight-blue) 0%, var(--deep-indigo) 100%); text-align: center; }

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

.hero-box h1 { font-family: 'Spectral', serif; font-size: 3.5rem; font-weight: 700; color: var(--moonlight); margin-bottom: 25px; font-style: italic; }

.hero-box .intro { font-size: 1.2rem; color: var(--lunar-silver); margin-bottom: 40px; }

.lunar-btn { display: inline-block; background: var(--soft-violet); color: var(--midnight-blue); padding: 16px 45px; text-decoration: none; font-weight: 600; border-radius: 30px; transition: 0.3s; }

.lunar-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(167, 139, 250, 0.4); }

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

.notice-moon { text-align: center; color: var(--moonlight); }

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

.notice-moon .label { font-weight: 600; font-size: 0.9rem; }

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

.lunar-heading { font-family: 'Spectral', serif; font-size: 2.5rem; text-align: center; margin-bottom: 50px; color: var(--deep-indigo); font-style: italic; }

.game-container { max-width: 1200px; margin: 0 auto; background: var(--midnight-blue); padding: 20px; border-radius: 20px; }

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

.features-lunar { padding: 100px 30px; background: var(--deep-indigo); }

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

.feature-card { background: var(--twilight); padding: 40px 30px; border-radius: 15px; text-align: center; }

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

.feature-card h3 { font-family: 'Spectral', serif; font-size: 1.3rem; color: var(--moonlight); margin-bottom: 15px; font-style: italic; }

.feature-card p { color: var(--lunar-silver); }

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

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

.about-box h2 { font-family: 'Spectral', serif; font-size: 2rem; color: var(--deep-indigo); margin-bottom: 30px; font-style: italic; }

.about-box p { color: var(--twilight); margin-bottom: 20px; }

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

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

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

.resource-row a:hover { color: var(--moonlight); }

.footer-note { color: var(--lunar-silver); font-size: 0.9rem; }

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

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

.page-box h1 { font-family: 'Spectral', serif; font-size: 2.8rem; color: var(--deep-indigo); margin-bottom: 30px; font-style: italic; }

.page-box h2 { font-family: 'Spectral', serif; font-size: 1.5rem; color: var(--twilight); margin: 35px 0 15px; font-style: italic; }

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

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

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

.age-lunar { position: fixed; inset: 0; background: rgba(15, 13, 35, 0.97); z-index: 9999; display: flex; align-items: center; justify-content: center; }

.age-modal { background: var(--deep-indigo); padding: 50px; border-radius: 20px; text-align: center; max-width: 480px; border: 2px solid var(--soft-violet); }

.age-modal h2 { font-family: 'Spectral', serif; font-size: 1.8rem; color: var(--moonlight); margin-bottom: 20px; font-style: italic; }

.age-modal p { color: var(--lunar-silver); margin-bottom: 30px; }

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

.age-confirm, .age-deny { padding: 14px 35px; font-size: 1rem; font-weight: 600; cursor: pointer; border: none; border-radius: 30px; transition: 0.3s; }

.age-confirm { background: var(--soft-violet); color: var(--midnight-blue); }
.age-confirm:hover { box-shadow: 0 5px 20px rgba(167, 139, 250, 0.4); }

.age-deny { background: transparent; border: 1px solid var(--lunar-silver); color: var(--lunar-silver); }
.age-deny:hover { background: var(--lunar-silver); color: var(--midnight-blue); }

.hidden { display: none !important; }

@media (max-width: 768px) {
    .burger-menu { display: block; }
    .lunar-nav { position: absolute; top: 100%; left: 0; right: 0; background: var(--midnight-blue); flex-direction: column; padding: 20px; display: none; }
    .lunar-nav.visible { display: flex; }
    .lunar-nav a { text-align: center; }
    .hero-box h1 { font-size: 2.2rem; }
    .notice-row { flex-direction: column; align-items: center; gap: 20px; }
    .game-frame { height: 420px; }
    .age-modal { margin: 20px; padding: 35px; }
    .age-btns { flex-direction: column; }
}
