*, *::before, *::after {
    box-sizing: border-box;
}

:root {
    --lb-blue: #2f6bff;
    --lb-blue-soft: rgba(47, 107, 255, 0.12);
    --lb-blue-glow: rgba(47, 107, 255, 0.22);
    --lb-blue-strong: #66a6ff;
    --lb-purple: #7c3aed;
    --lb-purple-soft: rgba(124, 58, 237, 0.14);
    --lb-gold: #d97706;
    --lb-gold-soft: rgba(217, 119, 6, 0.14);
    --lb-text: #1e293b;
    --lb-muted: #64748b;
    --lb-line: rgba(148, 163, 184, 0.22);
    --lb-white: rgba(255, 255, 255, 0.74);
    --lb-white-strong: rgba(255, 255, 255, 0.9);
    --lb-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
    --lb-radius-xl: 32px;
    --lb-radius-lg: 24px;
    --lb-radius-md: 18px;
}

body.lb-body {
    margin: 0;
    min-height: 100vh;
    color: var(--lb-text);
    font-family: 'Inter', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(102, 166, 255, 0.14), transparent 32%),
        radial-gradient(circle at top right, rgba(124, 58, 237, 0.08), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #ecf2f6 28%, #ffffff 52%, #e3ebf0 74%, #ffffff 100%);
    background-attachment: fixed;
    padding: 118px 0 96px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.lb-page {
    position: relative;
    z-index: 2;
}

.lb-shell {
    width: min(1240px, calc(100% - 28px));
    margin: 0 auto;
}

.glass-panel {
    position: relative;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.66));
    border: 1px solid rgba(255, 255, 255, 0.92);
    box-shadow: var(--lb-shadow);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.lb-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
    gap: 24px;
    padding: 32px;
    border-radius: var(--lb-radius-xl);
    overflow: hidden;
}

.lb-hero::before {
    content: '';
    position: absolute;
    inset: auto auto -160px -160px;
    width: 420px;
    height: 420px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(47, 107, 255, 0.17), transparent 70%);
    pointer-events: none;
}

.mode-fame .lb-hero::before {
    background: radial-gradient(circle, rgba(124, 58, 237, 0.16), transparent 70%);
}

.hero-copy,
.hero-aside {
    position: relative;
    z-index: 1;
}

.hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 22px;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(47, 107, 255, 0.18);
    background: rgba(255, 255, 255, 0.72);
    color: var(--lb-blue);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.mode-fame .hero-kicker {
    border-color: rgba(124, 58, 237, 0.18);
    color: var(--lb-purple);
}

.hero-title {
    margin: 0;
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(2.6rem, 5vw, 4.2rem);
    font-weight: 900;
    line-height: 0.94;
    letter-spacing: 0.03em;
    color: var(--lb-text);
}

.hero-subtitle {
    margin: 0;
    max-width: 620px;
    color: var(--lb-muted);
    font-size: 1.02rem;
    line-height: 1.72;
}

.hero-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.hero-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 18px;
    border: 1px solid rgba(47, 107, 255, 0.16);
    background: rgba(255, 255, 255, 0.76);
    color: var(--lb-muted);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, color 0.22s ease, background 0.22s ease;
}

.hero-tab i {
    font-size: 0.95rem;
}

.hero-tab:hover {
    transform: translateY(-1px);
    color: var(--lb-text);
    border-color: rgba(47, 107, 255, 0.3);
}

.hero-tab.active {
    background: linear-gradient(135deg, rgba(47, 107, 255, 0.98), rgba(102, 166, 255, 0.96));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 18px 32px rgba(47, 107, 255, 0.22);
}

.hero-tab-fame {
    border-color: rgba(124, 58, 237, 0.16);
}

.mode-fame .hero-tab.active,
.hero-tab-fame.active {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.98), rgba(167, 139, 250, 0.94));
    box-shadow: 0 18px 32px rgba(124, 58, 237, 0.24);
}

.hero-aside {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-self: stretch;
}

.hero-stat-accent {
    grid-column: 1 / -1;
}

.hero-stat {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 180px;
    padding: 22px 20px;
    border-radius: 24px;
    overflow: hidden;
}

.hero-stat::after {
    content: '';
    position: absolute;
    top: -42px;
    right: -42px;
    width: 120px;
    height: 120px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(47, 107, 255, 0.14), transparent 70%);
}

.mode-fame .hero-stat::after {
    background: radial-gradient(circle, rgba(124, 58, 237, 0.14), transparent 70%);
}

.hero-stat-accent::after {
    background: radial-gradient(circle, rgba(217, 119, 6, 0.14), transparent 70%);
}

.hero-stat-label,
.hero-stat-meta {
    position: relative;
    z-index: 1;
}

.hero-stat-label {
    color: var(--lb-muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.hero-stat-value {
    position: relative;
    z-index: 1;
    margin: 18px 0 10px;
    font-size: clamp(1.28rem, 1.9vw, 2.1rem);
    line-height: 1.08;
    font-weight: 800;
    color: var(--lb-text);
    word-break: normal;
    overflow-wrap: anywhere;
}

.hero-stat-meta {
    color: var(--lb-blue);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mode-fame .hero-stat-meta {
    color: var(--lb-purple);
}

.hero-stat-accent .hero-stat-meta {
    color: var(--lb-gold);
}

.lb-podium {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
    align-items: end;
}

.podium-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-height: 320px;
    padding: 26px 24px 24px;
    border-radius: var(--lb-radius-lg);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.podium-card:hover {
    transform: translateY(-3px);
}

.podium-card::before {
    content: '';
    position: absolute;
    inset: auto -60px -110px auto;
    width: 240px;
    height: 240px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(47, 107, 255, 0.12), transparent 70%);
}

.mode-fame .podium-card::before {
    background: radial-gradient(circle, rgba(124, 58, 237, 0.13), transparent 70%);
}

.podium-card.pos-1 {
    min-height: 356px;
    transform: translateY(-16px);
    border-color: rgba(217, 119, 6, 0.16);
}

.podium-card.pos-1::before {
    background: radial-gradient(circle, rgba(217, 119, 6, 0.14), transparent 72%);
}

.podium-badge {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 48px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.96);
    color: var(--lb-gold);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0.06em;
}

.podium-avatar {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 84px;
    height: 84px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(47, 107, 255, 0.12), rgba(102, 166, 255, 0.18));
    border: 1px solid rgba(47, 107, 255, 0.16);
    color: var(--lb-blue);
    font-size: 2rem;
    font-weight: 800;
}

