/* Multiplayer navigation and room setup stay in the game package. */
#squad-dialog{width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:32px;box-sizing:border-box;background:linear-gradient(145deg,#10282d,#0b1e24 65%);border:1px solid #41605b;border-radius:18px;box-shadow:0 30px 100px #0009}
#squad-dialog::backdrop{background:#041117df;backdrop-filter:blur(12px)}
#squad-dialog [hidden]{display:none!important}
#squad-dialog h2{margin:7px 0 0;font-size:36px;letter-spacing:-1px}
#squad-dialog h3{margin:0;font-size:18px;letter-spacing:-.3px}
#squad-dialog button{touch-action:manipulation}
#squad-dialog button:focus-visible,#squad-dialog input:focus-visible,#squad-dialog select:focus-visible,#squad-dialog summary:focus-visible{outline:2px solid #a5e4cd;outline-offset:4px}
.lobby-intro{color:#a9c1bd;line-height:1.6;margin:14px 0 30px}
.directory-heading,.directory-toolbar,.active-room-heading,.section-heading,.invite-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.directory-heading{margin:26px 0 20px}.directory-heading h3{margin-top:9px!important}.directory-heading p{font-size:13px;color:#a7bfba;margin:8px 0 0}.directory-heading>.primary{padding:15px 23px;white-space:nowrap}
.room-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 5px;margin-left:6px;box-sizing:border-box;border:1px solid #3d5e53;border-radius:7px;color:#b9dbcc;font-size:12px;vertical-align:2px}
.directory-toolbar{border-top:1px solid #2d4746;padding:15px 0}.directory-toolbar button{padding:8px 12px;font-size:12px;background:transparent}.directory-live{display:flex;align-items:center;gap:9px;font-size:11px;color:#a4c4b5}.directory-live i{width:6px;height:6px;border-radius:50%;background:#a8ddbc;box-shadow:0 0 9px #a8ddbc55}
#room-directory{display:grid;gap:10px;margin:0;min-height:0;max-height:none;overflow:visible;align-content:start}
#room-directory .public-room{display:flex;align-items:center;text-align:left;gap:16px;padding:20px;border:1px solid #304d49;border-radius:11px;background:#112c2e;color:#e3f0e5;width:100%;transition:background .15s,border-color .15s}
#room-directory .public-room:hover{border-color:#92daca;background:#1b3c36}.public-room-details{flex:1;min-width:0}.public-room strong,.public-room small{display:block;overflow-wrap:anywhere}.public-room small{font-size:12px;color:#a7bfba;margin-top:7px;font-weight:400;line-height:1.6}.public-room-join{white-space:nowrap;color:#b9edcf;font-size:13px}.room-mode-mark{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:10px;border:1px solid #3f6157;background:#1b3e38;font-size:25px;color:#b7e4c7}
.room-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:235px;padding:28px 20px;border:1px dashed #35534e;border-radius:12px;text-align:center;color:#a7bfba;line-height:1.6}.room-empty-orbit{font-size:48px;line-height:1.2;color:#a4cdb9;margin-bottom:15px}.room-empty strong{font-size:18px;color:#dfeadb}.room-empty p{font-size:13px;max-width:39ch;margin:8px 0 20px}
.manual-join,.room-advanced{border-top:1px solid #2d4746;margin-top:22px;padding-top:18px}.manual-join summary,.room-advanced summary{cursor:pointer;color:#b4cdc0;font-size:13px}.manual-join[open] summary,.room-advanced[open] summary{margin-bottom:18px}
.join-row{display:flex;gap:10px;margin-top:10px}.join-row button{white-space:nowrap}
.lobby-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lobby-field{display:flex;flex-direction:column;gap:8px;color:#bfd1c7;font-size:12px;font-weight:600}.lobby-field select,.join-row input,.invite-controls input,.visibility-label select{box-sizing:border-box;width:100%;min-width:0;padding:12px;background:#091e23;border:1px solid #35534e;border-radius:8px;color:#edf4e5;font:inherit}.lobby-field select:disabled,.visibility-label select:disabled{opacity:.65}
.invite-card{background:linear-gradient(110deg,#204237,#15332f);border:1px solid #4f7260;border-radius:12px;padding:20px;margin:24px 0}.invite-heading{margin-bottom:14px}.invite-heading>label{font-size:15px;font-weight:600;color:#dfeedd}.invite-heading .visibility-label{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:400;color:#b6cfc0}.visibility-label select{font-size:12px;width:auto;padding:8px}
.invite-controls{display:flex;gap:9px}.invite-controls input{flex:1;font-size:12px;color:#d5e5d7}.invite-controls button{white-space:nowrap;padding:12px 17px}.invite-card small{display:block;font-size:11px;color:#adc7b6;margin-top:12px;line-height:1.7}.invite-card b{color:#e1eddc;font-family:monospace;letter-spacing:1px;margin-right:7px}#invite-feedback{font-size:12px;color:#c2efcc;margin:10px 0 0}#invite-feedback:empty{display:none}
.room-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px}.room-setup{min-width:0}.section-heading{margin-bottom:20px}.section-heading>span{font-size:11px;color:#9cbaaa}.room-setup #expedition-config,.room-setup #arena-config{margin-top:18px}.room-setup .small{font-size:11px;color:#9bb5aa;line-height:1.6}.room-crew{padding:0 0 0 28px;border-left:1px solid #2d4746;min-width:0}.active-room-heading>span{font-size:11px;color:#a9c5ba}.room-crew>#room-mission{font-size:12px;color:#a4bdb0;line-height:1.6;margin:13px 0}
.cpu-config{border:1px solid #35534e;border-radius:10px;margin:22px 0 17px;padding:15px}.cpu-config legend{font-size:12px;color:#c7d8d2;padding:0 6px}.cpu-config>button{width:100%;margin-top:14px;padding:10px;font-size:12px}.cpu-config .small{margin-bottom:0}
#roster{display:grid;gap:0;margin:16px 0 0}.roster-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px 12px;padding:15px 0;border-bottom:1px solid #29423e}.roster-row strong{font-size:13px;overflow-wrap:anywhere}.roster-status{color:#a5b6ad;font-size:11px}.roster-status.ready{color:#b2e6bc}.cpu-row strong{color:#b9d6ca}.open-seat{opacity:.7}.open-seat strong{font-weight:400}
.ready-summary{font-size:12px;color:#c3d9c5;line-height:1.6;margin:20px 0}.lobby-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid #2d4746}.lobby-actions button{padding:13px 20px}.lobby-actions #leave-room{margin-right:auto;background:transparent;color:#b4c2b8}.lobby-actions .is-ready{border-color:#9fddbe;color:#bdf0cf;background:#214a37}
.lobby-footnote{color:#91aaa6;font-size:11px;line-height:1.5;margin:24px 0 0;text-align:center}.lobby-status{font-size:12px;color:#b2d9cf;margin:14px 0 0}.lobby-status:empty{display:none}
.room-connection{display:flex;align-items:center;gap:15px;padding:17px;background:#123333;border:1px solid #356464;border-radius:10px;margin:24px 0}.room-connection strong{font-size:14px}.room-connection p{font-size:12px;color:#b1ccbe;line-height:1.5;margin:5px 0 0}.connection-spinner{flex:none;width:20px;height:20px;border:2px solid #477f72;border-top-color:#b7efcf;border-radius:50%;animation:lobby-spin 1s linear infinite}.room-error{padding:17px;border:1px solid #aa7661;border-radius:10px;background:#392b27;color:#f3d5bb;margin:17px 0;line-height:1.6}.room-error strong{font-size:13px;font-weight:500}.room-error small{display:block;font:11px monospace;margin-top:9px;color:#cfab97;overflow-wrap:anywhere}
@keyframes lobby-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.connection-spinner{animation:none}}
@media(max-width:720px){#squad-dialog{padding:24px;max-height:calc(100dvh - 24px)}.room-layout{grid-template-columns:1fr;gap:20px}.room-crew{border-left:0;border-top:1px solid #2d4746;padding:24px 0 0}.invite-heading{align-items:flex-start;flex-direction:column;gap:12px}.invite-heading .visibility-label{width:100%;justify-content:space-between}}
@media(max-width:480px){#squad-dialog{width:calc(100vw - 16px);padding:20px;border-radius:12px}#squad-dialog h2{font-size:30px}.lobby-intro{font-size:13px;margin-bottom:20px}.directory-heading{gap:12px;align-items:flex-start}.directory-heading>.primary{padding:12px 15px;font-size:12px}.directory-heading p{font-size:12px}.directory-heading .eyebrow{font-size:9px}.lobby-form-grid{gap:12px}.lobby-field select{font-size:12px;padding:11px 7px}.join-row{flex-direction:column}.invite-card{padding:15px}.invite-controls{flex-direction:column}.invite-controls button{width:100%}.invite-heading>label{font-size:14px}.lobby-actions{gap:8px}.lobby-actions button{flex:1;padding:12px 8px;font-size:12px}.lobby-actions #leave-room{flex-basis:100%;order:2}.room-mode-mark{width:34px;height:34px;font-size:20px}#room-directory .public-room{gap:10px;padding:15px}.public-room strong{font-size:13px}.public-room small{font-size:11px}.public-room-join{font-size:12px}.section-heading>span{font-size:10px}}
/* Keep navigation and launch controls within reach while setup scrolls. */
#squad-dialog .lobby-actions{position:sticky;bottom:-32px;z-index:2;background:#0b1e24;box-shadow:0 -12px 20px #0b1e24;padding-bottom:8px}
@media(max-width:720px){#squad-dialog .lobby-actions{bottom:-24px}}
@media(max-width:480px){#squad-dialog .lobby-actions{bottom:-20px}}
