.dashboard{grid-template-columns:minmax(0,2.15fr) minmax(280px,1fr)}
.dashboard>section{min-width:0}
.leaderboard-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--line);flex-wrap:wrap}
.view-toggle{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f4f7fc;gap:3px}
.view-toggle button{border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:750;padding:.42rem 1rem;font-size:.84rem;min-height:34px}
.view-toggle button[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:0 2px 5px #0d21471a}
.graph-tools{display:flex;align-items:center;gap:.5rem;font-size:.73rem;color:var(--muted)}
.graph-tools button{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);font-weight:800;width:32px;height:32px}
.leaderboard-graph{display:grid;grid-template-columns:34px minmax(0,1fr);padding:.5rem 1.1rem 0 .6rem}
.leaderboard[hidden],.leaderboard-graph[hidden],.graph-tools[hidden]{display:none}
.graph-axis{height:314px;margin-top:32px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:8px;color:var(--muted);font-size:.72rem;line-height:1;transform:translateY(6px)}
.graph-viewport{overflow-x:auto;overflow-y:hidden;min-width:0;scrollbar-color:#94a9cd #edf2f9;scrollbar-width:auto;overscroll-behavior-x:contain;padding-bottom:10px}
.graph-viewport:focus-visible{outline:3px solid var(--blue);outline-offset:-3px;border-radius:8px}
.graph-bars{display:flex;gap:14px;width:max-content;min-width:100%;padding:32px 14px 0;background:repeating-linear-gradient(to top,transparent 0,transparent 156px,#edf1f7 156px,#edf1f7 157px);background-size:100% 314px;background-position:0 32px;background-repeat:repeat-x}
.graph-column{width:88px;flex:none;display:grid;grid-template-rows:314px 70px}
.bar-well{display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #bdcce2}
.bar-stack{position:relative;width:56px;min-height:2px}
.bar-fill{height:100%;min-height:2px;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#427fff,#246bfd)}
.graph-leader .bar-fill{background:linear-gradient(180deg,#ffd36b,#ffc43d)}
.bar-value{position:absolute;top:-28px;left:0;right:0;text-align:center;color:var(--navy);font:800 1.2rem "League Spartan",sans-serif}
.bar-name{font-size:.78rem;line-height:1.3;font-weight:700;text-align:center;padding:.75rem 0 0;color:var(--navy);overflow-wrap:anywhere}
.weekly-boost .week-banner{padding:1.15rem}.weekly-boost .week-banner h2{font-size:1.75rem}.weekly-boost .bonus-body{padding:1rem}.weekly-boost .bonus-body>p{font-size:.82rem}.weekly-boost .bonus-rotation li{padding:.65rem .6rem .65rem 2.2rem}.weekly-boost .bonus-rotation li:before{left:.65rem;top:.7rem}.weekly-boost .bonus-rotation strong{font-size:.82rem}.weekly-boost .bonus-rotation span{font-size:.73rem}
@media(max-width:850px){.dashboard{grid-template-columns:1fr}.weekly-boost .week-banner h2{font-size:1.9rem}}
@media(max-width:480px){.leaderboard-controls{padding:.75rem 1rem;gap:.6rem}.graph-tools{gap:.35rem}.graph-tools span{display:none}.graph-column{width:78px}.graph-bars{gap:10px}.card-head{flex-wrap:wrap}.card-head .updated{font-size:.72rem}}
