.leaderboard-page{width:min(100%,76rem);margin:0 auto;padding:1.5rem 1.25rem 3rem;--lb-gold:#e9bd62;--lb-silver:#c4d1e3;--lb-bronze:#d9a183;--lb-muted:var(--text-muted,#9ba8bc);}
.lb-hero{text-align:center;padding:1rem 0 2.25rem;position:relative;}
.lb-hero:after{content:"";display:block;width:7rem;height:1px;margin:1.6rem auto 0;background:linear-gradient(90deg,transparent,var(--lb-gold),transparent);}
.leaderboard-page .lb-hero h1{font-size:clamp(2.35rem,5vw,3.5rem);font-weight:800;letter-spacing:-.045em;line-height:1.15;margin:.4rem 0 .75rem;}
.lb-hero p{color:var(--lb-muted);margin:0;font-size:1rem;}
.lb-trophy{position:relative;width:12rem;height:9rem;margin:auto;display:flex;align-items:center;justify-content:center;color:var(--lb-gold);}
.lb-trophy>svg:not(.lb-wreath){width:7rem;height:7rem;border:1px solid #e9bd6255;border-radius:50%;padding:.55rem;box-shadow:0 0 0 .65rem #e9bd6209,0 0 3rem #e9bd6215;}
.lb-wreath{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.lb-spark{position:absolute;font-style:normal;color:var(--lb-gold);}.lb-spark-one{top:.4rem;right:1rem;font-size:1rem;}.lb-spark-two{bottom:.4rem;left:1.2rem;font-size:1.4rem;}.lb-spark-three{top:1rem;left:1.5rem;font-size:.6rem;}
.lb-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start;}
.lb-board,.lb-personal,.lb-rules{background:var(--reading-surface,#01040e);border:1px solid var(--border-soft,#334155);border-radius:1.25rem;}
.lb-board{overflow:clip;border-top:2px solid var(--lb-gold);}
.lb-board[data-lb-board="online"]{border-top-color:#9dbbe9;}
.lb-board-heading{display:flex;gap:.7rem;align-items:center;padding:1.2rem 1.4rem;border-bottom:1px solid var(--border-soft,#334155);}
.lb-board-heading h2{font-size:1.1rem;font-weight:700;margin:0;}
.lb-board-icon{color:var(--lb-gold);width:2rem;height:2rem;flex-shrink:0;}.lb-board-icon svg{width:100%;height:100%;}
[data-lb-board="online"] .lb-board-icon{color:#9dbbe9;}
.lb-total{margin-inline-start:auto;font-variant-numeric:tabular-nums;color:var(--lb-muted);font-size:.85rem;}
.lb-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.55rem;padding:2rem 1.25rem 0;min-height:15rem;}
.lb-winner{--lb-medal:var(--lb-bronze);text-align:center;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;order:3;}
.lb-winner[data-rank="1"]{--lb-medal:var(--lb-gold);}.lb-winner[data-rank="2"]{--lb-medal:var(--lb-silver);}
.lb-winner:first-child{order:2;}.lb-winner:nth-child(2){order:1;}
.lb-medal{position:relative;display:grid;place-items:center;width:3.3rem;height:3.3rem;border:1px solid var(--lb-medal);outline:1px solid color-mix(in srgb,var(--lb-medal) 25%,transparent);outline-offset:4px;border-radius:50%;color:var(--lb-medal);font-size:1.4rem;font-weight:800;margin-bottom:1rem;box-shadow:0 0 1.5rem color-mix(in srgb,var(--lb-medal) 12%,transparent);}
.lb-winner[data-rank="1"] .lb-medal{width:4rem;height:4rem;font-size:1.8rem;}
.lb-crown{position:absolute;top:-1.45rem;font-size:1.4rem;line-height:1;}
.lb-winner-name{font-weight:650;font-size:.9rem;max-width:100%;overflow-wrap:anywhere;line-height:1.35;}
.lb-winner-score{font-size:.8rem;color:var(--lb-muted);font-variant-numeric:tabular-nums;margin:.3rem 0 .8rem;}
.lb-plinth{display:grid;place-items:center;width:100%;height:2.5rem;border:1px solid color-mix(in srgb,var(--lb-medal) 45%,transparent);border-bottom:0;border-radius:.6rem .6rem 0 0;color:var(--lb-medal);font-size:.8rem;font-weight:700;background:linear-gradient(180deg,color-mix(in srgb,var(--lb-medal) 9%,transparent),transparent);}
.lb-winner[data-rank="1"] .lb-plinth{height:4rem;}.lb-winner[data-rank="2"] .lb-plinth{height:3.1rem;}
.lb-board table{width:100%;border-collapse:collapse;text-align:start;}
.lb-board th{font-size:.7rem;font-weight:600;letter-spacing:.06em;color:var(--lb-muted);padding:1rem .6rem .65rem;border-bottom:1px solid var(--border-soft,#334155);}
.lb-board td{padding:.85rem .6rem;border-bottom:1px solid var(--border-soft,#334155);overflow-wrap:anywhere;font-size:.9rem;}
.lb-board :is(th,td){text-align:start;}.lb-board :is(th,td):first-child{padding-inline-start:1.4rem;width:4rem;}
.lb-board :is(th,td):last-child{text-align:end;padding-inline-end:1.4rem;font-variant-numeric:tabular-nums;white-space:nowrap;}
.lb-row-rank{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--lb-muted);font-variant-numeric:tabular-nums;}
.lb-row-top .lb-row-rank{border:1px solid var(--lb-medal);color:var(--lb-medal);border-radius:50%;font-weight:750;}
.lb-row-top{--lb-medal:var(--lb-bronze);}.lb-row-top[data-rank="1"]{--lb-medal:var(--lb-gold);}.lb-row-top[data-rank="2"]{--lb-medal:var(--lb-silver);}
.lb-row-top td:last-child{color:var(--lb-medal);font-weight:700;}.lb-masked{color:var(--lb-muted);font-weight:400;}
.lb-board small{display:inline-block;margin-inline-start:.4rem;font-size:.65rem;color:var(--lb-muted);}
.lb-pagination{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem;font-size:.8rem;color:var(--lb-muted);}
.lb-pagination button{display:inline-flex;gap:.65rem;align-items:center;padding:.6rem .85rem;border:1px solid var(--border-soft,#334155);border-radius:2rem;color:inherit;background:var(--reading-surface,#01040e);font-weight:600;}
.lb-pagination button:hover{border-color:var(--lb-gold);color:var(--lb-gold);}.lb-pagination button:focus-visible{outline:2px solid var(--lb-gold);outline-offset:3px;}.lb-pagination button:disabled{opacity:.45;cursor:wait;}
.lb-empty{padding:2rem 1.4rem;color:var(--lb-muted);text-align:center;}
.lb-personal{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.5rem;padding:1.2rem 1.5rem;margin:0 0 1.5rem;border-inline-start:3px solid var(--lb-gold);}
.lb-personal h2{font-size:.8rem;font-weight:700;color:var(--lb-gold);margin:0;grid-row:span 3;align-self:center;}
.lb-personal p{margin:0;font-size:.85rem;}.lb-personal-stats{display:flex;flex-wrap:wrap;gap:.35rem 1rem;}.lb-personal-stats p:first-child{font-weight:650;}
.lb-emblems{display:flex;flex-wrap:wrap;gap:.5rem;}.lb-emblem{border:1px solid #b08b3b88;border-radius:2rem;padding:.25rem .65rem;color:var(--lb-gold);font-size:.7rem;}
.lb-updated{text-align:center;font-size:.75rem;color:var(--lb-muted);margin:1.5rem 0;}.lb-rules{padding:.85rem 1.25rem;color:var(--lb-muted);font-size:.8rem;}.lb-rules summary{cursor:pointer;}.lb-rules p{margin:.75rem 0 0;line-height:1.7;}
html[data-theme="light"] .leaderboard-page{--lb-gold:#876019;--lb-silver:#536982;--lb-bronze:#97512b;--lb-muted:#586578;}
html[data-theme="light"] [data-lb-board="online"] .lb-board-icon{color:#4a6eaa;}
@media(max-width:800px){.lb-boards{grid-template-columns:1fr;gap:1.5rem;}.leaderboard-page{max-width:42rem;}.lb-hero{padding-bottom:1.6rem;}}
@media(max-width:440px){.leaderboard-page{padding:1rem .65rem 2rem;}.lb-personal{grid-template-columns:1fr;padding:1rem;gap:.65rem;}.lb-personal h2{grid-row:auto;}.lb-board-heading{padding:1rem;}.lb-podium{padding:1.8rem .8rem 0;gap:.4rem;}.lb-board :is(th,td):first-child{padding-inline-start:.8rem;width:3.2rem;}.lb-board :is(th,td):last-child{padding-inline-end:.8rem;}.lb-pagination{padding:1rem .8rem;}.lb-winner-name{font-size:.8rem;}}
.lb-page-tools{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-bottom:1rem;}
.lb-page-tools :is(.ai-fab,.feedback-launcher){position:relative;inset:auto;transform:none;margin:0;flex-shrink:0;}
.leaderboard-page [hidden]{display:none!important;}

/* ▼▼ LIGHT THEME — GENERATED by scripts/build_light_theme.py from the rules above. Do not edit by hand: run the builder. Hand tuning goes in 36-theme-light.css. ▼▼ */
html[data-theme="light"] .lb-trophy>svg:not(.lb-wreath){box-shadow:0px 0px 0px 10.4px rgb(170 122 24/0.16),0px 14px 48px rgb(15 23 42/0.05)}
html[data-theme="light"] .lb-board,html[data-theme="light"] .lb-personal,html[data-theme="light"] .lb-rules{background:var(--reading-surface,rgb(252 252 253));border-color:rgb(212 220 230)}
html[data-theme="light"] .lb-board-heading{border-bottom-color:rgb(212 220 230)}
html[data-theme="light"] [data-lb-board="online"] .lb-board-icon{color:rgb(22 57 110)}
html[data-theme="light"] .lb-board th{border-bottom-color:rgb(212 220 230)}
html[data-theme="light"] .lb-board td{border-bottom-color:rgb(212 220 230)}
html[data-theme="light"] .lb-pagination button{border-color:rgb(212 220 230);background:var(--reading-surface,rgb(252 252 253))}
/* ▲▲ LIGHT THEME END ▲▲ */
