/* =====================================================================
   SCGE Leaderboard (v10.78.0) - [scge_leaderboard]
   Same design system as the Connector / Impact boards: Inter + Playfair
   Display, gold rule eyebrow, white cards, 3-card podium with crown.
   Linked BEFORE the markup by the shortcode so nothing paints unstyled.
   Animated elements are never centred with transform (animation replaces
   transform); the crown uses left/right 0 + auto margins.
   ===================================================================== */
.scge-lb {
    --lb-bg: #FAFAF7; --lb-bg2: #F4F3ED; --lb-ink: #18181B; --lb-ink2: #3F3F46; --lb-ink3: #71717A; --lb-ink4: #A1A1AA;
    --lb-line: #E8E7E0; --lb-gold: #B8862A; --lb-gold2: #D4A857; --lb-golddk: #8B6914; --lb-goldsoft: #FAF6EC;
    --lb-c: #2563EB; --lb-i: #B8862A; --lb-r: #059669; --lb-up: #059669; --lb-down: #B91C1C;
    --lb-sh-sm: 0 1px 2px rgba(24,24,27,.04), 0 2px 4px rgba(24,24,27,.04);
    --lb-sh-md: 0 4px 8px rgba(24,24,27,.04), 0 8px 16px rgba(24,24,27,.06);
    background: var(--lb-bg) !important;
    color: var(--lb-ink) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    -webkit-font-smoothing: antialiased;
    padding: 48px 0 64px !important;
}
.scge-lb *, .scge-lb *::before, .scge-lb *::after { box-sizing: border-box !important; }
.scge-lb a { text-decoration: none !important; }
.scge-lb-inner { max-width: 1080px !important; margin: 0 auto !important; padding: 0 20px !important; }

/* Header - identical to the Impact / Connector boards: centred eyebrow with
   rules both sides, 52px Playfair title with a light italic em, centred lede */
