/* Progressive history loading */
.history-load-more { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 14px 10px 4px; border-top: 1px solid var(--line); }
.history-load-more p { margin: 0; color: var(--muted); font-size: .62rem; }
.history-load-more p strong { color: #fff; font-size: .7rem; }
.history-load-more .button { min-height: 36px; padding: 7px 12px; font-size: .64rem; }
.history-list > .history-load-more { margin-top: 3px; padding-block: 17px 3px; }
.past-list .history-load-more { margin-top: 5px; padding-bottom: 8px; }

/* Compact rating queue */
#rateableSessions.is-empty { grid-template-columns: 1fr; }
.rating-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rate-card { position: relative; min-height: 120px; display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: stretch; gap: 12px; padding: 9px; overflow: hidden; border-color: rgba(255,255,255,.1); background: radial-gradient(circle at 100% 0, rgba(229,9,20,.055), transparent 42%), linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.015)); }
.rate-card::after { content: none; }
.rate-card.needs-rating { border-color: rgba(229,9,20,.2); }
.rate-card.is-rated { background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.012)); }
.rate-card-poster { position: relative; z-index: 1; width: 72px; height: 102px; display: block; overflow: hidden; align-self: center; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: #24272e; color: inherit; box-shadow: 0 8px 22px rgba(0,0,0,.26); text-decoration: none; }
.rate-card-poster img, .rate-card-poster .poster-placeholder { width: 100%; height: 100%; object-fit: cover; }
a.rate-card-poster img { transition: transform .22s, filter .22s; }
a.rate-card-poster:hover img, a.rate-card-poster:focus-visible img { transform: scale(1.05); filter: brightness(1.08); }
a.rate-card-poster:focus-visible { outline: 2px solid rgba(255,103,111,.82); outline-offset: 2px; }
.rate-card-main { min-width: 0; display: flex; flex-direction: column; padding: 3px 4px 2px 0; }
.rate-card-top { display: flex; align-items: center; gap: 8px; min-height: 22px; }
.rate-card-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid rgba(255,92,101,.18); border-radius: 999px; background: rgba(229,9,20,.09); color: #ffafb3; font-size: .5rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.rate-card-status i { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 3px rgba(229,9,20,.12); }
.is-rated .rate-card-status { border-color: rgba(74,222,128,.17); background: rgba(74,222,128,.07); color: #a4f2bf; }
.is-rated .rate-card-status i { background: var(--green); box-shadow: 0 0 0 3px rgba(56,201,139,.1); }
.rate-card-user-score { margin-left: auto; color: var(--gold); font-size: .87rem; font-variant-numeric: tabular-nums; }
.rate-card-user-score small { color: var(--muted); font-size: .5rem; }
.rate-card h3 { margin: 7px 0 4px; overflow: hidden; font-size: .78rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.rate-card .rate-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; color: var(--muted); font-size: .56rem; }
.rate-card-date { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border: 1px solid rgba(229,9,20,.18); border-radius: 7px; background: rgba(229,9,20,.075); color: #f2f2f3; font-weight: 800; font-variant-numeric: tabular-nums; }
.rate-card-date .ui-icon { width: 12px; height: 12px; color: #ff7e85; }
.rate-card-club-score { color: var(--muted); }
.rate-card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 8px; }
.rate-card-actions .button { min-height: 34px; padding: 6px 10px; border-radius: 8px; font-size: .58rem; text-decoration: none; }
.rate-card-actions .ui-icon, .leaderboard-edit .ui-icon { width: 14px; height: 14px; }
.rate-card-rating-action { box-shadow: inset 0 1px rgba(255,255,255,.06); }
