:root {
  font-size: 16px;
  --header-scale: 1.2;
  --header-h: calc(5.1rem * var(--header-scale));

  --board-size: min(41.67vw, 66.8vh);
}

* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  background: #05060a;
  color: #fff;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
}


.site-header,
.site-header * {
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
}

.site-header {
  z-index: 500;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(var(--header-scale) * 18.9px) calc(var(--header-scale) * 19px);
  min-height: calc(var(--header-scale) * 81px);
}

.ui-ellipse {
  position: fixed;
  box-sizing: border-box;
  border-radius: 50%;
  pointer-events: none;
}

.ui-ellipse--nav {
  width: min(44.7vw, 71.5vh);
  height: min(44.7vw, 71.5vh);
  left: 50%;
  transform: translateX(-50%);
  top: -50vh;
  background: #39484C;
  opacity: .6;
  border: 0.76vh solid #059EFD;
  filter: blur(120px);
  z-index: 1;
}

.ui-ellipse--warm {
  width: min(71vw, 113.8vh);
  height: min(71vw, 113.8vh);
  left: 14.5vw;
  top: 43.3vh;
  background: #EF3124;
  opacity: 0.4;
  border-radius: 50%;
  border: calc(min(71vw, 113.8vh) * 0.167) solid #EF3124;
  filter: blur(275.685px);
  z-index: -1;
}

.ui-ellipse--left {
  width: min(86vw, 137.7vh);
  height: min(86vw, 137.7vh);
  left: -60vw;
  top: 50vh;
  background: #505759;
  opacity: 0.3;
  border-radius: 50%;
  border: calc(min(86vw, 137.7vh) * 0.0123) solid #EF3124;
  filter: blur(165.993px);
  z-index: -2;
}

.ui-ellipse--right {
  width: calc(var(--board-size) * 1.7);
  height: calc(var(--board-size) * 1.7);
  left: 70vw;
  top: 88vh;
  background: #EF3124;
  opacity: 1;
  border-radius: 805px;
  border: calc(var(--board-size) * 0.285) solid #EF3124;
  filter: blur(275.685px);
  z-index: -1;
}

.site-header__logo {
  flex-shrink: 0;
}

.site-header__logo img {
  display: block;
  width: calc(var(--header-scale) * 92.945px);
  height: calc(var(--header-scale) * 44.111px);
  flex-shrink: 0;
}

.site-header__nav {
  position: absolute;
  top: calc(var(--header-scale) * 18.9px);
  left: 50%;
  transform: translateX(-50%);
  height: calc(var(--header-scale) * 44.11px);
  display: block;
  z-index: 2;
}

.nav-group {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--header-scale) * 22px);
  white-space: nowrap;
  height: 100%;
  padding: calc(var(--header-scale) * 3.151px);
  border-radius: calc(var(--header-scale) * 78.767px);
  background: rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(1.575px);
  -webkit-backdrop-filter: blur(1.575px);
  opacity: .7;

  height: calc(var(--header-scale) * 48px);
}

.nav-option {
  display: flex;
  align-items: center;
  gap: calc(var(--header-scale) * 6px);
  padding: 0 calc(var(--header-scale) * 22px);
  color: #fff;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: calc(var(--header-scale) * 10.5px);
  line-height: calc(var(--header-scale) * 14px);
  font-weight: 400;
  text-decoration: none;
  height: 100%;
  border-radius: calc(var(--header-scale) * 78.77px);
  transition: background 0.2s ease;
}

.nav-option--active {
  background: rgba(239, 49, 36, 1);

  gap: calc(var(--header-scale) * 6.3px);
}

.nav-option__icon img {
  display: block;
  width: calc(var(--header-scale) * 18px);
  height: calc(var(--header-scale) * 18px);
}

.mobile-nav {
  display: none;
}

.site-header__meta {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto auto;

  align-items: center;
  column-gap: calc(var(--header-scale) * 63px);

  margin-left: auto;
}

.site-header__profile {
  display: flex;
  align-items: center;
  gap: calc(var(--header-scale) * 12px);
}

