:root{--fg:#b8ffcf;--dim:#3a7a55}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#000;overflow:hidden;height:100%;font-family:'Press Start 2P',monospace;color:var(--fg);touch-action:none;user-select:none;-webkit-user-select:none}
#canvas{position:fixed;inset:0;width:100vw;height:100vh;image-rendering:pixelated;image-rendering:crisp-edges}
#crt{position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.65));animation:flick .12s infinite}
#crt.off{display:none}
@keyframes flick{50%{opacity:.93}}
#controls{display:none}
body.touch #controls{display:block}
#joy{position:fixed;left:24px;bottom:40px;width:120px;height:120px;border:2px dashed var(--dim);border-radius:50%;opacity:.6}
#knob{position:absolute;left:40px;top:40px;width:40px;height:40px;background:var(--dim);border:2px solid var(--fg)}
#btns{position:fixed;right:18px;bottom:40px;display:flex;gap:10px;align-items:flex-end}
#btns button{font-family:inherit;font-size:9px;background:rgba(0,0,0,.4);color:var(--fg);border:2px solid var(--fg);width:56px;height:56px;opacity:.7}
#btns button.big{width:78px;height:78px;font-size:11px}
#btns button.on{background:var(--fg);color:#000}
#overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:20px;z-index:5}
#overlay.hidden{display:none}
#overlay h1{font-size:22px;text-shadow:0 0 8px var(--fg)}
#overlay p{font-size:10px;line-height:1.8;color:var(--dim)}
#overlay button{font-family:inherit;font-size:11px;background:#000;color:var(--fg);border:2px solid var(--fg);padding:10px 16px;cursor:pointer;min-width:220px}
#overlay button:hover{background:var(--fg);color:#000}
#overlay input{font-family:inherit;font-size:22px;width:120px;text-align:center;background:#000;color:var(--fg);border:2px solid var(--fg);text-transform:uppercase;padding:6px}
#overlay table{font-size:10px;border-collapse:collapse}
#overlay td{padding:4px 10px}
#auth-status{position:fixed;top:4px;left:50%;transform:translateX(-50%);font-size:7px;color:var(--dim);z-index:6}
#auth-status a{color:var(--dim)}
footer{position:fixed;bottom:4px;left:50%;transform:translateX(-50%);font-size:8px;z-index:6}
footer a{color:var(--dim)}