.cult-leaderboard {
    --leaderboard-paper: #f2ead7;
    --leaderboard-ink: #191715;
    --leaderboard-line: rgba(54, 42, 34, 0.2);
    --leaderboard-rank-width: 3.65rem;
    position: relative;
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: clamp(1rem, 2.5vw, 2rem);
    color: var(--leaderboard-ink);
    background: var(--leaderboard-paper);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.cult-leaderboard__leader-art {
    position: absolute;
    right: clamp(0.35rem, 2vw, 1.25rem);
    bottom: 0;
    z-index: 0;
    width: clamp(9rem, 23vw, 17rem);
    height: auto;
    pointer-events: none;
    user-select: none;
}

.cult-leaderboard__masthead {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(6.15rem, 15.75vw, 11.65rem);
}

.cult-leaderboard__masthead-copy {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-right: clamp(9.5rem, 24vw, 18rem);
}

.cult-leaderboard__header { position: relative; z-index: 1; max-width: 43rem; }
.cult-leaderboard__header h1 {
    margin: 0;
    font-size: clamp(1.7rem, 4vw, 2.8rem);
}

.cult-leaderboard__header p { margin: 0.35rem 0 0; }
.cult-leaderboard__header .cult-leaderboard__kicker {
    margin: 0 0 0.2rem;
    color: #7d1423;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.cult-leaderboard__status {
    min-height: 1.5rem;
    margin-top: 0.75rem;
    color: #6c2931;
}

.cult-leaderboard__controls {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 0.7rem;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cult-leaderboard__controls select {
    min-width: 10.5rem;
    padding: 0.42rem 1.9rem 0.42rem 0.58rem;
    color: var(--leaderboard-ink);
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(68, 48, 36, 0.36);
    border-radius: 0.25rem;
    font: inherit;
    text-transform: none;
}

.cult-leaderboard__table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid var(--leaderboard-line);
    background: rgba(255, 255, 255, 0.28);
}

.cult-leaderboard__table {
    width: 100%;
    min-width: 65rem;
    border-collapse: separate;
    border-spacing: 0;
    font-variant-numeric: tabular-nums;
}

.cult-leaderboard__table th,
.cult-leaderboard__table td {
    padding: 0.72rem 0.8rem;
    border-bottom: 1px solid var(--leaderboard-line);
    text-align: right;
    white-space: nowrap;
}

.cult-leaderboard__table th {
    background: #ded2b9;
    font-size: 0.78rem;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.cult-leaderboard__table th button {
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    font: inherit;
    text-transform: inherit;
    cursor: pointer;
}

.cult-leaderboard__table th button:hover,
.cult-leaderboard__table th button:focus-visible,
.cult-leaderboard__table th button.is-active { color: #8c1024; }
.cult-leaderboard__table th button.is-active::after {
    content: attr(data-direction);
    display: inline-block;
    width: 0;
    overflow: hidden;
}
.cult-leaderboard__table th button.is-active[data-direction="desc"]::before { content: "▼ "; }
.cult-leaderboard__table th button.is-active[data-direction="asc"]::before { content: "▲ "; }

.cult-leaderboard__rank {
    box-sizing: border-box;
    width: var(--leaderboard-rank-width);
    min-width: var(--leaderboard-rank-width);
    max-width: var(--leaderboard-rank-width);
    padding-right: 0.3rem !important;
    padding-left: 0.3rem !important;
    text-align: center !important;
    font-size: 0.72rem;
    font-weight: 850;
}
.cult-leaderboard__cultist {
    min-width: 13rem;
    text-align: left !important;
    background: rgba(99, 51, 46, 0.055);
}
.cult-leaderboard__cultist a { color: #45131b; font-weight: 800; }
.cult-leaderboard__identity { display: inline-flex; align-items: center; gap: 0.42rem; }
.cult-leaderboard__team-icon { width: 1.35rem; height: 1.35rem; object-fit: contain; flex: 0 0 auto; }
.cult-leaderboard__table th:nth-child(2) { background: #d6c5aa; }
.cult-leaderboard__table th:nth-child(3) { background: #d3c09e; }
.cult-leaderboard__table td[data-column="level"] {
    min-width: 5.25rem;
    background: rgba(145, 92, 31, 0.1);
    color: #5f1522;
    font-size: 1.18rem;
    font-weight: 900;
}

.cult-leaderboard__table tbody tr:hover > td { background-color: rgba(255, 255, 255, 0.52); }
.cult-leaderboard__table tbody tr[data-leader="true"] > td {
    background-color: rgba(230, 183, 39, 0.32);
    box-shadow: inset 0 1px rgba(255, 234, 150, 0.7), inset 0 -1px rgba(129, 83, 0, 0.22);
}
.cult-leaderboard__table tbody tr[data-team-summary="true"] > td {
    background-color: rgba(72, 63, 91, 0.13);
    border-bottom-color: rgba(72, 63, 91, 0.32);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.34);
    font-weight: 800;
}
.cult-leaderboard__table tbody tr[data-team-summary="true"] .cult-leaderboard__rank::after {
    content: "TEAM";
    color: rgba(25, 23, 21, 0.64);
    font-size: 0.62rem;
    letter-spacing: 0.08em;
}
.cult-leaderboard__table tbody tr[data-placement="1"] > td { background-color: rgba(115, 70, 157, 0.19); }
.cult-leaderboard__table tbody tr[data-placement="2"] > td { background-color: rgba(61, 117, 154, 0.17); }
.cult-leaderboard__table tbody tr[data-placement="3"] > td { background-color: rgba(161, 74, 98, 0.14); }

.cult-leaderboard__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.9rem;
    color: rgba(25, 23, 21, 0.68);
    font-size: 0.78rem;
}

.cult-leaderboard__more {
    padding: 0.55rem 0.85rem;
    color: #fff8e9;
    background: #661324;
    border: 0;
    border-radius: 0.25rem;
    font-weight: 750;
    cursor: pointer;
}

.cult-leaderboard__visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 720px) {
    .cult-leaderboard {
        --leaderboard-rank-width: 3.2rem;
        padding: 0.8rem;
    }
    .cult-leaderboard__masthead { min-height: clamp(5.5rem, 27vw, 8.55rem); }
    .cult-leaderboard__masthead-copy { padding-right: clamp(8.25rem, 41vw, 13rem); }
    .cult-leaderboard__leader-art { right: 0.25rem; width: clamp(8rem, 39vw, 12.5rem); }
    .cult-leaderboard__rank,
    .cult-leaderboard__cultist {
        position: sticky;
        z-index: 2;
        background-color: var(--leaderboard-paper);
        background-clip: padding-box;
    }
    .cult-leaderboard__rank { left: 0; }
    .cult-leaderboard__cultist {
        left: var(--leaderboard-rank-width);
        min-width: 10.75rem;
        border-left: 0;
        box-shadow: 1px 0 rgba(54, 42, 34, 0.22);
    }
    .cult-leaderboard__table thead .cult-leaderboard__rank,
    .cult-leaderboard__table thead .cult-leaderboard__cultist {
        z-index: 3;
        background-color: #ded2b9;
    }
}