.mode-fame .podium-avatar {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.12), rgba(167, 139, 250, 0.18));
    border-color: rgba(124, 58, 237, 0.16);
    color: var(--lb-purple);
}

.podium-card.pos-1 .podium-avatar {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.14), rgba(251, 191, 36, 0.18));
    border-color: rgba(217, 119, 6, 0.18);
    color: var(--lb-gold);
}

.podium-name {
    position: relative;
    z-index: 1;
    font-size: 1.15rem;
    font-weight: 800;
    text-align: center;
}

.podium-rank,
.podium-sub {
    position: relative;
    z-index: 1;
    color: var(--lb-muted);
    text-align: center;
}

.podium-rank {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.podium-main {
    position: relative;
    z-index: 1;
    font-size: clamp(1.4rem, 2.8vw, 2.2rem);
    font-weight: 900;
    color: var(--lb-text);
    line-height: 1;
}

.podium-sub {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lb-board {
    margin-top: 22px;
    padding: 18px;
    border-radius: var(--lb-radius-xl);
}

.board-head {
    display: grid;
    grid-template-columns: 110px minmax(0, 1.5fr) 180px 170px;
    gap: 14px;
    align-items: center;
    padding: 14px 18px;
    color: var(--lb-muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.board-head > div:nth-child(1),
.board-head > div:nth-child(3),
.board-head > div:nth-child(4) {
    text-align: center;
}
.board-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.leader-row {
    display: grid;
    grid-template-columns: 110px minmax(0, 1.5fr) 180px 170px;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.94);
    text-decoration: none;
    color: inherit;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.leader-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 34px rgba(15, 23, 42, 0.08);
    border-color: rgba(47, 107, 255, 0.16);
}

.mode-fame .leader-row:hover,
.leader-row-fame:hover {
    border-color: rgba(124, 58, 237, 0.18);
}

.leader-row-self {
    margin-bottom: 14px;
    background: linear-gradient(135deg, rgba(47, 107, 255, 0.12), rgba(102, 166, 255, 0.08), rgba(255, 255, 255, 0.74));
    border-color: rgba(47, 107, 255, 0.18);
}

.leader-row-self.leader-row-fame {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.12), rgba(167, 139, 250, 0.08), rgba(255, 255, 255, 0.74));
    border-color: rgba(124, 58, 237, 0.18);
}

.leader-rank {
    font-family: 'Orbitron', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    color: var(--lb-blue);
    letter-spacing: 0.04em;
}

.mode-fame .leader-rank,
.leader-row-fame .leader-rank {
    color: var(--lb-purple);
}

.leader-user {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.leader-avatar {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    flex: 0 0 auto;
    background: linear-gradient(135deg, rgba(47, 107, 255, 0.12), rgba(102, 166, 255, 0.18));
    border: 1px solid rgba(47, 107, 255, 0.18);
    color: var(--lb-blue);
    font-size: 1.1rem;
    font-weight: 900;
}

.mode-fame .leader-avatar,
.leader-row-fame .leader-avatar {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.12), rgba(167, 139, 250, 0.18));
    border-color: rgba(124, 58, 237, 0.18);
    color: var(--lb-purple);
}

.leader-meta {
    min-width: 0;
}

.leader-name {
    color: var(--lb-text);
    font-size: 1rem;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.leader-role {
    margin-top: 4px;
    color: var(--lb-muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.leader-main,
.leader-side {
    font-size: 0.92rem;
    font-weight: 800;
    text-align: center;
}

.leader-main {
    color: var(--lb-text);
}

.leader-side {
    color: var(--lb-muted);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.board-empty {
    padding: 28px;
    border-radius: 22px;
    color: var(--lb-muted);
    text-align: center;
    font-weight: 700;
}

.lb-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 18px;
    margin-top: 18px;
    border-top: 1px solid var(--lb-line);
}

.page-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(47, 107, 255, 0.14);
    color: var(--lb-text);
    text-decoration: none;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.page-link:hover {
    transform: translateY(-1px);
    border-color: rgba(47, 107, 255, 0.24);
    box-shadow: 0 16px 28px rgba(47, 107, 255, 0.12);
}

.mode-fame .page-link {
    border-color: rgba(124, 58, 237, 0.14);
}

.mode-fame .page-link:hover {
    border-color: rgba(124, 58, 237, 0.24);
    box-shadow: 0 16px 28px rgba(124, 58, 237, 0.12);
}

.page-link.disabled {
    opacity: 0.45;
    pointer-events: none;
}

.page-status {
    color: var(--lb-muted);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (max-width: 1120px) {
    .lb-hero {
        grid-template-columns: 1fr;
    }

    .hero-aside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .board-head,
    .leader-row {
        grid-template-columns: 86px minmax(0, 1.4fr) 150px 140px;
    }
}

@media (max-width: 860px) {
    body.lb-body {
        padding-top: 102px;
        padding-bottom: 88px;
    }

    .lb-shell {
        width: min(100% - 18px, 1240px);
    }

    .lb-hero,
    .lb-board {
        padding: 16px;
        border-radius: 26px;
    }

    .hero-title {
        font-size: clamp(2.1rem, 9vw, 3rem);
    }

    .hero-aside {
        grid-template-columns: 1fr;
    }

    .lb-podium {
        grid-template-columns: 1fr;
    }

    .podium-card.pos-1 {
        transform: none;
    }

    .board-head {
        display: none;
    }

    .leader-row,
    .leader-row-self {
        grid-template-columns: 74px minmax(0, 1fr);
        grid-template-areas:
            "rank user"
            "main main"
            "side side";
        gap: 10px 12px;
        align-items: start;
    }

    .leader-rank {
        grid-area: rank;
        padding-top: 8px;
    }

    .leader-user {
        grid-area: user;
    }

    .leader-main {
        grid-area: main;
        text-align: left;
        padding-left: 86px;
    }

    .leader-side {
        grid-area: side;
        text-align: left;
        padding-left: 86px;
    }

    .lb-pagination {
        flex-direction: column;
    }

    .page-link,
    .page-status {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 520px) {
    .hero-copy {
        gap: 18px;
    }

    .hero-tabs {
        display: grid;
        grid-template-columns: 1fr;
    }

    .hero-tab {
        width: 100%;
    }

    .podium-card {
        min-height: unset;
        padding: 22px 18px;
    }

    .leader-row,
    .leader-row-self {
        padding: 14px;
        border-radius: 20px;
    }

    .leader-avatar {
        width: 48px;
        height: 48px;
        border-radius: 16px;
    }

    .leader-main,
    .leader-side {
        padding-left: 0;
    }
}

/* ==========================================================================
   LEADERBOARD EXECUTIVE WOW PASS
   Premium flagship ranking system / enterprise authority alignment
   ========================================================================== */

:root {
    --lb-premium-shadow: 0 30px 70px rgba(15, 23, 42, 0.10), 0 10px 24px rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255,255,255,0.92), inset 0 0 0 1px rgba(15, 23, 42, 0.04);
    --lb-premium-shadow-hover: 0 38px 88px rgba(15, 23, 42, 0.14), 0 16px 34px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255,255,255,0.96), inset 0 0 0 1px rgba(15, 23, 42, 0.05);
    --lb-copy-strong: #334155;
    --lb-copy-soft: #64748b;
    --lb-panel: linear-gradient(180deg, rgba(255,255,255,0.90), rgba(255,255,255,0.76));
    --lb-panel-strong: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(248,250,252,0.86));
    --lb-card: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.90));
    --lb-focus-ring: 0 0 0 3px rgba(96, 165, 250, 0.22);
}

