.nav-tabs { border-bottom: 2px solid rgba(10, 31, 60, .12); gap: .25rem; }

.nav-tabs .nav-link {
    border: none;
    border-radius: .7rem .7rem 0 0;
    color: var(--night);
    font-weight: 500;
}

.nav-tabs .nav-link:hover { background-color: rgba(26, 143, 67, .10); }

.nav-tabs .nav-link.active {
    color: #fff;
    background-color: var(--brand);
    border-bottom: 3px solid var(--pitch);
}

.lb-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    padding: 1.1rem 1.3rem;
    border-radius: 1rem;
    border-left: 5px solid var(--pitch);
    background: linear-gradient(120deg, var(--brand-dark), var(--brand));
    color: #fff;
    box-shadow: 0 .5rem 1.25rem rgba(10, 31, 60, .18);
}

.lb-hero h1 { color: #fff; margin: 0; }
.lb-hero .lb-hero-max { color: rgba(255, 255, 255, .85); }

.rise { color: #21a05a !important; }
.col-rank { width: 4rem; }
.lb-table tbody td:first-child { font-family: 'Segoe UI Semibold', 'Segoe UI', system-ui, sans-serif; font-size: 1.15rem; }
.lb-table tbody td.medal-gold { color: var(--gold); }
.lb-table tbody td.medal-silver { color: var(--silver); }
.lb-table tbody td.medal-bronze { color: var(--bronze); }

.anim-board { position: relative; }

.anim-row {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 40px;
    display: flex;
    align-items: center;
    gap: .75rem;
    transition: transform .9s cubic-bezier(.4, 0, .2, 1);
}

.anim-rank {
    width: 2rem;
    text-align: right;
    font-weight: 700;
    font-family: 'Segoe UI Semibold', 'Segoe UI', system-ui, sans-serif;
}

.anim-name { width: 8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.anim-bar { flex: 1; height: 1rem; background: rgba(10, 31, 60, .08); border-radius: 50rem; overflow: hidden; }
.anim-bar-fill { display: block; height: 100%; border-radius: 50rem; background: linear-gradient(90deg, var(--pitch), var(--brand)); }

.anim-score {
    width: 5.5rem;
    text-align: right;
    font-weight: 700;
    font-family: 'Segoe UI Semibold', 'Segoe UI', system-ui, sans-serif;
}

@media (max-width: 767.98px) {
    .lb-table th:not(:first-child):not(:nth-child(2)):not(:last-child),
    .lb-table td:not(:first-child):not(:nth-child(2)):not(:last-child) {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .lb-table { font-size: .8rem; }
    .lb-table > :not(caption) > * > * { padding: .4rem .35rem; }
    .lb-table .avatar-sm { width: 22px; height: 22px; }
    .col-rank { width: 2.5rem; }
    .lb-hero { padding: .9rem 1rem; }

    .anim-row { gap: .5rem; }
    .anim-name { width: 5rem; }
    .anim-score { width: 4rem; }
}
