* { margin: 0; padding: 0; box-sizing: border-box; } body { background: #000; overflow: hidden; font-family: 'Press Start 2P', monospace; color: #fff; width: 100vw; height: 100vh; } #game-canvas { width: 100vw; height: 100vh; image-rendering: pixelated; image-rendering: crisp-edges; display: block; } #crt-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 100; background: repeating-linear-gradient( 0deg, rgba(0, 0, 0, 0.12) 0px, rgba(0, 0, 0, 0.12) 1px, transparent 1px, transparent 2px ); } #loading-screen { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #0000AA; display: flex; align-items: center; justify-content: center; z-index: 50; } .loading-box { text-align: center; } .loading-box h1 { font-size: 24px; color: #FFFF55; margin-bottom: 8px; text-shadow: 2px 2px #AA0000; } .loading-box h2 { font-size: 10px; color: #AAAAAA; margin-bottom: 30px; } .progress-container { width: 240px; height: 16px; border: 2px solid #FFFFFF; margin: 0 auto 20px; background: #000055; } .progress-bar { height: 100%; width: 0%; background: #00AAAA; transition: width 0.3s; } #loading-message { font-size: 10px; color: #55FF55; margin-bottom: 20px; } .loading-plane pre { font-size: 8px; color: #FFFFFF; line-height: 1.2; } .menu-box { text-align: center; padding: 30px 40px; background: rgba(0, 0, 0, 0.85); border: 2px solid #AAAAAA; } .menu-box h1 { font-size: 20px; color: #FFFF55; margin-bottom: 20px; text-shadow: 2px 2px #AA0000; } .menu-box h2 { font-size: 14px; color: #FFFF55; margin-bottom: 20px; } .menu-item { font-size: 12px; padding: 10px 20px; margin: 6px 0; cursor: pointer; color: #AAAAAA; } .menu-item.selected { color: #FFFFFF; background: #0000AA; } .copyright { font-size: 8px; color: #555555; margin-top: 30px; } .prompt { font-size: 8px; color: #55FF55; margin-top: 20px; animation: blink 1s infinite; } @keyframes blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } } #controls-screen, #pause-menu, #main-menu, #quit-screen { position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; z-index: 40; } .controls-list p { font-size: 9px; color: #AAAAAA; margin: 8px 0; text-align: left; } #hud-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 30; pointer-events: none; } #hud-canvas { width: 100vw; height: 100vh; image-rendering: pixelated; image-rendering: crisp-edges; }