/* Appearance controls layered onto the upstream lobby and room. */
.appearance-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(86px,1fr)); gap:8px; max-height:55vh; overflow:auto; margin-top:12px; }
.appearance-grid button { color:inherit; background:#13211d; border:1px solid #52655c; padding:5px; cursor:pointer; }
.appearance-grid button[aria-pressed="true"] { border-color:#43dfb1; outline:1px solid #43dfb1; }
.appearance-grid button:focus-visible { outline:2px solid #43dfb1; outline-offset:2px; }
.appearance-grid img { display:block; width:100%; aspect-ratio:1; object-fit:contain; }
.appearance-grid span { display:block; font-size:12px; }
.seat__art { position:relative; }
.seat__portrait { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.seat__art:has(.seat__portrait) > .avatar { position:relative; align-self:end; transform:scale(.65); transform-origin:bottom center; }
.seat__appearance { position:absolute; right:4px; top:4px; display:flex; flex-direction:column; gap:4px; z-index:2; }
.lobby-screen .topbar__tools { flex-wrap:wrap; }
.lo-skins { display:grid; grid-template-columns:repeat(auto-fit,minmax(135px,1fr)); gap:6px; }
.lo-skin { min-width:0; }
.music-tabs { display:flex; gap:8px; }
.music-tabs button { flex:1; padding:12px; font:inherit; color:var(--text-hi); background:#15241e; border:1px solid var(--line-2); cursor:pointer; }
.music-tabs button[aria-selected="true"] { color:#08251c; background:var(--mint-500); }
.music-tabs button:focus-visible { outline:2px solid var(--mint-400); outline-offset:2px; }
.music-tabs button:disabled { opacity:.5; cursor:wait; }
.rseat__avatar-picker { grid-row:1 / 3; padding:0; border:0; background:none; cursor:pointer; justify-self:start; }
.rseat__avatar-picker:focus-visible { outline:2px solid var(--mint-400); outline-offset:3px; }
.rseat--empty > .rseat__kick { position:static; order:4; margin-top:8px; justify-content:center; border-radius:0; background:#15201c; color:inherit; border-color:#384b43; }
.rs .rseat__kick { z-index:2; }
.lobby-hub .hub-side .tips { display:block; }
.rseat .cardpick__img img { position:static; inset:auto; width:100%; height:100%; object-fit:contain; }
.lobby-hub .hub-side { gap:14px; }
@media (max-width:900px) { .lobby-screen .topbar__tools { max-width:48vw; } }
@media (prefers-reduced-motion:reduce) { .loadout-screen, .loadout-screen * { animation-duration:0s !important; transition-duration:0s !important; } }
