/* The weekly and global boards are one chapter of the home page. */
.leaderboard-view{width:100%;padding:clamp(48px,6vw,88px) 0 clamp(56px,7vw,96px);background:#e2f0ff;color:#15345f;scroll-margin-top:104px}
.leaderboard-shell{width:min(1200px,calc(100% - 64px));margin:0 auto}
.leaderboard-masthead{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:0 0 28px;border-bottom:2px solid #9cc6ed}
.leaderboard-eyebrow,.leaderboard-overline{display:inline-flex;align-items:center;gap:9px;color:#0756c8;font-size:11px;font-weight:900;letter-spacing:.12em}
.leaderboard-eyebrow i,.leaderboard-live i,.leaderboard-clock-heading i{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#075be8}
.leaderboard-heading h2{margin:12px 0 7px;font:400 clamp(38px,5vw,64px)/1.05 var(--display);letter-spacing:-.025em;color:#102b4c}
.leaderboard-heading-dot{color:#075be8}
.leaderboard-heading p{margin:0;color:#355779;font-size:clamp(14px,1.4vw,18px);line-height:1.5}
.leaderboard-masthead-mark{flex:none;display:grid;grid-template-columns:auto auto;align-items:end;gap:0 14px;min-width:176px;padding:15px 18px;background:#075be8;color:#fff}
.leaderboard-masthead-mark span{grid-row:1/3;font:900 58px/.85 var(--body);letter-spacing:-.04em;color:#fff}
.leaderboard-masthead-mark small{font-size:9px;font-weight:900;letter-spacing:.1em;color:#d8f7ff}
.leaderboard-masthead-mark b{font-size:14px;font-weight:900;letter-spacing:.07em}
.leaderboard-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;background:#c9e2fb;border:1px solid #8eb9e5;border-bottom:0}
.leaderboard-tabs button{display:flex;align-items:center;gap:12px;min-height:68px;padding:13px 24px;border:0;border-bottom:4px solid transparent;background:transparent;color:#254c76;text-align:left;font:900 18px var(--body);cursor:pointer}
.leaderboard-tabs button+button{border-left:1px solid #8eb9e5}
.leaderboard-tabs button span{font-size:11px;color:#426b92}
.leaderboard-tabs button small{margin-left:auto;font-size:11px;font-weight:800;color:#426b92}
.leaderboard-tabs button:hover{background:#b5d8f8;color:#102b4c}
.leaderboard-tabs button.selected{background:#075be8;border-bottom-color:#49dfff;color:#fff}
.leaderboard-tabs button.selected span,.leaderboard-tabs button.selected small{color:#e5f9ff}
.leaderboard-tabs button:focus-visible,.leaderboard-refresh:focus-visible,.leaderboard-empty button:focus-visible{outline:3px solid #102b4c;outline-offset:3px;position:relative;z-index:2}
.leaderboard-panel{border:1px solid #8eb9e5;border-top:0;background:#fff}
.leaderboard-panel[hidden],.leaderboard-empty[hidden]{display:none}
.leaderboard-panel-top{display:flex;justify-content:space-between;align-items:stretch;gap:30px;padding:34px;background:#f2f8ff;border-bottom:1px solid #bfd9f1}
.leaderboard-panel-top>div:first-child{align-self:center;max-width:560px}
.leaderboard-overline{font-size:10px}
.leaderboard-panel h2{margin:10px 0;color:#102b4c;font:900 clamp(28px,3vw,42px)/1.12 var(--body);letter-spacing:-.03em}
.leaderboard-panel-top p{margin:0;color:#355779;font-size:13px;line-height:1.65}
.leaderboard-clock{width:min(455px,48%);padding:18px 20px 16px;background:#fff;border:1px solid #9fc6e8;box-shadow:0 9px 20px #0b3b7917}
.leaderboard-clock-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#15345f;font-size:10px;font-weight:900;letter-spacing:.08em}
.leaderboard-clock-heading>span:first-child{display:flex;align-items:center;gap:8px;color:#0756c8}
.leaderboard-clock-heading>span:last-child{color:#426b92;letter-spacing:0;text-align:right}
.leaderboard-clock .weekly-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:16px 0 12px}
.leaderboard-clock .weekly-countdown>span{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:10px 0 8px;border:1px solid #bfd9f1;background:#eaf5ff;text-align:center}
.leaderboard-clock .weekly-countdown strong{font:900 clamp(25px,3vw,38px)/1 var(--body);letter-spacing:-.03em;color:#102b4c;font-variant-numeric:tabular-nums}
.leaderboard-clock .weekly-countdown small{margin:0;color:#355779;font-size:9px;font-weight:900;letter-spacing:.08em}
.leaderboard-clock>p{color:#426b92;text-align:right;font-size:10px}
.leaderboard-global-mark{display:flex;align-items:center;justify-content:center;gap:17px;width:270px;background:#075be8;color:#fff}
.leaderboard-global-mark strong{font:900 78px/.8 var(--body);letter-spacing:-.04em}
.leaderboard-global-mark span{font-size:11px;font-weight:900;line-height:1.5;letter-spacing:.1em}
.leaderboard-table{margin:24px 32px 32px;border:1px solid #a8cbed;background:#fff}
.leaderboard-table-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px 20px;border-bottom:1px solid #b9d5ef;background:#e9f4ff}
.leaderboard-live{display:flex;align-items:center;gap:10px;color:#102b4c;font-size:13px;font-weight:900;letter-spacing:.07em}
.leaderboard-table-bar p{margin:4px 0 0 17px;color:#426b92;font-size:11px}
.leaderboard-refresh{min-height:42px;padding:8px 14px;border:1px solid #0756c8;background:#fff;color:#0756c8;font-size:12px;font-weight:900;cursor:pointer}
.leaderboard-view #refreshRanked{min-height:42px;padding:8px 14px;border:1px solid #0756c8;background:#fff;color:#0756c8}
.leaderboard-refresh:hover{background:#075be8;color:#fff}
.leaderboard-view #refreshRanked:hover{background:#075be8;color:#fff}
.leaderboard-status,#weeklyBoardStatus,#rankedBoardStatus{min-height:18px;margin:0;padding:12px 20px;color:#355779;font-size:11px;line-height:1.5;border-bottom:1px solid #d1e3f4}
.leaderboard-table .ranked-table-head,.leaderboard-table .ranked-row{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(110px,150px) 116px;gap:14px;align-items:center}
.leaderboard-table .ranked-table-head{margin:0;padding:12px 20px;border:0;background:#f7fbff;color:#426b92;font-size:10px;font-weight:900;letter-spacing:.1em}
.leaderboard-table .ranked-table-head span:nth-child(3),.leaderboard-table .ranked-table-head span:last-child{text-align:right}
.leaderboard-table .ranked-row{min-height:66px;padding:9px 20px;border-top:1px solid #d6e6f5;color:#15345f;background:#fff}
.leaderboard-table .ranked-row:nth-child(even){background:#f6fbff}
.leaderboard-table .ranked-row-1{background:#fff8e6}
.leaderboard-table .ranked-row-2{background:#f0f6fc}
.leaderboard-table .ranked-row-3{background:#fff3ed}
.leaderboard-table .ranked-place{font:900 20px var(--body);font-variant-numeric:tabular-nums;color:#426b92}
.leaderboard-table .ranked-row-1 .ranked-place{color:#956100}
.leaderboard-table .ranked-row-2 .ranked-place{color:#53687e}
.leaderboard-table .ranked-row-3 .ranked-place{color:#a45125}
.leaderboard-table .ranked-player{display:flex;align-items:center;gap:10px;min-width:0}
.leaderboard-table .ranked-player-badge{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #96c1e8;background:#d9edff;color:#0756c8;font:900 13px var(--body)}
.leaderboard-table .ranked-player-identity{display:flex;flex-direction:column;gap:2px;min-width:0}
.leaderboard-table .ranked-player-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 13px ui-monospace,SFMono-Regular,monospace;color:#102b4c}
.leaderboard-table .ranked-player-identity small{font-size:9px;font-weight:900;letter-spacing:.07em;color:#426b92}
.leaderboard-table .ranked-score{text-align:right;font:900 22px var(--body);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#102b4c}
.leaderboard-table .ranked-record-status{text-align:right;color:#355779;font-size:11px;font-weight:800}
.leaderboard-table .ranked-record-status::before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#168b63;vertical-align:middle}
.leaderboard-empty{display:flex;align-items:center;gap:24px;padding:32px 24px;border-top:1px solid #d6e6f5}
.leaderboard-empty-number{color:#80b7e8;font:900 56px/.9 var(--body);letter-spacing:-.04em}
.leaderboard-empty h3{margin:0 0 4px;color:#102b4c;font-size:19px;font-weight:900}
.leaderboard-empty p{margin:0;color:#355779;font-size:12px;line-height:1.5}
.leaderboard-empty button{margin-left:auto;flex:none;min-height:44px;padding:10px 16px;border:1px solid #0756c8;background:#075be8;color:#fff;font-size:11px;font-weight:900;cursor:pointer}
.leaderboard-empty button:hover{background:#004bc4}
.leaderboard-footnote{margin:18px 0 0;color:#355779;font-size:11px;line-height:1.6}
@media(max-width:850px){
 .leaderboard-shell{width:calc(100% - 40px)}
 .leaderboard-panel-top{flex-direction:column;gap:22px}
 .leaderboard-clock{width:100%}
 .leaderboard-global-mark{min-height:100px;width:100%}
 .leaderboard-table .ranked-table-head,.leaderboard-table .ranked-row{grid-template-columns:55px minmax(0,1fr) 115px 90px;gap:9px}
}
@media(max-width:600px){
 .leaderboard-view{padding:42px 0 54px;scroll-margin-top:108px}
 .leaderboard-shell{width:calc(100% - 28px)}
 .leaderboard-masthead{padding-bottom:22px}
 .leaderboard-masthead-mark{display:none}
 .leaderboard-heading h2{font-size:clamp(35px,9vw,48px)}
 .leaderboard-heading p{font-size:13px}
 .leaderboard-tabs{margin-top:20px}
 .leaderboard-tabs button{min-height:58px;padding:10px 12px;font-size:14px;gap:7px}
 .leaderboard-tabs button small{display:none}
 .leaderboard-tabs button span{font-size:9px}
 .leaderboard-panel-top{padding:22px 16px}
 .leaderboard-panel h2{font-size:29px}
 .leaderboard-clock{padding:14px 12px}
 .leaderboard-clock-heading{font-size:9px}
 .leaderboard-clock .weekly-countdown{gap:5px}
 .leaderboard-clock .weekly-countdown>span{padding:10px 0 7px}
 .leaderboard-clock .weekly-countdown strong{font-size:clamp(21px,7vw,29px)}
 .leaderboard-clock .weekly-countdown small{font-size:7px}
 .leaderboard-global-mark strong{font-size:60px}
 .leaderboard-table{margin:12px 8px 16px}
 .leaderboard-table-bar{padding:12px;min-height:64px}
 .leaderboard-live{font-size:11px}
 .leaderboard-table-bar p{font-size:10px}
 .leaderboard-refresh{padding:6px 8px;min-height:40px}
 .leaderboard-view #refreshRanked{padding:6px 8px;min-height:40px}
 .leaderboard-refresh span{display:none}
 .leaderboard-status,#weeklyBoardStatus,#rankedBoardStatus{padding:9px 12px}
 .leaderboard-table .ranked-table-head,.leaderboard-table .ranked-row{grid-template-columns:34px minmax(0,1fr) minmax(78px,95px);gap:7px;padding-left:10px;padding-right:10px}
 .leaderboard-table .ranked-table-head span:last-child,.leaderboard-table .ranked-record-status{display:none}
 .leaderboard-table .ranked-table-head{font-size:8px}
 .leaderboard-table .ranked-row{min-height:60px}
 .leaderboard-table .ranked-place{font-size:15px}
 .leaderboard-table .ranked-player{gap:7px}
 .leaderboard-table .ranked-player-badge{width:27px;height:27px;font-size:11px}
 .leaderboard-table .ranked-player-identity strong{font-size:10px}
 .leaderboard-table .ranked-player-identity small{font-size:7px}
 .leaderboard-table .ranked-score{font-size:15px}
 .leaderboard-empty{flex-wrap:wrap;gap:13px;padding:20px 14px}
 .leaderboard-empty-number{font-size:42px}
 .leaderboard-empty h3{font-size:17px}
 .leaderboard-empty button{margin:4px 0 0;width:100%}
}
