/* Hexagon on the big screen: the heading, the hexagon with its colour names, and the Out / Still in / Correct
   lists. The hexagon drawing itself (.gtf-hx, .gtf-hx__seg) is in 34_player_hexagon.css. */

/* A slimmer brand row than the other boards: the hexagon and the player lists need the height. */
.gtf-hxs-screen .gtf-screen__header {
  height: calc(64px * var(--gtf-m, 1));
}

.gtf-hxs-screen .gtf-screen__brand {
  zoom: 0.6;
}

.gtf-hxs-screen .gtf-screen__body {
  top: calc(68px * var(--gtf-m, 1));
}

.gtf-hxs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
}

.gtf-hxs__heading {
  margin: 0;
  font-size: 64px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-align: center;
  text-wrap: balance;
}

/* ---------- The hexagon ---------- */

.gtf-hxs-board {
  position: relative;
  flex: none;
  container-type: inline-size;
  width: min(760px, calc(var(--gtf-stage-h, 1080px) * 0.62));
  margin: 0 auto;
}

.gtf-hxs-label {
  position: absolute;
  font-size: 4.3cqw;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.gtf-hxs-centre {
  position: absolute;
  top: 50%;
  left: 50%;
  line-height: 1;
  text-align: center;
  transform: translate(-50%, -50%);
}

.gtf-hxs-centre__big {
  font-size: 12.5cqw;
  font-weight: 900;
  letter-spacing: -0.01em;

  &.is-word {
    font-size: 10cqw;
  }
}

.gtf-hxs-centre__small {
  margin-top: 1.2cqw;
  font-size: 4.8cqw;
  color: var(--gtf-text-2);
}

/* ---------- Out / Still in / Correct ---------- */

.gtf-hxs-cols {
  display: grid;
  flex: 1;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1.4fr);
  gap: 20px;
  min-height: 200px;
}

.gtf-hxs-col {
  --col: var(--gtf-text-2);

  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 16px 20px 20px;
  border: 3px solid var(--col);
  border-radius: 12px;
  background: var(--gtf-surface-1);

  &.gtf-hxs-col--out {
    --col: #E0443A;
  }

  &.gtf-hxs-col--correct {
    --col: #43A047;
  }
}

.gtf-hxs-col__title {
  margin: 0 0 10px;
  font-size: 36px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
  color: var(--col);
}

.gtf-hxs-col__count {
  font-family: var(--gtf-mono);
  font-size: 26px;
  font-weight: 500;
}

/* The sizes (--hx-*) are set per list by the hexagon-fit controller: the fewer players in a list, the bigger they
   are drawn, the way the lobby does it. The fallbacks are the size used before it has run. */
.gtf-hxs-col__list {
  display: grid;
  flex: 1;
  grid-template-columns: repeat(auto-fill, minmax(var(--hx-cell, 108px), 1fr));
  gap: var(--hx-gap, 10px) 8px;
  align-content: start;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
}

.gtf-hxs-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-align: center;
}

.gtf-hxs-chip .avatar-component {
  width: var(--hx-av, 56px);
  height: var(--hx-av, 56px);
  flex-basis: var(--hx-av, 56px);
}

.gtf-hxs-chip .avatar-component__initials {
  font-size: calc(var(--hx-av, 56px) * 0.36);
}

.gtf-hxs-chip__name {
  max-width: 100%;
  overflow: hidden;
  font-size: var(--hx-font, 21px);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gtf-hxs-chip__sub {
  font-size: calc(var(--hx-font, 21px) * 0.85);
  color: var(--gtf-text-2);
}

/* Too many to read names: just the avatars. */
.gtf-hxs-col.is-compact .gtf-hxs-chip__name,
.gtf-hxs-col.is-compact .gtf-hxs-chip__sub {
  display: none;
}

.gtf-hxs-col__more {
  margin: 12px 0 0;
  font-size: 20px;
  text-align: center;
  color: var(--gtf-text-2);
}
