:root {
  --bg: #0b0809;
  --panel: #151012;
  --panel2: #1d1416;
  --ink: #fff4e5;
  --muted: #bda8a4;
  --red: #ef334f;
  --salmon: #ff8068;
  --cream: #ffd2a6;
  --line: #3c282b;
  --max: 1240px
}

.client-timezone-pending [data-map-updated-local] {
  visibility: hidden;
}


.site-fonts-loading .map-detail-title,
.site-fonts-loading .player-profile-identity-fit,
.site-fonts-loading [data-map-fit-identity] {
  visibility: hidden;
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, Arial, sans-serif;
  overflow-x: hidden
}

a {
  color: inherit;
  text-decoration: none
}

img {
  max-width: 100%;
  display: block
}

.track-grid {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(90deg, transparent 49.8%, rgba(255, 128, 104, .035) 50%, transparent 50.2%), linear-gradient(rgba(255, 255, 255, .015) 1px, transparent 1px);
  background-size: 170px 100%, 100% 44px;
  mask-image: linear-gradient(to bottom, #000, transparent 65%)
}

.container {
  width: min(var(--max), calc(100% - 40px));
  margin-inline: auto
}

.site-header {
  height: 84px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 max(20px, calc((100vw - var(--max))/2));
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(11, 8, 9, .92);
  backdrop-filter: blur(16px)
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-right: auto
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  background: var(--red);
  clip-path: polygon(50% 0, 96% 22%, 91% 78%, 50% 100%, 9% 78%, 4% 22%);
  font: 900 18px 'Barlow Condensed'
}

.brand strong,
.brand small {
  display: block;
  font-family: 'Barlow Condensed';
  letter-spacing: .08em
}

.brand strong {
  font-size: 20px
}

.brand small {
  color: var(--salmon);
  font-size: 12px
}

.main-nav {
  display: flex;
  gap: 24px
}

.main-nav a {
  font: 700 15px 'Barlow Condensed';
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted)
}

.main-nav a:hover,
.main-nav a.active {
  color: var(--ink)
}

.nav-toggle {
  display: none
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  background: linear-gradient(135deg, var(--red), #ff654f);
  color: #fff;
  font: 800 17px 'Barlow Condensed';
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 0;
  clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
  cursor: pointer
}

.button:hover {
  filter: brightness(1.12);
  transform: translateY(-1px)
}

.button-small {
  min-height: 42px;
  padding: 0 18px;
  font-size: 15px
}

.button-ghost {
  background: transparent;
  outline: 1px solid var(--line);
  outline-offset: -1px
}

.hero {
  min-height: 720px;
  width: min(1440px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  padding: 60px max(20px, calc((100% - var(--max))/2));
  position: relative
}

.hero:before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(239, 51, 79, .2), transparent 68%);
  left: -250px;
  top: 40px
}

.eyebrow {
  font: 800 14px 'Barlow Condensed';
  letter-spacing: .18em;
  color: var(--salmon);
  text-transform: uppercase
}

.eyebrow i {
  display: inline-block;
  width: 25px;
  height: 3px;
  background: var(--red);
  margin-right: 10px;
  vertical-align: middle
}

.hero h1,
.page-hero h1,
.player-hero h1 {
  font: 900 clamp(72px, 10vw, 150px)/.72 'Barlow Condensed';
  letter-spacing: .01em;
  margin: 28px 0 20px;
  text-transform: uppercase
}

.hero h1 span {
  display: block;
  color: transparent;
  -webkit-text-stroke: 2px var(--cream);
  font-size: .52em;
  letter-spacing: .02em
}

.season-stamp {
  display: inline-block;
  transform: rotate(-2deg);
  padding: 7px 15px;
  border: 2px solid var(--red);
  color: var(--red);
  font: 900 24px 'Barlow Condensed';
  letter-spacing: .12em;
  margin-bottom: 22px
}

.hero-copy p {
  font-size: 19px;
  line-height: 1.7;
  color: var(--muted);
  max-width: 610px
}

.hero-actions {
  display: flex;
  gap: 12px;
  margin-top: 30px
}

.mini-links {
  display: flex;
  gap: 24px;
  margin-top: 25px;
  color: var(--cream);
  font: 700 14px 'Barlow Condensed';
  letter-spacing: .08em;
  text-transform: uppercase
}

.hero-art {
  position: relative;
  min-height: 610px;
  display: grid;
  place-items: center
}

.hero-art img {
  position: relative;
  z-index: 2;
  width: min(800px, 115%);
  filter: drop-shadow(0 30px 45px #000)
}

.checkpoint-ring {
  position: absolute;
  width: 510px;
  height: 510px;
  border: 26px dashed rgba(255, 210, 166, .12);
  border-radius: 50%;
  animation: spin 45s linear infinite
}

@keyframes spin {
  to {
    transform: rotate(360deg)
  }
}

.hero-tag {
  position: absolute;
  z-index: 3;
  background: var(--cream);
  color: #211416;
  padding: 7px 12px;
  font: 900 15px 'Barlow Condensed';
  letter-spacing: .12em;
  box-shadow: 6px 6px 0 var(--red)
}

.tag-a {
  top: 15%;
  left: 4%;
  transform: rotate(-5deg)
}

.tag-b {
  right: 2%;
  top: 34%;
  transform: rotate(5deg)
}

.tag-c {
  bottom: 13%;
  left: 12%;
  transform: rotate(2deg)
}

.notice {
  padding: 18px 22px;
  background: #35171d;
  border-left: 4px solid var(--red);
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 20px 0
}

.notice span {
  color: var(--muted)
}

.stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  background: var(--panel);
  margin-bottom: 120px
}

.stats-strip div {
  padding: 30px 36px;
  border-right: 1px solid var(--line)
}

.stats-strip div:last-child {
  border: 0
}

.stats-strip strong {
  display: block;
  font: 900 48px 'Barlow Condensed';
  color: var(--cream)
}

.stats-strip span {
  text-transform: uppercase;
  color: var(--muted);
  font: 700 13px 'Barlow Condensed';
  letter-spacing: .15em
}

.split-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  margin-bottom: 140px
}

.section-copy h2,
.section-heading h2,
.prize-section h2,
.social-section h2 {
  font: 900 clamp(42px, 5vw, 72px)/.95 'Barlow Condensed';
  text-transform: uppercase;
  margin: 18px 0 26px
}

.section-copy p,
.prize-section p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.8
}

.text-link {
  color: var(--cream);
  font-weight: 700;
  border-bottom: 1px solid var(--red);
  padding-bottom: 4px
}

.feature-stack {
  border-top: 1px solid var(--line)
}

.feature-stack article {
  display: flex;
  gap: 26px;
  padding: 28px 0;
  border-bottom: 1px solid var(--line)
}

.feature-stack b {
  font: 900 36px 'Barlow Condensed';
  color: var(--red)
}

.feature-stack h3 {
  font: 800 25px 'Barlow Condensed';
  text-transform: uppercase;
  margin: 0 0 8px
}

.feature-stack p {
  color: var(--muted);
  margin: 0
}

.media-section {
  margin-bottom: 130px
}

.section-heading {
  margin-bottom: 30px
}

.video-shell {
  aspect-ratio: 16/9;
  border: 1px solid var(--line);
  padding: 10px;
  background: var(--panel);
  box-shadow: 18px 18px 0 #250f14
}

.video-shell iframe {
  width: 100%;
  height: 100%;
  border: 0
}

.prize-section {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  padding: 65px;
  background: linear-gradient(135deg, #251014, #140e10);
  border: 1px solid #5a2730;
  margin-bottom: 130px;
  position: relative;
  overflow: hidden
}

.prize-section:after {
  content: '$';
  position: absolute;
  right: 20%;
  top: -100px;
  font: 900 300px 'Barlow Condensed';
  color: rgba(255, 255, 255, .03)
}

.prize-section>div {
  max-width: 760px
}

.prize-section h2 em {
  color: var(--salmon);
  font-style: normal
}

.row {
  display: flex;
  align-items: end;
  justify-content: space-between
}

.board-preview {
  margin-bottom: 130px
}

.table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  background: var(--panel)
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px
}

th {
  text-align: left;
  padding: 17px 20px;
  background: #211619;
  color: var(--muted);
  font: 700 12px 'Barlow Condensed';
  letter-spacing: .14em;
  text-transform: uppercase
}

td {
  padding: 18px 20px;
  border-top: 1px solid var(--line);
  color: #ddd
}

tr:hover td {
  background: #1a1214
}

.rank {
  font: 900 21px 'Barlow Condensed';
  color: var(--salmon)
}

.player-cell {
  display: flex;
  align-items: center;
  gap: 12px
}

.player-cell img,
.stat-row img {
  width: 30px;
  height: 20px;
  object-fit: cover;
  border: 1px solid #5c4643
}

.player-cell strong {
  font-size: 15px;
  color: var(--ink)
}

.player-cell small {
  display: block;
  color: var(--muted);
  margin-top: 4px
}

.social-section {
  margin-bottom: 120px
}

.social-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px
}

.social-grid a {
  padding: 30px;
  border: 1px solid var(--line);
  background: var(--panel);
  transition: .2s
}

.social-grid a:hover {
  border-color: var(--red);
  transform: translateY(-4px)
}

.social-grid strong {
  display: block;
  font: 900 31px 'Barlow Condensed';
  text-transform: uppercase
}

.social-grid span {
  color: var(--muted);
  font-size: 13px
}

.site-footer {
  border-top: 1px solid var(--line);
  padding: 46px max(20px, calc((100vw - var(--max))/2));
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 25px;
  align-items: center;
  background: #080607
}

.site-footer strong,
.site-footer span {
  display: block;
  font-family: 'Barlow Condensed'
}

.site-footer span,
.site-footer p {
  color: var(--muted);
  font-size: 12px
}

.footer-links {
  display: flex;
  gap: 24px;
  font: 700 14px 'Barlow Condensed';
  text-transform: uppercase
}

.site-footer p {
  grid-column: 1/-1;
  margin: 0
}

.page-hero {
  padding-top: 100px;
  padding-bottom: 70px
}

.page-hero h1,
.player-hero h1 {
  font-size: clamp(68px, 10vw, 130px);
  margin-bottom: 28px
}

.page-hero p {
  max-width: 750px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7
}

.filter-bar {
  display: flex;
  gap: 10px;
  margin-bottom: 20px
}

.filter-bar input {
  flex: 1;
  max-width: 520px;
  background: var(--panel);
  border: 1px solid var(--line);
  padding: 0 18px;
  color: #fff;
  font: 16px Inter
}

.leaderboard-table {
  margin-bottom: 25px
}

.leaderboard-table td strong span,
.profile-score span {
  color: var(--muted);
  font-size: .7em
}

.progress {
  width: 110px;
  height: 4px;
  background: #3a292c;
  margin-top: 8px
}

.progress i {
  display: block;
  height: 100%;
  background: var(--red)
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 100px
}

.pagination a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: var(--panel);
  border: 1px solid var(--line)
}

.pagination a.active {
  background: var(--red)
}

.empty {
  text-align: center;
  color: var(--muted);
  padding: 50px
}

.map-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 100px
}

.map-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 360px;
  background: var(--panel);
  border: 1px solid var(--line);
  overflow: hidden;
  transition: transform .2s, border-color .2s, box-shadow .2s
}

.map-card:hover {
  transform: translateY(-5px);
  border-color: var(--red);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .28)
}

.map-thumbnail {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #0f0b0c;
  border-bottom: 1px solid var(--line)
}

.map-thumbnail:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(11, 8, 9, .78), transparent 55%);
  pointer-events: none
}

.map-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s, filter .3s
}

.map-card:hover .map-thumbnail img {
  transform: scale(1.035);
  filter: brightness(1.06)
}

.map-no {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  height: 42px;
  padding: 0 12px;
  background: rgba(11, 8, 9, .9);
  border: 1px solid rgba(255, 210, 166, .28);
  color: var(--salmon);
  font: 900 28px 'Barlow Condensed';
  letter-spacing: .03em;
  backdrop-filter: blur(8px)
}

.map-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px 24px 24px
}

.map-card h2 {
  font: 800 25px/1.05 'Barlow Condensed';
  text-transform: uppercase;
  margin: 0
}

.map-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: auto 0 0;
  padding-top: 22px
}

.map-card dl div {
  min-width: 0
}

.map-card dt {
  font-size: 10px;
  color: var(--muted);
  text-transform: uppercase;
  white-space: nowrap
}

.map-card dd {
  font: 700 16px 'Barlow Condensed';
  margin: 4px 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.map-thumbnail-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--muted);
  font: 800 14px 'Barlow Condensed';
  letter-spacing: .1em;
  text-transform: uppercase
}

.inline-stats {
  display: flex;
  gap: 30px;
  flex-wrap: wrap
}

.inline-stats span {
  color: var(--muted)
}

.inline-stats b {
  color: var(--cream)
}

.player-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 100px
}

.player-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 18px;
  background: var(--panel);
  border: 1px solid var(--line)
}

.player-card:hover {
  border-color: var(--red)
}

.avatar {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  background: #2b1b1e;
  font: 900 17px 'Barlow Condensed';
  overflow: hidden
}

.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.player-card h2 {
  font: 800 20px 'Barlow Condensed';
  margin: 0
}

.player-card span {
  font-size: 12px;
  color: var(--muted)
}

.player-card>strong {
  font: 900 30px 'Barlow Condensed';
  color: var(--salmon)
}

.player-card small {
  font-size: 14px;
  color: var(--muted)
}

.player-hero {
  padding-top: 60px;
  padding-bottom: 55px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 30px;
}

.player-hero-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
  gap: 30px;
}

.player-hero-info {
  min-width: 0;
}

.big-flag {
  height: 0;
  min-height: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.big-flag img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.player-hero h1 {
  font-size: clamp(54px, 8vw, 100px);
  margin: 12px 0
}

.player-hero p {
  color: var(--muted)
}

.profile-score {
  text-align: right
}

.profile-score strong {
  display: block;
  font: 900 72px 'Barlow Condensed';
  color: var(--salmon)
}

.profile-score small {
  text-transform: uppercase;
  color: var(--muted)
}

.profile-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 25px
}

.profile-stats div {
  padding: 24px;
  background: var(--panel);
  border: 1px solid var(--line)
}

.profile-stats span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase
}

.profile-stats strong {
  display: block;
  font: 800 30px 'Barlow Condensed';
  margin-top: 7px
}

.dashboard {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 100px
}

.dashboard article {
  padding: 30px;
  background: var(--panel);
  border: 1px solid var(--line)
}

.stat-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--line)
}

.stat-row>b {
  color: var(--salmon)
}

.activity-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 100px
}

.activity-grid a {
  display: flex;
  flex-direction: column;
  padding: 18px;
  background: var(--panel);
  border: 1px solid var(--line)
}

.activity-grid a:hover {
  border-color: var(--red)
}

.activity-grid b {
  color: var(--salmon);
  font-family: 'Barlow Condensed'
}

.activity-grid strong {
  margin: 12px 0 5px
}

.activity-grid span {
  color: var(--muted)
}

.faq-layout {
  display: grid;
  grid-template-columns: 270px 1fr;
  gap: 55px;
  margin-bottom: 120px
}

.faq-layout aside {
  height: max-content;
  position: sticky;
  top: 110px;
  padding: 28px;
  background: var(--red);
  color: #fff
}

.faq-layout aside strong,
.faq-layout aside span {
  display: block;
  font-family: 'Barlow Condensed'
}

.faq-layout aside strong {
  font-size: 33px
}

.faq-layout aside span {
  margin: 8px 0 22px
}

.faq-layout aside .button {
  background: #0b0809;
  width: 100%
}

.faq-list details {
  border-top: 1px solid var(--line);
  padding: 24px 0
}

.faq-list details:last-child {
  border-bottom: 1px solid var(--line)
}

.faq-list summary {
  cursor: pointer;
  font: 800 30px 'Barlow Condensed';
  text-transform: uppercase;
  list-style: none;
  padding-right: 40px;
  position: relative
}

.faq-list summary:after {
  content: '+';
  position: absolute;
  right: 0;
  color: var(--red)
}

.faq-list details[open] summary:after {
  content: '−'
}

.faq-list p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
  max-width: 800px
}

.faq-list .text-link {
  display: inline-block;
  margin-top: 8px
}

@media(max-width:980px) {
  .main-nav {
    display: none;
    position: absolute;
    top: 84px;
    left: 0;
    right: 0;
    padding: 24px;
    background: #110d0e;
    flex-direction: column
  }

  .main-nav.open {
    display: flex
  }

  .nav-toggle {
    display: block;
    background: none;
    border: 1px solid var(--line);
    color: #fff;
    padding: 10px
  }

  .site-header>.button {
    display: none
  }

  .hero {
    grid-template-columns: 1fr;
    padding-top: 70px
  }

  .hero-art {
    min-height: 500px
  }

  .split-section {
    grid-template-columns: 1fr;
    gap: 50px
  }

  .map-grid,
  .player-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .activity-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:680px) {
  .container {
    width: min(100% - 24px, var(--max))
  }

  .site-header {
    height: 70px;
    padding: 0 12px
  }

  .brand strong {
    font-size: 16px
  }

  .brand-mark {
    width: 40px;
    height: 40px
  }

  .main-nav {
    top: 70px
  }

  .hero {
    padding: 55px 12px 30px;
    min-height: auto
  }

  .hero h1 {
    font-size: 72px
  }

  .hero-copy p {
    font-size: 16px
  }

  .hero-actions {
    flex-direction: column
  }

  .mini-links {
    gap: 13px;
    flex-wrap: wrap
  }

  .hero-art {
    min-height: 390px
  }

  .hero-art img {
    width: 125%;
    max-width: none
  }

  .checkpoint-ring {
    width: 320px;
    height: 320px
  }

  .stats-strip {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 80px
  }

  .stats-strip div {
    padding: 22px
  }

  .stats-strip div:nth-child(2) {
    border-right: 0
  }

  .stats-strip div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line)
  }

  .split-section {
    margin-bottom: 80px
  }

  .prize-section {
    padding: 30px;
    display: block
  }

  .prize-section .button {
    margin-top: 20px
  }

  .social-grid,
  .map-grid,
  .player-grid,
  .dashboard {
    grid-template-columns: 1fr
  }

  .site-footer {
    grid-template-columns: 1fr
  }

  .footer-links {
    flex-wrap: wrap
  }

  .page-hero {
    padding-top: 65px
  }

  .page-hero h1 {
    font-size: 68px
  }

  .player-hero {
    grid-template-columns: 1fr;
    text-align: left
  }

  .player-hero-main {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .big-flag {
    width: 160px;
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 2
  }

  .profile-score {
    text-align: left
  }

  .profile-stats {
    grid-template-columns: 1fr
  }

  .activity-grid {
    grid-template-columns: 1fr 1fr
  }

  .faq-layout {
    grid-template-columns: 1fr
  }

  .faq-layout aside {
    position: static
  }

  .row {
    align-items: start;
    gap: 20px
  }

  .map-card {
    min-height: 0
  }
}

