        :root {
            --primary: #39ff14; /* Verde Neon */
            --bg: #000000;      /* Preto */
            --sidebar: #050505; /* Lateral */
            --card: #0a0a0a;    /* Cards */
            --text: #ffffff;
            --accent: #15400a;
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: 'Courier New', Courier, monospace; background-color: var(--bg); color: var(--text); display: flex; height: 100vh; overflow: hidden; }

        /* --- MENU LATERAL --- */
        nav { 
            width: 260px; background-color: var(--sidebar); display: flex; 
            flex-direction: column; padding: 30px 15px; border-right: 1px solid var(--accent);
            transition: 0.3s; /* Adicionado para suavizar abertura no mobile */
        }

        .logo { font-size: 1.4rem; font-weight: 800; margin-bottom: 40px; color: var(--primary); display: flex; align-items: center; gap: 10px; padding-left: 10px; text-shadow: 0 0 10px var(--primary); }

        .nav-item { 
            padding: 12px 15px; color: #555; text-decoration: none; cursor: pointer;
            transition: 0.3s; border-radius: 5px; margin-bottom: 5px; display: flex; align-items: center; gap: 12px;
        }

        .nav-item:hover { color: var(--primary); background: rgba(57, 255, 20, 0.05); }
        .nav-item.active { background: var(--primary); color: black; font-weight: bold; box-shadow: 0 0 20px rgba(57, 255, 20, 0.4); }

        /* Botão para abrir menu no Mobile */
        .mobile-btn {
            display: none;
            position: fixed;
            top: 15px;
            left: 15px;
            z-index: 1001;
            background: var(--sidebar);
            border: 1px solid var(--primary);
            color: var(--primary);
            padding: 8px 12px;
            cursor: pointer;
            border-radius: 4px;
        }

        /* --- CONTEÚDO --- */
        main { flex: 1; padding: 40px; overflow-y: auto; position: relative; }

        .page-content { display: none; animation: fadeIn 0.4s ease; }
        .page-content.active { display: block; }

        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        .header { margin-bottom: 35px; border-bottom: 1px solid var(--accent); padding-bottom: 20px; }
        .header h1 { font-size: 1.8rem; margin-bottom: 5px; color: var(--primary); }
        .header p { color: #888; font-size: 0.9rem; }

        /* --- ESTILO DOS CARDS --- */
        .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
        .card { 
            background: var(--card); border: 1px solid #1a1a1a; 
            padding: 20px; border-radius: 8px; text-decoration: none; color: white; transition: 0.3s;
        }
        .card:hover { border-color: var(--primary); box-shadow: 0 0 15px rgba(57, 255, 20, 0.2); }
        .card-icon { font-size: 1.5rem; color: var(--primary); margin-bottom: 15px; }
        
        /* Lista de Habilidades */
        .skill-tag { 
            display: inline-block; padding: 5px 10px; border: 1px solid var(--primary); 
            color: var(--primary); margin: 5px; font-size: 0.8rem; border-radius: 4px;
        }

        /* --- AJUSTES DE RESPONSIVIDADE --- */
        @media (max-width: 768px) {
            .mobile-btn { display: block; }
            
            nav {
                position: absolute;
                left: -260px;
                height: 100%;
                z-index: 1000;
            }

            nav.show { left: 0; }

            main { padding: 70px 20px 20px 20px; }

            .grid { grid-template-columns: 1fr; }
        }

        /* Scrollbar */
        ::-webkit-scrollbar { width: 5px; }
        ::-webkit-scrollbar-thumb { background: var(--primary); }