/* Global ranking, same look as the daily rewards: gold-lit card, hero strip, podium cards and glowing rows. */
.lb2-card {
  width: min(58rem, 94vw); max-width: 58rem; max-height: min(92vh, 52rem); display: flex; flex-direction: column;
  background: radial-gradient(ellipse 70% 40% at 50% 0, #fbbf2426, transparent 70%), radial-gradient(ellipse 50% 40% at 100% 100%, #a855f722, transparent 70%), linear-gradient(160deg, #1a2540, #0e1628 70%);
}
.lb2-header { padding-bottom: .5rem; }
.lb2-title-group { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.lb2-icon { flex: none; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: .7rem; border: 2px solid #fcd34d; background: radial-gradient(circle at 30% 25%, #ffe58f, #f59e0b 60%, #b45309); color: #4a2a05; box-shadow: 0 0 1.2rem #fbbf24aa, inset 0 0 .5rem #fff8; animation: dailyIconPulse 2.2s ease-in-out infinite; }
.lb2-icon svg { width: 1.7rem; height: 1.7rem; }
.lb2-title { margin: 0; color: #fff7d6; font: 800 1.15rem var(--font-pixel-ui); letter-spacing: .04em; text-shadow: 0 0 .8rem #fbbf2477; }
.lb2-body { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .8rem; padding-top: .4rem; }

/* Your position */
.lb2-hero { display: flex; align-items: center; gap: .9rem; padding: .7rem .9rem; border: 1px solid #fbbf2455; border-radius: .8rem; background: linear-gradient(100deg, #fbbf2420, #0f1a2e 60%); box-shadow: inset 0 0 1.6rem #fbbf2410; flex: none; }
.lb2-hero-avatar { width: 3.6rem; height: 3.6rem; object-fit: contain; image-rendering: pixelated; border-radius: .8rem; border: 2px solid #fcd34d; background: radial-gradient(circle at 50% 30%, #3a3017, #0b1222); flex: none; }
.lb2-hero-info { flex: 1; min-width: 0; }
.lb2-hero-info small { display: block; color: #fcd34d; font: 800 .58rem var(--font-pixel-ui); letter-spacing: .14em; }
.lb2-hero-info strong { display: block; margin-top: .2rem; color: #fff7d6; font: 800 1rem/1.3 var(--font-pixel-ui); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb2-hero-stats { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .4rem; }
.lb2-hero-stats span { padding: .15rem .55rem; border-radius: 2rem; border: 1px solid #334155; background: #0b1222aa; color: #cbd5e1; font: 700 .62rem var(--font-clean); }
.lb2-hero-stats b { color: #fde68a; font: 800 .62rem var(--font-pixel-ui); }
.lb2-hero-rank { display: grid; justify-items: center; align-content: center; min-width: 6.5rem; padding: .4rem .8rem; border-radius: .6rem; border: 1px solid #86efac66; background: linear-gradient(#14532d55, #0b1222cc); flex: none; }
.lb2-hero-rank small { color: #94a3b8; font: 700 .5rem var(--font-pixel-ui); letter-spacing: .08em; }
.lb2-hero-rank strong { color: #86efac; font: 800 1.5rem/1.2 var(--font-pixel-ui); text-shadow: 0 0 .6rem #22c55e88; }

/* List: scrolls, with a fade at the bottom */
.lb2-list { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: .8rem; padding: .3rem .2rem 2.4rem; scrollbar-width: thin; scrollbar-color: #2e4063 transparent; -webkit-mask-image: linear-gradient(#000 calc(100% - 2.6rem), transparent); mask-image: linear-gradient(#000 calc(100% - 2.6rem), transparent); }

/* Podium */
.lb2-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; align-items: end; padding-top: .6rem; }
.lb2-podium-card { --m: #cbd5e1; position: relative; display: grid; justify-items: center; gap: .45rem; padding: 1.7rem .7rem .8rem; overflow: hidden; isolation: isolate; border: 2px solid color-mix(in srgb, var(--m) 55%, #334a6b); border-radius: .8rem; background: radial-gradient(ellipse at 50% 0, color-mix(in srgb, var(--m) 30%, transparent), transparent 70%), linear-gradient(#17243c, #101a2e); transition: transform .2s, box-shadow .2s; }
.lb2-podium-card:hover { transform: translateY(-3px); box-shadow: 0 0 1.2rem color-mix(in srgb, var(--m) 40%, transparent); }
.lb2-podium-card.is-gold { --m: #fcd34d; padding-top: 2.1rem; box-shadow: 0 0 1.6rem #fbbf2466, inset 0 0 1.2rem #fbbf2422; transform: translateY(-6px); animation: dailyCurrent 2.2s ease-in-out infinite; }
.lb2-podium-card.is-gold:hover { transform: translateY(-9px); }
.lb2-podium-card.is-gold::after { content: ''; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(105deg, transparent 38%, #ffffff33 50%, transparent 62%); background-size: 250% 100%; animation: dailyShine 2.8s ease-in-out infinite; }
.lb2-podium-card.is-silver { --m: #cbd5e1; }
.lb2-podium-card.is-bronze { --m: #fb923c; }
.lb2-podium-card.is-self { outline: 2px solid #38bdf8; outline-offset: 2px; }
.lb2-podium-badge { position: absolute; top: .5rem; left: 50%; transform: translateX(-50%); padding: .12rem .6rem; border-radius: 2rem; background: color-mix(in srgb, var(--m) 85%, #000); border: 1px solid color-mix(in srgb, var(--m) 70%, #fff); color: #1a1203; font: 800 .6rem var(--font-pixel-ui); letter-spacing: .06em; white-space: nowrap; box-shadow: 0 0 .7rem color-mix(in srgb, var(--m) 60%, transparent); }
.lb2-podium-avatar { display: grid; place-items: center; width: 4.4rem; height: 4.4rem; border-radius: 50%; border: 2px solid var(--m); background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--m) 35%, transparent), #ffffff08 70%); box-shadow: 0 0 1rem color-mix(in srgb, var(--m) 35%, transparent); }
.lb2-podium-avatar img { width: 3.6rem; height: 3.6rem; object-fit: contain; image-rendering: pixelated; }
.lb2-podium-name { max-width: 100%; color: #f8fafc; font: 800 .85rem var(--font-pixel-ui); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center; }
.lb2-podium-card small { color: #94a3b8; font: 700 .52rem var(--font-pixel-ui); letter-spacing: .05em; text-align: center; }
.lb2-podium-card .lb2-bar { width: 86%; }

/* Rows */
.lb2-rows { display: grid; gap: .45rem; }
.lb2-row { display: grid; grid-template-columns: 3rem 2.6rem minmax(0, 1.2fr) minmax(6rem, 1fr) auto; align-items: center; gap: .7rem; padding: .45rem .75rem; border: 1px solid #334a6b; border-left: 4px solid #4a6290; border-radius: .7rem; background: radial-gradient(ellipse at 0 50%, #2a3f6644, transparent 60%), linear-gradient(#17243c, #101a2e); transition: transform .15s, border-color .15s, box-shadow .15s; }
.lb2-row:hover { transform: translateX(3px); border-color: #7dd3fc; box-shadow: 0 0 1rem #38bdf833; }
.lb2-row.is-self { border-color: #38bdf8; border-left-color: #38bdf8; background: radial-gradient(ellipse at 0 50%, #0ea5e933, transparent 60%), linear-gradient(#10304a, #0e1b30); box-shadow: 0 0 1rem #38bdf833; }
.lb2-rank { color: #94a3b8; font: 800 .85rem var(--font-pixel-ui); text-align: center; }
.lb2-avatar { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffffff30, #ffffff08 70%); border: 1px solid #ffffff22; }
.lb2-avatar img { width: 2.2rem; height: 2.2rem; object-fit: contain; image-rendering: pixelated; }
.lb2-who { min-width: 0; display: grid; gap: .15rem; }
.lb2-who strong { color: #f1f5f9; font: 800 .82rem var(--font-pixel-ui); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb2-who small { color: #94a3b8; font: 700 .5rem var(--font-pixel-ui); letter-spacing: .05em; white-space: nowrap; }
.lb2-bar { display: block; height: .5rem; border-radius: .3rem; background: #0b1222; border: 1px solid #334155; overflow: hidden; }
.lb2-bar u { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #fbbf24, #f97316, #c084fc); box-shadow: 0 0 .5rem #fbbf24aa; }
.lb2-team-btn { padding: .3rem .7rem; border-radius: .45rem; border: 1px solid #7dd3fc88; background: #0c2238; color: #bae6fd; font: 800 .55rem var(--font-pixel-ui); letter-spacing: .05em; cursor: pointer; transition: background .15s, box-shadow .15s; }
.lb2-team-btn:hover, .lb2-team-btn:focus-visible { background: #12334f; box-shadow: 0 0 .8rem #38bdf855; outline: none; }
.lb2-podium-card .lb-team-tooltip-wrap { justify-self: center; }
.lb2-who strong .dev-tag, .lb2-podium-name .dev-tag { margin-left: .4rem; }
