/* Shared game page layout: right-side leaderboard on desktop, stacked on mobile. */
main{width:100%;max-width:1680px;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"header header" "stage ranking" "footer ranking";gap:0 24px}
header{grid-area:header;flex-wrap:wrap}header>div{flex:1;min-width:180px}
#stage{grid-area:stage;min-width:0;align-self:start}footer{grid-area:footer;min-width:0;align-self:start}
.ranking{grid-area:ranking;min-width:0;margin:0;padding:20px;align-self:start;height:calc(100svh - 125px);min-height:320px;display:flex;flex-direction:column;overflow:hidden;overflow-anchor:none;overscroll-behavior:contain}
.rank-heading{gap:8px;flex-wrap:wrap}.ranking h2{font-size:19px;margin:4px 0 5px}.ranking #rank-player{align-self:flex-start;margin-top:0}.ranking #rank-status{min-height:1.7em;margin:10px 0}.ranking ol{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-bottom:0}.ranking li{padding:12px 4px}.ranking .rank-help{margin:16px 0 0}
button{transition:background .18s,box-shadow .18s}
:root[data-theme=light] #reward-ad{border-color:#cbd6e4;box-shadow:0 24px 100px #26395140}
:root[data-theme=light] #reward-ad::backdrop{background:#52657e66}
:root[data-theme=light] #ad-image{background:#e9eff7}
:root[data-theme=light] .ad-bottom span{color:#426184}
:root[data-theme=light] .ad-bottom strong{color:#1766a3}
:root[data-theme=light] #notice{background:#f8fbfff2;color:#24334b;border:1px solid #cbd6e4}
@media(max-width:900px){
 main{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "stage" "footer" "ranking"}
 .ranking{height:480px;min-height:0;margin-top:20px}
 .rank-heading{flex-wrap:nowrap}
}
@media(max-width:600px){header{gap:10px}header>div{flex-basis:100%}.ranking{padding:18px;margin-top:18px}#stage{box-shadow:0 10px 30px #0002}}
