*{margin:0;padding:0;box-sizing:border-box}body{background:#1a1a2e;color:#eee;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden;height:100vh}#lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1.5rem}#lobby h1{font-size:3rem;color:gold;letter-spacing:.1em}.subtitle{color:#888;font-size:1rem}.lobby-divider{border:none;border-top:1px solid #333;width:16rem;margin:.5rem 0}.lobby-section{display:flex;flex-direction:column;align-items:center;gap:.8rem}.section-title{color:#666;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em}.lobby-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center}.join-section{display:flex;gap:.5rem}.name-section{display:flex;gap:.5rem;align-items:center}#name-input{background:#16213e;color:gold;border:2px solid #333;padding:.6rem 1rem;font-size:1.1rem;font-weight:700;border-radius:4px;text-align:center;width:14rem}#name-input:focus{outline:none;border-color:gold}#name-refresh{background:#16213e;color:#aaa;border:2px solid #333;padding:.5rem .7rem;font-size:1.2rem;border-radius:4px;cursor:pointer;line-height:1}#name-refresh:hover{color:gold;border-color:gold}button{background:gold;color:#1a1a2e;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:700;border-radius:4px;cursor:pointer;transition:background .15s}button:hover{background:#ffed4a}button:disabled{background:#555;color:#999;cursor:not-allowed}input{background:#16213e;color:#eee;border:2px solid #333;padding:.75rem 1rem;font-size:1rem;border-radius:4px;text-transform:uppercase;letter-spacing:.2em;width:10rem;text-align:center}input:focus{outline:none;border-color:gold}#status{color:#aaa;font-size:.9rem;min-height:1.5em}#status.connecting:after{content:"";animation:dots 1.5s steps(4) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}#game-container{position:relative;width:100vw;height:100vh}#top-bar{position:absolute;top:0;left:0;right:0;z-index:10;pointer-events:none;padding:.5rem 1rem;display:flex;flex-direction:column;gap:.3rem}#top-bar>*{pointer-events:auto}#battle-name{color:gold;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;opacity:.7;pointer-events:none}#top-bar-row2{display:flex;justify-content:space-between;align-items:flex-start}#hud{display:flex;gap:1rem;font-size:.85rem;color:#aaa;-webkit-user-select:none;user-select:none;align-items:center;flex-wrap:wrap}#room-display{background:#16213e;padding:.4rem .8rem;border-radius:4px;letter-spacing:.15em;color:gold;font-weight:700;cursor:pointer;transition:background .15s}#room-display:hover{background:#1e2d4e}#room-display.copied{background:#1e4e2d}#player-count{padding:.4rem 0}#mode-display{padding:.4rem .8rem;border-radius:4px;font-weight:700;letter-spacing:.1em;font-size:.85rem;text-transform:uppercase}#mode-display.mode-move{color:gold}#mode-display.mode-shoot{color:#f44}#mute-btn{background:#16213e;color:#aaa;border:1px solid #333;padding:.3rem .6rem;border-radius:4px;font-size:.75rem;cursor:pointer}#mute-btn:hover{background:#1e2d4e}#mute-btn.muted{color:#f44;border-color:#f44}#exit-btn{background:#16213e;color:#aaa;border:1px solid #333;padding:.3rem .6rem;border-radius:4px;font-size:.75rem;cursor:pointer}#exit-btn:hover{color:#f44;border-color:#f44}#scoreboard{background:#16213ed9;border-radius:6px;padding:.4rem .7rem;font-size:.8rem;pointer-events:none;min-width:9rem}.sb-row{display:flex;align-items:center;gap:.5rem;padding:.2rem 0}.sb-row.self{font-weight:700}.sb-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sb-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-count{color:#aaa;font-variant-numeric:tabular-nums}#game-canvas{display:block;width:100%;height:100%}#touch-controls{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:20;pointer-events:none}#touch-mode-btn{pointer-events:auto;background:#16213ed9;color:gold;border:2px solid #ffd700;padding:1rem 2.5rem;font-size:1.2rem;font-weight:700;letter-spacing:.15em;border-radius:12px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}#touch-mode-btn.shoot-mode{color:#f44;border-color:#f44}
