@keyframes flicker { 0% { opacity: 0.1; } 5% { opacity: 0.2; } 10% { opacity: 0.1; } 15% { opacity: 0.3; } 20% { opacity: 0.1; } 100% { opacity: 0.2; } }
@keyframes scanline { 0% { transform: translateY(-100%); } 100% { transform: translateY(100%); } }
@keyframes drift { 0% { transform: translate(0, 0); } 50% { transform: translate(-2%, 2%); } 100% { transform: translate(0, 0); } }
@keyframes glitch { 0% { transform: translate(0); } 20% { transform: translate(-2px, 2px); } 40% { transform: translate(-2px, -2px); } 60% { transform: translate(2px, 2px); } 80% { transform: translate(2px, -2px); } 100% { transform: translate(0); } }

.noise-bg {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.05;
    mix-blend-mode: overlay; /* Mistura o ruído com o fundo, evitando que fique cinza claro */
}
.fog-layer {
    background: radial-gradient(
        circle at 50% 50%, 
        transparent 0%, 
        rgba(0, 0, 0, 0.5) 50%, 
        #000000 100%
    );
    mix-blend-mode: multiply;
}
.animated-fog {
    background-image: url('https://www.transparenttextures.com/patterns/fog.png');
    opacity: 0.08; 
    filter: blur(4px); 
    mix-blend-mode: screen; 
}
.glitch-text:hover {
    animation: glitch 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite
}
.terminal-logs::-webkit-scrollbar {
    display: none
}
.terminal-logs {
    -ms-overflow-style: none;
    scrollbar-width: none
}
.font-cinematic {
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-style: italic;
}
.font-terminal {
    font-family: 'Special Elite', monospace;
}