:root { --primary-color: #00ffff; --secondary-color: #ff00ff; --background-color: #0d0d0d; --text-color: #f0f0f0; --overlay-background: rgba(0, 0, 0, 0.85); --button-background: #ff00ff; --button-hover-background: #00ffff; --scanline-color: rgba(255, 255, 255, 0.05); --glow-color: rgba(0, 255, 255, 0.3); --terminal-background: rgba(0, 0, 0, 0.9); --terminal-border: #ff00ff; --border-radius: 1.5%; } /* effect */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes scanlines { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } } @keyframes vhs-static { 0% { transform: translate(0, 0); } 25% { transform: translate(-1px, 1px); } 50% { transform: translate(1px, -0.5px); } 75% { transform: translate(-0.5px, 0.5px); } 100% { transform: translate(0.5px, -1px); } } @keyframes flicker { 0%, 100% { opacity: 0.8; } 50% { opacity: 1; } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.75; } } @keyframes rgb-split { 0%, 100% { transform: translate(0px, 0px); } 50% { transform: translate(-0.5px, 0.5px); } } .fade-in { animation: fadeIn 0.5s ease-out forwards; } .hidden { display: none; } .crt-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: -1; mix-blend-mode: screen; animation: flicker 0.5s infinite; border-radius: var(--border-radius); box-shadow: inset 0 0 40px var(--glow-color); } .grid-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: repeating-linear-gradient( to right, rgba(0, 255, 255, 0.1) 0px, rgba(0, 255, 255, 0.1) 1px, transparent 1px, transparent 40px ), repeating-linear-gradient( to bottom, rgba(0, 255, 255, 0.1) 0px, rgba(0, 255, 255, 0.1) 1px, transparent 1px, transparent 40px ); background-color: var(--background-color); z-index: -4; }