:root {
    --primary-bg: #0a0a0a;
    --glass-bg: rgba(10, 12, 15, 0.85); 
    --tech-blue: #00a8ff; 
    --tech-glow: rgba(0, 168, 255, 0.25); 
    --accent-color: var(--tech-blue);
    --text-color: #e0e0e0;
    --menu-height: 80px; 
    --menu-height-scrolled: 60px;
    
    /* VS Code Theme Glassmorphism */
    --vsc-bg-glass: rgba(20, 20, 24, 0.45);
    --vsc-header-glass: rgba(30, 30, 35, 0.5);
    --vsc-tab-active: rgba(20, 20, 24, 0.7);
    --vsc-text: #d4d4d4;
    --code-keyword: #569cd6;
    --code-func: #dcdcaa;
    --code-string: #ce9178;
    --code-var: #9cdcfe;
}

* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
    scroll-margin-top: 85px; 
}

/* FIX STICKY: overflow-x: clip permite que position: sticky funcione correctamente */
body { 
    font-family: 'Inter', -apple-system, sans-serif; 
    background-color: var(--primary-bg); 
    color: var(--text-color); 
    -webkit-font-smoothing: antialiased; 
    overflow-x: clip; 
}

/* RUIDO VISUAL DE FONDO */
body::before { 
    content: ""; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100vw; 
    height: 100vh; 
    z-index: 9999; 
    pointer-events: none; 
    opacity: 0.04;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); 
}