/* 랭크 공용 스코어보드 (lab/rank/, lab/act/) — page.css 토큰 기반 */
.rankPage {
  margin-top: 10px;
}
.rankTitle {
  margin: 10px 0 0;
  padding: 18px 0;
  color: var(--t_150);
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  border-bottom: 1px solid var(--d_250);
}
.rankTitle a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0 12px;
  vertical-align: middle;
  color: var(--t_500);
  font-size: 14px;
  text-decoration: none;
  background: var(--b_200);
  border-radius: 50%;
  transition: background 0.15s, color 0.15s;
}
.rankTitle a:hover {
  color: var(--t_200);
  background: var(--b_300);
}
.rankTitle__wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  vertical-align: middle;
}
.rankTitle__year {
  color: var(--t_500);
  font-size: 13px;
  font-weight: 500;
}
.rankTitle__month {
  color: var(--t_150);
  font-size: 20px;
}

.mgame {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 24px 10px;
  font-size: 0;
}
.mgame__c {
  width: 300px;
  font-size: 14px;
  background: var(--b_100);
  border: 1px solid var(--d_250);
  border-radius: 12px;
  overflow: hidden;
}
.mm .mgame__c {
  width: 100%;
  max-width: 340px;
}
.mgame__title {
  margin: 0;
  padding: 12px 15px;
  color: var(--t_200);
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  background: var(--b_150);
  border-bottom: 1px solid var(--d_200);
}
.mgame__title a,
.mgame__title a.auto {
  display: block;
  padding: 0;
  color: inherit;
  text-decoration: none;
  background: none;
}
.mgame__title a:hover,
.mgame__title a.auto:hover {
  color: var(--t_link);
  background: none;
}
.mm .mgame__title {
  font-size: 16px;
}
.mgame__link {
  padding: 1px 5px;
}

.scoreboard {
  width: 100%;
  border-collapse: collapse;
}
.scoreboard th,
.scoreboard td {
  padding: 4px 8px;
  color: var(--t_300);
  font-size: 13px;
  font-weight: 400;
  text-align: center;
  border-bottom: 1px solid var(--d_200);
}
.scoreboard tr:first-child th {
  padding: 8px;
  color: var(--t_500);
  font-size: 12px;
  font-weight: 600;
  background: var(--b_200);
}
.scoreboard tr:last-child th,
.scoreboard tr:last-child td {
  border-bottom: none;
}
.mm .scoreboard {
  font-size: 14px;
}

/* 메달 (1~3위) */
.rank-1 td:first-child,
.rank-2 td:first-child,
.rank-3 td:first-child {
  font-size: 0;
}
.rank-1 td:first-child::before { content: "🥇"; font-size: 15px; }
.rank-2 td:first-child::before { content: "🥈"; font-size: 15px; }
.rank-3 td:first-child::before { content: "🥉"; font-size: 15px; }
.rank-1 th, .rank-1 td,
.rank-2 th, .rank-2 td,
.rank-3 th, .rank-3 td {
  font-weight: 600;
  background: var(--b_150);
}

/* 내 순위 */
.is-mine th,
.is-mine td,
.is-mine.rank-1 td,
.is-mine.rank-2 td,
.is-mine.rank-3 td {
  color: var(--t_link);
  font-weight: 700;
  background: var(--b_tint_blue);
}
