/* Random CT roles share one layout, including visitor avatars and long names. */
.intro-squad-card > img { display: block; width: 100%; height: 144px; object-fit: contain; object-position: center bottom; }
.intro-squad-card .ct-actor-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.intro-squad-card[data-ct-actor="player"] > img { object-fit: cover; object-position: center; }
.kill-feed { max-width: calc(100% - 24px); gap: 7px; }
.kill-feed > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kill-feed > b { flex-shrink: 0; }
.intro-lower > div { min-width: 0; }
.intro-lower .intro-clock { flex-shrink: 0; }
.intro-friend p, .friend-reaction p { overflow-wrap: anywhere; }
.friend-dead > img { filter: grayscale(1); opacity: .55; }
.friend-dead { border-left-color: #87949b; }
.intro-command-portrait.is-dead { filter: grayscale(1); opacity: .6; }
.intro-command-portrait img.profile-portrait { width: 44px; height: 44px; transform: none; object-fit: cover; }
.intro-callout > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.radio-dead .radio-avatar { position: relative; }
.radio-dead .radio-avatar::after { content: "阵亡"; position: absolute; right: 0; bottom: 0; padding: 1px 3px; background: #1a232bec; color: #b7c3ca; font: 9px/1.3 var(--sans); border: 1px solid #82939c70; }
@media (max-width: 760px) {
  body:has(.intro-screen) .site-footer { display: none; }
  .intro-screen .intro-arena { height: 290px; min-height: 290px; }
  .intro-screen .intro-ct { width: 116px; height: 167px; bottom: 105px; right: 15px; }
  .intro-squad-card > img, .intro-squad-card img.profile-portrait { height: 98px; }
  .intro-squad-card > span { padding-top: 4px; font-size: 12px; }
  .intro-lower h2 { font-size: clamp(17px, 4.5vw, 22px); line-height: 1.4; }
  .intro-lower { margin: 12px 0 10px; }
  .intro-screen .intro-callout { bottom: 10px; left: 10px; right: 10px; padding-block: 10px; }
  .intro-screen .intro-callout p { font-size: 13px; line-height: 1.5; }
  .intro-friend:not([hidden]) { padding: 10px; gap: 9px; margin-bottom: 9px; }
  .intro-friend p { font-size: 13px; line-height: 1.5; }
  .intro-screen .intro-note { display: none; }
  .intro-screen .take-over { background: #283237; }
}
@media (max-width: 390px) {
  .intro-friend p { font-size: 12px; line-height: 1.5; }
}
@media (max-width: 760px) and (max-height: 650px) and (orientation: portrait) {
  .intro-screen .intro-arena { height: 240px; min-height: 240px; }
  .intro-screen .intro-ct { height: 128px; width: 104px; bottom: 98px; }
  .intro-squad-card > img, .intro-squad-card img.profile-portrait { height: 70px; }
  .intro-screen .intro-steps, .intro-screen .music-now { display: none; }
  .intro-screen .intro-progress { margin-bottom: 10px; }
}
@media (max-width: 960px) and (max-height: 500px) and (orientation: landscape) {
  body:has(.intro-screen) .site-footer { display: none; }
  .intro-screen { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; max-width: 760px; margin-block: 12px; }
  .intro-screen .match-ribbon { grid-column: 1 / -1; margin: 0; }
  .intro-screen .intro-arena { grid-column: 1; grid-row: 2 / span 5; height: 250px; min-height: 250px; }
  .intro-screen .intro-ct { width: 102px; height: 149px; right: 12px; bottom: 88px; }
  .intro-screen .intro-squad-card > img { height: 84px; }
  .intro-screen .intro-squad-card > span { font-size: 11px; padding-top: 3px; }
  .intro-screen .intro-squad-card small { font-size: 10px; }
  .intro-screen .intro-callout { inset: auto 8px 8px; padding: 8px; }
  .intro-arena[data-step="2"] .intro-callout, .intro-arena.handoff .intro-callout { padding-left: 53px; }
  .intro-screen .intro-callout p { font-size: 12px; line-height: 1.4; }
  .intro-screen .intro-callout > span { margin-bottom: 3px; }
  .intro-screen .intro-command-portrait { left: 4px; top: 8px; }
  .intro-screen .intro-lower, .intro-screen .intro-progress, .intro-screen .intro-friend, .intro-screen .music-now, .intro-screen .take-over { grid-column: 2; margin: 0; }
  .intro-screen .intro-lower { align-self: start; align-items: flex-start; }
  .intro-screen .intro-lower h2 { font-size: 17px; line-height: 1.35; }
  .intro-screen .intro-clock { font-size: 24px; }
  .intro-screen .intro-steps, .intro-screen .intro-note { display: none; }
  .intro-screen .intro-friend { padding: 8px; gap: 8px; }
  .intro-screen .intro-friend > img { width: 38px; height: 38px; }
  .intro-screen .intro-friend span { font-size: 12px; }
  .intro-screen .intro-friend p { font-size: 12px; line-height: 1.4; }
  .intro-screen .take-over { position: static; min-height: 46px; padding-block: 10px; }
  .intro-screen .kill-feed { right: 7px; top: 8px; max-width: calc(100% - 14px); gap: 5px; }
}