body.lb-body {
    background:
        radial-gradient(circle at 50% -8%, rgba(96, 165, 250, 0.12), rgba(96, 165, 250, 0) 28%),
        radial-gradient(circle at 100% 100%, rgba(217, 119, 6, 0.08), rgba(217, 119, 6, 0) 24%),
        linear-gradient(180deg, #f8fbfd 0%, #eef4f7 44%, #ffffff 100%) !important;
    background-attachment: scroll !important;
    line-height: 1.65;
    animation: none !important;
}

.lb-shell {
    width: min(1280px, calc(100% - 40px));
}

.glass-panel {
    background: var(--lb-panel) !important;
    border: 1px solid rgba(255,255,255,0.94) !important;
    box-shadow: var(--lb-premium-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.lb-hero {
    gap: 28px;
    padding: 42px;
    border-radius: 36px;
    background:
        radial-gradient(circle at 50% 0%, rgba(96, 165, 250, 0.15), rgba(96, 165, 250, 0) 42%),
        linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.80)) !important;
    box-shadow: var(--lb-premium-shadow-hover) !important;
}

.lb-hero::after {
    content: "";
    position: absolute;
    left: 34px;
    right: 34px;
    top: 0;
    height: 2px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(96,165,250,0.40), rgba(255,255,255,0));
    pointer-events: none;
}

.hero-kicker,
.hero-tab,
.hero-stat-label,
.hero-stat-meta,
.board-head,
.page-status,
.page-link {
    letter-spacing: 0.12em;
}

.hero-kicker {
    min-height: 38px;
    padding: 0 16px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.88));
    box-shadow: 0 12px 24px rgba(47, 107, 255, 0.10);
}

.hero-title {
    max-width: 12ch;
    font-size: clamp(2.5rem, 5vw, 4.4rem);
    line-height: 1.02;
    letter-spacing: 0.03em;
    text-shadow: 0 1px 0 rgba(255,255,255,0.92);
}

.hero-subtitle {
    max-width: 760px;
    color: var(--lb-copy-strong);
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.76;
    text-transform: none;
    letter-spacing: 0.01em;
}

.hero-tabs {
    gap: 14px;
    margin-top: 4px;
}

.hero-tab {
    min-height: 54px;
    padding: 0 22px;
    border-radius: 18px;
    background: var(--lb-card);
    border-color: rgba(226, 232, 240, 0.92);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.04);
}

.hero-tab:hover,
.hero-tab.active {
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

.hero-tab.active {
    background: linear-gradient(135deg, #60a5fa, #2563eb);
    color: #ffffff;
    border-color: rgba(59, 130, 246, 0.28);
}

.mode-fame .hero-tab.active,
.mode-fame .hero-tab-fame.active {
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
    border-color: rgba(124, 58, 237, 0.30);
}

.hero-aside {
    gap: 18px;
}

.hero-stat {
    min-height: 172px;
    padding: 22px 22px 20px;
    border-radius: 26px;
    background: var(--lb-panel-strong) !important;
    box-shadow: var(--lb-premium-shadow) !important;
}

.hero-stat-value {
    margin: 20px 0 12px;
    text-shadow: 0 1px 0 rgba(255,255,255,0.92);
}

.hero-stat-meta {
    font-size: 0.76rem;
}

.lb-podium {
    gap: 20px;
    margin-top: 26px;
}

.podium-card {
    min-height: 336px;
    padding: 28px 24px 24px;
    border-radius: 28px;
    background: var(--lb-panel-strong) !important;
    box-shadow: var(--lb-premium-shadow) !important;
}

.podium-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--lb-premium-shadow-hover) !important;
}

.podium-card.pos-1 {
    min-height: 372px;
    transform: translateY(-12px);
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,248,240,0.90)) !important;
    border-color: rgba(217, 119, 6, 0.18) !important;
}

.podium-badge {
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(255,255,255,0.96);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.podium-avatar {
    width: 90px;
    height: 90px;
    border-radius: 30px;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.podium-name {
    font-size: 1.04rem;
    letter-spacing: 0.01em;
    text-align: center;
}

.podium-rank {
    color: var(--lb-copy-soft);
    font-family: 'Inter', 'Roboto', sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.podium-main {
    text-shadow: 0 1px 0 rgba(255,255,255,0.92);
}

.podium-sub {
    color: var(--lb-copy-soft);
    font-family: 'Inter', 'Roboto', sans-serif;
    text-transform: none;
    letter-spacing: 0.01em;
}

.lb-board {
    margin-top: 26px;
    padding: 20px;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(248,250,252,0.84)) !important;
}

.board-head {
    padding: 16px 18px;
    color: #64748b;
    font-size: 0.74rem;
}

.board-list {
    gap: 14px;
}

.leader-row {
    padding: 18px 18px;
    border-radius: 24px;
    background: var(--lb-card);
    border-color: rgba(226, 232, 240, 0.94);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.04);
}

.leader-row:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.08);
    border-color: rgba(96, 165, 250, 0.24);
}

.mode-fame .leader-row:hover,
.leader-row-fame:hover {
    border-color: rgba(124, 58, 237, 0.22);
}

