@font-face {
  font-family: "TikuLatin";
  src: local("Times New Roman"), local("TimesNewRomanPSMT"), local("Times"), local("Noto Serif");
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+2070-209F, U+2100-214F, U+2190-21FF, U+2200-22FF;
}

html, body {
  font-family: "TikuLatin", "Times New Roman", Times, "Noto Serif", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}

input, textarea, button, select {
  font-family: inherit;
}

.katex {
  font-size: 1em !important;
}

.diff-pill {
  font-size: 0.72rem;
  padding: 1px 7px;
  border-radius: 4px;
  margin-left: 6px;
  font-weight: 600;
  vertical-align: middle;
}
.diff-easy { background: #d4edda; color: #1e5631; }
.diff-mid { background: #fff3cd; color: #856404; }
.diff-hard { background: #f8d7da; color: #721c24; }

/* 榜上前十：1–3 皇冠 + 金银铜色，4–10 奖牌 */
.ladder-rank-1 .nick, .sprint-rank-1 .nick,
.ladder-rank-1 td:first-child, .sprint-rank-1 td:first-child {
  color: #c9a227;
  font-weight: 700;
}
.ladder-rank-1 .nick::before, .sprint-rank-1 .nick::before {
  content: "👑 ";
  font-size: 1.05em;
}
.ladder-rank-2 .nick, .sprint-rank-2 .nick,
.ladder-rank-2 td:first-child, .sprint-rank-2 td:first-child {
  color: #7a828a;
  font-weight: 700;
}
.ladder-rank-2 .nick::before, .sprint-rank-2 .nick::before {
  content: "👑 ";
  font-size: 1.05em;
  filter: grayscale(0.85) brightness(1.15);
}
.ladder-rank-3 .nick, .sprint-rank-3 .nick,
.ladder-rank-3 td:first-child, .sprint-rank-3 td:first-child {
  color: #a97142;
  font-weight: 700;
}
.ladder-rank-3 .nick::before, .sprint-rank-3 .nick::before {
  content: "👑 ";
  font-size: 1.05em;
  filter: sepia(0.45) saturate(1.2);
}
.ladder-rank-4 .nick, .ladder-rank-5 .nick, .ladder-rank-6 .nick,
.ladder-rank-7 .nick, .ladder-rank-8 .nick, .ladder-rank-9 .nick, .ladder-rank-10 .nick,
.sprint-rank-4 .nick, .sprint-rank-5 .nick, .sprint-rank-6 .nick,
.sprint-rank-7 .nick, .sprint-rank-8 .nick, .sprint-rank-9 .nick, .sprint-rank-10 .nick {
  color: #4a5f4a;
  font-weight: 600;
}
.ladder-rank-4 .nick::before, .ladder-rank-5 .nick::before, .ladder-rank-6 .nick::before,
.ladder-rank-7 .nick::before, .ladder-rank-8 .nick::before, .ladder-rank-9 .nick::before, .ladder-rank-10 .nick::before,
.sprint-rank-4 .nick::before, .sprint-rank-5 .nick::before, .sprint-rank-6 .nick::before,
.sprint-rank-7 .nick::before, .sprint-rank-8 .nick::before, .sprint-rank-9 .nick::before, .sprint-rank-10 .nick::before {
  content: "🏅 ";
}

.katex,
.katex .mathnormal,
.katex .mathit,
.katex .mathrm,
.katex .mathbf,
.katex .textbf,
.katex .textrm,
.katex .textit {
  font-family: "Times New Roman", Times, "Noto Serif", KaTeX_Main, serif !important;
}

button.ghost.mark-toggle.mark-on {
  background: #fff6dc !important;
  color: #8a6a22 !important;
  border-color: #e4d3a4 !important;
}
.practice-hint-mini {
  color: #6d6458;
  font-size: 0.82rem;
}