/* Season One refresh */
.brand-mascot {
  width: 54px;
  height: 54px;
  border-radius: 10px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #110d0e;
  border: 1px solid var(--line)
}

.brand-mascot img {
  width: 135%;
  max-width: none;
  transform: translateY(-1%)
}

.hero.container {
  width: min(var(--max), calc(100% - 40px));
  min-height: calc(100svh - 84px);
  padding: clamp(52px, 7vh, 90px) 0;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(30px, 5vw, 80px);
  overflow: visible
}

.hero-copy,
.hero-art {
  min-width: 0
}

.hero-art {
  min-height: 0;
  aspect-ratio: 1.12/1;
  align-self: center;
  isolation: isolate
}

.hero-art img {
  width: 100%;
  max-width: 760px;
  height: auto;
  object-fit: contain;
  z-index: 2
}

.checkpoint-ring {
  width: min(82%, 570px);
  height: min(82%, 570px);
  border-width: 22px;
  z-index: 0
}

.hero:after {
  content: '';
  position: absolute;
  right: 2%;
  bottom: 8%;
  width: 38%;
  height: 12px;
  background: repeating-linear-gradient(90deg, var(--red) 0 28px, transparent 28px 48px);
  opacity: .25;
  transform: skewX(-30deg);
  z-index: -1
}

.sort-link {
  display: inline-flex;
  align-items: center;
  color: inherit;
  white-space: nowrap
}

.sort-link:hover {
  color: var(--cream)
}

.trailer-only {
  padding-bottom: 40px
}

.trailer-youtube {
  display: inline-block;
  margin-top: 30px
}

.stats-strip-six {
  grid-template-columns: repeat(6, 1fr)
}

.stats-strip-six div {
  padding: 25px 22px
}

.stats-strip-six strong {
  font-size: 40px
}

.stats-dashboard {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.stats-dashboard .countries-panel {
  grid-column: 1/-1
}

.profile-stats {
  grid-template-columns: repeat(4, 1fr)
}

.medal-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 0 0 28px
}

.medal-summary div {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  align-items: center;
  gap: 13px;
  padding: 18px 20px;
  background: var(--panel);
  border: 1px solid var(--line)
}

.medal-summary img {
  width: 48px;
  height: 48px;
  object-fit: contain
}

.medal-summary span {
  color: var(--muted);
  font: 700 13px 'Barlow Condensed';
  text-transform: uppercase;
  letter-spacing: .1em
}

.medal-summary strong {
  font: 900 34px 'Barlow Condensed';
  color: var(--cream)
}

.medal-cell {
  display: inline-flex;
  align-items: center;
  gap: 9px
}

.medal-cell img {
  width: 34px;
  height: 34px;
  object-fit: contain
}

.medal-cell b {
  font-family: 'Barlow Condensed';
  text-transform: uppercase
}

.format-socials {
  display: grid;
  gap: 8px
}

.format-socials a {
  display: flex;
  justify-content: space-between;
  padding: 12px 14px;
  background: #0b0809;
  font: 800 14px 'Barlow Condensed';
  letter-spacing: .08em;
  text-transform: uppercase
}

.format-socials a:hover {
  background: #211619
}

@media(min-width:1600px) {
  :root {
    --max: 1380px
  }

  .hero.container {
    min-height: 820px;
    grid-template-columns: minmax(500px, .85fr) minmax(620px, 1.15fr)
  }

  .hero-art img {
    max-width: 820px
  }
}

@media(min-width:2200px) {
  :root {
    --max: 1540px
  }

  .hero.container {
    min-height: 900px;
    grid-template-columns: 600px minmax(720px, 1fr)
  }

  .hero h1 {
    font-size: 156px
  }

  .hero-art img {
    max-width: 920px
  }
}

@media(max-width:1180px) {
  .site-header {
    gap: 18px
  }

  .main-nav {
    gap: 16px
  }

  .main-nav a {
    font-size: 14px
  }

  .hero.container {
    grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr)
  }

  .stats-strip-six {
    grid-template-columns: repeat(3, 1fr)
  }

  .stats-strip-six div:nth-child(3) {
    border-right: 0
  }

  .stats-strip-six div:nth-child(-n+3) {
    border-bottom: 1px solid var(--line)
  }
}

@media(max-width:980px) {
  .hero.container {
    grid-template-columns: 1fr;
    padding-top: 60px;
    min-height: auto
  }

  .hero-copy {
    max-width: 720px
  }

  .hero-art {
    width: min(760px, 100%);
    margin-inline: auto;
    aspect-ratio: 1.25/1
  }

  .hero-art img {
    width: 100%;
    max-width: 720px
  }

  .checkpoint-ring {
    width: min(72vw, 530px);
    height: min(72vw, 530px)
  }

  .profile-stats,
  .medal-summary {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:680px) {
  .brand-mascot {
    width: 42px;
    height: 42px
  }

  .brand span:last-child small {
    font-size: 10px
  }

  .hero.container {
    width: min(100% - 24px, var(--max));
    padding: 45px 0 25px;
    gap: 20px
  }

  .hero h1 {
    font-size: clamp(62px, 21vw, 92px)
  }

  .hero-art {
    aspect-ratio: 1/1;
    min-height: 0
  }

  .hero-art img {
    width: 115%;
    max-width: none
  }

  .checkpoint-ring {
    width: 300px;
    height: 300px;
    border-width: 15px
  }

  .stats-strip-six {
    grid-template-columns: repeat(2, 1fr)
  }

  .stats-strip-six div:nth-child(3) {
    border-right: 1px solid var(--line)
  }

  .stats-strip-six div:nth-child(2n) {
    border-right: 0
  }

  .stats-strip-six div:nth-child(-n+4) {
    border-bottom: 1px solid var(--line)
  }

  .stats-dashboard,
  .profile-stats,
  .medal-summary {
    grid-template-columns: 1fr
  }

  .medal-summary div {
    grid-template-columns: 48px 1fr auto
  }
}

/* Season One polish v5 */
.faq-layout-full {
  grid-template-columns: 1fr
}

.faq-layout-full .faq-list {
  max-width: 980px
}

.stat-table-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  padding: 0 0 10px 50px;
  color: var(--muted);
  font: 700 11px 'Barlow Condensed';
  letter-spacing: .14em;
  text-transform: uppercase
}

.stats-strip-seven {
  grid-template-columns: repeat(7, 1fr)
}

.stats-strip-seven div {
  padding: 22px 16px
}

.stats-strip-seven strong {
  font-size: 36px
}

.stats-strip-seven span {
  font-size: 11px
}

@media(max-width:1180px) {
  .stats-strip-seven {
    grid-template-columns: repeat(4, 1fr)
  }

  .stats-strip-seven div:nth-child(4) {
    border-right: 0
  }

  .stats-strip-seven div:nth-child(-n+4) {
    border-bottom: 1px solid var(--line)
  }
}

@media(max-width:680px) {
  .stats-strip-seven {
    grid-template-columns: repeat(2, 1fr)
  }

  .stats-strip-seven div:nth-child(4) {
    border-right: 1px solid var(--line)
  }

  .stats-strip-seven div:nth-child(2n) {
    border-right: 0
  }

  .stats-strip-seven div:nth-child(-n+6) {
    border-bottom: 1px solid var(--line)
  }

  .stat-table-head {
    padding-left: 0
  }
}

.medal-cell {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  white-space: nowrap;
}

.medal-cell img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

/* Home hero with logo */
.hero.container {
  width: min(var(--max), calc(100% - 40px));
  min-height: calc(100svh - 84px);
  margin-inline: auto;
  padding: clamp(52px, 7vh, 90px) 0;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
  align-items: center;
  gap: clamp(30px, 5vw, 80px);
  overflow: visible;
}

.hero-copy,
.hero-art {
  min-width: 0;
}

.hero-art {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 0;
  aspect-ratio: 1.1/1;
}

.hero-art img {
  width: 100%;
  max-width: 820px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 30px 45px rgba(0, 0, 0, .75));
}

.checkpoint-ring {
  display: none;
}

.hero:after {
  content: '';
  position: absolute;
  right: 2%;
  bottom: 8%;
  width: 38%;
  height: 12px;
  background: repeating-linear-gradient(90deg,
      var(--red) 0 28px,
      transparent 28px 48px);
  opacity: .25;
  transform: skewX(-30deg);
  z-index: -1;
}

@media(min-width:1600px) {
  .hero.container {
    min-height: 820px;
    grid-template-columns: minmax(500px, .85fr) minmax(620px, 1.15fr);
  }

  .hero-art img {
    max-width: 880px;
  }
}

@media(min-width:2200px) {
  .hero.container {
    min-height: 900px;
    grid-template-columns: 600px minmax(720px, 1fr);
  }

  .hero-art img {
    max-width: 980px;
  }
}

@media(max-width:1180px) {
  .hero.container {
    grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr);
  }

  .hero-art img {
    max-width: 700px;
  }
}

@media(max-width:980px) {
  .hero.container {
    grid-template-columns: 1fr;
    padding-top: 60px;
    min-height: auto;
  }

  .hero-copy {
    max-width: 720px;
  }

  .hero-art {
    width: min(760px, 100%);
    margin-inline: auto;
    aspect-ratio: auto;
  }

  .hero-art img {
    width: 100%;
    max-width: 720px;
  }
}

@media(max-width:680px) {
  .hero.container {
    width: min(100% - 24px, var(--max));
    padding: 45px 0 30px;
    gap: 20px;
  }

  .hero-art {
    width: 100%;
  }

  .hero-art img {
    width: 115%;
    max-width: none;
  }
}

.section-divider td {
  padding: 14px 12px;
  background: #111;
  border-top: 2px solid #444;
  border-bottom: 2px solid #444;
}

.section-divider span {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #888;
  font-weight: 700;
}

/* Map leaderboard refresh status */
.map-update-status {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: .82rem;
  text-align: right;
}

.map-update-status span {
  display: inline-block;
  margin-right: 4px;
}

/* Map-card leaderboard metadata */
.map-thumbnail-fallback-hidden {
  display: none;
}

.map-card-info {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(145px, 42%);
  column-gap: 24px;
  margin-top: 22px;
}

.map-card-detail {
  min-width: 0;
}

.map-card-detail:nth-child(n + 3) {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.map-card-detail-label {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.map-record-holder,
.map-author-time-value {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.map-record-holder img {
  width: 25px;
  height: 17px;
  object-fit: cover;
  border: 1px solid #5c4643;
  flex: 0 0 auto;
}

.map-record-holder strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-author-time-value img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  flex: 0 0 auto;
}

.map-card-detail strong {
  color: var(--ink);
  font: 700 16px 'Barlow Condensed';
}

.map-card-updated {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  color: var(--muted);
  font-size: .75rem;
}

.map-card-updated span {
  color: var(--salmon);
  font-size: 1rem;
}

@media(max-width:680px) {
  .map-card-info {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }

  .map-card-detail:nth-child(n + 3) {
    margin-top: 0;
  }

  .map-card-detail:nth-child(3) {
    padding-top: 16px;
    border-top: 1px solid var(--line);
  }

  .map-card-detail:nth-child(4) {
    padding-top: 0;
    border-top: 0;
  }
}
/* Player profile compact additions */
.profile-score-compact > div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.profile-score-compact strong {
  line-height: 1;
}

.profile-score-compact small {
  margin-top: 7px;
  white-space: nowrap;
}

.profile-stats-compact {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.medal-summary-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.no-medal-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid #474747;
  border-radius: 50%;
  color: #777;
  font: 900 24px 'Barlow Condensed';
}

.strongest-section {
  margin: 22px 0 24px;
}

.section-heading {
  margin-bottom: 10px;
}

.section-heading h2 {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.2;
}

.strongest-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.strongest-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  min-height: 64px;
  padding: 10px 12px;
  border: 1px solid #292929;
  background: #131313;
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease;
}

.strongest-card:hover {
  transform: translateY(-2px);
  border-color: #555;
}

.strongest-card-title,
.strongest-card-meta {
  display: flex;
  align-items: center;
  min-width: 0;
}

.strongest-card-title {
  gap: 8px;
}

.strongest-card-title strong {
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strongest-card-meta {
  justify-content: space-between;
  gap: 10px;
  color: #ccc;
  font-size: .82rem;
}

.strongest-card-meta small {
  color: #888;
  font-size: .72rem;
  white-space: nowrap;
}

.strongest-rank {
  flex: 0 0 auto;
  width: max-content;
  padding: 3px 6px;
  border-radius: 999px;
  background: #252525;
  font-size: .72rem;
  font-weight: 800;
}

.strongest-rank.wr,
.result-badge.wr {
  background: #8b6a00;
  color: #ffe38a;
}

.strongest-rank.top3,
.result-badge.top3 {
  background: #34445c;
  color: #c9dcff;
}

.strongest-rank.top10,
.result-badge.top10 {
  background: #4f3822;
  color: #ffd3a8;
}

.profile-filter-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 14px;
}

.profile-filter-summary span {
  padding: 8px 12px;
  border: 1px solid #292929;
  background: #111;
  color: #888;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.profile-filter-summary strong {
  color: #fff;
}

.rank-result {
  margin-right: 7px;
}

.result-badge {
  display: inline-block;
  padding: 3px 6px;
  border-radius: 4px;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .04em;
}

@media (max-width: 1100px) {
  .medal-summary-five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1000px) {
  .strongest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-stats-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .medal-summary-five {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .strongest-grid {
    grid-template-columns: 1fr;
  }

  .profile-score-compact > div {
    align-items: flex-start;
  }
}

/* Player table filters */
.medal-summary .medal-filter {
  appearance: none;
  display: grid;
  grid-template-columns: 54px 1fr auto;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 18px 20px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}

.medal-summary .medal-filter:hover,
.medal-summary .medal-filter.is-active {
  background: #1b1b1b;
}

.medal-summary .medal-filter.is-active {
  outline: 1px solid #686868;
  outline-offset: -1px;
}

.profile-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 24px 0 14px;
}

.profile-filter-bar .profile-filter-summary {
  margin: 0;
}

.profile-filter-summary button {
  appearance: none;
  padding: 8px 12px;
  border: 1px solid #292929;
  background: #111;
  color: #888;
  font: inherit;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.profile-filter-summary button:hover {
  border-color: #555;
  color: #ddd;
}

.profile-filter-summary button.is-active {
  border-color: #777;
  background: #252525;
  color: #fff;
}

.profile-filter-summary button strong {
  color: #fff;
}

.profile-filter-count {
  flex: 0 0 auto;
  color: #777;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.player-map-row[hidden],
.section-divider[hidden] {
  display: none;
}

@media (max-width: 900px) {
  .profile-filter-bar {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* Player profile polish */
.medal-filter-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 24px 0 10px;
}

.medal-filter-heading span {
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.medal-filter-heading small {
  color: #888;
  font-size: .78rem;
}

.medal-summary .medal-filter {
  position: relative;
}

.medal-summary .medal-filter::after {
  content: 'FILTER';
  position: absolute;
  right: 10px;
  bottom: 7px;
  color: #666;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.medal-summary .medal-filter:hover::after,
.medal-summary .medal-filter.is-active::after {
  color: #aaa;
}

.player-profile-content {
  padding-bottom: 56px;
}

@media (max-width: 760px) {
  .profile-stats-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .medal-filter-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}


.last-finished-stat strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.last-finished-stat small {
  display: block;
  margin-top: 3px;
  color: #777;
  font-size: .72rem;
}

.strongest-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.strongest-time img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

/* Recent improvements */
.medal-summary-five {
  margin-top: 24px;
}


.recent-improvement-card .strongest-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.improvement-type {
  flex: 0 0 auto;
  padding: 3px 7px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  color: #aaa;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1;
  text-transform: uppercase;
}

.improvement-type.first-finish {
  border-color: rgba(113, 215, 146, .36);
  background: rgba(113, 215, 146, .10);
  color: #93e6ad;
}

.improvement-type.improved {
  border-color: rgba(111, 169, 255, .32);
  background: rgba(111, 169, 255, .09);
  color: #9fc4ff;
}

.recent-improvement-card .strongest-card-title strong {
  white-space: nowrap;
  text-overflow: ellipsis;
}

.recent-improvement-card .strongest-card-meta {
  justify-content: space-between;
  gap: 8px;
  color: #ccc;
  font: 400 .82rem/normal Inter, Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
}

.recent-improvement-card .strongest-time {
  color: inherit;
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
}

.recent-improvement-card .strongest-card-meta small {
  flex: 0 0 auto;
  margin-top: 0;
  color: #888;
  font: 400 .72rem/normal Inter, Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
}

.recent-improvement-card .recent-improvement-rank {
  color: #aaa;
  font: 700 .78rem/normal Inter, Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
}

@media (max-width: 620px) {
  .recent-improvement-card .strongest-card-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
}

/* Active filter summary inside player table section dividers */
.section-divider-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-width: 0;
}

.section-divider-filter-state {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.section-divider-medals {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.section-divider-medals img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

/*
 * Compact “No Medal” icon used in the divider and the table.
 * It is intentionally separate from .no-medal-icon, whose working
 * 48px filter-card appearance remains untouched.
 */
.section-no-medal-icon,
.compact-no-medal-icon {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  box-sizing: border-box;
  border: 1px solid #666;
  border-radius: 50%;
  color: transparent;
  font-size: 0;
  line-height: 0;
  vertical-align: middle;
}

.section-no-medal-icon::after,
.compact-no-medal-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11px;
  height: 2px;
  border-radius: 999px;
  background: #aaa;
  transform: translate(-50%, -50%);
}

/* Player table JavaScript sorting and empty state */
button.sort-link {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

button.sort-link.is-active {
  color: #fff;
}

.player-filter-empty td {
  padding: 34px 20px;
  color: #888;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.player-filter-empty[hidden] {
  display: none;
}


.section-divider-count {
  white-space: nowrap;
}
/* Player profile share card */
.player-hero-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px
}

[data-share-player].is-generating {
  opacity: .65;
  pointer-events: none
}

@media (max-width: 700px) {
  .player-hero-actions {
    justify-content: flex-start
  }
}

/* Trackmania formatted text */
.tm-text-segment{
  display:inline-block;
  white-space:pre;
  vertical-align:baseline;
}

.tm-text-wide{
  transform:scaleX(1.14);
  transform-origin:left center;
}

.tm-text-narrow{
  transform:scaleX(.86);
  transform-origin:left center;
}

.last-finished-stat strong{white-space:nowrap;}
.last-finished-stat .tm-text-segment{
    display:inline;
    font-size:inherit;
    line-height:inherit;
    text-transform:none;
}

/* Player card preview page */
.player-card-page {
  width: 100%;
  min-height: 100%;
  color: var(--ink)
}

.player-card-shell {
  width: min(1480px, calc(100% - 32px));
  margin: 0 auto;
  padding: 32px 0 48px
}

.player-card-preview {
  padding: clamp(22px, 3vw, 38px);
  background: linear-gradient(145deg, rgba(29, 20, 22, .98), rgba(14, 10, 11, .98));
  border: 1px solid var(--line);
  box-shadow: 18px 18px 0 rgba(37, 15, 20, .72)
}

.player-card-preview-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 18px
}

.player-card-preview-kicker {
  margin: 0 0 8px;
  color: var(--salmon);
  font: 800 13px 'Barlow Condensed';
  letter-spacing: .16em;
  text-transform: uppercase
}

.player-card-preview h1 {
  margin: 0;
  font: 900 clamp(40px, 6vw, 70px)/.9 'Barlow Condensed';
  letter-spacing: -.025em;
  text-transform: uppercase
}

.player-card-preview-copy {
  max-width: 690px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6
}

.player-card-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px
}

.player-card-status-slot {
  position: relative;
  min-height: 32px;
  margin-bottom: 12px
}

.player-card-action-status {
  position: absolute;
  inset: 0 auto auto 0;
  margin: 0;
  color: #93e6ad;
  font-size: 13px;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease
}

.player-card-action-status.is-visible {
  opacity: 1;
  transform: translateY(0)
}

.player-card-action-status.is-error {
  color: var(--salmon)
}

.player-card-output {
  min-height: 240px;
  display: grid;
  place-items: center;
  padding: clamp(12px, 2vw, 24px) 0;
  overflow: visible;
  background: transparent;
  border: 0
}

.player-card-canvas {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .45), 0 40px 90px rgba(0, 0, 0, .35)
}

.player-card-message {
  padding: 64px 0;
  text-align: center
}

@media(max-width:900px) {
  .player-card-preview-header {
    align-items: flex-start;
    flex-direction: column
  }

  .player-card-toolbar-actions {
    justify-content: flex-start
  }
}

@media(max-width:560px) {
  .player-card-shell {
    width: min(100% - 20px, 1480px);
    padding: 10px 0 28px
  }

  .player-card-preview {
    padding: 18px;
    box-shadow: none
  }

  .player-card-toolbar-actions,
  .player-card-toolbar-actions .button {
    width: 100%
  }

  .player-card-output {
    padding: 6px 0
  }
}

/* Player profile stat-card hover */
@media (hover: hover) and (pointer: fine) {
  .profile-stats > div {
    transition:
      transform .2s ease,
      border-color .2s ease,
      box-shadow .2s ease;
  }

  .profile-stats > div:hover {
    transform: translateY(-3px);
    border-color: rgba(239, 51, 79, .72);
    box-shadow:
      0 12px 28px rgba(0, 0, 0, .28),
      0 0 22px rgba(239, 51, 79, .14);
  }
}
/* Map detail page */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0
}

.map-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
  align-items: center;
  gap: clamp(38px, 6vw, 90px);
  padding-top: 72px;
  padding-bottom: 54px
}

.map-detail-hero-copy { min-width: 0 }

.map-detail-title {
  margin: 14px 0 32px;
  font-size: clamp(54px, 7.5vw, 105px);
  line-height: .88;
  overflow-wrap: anywhere
}

.map-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px
}