.leader-row-self {
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(239,246,255,0.96), rgba(255,255,255,0.90), rgba(248,250,252,0.94));
    border-color: rgba(96, 165, 250, 0.18);
    box-shadow: 0 18px 34px rgba(59, 130, 246, 0.08);
}

.leader-row-self.leader-row-fame {
    background: linear-gradient(135deg, rgba(245,243,255,0.96), rgba(255,255,255,0.90), rgba(250,245,255,0.94));
    border-color: rgba(124, 58, 237, 0.20);
    box-shadow: 0 18px 34px rgba(124, 58, 237, 0.08);
}

.leader-rank {
    font-size: 1.04rem;
    letter-spacing: 0.04em;
}

.leader-avatar {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.leader-name {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.leader-role,
.leader-side {
    color: var(--lb-copy-soft);
    font-family: 'Inter', 'Roboto', sans-serif;
    text-transform: none;
    letter-spacing: 0.01em;
}

.leader-main {
    font-family: 'Orbitron', sans-serif;
    font-size: 1.04rem;
    text-shadow: 0 1px 0 rgba(255,255,255,0.92);
}

.lb-pagination {
    margin-top: 22px;
    padding-top: 22px;
}

.page-link {
    min-height: 48px;
    padding: 0 18px;
    border-radius: 16px;
    background: var(--lb-card);
    border-color: rgba(226, 232, 240, 0.94);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.04);
}

.page-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.08);
}

.page-status {
    color: #64748b;
    font-size: 0.76rem;
}

.hero-tab:focus-visible,
.podium-card:focus-visible,
.leader-row:focus-visible,
.page-link:focus-visible {
    outline: none;
    border-color: rgba(59, 130, 246, 0.42) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.92), var(--lb-focus-ring), 0 18px 34px rgba(15, 23, 42, 0.10) !important;
}

@media (max-width: 1120px) {
    .lb-shell {
        width: min(100% - 28px, 100%);
    }

    .lb-hero {
        padding: 30px;
    }
}

@media (max-width: 860px) {
    body.lb-body {
        padding-top: 102px;
        padding-bottom: 76px;
    }

    .lb-shell {
        width: min(100% - 20px, 100%);
    }

    .lb-hero,
    .lb-board {
        padding: 18px;
        border-radius: 26px;
    }

    .hero-title {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .hero-subtitle {
        font-size: 0.95rem;
        line-height: 1.68;
    }

    .hero-stat,
    .podium-card,
    .leader-row {
        border-radius: 22px;
    }

    .board-head {
        display: none;
    }
}

/* ==========================================================================
   LEADERBOARD DISCOVERY STRIP EXTRACT
   Extracted safely from leaderboard.php
   ========================================================================== */

.fc-leader-discovery{
    margin:42px auto 0;
    padding:0 20px 28px;
}
.fc-leader-discovery__shell{
    max-width:1200px;
    margin:0 auto;
}
.fc-leader-discovery__head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
}
.fc-leader-discovery__intro{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:16px 18px;
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
    border:1px solid #dbe5f2;
    box-shadow:0 12px 28px rgba(15,23,42,.08);
    min-width:0;
    flex:1 1 620px;
}
.fc-leader-discovery__eyebrow{
    margin:0;
    color:#7c8ea5;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.fc-leader-discovery__title{
    margin:0;
    font-family:'Orbitron', sans-serif;
    font-size:1.08rem;
    color:#182842;
    letter-spacing:.04em;
    line-height:1.45;
}
.fc-leader-discovery__sub{
    margin:0;
    color:#66788f;
    font-size:.92rem;
    line-height:1.65;
    max-width:860px;
}
.fc-leader-discovery__browse{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:0 18px;
    border-radius:999px;
    text-decoration:none;
    color:#0f172a;
    background:linear-gradient(135deg, #f8fafc, #e2e8f0);
    font-weight:900;
    box-shadow:0 10px 26px rgba(15,23,42,.18);
    transition:transform .18s ease, box-shadow .18s ease;
}
.fc-leader-discovery__browse:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 30px rgba(15,23,42,.20);
}
.fc-leader-discovery__grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
}
.fc-leader-discovery__card{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-width:0;
    padding:18px;
    border-radius:22px;
    text-decoration:none;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
    border:1px solid #dbe5f2;
    box-shadow:0 12px 28px rgba(15,23,42,.08);
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.fc-leader-discovery__card:hover{
    transform:translateY(-3px);
    border-color:rgba(59,130,246,.28);
    box-shadow:0 18px 34px rgba(15,23,42,.12);
}
.fc-leader-discovery__icon{
    width:52px;
    height:52px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, #eff6ff, #ede9fe);
    border:1px solid #dbe5f2;
    color:#182842;
    font-size:1.08rem;
}
.fc-leader-discovery__card-title{
    color:#182842;
    font-size:1rem;
    font-weight:900;
    line-height:1.45;
}
.fc-leader-discovery__card-desc{
    color:#66788f;
    font-size:.9rem;
    line-height:1.65;
    flex:1 1 auto;
}
.fc-leader-discovery__card-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#0f172a;
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}
@media (max-width: 1100px){
    .fc-leader-discovery__grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px){
    .fc-leader-discovery__grid{
        grid-template-columns:1fr;
    }
}

/* ==========================================================================
   LEADERBOARD REFINEMENT PASS 1
   Hero / podium / board rows / mobile premium polish
   ========================================================================== */

.lb-shell{
    width:min(1300px, calc(100% - 40px));
}

.lb-hero{
    gap:30px;
    padding:44px;
    border-radius:38px;
}

.hero-copy{
    gap:24px;
}

.hero-kicker{
    min-height:38px;
    padding:0 16px;
}

.hero-title{
    max-width:11.5ch;
    line-height:1.01;
    letter-spacing:.03em;
}

.hero-subtitle{
    max-width:760px;
    font-size:1rem;
    line-height:1.78;
}

.hero-tabs{
    gap:14px;
    margin-top:2px;
}

.hero-tab{
    min-height:54px;
    padding:0 22px;
    border-radius:18px;
    font-size:.9rem;
}

.hero-aside{
    gap:18px;
}

.hero-stat{
    min-height:176px;
    padding:24px 22px 22px;
    border-radius:26px;
}

.hero-stat-value{
    margin:20px 0 12px;
    line-height:1.04;
}

.hero-stat-meta{
    font-size:.78rem;
}

.lb-podium{
    gap:20px;
    margin-top:26px;
}

.podium-card{
    min-height:340px;
    padding:30px 24px 24px;
    border-radius:30px;
}