.site-header__avatar {
  width: calc(var(--header-scale) * 44px);
  height: calc(var(--header-scale) * 44px);
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.site-header__stats {
  display: grid;
  grid-auto-flow: column;
  column-gap: calc(var(--header-scale) * 41px);

  align-items: center;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: calc(var(--header-scale) * 10.5px);
  line-height: calc(var(--header-scale) * 14px);
  font-weight: 400;
}

.stat-value {
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: calc(var(--header-scale) * 8px);
}

.stat-icon {
  width: calc(var(--header-scale) * 20px);
  height: calc(var(--header-scale) * 20px);
  display: block;
}

.site-header__user {
  display: grid;
  grid-template-rows: auto auto;

  row-gap: calc(var(--header-scale) * 4px);
  align-items: center;
  display: grid;
  grid-template-rows: auto auto;

  row-gap: calc(var(--header-scale) * 4px);
  margin-right: calc(var(--header-scale) * 19px);

}



.user-name {
  color: #fff;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: calc(var(--header-scale) * 12.2px);
  line-height: calc(var(--header-scale) * 16px);

  font-weight: 500;
}

.user-rank {
  color: #fff;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: calc(var(--header-scale) * 10.4px);
  line-height: calc(var(--header-scale) * 14px);
  font-weight: 400;
  opacity: .5;
}


@media (min-width: 1440px) {
  .nav-option {
    font-size: calc(var(--header-scale) * 11.4px);
    line-height: calc(var(--header-scale) * 15px);
  }

  .site-header__stats {
    font-size: calc(var(--header-scale) * 11.4px);
    line-height: calc(var(--header-scale) * 15px);
  }

  .user-name {
    font-size: calc(var(--header-scale) * 13.3px);
    line-height: calc(var(--header-scale) * 17px);
  }

  .user-rank {
    font-size: calc(var(--header-scale) * 11.3px);
    line-height: calc(var(--header-scale) * 15px);
  }
}

.page {
  padding: 6vh 1.5rem 4vh;
  display: grid;
  grid-template-columns: 25vw 1fr 25vw;

  column-gap: 5vw;
}

.left-col {
  --column-gap: clamp(0.6rem, calc(0.02 * var(--board-size)), 1rem);
  display: flex;
  flex-direction: column;
  gap: var(--column-gap);
  height: var(--board-size);
}


.panel {
  border-radius: 9.452px;
  border: 0.788px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.16);
}

.panel--compact {
  display: flex;
  width: 100%;
  justify-self: stretch;
  padding: 1.09rem 2.18rem;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.2rem;
  flex-shrink: 0;
}


.panel__tabs {
  display: flex;
  gap: 1.58px;
  width: 100%;
}

.panel__tab {
  height: 2.2rem;
  padding: 3.15px 6px;
  border-radius: 6.3px;
  border: none;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.5);
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 18.9px;
  cursor: pointer;
  transition: all 0.2s ease;
  flex: 0 0 auto;
}

.panel__tab:first-child {
  flex: 0 0 62%;
}

.panel__tab:last-child {
  flex: 1;
}

.panel__tab--active {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.panel__tab:hover:not(.panel__tab--active) {
  background: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.7);
}


