body { margin: 0; background: #f2f2f2; }
article > header { display: none; }
#wrapper_container.default-template { padding-top: 0px; }
.ad-leaderboards, .ad-leaderboards * { box-sizing: border-box; }
.ad-leaderboards [hidden] { display: none !important; }

.ad-leaderboards {
	--ad-black: #000;
	--ad-white: #fff;
	--ad-mid: #565B69;
	--ad-light: #F2F2F2;
	--ad-gold: #EFA200;
	--ad-border: #dee1e5;
	--ad-title-font: "Futura PT", Futura, "Century Gothic", "Trebuchet MS", Arial, sans-serif;
	--ad-body-font: "Open Sans", Arial, Helvetica, sans-serif;
	width: min(1200px, calc(100% - 40px));
	margin: 0px auto 56px;
	/*border: 1px solid #e1e1e1;*/
	background: var(--ad-white);
	color: var(--ad-black);
	font-family: var(--ad-body-font);
	font-size: 14px;
	line-height: 1.5;
}
.ad-leaderboards button, .ad-leaderboards select { font: inherit; }

/* A shorter hero brings the rankings higher into the viewport. */
.ad-leaderboards .adlb-hero {
	position: relative;
	overflow: hidden;
	padding: 38px 62px 36px;
	color: var(--ad-white);
	background: var(--ad-black);
}
.adlb-hero h1 {
	position: relative;
	z-index: 1;
	max-width: 850px;
	margin: 0;
	color: var(--ad-white);
	font-family: var(--ad-title-font);
	font-size: clamp(32px, 4.1vw, 50px)!important;
	font-weight: 700;
	line-height: 1.14;
}
.adlb-hero h1::after {
	content: "";
	display: block;
	width: 60px;
	height: 4px;
	margin-top: 17px;
	background: var(--ad-gold);
}
.adlb-intro {
	position: relative;
	z-index: 1;
	max-width: 680px;
	margin: 13px 0 0;
	color: #d2d4d7;
	font-size: 20px;
	line-height: 1.6;
}

.adlb-content {
	display: grid;
	grid-template-columns: 272px minmax(0, 1fr);
	min-height: 600px;
}
.adlb-sidebar {
	min-width: 0;
	padding: 29px 22px 38px;
	border-right: 1px solid var(--ad-border);
	background: #f4f5f6;
}
.adlb-section-label {
	margin: 0 0 24px;
	font-family: var(--ad-title-font);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.2;
	letter-spacing: .035em;
	text-transform: uppercase;
}
.adlb-section-label::after {
	content: "";
	display: block;
	width: 34px;
	height: 2px;
	margin-top: 10px;
	background: var(--ad-gold);
}
.game-list { display: grid; gap: 22px; }
.game-group { min-width: 0; }
.game-group-heading {
	margin: 0 0 9px;
	color: var(--ad-mid);
	font-family: var(--ad-title-font);
	font-weight: 700;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .055em;
	text-transform: uppercase;
}
.game-group-items { display: grid; gap: 5px; }
.ad-leaderboards button.game {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #dfe2e6;
	border-left: 3px solid transparent;
	border-radius: 0;
	background: var(--ad-white);
	color: var(--ad-black);
	font-family: var(--ad-title-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.ad-leaderboards button.game:hover:not(.active) {
	background: #fff;
	border-color: #a9b1bc;
	border-left-color: #a9b1bc;
}
.ad-leaderboards button.game.active {
	border-color: var(--ad-gold);
	border-left-color: var(--ad-gold);
	background: var(--ad-gold);
	color: var(--ad-black);
}
.ad-leaderboards button.game:focus-visible,
.ad-leaderboards .mobile-game-select:focus-visible {
	outline: 3px solid var(--ad-gold);
	outline-offset: 2px;
}
.mobile-challenge-picker { display: none; }

.adlb-main { min-width: 0; padding: 36px 34px 50px; }
.board-header { margin: 0 0 23px; }
.board-title h2 {
	margin: 0;
	font-family: var(--ad-title-font);
	font-size: clamp(27px, 3.3vw, 38px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.015em;
}
.board-subtitle {
	margin: 6px 0 0;
	color: var(--ad-mid);
	font-family: var(--ad-title-font);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
}
.board-subtitle .duration { color: #7e8794; }
.board-subtitle .dot { padding: 0 7px; color: #a4aab3; }

/* Five columns on desktop; mobile hides dates to preserve legibility. */
.table-wrap {
	width: 100%;
	max-width: 900px;
	overflow-x: auto;
	border: 1px solid var(--ad-border);
	background: #fff;
}
.adlb-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.adlb-table col.col-rank { width: 77px; }
.adlb-table col.col-country { width: 96px; }
.adlb-table col.col-score { width: 105px; }
.adlb-table col.col-date { width: 132px; }
.adlb-table thead th {
	padding: 12px 13px;
	background: var(--ad-gold);
	color: var(--ad-black);
	text-align: left;
	font-family: var(--ad-title-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.adlb-table tbody td {
	padding: 11px 13px;
	border-bottom: 1px solid #e8ebef;
	background: #fff;
	vertical-align: middle;
}
.adlb-table tbody tr:nth-child(even) td { background: #fafbfc; }
.adlb-table tbody tr:last-child td { border-bottom: 0; }
.adlb-table tbody tr:hover td { background: #edf2f6; }
.adlb-table .rank {
	font-family: var(--ad-title-font);
	font-size: 18px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.nickname {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: var(--ad-title-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.28;
}
.flag {
	width: 28px;
	height: 21px;
	border: 1px solid #d4d4d4;
	object-fit: cover;
	vertical-align: middle;
}
.flag-fallback {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 21px;
	border: 1px solid #d4d4d4;
	color: var(--ad-mid);
	font-size: 10px;
	font-weight: 700;
	vertical-align: middle;
}
.adlb-table th.country-head, .adlb-table td.country-cell { text-align: center; }
/* Align the country label and flags visually midway between rank and player. */
.country-content { display: inline-flex; align-items: center; justify-content: center; transform: translateX(-15px); }
/* Pull the scores away from the date, without moving the date itself. */
.adlb-table th.score-head, .adlb-table td.score { padding-right: 35px; }
.adlb-table th.score-head { text-align: right; }
.score {
	font-family: var(--ad-title-font);
	font-size: 18px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}
.date { color: var(--ad-mid); font-size: 12px; white-space: nowrap; }

/* Restrained podium treatments, based on actual rank rather than row index. */
.adlb-table tbody tr.podium-first td { background: #fff9ec; }
.adlb-table tbody tr.podium-second td { background: #f4f6f8; }
.adlb-table tbody tr.podium-third td { background: #fcf7f2; }
.adlb-table tbody tr.podium-first td:first-child { border-left: 4px solid #e0a12c; }
.adlb-table tbody tr.podium-second td:first-child { border-left: 4px solid #a0aab6; }
.adlb-table tbody tr.podium-third td:first-child { border-left: 4px solid #bd8b63; }
.adlb-table tbody tr.podium-first .rank { color: #9b6a1b; }
.adlb-table tbody tr.podium-second .rank { color: #667483; }
.adlb-table tbody tr.podium-third .rank { color: #a36f4a; }
.adlb-table tbody tr.podium-first:hover td { background: #fff1d4; }
.adlb-table tbody tr.podium-second:hover td { background: #e9edf2; }
.adlb-table tbody tr.podium-third:hover td { ackground: #f6ebe1; }

.empty {
	padding: 56px 20px;
	color: var(--ad-mid);
	text-align: center;
	font-size: 14px;
}

@media (max-width: 1020px) {
	.adlb-content { grid-template-columns: 242px minmax(0, 1fr); }
	.adlb-sidebar { padding: 27px 16px 32px; }
	.adlb-main { padding: 32px 22px 40px; }
	.adlb-table col.col-rank { width: 65px; }
	.adlb-table col.col-country { width: 74px; }
	.adlb-table col.col-score { width: 92px; }
	.adlb-table col.col-date { width: 119px; }
	.adlb-table thead th, .adlb-table tbody td { padding-left: 10px; padding-right: 10px; }
	.country-content { transform: translateX(-7px); }
	.adlb-table th.score-head, .adlb-table td.score { padding-right: 25px; }
}
@media (max-width: 790px) {
	.ad-leaderboards { width: min(100% - 24px, 1200px); margin: 0 auto 35px; }
	.adlb-content { grid-template-columns: 1fr; min-height: 0; }
	.adlb-sidebar { border-right: 0; border-bottom: 1px solid var(--ad-border); }
	.game-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
	.ad-leaderboards .adlb-hero { padding: 33px 35px 32px; }
	.adlb-main { padding: 29px 25px 36px; }
}
@media (max-width: 650px) {
        #container .wrapper { padding-right: 0; padding-left: 0; }    
        article .entry-content { padding-right: 0; padding-left: 0; }    
	.ad-leaderboards { width: 100%; margin: 0 auto; border-left: 0; border-right: 0; }
	.ad-leaderboards .adlb-hero { padding: 31px 20px 29px; }
	.adlb-hero h1 { font-size: clamp(28px, 7.5vw, 35px); }
	.adlb-hero h1::after { margin-top: 14px; }
	.adlb-intro { margin-top: 11px; font-size: 18px; }
	.adlb-sidebar { padding: 18px 16px 20px; }
	.adlb-section-label, .game-list { display: none; }
	.mobile-challenge-picker { display: block; }
  .mobile-challenge-picker label {
      display: block;
      margin-bottom: 8px;
      color: var(--ad-mid);
      font-family: var(--ad-title-font);
      font-weight: 700;
      font-size: 12px;
      letter-spacing: .04em;
      text-transform: uppercase;
  }
  .ad-leaderboards .mobile-game-select {
      display: block;
      width: 100%;
      min-height: 45px;
      padding: 9px 38px 9px 13px;
      border: 1px solid #cfd5dc;
      border-radius: 0;
      background-color: #fff;
      color: var(--ad-black);
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
  }
  .adlb-main { padding: 26px 16px 32px; }
  .board-title h2 { font-size: 28px; }
  .board-subtitle { font-size: 18px; }
  .board-header { margin-bottom: 19px; }
  .adlb-table col.col-rank { width: 49px; }
  .adlb-table col.col-country { width: 60px; }
  .adlb-table col.col-score { width: 72px; }
  /*.adlb-table col.col-date { display: none; }*/
  .adlb-table thead th, .adlb-table tbody td { padding: 11px 7px; }
  /* At phone widths, keep the tight four-column layout unshifted. */
  .country-content { transform: none; }
  .adlb-table th.score-head, .adlb-table td.score { padding-right: 7px; }
  .adlb-table thead th { font-size: 10px; letter-spacing: .025em; }
  /*.adlb-table thead th:nth-child(5), .adlb-table tbody td:nth-child(5) { display: none; }*/
  .adlb-table .rank, .adlb-table .score { font-size: 16px; }
  .adlb-table .nickname { font-size: 14px; }
  .adlb-table .flag, .adlb-table .flag-fallback { width: 21px; height: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.ad-leaderboards button.game { transition: none; }
}