.map-overview-card,
.map-target-card,
.map-stat-card {
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(31, 21, 24, .96), rgba(18, 13, 14, .98))
}

.map-overview-card {
  padding: 20px 22px;
  position: relative;
  overflow: hidden
}

.map-overview-card:after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: var(--red)
}

.map-overview-card span,
.map-target-card span,
.map-stat-heading span {
  color: var(--muted);
  font: 700 11px 'Barlow Condensed';
  letter-spacing: .12em;
  text-transform: uppercase
}

.map-overview-card strong {
  display: block;
  margin-top: 8px;
  font: 900 clamp(27px, 3vw, 39px) 'Barlow Condensed'
}

.map-detail-art {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #100c0d;
  box-shadow: 22px 22px 0 rgba(50, 19, 25, .58)
}

.map-detail-art:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 42%, rgba(10, 7, 8, .72)), linear-gradient(to top, rgba(10, 7, 8, .72), transparent 55%);
  pointer-events: none
}

.map-detail-art img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.map-detail-art-fallback {
  display: grid;
  place-items: center;
  height: 100%;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .1em
}

.map-detail-number {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 17px;
  font: 900 clamp(34px, 5vw, 70px) 'Barlow Condensed';
  color: rgba(255, 244, 229, .92)
}

.map-detail-content { padding-bottom: 100px }

.map-target-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px
}

.map-target-card {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 18px
}

.map-target-card img { flex: 0 0 auto; object-fit: contain }
.map-target-card div { min-width: 0 }
.map-target-card strong {
  display: block;
  margin-top: 4px;
  font: 900 24px 'Barlow Condensed'
}

.map-stat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 36px
}

.map-stat-card {
  position: relative;
  min-width: 0;
  padding: 18px;
  overflow: hidden
}

.map-stat-heading {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 30px
}

.map-stat-heading img { object-fit: contain }
.map-stat-card > strong {
  display: block;
  margin-top: 13px;
  font: 900 29px 'Barlow Condensed'
}
.map-stat-card small {
  display: block;
  min-height: 30px;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35
}
.map-stat-card > i {
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--map-stat-progress);
  height: 3px;
  background: var(--salmon)
}
.map-no-medal-mark {
  position: relative;
  width: 30px;
  height: 30px;
  border: 1px solid #665155;
  border-radius: 50%
}
.map-no-medal-mark:after {
  content: '';
  position: absolute;
  left: 7px;
  right: 7px;
  top: 13px;
  height: 2px;
  background: var(--muted)
}
.map-stat-card-slowest { grid-column: span 1 }

.map-leaderboard {
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--panel)
}

.map-podium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 14px;
  padding: 28px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 50% 0, rgba(239, 51, 79, .14), transparent 42%), #100c0d
}

.map-podium-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  padding: 26px 18px 22px;
  border: 1px solid var(--line);
  background: linear-gradient(160deg, #211619, #120d0e);
  text-align: center
}

.map-podium-card-1 {
  order: 2;
  min-height: 260px;
  border-color: #886d2e;
  transform: translateY(-12px)
}
.map-podium-card-2 { order: 1; min-height: 232px }
.map-podium-card-3 { order: 3; min-height: 220px }

.map-podium-place {
  position: absolute;
  top: 12px;
  right: 14px;
  color: var(--muted);
  font: 800 12px 'Barlow Condensed'
}
.map-podium-medal { font-size: 34px; line-height: 1 }
.map-podium-player {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  margin-top: 17px
}
.map-podium-player img {
  width: 27px;
  height: 18px;
  object-fit: cover;
  border: 1px solid #5c4643;
  flex: 0 0 auto
}
.map-podium-player strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}
.map-podium-time {
  margin-top: 16px;
  font: 900 clamp(28px, 3.4vw, 42px) 'Barlow Condensed'
}
.map-podium-gap {
  margin-top: 4px;
  color: var(--salmon);
  font: 800 12px 'Barlow Condensed';
  letter-spacing: .08em
}
.map-podium-card time {
  margin-top: auto;
  padding-top: 16px;
  color: var(--muted);
  font-size: 12px
}

.map-table-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line)
}
.map-player-search { flex: 1; max-width: 520px }
.map-player-search input {
  width: 100%;
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid var(--line);
  outline: 0;
  background: #100c0d;
  color: var(--ink);
  font: 14px Inter
}
.map-player-search input:focus { border-color: var(--red) }
.map-table-tools > span { color: var(--muted); font-size: 12px; white-space: nowrap }

.map-table-wrap { border: 0 }
.map-record-table time { color: var(--muted); font-size: 12px; white-space: nowrap }
.map-record-table .map-driven-time {
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.map-record-table .map-driven-time > span {
  color: var(--ink);
  font-weight: 700;
}
.map-record-table .map-driven-time > small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1;
}
.map-record-row[hidden] { display: none }
.map-filter-empty td {
  padding: 45px 20px;
  color: var(--muted);
  text-align: center
}
.map-filter-empty[hidden] { display: none }

.map-pagination {
  padding: 28px 20px 34px;
  margin: 0;
  border-top: 1px solid var(--line)
}
.map-pagination button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--line);
  background: #100c0d;
  color: var(--ink);
  cursor: pointer
}
.map-pagination button:hover { border-color: var(--red) }
.map-pagination button.active { border-color: var(--red); background: var(--red) }

@media (max-width: 1050px) {
  .map-detail-hero { grid-template-columns: 1fr; padding-top: 55px }
  .map-detail-art { width: 100% }
  .map-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) }
}

@media (max-width: 760px) {
  .map-detail-title { font-size: clamp(48px, 15vw, 76px) }
  .map-target-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .map-podium { grid-template-columns: 1fr; align-items: stretch; padding: 18px }
  .map-podium-card-1,
  .map-podium-card-2,
  .map-podium-card-3 { order: initial; min-height: 0; transform: none }
  .map-podium-card-1 { order: 1 }
  .map-podium-card-2 { order: 2 }
  .map-podium-card-3 { order: 3 }
  .map-podium-card time { margin-top: 12px; padding-top: 0 }
}

@media (max-width: 560px) {
  .map-detail-hero { gap: 28px; padding-top: 42px }
  .map-overview-grid,
  .map-target-grid,
  .map-stat-grid { grid-template-columns: 1fr }
  .map-detail-art { box-shadow: 12px 12px 0 rgba(50, 19, 25, .58) }
  .map-table-tools { align-items: stretch; flex-direction: column }
  .map-player-search { max-width: none }
  .map-table-tools > span { align-self: flex-end }
}