.panel__score {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.score-names {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex-shrink: 0;
}

.score-player__name {
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  line-height: 21px;
  height: 25px;
  display: flex;
  align-items: center;
}

.score-columns {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.score-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 2rem;
  height: 64px;
  padding: 6px 6.3px;
  border-radius: 10.3px;
  background: rgba(255, 255, 255, 0.04);
}

.score-column--active {
  border-radius: 10.3px;
  border: 1.575px solid #FF1B1B;
  background: rgba(255, 27, 27, 0.12);
}

.score-digit {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.score-digit--empty {
  color: #fff;
}

.panel--tall {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding: 1.18rem;
  flex: 1;
  gap: 1rem;
}


.chat__heading {
  color: #FFF;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: clamp(0.95rem, calc(0.065 * var(--board-size)), 1.2rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  text-transform: uppercase;
}

.chat__messages {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(0.35rem, calc(0.025 * var(--board-size)), 0.5rem);
  align-self: stretch;
  flex: 1;
  overflow-y: auto;
}

.chat__message {
  display: flex;
  padding: clamp(0.5rem, calc(0.037 * var(--board-size)), 0.7rem) clamp(0.8rem, calc(0.062 * var(--board-size)), 1.1rem);
  justify-content: center;
  align-items: center;
  gap: clamp(0.4rem, calc(0.03 * var(--board-size)), 0.6rem);
  max-width: 80%;
}

.chat__message--opponent {
  border-radius: clamp(0.35rem, calc(0.025 * var(--board-size)), 0.5rem) clamp(1rem, calc(0.075 * var(--board-size)), 1.3rem) clamp(1rem, calc(0.075 * var(--board-size)), 1.3rem) clamp(1rem, calc(0.075 * var(--board-size)), 1.3rem);
  background: rgba(0, 0, 0, 0.48);
  align-self: flex-start;
}

.chat__message--player {
  border-radius: clamp(1rem, calc(0.075 * var(--board-size)), 1.3rem) clamp(1rem, calc(0.075 * var(--board-size)), 1.3rem) clamp(0.35rem, calc(0.025 * var(--board-size)), 0.5rem) clamp(1rem, calc(0.075 * var(--board-size)), 1.3rem);
  background: rgba(255, 255, 255, 0.08);
  align-self: flex-end;
}

.chat__message-text {
  color: #FFF;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: clamp(0.75rem, calc(0.055 * var(--board-size)), 0.95rem);
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}

.chat__input-row {
  display: flex;
  align-items: center;
  gap: clamp(0.4rem, calc(0.025 * var(--board-size)), 0.6rem);
  width: 100%;
}

.chat__input-wrap {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
  flex: 1;
}

.chat__input {
  flex: 1;
  padding: clamp(0.6rem, calc(0.04 * var(--board-size)), 0.9rem) clamp(2.5rem, calc(0.1 * var(--board-size)), 3rem) clamp(0.6rem, calc(0.04 * var(--board-size)), 0.9rem) clamp(0.8rem, calc(0.05 * var(--board-size)), 1.2rem);
  border-radius: clamp(0.45rem, calc(0.03 * var(--board-size)), 0.65rem);
  border: none;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: clamp(0.7rem, calc(0.048 * var(--board-size)), 0.9rem);
  outline: none;
}

.chat__input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

.chat__input:focus {
  background: rgba(0, 0, 0, 0.4);
}

.chat__send {
  position: absolute;
  right: clamp(0.4rem, calc(0.025 * var(--board-size)), 0.6rem);
  width: clamp(1.6rem, calc(0.065 * var(--board-size)), 2rem);
  height: clamp(1.6rem, calc(0.065 * var(--board-size)), 2rem);
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.chat__send img {
  width: 100%;
  height: 100%;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.chat__send:hover img {
  opacity: 1;
}

.chat__emoji {
  display: flex;
  height: 100%;
  padding: clamp(0.35rem, calc(0.025 * var(--board-size)), 0.5rem);
  align-items: center;
  justify-content: center;
  gap: clamp(0.35rem, calc(0.025 * var(--board-size)), 0.5rem);
  border-radius: clamp(0.45rem, calc(0.03 * var(--board-size)), 0.65rem);
  background: rgba(0, 0, 0, 0.24);
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  aspect-ratio: 1;
}

.chat__emoji img {
  width: clamp(1.2rem, calc(0.055 * var(--board-size)), 1.5rem);
  height: clamp(1.2rem, calc(0.055 * var(--board-size)), 1.5rem);
  opacity: 0.7;
  transition: opacity 0.2s;
}

.chat__emoji:hover img {
  opacity: 1;
}


@media (max-width: 1199px) and (min-width: 768px) {
  .page {
    grid-template-columns: 25vw 1fr 25vw;
    column-gap: 5vw;
  }

  .right-col {
    height: min(50vw, 62vh);
  }
}

@media (max-width: 767px) {
  :root {
    --header-scale: 1;
  }

  .site-header {
    padding: 1rem 1rem;
    min-height: auto;
    /* display: none; */
  }

  .site-header__logo {
    display: none;
  }

  .site-header__nav {
    display: none;
  }

  .site-header__meta {
    width: 100%;
    grid-template-columns: auto 1fr;
    column-gap: 0.75rem;
    justify-content: space-between;
  }

  .site-header__profile {
    order: -1;
    gap: 0.75rem;
  }

  .site-header__avatar {
    width: 2.75rem;
    height: 2.75rem;
  }

  .site-header__user {
    row-gap: 0.25rem;
    margin-right: 0;
  }

  .user-name {
    font-size: 0.875rem;
    line-height: 1.2;
  }

  .user-rank {
    font-size: 0.75rem;
    line-height: 1.2;
  }

  .site-header__stats {
    column-gap: 1.5rem;
    font-size: 0.875rem;
    line-height: 1.2;
    justify-self: end;
  }

  .stat-icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .page {
    grid-template-columns: 1fr;
    row-gap: 1rem;
    padding: 1rem 1rem 7rem;
  }

  .left-col {
    min-height: auto;
  }

  .panel--compact {
    height: 18vh;
  }

  .panel--tall {
    height: 48vh;
  }

  .right-col {
    height: auto;
  }

  .turn-pill {
    margin-top: 0;
  }

  .mobile-nav {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(env(safe-area-inset-bottom) + clamp(0.5rem, 2.5vh, 1rem));
    z-index: 1000;

    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
    justify-items: center;
    gap: clamp(0.6rem, 2.6vw, 1rem);

    width: 90%;
    margin: 0;
    height: clamp(4.5rem, 7vh, 5.25rem);
    padding: clamp(0.55rem, 1.8vh, 0.8rem) clamp(0.75rem, 3vw, 1rem);

    border-radius: 62.5rem;
    background: rgba(0, 0, 0, 1);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    overflow: hidden;
    /* display: none; */
  }

  .mobile-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;

    height: 100%;
    width: 100%;
    min-width: 0;
    text-align: center;

    text-decoration: none;
    color: rgba(255, 255, 255, 0.6);
    font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
    font-size: clamp(0.6rem, 2.5vw, 0.7rem);
    font-weight: 400;
    line-height: 1.2;

    transition: color 0.2s ease;
  }

  .mobile-nav__item--active {
    color: #EF3124;
  }

  .mobile-nav__icon {
    width: clamp(1.6rem, 8vw, 2.2rem);
    height: clamp(1.6rem, 8vw, 2.2rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .mobile-nav__icon img {
    width: 100%;
    height: 100%;
    display: block;
    filter: brightness(0) invert(1) opacity(0.6);
    transition: filter 0.2s ease;
  }

  .mobile-nav__item--active .mobile-nav__icon img {
    filter: brightness(0) saturate(100%) invert(29%) sepia(97%) saturate(3089%) hue-rotate(349deg) brightness(98%) contrast(92%);
  }

  .mobile-nav__label {
    display: none;
  }
}


.board-area {
  display: flex;
  align-items: center;
  justify-content: center;
}

.board-wrap {
  position: relative;
  width: var(--board-size);
  height: var(--board-size);
}

.board {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;

  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 1fr);
  --cell-size: calc(var(--board-size) / 100);
  border-radius: 0.36rem;

  border: 0.27rem solid #000;

  overflow: hidden;
}

.board-letters {
  position: absolute;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0;
  color: #fff;
  text-transform: uppercase;
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: calc(var(--header-scale) * 10.5px);
  line-height: calc(var(--header-scale) * 14px);
  pointer-events: none;
  opacity: 0.7;
}

.board-letters span {
  flex: 1 0 0;
  text-align: center;
  font-size: inherit;
}

.board-letters--top {
  top: 0;
  transform: translateY(-160%);
}

.board-letters--bottom {
  bottom: 0;
  transform: translateY(160%);
}

.board-numbers {
  position: absolute;
  top: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  color: rgba(255, 255, 255, 0.7);
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: calc(var(--header-scale) * 10.5px);
  line-height: calc(var(--header-scale) * 14px);
  pointer-events: none;
  opacity: 0.7;
}

.board-numbers span {
  flex: 1 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: inherit;
}

.board-numbers--left {
  left: 0;
  transform: translateX(-160%);
}

.board-numbers--right {
  right: 0;
  transform: translateX(160%);
}

.sq {
  position: relative;
}

.piece {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(var(--cell-size) * 10.92);
  max-width: 100%;
  height: auto;
  pointer-events: none;
  z-index: 1;
}

.sq {
  background: rgba(255, 255, 255, 0.24);
}

.sq:nth-child(16n+2),
.sq:nth-child(16n+4),
.sq:nth-child(16n+6),
.sq:nth-child(16n+8),
.sq:nth-child(16n+9),
.sq:nth-child(16n+11),
.sq:nth-child(16n+13),
.sq:nth-child(16n+15) {
  background: rgba(255, 255, 255, 0.48);
}

.sq--active {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.48)),
    linear-gradient(0deg, rgba(239, 49, 36, 0.32), rgba(239, 49, 36, 0.32)) !important;
}

.sq--threatened {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.48)),
    linear-gradient(0deg, rgba(239, 49, 36, 0.2), rgba(239, 49, 36, 0.2)) !important;
}