.scge-lb .lb-eb-wrap { text-align: center !important; margin-bottom: 12px !important; }
.scge-lb .lb-eb { font-size: 11px !important; letter-spacing: .3em !important; text-transform: uppercase !important; color: #B8862A !important; font-weight: 700 !important; display: inline-flex !important; align-items: center !important; gap: 14px !important; }
.scge-lb .lb-eb::before, .scge-lb .lb-eb::after { content: "" !important; width: 32px !important; height: 1px !important; background: #B8862A !important; }
.scge-lb .lb-title { font-family: 'Playfair Display', Georgia, serif !important; font-size: 52px !important; color: #18181B !important; font-weight: 900 !important; text-align: center !important; line-height: 1 !important; margin: 0 0 14px !important; letter-spacing: -.03em !important; text-transform: none !important; }
.scge-lb .lb-title em { color: #B8862A !important; font-style: italic !important; font-weight: 400 !important; }
.scge-lb .lb-sub { font-size: 15px !important; color: #71717A !important; text-align: center !important; max-width: 560px !important; margin: 0 auto 32px !important; line-height: 1.6 !important; }

/* Scoring + stats cards - same card as the Impact board stats:
   white, 1px border, Inter 30px / 700 number, small uppercase label */
.scge-lb .lb-rules, .scge-lb .lb-stats-row { display: flex !important; gap: 18px !important; justify-content: center !important; flex-wrap: wrap !important; }
.scge-lb .lb-rules { margin: 0 0 10px !important; }
.scge-lb .lb-rules-note { text-align: center !important; font-size: 12px !important; color: #71717A !important; margin: 0 0 26px !important; }
.scge-lb .lb-stats-row { margin: 0 0 28px !important; }
.scge-lb .lb-rule, .scge-lb .lb-stat { background: #fff !important; border: 1px solid #E4E4E7 !important; padding: 18px 28px !important; border-radius: 14px !important; text-align: center !important; min-width: 150px !important; box-shadow: 0 4px 16px rgba(184,134,42,.06) !important; }
.scge-lb .lb-rule.is-c { --k: var(--lb-c); } .scge-lb .lb-rule.is-i { --k: var(--lb-i); } .scge-lb .lb-rule.is-r { --k: var(--lb-r); }
.scge-lb .lb-rule .v, .scge-lb .lb-stat .n { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; font-size: 30px !important; color: #18181B !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: -.02em !important; font-variant-numeric: tabular-nums !important; }
.scge-lb .lb-stat.is-gold .n { color: #B8862A !important; }
.scge-lb .lb-rule .k, .scge-lb .lb-stat .l { font-size: 10px !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #71717A !important; margin-top: 8px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; }
.scge-lb .lb-rule .k i { width: 7px !important; height: 7px !important; border-radius: 50% !important; background: var(--k) !important; display: inline-block !important; flex: none !important; }

/* Period tabs, centred */
.scge-lb .lb-tabs-wrap { text-align: center !important; margin: 0 0 22px !important; }
.scge-lb .lb-tabs { display: inline-flex !important; background: #fff !important; border: 1px solid #E4E4E7 !important; border-radius: 999px !important; padding: 3px !important; gap: 2px !important; }
.scge-lb .lb-tabs a { font-size: 12px !important; font-weight: 600 !important; color: #71717A !important; padding: 7px 16px !important; border-radius: 999px !important; transition: all .15s; }
.scge-lb .lb-tabs a:hover { color: #18181B !important; }
.scge-lb .lb-tabs a.is-on { background: #18181B !important; color: #B8862A !important; }
.scge-lb .lb-note { text-align: center !important; font-size: 12px !important; color: #71717A !important; margin: -12px 0 22px !important; }

/* Your rank */
.scge-lb .lb-me { display: flex !important; align-items: center !important; gap: 14px !important; background: var(--lb-ink) !important; color: #fff !important; border-radius: 14px !important; padding: 12px 18px !important; margin: 0 0 24px !important; font-size: 13.5px !important; }
.scge-lb .lb-me-rk { font-family: 'Playfair Display', Georgia, serif !important; font-size: 24px !important; font-weight: 900 !important; color: var(--lb-gold2) !important; }
.scge-lb .lb-me-tx b { color: #fff !important; }
.scge-lb .lb-me-tx { color: #D4D4D8 !important; }

/* Podium */
.scge-lb .lb-pod { display: grid !important; grid-template-columns: 1fr 1.12fr 1fr !important; gap: 14px !important; align-items: end !important; margin: 18px 0 22px !important; }
.scge-lb .lb-pc { position: relative !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; background: #fff !important; border: 1px solid var(--lb-line) !important; border-radius: 18px !important; padding: 22px 18px 18px !important; box-shadow: var(--lb-sh-md) !important; color: var(--lb-ink) !important; transition: box-shadow .18s, border-color .18s; }
.scge-lb .lb-pc:hover { border-color: var(--lb-gold2) !important; }
.scge-lb .lb-pc.is-first { border-color: #E8D495 !important; background: linear-gradient(180deg, #fff, var(--lb-goldsoft)) !important; padding-top: 34px !important; }
.scge-lb .lb-crown { position: absolute !important; top: -22px !important; left: 0 !important; right: 0 !important; margin: 0 auto !important; width: 46px !important; height: 34px !important; }
.scge-lb .lb-pc-rk { font-size: 11px !important; font-weight: 800 !important; letter-spacing: .12em !important; color: var(--lb-golddk) !important; text-transform: uppercase !important; }
.scge-lb .lb-pc-av { width: 76px !important; height: 76px !important; border-radius: 50% !important; object-fit: cover !important; margin: 10px auto !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; }
.scge-lb .lb-pc.is-first .lb-pc-av { width: 92px !important; height: 92px !important; box-shadow: 0 0 0 3px var(--lb-gold), 0 0 0 6px rgba(184,134,42,.15) !important; }
.scge-lb .is-initials { background: linear-gradient(135deg, #1e293b, #475569) !important; color: #fff !important; font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; }
.scge-lb .lb-pc-av.is-initials { font-size: 26px !important; }
.scge-lb .lb-pc-nm { font-weight: 800 !important; font-size: 15px !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.scge-lb .lb-pc-tot { font-family: 'Playfair Display', Georgia, serif !important; font-size: 30px !important; font-weight: 900 !important; line-height: 1 !important; margin: 6px 0 12px !important; }
.scge-lb .lb-pc-tot small { display: block !important; font-family: 'Inter', sans-serif !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .12em !important; color: var(--lb-ink4) !important; margin-top: 5px !important; }
.scge-lb .lb-pc .lb-split { width: 100% !important; }
.scge-lb .lb-pc .lb-brk { justify-content: center !important; }
.scge-lb .lb-pc-mv { margin-top: 10px !important; }

/* Split bar */
.scge-lb .lb-bar { display: flex !important; height: 7px !important; border-radius: 99px !important; overflow: hidden !important; background: var(--lb-bg2) !important; }
.scge-lb .lb-bar span { display: block !important; height: 100% !important; }
.scge-lb .lb-bar .c, .scge-lb .lb-brk i.c { background: var(--lb-c) !important; }
.scge-lb .lb-bar .i, .scge-lb .lb-brk i.i { background: var(--lb-i) !important; }
.scge-lb .lb-bar .r, .scge-lb .lb-brk i.r { background: var(--lb-r) !important; }
.scge-lb .lb-brk { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; margin-top: 6px !important; font-size: 11.5px !important; font-weight: 700 !important; color: var(--lb-ink2) !important; }
.scge-lb .lb-brk i { display: inline-block !important; width: 7px !important; height: 7px !important; border-radius: 50% !important; margin-right: 4px !important; vertical-align: 1px !important; }

/* Movement chips */
.scge-lb .lb-mv { display: inline-flex !important; align-items: center !important; gap: 3px !important; font-size: 11px !important; font-weight: 800 !important; padding: 2px 8px !important; border-radius: 999px !important; white-space: nowrap !important; }
.scge-lb .lb-mv.is-up { color: var(--lb-up) !important; background: #ECFDF5 !important; }
.scge-lb .lb-mv.is-down { color: var(--lb-down) !important; background: #FEF2F2 !important; }
.scge-lb .lb-mv.is-new { color: #7C3AED !important; background: #F5F3FF !important; }
.scge-lb .lb-mv.is-same { color: var(--lb-ink4) !important; background: var(--lb-bg2) !important; }

/* List */
.scge-lb .lb-list { background: #fff !important; border: 1px solid var(--lb-line) !important; border-radius: 16px !important; box-shadow: var(--lb-sh-sm) !important; overflow: hidden !important; }
.scge-lb .lb-lh, .scge-lb .lb-row { display: grid !important; grid-template-columns: 44px 62px minmax(0,1fr) 230px 100px !important; gap: 14px !important; align-items: center !important; }
.scge-lb .lb-lh { padding: 10px 18px !important; background: #FBFAF6 !important; border-bottom: 1px solid var(--lb-line) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--lb-ink4) !important; }
.scge-lb .lb-lh span:last-child { text-align: right !important; }
.scge-lb .lb-row { padding: 12px 18px !important; border-bottom: 1px solid #F1F0EA !important; color: var(--lb-ink) !important; transition: background .15s; }
.scge-lb .lb-row:last-child { border-bottom: 0 !important; }
.scge-lb .lb-row:hover { background: #FDFCF8 !important; }
.scge-lb .lb-row.is-me { background: linear-gradient(90deg, #FFF8E6, #fff) !important; box-shadow: inset 3px 0 0 var(--lb-gold) !important; }
.scge-lb .lb-rk { font-family: 'Playfair Display', Georgia, serif !important; font-size: 20px !important; font-weight: 900 !important; color: var(--lb-ink2) !important; text-align: right !important; }
.scge-lb .lb-who { display: flex !important; align-items: center !important; gap: 12px !important; min-width: 0 !important; }
.scge-lb .lb-av { width: 38px !important; height: 38px !important; border-radius: 50% !important; object-fit: cover !important; flex: none !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; font-size: 14px !important; }
.scge-lb .lb-nm-wrap { min-width: 0 !important; display: block !important; }
.scge-lb .lb-nm { display: flex !important; align-items: center !important; gap: 4px !important; font-weight: 700 !important; font-size: 14px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.scge-lb .lb-ttl { display: block !important; font-size: 11.5px !important; color: var(--lb-ink4) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.scge-lb .lb-tot { font-family: 'Playfair Display', Georgia, serif !important; font-size: 20px !important; font-weight: 900 !important; text-align: right !important; }
.scge-lb .lb-tot small { display: block !important; font-family: 'Inter', sans-serif !important; font-size: 9.5px !important; font-weight: 800 !important; letter-spacing: .1em !important; color: var(--lb-ink4) !important; }

.scge-lb .lb-more { display: block !important; margin: 18px auto 0 !important; -webkit-appearance: none !important; appearance: none !important; font-family: inherit !important; font-size: 13.5px !important; font-weight: 700 !important; padding: 11px 22px !important; border-radius: 10px !important; border: 1px solid var(--lb-line) !important; background: #fff !important; color: var(--lb-ink) !important; cursor: pointer !important; box-shadow: var(--lb-sh-sm) !important; }
.scge-lb .lb-more:hover { border-color: var(--lb-gold2) !important; }
.scge-lb .lb-empty { background: #fff !important; border: 1px dashed #E8D495 !important; border-radius: 14px !important; padding: 22px !important; text-align: center !important; color: var(--lb-ink3) !important; margin: 0 0 22px !important; }
.scge-lb .lb-empty b { color: var(--lb-ink) !important; }

.scge-lb .lb-boards { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: 10px !important; margin-top: 34px !important; font-size: 13px !important; color: var(--lb-ink3) !important; }
.scge-lb .lb-boards a { font-weight: 700 !important; padding: 7px 14px !important; border-radius: 999px !important; background: #fff !important; border: 1px solid var(--lb-line) !important; border-top: 3px solid var(--k) !important; color: var(--lb-ink) !important; }
.scge-lb .lb-boards a.is-c { --k: var(--lb-c); } .scge-lb .lb-boards a.is-i { --k: var(--lb-i); } .scge-lb .lb-boards a.is-r { --k: var(--lb-r); }

@media (max-width: 760px) {
    .scge-lb { padding: 28px 0 48px !important; }
    .scge-lb-inner { padding: 0 16px !important; }
    .scge-lb .lb-title { font-size: 32px !important; }
    .scge-lb .lb-eb { letter-spacing: .16em !important; gap: 10px !important; white-space: nowrap !important; font-size: 10px !important; }
    .scge-lb .lb-eb::before, .scge-lb .lb-eb::after { width: 20px !important; }
    .scge-lb .lb-rules, .scge-lb .lb-stats-row { gap: 12px !important; }
    .scge-lb .lb-rule, .scge-lb .lb-stat { min-width: 0 !important; flex: 1 1 140px !important; padding: 16px 18px !important; }
    .scge-lb .lb-pod { grid-template-columns: 1fr !important; }
    .scge-lb .lb-pc.is-first { order: -1 !important; }
    .scge-lb .lb-lh { display: none !important; }
    .scge-lb .lb-row { grid-template-columns: 34px minmax(0,1fr) auto !important; grid-template-areas: "rk who tot" "rk split split" !important; row-gap: 6px !important; padding: 12px 14px !important; }
    .scge-lb .lb-row .lb-rk { grid-area: rk !important; font-size: 17px !important; }
    .scge-lb .lb-row .lb-who { grid-area: who !important; }
    .scge-lb .lb-row .lb-tot { grid-area: tot !important; }
    .scge-lb .lb-row .lb-split { grid-area: split !important; }
    .scge-lb .lb-row .lb-mvc { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
    .scge-lb .lb-pc, .scge-lb .lb-row { transition: none !important; }
}