/* Map detail redesign v13 */
.map-detail-hero {
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.35fr);
  align-items: stretch;
  gap: 28px;
  padding-top: 58px;
  padding-bottom: 42px;
}
.map-detail-art {
  order: 1;
  min-height: 100%;
  aspect-ratio: auto;
  border-left: 4px solid var(--red);
  box-shadow: 0 14px 34px rgba(0,0,0,.28);
}
.map-detail-art:after { background: linear-gradient(to top, rgba(10,7,8,.72), transparent 50%); }
.map-detail-hero-copy {
  order: 2;
  min-width: 0;
  padding: 8px 0;
}
.map-detail-title {
  max-width: 100%;
  margin: 10px 0 6px;
  overflow: hidden;
  font-size: clamp(42px, 5vw, 76px);
  line-height: .98;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.map-detail-meta { margin: 0 0 22px; color: var(--muted); font-size: 12px; }
.map-detail-meta code { color: var(--ink); font-size: 11px; }
.map-overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.map-overview-card,
.map-medal-card,
.map-podium-card {
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.map-overview-card:hover,
.map-medal-card:hover,
.map-podium-card:hover {
  transform: translateY(-3px);
  border-color: rgba(239,51,79,.72);
  box-shadow: 0 12px 28px rgba(0,0,0,.28), 0 0 22px rgba(239,51,79,.14);
}
.map-overview-card { min-height: 112px; padding: 17px 18px; }
.map-overview-card strong { font-size: clamp(21px, 2vw, 31px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.map-overview-card small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.3; }
.map-overview-player { font-size: clamp(18px, 1.7vw, 25px) !important; }

.map-medal-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 34px;
}
.map-medal-card {
  position: relative;
  min-width: 0;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(31,21,24,.96), rgba(18,13,14,.98));
}
.map-medal-card-head { display: flex; align-items: center; gap: 13px; min-width: 0; }
.map-medal-card-head img { flex: 0 0 auto; object-fit: contain; }
.map-medal-card-head > div { min-width: 0; }
.map-medal-card-head span { display: block; color: var(--muted); font: 700 11px 'Barlow Condensed'; letter-spacing: .12em; text-transform: uppercase; }
.map-medal-card-head strong { display: block; margin-top: 4px; font: 900 23px 'Barlow Condensed'; white-space: nowrap; }
.map-medal-card-stats { display: flex; justify-content: space-between; gap: 10px; margin-top: 19px; }
.map-medal-card-stats b { font: 800 15px 'Barlow Condensed'; }
.map-medal-card-stats small { color: var(--muted); }
.map-medal-progress { height: 8px; margin-top: 11px; overflow: hidden; border: 1px solid var(--line); background: #0d090a; }
.map-medal-progress i { display: block; width: var(--map-stat-progress); height: 100%; background: linear-gradient(90deg, var(--red), var(--salmon)); }
.map-medal-card-none .map-no-medal-mark { flex: 0 0 auto; width: 48px; height: 48px; }
.map-medal-card-none .map-no-medal-mark:after { left: 11px; right: 11px; top: 22px; }

.map-podium { gap: 18px; padding: 34px; }
.map-podium-card { padding: 34px 22px 25px; }
.map-podium-card-1 { min-height: 310px; transform: translateY(-14px); }
.map-podium-card-2 { min-height: 270px; }
.map-podium-card-3 { min-height: 255px; }
.map-podium-card:hover { transform: translateY(-3px); }
.map-podium-card-1:hover { transform: translateY(-17px); }
.map-podium-place {
  position: static;
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: 20px;
  border: 2px solid currentColor;
  border-radius: 50%;
  color: var(--salmon);
  font: 900 32px 'Barlow Condensed';
}
.map-podium-card-1 .map-podium-place { width: 76px; height: 76px; color: #d9b94f; font-size: 42px; }
.map-podium-card-2 .map-podium-place { color: #c7c7c7; }
.map-podium-card-3 .map-podium-place { color: #b97952; }
.map-podium-player { margin-top: 0; gap: 13px; }
.map-podium-player img { width: 54px; height: 36px; }
.map-podium-player strong { font-size: clamp(20px, 2.3vw, 31px); }
.map-podium-time { margin-top: 20px; font-size: clamp(36px, 4vw, 55px); }
.map-podium-card-1 .map-podium-time { font-size: clamp(42px, 4.5vw, 64px); }
.map-podium-gap { font-size: 13px; }
.map-podium-card time { font-size: 13px; }

.map-record-row { transition: background .16s ease, box-shadow .16s ease; }
.map-record-row:hover { background: rgba(239,51,79,.07); box-shadow: inset 3px 0 0 var(--red); }
.medal-cell-none .map-no-medal-mark { width: 28px; height: 28px; flex: 0 0 auto; }
.map-pagination { margin-top: 12px; }

@media (max-width: 1100px) {
  .map-detail-hero { grid-template-columns: 1fr; }
  .map-detail-art { min-height: 360px; aspect-ratio: 16/9; }
  .map-overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .map-medal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .map-detail-title { font-size: clamp(38px, 10vw, 58px); }
  .map-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .map-medal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .map-podium-player img { width: 46px; height: 31px; }
}
@media (max-width: 560px) {
  .map-detail-art { min-height: 230px; box-shadow: 0 12px 28px rgba(0,0,0,.28); }
  .map-overview-grid,
  .map-medal-grid { grid-template-columns: 1fr; }
}


/* Player stat accents and force-update controls */
.profile-stats-compact > div {
  position: relative;
  overflow: hidden;
}

.profile-stats-compact > div::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--red);
}

.player-map-table {
  table-layout: fixed;
  min-width: 1080px;
}

.player-map-table .player-map-col-number {
  width: 72px;
}

.player-map-table .player-map-col-name {
  width: clamp(220px, 17vw, 280px);
}

.player-map-table .player-map-col-action {
  width: clamp(280px, 20vw, 320px);
}

.player-map-name-cell {
  min-width: 0;
  padding-right: 12px;
  overflow: hidden;
  white-space: nowrap;
}

.player-map-name-cell a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-map-name-line {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
}

.player-map-name-line > a {
  min-width: 0;
  flex: 1 1 auto;
}

.player-map-season-badge {
  --season-badge-rgb: 126, 166, 255;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid rgba(var(--season-badge-rgb), .5);
  border-radius: 999px;
  background: rgba(var(--season-badge-rgb), .14);
  color: rgb(var(--season-badge-rgb));
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

a.player-map-season-badge:hover,
a.player-map-season-badge:focus-visible {
  border-color: rgba(var(--season-badge-rgb), .9);
  background: rgba(var(--season-badge-rgb), .24);
  box-shadow: 0 0 0 2px rgba(var(--season-badge-rgb), .1);
  outline: none;
}

.force-update-column,
.force-update-cell {
  padding-left: 14px;
  padding-right: 16px;
  white-space: nowrap;
}

.force-update-legend-column {
  position: relative;
  z-index: 30;
  overflow: visible;
}

.force-update-legend {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
}

.force-update-legend-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 3px 5px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: 700 12px 'Barlow Condensed', sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: help;
}

.force-update-legend-trigger:hover,
.force-update-legend-trigger:focus-visible {
  color: #fff;
  outline: none;
}

.force-update-legend-info {
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}

.force-update-legend-panel {
  position: absolute;
  z-index: 40;
  top: calc(100% + 12px);
  left: 50%;
  display: grid;
  width: min(440px, calc(100vw - 42px));
  box-sizing: border-box;
  gap: 10px;
  padding: 17px 18px 15px;
  border: 1px solid rgba(239, 51, 79, .42);
  background: rgba(16, 11, 13, .98);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .48);
  color: #ddd;
  text-align: left;
  text-transform: none;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -7px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.force-update-legend-panel::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -7px;
  width: 12px;
  height: 12px;
  border-top: 1px solid rgba(239, 51, 79, .42);
  border-left: 1px solid rgba(239, 51, 79, .42);
  background: #100b0d;
  transform: translateX(-50%) rotate(45deg);
}

.force-update-legend:hover .force-update-legend-panel,
.force-update-legend:focus-within .force-update-legend-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.force-update-legend-panel > strong {
  color: #fff;
  font: 800 16px 'Barlow Condensed', sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.force-update-legend-entry {
  display: grid;
  grid-template-columns: 13px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.force-update-legend-entry > i {
  --legend-rgb: var(--force-update-available-rgb, 239, 51, 79);
  width: 11px;
  height: 11px;
  margin-top: 3px;
  border: 1px solid rgba(var(--legend-rgb), 1);
  border-radius: 3px;
  background: rgba(var(--legend-rgb), .34);
  box-shadow: 0 0 10px rgba(var(--legend-rgb), .18);
}

.force-update-legend-entry > i[data-legend-state="next"] {
  --legend-rgb: var(--force-update-next-rgb, 216, 157, 64);
}

.force-update-legend-entry > i[data-legend-state="upcoming"] {
  --legend-rgb: var(--force-update-upcoming-rgb, 63, 130, 212);
}

.force-update-legend-entry > i[data-legend-state="queued"] {
  --legend-rgb: var(--force-update-queued-rgb, 153, 105, 201);
}

.force-update-legend-entry > i[data-legend-state="recently-updated"] {
  --legend-rgb: var(--force-update-recently-updated-rgb, 58, 165, 102);
}

.force-update-legend-entry > span {
  display: grid;
  gap: 2px;
}

.force-update-legend-entry b {
  color: #fff;
  font: 700 13px 'Barlow Condensed', sans-serif;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.force-update-legend-entry small,
.force-update-legend-note {
  color: #aaa;
  font: 11px/1.45 Inter, sans-serif;
  letter-spacing: 0;
}

.force-update-legend-note {
  display: block;
  margin-top: 2px;
  padding-top: 11px;
  border-top: 1px solid var(--line);
}

.force-update-legend-note b {
  color: #d8d8d8;
  font: 600 11px Inter, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

.force-update-legend-schedule {
  display: grid;
  gap: 4px;
  padding-top: 11px;
  border-top: 1px solid var(--line);
}

.force-update-legend-schedule > strong {
  color: #fff;
  font: 800 13px 'Barlow Condensed', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.force-update-legend-schedule small {
  color: #aaa;
  font: 11px/1.45 Inter, sans-serif;
  letter-spacing: 0;
}

.force-update-legend-schedule small b {
  color: #d8d8d8;
  font-weight: 600;
}

.map-update-force-legend {
  z-index: 30;
  justify-content: flex-end;
  width: auto;
}

.map-update-force-legend .force-update-legend-trigger {
  padding: 0;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .12em;
}

.map-update-force-legend .force-update-legend-info {
  width: 15px;
  height: 15px;
  font-size: 10px;
}

.map-update-force-legend .force-update-legend-panel {
  right: 0;
  left: auto;
  transform: translateY(-7px);
}

.map-update-force-legend .force-update-legend-panel::before {
  right: 18px;
  left: auto;
  transform: rotate(45deg);
}

.map-update-force-legend:hover .force-update-legend-panel,
.map-update-force-legend:focus-within .force-update-legend-panel {
  transform: translateY(0);
}

@media (max-width: 560px) {
  .map-update-force-legend {
    justify-content: flex-start;
  }

  .map-update-force-legend .force-update-legend-panel {
    right: auto;
    left: 0;
  }

  .map-update-force-legend .force-update-legend-panel::before {
    right: auto;
    left: 18px;
  }
}

.force-update-button {
  --force-update-accent: var(--force-update-available-rgb, 239, 51, 79);
  display: grid;
  grid-template-columns: 150px 82px;
  align-items: stretch;
  width: 234px;
  max-width: 100%;
  min-height: 36px;
  box-sizing: border-box;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--force-update-accent), .72);
  background: rgba(var(--force-update-accent), .09);
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, opacity .18s ease, filter .18s ease;
}

.force-update-button.has-position {
  grid-template-columns: 52px 98px 82px;
}

.force-update-button[data-force-update-button]:not(:disabled):hover,
.force-update-button[data-force-update-button]:not(:disabled):focus-visible {
  background: rgba(var(--force-update-accent), .19);
  border-color: rgba(var(--force-update-accent), 1);
}

.force-update-button[data-state="queued"] {
  --force-update-accent: var(--force-update-queued-rgb, 153, 105, 201);
}

.force-update-button[data-state="recently_updated"] {
  --force-update-accent: var(--force-update-recently-updated-rgb, 58, 165, 102);
}

.force-update-button[data-timing-state="waiting"] {
  border-style: dashed;
}

.force-update-button[data-timing-state="updating"] {
  box-shadow: inset 0 0 0 1px rgba(var(--force-update-accent), .2);
}

/* Blue marks the five visible player maps with the shortest ETA when they are not in the next cron run. */
.force-update-button[data-view-highlight="1"][data-state="available"]:not([data-planned-for-next-run="1"]):not([data-batch-active="1"]) {
  --force-update-accent: var(--force-update-upcoming-rgb, 63, 130, 212);
}

/* Orange is reserved for maps that are actually scheduled for the next/current cron run. */
.force-update-button[data-planned-for-next-run="1"],
.force-update-button[data-batch-active="1"] {
  --force-update-accent: var(--force-update-next-rgb, 216, 157, 64);
}

.force-update-button:disabled {
  background: rgba(var(--force-update-accent), .065);
  border-color: rgba(var(--force-update-accent), .45);
  color: rgba(255, 255, 255, .72);
  cursor: default;
  filter: saturate(.82);
  opacity: .82;
}

.force-update-position {
  display: grid;
  place-items: center;
  min-width: 0;
  box-sizing: border-box;
  padding: 0 5px;
  overflow: hidden;
  border-right: 1px solid currentColor;
  color: inherit;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.force-update-title {
  display: grid;
  place-items: center;
  min-width: 0;
  padding: 0 9px;
  overflow: hidden;
  color: inherit;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.force-update-title-single {
  grid-column: 1 / -1;
}

.force-update-countdown {
  display: grid;
  place-items: center;
  min-width: 82px;
  box-sizing: border-box;
  padding: 0 8px;
  border-left: 1px solid currentColor;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .player-map-table .player-map-col-name {
    width: 200px;
  }

  .player-map-table .player-map-col-action {
    width: 270px;
  }

  .force-update-column,
  .force-update-cell {
    padding-left: 10px;
    padding-right: 12px;
  }

  .force-update-position,
  .force-update-title {
    font-size: 10px;
  }

  .force-update-title {
    padding-inline: 7px;
  }

  .force-update-countdown {
    min-width: 80px;
    padding-inline: 6px;
    font-size: 17px;
  }
}


/* Live player profile updates */
.live-value-change {
  transform-origin: 50% 60%;
  animation: player-live-value-change 1.2s cubic-bezier(.2, .8, .2, 1);
  animation-delay: var(--live-animation-delay, 0ms);
  animation-fill-mode: backwards;
  will-change: transform, opacity, filter;
}

.live-value-shell,
.profile-score small.live-value-change,
.profile-filter-summary strong.live-value-change {
  display: inline-block;
}

.live-panel-change {
  animation: player-live-panel-change 1.5s ease-out;
  animation-delay: var(--live-animation-delay, 0ms);
}

.live-cell-change {
  animation: player-live-cell-change 1.45s ease-out;
  animation-delay: var(--live-animation-delay, 0ms);
}

.live-medal-change {
  animation: player-live-medal-change 1.35s cubic-bezier(.2, .8, .2, 1);
  animation-delay: var(--live-animation-delay, 0ms);
  animation-fill-mode: backwards;
  transform-origin: center;
}

.player-map-row.live-row-updated > td:not(.live-cell-was-changed) {
  animation: player-live-row-change 1.65s ease-out;
  animation-delay: var(--live-animation-delay, 0ms);
}

.player-map-row.live-row-status-change > td:first-child {
  box-shadow: inset 4px 0 0 var(--red);
}

@keyframes player-live-value-change {
  0% {
    opacity: .18;
    transform: translateY(10px) scale(.92);
    filter: brightness(1.95);
    text-shadow: 0 0 18px rgba(255, 255, 255, .48);
  }
  28% {
    opacity: 1;
    transform: translateY(-2px) scale(1.09);
    filter: brightness(1.55);
    text-shadow: 0 0 15px rgba(239, 51, 79, .52);
  }
  62% {
    transform: translateY(0) scale(1.035);
    filter: brightness(1.18);
    text-shadow: 0 0 8px rgba(239, 51, 79, .24);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: brightness(1);
    text-shadow: none;
  }
}

@keyframes player-live-panel-change {
  0% {
    border-color: rgba(239, 51, 79, .95);
    box-shadow: inset 0 0 0 1px rgba(239, 51, 79, .54), 0 0 0 rgba(239, 51, 79, 0);
    filter: brightness(1.25);
  }
  34% {
    box-shadow: inset 0 0 0 1px rgba(239, 51, 79, .32), 0 0 26px rgba(239, 51, 79, .17);
    filter: brightness(1.14);
  }
  72% {
    box-shadow: inset 0 0 0 1px rgba(239, 51, 79, .12), 0 0 12px rgba(239, 51, 79, .08);
    filter: brightness(1.05);
  }
  100% {
    box-shadow: none;
    filter: brightness(1);
  }
}

@keyframes player-live-cell-change {
  0% {
    background-color: rgba(239, 51, 79, .24);
    box-shadow: inset 0 -2px 0 rgba(239, 51, 79, 1);
  }
  36% {
    background-color: rgba(239, 51, 79, .105);
    box-shadow: inset 0 -2px 0 rgba(239, 51, 79, .58);
  }
  72% {
    background-color: rgba(239, 51, 79, .045);
    box-shadow: inset 0 -2px 0 rgba(239, 51, 79, .24);
  }
  100% {
    background-color: transparent;
    box-shadow: inset 0 -2px 0 rgba(239, 51, 79, 0);
  }
}

@keyframes player-live-medal-change {
  0% {
    opacity: .2;
    transform: rotate(-14deg) scale(.58);
    filter: brightness(2) drop-shadow(0 0 12px rgba(239, 51, 79, .62));
  }
  42% {
    opacity: 1;
    transform: rotate(4deg) scale(1.22);
    filter: brightness(1.45) drop-shadow(0 0 10px rgba(239, 51, 79, .42));
  }
  72% {
    transform: rotate(-1deg) scale(1.07);
    filter: brightness(1.15) drop-shadow(0 0 5px rgba(239, 51, 79, .2));
  }
  100% {
    opacity: 1;
    transform: rotate(0) scale(1);
    filter: none;
  }
}

@keyframes player-live-row-change {
  0% {
    background-color: rgba(239, 51, 79, .14);
  }
  38% {
    background-color: rgba(239, 51, 79, .07);
  }
  76% {
    background-color: rgba(239, 51, 79, .025);
  }
  100% {
    background-color: transparent;
  }
}


.player-map-table .section-divider-content {
  min-height: 36px;
}

.section-divider .force-update-limit-notice {
  --force-update-accent: var(--force-update-available-rgb, 239, 51, 79);
  flex: 0 0 auto;
  margin-left: auto;
  color: #fff;
  pointer-events: none;
  cursor: default;
}

.section-divider .force-update-limit-notice[hidden] {
  display: none;
}

/* The status field deliberately mirrors the table buttons despite the divider's
 * generic span typography. */
.section-divider .force-update-limit-notice .force-update-title {
  color: inherit;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.section-divider .force-update-limit-notice .force-update-countdown {
  color: inherit;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 1100px) {
  .section-divider .force-update-limit-notice .force-update-title {
    font-size: 10px;
  }

  .section-divider .force-update-limit-notice .force-update-countdown {
    font-size: 17px;
  }
}

/* Force-update feedback: state changes and queue/ETA changes. */
.force-update-button.force-update-state-change {
  animation: force-update-state-shell 1.15s cubic-bezier(.2, .8, .2, 1);
}

.force-update-button.force-update-state-change .force-update-position,
.force-update-button.force-update-state-change .force-update-title,
.force-update-button.force-update-state-change .force-update-countdown {
  animation: force-update-state-content 1.15s cubic-bezier(.2, .8, .2, 1);
}

.force-update-button.force-update-eta-change .force-update-countdown {
  animation: force-update-eta-change .95s cubic-bezier(.2, .8, .2, 1);
}

@keyframes force-update-state-shell {
  0% {
    border-color: rgba(239, 51, 79, .95);
    box-shadow: 0 0 0 rgba(239, 51, 79, 0);
    filter: brightness(1);
  }
  38% {
    box-shadow: 0 0 18px rgba(239, 51, 79, .22);
    filter: brightness(1.28);
  }
  100% {
    box-shadow: none;
    filter: brightness(1);
  }
}

@keyframes force-update-state-content {
  0% {
    opacity: .18;
    transform: translateY(8px);
  }
  36% {
    opacity: 1;
    transform: translateY(-2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes force-update-eta-change {
  0% {
    opacity: .35;
    transform: scale(.88);
    filter: brightness(1.8);
  }
  42% {
    opacity: 1;
    transform: scale(1.12);
    filter: brightness(1.35);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    filter: brightness(1);
  }
}

.recent-improvement-card {
  will-change: transform, opacity;
}

/* Keep the action visibly attached to its map, not to the time column. */
.force-update-column,
.force-update-cell {
  padding-left: 0;
  padding-right: 46px;
}

@media (max-width: 1100px) {
  .force-update-column,
  .force-update-cell {
    padding-left: 0;
    padding-right: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .live-value-change,
  .live-panel-change,
  .live-cell-change,
  .live-medal-change,
  .player-map-row.live-row-updated > td:not(.live-cell-was-changed),
  .force-update-button.force-update-state-change,
  .force-update-button.force-update-state-change .force-update-position,
  .force-update-button.force-update-state-change .force-update-title,
  .force-update-button.force-update-state-change .force-update-countdown,
  .force-update-button.force-update-eta-change .force-update-countdown {
    animation: none !important;
  }
}

/* Map detail live dashboard */
.map-live-root .map-detail-hero {
  grid-template-columns: minmax(380px, .88fr) minmax(620px, 1.35fr);
  align-items: stretch;
  gap: clamp(30px, 4.5vw, 70px);
}

.map-live-root .map-detail-art {
  height: 100%;
  min-height: 0;
  align-self: stretch;
  aspect-ratio: auto;
}

.map-live-root .map-detail-art img {
  display: block;
}

.map-live-root .map-detail-hero-copy {
  display: flex;
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  flex-direction: column;
}

.map-live-root .map-overview-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(92px, auto);
  gap: 10px;
  margin-top: 2px;
}

.map-live-root .map-overview-card {
  display: flex;
  min-width: 0;
  min-height: 92px;
  padding: 13px 15px 14px;
  flex-direction: column;
}

.map-overview-card-content {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.map-overview-stat-line {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 7px;
}

.map-overview-stat-line strong {
  min-width: 0;
  margin: 0 !important;
  font-size: clamp(20px, 1.65vw, 28px) !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-overview-stat-line small {
  min-width: 0;
  margin: 0 !important;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
  text-align: right;
}

.map-overview-empty {
  display: block;
  margin-top: 7px;
  color: var(--ink);
  font: 800 clamp(15px, 1.15vw, 19px) 'Barlow Condensed' !important;
  line-height: 1.08;
  white-space: normal !important;
}

.map-overview-person-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px auto;
  min-width: 0;
  align-items: center;
  gap: 8px;
  margin-top: 7px;
}

.map-overview-person {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  color: var(--ink);
}

.map-overview-person > img {
  width: 28px;
  height: 19px;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.12);
  object-fit: cover;
}

.map-player-identity {
  display: inline-flex;
  min-width: 0;
  max-width: 100%;
  align-items: baseline;
  gap: 5px;
  overflow: hidden;
  vertical-align: baseline;
}

.map-club-tag {
  display: inline-flex;
  min-height: 1.28em;
  padding: 1px 5px 2px;
  align-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 4px;
  background: rgba(255,255,255,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  font-size: .76em;
  line-height: 1;
  white-space: nowrap;
}

.map-club-tag .tm-text-segment {
  display: inline;
  font-size: inherit;
  line-height: inherit;
}

.map-player-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-overview-person .map-player-identity {
  font: 850 clamp(18px, 1.38vw, 22px) 'Barlow Condensed';
  line-height: 1;
}

.strongest-time > .map-overview-person-no-medal {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.strongest-time > .map-overview-person-no-medal::after {
  left: 4px;
  right: 4px;
  top: 8px;
}

.map-podium-player strong,
.player-cell strong {
  min-width: 0;
}

.map-podium-player .map-player-identity,
.player-cell .map-player-identity {
  font: inherit;
}

.map-podium-card-1 {
  border-color: #886d2e;
}

.map-podium-card-2 {
  border-color: #74767c;
}

.map-podium-card-3 {
  border-color: #81543c;
}

.map-podium-card-1:hover {
  border-color: #d9b94f;
}

.map-podium-card-2:hover {
  border-color: #c7c7c7;
}

.map-podium-card-3:hover {
  border-color: #b97952;
}

.map-update-panel {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto;
  grid-template-areas:
    'last next'
    'progress progress';
  align-items: start;
  gap: 13px 24px;
  min-height: 0;
  margin-top: 10px;
  padding: 14px 17px 15px;
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(31,21,24,.96), rgba(18,13,14,.98));
  box-shadow: inset 4px 0 0 rgba(239,51,79,.72);
}

.map-update-side {
  min-width: 0;
}

.map-update-side > span {
  display: block;
  color: var(--muted);
  font: 700 11px 'Barlow Condensed';
  letter-spacing: .12em;
  text-transform: uppercase;
}

.map-update-last {
  grid-area: last;
}

.map-update-last > strong {
  display: block;
  margin-top: 5px;
  font: 900 clamp(24px, 2vw, 32px) 'Barlow Condensed';
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
}

.map-update-last-meta {
  display: block;
  min-width: 0;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

.map-update-last-meta time {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.map-update-next {
  grid-area: next;
  display: flex;
  min-width: 0;
  align-items: flex-end;
  flex-direction: column;
  justify-content: flex-start;
  gap: 5px;
}

.map-update-next > span {
  width: 100%;
  text-align: right;
}

.map-update-force {
  width: auto;
  min-width: 0;
}

.map-update-force .force-update-button {
  width: 234px;
  max-width: 234px;
}

.map-update-force .force-update-limit-notice {
  display: inline-grid;
}

.map-update-force .force-update-limit-notice[hidden],
.map-update-force .force-update-button[hidden] {
  display: none !important;
}

.map-update-progress {
  grid-area: progress;
  height: 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #0d090a;
}

.map-update-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--red), var(--salmon));
  transition: width .45s linear;
}

.map-live-card-change {
  animation: map-live-card-change 1.35s cubic-bezier(.2,.8,.2,1);
}

.map-live-podium-change {
  animation: map-live-podium-change 1.45s cubic-bezier(.2,.8,.2,1);
}

.map-live-row-change {
  animation: map-live-row-change 1.55s cubic-bezier(.2,.8,.2,1);
}

@keyframes map-live-card-change {
  0% { border-color: rgba(239,51,79,.95); box-shadow: 0 0 0 rgba(239,51,79,0); }
  30% { transform: translateY(-4px); box-shadow: 0 0 28px rgba(239,51,79,.22); }
  100% { border-color: var(--line); box-shadow: none; }
}

@keyframes map-live-podium-change {
  0% { opacity: .55; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes map-live-row-change {
  0% { background: rgba(239,51,79,.25); box-shadow: inset 4px 0 0 var(--red); }
  100% { background: transparent; box-shadow: inset 0 0 0 transparent; }
}

@media (max-width: 1180px) {
  .map-live-root .map-detail-hero {
    grid-template-columns: 1fr;
  }

  .map-live-root .map-detail-art {
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 820px) {
  .map-live-root .map-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .map-update-panel {
    grid-template-columns: 1fr;
    grid-template-areas:
      'last'
      'next'
      'progress';
    align-items: stretch;
  }

  .map-update-next {
    align-items: flex-start;
  }

  .map-update-next > span {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .map-live-root .map-overview-grid {
    grid-template-columns: 1fr;
  }

  .map-update-force,
  .map-update-force .force-update-button {
    width: 100%;
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .map-live-card-change,
  .map-live-podium-change,
  .map-live-row-change {
    animation: none !important;
  }

  .map-update-progress i {
    transition: none;
  }
}


/* Map leaderboard filters, compact activity cards and aligned player identities */
.map-live-root .map-detail-art {
  position: relative;
  height: auto;
  min-height: 0;
  align-self: stretch;
  aspect-ratio: auto;
}

.map-live-root .map-detail-art > img,
.map-live-root .map-detail-art-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.map-live-root .map-detail-art > img {
  object-fit: cover;
}

.map-player-identity {
  --map-identity-height: 24px;
  display: inline-flex;
  height: var(--map-identity-height);
  min-width: 0;
  max-width: 100%;
  align-items: stretch;
  gap: 6px;
  overflow: hidden;
  vertical-align: middle;
}

.map-club-tag {
  display: inline-flex;
  height: 100%;
  min-height: 0;
  padding: 0 6px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 4px;
  background: rgba(255,255,255,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
  font-size: .72em;
  line-height: 1;
  white-space: nowrap;
}

.map-club-tag .tm-text-segment {
  display: inline-flex;
  height: 100%;
  align-items: center;
  font-size: inherit;
  line-height: 1;
}

.map-player-name {
  display: flex;
  height: 100%;
  min-width: 0;
  align-items: center;
  overflow: hidden;
  color: var(--ink);
  font-weight: 800;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-overview-person {
  align-items: stretch;
}

.map-overview-person > img {
  width: 36px;
  height: 24px;
}

.map-overview-person .map-player-identity {
  --map-identity-height: 24px;
  font: 850 clamp(17px, 1.28vw, 21px) 'Barlow Condensed';
}

.map-overview-card .map-player-name {
  color: var(--ink);
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
}

.map-overview-card .map-club-tag {
  color: inherit;
  font-size: .72em;
  letter-spacing: normal;
  text-transform: none;
}

.map-podium-player {
  align-items: stretch;
}

.map-podium-player > img {
  width: 54px;
  height: 36px;
}

.map-podium-player .map-player-identity {
  --map-identity-height: 36px;
  font: 850 clamp(20px, 2.05vw, 29px) 'Barlow Condensed';
}

.player-cell {
  min-width: 0;
  align-items: stretch;
}

.player-cell > img {
  width: 36px;
  height: 24px;
  flex: 0 0 auto;
}

.player-cell .map-player-identity {
  --map-identity-height: 24px;
  font: 800 16px 'Barlow Condensed';
}

.map-overview-dual,
.map-overview-leaders {
  display: grid;
  min-width: 0;
  margin-top: 5px;
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.map-overview-dual-row,
.map-overview-leader-row {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 0;
}

.map-overview-dual-row + .map-overview-dual-row,
.map-overview-leader-row + .map-overview-leader-row {
  border-top: 1px solid rgba(189,168,164,.2);
}

.map-overview-dual-value {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 7px;
}

.map-overview-dual-value strong {
  margin: 0 !important;
  flex: 0 0 auto;
  font: 900 23px 'Barlow Condensed' !important;
  line-height: 1;
}

.map-overview-dual-value span {
  overflow: hidden;
  color: var(--ink);
  font: 800 12px 'Barlow Condensed';
  letter-spacing: .04em;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.map-overview-dual-row > small {
  margin: 0 !important;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.15;
  text-align: right;
  white-space: nowrap;
}

.map-overview-leader-main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.map-overview-leader-main > small {
  margin: 0 !important;
  color: var(--muted);
  font: 700 9px 'Barlow Condensed';
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.map-overview-leader-main > span {
  display: flex;
  min-width: 0;
  height: 22px;
  align-items: center;
  gap: 7px;
}

.map-overview-leader-main img {
  width: 30px;
  height: 20px;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.13);
  object-fit: cover;
}

.map-overview-leader-main b {
  overflow: hidden;
  color: var(--ink);
  font: 800 15px 'Barlow Condensed';
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-overview-leader-main .map-club-tag {
  height: 22px;
  font: 800 12px 'Barlow Condensed';
}

.map-overview-leader-count {
  display: flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: 4px;
}

.map-overview-leader-count strong {
  margin: 0 !important;
  font: 900 20px 'Barlow Condensed' !important;
  line-height: 1;
}

.map-overview-leader-count small {
  margin: 0 !important;
  color: var(--muted);
  font-size: 9px;
  white-space: nowrap;
}

.map-medal-card {
  width: 100%;
  appearance: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.map-medal-card:focus-visible {
  outline: 2px solid var(--salmon);
  outline-offset: 3px;
}

.map-medal-card.is-filter-active {
  border-color: var(--salmon);
  box-shadow: 0 0 0 1px rgba(255,128,104,.34), 0 12px 28px rgba(0,0,0,.28), 0 0 22px rgba(239,51,79,.16);
}

.map-medal-card.is-filter-active .map-medal-progress {
  border-color: rgba(255,128,104,.72);
}

.map-leaderboard {
  overflow: visible;
}

.map-table-tools {
  align-items: center;
}

.map-table-filter-controls {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 10px;
}

.map-player-search {
  min-width: 190px;
  max-width: 440px;
}

.map-filter-dropdown {
  position: relative;
  width: 210px;
  flex: 0 0 210px;
}

.map-filter-select {
  display: flex;
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--line);
  background: #100c0d;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.map-filter-dropdown.is-open .map-filter-select,
.map-filter-select:focus-visible {
  border-color: var(--red);
  outline: 0;
}

.map-filter-select-value {
  display: flex;
  min-width: 0;
  height: 24px;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  font: 700 13px Inter;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-filter-select-value > img {
  width: 32px;
  height: 21px;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.13);
  object-fit: cover;
}

.map-filter-select-value .map-club-tag {
  height: 24px;
  max-width: 145px;
  font: 800 13px 'Barlow Condensed';
}

.map-filter-chevron {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 16px;
  transform: translateY(-2px);
  transition: transform .15s ease;
}

.map-filter-dropdown.is-open .map-filter-chevron {
  transform: rotate(180deg) translateY(2px);
}

.map-filter-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  left: 0;
  width: max(100%, 250px);
  max-height: 330px;
  padding: 6px;
  overflow-y: auto;
  border: 1px solid var(--line);
  background: #100c0d;
  box-shadow: 0 18px 44px rgba(0,0,0,.48);
}

.map-filter-menu[hidden] {
  display: none;
}

.map-filter-option {
  display: flex;
  width: 100%;
  min-height: 40px;
  padding: 6px 9px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.map-filter-option:hover,
.map-filter-option.is-selected {
  background: #211619;
}

.map-filter-option.is-selected {
  box-shadow: inset 3px 0 0 var(--red);
}

.map-filter-option-main {
  display: flex;
  min-width: 0;
  height: 24px;
  align-items: center;
  gap: 8px;
  overflow: hidden;
}

.map-filter-option-main > img {
  width: 32px;
  height: 21px;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.13);
  object-fit: cover;
}

.map-filter-option-main > span:not(.map-club-tag) {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-filter-option-main .map-club-tag {
  height: 24px;
  max-width: 170px;
  font: 800 13px 'Barlow Condensed';
}

.map-filter-option > small {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.map-active-filters-row[hidden] {
  display: none;
}

.map-active-filters-row td {
  padding: 12px 20px;
  border-top: 0;
  border-bottom: 1px solid var(--line);
  background: #100c0d;
}

.map-active-filters-row:hover td {
  background: #100c0d;
}

.map-active-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.map-active-filters:before {
  content: 'Active filters';
  margin-right: 2px;
  color: var(--muted);
  font: 700 10px 'Barlow Condensed';
  letter-spacing: .1em;
  text-transform: uppercase;
}

.map-active-filter,
.map-active-filter-clear {
  display: inline-flex;
  min-height: 32px;
  padding: 3px 8px;
  align-items: center;
  gap: 7px;
  border: 1px solid #3c282b;
  background: #1d1416;
  color: var(--ink);
  cursor: pointer;
}

.map-active-filter:hover,
.map-active-filter-clear:hover {
  border-color: var(--salmon);
}

.map-active-filter-content {
  display: inline-flex;
  min-width: 0;
  height: 22px;
  align-items: center;
  gap: 6px;
  font: 700 11px Inter;
}

.map-active-filter-content > img {
  width: 30px;
  height: 20px;
  flex: 0 0 auto;
  object-fit: cover;
}

.map-active-filter-content > .map-no-medal-mark {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
}

.map-active-filter-content > .map-no-medal-mark:after {
  left: 5px;
  right: 5px;
  top: 9px;
}

.map-active-filter-content .map-club-tag {
  height: 22px;
  font: 800 12px 'Barlow Condensed';
}

.map-active-filter-remove {
  color: var(--muted);
  font-size: 16px;
  line-height: 1;
}

.map-active-filter-clear {
  color: var(--salmon);
  font: 800 10px 'Barlow Condensed';
  letter-spacing: .07em;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .map-live-root .map-detail-art {
    aspect-ratio: 16 / 9;
  }

  .map-table-filter-controls {
    flex-wrap: wrap;
  }

  .map-player-search {
    max-width: none;
    flex-basis: 100%;
  }
}

@media (max-width: 820px) {
  .map-table-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .map-table-filter-controls {
    width: 100%;
  }

  .map-filter-dropdown {
    width: calc(50% - 5px);
    flex: 1 1 calc(50% - 5px);
  }

  .map-table-tools > span {
    align-self: flex-end;
  }
}

@media (max-width: 560px) {
  .map-table-filter-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .map-filter-dropdown,
  .map-player-search {
    width: 100%;
    max-width: none;
    flex-basis: auto;
  }

  .map-filter-menu {
    width: 100%;
  }

  .map-overview-dual-row,
  .map-overview-leader-row {
    gap: 8px;
  }

  .map-overview-dual-row > small,
  .map-overview-leader-count small {
    white-space: normal;
  }
}

/* Map detail: unified identities, compact overview cards and multi-select filters */
.map-overview-stat-line {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  margin-top: 7px;
}

.map-overview-stat-line strong {
  width: 100%;
  font-size: clamp(22px, 1.75vw, 30px) !important;
}

.map-overview-stat-line small {
  width: 100%;
  font-size: 11px;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
}

.map-overview-person-card {
  display: grid;
  min-width: 0;
  grid-template-rows: 28px 26px;
  gap: 7px;
  margin-top: 7px;
}

.map-overview-person {
  height: 28px;
  align-items: stretch;
  gap: 8px;
}

.map-overview-person > img {
  width: 42px;
  height: 28px;
  flex: 0 0 42px;
}

.map-overview-person .map-player-identity {
  --map-identity-height: 28px;
  font: 850 clamp(19px, 1.42vw, 23px) 'Barlow Condensed';
}


.map-player-identity {
  gap: 7px;
}

.map-club-tag {
  max-width: none;
  overflow: visible;
}

.map-player-name {
  font-weight: 850;
}

.map-podium-player {
  width: 100%;
  min-width: 0;
}

.map-podium-player > img {
  width: 57px;
  height: 38px;
  flex: 0 0 57px;
}

.map-podium-player .map-player-identity {
  --map-identity-height: 38px;
  font: 850 clamp(22px, 2.2vw, 32px) 'Barlow Condensed';
}

.player-cell {
  width: 100%;
  min-width: 240px;
  gap: 10px;
}

.player-cell > img {
  width: 42px;
  height: 28px;
  flex: 0 0 42px;
}

.player-cell .map-player-identity {
  --map-identity-height: 28px;
  font: 850 20px 'Barlow Condensed';
}

.map-record-table th:nth-child(2),
.map-record-table td:nth-child(2) {
  min-width: 300px;
}

.map-overview-dual,
.map-overview-leaders {
  grid-template-rows: repeat(2, 34px);
  align-content: center;
  margin-top: 5px;
}

.map-overview-dual-row,
.map-overview-leader-row {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 5px 0;
}

.map-overview-dual-value {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 7px;
}

.map-overview-dual-row > small,
.map-overview-leader-count {
  justify-self: end;
  text-align: right;
}

.map-overview-leader-main {
  min-width: 0;
}

.map-overview-leader-main > span {
  height: 26px;
  gap: 8px;
}

.map-overview-leader-main > small {
  display: none;
}

.map-overview-leader-main img {
  width: 39px;
  height: 26px;
  flex: 0 0 39px;
}

.map-overview-leader-main b {
  font-size: 18px;
}

.map-overview-leader-main .map-club-tag {
  height: 26px;
  font: 850 16px 'Barlow Condensed';
}

.map-overview-leader-count {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 5px;
}

.map-overview-leader-count strong {
  font-size: 20px !important;
}

.map-overview-leader-count small {
  font-size: 10px;
}

.map-filter-select-value {
  overflow: visible;
}

.map-filter-selection-count {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #2a1b1e;
  color: var(--salmon);
  font: 800 10px Inter;
}

.map-filter-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px auto;
}

.map-filter-option-check {
  color: transparent;
  font: 900 13px Inter;
  text-align: center;
}

.map-filter-option.is-selected .map-filter-option-check {
  color: var(--salmon);
}

.map-active-filters {
  display: flex;
  min-height: 50px;
  padding: 10px 20px;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  border-bottom: 1px solid var(--line);
  background: #100c0d;
}

.map-active-filters:before {
  content: none;
}

.map-active-filter-label {
  margin-right: 3px;
  color: var(--muted);
  font: 700 10px 'Barlow Condensed';
  letter-spacing: .11em;
  text-transform: uppercase;
}

.map-active-filter-nation,
.map-active-filter-club,
.map-active-filter-medal {
  display: inline-flex;
  height: 24px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.map-active-filter-nation img {
  width: 34px;
  height: 23px;
  border: 1px solid rgba(255,255,255,.13);
  object-fit: cover;
}

.map-active-filter-club .map-club-tag {
  height: 24px;
  font: 850 13px 'Barlow Condensed';
}

.map-active-filter-medal img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.map-active-filter-medal .map-no-medal-mark {
  width: 22px;
  height: 22px;
}

.map-active-filter-medal .map-no-medal-mark:after {
  top: 9px;
  right: 5px;
  left: 5px;
}

.map-active-filter-count {
  margin-left: 2px;
  color: var(--ink);
  font: 850 13px 'Barlow Condensed';
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1180px) {
  .map-live-root .map-detail-art {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .map-overview-person .map-player-identity {
    font-size: 18px;
  }

  .map-overview-dual-row,
  .map-overview-leader-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .map-active-filters {
    padding-right: 14px;
    padding-left: 14px;
  }
}

/* Map detail refinements: average medal, filter reset, identity sizing and cycle percentage */
.map-average-stat {
  gap: 5px;
}

.map-average-value {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.map-average-value > img {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  object-fit: contain;
}

.map-average-no-medal {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
}

.map-average-no-medal:after {
  top: 12px;
  right: 6px;
  left: 6px;
}

.map-overview-stat-line .map-average-value > strong {
  display: inline-flex;
  width: auto;
  min-width: 0;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}

.map-average-wr-gap {
  color: var(--red);
  font-size: .64em;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
}

.map-filter-reset {
  min-height: 44px;
  padding: 0 16px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  background: #100c0d;
  color: var(--ink);
  font: 800 11px 'Barlow Condensed';
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease, background .15s ease, opacity .15s ease;
}

.map-filter-reset:hover:not(:disabled),
.map-filter-reset:focus-visible {
  border-color: var(--red);
  background: #211619;
  color: var(--salmon);
  outline: 0;
}

.map-filter-reset:disabled {
  opacity: .38;
  cursor: default;
}

.map-overview-person .map-player-name {
  font-size: 27px;
  line-height: .9;
}

.map-podium-player .map-player-name {
  font-size: clamp(31px, 2.55vw, 37px);
  line-height: .9;
}

.player-cell .map-player-name {
  font-size: 27px;
  line-height: .9;
}

.map-update-panel {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-areas:
    'last empty next'
    'meta progress-value force'
    'progress progress progress';
  align-items: end;
  gap: 8px 24px;
}

.map-update-last,
.map-update-next {
  align-self: start;
}

.map-update-next {
  align-items: flex-end;
}

.map-update-next > span {
  text-align: right;
}

.map-update-last-meta {
  grid-area: meta;
  align-self: end;
  margin-top: 0;
}

.map-update-progress-value {
  grid-area: progress-value;
  align-self: end;
  justify-self: center;
  margin: 0;
  color: var(--ink);
  font: 850 14px 'Barlow Condensed';
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
}

.map-update-force {
  grid-area: force;
  align-self: end;
  justify-self: end;
}

@media (max-width: 1180px) {
  .map-filter-reset {
    flex: 0 0 auto;
  }
}

@media (max-width: 820px) {
  .map-update-panel {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas:
      'last empty next'
      'meta progress-value force'
      'progress progress progress';
    align-items: end;
  }

  .map-update-next {
    align-items: flex-end;
  }

  .map-update-next > span {
    text-align: right;
  }

  .map-filter-reset {
    flex: 0 0 auto;
  }
}

@media (max-width: 560px) {
  .map-overview-person .map-player-name,
  .player-cell .map-player-name {
    font-size: 25px;
  }

  .map-update-panel {
    grid-template-columns: 1fr;
    grid-template-areas:
      'last'
      'next'
      'meta'
      'force'
      'progress-value'
      'progress';
    align-items: stretch;
  }

  .map-update-next {
    align-items: flex-start;
  }

  .map-update-next > span {
    text-align: left;
  }

  .map-update-progress-value {
    justify-self: center;
    margin-top: 3px;
  }

  .map-update-force,
  .map-update-force .force-update-button {
    width: 100%;
    max-width: 100%;
  }

  .map-filter-reset {
    width: 100%;
  }
}

/* Map detail final alignment, live feedback and thumbnail preview */
@media (min-width: 1181px) {
  .map-live-root .map-detail-hero {
    grid-template-columns: minmax(0, calc(40% - 7.2px)) minmax(0, 1fr);
    gap: 12px;
  }
}

.map-detail-title {
  margin-top: 4px;
  margin-bottom: -2px;
  padding-bottom: .1em;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.map-detail-art-trigger {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
}

.map-detail-art-trigger > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .32s cubic-bezier(.2,.8,.2,1), filter .32s ease;
}

.map-detail-art-trigger:hover > img {
  transform: scale(1.018);
  filter: brightness(1.05);
}

.map-detail-art:focus-within {
  border-color: var(--salmon);
  box-shadow: 0 0 0 2px rgba(255,128,104,.22), 0 14px 34px rgba(0,0,0,.28);
}

.map-thumbnail-lightbox {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  padding: clamp(22px, 5vw, 72px);
  place-items: center;
  background: rgba(5,3,4,.9);
  opacity: 0;
  backdrop-filter: blur(8px);
  transition: opacity .22s ease;
}

.map-thumbnail-lightbox[hidden] {
  display: none;
}

.map-thumbnail-lightbox > img {
  display: block;
  max-width: min(94vw, 1700px);
  max-height: 88vh;
  border: 1px solid rgba(255,128,104,.72);
  box-shadow: 0 28px 90px rgba(0,0,0,.72), 0 0 35px rgba(239,51,79,.16);
  object-fit: contain;
  opacity: 0;
  transform: translateY(16px) scale(.94);
  transition: opacity .24s ease, transform .32s cubic-bezier(.2,.8,.2,1);
}

.map-thumbnail-lightbox.is-open {
  opacity: 1;
}

.map-thumbnail-lightbox.is-open > img {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.map-thumbnail-lightbox-close {
  position: fixed;
  z-index: 1;
  top: 20px;
  right: 24px;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255,128,104,.65);
  background: #160f11;
  color: var(--ink);
  font: 700 30px/1 Inter;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.map-thumbnail-lightbox-close:hover,
.map-thumbnail-lightbox-close:focus-visible {
  border-color: var(--salmon);
  background: #28191d;
  outline: 0;
  transform: scale(1.05);
}

body.map-thumbnail-lightbox-open {
  overflow: hidden;
}

.map-overview-stat-line .map-average-value > strong {
  align-items: center;
}

.map-average-wr-gap {
  align-self: center;
  color: var(--salmon);
  font-size: .72em;
  line-height: 1;
  transform: translateY(-1px);
}

.map-overview-person .map-player-name,
.player-cell .map-player-name {
  font-size: 34px;
  line-height: .78;
}

.map-podium-player .map-player-name {
  font-size: clamp(39px, 3vw, 45px);
  line-height: .8;
}

.map-overview-dual-row {
  grid-template-columns: 28px minmax(0, 1fr) 116px;
  gap: 7px;
}

.map-overview-dual-value {
  display: contents;
}

.map-overview-dual-value strong {
  width: 28px;
  text-align: left;
}

.map-overview-dual-value span {
  min-width: 0;
}

.map-overview-dual-row > small {
  width: 116px;
  justify-self: stretch;
  text-align: right;
}

.map-overview-leader-row {
  grid-template-columns: minmax(0, 1fr) 92px;
}

.map-overview-leader-count {
  width: 92px;
  grid-template-columns: 24px minmax(0, 1fr);
  justify-self: end;
}

.map-overview-leader-count strong {
  width: 24px;
  text-align: right;
}

.map-overview-leader-count small {
  min-width: 0;
  text-align: left;
}

.map-record-difference {
  color: var(--salmon);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.map-update-panel {
  padding-top: 18px;
  gap: 8px 24px;
}

.map-update-last,
.map-update-next {
  margin-top: 3px;
}

.map-update-last > strong {
  margin-top: 7px;
}

.map-update-progress-value {
  min-width: 150px;
  color: var(--ink);
  font: 900 19px 'Barlow Condensed';
  letter-spacing: .01em;
  line-height: 1;
  text-align: center;
}

.map-record-row.map-live-row-updated > td {
  animation: player-live-row-change 1.65s ease-out;
  animation-delay: var(--live-animation-delay, 0ms);
}

@media (max-width: 820px) {
  .map-overview-dual-row {
    grid-template-columns: 27px minmax(0, 1fr) 108px;
  }

  .map-overview-dual-row > small {
    width: 108px;
  }

  .map-update-progress-value {
    min-width: 132px;
    font-size: 18px;
  }
}

@media (max-width: 560px) {
  .map-detail-title {
    margin-bottom: 0;
    padding-bottom: .12em;
    line-height: 1.08;
  }

  .map-overview-person .map-player-name,
  .player-cell .map-player-name {
    font-size: 31px;
  }

  .map-podium-player .map-player-name {
    font-size: 39px;
  }

  .map-overview-dual-row {
    grid-template-columns: 25px minmax(0, 1fr) 100px;
    gap: 5px;
  }

  .map-overview-dual-value strong {
    width: 25px;
  }

  .map-overview-dual-row > small {
    width: 100px;
    font-size: 9px;
  }

  .map-overview-leader-row {
    grid-template-columns: minmax(0, 1fr) 84px;
  }

  .map-overview-leader-count {
    width: 84px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .map-detail-art-trigger > img,
  .map-thumbnail-lightbox,
  .map-thumbnail-lightbox > img,
  .map-thumbnail-lightbox-close,
  .map-record-row.map-live-row-updated > td {
    transition: none !important;
    animation: none !important;
  }
}

/* Map player identities: fit the complete flag / club / name unit without clipping descenders. */
[data-map-fit-identity] {
  min-width: 0;
  overflow: visible;
}

.map-player-fit-box {
  display: inline-block;
  max-width: 100%;
  flex: 0 0 auto;
  overflow: visible;
  vertical-align: top;
}

.map-player-fit-content {
  display: inline-flex;
  width: max-content;
  max-width: none;
  align-items: flex-start;
  overflow: visible;
  transform-origin: left top;
}

.map-player-fit-box.is-fitted {
  position: relative;
}

.map-player-fit-box.is-fitted > .map-player-fit-content {
  position: absolute;
  top: 0;
  left: 0;
}

.map-player-fit-content > img {
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.16);
  object-fit: cover;
}

.map-player-fit-content .map-player-identity {
  width: max-content;
  min-width: max-content;
  max-width: none;
  align-items: flex-start;
  flex: 0 0 auto;
  overflow: visible;
}

.map-player-fit-content .map-club-tag {
  overflow: visible;
  font-size: .62em;
}

.map-player-fit-content .map-player-name {
  position: relative;
  top: -2px;
  display: block;
  width: max-content;
  min-width: max-content;
  height: auto;
  align-self: flex-start;
  overflow: visible;
  font: inherit;
  font-weight: 850;
  line-height: .72;
  text-overflow: clip;
  white-space: nowrap;
}

.map-overview-person .map-player-fit-content {
  gap: 8px;
}

.map-overview-person .map-player-fit-content > img {
  width: 42px;
  height: 28px;
}

.map-overview-person .map-player-identity {
  --map-identity-height: 28px;
  height: 28px;
  gap: 7px;
  overflow: visible;
  font: 850 40px 'Barlow Condensed';
  line-height: .72;
}

.map-podium-player .map-player-fit-content {
  gap: 13px;
}

.map-podium-player .map-player-fit-content > img {
  width: 57px;
  height: 38px;
}

.map-podium-player .map-player-identity {
  --map-identity-height: 38px;
  height: 38px;
  gap: 8px;
  overflow: visible;
  font: 850 54px 'Barlow Condensed';
  line-height: .72;
}

.player-cell .map-player-fit-content {
  gap: 10px;
}

.player-cell .map-player-fit-content > img {
  width: 42px;
  height: 28px;
}

.player-cell .map-player-identity {
  --map-identity-height: 28px;
  height: 28px;
  gap: 7px;
  overflow: visible;
  font: 850 40px 'Barlow Condensed';
  line-height: .72;
}

.map-overview-card .map-average-wr-gap {
  align-self: center;
  color: var(--salmon) !important;
  font-size: .88em;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-1px);
}

/* Pixel-aligned medal/time rows. These components need separate optical offsets. */
.map-overview-card[data-map-card="average"] .map-average-value > strong {
  position: relative;
  top: -2px;
  font-size: calc(clamp(22px, 1.75vw, 30px) + 5px) !important;
}

@media (max-width: 560px) {
  .map-overview-person .map-player-identity,
  .player-cell .map-player-identity {
    font-size: 40px;
  }

  .map-podium-player .map-player-identity {
    font-size: 54px;
  }
}

.map-overview-card .map-average-wr-gap {
  letter-spacing: normal;
  text-transform: none;
}

/* Map difficulty, activity ranks and final update-panel composition. */
.map-detail-meta {
  margin-bottom: 4px;
}

.map-difficulty {
  display: grid;
  min-width: 0;
  gap: 2px;
  margin-bottom: 17px;
}

.map-difficulty-line {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.map-difficulty-line > span {
  color: var(--muted);
  font: 700 11px 'Barlow Condensed';
  letter-spacing: .12em;
  text-transform: uppercase;
}

.map-difficulty-stars {
  display: inline-flex;
  align-items: center;
  font: 900 19px/1 'Barlow Condensed';
  letter-spacing: .07em;
  white-space: nowrap;
}

.map-difficulty-stars-filled {
  color: #d9b94f;
  text-shadow: 0 0 12px rgba(217,185,79,.18);
}

.map-difficulty-stars-empty {
  color: rgba(205,191,187,.38);
}

.map-difficulty-unrated {
  color: var(--muted);
  font: 750 12px 'Barlow Condensed';
}

.map-difficulty > small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.2;
}

.map-update-panel {
  grid-template-columns: minmax(190px, 1fr) auto minmax(234px, 1fr);
  grid-template-areas:
    'last progress-value next'
    'progress progress progress';
  align-items: end;
  gap: 8px 24px;
  padding: 14px 17px 15px;
}

.map-update-last,
.map-update-next {
  align-self: end;
  margin-top: 0;
}

.map-update-last > strong {
  margin-top: 5px;
}

.map-update-last-meta {
  margin-top: 5px;
}

.map-update-progress-value {
  align-self: end;
  margin: 0 0 1px;
}

.map-update-next {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: flex-end;
  gap: 7px;
}

.map-update-force {
  grid-area: auto;
  align-self: auto;
  justify-self: auto;
}

@media (max-width: 820px) {
  .map-update-panel {
    grid-template-columns: minmax(150px, 1fr) auto minmax(210px, 1fr);
    grid-template-areas:
      'last progress-value next'
      'progress progress progress';
    align-items: end;
  }
}

@media (max-width: 560px) {
  .map-difficulty {
    margin-bottom: 15px;
  }

  .map-difficulty-stars {
    font-size: 18px;
  }

  .map-update-panel {
    grid-template-columns: 1fr;
    grid-template-areas:
      'last'
      'next'
      'progress-value'
      'progress';
    align-items: stretch;
  }

  .map-update-next {
    align-items: stretch;
  }

  .map-update-next > span {
    text-align: left;
  }

  .map-update-force,
  .map-update-force .force-update-button {
    width: 100%;
    max-width: 100%;
  }

  .map-update-progress-value {
    justify-self: center;
    margin-top: 3px;
  }
}

/* Final map meta link and update-heading alignment. */
.map-detail-meta {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 5px;
}

.map-detail-meta-label,
.map-difficulty-line > span {
  color: var(--ink);
}

.map-detail-meta-label {
  flex: 0 0 auto;
  font: 700 11px 'Barlow Condensed';
  letter-spacing: .12em;
  text-transform: uppercase;
}

.map-detail-uid-link {
  display: inline-block;
  min-width: 0;
  color: var(--salmon);
  text-decoration: underline;
  text-decoration-color: rgba(255,128,104,.55);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .18s ease, text-decoration-color .18s ease;
}

.map-detail-uid-link code {
  color: inherit;
}

.map-detail-uid-link:hover {
  color: #ff9a86;
  text-decoration-color: currentColor;
}

.map-detail-uid-link:focus-visible {
  outline: 2px solid var(--salmon);
  outline-offset: 3px;
}

.map-update-last,
.map-update-next {
  align-self: stretch;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-items: end;
}

.map-update-last > span,
.map-update-next > span {
  grid-row: 1;
  align-self: start;
  margin: 0;
}

.map-update-last > strong {
  grid-row: 2;
  align-self: end;
}

.map-update-last-meta,
.map-update-force {
  grid-row: 3;
  align-self: end;
}

.map-update-next {
  justify-content: stretch;
  gap: 0;
}

.map-update-next > span {
  width: 100%;
  text-align: right;
}

@media (max-width: 560px) {
  .map-detail-meta {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .map-detail-uid-link {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .map-update-last,
  .map-update-next {
    grid-template-rows: auto auto auto;
  }

  .map-update-next > span {
    text-align: left;
  }
}

/* Keep the update timestamp anchored left and the force-update control anchored right. */
.map-update-last,
.map-update-next {
  width: 100%;
}

.map-update-last > span,
.map-update-last > strong,
.map-update-last-meta {
  justify-self: start;
}

.map-update-last-meta {
  grid-area: auto;
  grid-row: 3;
  width: auto;
}

.map-update-next > span,
.map-update-force {
  justify-self: end;
}

.map-update-force {
  grid-area: auto;
  grid-row: 3;
  width: auto;
}

@media (max-width: 560px) {
  .map-update-next > span,
  .map-update-force {
    justify-self: stretch;
  }

  .map-update-force {
    width: 100%;
  }
}

/* Player profile identity and signed possible-gain presentation. */
.player-profile-identity {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 12px 0;
  overflow: visible;
}

.player-profile-identity-fit {
  --player-profile-frame-height: clamp(52px, 4.8vw, 62px);
  display: inline-flex;
  width: max-content;
  max-width: none;
  height: var(--player-profile-frame-height);
  align-items: flex-start;
  gap: clamp(12px, 1.5vw, 20px);
  overflow: visible;
  transform-origin: left top;
}

.player-profile-identity.is-fitted .player-profile-identity-fit {
  position: absolute;
  top: 0;
  left: 0;
}

.player-profile-identity h1 {
  width: max-content;
  min-width: max-content;
  height: var(--player-profile-frame-height);
  margin: 0;
  overflow: visible;
  font-size: calc(var(--player-profile-frame-height) * 1.38);
  line-height: 1;
  white-space: nowrap;
  transform-origin: left top;
}

.player-profile-club-tag {
  display: inline-flex;
  box-sizing: border-box;
  height: var(--player-profile-frame-height);
  min-width: max-content;
  align-items: center;
  justify-content: center;
  padding: 0 .32em;
  border: 2px solid rgba(255,255,255,.14);
  border-radius: 7px;
  background: #21191b;
  font: 800 calc(var(--player-profile-frame-height) * .68)/1 'Barlow Condensed';
  white-space: nowrap;
}

.player-profile-club-tag .tm-text-segment {
  line-height: 1;
}

.possible-gain-value {
  color: var(--ink) !important;
  font-variant-numeric: tabular-nums;
}

.profile-stats .average-rank-value,
.profile-stats .possible-gain-value {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 0;
}

.profile-stats .average-rank-main,
.profile-stats .possible-gain-main {
  display: block;
  color: var(--ink);
  font: inherit;
  line-height: normal;
  text-transform: none;
  white-space: nowrap;
}

.profile-stats .average-rank-detail,
.profile-stats .possible-gain-detail {
  display: block;
  margin: 3px 0 0;
  color: #777;
  font-family: Inter, Arial, sans-serif;
  font-size: .72rem;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}

.profile-stats .possible-gain-detail[hidden] {
  display: none;
}

[data-player-gain].possible-gain-value {
  color: #93e6ad !important;
}

[data-player-gain].possible-gain-value.is-world-record {
  color: var(--muted) !important;
  font-weight: 700;
}

.recent-improvement-rank {
  transition: color .22s ease, text-shadow .22s ease;
  font-variant-numeric: tabular-nums;
}

.recent-improvement-rank.is-rank-worse {
  color: var(--salmon);
  text-shadow: 0 0 12px rgba(255,128,104,.28);
}

.recent-improvement-rank.is-rank-better {
  color: #93e6ad;
  text-shadow: 0 0 12px rgba(147,230,173,.24);
}

@media (max-width: 700px) {
  .player-profile-identity-fit {
    --player-profile-frame-height: clamp(46px, 10vw, 56px);
    gap: 10px;
  }
}

/* Keep the Best Club/Nation player counts aligned as a shared number/label grid. */
.map-overview-leader-count {
  display: grid;
  width: 92px;
  grid-template-columns: 3ch 52px;
  justify-content: end;
  align-items: baseline;
  column-gap: 5px;
  text-align: initial;
}

.map-overview-leader-count strong {
  width: auto;
  min-width: 0;
  justify-self: stretch;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.map-overview-leader-count small {
  min-width: 0;
  justify-self: stretch;
  text-align: left;
}

@media (max-width: 560px) {
  .map-overview-leader-count {
    width: 84px;
    grid-template-columns: 3ch 44px;
  }
}

/* Map podium/table identities with the player's current zone below the full club/name row. */
.map-podium-player .map-player-identity.has-zone,
.player-cell .map-player-identity.has-zone {
  display: inline-flex;
  width: max-content;
  min-width: max-content;
  max-width: none;
  height: auto;
  align-items: flex-start;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0;
  overflow: visible;
}

.map-player-primary {
  display: inline-flex;
  width: max-content;
  min-width: max-content;
  align-items: stretch;
  flex: 0 0 auto;
  overflow: visible;
}

.map-podium-player .map-player-primary {
  height: 38px;
  gap: 8px;
}

.player-cell .map-player-fit-content > img {
  width: 53px;
  height: 35px;
}

.player-cell .map-player-identity.has-zone {
  font-size: 49px;
  line-height: .72;
}

.player-cell .map-player-primary {
  height: 35px;
  gap: 7px;
}

.map-podium-player .map-player-primary .map-club-tag,
.player-cell .map-player-primary .map-club-tag {
  height: 100%;
  min-height: 0;
}

.map-podium-player .map-player-primary .map-player-name,
.player-cell .map-player-primary .map-player-name {
  position: relative;
  top: -2px;
  display: flex;
  width: max-content;
  min-width: max-content;
  height: 100%;
  align-items: center;
  align-self: stretch;
  overflow: visible;
  font: inherit;
  font-weight: 850;
  line-height: .72;
  text-overflow: clip;
  white-space: nowrap;
}

.map-podium-player .map-player-zone,
.player-cell .map-player-zone {
  display: block;
  width: max-content;
  min-width: max-content;
  max-width: none;
  margin-left: 0;
  overflow: visible;
  color: var(--muted);
  font: 600 11px/1.1 Inter, Arial, sans-serif;
  letter-spacing: 0;
  text-align: left;
  text-overflow: clip;
  text-transform: none;
  white-space: nowrap;
}

.map-podium-player .map-player-zone {
  margin-top: 5px;
}

.player-cell .map-player-zone {
  margin-top: 4px;
}

.map-podium-player .map-player-fit-content,
.player-cell .map-player-fit-content {
  align-items: flex-start;
}

/* Final split layouts for map podium and leaderboard player identities. */
.map-podium-player .map-podium-fit-content {
  display: inline-flex;
  width: max-content;
  max-width: none;
  align-items: center;
  flex-direction: column;
  gap: 0;
  overflow: visible;
}

.map-podium-player .map-podium-identity-top {
  display: inline-flex;
  width: max-content;
  min-width: max-content;
  min-height: 45px;
  align-items: flex-start;
  justify-content: center;
  gap: 13px;
  overflow: visible;
}

.map-podium-player .map-podium-identity-top > img {
  width: 57px;
  height: 38px;
  flex: 0 0 57px;
  border: 1px solid rgba(255,255,255,.16);
  object-fit: cover;
}

.map-podium-player .map-podium-identity-top .map-player-identity {
  --map-identity-height: 38px;
  width: max-content;
  min-width: max-content;
  max-width: none;
  height: 38px;
  align-items: stretch;
  gap: 8px;
  flex: 0 0 auto;
  overflow: visible;
  font: 850 54px 'Barlow Condensed';
  line-height: .72;
}

.map-podium-player .map-podium-identity-top .map-player-name {
  position: relative;
  top: -2px;
  display: flex;
  width: max-content;
  min-width: max-content;
  height: 38px;
  align-items: center;
  overflow: visible;
  font: inherit;
  font-weight: 850;
  line-height: .72;
  text-overflow: clip;
  white-space: nowrap;
}

.map-podium-player .map-podium-zone {
  display: block;
  width: max-content;
  max-width: none;
  margin: 6px auto 0;
  align-self: center;
  overflow: visible;
  color: var(--muted);
  font: 600 22px/1.15 Inter, Arial, sans-serif;
  letter-spacing: 0;
  text-align: center;
  text-overflow: clip;
  text-transform: none;
  white-space: nowrap;
}

.player-cell {
  display: flex;
  min-height: 48px;
  align-items: center;
}

.player-cell .map-table-fit-box {
  align-self: center;
}

.player-cell .map-table-fit-content {
  display: inline-flex;
  width: max-content;
  max-width: none;
  align-items: stretch;
  flex-direction: row;
  gap: 8px;
  overflow: visible;
}

.player-cell .map-table-fit-content > img {
  width: 72px;
  height: 48px;
  align-self: stretch;
  flex: 0 0 72px;
  border: 1px solid rgba(255,255,255,.16);
  object-fit: cover;
}

.player-cell .map-table-identity-copy {
  display: grid;
  width: max-content;
  min-width: max-content;
  grid-template-rows: 24px 20px;
  row-gap: 4px;
  align-content: center;
  overflow: visible;
}

.player-cell .map-table-identity-copy > .map-player-identity {
  --map-identity-height: 24px;
  display: inline-flex;
  width: max-content;
  min-width: max-content;
  max-width: none;
  height: 24px;
  align-items: stretch;
  gap: 6px;
  overflow: visible;
  font: 850 34px 'Barlow Condensed';
  line-height: .72;
}

.player-cell .map-table-identity-copy .map-club-tag {
  height: 24px;
  align-self: flex-start;
}

.player-cell .map-table-identity-copy .map-player-name {
  position: relative;
  top: -1px;
  display: flex;
  width: max-content;
  min-width: max-content;
  height: 24px;
  align-items: center;
  align-self: flex-start;
  overflow: visible;
  font: inherit;
  font-weight: 850;
  line-height: .72;
  text-overflow: clip;
  white-space: nowrap;
}

.player-cell .map-table-zone {
  display: block;
  width: max-content;
  min-width: max-content;
  max-width: none;
  height: 20px;
  margin: 0;
  align-self: end;
  overflow: visible;
  color: var(--muted);
  font: 600 22px/20px Inter, Arial, sans-serif;
  letter-spacing: 0;
  text-align: left;
  text-overflow: clip;
  text-transform: none;
  white-space: nowrap;
}

.map-record-table td:nth-child(2) {
  vertical-align: middle;
}

@media (max-width: 560px) {
  .player-cell {
    min-height: 40px;
  }

  .player-cell .map-table-fit-content {
    gap: 7px;
  }

  .player-cell .map-table-fit-content > img {
    width: 60px;
    height: 40px;
    flex-basis: 60px;
  }

  .player-cell .map-table-identity-copy {
    grid-template-rows: 21px 17px;
    row-gap: 2px;
  }

  .player-cell .map-table-identity-copy > .map-player-identity {
    --map-identity-height: 21px;
    height: 21px;
    gap: 5px;
    font-size: 30px;
  }

  .player-cell .map-table-identity-copy .map-club-tag,
  .player-cell .map-table-identity-copy .map-player-name {
    height: 21px;
  }

  .player-cell .map-table-zone {
    height: 17px;
    font-size: 20px;
    line-height: 17px;
  }
}

/* Map leaderboard: final zone spacing refinements */
.player-cell .map-table-zone {
  font-size: 19px;
}

.map-podium-time {
  margin-top: 10px;
}

@media (max-width: 560px) {
  .player-cell .map-table-zone {
    font-size: 17px;
  }
}

/* Map leaderboard: align the zone baseline with the enlarged flag. */
.player-cell .map-table-zone {
  position: relative;
  top: 3px;
}

.map-podium-time {
  margin-top: 7px;
}

/* Multi-season controls and finalization state */
.season-controls {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-left: auto;
}

.season-select-wrap select {
  min-width: 126px;
  height: 38px;
  padding: 0 32px 0 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: #151012;
  color: var(--text);
  font: 750 13px/1 Inter, Arial, sans-serif;
  cursor: pointer;
}

.hunting-switch {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: #151012;
  color: var(--muted);
  font: 800 12px/1 Inter, Arial, sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.hunting-switch > span {
  position: relative;
  width: 30px;
  height: 17px;
  border-radius: 999px;
  background: #3a2b2e;
  transition: background .18s ease;
}

.hunting-switch > span::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #bba6a2;
  content: '';
  transition: transform .18s ease, background .18s ease;
}

.hunting-switch.is-active {
  border-color: rgba(255,128,104,.48);
  color: #ffd6ce;
}

.hunting-switch.is-active > span {
  background: rgba(255,128,104,.45);
}

.hunting-switch.is-active > span::after {
  background: #fff1ed;
  transform: translateX(13px);
}

.season-locked-badge,
.map-update-locked {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(154,180,255,.24);
  border-radius: 10px;
  background: rgba(63,79,126,.18);
  color: #cbd6ff;
  font-weight: 800;
}

.season-locked-badge { padding: 9px 12px; }
.map-update-locked { padding: 12px 14px; }
.map-update-locked small { color: var(--muted); font-weight: 600; }

.season-finalizing-page {
  position: relative;
  z-index: 1002;
  display: grid;
  width: 100%;
  min-height: 100vh;
  place-items: center;
  padding: 24px;
  background: radial-gradient(circle at 50% 18%, rgba(127,52,48,.28), transparent 36rem), #0b0809;
}

.season-finalizing-overlay {
  position: fixed;
  inset: 0;
}

body.season-finalizing-active {
  overflow: hidden;
}

body.season-finalizing-active > :not(.season-finalizing-overlay):not(.season-finalizing-page):not(.track-grid) {
  visibility: hidden;
}

.season-finalizing-card {
  width: min(680px, 100%);
  border: 1px solid rgba(255,128,104,.28);
  border-radius: 24px;
  background: rgba(21,16,18,.97);
  box-shadow: 0 34px 100px rgba(0,0,0,.52);
  padding: clamp(26px, 5vw, 48px);
  text-align: center;
}

.season-finalizing-logo {
  width: min(270px, 72%);
  max-height: 105px;
  margin: 0 auto 24px;
  object-fit: contain;
}

.season-finalizing-card h1 {
  margin: 9px 0 13px;
  font: 850 clamp(38px, 7vw, 66px)/.95 'Barlow Condensed', Inter, Arial, sans-serif;
  text-transform: uppercase;
}

.season-finalizing-copy {
  max-width: 570px;
  margin: 0 auto 30px;
  color: var(--muted);
  line-height: 1.65;
}

.season-finalizing-progress {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  text-align: left;
}

.season-finalizing-progress > div {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: #100c0d;
}

.season-finalizing-progress span { color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.season-finalizing-progress strong { font-size: 24px; }
.season-finalizing-bar { height: 10px; margin: 18px 0 14px; overflow: hidden; border-radius: 999px; background: #302225; }
.season-finalizing-bar i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#ff8068,#ffb07f); transition: width .35s ease; }
.season-finalizing-current { margin: 0; color: #f6ddd8; font-weight: 750; }
.season-finalizing-error { margin: 15px 0 0; border: 1px solid rgba(255,95,111,.32); border-radius: 10px; background: rgba(94,25,34,.3); color: #ffcbd1; padding: 12px; }

@media (max-width: 1180px) {
  .site-header { flex-wrap: wrap; }
  .season-controls { order: 4; width: 100%; justify-content: flex-end; }
}

@media (max-width: 760px) {
  .season-controls { justify-content: stretch; }
  .season-select-wrap { flex: 1; }
  .season-select-wrap select { width: 100%; }
  .season-finalizing-progress { grid-template-columns: 1fr; }
}

/* Season dropdown: compact custom menu matching the map filter controls. */
.season-dropdown {
  position: relative;
  width: 170px;
  flex: 0 0 170px;
}

.season-dropdown-toggle {
  display: grid;
  width: 100%;
  min-height: 38px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: #151012;
  color: var(--text);
  cursor: pointer;
  text-align: left;
}

.season-dropdown.is-open .season-dropdown-toggle,
.season-dropdown-toggle:focus-visible {
  border-color: var(--red);
  outline: 0;
}

.season-dropdown-current {
  min-width: 0;
  overflow: hidden;
  font: 750 13px/1 Inter, Arial, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.season-dropdown-chevron {
  color: var(--muted);
  font-size: 16px;
  transform: translateY(-2px);
  transition: transform .15s ease;
}

.season-dropdown.is-open .season-dropdown-chevron {
  transform: rotate(180deg) translateY(2px);
}

.season-dropdown-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 6px);
  right: 0;
  width: 100%;
  max-height: 330px;
  padding: 6px;
  overflow-y: auto;
  border: 1px solid var(--line);
  background: #100c0d;
  box-shadow: 0 18px 44px rgba(0,0,0,.48);
}

.season-dropdown-menu[hidden] {
  display: none;
}

.season-dropdown-option {
  display: grid;
  width: 100%;
  min-height: 40px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 6px 9px;
  color: var(--ink);
  text-decoration: none;
}

.season-dropdown-option > span {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.season-dropdown-option:hover,
.season-dropdown-option.is-selected {
  background: #211619;
}

.season-dropdown-option.is-selected {
  box-shadow: inset 3px 0 0 var(--red);
}

.season-dropdown-option.is-current {
  cursor: default;
  pointer-events: none;
}

.season-option-status {
  flex: 0 0 auto;
  font: 850 10px/1 Inter, Arial, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.season-option-status.is-live {
  color: #9ce9b5;
}

.season-dropdown.is-locked .season-dropdown-toggle {
  cursor: default;
  opacity: .72;
}

.hunting-switch.is-disabled {
  border-color: rgba(255,255,255,.08);
  color: #75666a;
  cursor: not-allowed;
  opacity: .62;
  pointer-events: none;
}

.hunting-switch.is-disabled > span {
  background: #2a2224;
}

.hunting-switch.is-disabled > span::after {
  background: #74686a;
  transform: none;
}

/* Compact, right-aligned final snapshot marker on map pages. */
.map-update-locked-wrap {
  width: auto;
  min-width: 0;
  align-items: flex-end;
  justify-self: end;
}

.map-update-locked {
  display: inline-grid;
  width: auto;
  min-width: 0;
  gap: 2px;
  padding: 7px 10px;
  justify-items: end;
  justify-self: end;
  text-align: right;
}

.map-update-locked strong {
  font: 850 14px/1.05 'Barlow Condensed', Inter, Arial, sans-serif;
  letter-spacing: .02em;
}

.map-update-locked small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 650;
  line-height: 1;
}

@media (max-width: 1120px) {
  .season-dropdown {
    width: 158px;
    flex-basis: 158px;
  }
}

@media (max-width: 680px) {
  .season-dropdown {
    width: 100%;
    flex: 1 1 auto;
  }

  .season-dropdown-menu {
    right: auto;
    left: 0;
    width: 100%;
  }

  .map-update-locked-wrap {
    align-items: flex-start;
  }
}

/* Align 24h club/nation counts to the card edge while reserving exactly the plural label width. */
.map-overview-card[data-map-card="leaders"] .map-overview-leader-count {
  display: grid;
  width: auto;
  grid-template-columns: minmax(2ch, max-content) max-content;
  align-items: baseline;
  justify-self: end;
  column-gap: 5px;
}

.map-overview-card[data-map-card="leaders"] .map-overview-leader-count strong {
  width: auto;
  min-width: 2ch;
  justify-self: end;
  text-align: right;
}

.map-overview-card[data-map-card="leaders"] .map-overview-leader-count small {
  display: inline-grid;
  min-width: 0;
  justify-self: end;
  text-align: left;
}

.map-overview-card[data-map-card="leaders"] .map-overview-leader-count small::before,
.map-overview-card[data-map-card="leaders"] .map-overview-leader-count small > span {
  grid-area: 1 / 1;
}

.map-overview-card[data-map-card="leaders"] .map-overview-leader-count small::before {
  content: "players";
  visibility: hidden;
}

/* Lightweight map data loading: keep the current layout stable while only the table/view data changes. */
.map-leaderboard .map-table-wrap {
  transition: opacity .16s ease;
}

.map-leaderboard.is-loading .map-table-wrap,
.map-leaderboard.is-loading .map-pagination {
  opacity: .48;
  pointer-events: none;
}

.map-leaderboard.has-load-error .map-table-wrap {
  animation: map-load-error-pulse .8s ease;
}

.hunting-switch.is-loading {
  opacity: .62;
  pointer-events: none;
  cursor: progress;
}

@keyframes map-load-error-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .45; }
}

/* Snapshot map state: keep mutually exclusive update panels hidden and compact. */
[data-map-force-live][hidden],
[data-map-force-locked][hidden],
[data-map-updated-relative-value][hidden] {
  display: none !important;
}

.map-snapshot-global-info {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
}

.map-snapshot-global-info[hidden] {
  display: none !important;
}

.map-snapshot-global-info img {
  display: block;
  width: 20px;
  height: 20px;
}

.map-snapshot-global-info:focus-visible {
  outline: 1px solid var(--salmon);
  outline-offset: 2px;
}

.map-snapshot-tooltip {
  position: fixed;
  z-index: 10000;
  max-width: min(240px, calc(100vw - 24px));
  padding: 7px 10px;
  border: 1px solid rgba(232, 174, 168, .28);
  border-radius: 5px;
  background: #181113;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .42);
  color: #eee7e8;
  font: 600 12px/1.35 Inter, Arial, sans-serif;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  white-space: nowrap;
  pointer-events: none;
}

.map-snapshot-tooltip[hidden] {
  display: none !important;
}

.map-snapshot-tooltip::after {
  content: '';
  position: absolute;
  left: var(--tooltip-arrow-left, 50%);
  top: 100%;
  width: 7px;
  height: 7px;
  border-right: 1px solid rgba(232, 174, 168, .28);
  border-bottom: 1px solid rgba(232, 174, 168, .28);
  background: #181113;
  transform: translate(-50%, -50%) rotate(45deg);
}

.map-snapshot-tooltip.is-below::after {
  top: 0;
  border: 0;
  border-left: 1px solid rgba(232, 174, 168, .28);
  border-top: 1px solid rgba(232, 174, 168, .28);
}

/* Final snapshot alignment and footer mode metadata. */
.map-update-locked-wrap .map-update-locked {
  grid-row: 3;
  align-self: end;
  margin-top: 10px;
}

.map-live-root[data-map-snapshot-mode="1"] .map-update-last-meta {
  margin-top: 10px;
}

@media (min-width: 561px) {
  .map-live-root[data-map-snapshot-mode="1"] .map-update-panel {
    min-height: 96px;
  }
}

.site-footer .site-footer-season-meta {
  display: inline-flex;
  align-items: baseline;
  gap: .35em;
  white-space: nowrap;
}

.site-footer .site-footer-season-meta > span,
.site-footer .site-footer-mode-separator,
.site-footer [data-footer-mode-label] {
  display: inline;
}


/* Non-blocking notice shown when a new active season appears while a page is open. */
.new-season-notice {
  position: fixed;
  z-index: 900;
  top: 86px;
  right: 20px;
  display: grid;
  width: min(360px, calc(100vw - 24px));
  gap: 8px;
  padding: 17px;
  border: 1px solid rgba(255, 112, 94, .36);
  border-radius: 12px;
  background: #171012;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .48);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}

.new-season-notice.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.new-season-notice-kicker {
  color: var(--salmon);
  font: 850 11px/1 Inter, Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.new-season-notice > strong {
  color: var(--text);
  font: 800 24px/1.05 'Barlow Condensed', Inter, Arial, sans-serif;
}

.new-season-notice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 5px;
}

@media (max-width: 680px) {
  .new-season-notice {
    top: auto;
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
  }
}

/* Player snapshot time context and All-Seasons table columns. */
.profile-stats-compact > .last-finished-stat {
  overflow: visible;
}

.last-finished-stat {
  position: relative;
}

.last-finished-map-link {
  display: block;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.last-finished-map-link[href]:hover,
.last-finished-map-link[href]:focus-visible {
  color: var(--salmon);
}

.player-snapshot-global-info {
  position: absolute;
  top: -29px;
  right: 0;
  z-index: 3;
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
}

.player-snapshot-global-info img {
  display: block;
  width: 20px;
  height: 20px;
}

.player-snapshot-global-info:focus-visible {
  outline: 1px solid var(--salmon);
  outline-offset: 2px;
}

.player-map-table .player-map-col-season {
  width: clamp(92px, 8vw, 118px);
}

.player-map-season-cell {
  padding-left: 10px;
  padding-right: 8px;
  overflow: hidden;
  color: #cbd6ff;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-map-season-cell .player-map-season-badge {
  max-width: 100%;
  min-height: 18px;
  padding: 1px 6px;
  overflow: hidden;
  font-size: 9.5px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-map-table:not(.has-force-update-column) {
  min-width: 820px;
}

.player-map-table.has-season-column:not(.has-force-update-column) {
  min-width: 940px;
}

/* Keep the global snapshot explanation visually above Last Finisher. */
.map-overview-card-shell {
  position: relative;
  min-width: 0;
}

.map-overview-card-shell > .map-overview-card {
  box-sizing: border-box;
  height: 100%;
}

.map-overview-card-shell > .map-snapshot-global-info {
  top: -29px;
  right: 0;
}

/* Compact server-side pagination shared by map and player tables. */
.map-pagination button,
.player-pagination button {
  width: auto;
  min-width: 38px;
  padding: 0 11px;
  white-space: nowrap;
}

.player-pagination {
  padding: 22px 0 0;
  margin-bottom: 100px;
}

.player-pagination button {
  display: grid;
  place-items: center;
  height: 38px;
  border: 1px solid var(--line);
  background: #100c0d;
  color: var(--ink);
  cursor: pointer;
}

.player-pagination button:hover,
.map-pagination button:hover {
  border-color: var(--red);
}

.player-pagination button.active,
.map-pagination button.active {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
}

.player-pagination button:disabled,
.map-pagination button:disabled {
  border-color: var(--line);
  background: #100c0d;
  color: #666;
  cursor: default;
}

.player-pagination button:disabled:hover,
.map-pagination button:disabled:hover {
  border-color: var(--line);
}

.player-profile-content .table-wrap,
.player-profile-content .player-pagination {
  transition: opacity .16s ease;
}

.player-profile-content.is-player-table-loading .table-wrap,
.player-profile-content.is-player-table-loading .player-pagination {
  opacity: .48;
  pointer-events: none;
}

.player-profile-content.has-player-table-error .table-wrap {
  animation: map-load-error-pulse .8s ease;
}

@media (max-width: 680px) {
  .map-pagination,
  .player-pagination {
    gap: 4px;
  }

  .map-pagination button,
  .player-pagination button {
    min-width: 32px;
    height: 34px;
    padding: 0 7px;
    font-size: 11px;
  }
}

/* Trailer page: season-independent trailer selection. */
.trailer-hero-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px
}

.trailer-hero-row h1 {
  margin-bottom: 0
}

.trailer-season-picker {
  display: grid;
  min-width: min(320px, 100%);
  gap: 7px
}

.trailer-season-picker label {
  color: var(--muted);
  font: 800 11px/1 Inter, Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase
}

.trailer-season-picker select {
  width: 100%;
  min-height: 44px;
  padding: 0 38px 0 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: #151012;
  color: var(--text);
  font: 750 14px/1 Inter, Arial, sans-serif;
  cursor: pointer
}

.trailer-season-picker select:focus-visible {
  outline: 2px solid rgba(239,51,79,.4);
  border-color: var(--red)
}

.trailer-empty {
  margin-bottom: 130px;
  padding: 34px;
  border: 1px solid var(--line);
  background: var(--panel)
}

.trailer-empty strong {
  display: block;
  margin-bottom: 8px;
  font: 800 28px/1 'Barlow Condensed';
  text-transform: uppercase
}

.trailer-empty p {
  margin: 0;
  color: var(--muted)
}

@media (max-width: 760px) {
  .trailer-hero-row {
    align-items: stretch;
    flex-direction: column
  }

  .trailer-season-picker {
    min-width: 0;
    width: 100%
  }
}

/* Keep the player-table map-update legend above the scroll container instead of clipping it. */
.player-profile-content .force-update-legend-panel.is-player-floating {
  position: fixed;
  z-index: 1200;
  right: auto;
  width: min(440px, calc(100vw - 24px));
  transform: translateY(-7px);
}

.player-profile-content .force-update-legend:hover .force-update-legend-panel.is-player-floating,
.player-profile-content .force-update-legend:focus-within .force-update-legend-panel.is-player-floating {
  transform: translateY(0);
}

.player-profile-content .force-update-legend-panel.is-player-floating::before {
  right: auto;
  left: var(--player-legend-arrow-left, 50%);
  transform: translateX(-50%) rotate(45deg);
}

.player-profile-content .force-update-legend-panel.is-player-floating.is-above {
  transform: translateY(7px);
}

.player-profile-content .force-update-legend:hover .force-update-legend-panel.is-player-floating.is-above,
.player-profile-content .force-update-legend:focus-within .force-update-legend-panel.is-player-floating.is-above {
  transform: translateY(0);
}

.player-profile-content .force-update-legend-panel.is-player-floating.is-above::before {
  top: auto;
  bottom: -7px;
  border-top: 0;
  border-left: 0;
  border-right: 1px solid rgba(239, 51, 79, .42);
  border-bottom: 1px solid rgba(239, 51, 79, .42);
}

/* Global leaderboard rebuilt on the map-detail visual system. */
.leaderboard-page-content {
  margin-bottom: 110px;
}

.global-leaderboard-root {
  overflow: visible;
}

.global-leaderboard-podium[hidden] {
  display: none;
}

.leaderboard-podium-card {
  justify-content: flex-start;
}

.leaderboard-podium-primary {
  display: grid;
  width: 100%;
  margin-top: 16px;
  padding-top: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  border-top: 1px solid rgba(255,255,255,.09);
}

.leaderboard-podium-primary-metric {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.leaderboard-podium-primary-metric strong {
  color: var(--ink);
  font: 900 clamp(28px, 3vw, 43px)/.9 'Barlow Condensed';
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.leaderboard-podium-primary-metric small {
  margin: 0 0 7px;
  color: var(--muted);
  font: 800 11px/1 'Barlow Condensed';
  letter-spacing: .08em;
}

.leaderboard-podium-primary-detail {
  display: flex;
  width: 100%;
  height: 12px;
  margin-top: 5px;
  align-items: center;
  justify-content: center;
}

.leaderboard-podium-progress {
  width: min(100%, 112px);
  height: 4px;
  margin: 0;
}

.leaderboard-podium-milliseconds {
  color: var(--muted);
  font: 600 10px/1 Inter, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.leaderboard-podium-finishes {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.leaderboard-podium-finishes span {
  color: var(--muted);
  font-size: .5em;
}

.leaderboard-podium-stats {
  display: grid;
  width: 100%;
  margin-top: 15px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
}

.leaderboard-podium-stats > div {
  display: flex;
  min-width: 0;
  padding: 10px 6px 9px;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.leaderboard-podium-stats > div + div {
  border-left: 1px solid rgba(255,255,255,.08);
}

.leaderboard-podium-stats strong {
  color: var(--salmon);
  font: 900 19px/1 'Barlow Condensed';
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.leaderboard-podium-stats span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.15;
  white-space: nowrap;
}

.global-leaderboard-count {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.global-leaderboard-active-filters[hidden] {
  display: none;
}

.global-leaderboard-query-filter {
  display: inline-flex;
  min-height: 27px;
  padding: 4px 9px;
  align-items: center;
  border: 1px solid var(--line);
  background: #211619;
  color: var(--ink);
  font-size: 11px;
}

.global-leaderboard-table {
  min-width: 1120px;
}

.global-leaderboard-table th:not(:nth-child(2)),
.global-leaderboard-table td:not(:nth-child(2)) {
  text-align: center;
}

.global-leaderboard-table th:nth-child(1),
.global-leaderboard-table td:nth-child(1) {
  width: 72px;
}

.global-leaderboard-table th:nth-child(2),
.global-leaderboard-table td:nth-child(2) {
  width: 34%;
  min-width: 300px;
}

.global-leaderboard-table td {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.global-leaderboard-table .leaderboard-finishes strong {
  font-size: 16px;
  color: var(--ink);
}

.global-leaderboard-table .leaderboard-finishes strong span {
  color: var(--muted);
  font-size: .72em;
}

.global-leaderboard-table .progress {
  width: 100%;
  max-width: 112px;
  margin: 8px auto 0;
}

.global-leaderboard-pagination {
  margin-bottom: 0;
}

.map-player-linked-cell a {
  color: inherit;
  text-decoration: none;
}

.map-identity-flag-link {
  display: inline-flex;
  flex: 0 0 auto;
  align-self: stretch;
  align-items: stretch;
}

.map-identity-flag-link:hover,
.map-identity-player-link:hover,
.map-identity-club-link:hover {
  filter: brightness(1.14);
}

.player-cell .map-table-fit-content > .map-identity-flag-link {
  width: 72px;
  height: 48px;
  flex: 0 0 72px;
}

.player-cell .map-table-fit-content > .map-identity-flag-link > img {
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255,255,255,.16);
  object-fit: cover;
}

.map-podium-player .map-podium-identity-top > .map-identity-flag-link {
  width: 57px;
  height: 38px;
  flex: 0 0 57px;
}

.map-podium-player .map-podium-identity-top > .map-identity-flag-link > img {
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255,255,255,.16);
  object-fit: cover;
}

.map-identity-player-link {
  color: var(--ink) !important;
}

.map-identity-club-link {
  flex: 0 0 auto;
}

/* The linked table identity keeps club tag and player name on one line;
   the zone is rendered by the separate row below it. */
.map-player-linked-cell .map-table-identity-copy > .map-player-identity {
  display: inline-flex;
  height: var(--map-identity-height, 24px);
  align-items: stretch;
  flex-direction: row;
  gap: 6px;
}

.global-leaderboard-root.is-loading .global-leaderboard-table-wrap,
.global-leaderboard-root.is-loading .global-leaderboard-pagination,
.global-leaderboard-root.is-loading .global-leaderboard-podium {
  opacity: .48;
  pointer-events: none;
}

.global-leaderboard-root .global-leaderboard-table-wrap,
.global-leaderboard-root .global-leaderboard-pagination,
.global-leaderboard-root .global-leaderboard-podium {
  transition: opacity .16s ease;
}

.global-leaderboard-root.has-load-error .global-leaderboard-table-wrap {
  animation: map-load-error-pulse .8s ease;
}

@media (max-width: 1180px) {
  .leaderboard-podium-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .leaderboard-podium-stats > div:nth-child(3) {
    border-left: 0;
  }

  .leaderboard-podium-stats > div:nth-child(n+3) {
    border-top: 1px solid rgba(255,255,255,.08);
  }
}

@media (max-width: 900px) {
  .global-leaderboard-root .map-table-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .global-leaderboard-count {
    align-self: flex-end;
  }
}

@media (max-width: 560px) {
  .player-cell .map-table-fit-content > .map-identity-flag-link {
    width: 60px;
    height: 40px;
    flex-basis: 60px;
  }

  .leaderboard-podium-primary {
    gap: 8px;
  }

  .leaderboard-podium-primary-metric strong {
    font-size: 27px;
  }

  .leaderboard-podium-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .leaderboard-podium-stats > div:nth-child(3) {
    border-left: 0;
  }

  .leaderboard-podium-stats > div:nth-child(n+3) {
    border-top: 1px solid rgba(255,255,255,.08);
  }
}

.global-leaderboard-club-menu {
  display: flex;
  max-height: 380px;
  overflow: hidden;
  flex-direction: column;
}

.global-leaderboard-club-menu[hidden] {
  display: none;
}

.global-leaderboard-option-search {
  display: block;
  flex: 0 0 auto;
  padding: 2px 2px 7px;
}

.global-leaderboard-option-search input {
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  background: #181213;
  color: var(--ink);
  font: 500 12px Inter, Arial, sans-serif;
}

.global-leaderboard-option-search input:focus {
  border-color: rgba(255,128,104,.72);
  outline: none;
}

.global-leaderboard-option-list {
  min-height: 0;
  overflow-y: auto;
}

.global-leaderboard-option-status {
  display: block;
  flex: 0 0 auto;
  padding: 7px 9px 4px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

/* Legal footer links and privacy-first YouTube trailer. */
.footer-link-divider {
  width: 1px;
  height: 18px;
  align-self: center;
  background: var(--line);
}

.video-consent {
  display: grid;
  place-items: center;
  min-height: min(68vw, 670px);
  padding: clamp(22px, 5vw, 60px);
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 45%, rgba(239, 51, 79, .12), transparent 38%),
    linear-gradient(145deg, #171012, #0b0809);
}

.video-consent-card {
  display: grid;
  justify-items: center;
  max-width: 650px;
  text-align: center;
}

.video-consent-card > strong {
  margin-top: 12px;
  font: 900 clamp(34px, 5vw, 58px)/.95 'Barlow Condensed', sans-serif;
  text-transform: uppercase;
}

.video-consent-card > p {
  max-width: 590px;
  margin: 20px 0 24px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.video-consent-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.video-consent-card > small {
  margin-top: 20px;
  color: var(--muted);
  font-size: 12px;
}

.video-consent-card > small a,
.video-consent-noscript a {
  color: var(--salmon);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.video-consent.is-loaded {
  display: block;
  min-height: 0;
  padding: 0;
  background: #000;
}

.video-consent-noscript {
  margin: 18px 0 0;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 760px) {
  .footer-link-divider {
    display: none !important;
  }
}

@media (max-width: 560px) {
  .video-consent {
    min-height: 420px;
  }

  .video-consent-actions {
    width: 100%;
  }

  .video-consent-actions .button {
    width: 100%;
  }
}