.podium-card.pos-1{
    min-height:376px;
    transform:translateY(-14px);
}

.podium-badge{
    min-width:50px;
    height:50px;
    padding:0 15px;
}

.podium-avatar{
    width:88px;
    height:88px;
    border-radius:30px;
    font-size:2.05rem;
}

.podium-name{
    font-size:1.16rem;
    line-height:1.25;
}

.podium-rank{
    font-size:.78rem;
}

.podium-main{
    line-height:1;
}

.podium-sub{
    font-size:.8rem;
}

.lb-board{
    margin-top:24px;
    padding:20px;
    border-radius:34px;
}

.board-head{
    padding:16px 18px;
    font-size:.76rem;
}

.board-list{
    gap:12px;
}

.leader-row{
    gap:14px;
    padding:16px 18px;
    border-radius:22px;
}

.leader-row-self{
    margin-bottom:16px;
}

.leader-rank{
    font-size:1.02rem;
}

.leader-user{
    gap:14px;
}

.leader-avatar{
    width:56px;
    height:56px;
    border-radius:18px;
    font-size:1.12rem;
}

.leader-name{
    font-size:1rem;
    line-height:1.24;
}

.leader-role{
    margin-top:5px;
    font-size:.75rem;
}

.leader-main{
    font-size:.94rem;
    line-height:1.3;
}

.leader-side{
    font-size:.82rem;
    line-height:1.3;
}

.lb-pagination{
    padding-top:20px;
    margin-top:20px;
}

.page-link{
    min-height:50px;
    padding:0 18px;
    border-radius:16px;
    font-size:.84rem;
}

.page-status{
    font-size:.8rem;
}

@media (max-width:1120px){
    .lb-hero{
        padding:34px 28px;
    }

    .lb-board{
        padding:18px;
    }
}

@media (max-width:860px){
    .lb-shell{
        width:min(100% - 20px, 1300px);
    }

    .lb-hero,
    .lb-board{
        padding:18px;
        border-radius:26px;
    }

    .hero-title{
        max-width:none;
        font-size:clamp(2rem, 9vw, 3.2rem);
    }

    .hero-subtitle{
        font-size:.95rem;
        line-height:1.74;
    }

    .podium-card{
        min-height:unset;
        padding:24px 18px 20px;
        border-radius:24px;
    }

    .podium-card.pos-1{
        min-height:unset;
        transform:none;
    }

    .hero-stat{
        min-height:152px;
        padding:20px 18px;
    }
}

@media (max-width:520px){
    .hero-tabs{
        display:grid;
        grid-template-columns:1fr;
    }

    .hero-tab{
        width:100%;
    }

    .leader-row,
    .leader-row-self{
        padding:14px;
        border-radius:20px;
    }

    .leader-avatar{
        width:48px;
        height:48px;
        border-radius:16px;
    }

    .page-link,
    .page-status{
        width:100%;
        justify-content:center;
    }
}
/* ==========================================================================
   LEADERBOARD REFINEMENT PASS 2
   Deeper board-row polish — rank / identity / metric / status hierarchy
   ========================================================================== */

.leader-row,
.leader-row-self{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

.leader-row::before,
.leader-row-self::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right, rgba(47,107,255,.06), rgba(255,255,255,0) 30%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
    pointer-events:none;
    opacity:.96;
}

.mode-fame .leader-row::before,
.mode-fame .leader-row-self::before,
.leader-row-fame::before{
    background:
        radial-gradient(circle at top right, rgba(124,58,237,.07), rgba(255,255,255,0) 30%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
}

.leader-row::after,
.leader-row-self::after{
    content:"";
    position:absolute;
    left:20px;
    right:20px;
    top:0;
    height:2px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(96,165,250,.34), rgba(255,255,255,0));
    pointer-events:none;
}

.mode-fame .leader-row::after,
.mode-fame .leader-row-self::after,
.leader-row-fame::after{
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(167,139,250,.34), rgba(255,255,255,0));
}

.leader-row > *,
.leader-row-self > *{
    position:relative;
    z-index:1;
}

.leader-rank{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:44px;
    padding:0 10px;
    border-radius:999px;
    background:linear-gradient(180deg, rgba(47,107,255,.10), rgba(47,107,255,.05));
    border:1px solid rgba(47,107,255,.14);
    box-shadow:0 10px 18px rgba(15,23,42,.04);
    text-align:center;
}

.mode-fame .leader-rank,
.leader-row-fame .leader-rank{
    background:linear-gradient(180deg, rgba(124,58,237,.10), rgba(124,58,237,.05));
    border-color:rgba(124,58,237,.14);
}

.leader-user{
    gap:16px;
    min-width:0;
}

.leader-avatar{
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.76),
        0 10px 20px rgba(15,23,42,.05);
}

.leader-meta{
    min-width:0;
    display:grid;
    gap:4px;
}

.leader-name{
    line-height:1.22;
    letter-spacing:-.01em;
}

.leader-role{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
    border:1px solid rgba(226,232,240,.92);
    box-shadow:0 8px 16px rgba(15,23,42,.04);
    margin-top:2px;
}

.leader-main{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 14px;
    border-radius:16px;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
    border:1px solid rgba(226,232,240,.94);
    box-shadow:0 10px 18px rgba(15,23,42,.04);
    font-size:.94rem;
    font-weight:900;
    letter-spacing:-.01em;
}

.leader-side{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 12px;
    border-radius:999px;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
    border:1px solid rgba(226,232,240,.92);
    box-shadow:0 8px 16px rgba(15,23,42,.04);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.08em;
}

.leader-row-self{
    box-shadow:0 20px 36px rgba(47,107,255,.10);
}

.leader-row-self.leader-row-fame{
    box-shadow:0 20px 36px rgba(124,58,237,.10);
}

@media (max-width:860px){
    .leader-rank{
        min-width:58px;
        min-height:40px;
        font-size:.94rem;
    }

    .leader-user{
        gap:14px;
    }

    .leader-main{
        justify-content:flex-start;
        min-height:44px;
    }

    .leader-side{
        justify-content:flex-start;
        min-height:40px;
    }
}

@media (max-width:520px){
    .leader-main,
    .leader-side{
        width:100%;
    }

    .leader-role{
        max-width:100%;
    }
}
/* ==========================================================================
   LEADERBOARD REFINEMENT PASS 3
   Podium deeper polish — crown hierarchy / avatar / metric emphasis
   ========================================================================== */