.piece--threatened {
  opacity: 0.6;
}

.sq--path {
  position: relative;
  overflow: hidden;
}

.sq--path::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(-45deg, transparent, transparent calc(100% / 24), rgba(51, 30, 30, 0.8) calc(100% / 24), rgba(51, 30, 30, 0.8) calc(100% / 14));
  pointer-events: none;
}




.page-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2vh;
  display: grid;
  grid-template-columns: 25vw 1fr 25vw;
  align-items: center;
  column-gap: 5vw;
  padding: 3vh 0.5vw 0;
  font-family: 'Unbounded', sans-serif;
}

.page-footer> :first-child {
  justify-self: start;
}

.footer-center {
  justify-self: center;
}

.footer-actions {
  justify-self: end;
}

.footer-btn,
.footer-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.49rem;
  border-radius: 4.92rem;
  border: none;
  background: rgba(255, 255, 255, 0.10);
  color: #fff;
  font-family: 'Unbounded', sans-serif;
  font-weight: 500;
  font-size: calc(var(--header-scale) * 10.5px);
  line-height: calc(var(--header-scale) * 14px);
  letter-spacing: 0;
  padding: 0 1.4rem;
  height: 3.5rem;
}

.footer-btn--icon,
.footer-btn--settings {
  width: 3.5rem;
  height: 3.5rem;
  padding: 0;
  justify-content: center;
}

