/* Leaderboard (42) and the Home rank card (13): what the live board adds to the
   prototype's lb-* and home-rank styles (libri.css). Tokens only. */

/* Another period or scope loading: the board stays, dimmed, until it arrives. */
.lb-board { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; transition: opacity var(--dur) var(--ease); }
.lb-board.is-busy { opacity: .55; pointer-events: none; }

.lb-norank { margin-top: 6px; font-size: var(--text-xs); color: var(--fg-muted); }
.lb-scope-note, .lb-error { display: flex; align-items: flex-start; gap: 6px; font-size: var(--text-xs); color: var(--fg-muted); }
.lb-scope-note svg, .lb-error svg { width: 14px; height: 14px; flex: none; margin-top: 2px; }
.lb-error { color: var(--incorrect); font-weight: var(--weight-semi); }
.lb-error svg { color: var(--incorrect); }

/* A long handle never pushes the points off a narrow row. */
.lb-row__name { min-width: 0; flex-wrap: wrap; }
.lb-row__name strong { min-width: 0; overflow-wrap: anywhere; }

/* Home card: the Hidden tag beside its label, and Try again inside the line. */
.home-rank__hidden { margin-left: 8px; text-transform: none; letter-spacing: 0; vertical-align: 1px; }
.home-rank__retry { margin-left: 6px; font-size: var(--text-sm); }
.home-rank__line .skel { margin-top: 4px; }

@media (max-width: 820px) {
  .home-rank__retry { min-height: 44px; }
}
