.leaderboard-controls { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 22px 0 12px; }
.leaderboard-controls label, .leaderboard-form label { display: block; font-size: 13px; font-weight: 650; color: var(--ink); margin-bottom: 6px; }
.leaderboard-controls input, .leaderboard-form input { width: 100%; min-height: 44px; border: 1px solid #b8c4ac; border-radius: 6px; background: #fffefa; color: var(--ink); padding: 9px 11px; font: 15px var(--body); }
.leaderboard-controls button { min-height: 44px; padding: 8px 15px; border: 1px solid #b8c4ac; border-radius: 6px; font-size: 14px; }
.leaderboard-count { font: 12px var(--mono); color: #5a6b50; margin-bottom: 12px; }
.leaderboard-table { border-collapse: collapse; width: 100%; text-align: left; font-size: 14px; }
.leaderboard-table thead { font: 11px var(--mono); text-transform: uppercase; color: #5a6b50; }
.leaderboard-table td, .leaderboard-table th { border-bottom: 1px solid var(--line); padding: 12px 7px; }
.leaderboard-table th[scope="row"] { font-weight: 650; overflow-wrap: anywhere; max-width: 190px; }
.leaderboard-table small { display: block; font-size: 11px; color: #5a6b50; font-weight: 400; margin-top: 5px; }
.leaderboard-rank { width: 42px; color: #526747; font: 15px var(--mono); }
.leaderboard-rank > span[aria-hidden] { display: inline-grid; place-items: center; border: 1px solid #c5b273; background: #f4ecd3; color: #755e20; width: 29px; height: 29px; border-radius: 50%; }
.leaderboard-clock { text-align: right; font: 14px var(--mono); white-space: nowrap; }
.leaderboard-table th:last-child { text-align: right; }
.leaderboard-table tr.is-you { background: #e8eedf; }
.leaderboard-you { font: 9px var(--mono); margin-left: 6px; color: #415d35; border: 1px solid #b4c3a3; border-radius: 3px; padding: 2px 4px; white-space: nowrap; }
.leaderboard-outcome { font: 10px var(--mono); color: #766349; white-space: nowrap; }
.leaderboard-outcome.won { color: #345c30; }
.leaderboard-outcome.lost { color: #85634b; }
.leaderboard-empty { padding: 28px 15px; text-align: center; border: 1px dashed #c6cfbc; border-radius: 8px; }
.leaderboard-empty strong { font: 24px var(--display); color: var(--ink); }
.leaderboard-empty p { margin: 9px 0 0; }
#leaderboard-status { min-height: 22px; font-size: 13px; line-height: 1.5; margin: 14px 0; color: #526747; }
#leaderboard-eligibility { font-size: 14px; }
.leaderboard-form { background: #edf0e5; border: 1px solid var(--line); border-radius: 8px; padding: 15px; margin: 15px 0; }
.leaderboard-form > div { display: flex; gap: 8px; align-items: end; }
.leaderboard-form input { min-width: 0; flex: 1; }
.leaderboard-form .snap-button { width: auto; min-width: 110px; padding: 10px 14px; font-size: 14px; }
.leaderboard-form p { margin: 9px 0 0; font-size: 12px; }
#leaderboard-dialog .help-note { margin-top: 20px; font-size: 13px; }
.leaderboard-entry { display: inline-flex; align-items: center; gap: 5px; }
@media (max-width: 760px) { .game-links { flex-wrap: wrap; } .game-links > div { flex-wrap: wrap; } }
@media (max-width: 400px) {
  #leaderboard-dialog { padding: 18px; }
  .leaderboard-table td, .leaderboard-table th { padding: 10px 4px; }
  .leaderboard-table { font-size: 13px; }
  .leaderboard-form > div { flex-wrap: wrap; }
  .leaderboard-form .snap-button { width: 100%; }
}
