/* End-of-game camps: fixed role colours, explicit winner label, visible names. */
.winner-panel > .seal { width: 56px; height: 56px; margin-bottom: .7rem; }
.winner-panel > .seal .icon { width: 28px; height: 28px; }
.winner-panel .winner-title { margin-block: .35rem .65rem; }
.winner-camps-caption { margin: .75rem 0 .4rem; color: #805d46; font-size: .8125rem; }
.winner-camps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-bottom: .75rem; }
.winner-camps--stacked { grid-template-columns: minmax(0, 1fr); }
.winner-camp {
  min-width: 0; padding: .65rem .7rem; border: 1px solid #c89967; border-radius: 8px;
  background: #ecd3b0; color: #613b25; text-align: left;
}
.winner-camp--strange { background: #714127; color: #fff0d7; border-color: #976545; }
.winner-camp-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .3rem .5rem; }
.winner-panel .winner-camp-title { margin: 0; color: inherit; font: 500 .875rem/1.3 var(--sans); }
.winner-badge {
  display: inline-flex; align-items: center; gap: .25rem; font-size: .75rem; line-height: 1.4;
  font-weight: 500; white-space: nowrap;
}
.winner-badge .icon { width: 14px; height: 14px; flex: 0 0 14px; }
.winner-camp-players { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: .5rem 0 0; padding: 0; }
.winner-camp .winner-chip {
  gap: .35rem; min-width: 0; max-width: 100%; padding: .2rem .5rem .2rem .2rem;
  background: #ffffff20; color: inherit; border-color: #81553b38; font-size: .875rem; line-height: 1.35;
}
.winner-camp--strange .winner-chip { border-color: #f2d4ae50; }
.winner-camp .winner-chip .avatar { width: 25px; height: 25px; font-size: .875rem; color: inherit; background: transparent; border-color: currentColor; }
.winner-player-name { min-width: 0; overflow-wrap: anywhere; }
.winner-panel .winner-camp-empty { margin: 0; color: inherit; font-size: .8125rem; }
.winner-camp.is-empty { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .3rem .65rem; }
@media (max-width: 360px) {
  .winner-camp { padding: .55rem; }
  .winner-camp .winner-chip .avatar { display: none; }
  .winner-camp .winner-chip { padding: .3rem .4rem; }
}
@media (orientation: landscape) and (max-height: 540px) {
  .winner-camps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin-bottom: .4rem; }
  .winner-camps-caption { margin-top: .4rem; }
  .winner-camp { padding: .4rem .55rem; }
}
