        :root {
            --bg-deep: #050508;
            --neon-blue: #00f3ff;
            --neon-red: #ff003c;
            --neon-purple: #bc13fe;
            --neon-green: #0aff0a;
            --text-main: #f0f0f0;
        }

        html, body {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100vh;
            height: 100dvh;
            overflow: hidden;
            background-color: var(--bg-deep);
            color: var(--text-main);
            font-family: 'Rajdhani', sans-serif;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            perspective: 1000px;
            cursor: crosshair;
            touch-action: none;
            -webkit-user-select: none;
            user-select: none;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
        }

        .ambient-glow {
            position: absolute;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle at 50% 50%, #151525 0%, #000000 100%);
            z-index: -2;
        }

        .grid-floor {
            position: absolute;
            width: 200%;
            height: 200%;
            bottom: -50%;
            background-image: 
                linear-gradient(rgba(0, 243, 255, 0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(0, 243, 255, 0.03) 1px, transparent 1px);
            background-size: 60px 60px;
            transform: rotateX(60deg);
            z-index: -1;
            mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 40%);
            -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 40%);
            animation: gridScroll 20s linear infinite;
            backface-visibility: hidden;
            transform-style: preserve-3d;
        }

        @keyframes gridScroll {
            0% { transform: rotateX(60deg) translateY(0); }
            100% { transform: rotateX(60deg) translateY(60px); }
        }

        .domain-display {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-bottom: 5vh;
            position: relative;
            z-index: 10;
            transform-style: preserve-3d;
        }

        .domain-slots-wrapper {
            display: flex;
            align-items: flex-end;
            gap: 15px;
        }

        .slot {
            width: 50px;
            height: 80px;
            display: flex;
            align-items: flex-end;
            justify-content: center;
            border-bottom: 2px solid rgba(0, 243, 255, 0.2);
            font-size: 4.5rem;
            font-weight: 600;
            color: var(--neon-blue);
            text-transform: uppercase;
            text-shadow: 0 0 5px rgba(0, 243, 255, 0.2);
            transition: all 0.4s ease;
            font-family: 'Rajdhani', sans-serif;
            line-height: 1;
            transform: translateZ(0);
            backface-visibility: hidden;
        }

        .slot.filled {
            border-bottom-color: transparent;
            text-shadow: 0 0 4px var(--neon-blue);
            transform: translateY(-5px);
            animation: glitchText 0.3s ease-in-out;
        }

        @keyframes glitchText {
            0% { transform: translate(2px, -2px); filter: hue-rotate(90deg); }
            20% { transform: translate(-2px, 2px); }
            40% { transform: translate(1px, -1px); }
            60% { transform: translate(-1px, 1px); }
            100% { transform: translate(0, -5px); filter: hue-rotate(0deg); }
        }

        .dot-slot {
            font-size: 4.5rem;
            font-weight: 700;
            color: #fff;
            padding-bottom: 5px;
            text-shadow: 0 0 2px rgba(255, 255, 255, 0.3);
            opacity: 1;
            font-family: 'Rajdhani', sans-serif;
            line-height: 1;
        }

        .email-container {
            margin-top: 2rem;
            opacity: 0;
            transform: translateY(10px);
            transition: all 1s ease;
            pointer-events: none;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .email-container.visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

        .email-label {
            font-size: 1.1rem;
            color: rgba(255, 255, 255, 0.5);
            margin-bottom: 8px;
            letter-spacing: 1px;
            text-transform: uppercase;
            font-weight: 600;
            font-family: 'Rajdhani', sans-serif;
        }

        .email-link {
            color: rgba(255, 255, 255, 0.9);
            text-decoration: none;
            font-size: 1.8rem;
            letter-spacing: 2px;
            transition: color 0.3s ease, text-shadow 0.3s ease;
            font-weight: 600;
            font-family: 'Rajdhani', sans-serif;
        }

        .email-link:hover {
            color: var(--neon-blue);
            text-shadow: 0 0 4px var(--neon-blue);
        }

        .stage-area {
            height: 200px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            position: relative;
            width: 100%;
        }

        .word-container {
            display: flex;
            gap: 5px;
            font-size: 4.5rem;
            font-weight: 600;
            letter-spacing: 4px;
            margin-bottom: 20px;
            font-family: 'Rajdhani', sans-serif;
            transform: translateZ(0); 
        }

        .char {
            opacity: 0;
            transform: translateY(20px);
            filter: blur(10px);
            transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
            will-change: transform, opacity, filter;
        }

        .char.visible {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }

        .highlight-red {
            color: var(--neon-red);
            text-shadow: 0 0 2px var(--neon-red);
            font-weight: 700;
            transform: scale(1.1);
        }

        .info-label {
            font-size: 1.6rem;
            color: rgba(255, 255, 255, 0.5);
            letter-spacing: 2px;
            opacity: 0;
            transition: opacity 0.5s ease;
            text-transform: uppercase;
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 600;
            font-family: 'Rajdhani', sans-serif;
        }
        
        .info-label.show { opacity: 1; }
        .info-label strong { color: #fff; font-size: 2.5rem; font-weight: 700; }

        .math-row {
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 4.5rem;
            gap: 15px;
            height: 80px;
            font-weight: 600;
            font-family: 'Rajdhani', sans-serif;
        }

        .math-symbol { color: var(--neon-red); opacity: 0; transform: scale(0.5); transition: all 0.4s ease; font-weight: 700; }
        .math-symbol.visible { opacity: 1; transform: scale(1); }

        .flyer {
            position: fixed;
            font-weight: 700;
            color: #fff;
            z-index: 100;
            pointer-events: none;
            transition: 
                top 1.5s cubic-bezier(0.2, 0.8, 0.2, 1), 
                left 1.5s cubic-bezier(0.2, 0.8, 0.2, 1), 
                transform 1.5s ease,
                color 1s ease,
                text-shadow 1s ease,
                font-size 1.5s ease;
            font-family: 'Rajdhani', sans-serif;
            line-height: 1;
            will-change: top, left, transform;
            -webkit-font-smoothing: antialiased;
        }
        
        .finale-container {
            animation: float3d 8s ease-in-out infinite;
        }

        .finale-container .slot, 
        .finale-container .dot-slot {
            color: #ffffff;
            animation: glowPulse 4s ease-in-out infinite alternate;
        }

        @keyframes float3d {
            0% { transform: rotateY(0deg) rotateX(0deg) scale(1); }
            33% { transform: rotateY(8deg) rotateX(5deg) scale(1.02); }
            66% { transform: rotateY(-8deg) rotateX(-5deg) scale(1.02); }
            100% { transform: rotateY(0deg) rotateX(0deg) scale(1); }
        }

        @keyframes glowPulse {
            0% { text-shadow: 0 0 2px rgba(255, 255, 255, 0.5), 0 0 5px var(--neon-blue); }
            100% { text-shadow: 0 0 4px rgba(255, 255, 255, 0.8), 0 0 10px var(--neon-blue), 0 0 15px var(--neon-purple); }
        }

        .controls {
            position: fixed;
            bottom: 80px;
            display: flex;
            gap: 20px;
            z-index: 300;
        }

        .btn {
            background: transparent;
            border: 1px solid rgba(0, 243, 255, 0.3);
            color: var(--neon-blue);
            padding: 18px 50px;
            font-family: 'Rajdhani', sans-serif;
            text-transform: uppercase;
            letter-spacing: 3px;
            font-size: 1.4rem;
            cursor: pointer;
            transition: all 0.4s;
            user-select: none;
            font-weight: 700;
        }

        .btn:hover {
            background: rgba(0, 243, 255, 0.1);
            border-color: var(--neon-blue);
            box-shadow: 0 0 25px rgba(0, 243, 255, 0.3);
        }

        #replayBtn { display: none; }
        
        .mute-toggle {
            position: fixed;
            top: 20px;
            right: 20px;
            background: transparent;
            border: none;
            font-size: 2rem;
            cursor: pointer;
            z-index: 1000;
            filter: drop-shadow(0 0 5px var(--neon-blue));
            transition: transform 0.2s;
            padding: 10px;
            user-select: none;
            outline: none;
            -webkit-tap-highlight-color: transparent;
            font-family: 'Rajdhani', sans-serif; 
        }
        
        .mute-toggle:hover {
            transform: scale(1.1);
        }

        @media (max-width: 600px) {
            .slot { width: 32px; height: 55px; font-size: 2.2rem; }
            .dot-slot { font-size: 2.2rem; }
            
            .word-container { font-size: 2.2rem; letter-spacing: 2px; }
            .domain-slots-wrapper { gap: 6px; }
            
            .math-row { font-size: 2rem; gap: 8px; }
            
            .email-link { font-size: 1.3rem; }
            .stage-area { height: 160px; }
            
            .controls { bottom: 60px; }
            .btn { padding: 12px 30px; font-size: 1.1rem; }
            .mute-toggle { top: 15px; right: 15px; font-size: 1.5rem; }
            
            .info-label { font-size: 1.2rem; }
            .info-label strong { font-size: 1.8rem; }
        }
