/* Compact broadcast cards, with personal colors beside each nickname. */
body.reviewing #review #teamRoster .roster-player.broadcast {
  --team-accent:#79bbef; --card-tint:#284e6dcc;
  display:grid; grid-template-columns:minmax(40px,1fr) minmax(0,1.5fr);
  grid-template-rows:27px 22px 18px 23px; gap:0 6px;
  height:auto; min-height:0; padding:6px; margin-bottom:5px; border:1px solid #ffffff24;
  border-left:3px solid var(--team-accent); border-radius:3px;
  background:linear-gradient(90deg,var(--card-tint),#101923ed);
  color:#f4f7fb; font-variant-numeric:tabular-nums;
}
body.reviewing #review #teamRoster .roster-player.broadcast.t { --team-accent:#edca70; --card-tint:#736238cc; }
body.reviewing #review #teamRoster .roster-player.broadcast.selected { outline:2px solid #fff; outline-offset:-2px; }
body.reviewing #review #teamRoster .roster-player.broadcast:focus-visible { outline:2px solid #fff; }
body.reviewing #review #teamRoster .roster-player.broadcast.dead { opacity:.65; filter:grayscale(1); }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-hp { grid-area:1/1; margin:0; color:#fff; font:600 26px/27px system-ui; letter-spacing:-1px; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-player-head { grid-area:1/2; display:flex; justify-content:flex-end; gap:5px; text-align:right; min-width:0; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-player-name { display:block; flex:0 1 auto; min-width:0; width:auto; font-size:12px; font-weight:600; line-height:14px; text-transform:uppercase; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-role { margin:1px 0 0; font-size:8px; font-weight:500; color:#c3cfda; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-score { grid-area:2/2; text-align:right; align-self:center; font-size:12px; font-weight:500; white-space:nowrap; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-economy { grid-area:3/2; display:block; text-align:right; margin:0; font-size:11px; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-economy b { color:#d7ec9b; font-weight:500; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-weapon { grid-area:2/1/4/2; height:39px; min-height:0; margin:0; flex-wrap:wrap; gap:1px; align-content:center; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-weapon .equipment-item { flex:1 1 100%; width:100%; max-width:100%; height:19px; min-width:0; padding:0; border:0; background:none; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-weapon .equipment-icon { width:100%; max-width:100%; height:18px; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-gear { grid-area:4/1/5/3; height:23px; min-height:0; margin:0; gap:3px; align-self:end; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-passive { position:static; height:23px; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-utility { flex:0 1 auto; flex-wrap:nowrap; height:23px; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-gear .equipment-item { flex:0 1 24px; min-width:0; width:24px; height:21px; padding:2px; }
body.reviewing #review #teamRoster .roster-player.broadcast .roster-gear .equipment-icon { height:16px; }
@media(max-width:1100px) {
  body.reviewing #review #teamRoster .roster-player.broadcast { grid-template-columns:minmax(50px,1fr) minmax(0,1.7fr); }
  body.reviewing #review #teamRoster .roster-player.broadcast .roster-player-name { font-size:14px; }
}
@media(max-width:600px) {
  body.viewer-mobile #review #teamRoster { grid-template-columns:minmax(0,1fr); }
}
/* The 3D camera keeps its compact horizontal roster. */
body.reviewing #review .map-stage.is-3d #teamRoster .broadcast { grid-template-columns:32px minmax(0,1fr); grid-template-rows:26px 20px 17px 22px; gap:0 3px; padding:4px; margin:0; }
body.reviewing #review .map-stage.is-3d #teamRoster .broadcast .roster-player-head { grid-area:1/2; }
body.reviewing #review .map-stage.is-3d #teamRoster .broadcast .roster-player-name { font-size:10px; }
body.reviewing #review .map-stage.is-3d #teamRoster .broadcast .roster-hp { font-size:22px; }
body.reviewing #review .map-stage.is-3d #teamRoster .broadcast .roster-score { grid-area:2/2; font-size:10px; }
body.reviewing #review .map-stage.is-3d #teamRoster .broadcast .roster-economy { grid-area:3/2; font-size:10px; }
body.reviewing #review .map-stage.is-3d #teamRoster .broadcast .roster-weapon { grid-area:2/1; height:20px; }
body.reviewing #review .map-stage.is-3d #teamRoster .broadcast .roster-gear { grid-area:4/1/5/3; display:flex; overflow:hidden; }

body.reviewing #review #teamRoster .roster-player.broadcast .roster-dot { flex:0 0 7px; width:7px; height:18px; margin:0; border-radius:2px; }
