        :root {
            --navy: #0B1B2B;
            --purple: #1F2937;
            --aurora: #7FFFD4;
            --campfire: #FF7F50;
            --misty: #A0A0A0;
            --white: #F5F5F5;
        }

        body {
            background-color: var(--navy);
            color: var(--white);
            font-family: 'Lato', sans-serif;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        h1, h2, h3, h4 { font-family: 'Montserrat', sans-serif; }

        .aurora-glow { text-shadow: 0 0 10px rgba(127, 255, 212, 0.6); }
        .campfire-glow { text-shadow: 0 0 10px rgba(255, 127, 80, 0.6); }

        /* Navigation Reset */
        nav { top: 0 !important; }

        /* Starry Background */
        #stars-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            background: radial-gradient(circle at bottom, var(--purple), var(--navy));
            overflow: hidden;
        }

        .star {
            position: absolute;
            background: white;
            border-radius: 50%;
            opacity: 0.5;
            animation: twinkle var(--duration) infinite ease-in-out;
        }

        @keyframes twinkle {
            0%, 100% { opacity: 0.3; transform: scale(1); }
            50% { opacity: 1; transform: scale(1.2); }
        }

        /* Page Transitions */
        .page { display: none; min-height: 100vh; }
        .page.active { display: block; animation: fadeIn 0.8s ease-out; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        /* Card Effects */
        .camp-card {
            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.05);
        }
        .camp-card:hover {
            transform: translateY(-10px);
            background: rgba(255, 255, 255, 0.07);
            border-color: var(--aurora);
            box-shadow: 0 10px 40px -10px rgba(127, 255, 212, 0.2);
        }

        .btn-aurora {
            background: var(--aurora);
            color: var(--navy);
            box-shadow: 0 0 15px rgba(127, 255, 212, 0.4);
            transition: all 0.3s;
        }
        .btn-aurora:hover {
            transform: scale(1.05);
            box-shadow: 0 0 25px rgba(127, 255, 212, 0.6);
        }

        /* Responsive Fixes */
        @media (max-width: 768px) {
            .hero-title { font-size: 3rem !important; }
            .section-padding { padding: 4rem 1.5rem !important; }
        }

        /* Game Elements */
        .game-cell {
            aspect-ratio: 1;
            background: rgba(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            cursor: pointer;
        }
        .game-cell:hover { background: rgba(127, 255, 212, 0.1); }