.footer-btn--settings {
  background: rgba(255, 255, 255, 0.10);
  border: none;
}

.footer-actions .footer-btn:not(.footer-btn--settings) {
  background: #000;
}

.footer-center {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.79rem;
  max-width: var(--board-size);
  width: 100%;
}

.footer-pill {
  padding: 0 1.4rem;
  gap: 0.39rem;
}

.footer-btn img,
.footer-pill__icon img {
  width: calc(var(--header-scale) * 18px);
  height: calc(var(--header-scale) * 18px);
  display: block;
}

.footer-pill__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.footer-pill--ghost {
  padding: 0 1.4rem;
  background: rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(1.6px);
  -webkit-backdrop-filter: blur(1.6px);
}

.footer-actions {
  display: flex;
  align-items: center;
  gap: 0.79rem;
}

.footer-actions .footer-btn:not(.footer-btn--settings) {
  padding: 0 1.4rem;
}

@media (max-width: 1199px) and (min-width: 768px) {
  .page {
    --board-size: min(48vw, 64vh);
  }

  .left-col,
  .right-col {
    height: var(--board-size);
  }

  .page-footer {
    bottom: 2vh;
    padding: 3vh 0.5vw 0;
  }

  .footer-center {
    width: auto;
    max-width: min(60vw, var(--board-size));
  }
}

