/* One player per device. Room setup stays outside the fullscreen arena. */
.room-lobby{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:28px;padding:10px 0 20px;align-items:start}
.room-lobby .eyebrow{font-size:9px;letter-spacing:1.5px;margin:0 0 8px}
.room-lobby h1{font-size:clamp(36px,4vw,58px);line-height:.98;margin:0 0 14px;letter-spacing:-1.5px}
.room-lobby h1 em{color:var(--orange)}
.room-lobby p{max-width:540px;font-size:13px;line-height:1.5;margin:8px 0}
.room-lobby .preview-note{color:var(--muted);font-size:12px;line-height:1.5}
.room-lobby .room-phone-note{display:none;color:#c8d6e9;font-size:12px}
.room-controls{min-width:0;display:grid;gap:16px;padding:18px;background:#182541;border:2px solid #080c15;box-shadow:4px 4px 0 #243d86}
.room-controls h2{color:var(--cream);font-size:14px;margin:0 0 10px;letter-spacing:.5px}
.room-controls label{display:grid;gap:6px;color:var(--cream);font-size:12px;font-weight:700}
.room-controls select,.room-controls input[type=text]{width:100%;min-width:0;min-height:44px;background:#0d192d;color:var(--cream);padding:10px;border:1px solid #69809e;border-radius:0;font:inherit;font-size:16px;box-sizing:border-box}
.room-fighter{min-width:0}
#fighter-detail{color:#c8d6e9;font-size:12px;margin:12px 0 0;min-height:1.5em;overflow-wrap:anywhere}
.room-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;border-top:1px solid #53627c;padding-top:16px}
.room-action{min-width:0;display:flex;flex-direction:column;gap:8px}
.room-action h2{margin:0}
.room-action p{font-size:12px;margin:0;flex:1}
.room-action>button{margin-top:auto}
.room-join{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
#room-code{text-transform:uppercase;letter-spacing:1px}
#room-code::placeholder{text-transform:none;letter-spacing:0;color:#b3bbcb;font-size:13px}
.room-action button,.room-invite button,.network-status button{min-height:44px;padding:10px 12px;font-size:12px;white-space:normal}
.room-controls details{margin:0;border-top:1px solid #53627c;padding-top:4px;font-size:12px;min-width:0}
.room-controls summary{min-height:44px;padding:12px 0;font-size:12px;line-height:1.5}
.room-controls details p{font-size:12px;color:var(--muted)}
.room-controls .test-toggle{display:flex;align-items:center;min-height:44px;gap:10px;line-height:1.5}
.test-toggle input{accent-color:var(--cyan);flex:none;width:20px;height:20px;margin:0}
.network-status{display:flex;gap:16px;justify-content:space-between;align-items:center;min-height:44px;margin:0 0 12px;min-width:0}
.network-status p{min-width:0;line-height:1.5;color:var(--cyan);font-size:13px;margin:6px 0;overflow-wrap:anywhere}
.network-status button{flex:none}
.room-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;margin-bottom:12px;padding:16px;background:#1c2d4e;border:2px solid #080c15;border-left:4px solid var(--cyan);min-width:0}
.room-invite span{display:block;font-size:10px;letter-spacing:1.5px;color:var(--cyan);margin-bottom:6px}
.room-invite strong{display:block;font:800 clamp(22px,3vw,30px) monospace;letter-spacing:2px;color:var(--cream);user-select:all;overflow-wrap:anywhere}
.room-invite p{grid-column:1/-1;font-size:12px;line-height:1.5;color:#c8d6e9;margin:0}
.invite-actions{display:flex;gap:8px;flex-wrap:wrap}
.room-lobby[hidden],.room-invite[hidden]{display:none}
#network-metrics{font:11px/1.5 monospace;max-width:74%;overflow-wrap:anywhere}
#move-list p{line-height:1.5}
#results p{max-width:600px;padding:0 20px;text-align:center}
#results h2{font-size:clamp(22px,5vw,54px)}
@media(min-width:951px){body:has(#lobby) .cabinet{max-width:min(100%,calc((100svh - 190px)*16/9))}}
@media(max-width:1050px){.room-lobby{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:20px}.room-controls{padding:14px}.room-actions{gap:12px}}
@media(max-width:760px){.room-lobby{grid-template-columns:1fr;gap:14px;padding:8px 0 18px}.room-lobby h1{font-size:36px;margin-bottom:8px}.room-lobby h1 br{display:none}.room-lobby h1 em::before{content:" "}.room-lobby p{max-width:none}.room-invite{grid-template-columns:1fr;gap:12px}.room-invite strong{letter-spacing:2px}.invite-actions>button{flex:1}#network-metrics{max-width:100%;font-size:10px}.console-bar button{min-height:44px}}
@media(max-width:480px){.room-controls{padding:12px;gap:14px}.room-actions{grid-template-columns:1fr;gap:18px}.room-join{grid-template-columns:minmax(0,1fr) auto}.room-invite{padding:12px}.network-status{gap:8px;align-items:flex-start}.network-status button{max-width:110px}.room-action button{width:100%}}
@media(pointer:coarse),(max-width:900px){.room-lobby .room-phone-note{display:block}}
