* { margin: 0; padding: 0; box-sizing: border-box; } body { background: #0a0a0f; display: flex; justify-content: center; align-items: center; min-height: 100vh; font-family: 'Courier New', monospace; overflow: hidden; } canvas { position: fixed; top: 0; left: 0; z-index: 0; } .container { position: relative; z-index: 1; text-align: center; } .glitch { font-size: clamp(3rem, 10vw, 8rem); font-weight: 900; color: #fff; text-transform: uppercase; letter-spacing: 0.1em; position: relative; animation: glitch-main 3s infinite; } .glitch::before, .glitch::after { content: attr(data-text); position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .glitch::before { color: #0ff; animation: glitch-before 3s infinite; clip-path: polygon(0 30%, 100% 30%, 100% 50%, 0 50%); } .glitch::after { color: #f0f; animation: glitch-after 3s infinite; clip-path: polygon(0 60%, 100% 60%, 100% 80%, 0 80%); } @keyframes glitch-main { 0%, 90%, 100% { transform: translate(0); } 92% { transform: translate(-2px, 1px); } 94% { transform: translate(2px, -1px); } 96% { transform: translate(-1px, 2px); } } @keyframes glitch-before { 0%, 90%, 100% { transform: translate(0); opacity: 0; } 91% { transform: translate(-4px, 0); opacity: 0.8; } 93% { transform: translate(4px, 0); opacity: 0.8; } 95% { opacity: 0; } } @keyframes glitch-after { 0%, 90%, 100% { transform: translate(0); opacity: 0; } 92% { transform: translate(4px, 0); opacity: 0.8; } 94% { transform: translate(-4px, 0); opacity: 0.8; } 96% { opacity: 0; } } .subtitle { margin-top: 1rem; font-size: clamp(0.8rem, 2vw, 1.2rem); color: #0ff; letter-spacing: 0.5em; text-transform: uppercase; opacity: 0; animation: fade-in 1s ease forwards 0.5s; } .counter { margin-top: 2rem; font-size: 0.85rem; color: #444; letter-spacing: 0.3em; animation: fade-in 1s ease forwards 1s; opacity: 0; } #typed { color: #0f0; } @keyframes fade-in { to { opacity: 1; } } .scanline { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: repeating-linear-gradient( to bottom, transparent 0px, transparent 3px, rgba(0, 0, 0, 0.08) 3px, rgba(0, 0, 0, 0.08) 4px ); pointer-events: none; z-index: 2; }