@media (max-width: 767px) {
  .page {
    --board-size: min(88vw, 68vh);
  }

  .left-col,
  .right-col {
    height: auto;
  }

  .panel--compact,
  .panel--tall {
    min-height: auto;
    flex: none;
  }

  .rpanel--mid,
  .pill-card {
    min-height: auto;
    flex: none;
  }

  .pill-card--current {
    margin-top: 0;
  }

  .body-page-match .page-footer {
    padding: 10px !important;
    margin: 10px 10px 10px 10px !important;
    grid-template-columns: 1fr 1fr !important;
    grid-auto-flow: row !important;
  }

  .body-page-match .page {
    padding-bottom: 16px;
  }

  .body-page-match {
    padding-bottom: 100px;
    height: auto;
  }

  .body-page-match .panel--tall {
    display: block !important;
    width: calc(100vw - 10px);
    overflow-y: auto;
    overflow-x: hidden;
    margin: -11px;
  }

  .body-page-match .page-footer .footer-pill, .body-page-match .page-footer .footer-btn {
    width: 154px !important;
  }

  .pill-card__content {
    scale: 0.8;
    margin-left: -10px;
  }

  .page-footer {
    position: static;
    grid-template-columns: 1fr;
    row-gap: 1rem;
    padding: 3vh 1.2rem 8vh;
    justify-items: center;
  }

  .page-footer> :first-child,
  .footer-center,
  .footer-actions {
    justify-self: center;
  }

  .footer-center {
    flex-wrap: wrap;
    width: auto;
  }

  .footer-actions {
    flex-wrap: wrap;
    justify-content: center;
  }


}


.right-col {
  --column-gap: clamp(0.6rem, calc(0.02 * var(--board-size)), 1rem);
  display: flex;
  flex-direction: column;
  gap: var(--column-gap);
  align-self: start;
  height: var(--board-size);
}

.rpanel {
  width: 100%;
  border-radius: 16.452px;
  border: 0.788px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.16);
}

.rpanel--mid {
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.045 * var(--board-size), 1rem);
  padding: clamp(0.9rem, calc(0.085 * var(--board-size)), 1.4rem);
  flex: 1 1 auto;
}

.rpanel__header {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
}

.rpanel__heading {
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-weight: 700;
  font-size: 1.13rem;
  line-height: 1.2;
  text-transform: uppercase;
  color: #fff;
}

.rpanel__heading--left {
  text-align: left;
}

.rpanel__heading--center {
  text-align: center;
}

.rpanel__heading--right {
  text-align: right;
}

.rpanel__rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(0.4rem, 0.03 * var(--board-size), 0.7rem);
}

.rpanel__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
}

.rpanel__cell {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.4rem, 0.028 * var(--board-size), 0.65rem);
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-weight: 400;
  font-size: 0.83rem;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.7);
}

.rpanel__cell--white {
  justify-content: flex-start;
  text-align: left;
}

.rpanel__cell--move {
  justify-content: center;
  text-align: center;
  color: rgba(255, 255, 255, 0.7);
}

.rpanel__cell--black {
  justify-content: flex-end;
  text-align: right;
}

.rpanel__icon {
  width: clamp(1.2rem, 0.085 * var(--board-size), 1.6rem);
  display: flex;
  justify-content: center;
  align-items: center;
}

.rpanel__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.rpanel__caption {
  display: inline-block;
}

.pill-card {
  --pill-border-color: transparent;
  --pill-border-width: 0;
  --pill-background: rgba(0, 0, 0, 0.16);
  --pill-text-color: #fff;
  --pill-badge-bg: #FF1B1B;
  --pill-badge-text: #fff;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: clamp(3.5rem, 5vw, 5rem);
  padding: clamp(0.6rem, calc(0.05 * var(--board-size)), 0.9rem) clamp(0.9rem, calc(0.08 * var(--board-size)), 1.4rem) clamp(0.6rem, calc(0.05 * var(--board-size)), 0.9rem) clamp(0.5rem, calc(0.04 * var(--board-size)), 0.8rem);
  border-radius: 90px;
  border: var(--pill-border-width) solid var(--pill-border-color);
  background: var(--pill-background);
  color: var(--pill-text-color);
  flex: 0 0 auto;
}

.pill-card--current {
  --pill-border-color: #FF1B1B;
  --pill-border-width: 2.36px;
  --pill-background: rgba(0, 0, 0, 0.16);
  --pill-badge-bg: #FF1B1B;
  --pill-badge-text: #fff;
  margin-top: clamp(1.4rem, calc(0.11 * var(--board-size)), 3rem);
}

.pill-card--opponent {
  --pill-border-color: transparent;
  --pill-border-width: 0;
  --pill-background: rgba(0, 0, 0, 0.16);
  --pill-text-color: rgba(255, 255, 255, 0.85);
  --pill-badge-bg: rgba(255, 255, 255, 0.25);
  --pill-badge-text: rgba(0, 0, 0, 0.0);
}

