/* assets/style.css */
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans"; }
.text-monospace { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.hover-card { transition: transform .12s ease, box-shadow .12s ease; }
.hover-card:hover { transform: translateY(-2px); box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.25) !important; }

/* Rank colours in leaderboard tables */
.rank-gold   { color: #e8a400; font-weight: 700; }
.rank-silver { color: #9baab8; font-weight: 600; }
.rank-bronze { color: #c07d3a; font-weight: 600; }

/* Collapsible board sections */
details > summary { cursor: pointer; list-style: none; user-select: none; }
details > summary::-webkit-details-marker { display: none; }
details > summary::after { content: ' ▾'; font-size: .75em; opacity: .55; }
details[open] > summary::after { content: ' ▴'; }

/* Sticky scrollable panels (leaderboard + boards sidebar) */
@media (min-width: 1200px) {
  .boards-panel, .leaderboard-panel { position: sticky; top: 1rem; }
  .boards-panel .card-body, .leaderboard-panel .card-body { max-height: calc(100vh - 6rem); overflow-y: auto; }
}

/* Uniform-height board buttons */
.board-btn-col { display: flex; }
.board-btn-col .btn { display: flex; align-items: center; justify-content: center; text-align: center; white-space: normal; min-height: 2.25rem; width: 100%; }
