/* Shared rooms keep the simulator's dark palette and generous touch targets. */
.group-launch{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 22px}
.group-launch button,.group-text-link{font:inherit;font-size:17px;color:var(--gold);background:none;border:0;border-bottom:1px solid var(--gold-dim);padding:5px 0;cursor:pointer}
.group-panel[hidden],.group-dialog [hidden],.group-panel [hidden]{display:none!important}
.group-panel{margin:0 0 22px;padding:20px;border:1px solid var(--rule2);border-radius:7px;background:var(--panel);font-size:17px}
.group-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.group-code-label{display:block;color:var(--muted);font-size:16px}
#group-code{display:block;font-size:34px;letter-spacing:.15em;color:var(--gold);line-height:1.35}
.group-panel button,.group-panel a,.group-dialog button{font:inherit;font-size:17px;min-height:42px;padding:8px 13px;color:var(--text);background:var(--panel2);border:1px solid var(--rule2);border-radius:5px;cursor:pointer;text-decoration:none}
.group-panel button:disabled,.group-dialog button:disabled{opacity:.45;cursor:default}
.group-panel button:hover:not(:disabled),.group-dialog button:hover:not(:disabled){border-color:var(--gold-dim)}
.group-panel .group-primary,.group-dialog .group-primary{background:#829fcc35;border-color:#829fcc88;color:#c2d4f0;font-weight:700}
.group-room-actions,.group-host-actions,.group-player-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#group-status{margin-top:14px;color:var(--muted)}
.group-host-actions,.group-player-actions{margin-top:15px}
.group-error{padding:12px 14px;background:#c65f5f19;border:1px solid var(--red-dim);border-radius:5px;color:#e3a1a1;margin:14px 0;overflow-wrap:anywhere}
.group-roster-wrap{margin-top:18px;border-top:1px solid var(--rule)}
.group-roster-wrap>summary{padding:13px 0;cursor:pointer;color:var(--muted);font-size:17px}
#group-roster{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto}
#group-roster li{display:flex;align-items:center;gap:16px;border-top:1px solid var(--rule);padding:10px 0}
.group-player-name{flex:1;min-width:0;overflow-wrap:anywhere}
.group-player-progress{color:var(--muted);white-space:nowrap}
#group-roster button{font-size:16px;min-height:38px;padding:5px 10px}
.group-withdrawn{opacity:.5}
.group-leaderboard{margin-top:22px;max-width:850px}
.group-leaderboard h2{font-size:27px;margin:0 0 10px}
#group-cash{color:var(--muted);margin-bottom:12px}
.group-leaderboard table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.group-leaderboard th,.group-leaderboard td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--rule);overflow-wrap:anywhere;font-weight:400}
.group-leaderboard thead{color:var(--muted)}
.group-leaderboard th:first-child,.group-leaderboard td:first-child{width:18%;white-space:nowrap}
.group-leaderboard th:last-child,.group-leaderboard td:last-child{width:36%;text-align:right}
.group-your-rank{background:#d8a24a16;color:var(--gold)}
#carry-game.group-mode .group-launch,#carry-game.group-mode .sim-options-panel,#carry-game.group-mode #sim-options{display:none!important}
#carry-game.group-waiting .sim-grid,#carry-game.group-waiting .sim-controls,#carry-game.group-waiting .sim-intro{display:none!important}
#carry-game.group-waiting .sim-trade-reveal[data-unlocked=false]{display:none!important}
.group-dialog{margin:auto;width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:24px;background:var(--ink);color:var(--text);border:1px solid var(--rule2);border-radius:8px;font-family:var(--font);font-size:18px;overflow:auto}
.group-dialog::backdrop{background:#080b10dd;backdrop-filter:blur(4px)}
.group-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}
.group-dialog-heading h2{font-size:28px;margin:0;line-height:1.2}
.group-dialog-heading button{font-size:25px;line-height:1;min-width:42px;padding:5px}
.group-dialog form{display:grid;gap:9px}
.group-dialog form label:not(:first-child){margin-top:10px}
.group-dialog input,.group-dialog select{width:100%;min-height:46px;font:inherit;font-size:18px;padding:9px 12px;background:var(--panel2);color:var(--text);border:1px solid var(--rule2);border-radius:4px}
.group-dialog form>button[type=submit]{margin-top:17px;min-height:48px}
.group-dialog .group-text-link{background:none;border:0;color:var(--gold);margin-top:5px;font-size:16px}
.group-code-input{text-transform:uppercase;letter-spacing:.12em}
@media(max-width:760px){
  .group-launch{gap:16px;margin-bottom:16px}
  .group-launch button{font-size:17px}
  .group-panel{padding:15px 13px;margin-bottom:16px}
  .group-heading{gap:12px}
  .group-room-actions{gap:8px}
  .group-panel button,.group-panel a{font-size:16px}
  #group-code{font-size:30px}
  .group-heading>div:first-child{flex:1}
  #group-roster li{gap:10px}
  .group-dialog{padding:20px 18px}
  .sim-popout #carry-game.group-waiting{display:block;height:auto;min-height:0}
  .sim-popout #carry-game.group-mode{height:auto;min-height:100%}
  .sim-popout #carry-game.group-mode .sim-grid{flex:none;grid-template-rows:auto auto}
  .sim-popout #carry-game.group-mode .sim-card-performance .sim-chart{flex:none;aspect-ratio:560/360}
}
@media(max-width:760px){
  #carry-game.group-playing .group-panel{padding:12px 13px;margin-bottom:14px}
  #carry-game.group-playing .group-heading{flex-wrap:nowrap;gap:10px}
  #carry-game.group-playing .group-code-label,#carry-game.group-playing #group-copy{display:none}
  #carry-game.group-playing #group-code{font-size:23px;letter-spacing:.1em}
  #carry-game.group-playing #group-leave{min-height:36px;font-size:15px;padding:6px 10px}
  #carry-game.group-playing #group-status{font-size:15px;margin-top:8px}
  #carry-game.group-playing .group-roster-wrap{margin-top:8px}
  #carry-game.group-playing .group-roster-wrap>summary{padding:8px 0;font-size:15px}
}
