.matrix-background{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;background:var(--c64-bg);pointer-events:none}.matrix-column{position:absolute;top:-100%;font-family:var(--font-mono);font-size:24px;font-weight:700;color:var(--c64-light-blue);writing-mode:vertical-lr;text-orientation:upright;animation:linear infinite matrixFall;opacity:.9;letter-spacing:8px;text-shadow:0 0 8px currentColor}@keyframes matrixFall{to{transform:translateY(120vh)}}.matrix-char{display:inline-block;transition:opacity .3s}@keyframes matrixFade{0%,50%{opacity:1}100%{opacity:.1}}.matrix-column:nth-child(3n){animation-duration:25s}.matrix-column:nth-child(5n){animation-duration:35s}.matrix-column:nth-child(7n){animation-duration:20s}.glitch{position:relative;animation:2s infinite glitch}.glitch::after,.glitch::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch::before{animation:.5s infinite glitch-1;color:var(--c64-cyan);z-index:-1}.glitch::after{animation:.5s infinite glitch-2;color:var(--c64-red);z-index:-2}@keyframes glitch{0%,100%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes glitch-1{0%,100%{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(20% 0 30% 0);transform:translate(-5px)}40%{clip-path:inset(50% 0 20% 0);transform:translate(5px)}60%{clip-path:inset(10% 0 60% 0);transform:translate(0)}80%{clip-path:inset(80% 0 5% 0);transform:translate(-3px)}}@keyframes glitch-2{0%,100%{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(60% 0 10% 0);transform:translate(5px)}40%{clip-path:inset(20% 0 60% 0);transform:translate(-5px)}60%{clip-path:inset(80% 0 10% 0);transform:translate(3px)}80%{clip-path:inset(10% 0 80% 0);transform:translate(-3px)}}.static{position:fixed;top:0;left:0;width:100%;height:100%;background-image:repeating-radial-gradient(circle at 50% 50%,transparent 0,rgba(255,255,255,.1) 1px,transparent 2px);animation:.5s steps(10) infinite static;pointer-events:none;z-index:999;opacity:0}.static.active{opacity:1}@keyframes static{0%{transform:translate(0,0)}10%{transform:translate(-5%,-5%)}20%,50%{transform:translate(-10%,5%)}30%{transform:translate(5%,-10%)}40%{transform:translate(-5%,15%)}60%{transform:translate(15%,0)}70%{transform:translate(0,10%)}80%{transform:translate(-15%,0)}90%{transform:translate(10%,5%)}100%{transform:translate(5%,0)}}.crt-flicker{animation:.15s infinite crtFlicker}@keyframes crtFlicker{0%,100%{opacity:1}50%{opacity:.8}}.screen-shake{animation:.5s ease-in-out screenShake}@keyframes screenShake{0%,100%{transform:translate(0,0)}10%,30%,50%,70%,90%{transform:translate(-2px,0)}20%,40%,60%,80%{transform:translate(2px,0)}}.loading-dots::after{content:'';animation:1.5s infinite loadingDots}@keyframes loadingDots{0%,100%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}}.pulse{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.fade-in{animation:.5s ease-in fadeIn}.fade-out{animation:.5s ease-out fadeOut}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.slide-up{animation:.5s ease-out slideUp}.slide-down{animation:.5s ease-out slideDown}@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.electric{animation:.5s ease-in-out infinite alternate electric}@keyframes electric{0%{text-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px currentColor}100%{text-shadow:0 0 20px currentColor,0 0 30px currentColor,0 0 40px currentColor}}.system-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--terminal-bg);border:2px solid var(--c64-red);padding:var(--spacing-lg);color:var(--c64-red);font-size:1.2rem;font-weight:700;text-align:center;z-index:1000;animation:1s ease-in-out infinite systemMessagePulse}@keyframes systemMessagePulse{0%,100%{box-shadow:0 0 20px var(--c64-red)}50%{box-shadow:0 0 40px var(--c64-red)}}