/* Compact standings and an independent, aligned player spotlight. */
.rh-game-site.page-leaderboard .rh-site-frame {
    width: min(1060px, calc(100% - 40px));
}
.rh-leaderboard {
    --lb-line: #263137;
    --lb-muted: #9baab3;
    padding: 22px;
    color: #f5f7f8;
}
.rh-leaderboard *, .rh-leaderboard *::before, .rh-leaderboard *::after { box-sizing: border-box; }
.rh-leaderboard [hidden], [data-leaderboard-link][hidden] { display: none !important; }
.rh-leaderboard[data-lb-show-avatars="0"] .rh-lb-avatar { display: none; }
.rh-lb-hero {
    display: flex;
    align-items: center;
    min-height: 164px;
    padding: 28px 32px;
    border: 1px solid var(--lb-line);
    border-radius: 10px;
    background: linear-gradient(135deg, #151d20, #0b0f11);
    overflow: hidden;
}
.rh-lb-hero.has-image {
    background-image: linear-gradient(rgb(3 5 6 / var(--rh-lb-image-overlay)), rgb(3 5 6 / var(--rh-lb-image-overlay))), var(--rh-lb-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.rh-lb-hero-copy { min-width: 0; max-width: 760px; text-shadow: 0 2px 18px #000b; }
.rh-lb-eyebrow {
    display: block;
    color: var(--rh-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.rh-lb-hero h1 {
    margin: 10px 0 0;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -.035em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.rh-lb-hero-copy p { margin: 12px 0 0; color: #d0d8dc; font-size: 13px; line-height: 1.5; }
.has-panel-glow .rh-leaderboard :is(.rh-lb-hero, .rh-lb-standings-card, .rh-lb-highlight-card, .rh-lb-guide, .rh-lb-dialog) {
    border-color: color-mix(in srgb, var(--rh-panel-edge-color) 55%, var(--lb-line));
    box-shadow: none;
}
.rh-lb-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 20px 0 10px; }
.rh-lb-server { flex: 1 1 180px; min-width: 0; }
.rh-lb-search { flex: 1.3 1 200px; min-width: 0; }
.rh-leaderboard select, .rh-leaderboard input {
    width: 100%; height: 42px; min-width: 0; padding: 0 12px;
    border: 1px solid var(--lb-line); border-radius: 6px;
    background: #0c1215; color: #e8edf0; font: inherit; font-size: 12px;
}
.rh-leaderboard input::placeholder { color: #93a0a8; opacity: 1; }
.rh-lb-period { display: flex; padding: 3px; border: 1px solid var(--lb-line); border-radius: 7px; background: #0c1215; }
.rh-lb-period button, .rh-lb-button {
    min-height: 34px; padding: 8px 12px; border: 1px solid transparent; border-radius: 5px;
    background: transparent; color: #abb8c0; font: inherit; font-size: 11px; font-weight: 700;
    line-height: 1.2; cursor: pointer; white-space: nowrap;
}
.rh-lb-period button[aria-pressed="true"] { background: color-mix(in srgb, var(--rh-accent) 15%, #0c1215); border-color: var(--rh-accent); color: #fff; }
.rh-lb-button { min-height: 42px; border-color: var(--lb-line); background: #10181c; color: #e8edf0; }
.rh-lb-button:hover:not(:disabled) { border-color: var(--rh-accent); }
.rh-leaderboard button:disabled { opacity: .35; cursor: default; }
.rh-leaderboard :focus-visible { outline: 2px solid var(--rh-accent); outline-offset: 3px; }
.rh-lb-status { min-height: 18px; margin: 0 0 18px; color: var(--lb-muted); font-size: 11px; line-height: 1.6; }
.rh-lb-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: stretch; }
.rh-lb-layout.has-highlights { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
.rh-lb-standings, .rh-lb-highlights { display: grid; grid-template-rows: 32px minmax(0, 1fr) auto; gap: 12px; min-width: 0; }
.rh-lb-list-heading, .rh-lb-highlight-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.rh-lb-list-heading h2, .rh-lb-highlight-top h2 { margin: 0; font-size: 16px; font-weight: 750; letter-spacing: -.02em; }
.rh-lb-list-heading > span, .rh-lb-highlight-top > span { color: var(--lb-muted); font-size: 10px; white-space: nowrap; }
.rh-lb-standings-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--lb-line); border-radius: 10px; background: #0c1114; overflow: hidden; }
.rh-lb-table-wrap { min-width: 0; overflow: hidden; }
.rh-lb-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.rh-lb-table th { height: 38px; padding: 10px 12px; background: #11191d; color: var(--lb-muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; text-align: right; }
.rh-lb-table th:first-child { font-size: 9px; letter-spacing: .04em; }
.rh-lb-table td { height: 51px; padding: 2px 12px; border-top: 1px solid #ffffff0c; text-align: right; }
.rh-lb-table :is(th, td):first-child { width: 48px; padding-inline: 6px; text-align: center; color: #b6c2c9; font-size: 11px; }
.rh-lb-table :is(th, td):nth-child(2) { padding-left: 5px; text-align: left; }
.rh-lb-table :is(th, td):last-child { width: 88px; padding-right: 16px; overflow-wrap: anywhere; }
.rh-lb-table tbody tr:first-child { background: color-mix(in srgb, var(--rh-accent) 8%, transparent); }
.rh-lb-table tbody tr:hover { background: #ffffff06; }
.rh-lb-table td:nth-child(3) { font-size: 16px; font-weight: 800; color: #fff; }
.rh-lb-table td.is-positive, .rh-lb-player-score.is-positive { color: #5dd9a2; }
.rh-lb-table td.is-negative, .rh-lb-guide dd.is-negative, .rh-lb-player-score.is-negative { color: #ff8075; }
.rh-lb-player {
    display: flex; align-items: center; gap: 12px; width: 100%; max-width: 100%; min-width: 0;
    padding: 0; border: 0; background: transparent; color: #f3f5f6; font: inherit;
    font-weight: 650; text-align: left; cursor: pointer;
}
.rh-lb-player > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rh-lb-avatar { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; overflow: hidden; border-radius: 6px; background: #202a30; }
.rh-lb-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rh-lb-empty { padding: 55px 20px; text-align: center; }
.rh-lb-empty p, .rh-lb-footnote, .rh-lb-refresh { color: var(--lb-muted); font-size: 11px; line-height: 1.6; }
.rh-lb-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; min-height: 60px; margin-top: auto; padding: 12px; border-top: 1px solid var(--lb-line); color: var(--lb-muted); font-size: 10px; }
.rh-lb-pagination > div { display: flex; align-items: center; gap: 8px; }
.rh-lb-pagination .rh-lb-button { min-height: 34px; padding: 8px 10px; font-size: 10px; }
.rh-lb-footnote, .rh-lb-highlight-tie { margin: 0; font-size: 10px; line-height: 1.6; color: var(--lb-muted); }
.rh-lb-highlight-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--lb-line); border-radius: 10px; overflow: hidden; background: #0c1216; }
.rh-lb-highlight-art {
    display: grid; flex: 1; position: relative; isolation: isolate; min-height: 400px;
    background: #11191b;
    background-image: linear-gradient(rgb(3 5 6 / var(--rh-lb-highlight-overlay, .3)), rgb(3 5 6 / var(--rh-lb-highlight-overlay, .3))), var(--rh-lb-highlight-image);
    background-size: cover; background-position: center 25%;
}
.rh-lb-highlight-art::before { position: absolute; inset: 0; content: ''; z-index: -1; pointer-events: none; background: linear-gradient(180deg, #0306089e, #03060800 28%, #030608a6 64%, #030608f2); }
.rh-lb-highlight-slide { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; padding: 26px; min-width: 0; text-shadow: 0 2px 15px #0009; }
.rh-lb-highlight-copy h2 { margin: 10px 0 0; font-size: clamp(25px, 2.5vw, 32px); font-weight: 850; letter-spacing: -.035em; line-height: 1.12; overflow-wrap: anywhere; }
.rh-lb-highlight-copy .rh-lb-eyebrow { font-size: 9px; }
.rh-lb-highlight-player { display: flex; align-items: center; gap: 14px; padding: 0; max-width: 100%; min-width: 0; border: 0; background: transparent; text-align: left; font: inherit; color: #fff; cursor: pointer; }
.rh-lb-highlight-player > span:last-child { display: grid; min-width: 0; gap: 6px; }
.rh-lb-highlight-player strong { font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
.rh-lb-highlight-player small { color: #c0cbd1; font-size: 11px; }
.rh-lb-highlight-player:hover small { color: var(--rh-accent); }
.rh-lb-highlight-player .rh-lb-avatar { width: 80px; height: 80px; flex-basis: 80px; border: 1px solid #ffffff38; border-radius: 10px; }
.rh-lb-highlight-total { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; min-width: 0; margin-top: 22px; }
.rh-lb-highlight-total strong { max-width: 100%; font-size: 58px; font-weight: 850; letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.rh-lb-highlight-total span { color: #cad3d8; font-size: 12px; }
.rh-lb-highlights.is-penalty .rh-lb-highlight-total strong { color: #ff8075; }
.rh-lb-highlight-points { margin: 12px 0 0; font-size: 12px; font-weight: 650; }
.rh-lb-highlight-points.is-negative { color: #ff8075; }
.rh-lb-highlight-points.is-positive { color: #5dd9a2; }
.rh-lb-highlight-note { margin: 12px 0 0; color: #b6c2c9; font-size: 11px; line-height: 1.6; }
.rh-lb-highlight-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 57px; padding: 6px 12px 6px 22px; color: var(--lb-muted); font-size: 11px; }
.rh-lb-highlight-controls { display: flex; align-items: center; gap: 3px; }
.rh-lb-highlight-controls .rh-lb-button { min-width: 40px; min-height: 42px; padding: 7px; border: 0; background: transparent; }
.rh-lb-highlight-controls button:first-child, .rh-lb-highlight-controls button:last-child { font-size: 24px; line-height: 1; }
.rh-lb-highlight-controls button:nth-child(2) { min-width: 47px; }
.rh-lb-highlight-track { height: 3px; background: #ffffff12; }
.rh-lb-highlight-track span { display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: left; background: var(--rh-accent); }
.rh-lb-highlight-empty { display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; padding: 26px; }
.rh-lb-highlight-empty h3 { margin: 12px 0; font-size: 26px; line-height: 1.2; letter-spacing: -.02em; }
.rh-lb-highlight-empty p { margin: 0; font-size: 12px; color: #b4c1c8; line-height: 1.7; }
.rh-lb-guide { margin: 18px 0; border: 1px solid var(--lb-line); border-radius: 10px; background: #0e1519; padding: 24px; }
.rh-lb-guide h2 { margin: 10px 0; font-size: 20px; }
.rh-lb-guide p { color: var(--lb-muted); font-size: 12px; line-height: 1.8; }
.rh-leaderboard dl { margin: 20px 0; }
.rh-leaderboard dl > div { display: flex; justify-content: space-between; gap: 15px; padding: 13px 0; border-bottom: 1px solid var(--lb-line); font-size: 12px; }
.rh-leaderboard dd { margin: 0; font-weight: 800; color: #5dd9a2; }
.rh-lb-guide-note { padding-top: 5px; font-size: 12px; }
.rh-lb-guide-note p { margin-bottom: 0; }
.rh-lb-refresh { margin: 24px 0 0; text-align: center; font-size: 10px; }
.rh-lb-dialog { width: min(460px, calc(100% - 40px)); max-height: 85vh; overflow: auto; border: 1px solid var(--lb-line); border-radius: 12px; background: #0c1216; color: #fff; padding: 28px; }
.rh-lb-dialog::backdrop { background: #000b; }
.rh-lb-dialog form { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.rh-lb-dialog h2 { overflow-wrap: anywhere; font-size: 24px; }
.rh-lb-player-score { display: block; font-size: 32px; }
.rh-lb-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 820px) {
    .rh-lb-layout.has-highlights { grid-template-columns: minmax(0, 1fr); }
    .rh-lb-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
    .rh-lb-search { grid-column: 1; }
    .rh-lb-highlight-slide { gap: 64px; }
    .rh-lb-highlight-art { min-height: 430px; }
}
@media (max-width: 600px) {
    .rh-game-site.page-leaderboard .rh-site-frame { width: 100%; }
    .rh-leaderboard { padding: 14px; }
    .rh-lb-hero { min-height: 145px; padding: 22px; }
    .rh-lb-hero h1 { font-size: clamp(25px, 7.3vw, 38px); }
    .rh-lb-hero-copy p { font-size: 12px; }
    .rh-lb-toolbar { gap: 10px; }
    .rh-lb-server { grid-column: 1 / -1; }
    .rh-lb-search { grid-column: 1 / -1; grid-row: 3; }
    .rh-lb-period { justify-self: start; }
    .rh-lb-period button { min-height: 36px; padding-inline: 9px; }
    .rh-lb-button, .rh-lb-highlight-controls .rh-lb-button { min-height: 44px; }
    .rh-lb-toolbar > [data-lb-guide-toggle] { padding-inline: 9px; font-size: 10px; }
    .rh-lb-table { font-size: 12px; }
    .rh-lb-table :is(th, td):first-child { width: 38px; padding-inline: 3px; font-size: 10px; }
    .rh-lb-table th:first-child { font-size: 8px; }
    .rh-lb-table :is(th, td):last-child { width: 68px; padding-right: 10px; }
    .rh-lb-table :is(th, td):nth-child(2) { padding-right: 3px; padding-left: 3px; }
    .rh-lb-player { gap: 9px; }
    .rh-lb-pagination { gap: 10px; padding: 10px; }
    .rh-lb-pagination > div { margin-left: auto; gap: 7px; }
    .rh-lb-pagination .rh-lb-button { min-height: 44px; }
    .rh-lb-highlight-slide, .rh-lb-highlight-empty { padding: 24px; }
    .rh-lb-highlight-controls .rh-lb-button { min-width: 44px; }
}