.lb-podium{
    align-items:end;
}

.podium-card{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

.podium-card::after{
    content:"";
    position:absolute;
    left:22px;
    right:22px;
    top:0;
    height:2px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(96,165,250,.34), rgba(255,255,255,0));
    pointer-events:none;
}

.mode-fame .podium-card::after{
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(167,139,250,.34), rgba(255,255,255,0));
}

.podium-card > *{
    position:relative;
    z-index:1;
}

.podium-card.pos-1{
    box-shadow:0 34px 72px rgba(217,119,6,.16), 0 14px 30px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.96);
}

.podium-card.pos-1::after{
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(251,191,36,.46), rgba(255,255,255,0));
}

.podium-card.pos-2,
.podium-card.pos-3{
    box-shadow:0 22px 44px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.94);
}

.podium-badge{
    box-shadow:0 12px 24px rgba(15,23,42,.08);
}

.podium-card.pos-1 .podium-badge{
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,235,.94));
    border-color:rgba(251,191,36,.34);
    color:#b45309;
    box-shadow:0 14px 28px rgba(217,119,6,.16);
}

.podium-avatar{
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.76),
        0 14px 28px rgba(15,23,42,.08);
}

.podium-card.pos-1 .podium-avatar{
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.82),
        0 18px 34px rgba(217,119,6,.16);
}

.podium-name{
    max-width:14ch;
    line-height:1.2;
    letter-spacing:-.01em;
    text-wrap:balance;
}

.podium-rank{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 10px;
    border-radius:999px;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
    border:1px solid rgba(226,232,240,.92);
    box-shadow:0 8px 16px rgba(15,23,42,.04);
}

.podium-card.pos-1 .podium-rank{
    background:linear-gradient(180deg, rgba(255,248,235,.98), rgba(255,243,214,.94));
    border-color:rgba(251,191,36,.30);
    color:#b45309;
}

.podium-main{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    padding:0 16px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
    border:1px solid rgba(226,232,240,.94);
    box-shadow:0 12px 22px rgba(15,23,42,.05);
    text-align:center;
    letter-spacing:-.02em;
}

.podium-card.pos-1 .podium-main{
    background:linear-gradient(180deg, rgba(255,248,235,.98), rgba(255,243,214,.94));
    border-color:rgba(251,191,36,.30);
    color:#92400e;
    box-shadow:0 14px 26px rgba(217,119,6,.10);
}

.podium-sub{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
    border:1px solid rgba(226,232,240,.92);
    box-shadow:0 8px 16px rgba(15,23,42,.04);
    text-align:center;
}

.podium-card.pos-1 .podium-sub{
    background:linear-gradient(180deg, rgba(255,248,235,.98), rgba(255,243,214,.94));
    border-color:rgba(251,191,36,.28);
    color:#a16207;
}

@media (max-width:860px){
    .podium-name{
        max-width:none;
    }

    .podium-main{
        min-height:52px;
    }
}

/* ==========================================================================
   LEADERBOARD FINAL NORMALIZATION
   Keeps latest leaderboard passes stable after quiet-pass removal
   ========================================================================== */

.lb-shell,
.lb-hero,
.hero-copy,
.hero-aside,
.hero-tabs,
.lb-podium,
.podium-card,
.lb-board,
.board-head,
.board-list,
.leader-row,
.leader-row-self,
.leader-user,
.leader-meta,
.lb-pagination,
.fc-leader-discovery__head,
.fc-leader-discovery__grid,
.fc-leader-discovery__card{
    min-width:0;
}

.hero-tab,
.podium-card,
.leader-row,
.page-link,
.fc-leader-discovery__browse,
.fc-leader-discovery__card{
    box-sizing:border-box;
    max-width:100%;
    text-decoration:none;
}

.podium-name,
.leader-name,
.hero-title,
.fc-leader-discovery__title,
.fc-leader-discovery__card-title{
    overflow-wrap:anywhere;
}

@media (max-width:860px){
    .leader-main,
    .leader-side{
        min-width:0;
    }
}

@media (max-width:520px){
    .hero-tab,
    .page-link{
        width:100%;
        justify-content:center;
    }
}

