        :root {
            --primary-bg: #111111;
            --secondary-bg: #1C1C1C;
            --purple: #9B5DE5;
            --cyan: #00F5D4;
            --muted: #B3B3B3;
            --gradient: linear-gradient(135deg, #9B5DE5, #00F5D4);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            cursor: none; /* Hide default for custom cursor */
        }

        body {
            background-color: var(--primary-bg);
            color: #FFFFFF;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* TYPOGRAPHY */
        .orbitron { font-family: 'Orbitron', sans-serif; }
        .logo-font { font-weight: 800; letter-spacing: -2px; }
        .heading-font { font-weight: 600; }
        .btn-font { font-weight: 600; text-transform: uppercase; letter-spacing: 2px; }

        /* CUSTOM CURSOR */
        #cursor-dot {
            width: 8px;
            height: 8px;
            background: var(--cyan);
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 10000;
            transition: transform 0.1s;
        }
        #cursor-outline {
            width: 40px;
            height: 40px;
            border: 1px solid var(--purple);
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 9999;
            transition: transform 0.15s ease-out;
            box-shadow: 0 0 15px var(--purple);
        }

        /* GLASSMORPHISM */
        .glass {
            background: rgba(28, 28, 28, 0.7);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.05);
        }

        /* NEON EFFECTS */
        .neon-text-cyan {
            color: var(--cyan);
            text-shadow: 0 0 10px rgba(0, 245, 212, 0.5);
        }
        .neon-border-purple:hover {
            border-color: var(--purple);
            box-shadow: 0 0 20px rgba(155, 93, 229, 0.3);
        }
        .neon-gradient-text {
            background: var(--gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /* HERO ANIMATION BACKGROUND */
        .animated-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: -1;
        }
        .particle {
            position: absolute;
            background: var(--cyan);
            border-radius: 50%;
            filter: blur(2px);
            opacity: 0.2;
            animation: float 20s infinite linear;
        }

        @keyframes float {
            0% { transform: translateY(0) translateX(0); }
            100% { transform: translateY(-100vh) translateX(50vw); }
        }

        /* SCROLL ANIMATIONS */
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.8s ease-out;
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* ASYMMETRICAL LAYOUT */
        .split-layout {
            display: grid;
            grid-template-columns: 60% 40%;
            min-height: 100vh;
        }

        /* CUSTOM SCROLLBAR */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: var(--primary-bg); }
        ::-webkit-scrollbar-thumb { background: var(--purple); border-radius: 10px; }

        /* NAV HOVER GLOW */
        .nav-link {
            position: relative;
            transition: color 0.3s;
        }
        .nav-link:hover { color: var(--cyan); }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--cyan);
            transition: width 0.3s;
            box-shadow: 0 0 10px var(--cyan);
        }
        .nav-link:hover::after { width: 100%; }

        /* MASONRY GRID */
        .masonry-container {
            column-count: 3;
            column-gap: 2rem;
        }
        @media (max-width: 1024px) { .masonry-container { column-count: 2; } }
        @media (max-width: 640px) { .masonry-container { column-count: 1; } }
        .masonry-item {
            break-inside: avoid;
            margin-bottom: 2rem;
        }

        /* CATEGORY SCROLL */
        .category-scroll::-webkit-scrollbar { display: none; }

        /* HIDDEN BY DEFAULT */
        .page-content { display: none; }
        .active-page { display: block; }
        
        /* AUTH MODAL */
        #auth-modal {
            z-index: 1000;
            transition: opacity 0.3s;
        }
