*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #0a0a0a;--color-text: #e0e0e0;--color-text-dim: #808080;--color-accent: #ff3333;--color-glow: rgba(255, 51, 51, .3);--font-main: "Courier New", Courier, monospace;--font-title: "Courier New", Courier, monospace}html,body{width:100%;height:100%;overflow:hidden;background:#000;cursor:default}body{font-family:var(--font-main);color:var(--color-text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#gameCanvas{position:fixed;top:0;left:0;width:100%;height:100%;display:block;background:#000}body.game-active{cursor:none}body.game-active *{cursor:none!important}#ui-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}#ui-overlay *{pointer-events:auto}.screen-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .5s ease-in-out}.screen-overlay.hidden{display:none}.screen-content{text-align:center;max-width:600px;padding:2rem}h1,h2{font-family:var(--font-title);font-weight:700;letter-spacing:.2em;text-transform:uppercase}h1{font-size:4rem;margin-bottom:1rem;text-shadow:0 0 10px var(--color-glow),0 0 20px var(--color-glow),0 0 30px var(--color-accent)}h2{font-size:2.5rem;margin-bottom:2rem}.subtitle{font-size:1.2rem;color:var(--color-text-dim);margin-bottom:3rem;letter-spacing:.15em;font-style:italic}.instructions{margin-top:3rem;font-size:.9rem;color:var(--color-text-dim);line-height:1.8}.glitch-text{position:relative;animation:glitch 3s infinite}@keyframes glitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,2px)}94%{transform:translate(2px,-2px)}96%{transform:translate(-1px,1px)}}.crt-button{background:transparent;border:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-main);font-size:1.2rem;padding:1rem 3rem;letter-spacing:.2em;cursor:pointer;transition:all .3s ease;text-transform:uppercase;position:relative;overflow:hidden}.crt-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-accent);transition:left .3s ease;z-index:-1}.crt-button:hover{color:#fff;border-color:var(--color-accent);box-shadow:0 0 20px var(--color-glow)}.crt-button:hover:before{left:0}.crt-button:active{transform:scale(.98)}.narrative-text{position:absolute;bottom:20%;left:50%;transform:translate(-50%);max-width:90%;padding:1.5rem 2.5rem;background:#000000d9;border:2px solid rgba(255,255,255,.2);border-radius:4px;text-align:center;font-size:1.8rem;font-family:Courier New,monospace;letter-spacing:1px;line-height:1.6;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5),2px 2px 4px rgba(0,0,0,.9);animation:textGlow 2s ease-in-out infinite;z-index:100}@keyframes textGlow{0%,to{text-shadow:0 0 10px rgba(255,255,255,.3),2px 2px 4px rgba(0,0,0,.9)}50%{text-shadow:0 0 20px rgba(255,255,255,.6),2px 2px 4px rgba(0,0,0,.9)}}.narrative-text.hidden{display:none}@keyframes flash{0%{opacity:0}50%{opacity:.8}to{opacity:0}}@keyframes tvShutoff{0%{opacity:0;transform:scaleY(1)}10%{opacity:1}50%{transform:scaleY(.02)}to{opacity:0;transform:scaleY(0)}}.crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;background:var(--color-text);border-radius:50%;opacity:.5;pointer-events:none;box-shadow:0 0 4px #ffffff80}.crosshair.hidden{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scanlines{0%{background-position:0 0}to{background-position:0 4px}}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,transparent 50%,rgba(0,0,0,.3) 80%,rgba(0,0,0,.6) 100%);pointer-events:none;z-index:1000}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:1001;animation:scanlines .1s linear infinite}.hidden{display:none!important}.fade-out{animation:fadeOut .5s ease-in-out forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}