/* FC_LEADERBOARD_MOBILE_COMFORT_START */
@media (max-width: 860px) {
    html,
    body.lb-body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .lb-page,
    .lb-shell,
    .lb-hero,
    .lb-board,
    .lb-podium,
    .fc-leader-discovery,
    .fc-leader-discovery__shell {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    .lb-shell {
        padding-left: max(14px, env(safe-area-inset-left));
        padding-right: max(14px, env(safe-area-inset-right));
    }

    .lb-hero {
        grid-template-columns: 1fr !important;
        gap: 18px;
        padding: 22px 16px !important;
        border-radius: 26px !important;
    }

    .hero-copy,
    .hero-aside,
    .hero-stat,
    .hero-tabs,
    .lb-board,
    .board-list,
    .leader-row,
    .podium-card {
        min-width: 0;
        max-width: 100%;
    }

    .hero-title {
        font-size: clamp(2rem, 11vw, 3.2rem) !important;
        line-height: .98;
        overflow-wrap: anywhere;
    }

    .hero-subtitle,
    .hero-kicker,
    .hero-stat-label,
    .hero-stat-value,
    .hero-stat-meta {
        overflow-wrap: anywhere;
    }

    .hero-tabs {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    .hero-tab {
        width: 100%;
        min-height: 48px;
        justify-content: center;
        text-align: center;
        white-space: normal;
        line-height: 1.15;
    }

    .hero-aside {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .hero-stat {
        padding: 16px !important;
        border-radius: 22px !important;
    }

    .lb-podium {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .podium-card,
    .podium-card.pos-1 {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100%;
        padding: 18px 14px !important;
        border-radius: 24px !important;
    }

    .podium-name,
    .podium-rank,
    .podium-main,
    .podium-sub {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .lb-board {
        padding: 12px !important;
        border-radius: 24px !important;
    }

    .board-head {
        display: none !important;
    }

    .leader-row,
    .leader-row-self {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
        grid-template-areas:
            "rank user"
            "main main"
            "side side" !important;
        gap: 12px !important;
        align-items: center;
        padding: 14px !important;
        border-radius: 20px !important;
    }

    .leader-rank {
        grid-area: rank;
        width: 48px;
        min-width: 48px;
        text-align: center;
    }

    .leader-user {
        grid-area: user;
        min-width: 0;
        max-width: 100%;
    }

    .leader-avatar {
        width: 42px;
        height: 42px;
        min-width: 42px;
    }

    .leader-meta {
        min-width: 0;
        max-width: 100%;
    }

    .leader-name,
    .leader-role {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .leader-main {
        grid-area: main;
        width: 100%;
        max-width: 100%;
        text-align: left;
        overflow-wrap: anywhere;
    }

    .leader-side {
        grid-area: side;
        width: 100%;
        max-width: 100%;
        text-align: left;
        overflow-wrap: anywhere;
    }

    .lb-pagination {
        width: 100%;
        max-width: 100%;
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) 48px;
        gap: 10px;
        align-items: center;
        overflow: hidden;
    }

    .page-link {
        min-width: 44px;
        min-height: 44px;
    }

    .page-status {
        min-width: 0;
        max-width: 100%;
        text-align: center;
        overflow-wrap: anywhere;
    }

    .fc-leader-discovery__shell {
        padding: 22px 14px !important;
        border-radius: 26px !important;
    }

    .fc-leader-discovery__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .fc-leader-discovery__card,
    .fc-leader-discovery__cta {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        border-radius: 20px !important;
    }

    .fc-leader-discovery__title,
    .fc-leader-discovery__intro,
    .fc-leader-discovery__card-title,
    .fc-leader-discovery__card-desc,
    .fc-leader-discovery__card-cta {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 420px) {
    .lb-shell {
        padding-left: 10px;
        padding-right: 10px;
    }

    .lb-hero {
        padding: 20px 12px !important;
        border-radius: 22px !important;
    }

    .hero-title {
        font-size: clamp(1.75rem, 13vw, 2.65rem) !important;
    }

    .podium-card,
    .leader-row,
    .leader-row-self {
        padding: 12px !important;
    }

    .leader-row,
    .leader-row-self {
        grid-template-columns: 50px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .leader-rank {
        width: 42px;
        min-width: 42px;
        font-size: .88rem !important;
    }

    .leader-avatar {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }

    .leader-name {
        font-size: .98rem !important;
    }

    .leader-role,
    .leader-side {
        font-size: .78rem !important;
    }

    .leader-main {
        font-size: 1.25rem !important;
    }

    .lb-pagination {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        gap: 8px;
    }

    .page-link {
        min-width: 40px;
        min-height: 40px;
    }

    .page-status {
        font-size: .78rem !important;
    }
}
/* FC_LEADERBOARD_MOBILE_COMFORT_END */



/* ==========================================================================
   FC_LEADERBOARD_D7_DESKTOP_POLISH_START
   Leaderboard desktop polish.
   Scope: desktop/tablet >=1025px only. No mobile, no routes, no DB/ranking logic.
   ========================================================================== */

@media (min-width: 1025px) {
    body.lb-body .lb-shell {
        width: min(calc(100% - 48px), 1320px) !important;
        max-width: 1320px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-bottom: 72px !important;
    }

    body.lb-body .lb-hero {
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.52fr) !important;
        gap: clamp(22px, 2.7vw, 38px) !important;
        align-items: stretch !important;
        padding: 34px !important;
        border-radius: 34px !important;
        box-shadow:
            0 34px 90px rgba(15,23,42,0.10),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
    }

    body.lb-body .hero-title {
        max-width: 780px !important;
        font-size: clamp(2.75rem, 4.2vw, 5rem) !important;
        line-height: 0.94 !important;
        letter-spacing: -0.06em !important;
    }

    body.lb-body .hero-subtitle {
        max-width: 720px !important;
        font-size: 1.05rem !important;
        line-height: 1.62 !important;
    }

    body.lb-body .hero-tabs {
        gap: 10px !important;
        margin-top: 22px !important;
    }

    body.lb-body .hero-tab {
        min-height: 48px !important;
        border-radius: 16px !important;
        justify-content: center !important;
    }

    body.lb-body .hero-tab.active,
    body.lb-body .hero-tab[aria-current="page"] {
        box-shadow:
            0 16px 34px rgba(37,99,235,0.14),
            0 1px 0 rgba(255,255,255,0.92) inset !important;
    }

    body.lb-body .hero-aside {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        align-content: center !important;
    }

    body.lb-body .hero-stat {
        min-height: 102px !important;
        padding: 18px !important;
        border-radius: 24px !important;
        box-shadow:
            0 18px 42px rgba(15,23,42,0.07),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
    }

    body.lb-body .hero-stat-value {
        font-size: clamp(1.55rem, 2vw, 2.12rem) !important;
        line-height: 1 !important;
        letter-spacing: -0.04em !important;
    }

    body.lb-body .lb-podium {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
        align-items: end !important;
        margin-top: 28px !important;
        margin-bottom: 28px !important;
    }

    body.lb-body .podium-card {
        border-radius: 28px !important;
        padding: 22px !important;
        box-shadow:
            0 24px 64px rgba(15,23,42,0.09),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
        transform: none !important;
    }

    body.lb-body .podium-card:hover {
        transform: translateY(-3px) !important;
    }

    body.lb-body .podium-card.pos-1 {
        min-height: 292px !important;
    }

    body.lb-body .podium-card.pos-2,
    body.lb-body .podium-card.pos-3 {
        min-height: 258px !important;
    }

    body.lb-body .podium-avatar {
        width: 82px !important;
        height: 82px !important;
        min-width: 82px !important;
        border-radius: 24px !important;
    }

    body.lb-body .podium-rank {
        min-height: 36px !important;
        border-radius: 999px !important;
    }

    body.lb-body .podium-name {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        line-height: 1.15 !important;
    }

    body.lb-body .lb-board {
        border-radius: 32px !important;
        padding: 22px !important;
        box-shadow:
            0 28px 78px rgba(15,23,42,0.09),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
    }

    body.lb-body .board-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 18px !important;
        align-items: end !important;
        margin-bottom: 18px !important;
    }

    body.lb-body .board-list {
        gap: 10px !important;
    }

    body.lb-body .leader-row,
    body.lb-body .leader-row-self {
        display: grid !important;
        grid-template-columns: 64px minmax(0, 1fr) minmax(170px, auto) !important;
        gap: 16px !important;
        align-items: center !important;
        min-height: 78px !important;
        padding: 14px 16px !important;
        border-radius: 22px !important;
        box-shadow:
            0 16px 38px rgba(15,23,42,0.06),
            0 1px 0 rgba(255,255,255,0.88) inset !important;
        transform: none !important;
    }

    body.lb-body .leader-row:hover,
    body.lb-body .leader-row-self:hover {
        transform: translateY(-2px) !important;
    }

    body.lb-body .leader-rank {
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        border-radius: 16px !important;
        font-size: 1rem !important;
    }

    body.lb-body .leader-user {
        min-width: 0 !important;
        gap: 12px !important;
    }

    body.lb-body .leader-avatar {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        border-radius: 16px !important;
    }

    body.lb-body .leader-name {
        max-width: 100% !important;
        font-size: 1rem !important;
        line-height: 1.14 !important;
        overflow-wrap: anywhere !important;
    }

    body.lb-body .leader-role,
    body.lb-body .leader-meta {
        line-height: 1.28 !important;
        overflow-wrap: anywhere !important;
    }

    body.lb-body .leader-side {
        justify-self: end !important;
        text-align: end !important;
        min-width: 0 !important;
    }

    body.lb-body .leader-main {
        font-size: clamp(1.25rem, 1.5vw, 1.65rem) !important;
        line-height: 1 !important;
        letter-spacing: -0.035em !important;
    }

    body.lb-body .lb-pagination {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) 48px !important;
        gap: 10px !important;
        align-items: center !important;
        margin-top: 22px !important;
    }

    body.lb-body .page-link,
    body.lb-body .page-status {
        min-height: 46px !important;
        border-radius: 15px !important;
        justify-content: center !important;
    }

    body.lb-body .fc-leader-discovery__shell {
        border-radius: 32px !important;
        padding: 28px !important;
        margin-top: 30px !important;
        box-shadow:
            0 28px 78px rgba(15,23,42,0.08),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
    }

    body.lb-body .fc-leader-discovery__head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 18px !important;
        align-items: end !important;
        margin-bottom: 20px !important;
    }

    body.lb-body .fc-leader-discovery__grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    body.lb-body .fc-leader-discovery__card {
        min-height: 178px !important;
        border-radius: 24px !important;
        padding: 20px !important;
        transform: none !important;
    }

    body.lb-body .fc-leader-discovery__card:hover {
        transform: translateY(-3px) !important;
    }

    body.lb-body .fc-leader-discovery__card-cta,
    body.lb-body .fc-leader-discovery__browse {
        min-height: 44px !important;
        border-radius: 15px !important;
        justify-content: center !important;
    }

    body.lb-body .board-empty {
        border-radius: 26px !important;
        padding: 26px !important;
    }
}

@media (min-width: 1025px) and (max-width: 1279px) {
    body.lb-body .lb-hero {
        grid-template-columns: 1fr !important;
    }

    body.lb-body .hero-aside {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.lb-body .lb-podium {
        grid-template-columns: 1fr !important;
    }

    body.lb-body .podium-card,
    body.lb-body .podium-card.pos-1,
    body.lb-body .podium-card.pos-2,
    body.lb-body .podium-card.pos-3 {
        min-height: 0 !important;
    }

    body.lb-body .leader-row,
    body.lb-body .leader-row-self {
        grid-template-columns: 58px minmax(0, 1fr) minmax(140px, auto) !important;
    }

    body.lb-body .fc-leader-discovery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1440px) {
    body.lb-body .lb-shell {
        width: min(calc(100% - 64px), 1380px) !important;
        max-width: 1380px !important;
    }

    body.lb-body .lb-hero {
        padding: 38px !important;
    }
}

@media (prefers-reduced-motion: reduce) and (min-width: 1025px) {
    body.lb-body .podium-card,
    body.lb-body .leader-row,
    body.lb-body .leader-row-self,
    body.lb-body .fc-leader-discovery__card,
    body.lb-body .hero-tab,
    body.lb-body .page-link {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}

/* ==========================================================================
   FC_LEADERBOARD_D7_DESKTOP_POLISH_END
   ========================================================================== */

/* ==========================================================================
   FC_LEADERBOARD_PAGINATION_DESKTOP_FIX_START
   Fix leaderboard desktop pagination alignment.
   Scope: pagination visuals only. No PHP, no routes, no ranking/pagination logic.
   ========================================================================== */

@media (min-width: 1025px) {
    body.lb-body .lb-pagination {
        width: 100% !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(132px, 1fr) auto minmax(132px, 1fr) !important;
        align-items: center !important;
        gap: 14px !important;
        padding: 16px 20px !important;
        margin-top: 24px !important;
        border-radius: 26px !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,0.88), rgba(248,250,252,0.72)) !important;
        border: 1px solid rgba(148,163,184,0.20) !important;
        box-shadow:
            0 18px 46px rgba(15,23,42,0.06),
            0 1px 0 rgba(255,255,255,0.92) inset !important;
        box-sizing: border-box !important;
    }

    body.lb-body .lb-pagination .page-link:first-child {
        justify-self: start !important;
    }

    body.lb-body .lb-pagination .page-status {
        justify-self: center !important;
    }

    body.lb-body .lb-pagination .page-link:last-child {
        justify-self: end !important;
    }

    body.lb-body .page-link {
        width: auto !important;
        min-width: 88px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 18px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 999px !important;
        font-size: 0.72rem !important;
        line-height: 1 !important;
        letter-spacing: 0.12em !important;
        white-space: nowrap !important;
        box-shadow:
            0 12px 26px rgba(15,23,42,0.06),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
    }

    body.lb-body .page-status {
        min-width: 132px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 18px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        font-size: 0.72rem !important;
        line-height: 1 !important;
        letter-spacing: 0.11em !important;
        white-space: nowrap !important;
        color: #64748b !important;
        background: rgba(255,255,255,0.64) !important;
        border: 1px solid rgba(148,163,184,0.18) !important;
        box-shadow: 0 1px 0 rgba(255,255,255,0.90) inset !important;
    }

    body.lb-body .page-link i,
    body.lb-body .page-status i {
        flex: 0 0 auto !important;
    }
}

@media (min-width: 1025px) and (max-width: 1279px) {
    body.lb-body .lb-pagination {
        grid-template-columns: minmax(110px, 1fr) auto minmax(110px, 1fr) !important;
        padding: 14px 16px !important;
    }

    body.lb-body .page-link {
        min-width: 82px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 15px !important;
    }

    body.lb-body .page-status {
        min-width: 118px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 14px !important;
    }
}

/* ==========================================================================
   FC_LEADERBOARD_PAGINATION_DESKTOP_FIX_END
   ========================================================================== */
