*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;background:#05060b;overflow:hidden;font-family:'Consolas','DejaVu Sans Mono','Courier New',monospace}
#crt{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:
  radial-gradient(ellipse at 50% 40%, #16203a 0%, #0a0c16 55%, #04050a 100%)}
#screen{position:relative;line-height:0;box-shadow:0 0 24px #0ff2,0 0 70px #f0f1,0 0 0 3px #10141f,0 0 0 6px #060810;background:#05070d}
#game{position:absolute;left:0;top:0;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}
/* crisp text layer: HUD/menus render at device resolution above the CRT film */
#ui{position:absolute;left:0;top:0;z-index:4;image-rendering:auto}
/* CRT film is intentionally weak: legibility wins over atmosphere */
.scan{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.10;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,.20) 0 1px,rgba(0,0,0,0) 1px 4px)}
.scan::after{content:'';position:absolute;inset:0;opacity:.30;
  background:repeating-linear-gradient(90deg,rgba(255,40,120,.035) 0 1px,rgba(40,220,255,.035) 1px 2px,rgba(0,0,0,0) 2px 4px)}
.glare{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.05;
  background:linear-gradient(115deg,rgba(120,255,255,.12),rgba(255,60,200,.06) 40%,rgba(0,0,0,0) 70%)}
#hint{position:fixed;left:50%;bottom:6px;transform:translateX(-50%);color:#eaf7ff;
  font-size:13px;font-weight:700;letter-spacing:.4px;opacity:.95;white-space:nowrap;z-index:6;
  background:rgba(3,5,11,.92);border:1px solid #243049;border-radius:3px;padding:4px 12px;
  text-shadow:0 1px 0 #000}
#hint b{color:#fff}