.pill-card__badge {
  display: flex;
  align-items: flex-end;
  gap: clamp(0.2rem, calc(0.018 * var(--board-size)), 0.5rem);
  padding: clamp(0.32rem, calc(0.03 * var(--board-size)), 0.52rem) clamp(1.1rem, calc(0.1 * var(--board-size)), 1.6rem) 0 clamp(1.1rem, calc(0.1 * var(--board-size)), 1.6rem);
  border-radius: 30px 30px 0 0;
  background: var(--pill-badge-bg);
  color: var(--pill-badge-text);
  font-family: 'Unbounded', sans-serif;
  font-weight: 700;
  font-size: calc(var(--header-scale) * 12.2px);
  line-height: calc(var(--header-scale) * 16px);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  position: absolute;
  top: 2px;
  left: 50%;
  transform: translate(-50%, calc(-110% + 0px));
  white-space: nowrap;
  pointer-events: none;
}



.pill-card--opponent .pill-card__badge {
  display: none;
}

.pill-card__badge-text {
  display: inline-block;
}

.pill-card__badge-side {
  width: clamp(0.9rem, calc(0.075 * var(--board-size)), 1.3rem);
  aspect-ratio: 1 / 1;
  background: var(--pill-badge-bg);
  mask: url('svg/your_turn.svg') no-repeat center / contain;
  -webkit-mask: url('svg/your_turn.svg') no-repeat center / contain;
  flex-shrink: 0;
}

.pill-card__badge-side--right {
  transform: scaleX(-1);
}

.pill-card__content {
  display: flex;
  align-items: center;
  gap: clamp(0.4rem, calc(0.03 * var(--board-size)), 0.7rem);
  width: 100%;
}

.pill-card__avatar {
  width: clamp(2.2rem, calc(0.09 * var(--board-size)), 3rem);
  height: clamp(2.2rem, calc(0.09 * var(--board-size)), 3rem);
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2.36px solid rgba(205, 205, 205, 1);
}

.pill-card__info {
  display: flex;
  flex-direction: column;
  gap: clamp(0.2rem, calc(0.018 * var(--board-size)), 0.4rem);
  flex-shrink: 1;
}

.pill-card__name {
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: clamp(0.85rem, calc(0.055 * var(--board-size)), 1.1rem);
  line-height: 1.2;
  font-weight: 500;
  color: #fff;
}

.pill-card__rank {
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: clamp(0.7rem, calc(0.045 * var(--board-size)), 0.95rem);
  line-height: 1.2;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
}

.pill-card__pieces {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: clamp(0.15rem, calc(0.015 * var(--board-size)), 0.3rem);

  margin-left: auto;
  flex-shrink: 0;
}

.pill-card__pieces img {
  width: clamp(1rem, calc(0.055 * var(--board-size)), 1.5rem);
  height: clamp(1rem, calc(0.055 * var(--board-size)), 1.5rem);
  display: block;
  object-fit: contain;
}

.pill-card__timer {
  font-family: 'Unbounded', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: clamp(1.1rem, calc(0.085 * var(--board-size)), 1.6rem);
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
  margin-left: 0.9rem;
}


@media (min-width: 768px) and (max-width: 1440px) {
  .site-header__nav {
    margin-top: 55px;
  }

  .body-page-match .page-footer {
    bottom: 5vh;
    left: 1rem;
    right: 5rem;
  }

  .body-page-match .page {
    /*scale: 0.8;*/
    /*margin-left: -90px;*/
    padding: 6vh 2.5rem 4vh 0;
    grid-template-columns: 25vw 1fr 30vw;
    column-gap: 3vw;
  }

  .body-page-match {
    --board-size: 32vw;
  }

  .body-page-match .left-col {
    scale: 0.8;
    width: 110%;
    overflow: auto;
  }

  .body-page-match .right-col {
    scale: 0.8;
    width: 110%;
  }

  .site-header {
    padding-bottom: 50px;
  }

  .tournaments-page {
    margin-top: 40px;
  }

  .pill-card__timer {
    font-size: 16px;
  }
}

@media (max-width: 374px) {
  .body-page-match .page-footer {
    margin-left: 0px !important;
    padding: 10px 0 !important;
  }

}