/* CSS Variables - Retro Theme */
        :root {
            --bg-color: #2b265c;
            --bg-secondary: #211c47;
            --border-color: #000;
            --accent-pink: #ff69b4;
            --accent-yellow: #ffeb3b;
            --text-light: #e0e0e0;
        }

        body {
            background-color: var(--bg-color);
            color: white;
            font-family: 'Press Start 2P', cursive; /* Font utama */
            margin: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
            /* Custom 8-bit cursor standard */
            cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="%23ffeb3b" stroke="black" stroke-width="2" d="M0 0h4v4H0zm4 4h4v4H4zm4 4h4v4H8zm4 4h4v4h-4zm4 4h4v4h-4z"/></svg>'), auto;
        }

        /* Font alternatif untuk paragraf panjang agar mudah dibaca */
        .font-body {
            font-family: 'Inter', sans-serif;
            font-size: 0.9rem;
            line-height: 1.6;
        }

        /* Custom 8-bit cursor untuk link/tombol */
        a, button, .clickable {
            cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="%23ff69b4" stroke="black" stroke-width="2" d="M0 0h4v4H0zm4 4h4v4H4zm4 4h4v4H8zm4 4h4v4h-4zm4 4h4v4h-4z"/></svg>'), pointer !important;
        }

        /* Blocky 8-bit UI elements */
        .pixel-card {
            background-color: var(--bg-secondary);
            border: 4px solid #7c83fd;
            box-shadow: 6px 6px 0px 0px var(--border-color);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
        
        .pixel-card:hover {
            transform: translate(-4px, -4px);
            box-shadow: 10px 10px 0px 0px var(--border-color);
        }

        .pixel-btn {
            background-color: var(--accent-pink);
            color: white;
            border: 4px solid var(--border-color);
            box-shadow: 4px 4px 0px 0px var(--border-color);
            text-transform: uppercase;
            font-size: 0.7rem;
            transition: all 0.1s;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        
        .pixel-btn:active {
            transform: translate(4px, 4px);
            box-shadow: 0px 0px 0px 0px var(--border-color);
        }

        /* Efek CRT Scanline */
        .scanlines {
            position: fixed;
            top: 0; left: 0; width: 100vw; height: 100vh;
            background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.1) 50%);
            background-size: 100% 4px;
            pointer-events: none;
            z-index: 9999;
        }

        /* Navbar & Typography tweaks */
        .nav-link:hover { color: var(--accent-pink); }
        .text-shadow { text-shadow: 2px 2px 0 #000; }
        .text-shadow-lg { text-shadow: 4px 4px 0 #000; }
        
        /* Modal Animation */
        .modal-enter { animation: pixelPop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; }
        @keyframes pixelPop {
            0% { transform: scale(0.9); opacity: 0; }
            100% { transform: scale(1); opacity: 1; }
        }