:root{--bg: #000;--ink: #fff1e8;--dim: #83769c;--panel: #1d2b53;--edge: #5f574f;--accent: #ffec27;--red: #ff004d;--hud-h: 64px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:"Press Start 2P",monospace;font-size:10px;overflow:hidden}#app{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}#stage{position:relative;width:min(100vw,calc((100vh - var(--hud-h)) * 16 / 9));aspect-ratio:16 / 9;border:4px solid var(--edge);box-shadow:0 0 0 4px #000,0 0 40px #7e255355}#game{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;cursor:crosshair}#scanlines{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(0,0,0,.18) 2px 3px)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;overflow:auto;padding:12px}.hidden{display:none!important}.panel{background:var(--panel);border:4px solid var(--ink);box-shadow:0 0 0 4px #000,8px 8px 0 4px #000;padding:20px 24px;max-width:560px;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.title{margin:0;font-size:clamp(16px,4vw,28px);color:var(--accent);text-shadow:3px 3px 0 var(--red),6px 6px 0 #000;text-align:center;letter-spacing:2px;animation:blink 1.6s steps(2) infinite}@keyframes blink{50%{text-shadow:3px 3px 0 #ffa300,6px 6px 0 #000}}.subtitle{margin:0;color:var(--dim)}.players{display:flex;flex-direction:column;gap:6px;width:100%}.player-row{display:flex;gap:6px;align-items:center}.player-row input[type=text]{flex:1;min-width:0}input[type=text],select{font:inherit;color:var(--ink);background:#000;border:2px solid var(--edge);padding:6px;border-radius:0}input[type=text]:focus,select:focus{outline:2px solid var(--accent)}.swatch{display:inline-block;width:22px;height:22px;border:2px solid #000;box-shadow:0 0 0 2px var(--ink);cursor:pointer;padding:0;flex:none}.btn{font:inherit;color:#000;background:var(--ink);border:none;padding:8px 12px;box-shadow:inset -3px -3px #c2c3c7,0 0 0 2px #000;cursor:pointer}.btn:hover:not(:disabled){background:var(--accent)}.btn:active:not(:disabled){box-shadow:inset 3px 3px #c2c3c7,0 0 0 2px #000}.btn:disabled{opacity:.35;cursor:default}.btn.small{padding:6px 8px}.btn.big{font-size:14px;padding:12px 28px;background:var(--accent)}.btn.fire{background:var(--red);color:var(--ink);box-shadow:inset -3px -3px #7e2553,0 0 0 2px #000}.btn.off{opacity:.4;text-decoration:line-through}.options{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}.check{display:flex;align-items:center;gap:6px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent)}.seed input{width:120px}.help{color:var(--dim);font-size:8px;line-height:1.8;text-align:center;margin:0}.result .btn{min-width:180px}#audio-toggles{position:absolute;top:8px;right:8px;display:flex;gap:6px;z-index:5}#hud{height:var(--hud-h);width:min(100vw,calc((100vh - var(--hud-h)) * 16 / 9));display:flex;align-items:center;gap:14px;padding:0 12px;flex-wrap:wrap;justify-content:center}.who{display:flex;align-items:center;gap:8px;min-width:110px}.who .swatch{width:14px;height:14px;cursor:default}.slider{display:flex;align-items:center;gap:6px}.slider output{min-width:34px;color:var(--accent)}input[type=range]{width:120px;accent-color:var(--accent)}@media (max-width: 700px){:root{--hud-h: 120px}html,body{font-size:8px}input[type=range]{width:90px}}
