/* Ranking appears on request; the map keeps its full viewport. */
.lobby-topbar>div:first-child{min-width:0;flex:1}
.lobby-navigation{display:flex;align-items:center;gap:10px;flex-shrink:0}
.lobby-ranking-button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:8px 12px;border:1px solid #c7c5aa;border-radius:5px;background:#e8e6d3;color:#526b48;font-size:12px;white-space:nowrap}
.lobby-ranking-button svg{width:16px;height:16px}
.leaderboard-dialog{width:650px;padding:22px 25px;max-height:calc(var(--app-height,100dvh) - 24px);overflow:hidden;text-align:left}
.leaderboard-dialog[open]{display:flex;flex-direction:column;gap:12px}
.leaderboard-dialog:before{display:none}
.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}
.leaderboard-heading .eyebrow{font-size:8px;letter-spacing:1.4px}
.leaderboard-heading h2{font:500 27px var(--serif);letter-spacing:3px;margin:5px 0 0}
#close-leaderboard{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;background:#e9e7d6;color:#627457;border-radius:5px}
.leaderboard-mine{padding:10px 12px;margin:0;border-left:2px solid #8c9f6c;color:#526b47;background:#e7ead8;font-size:11px;line-height:1.7;flex-shrink:0}
.leaderboard-body{overflow-y:auto;min-height:70px;max-height:55dvh;flex:1;scrollbar-width:thin;overscroll-behavior:contain;touch-action:pan-y}
.leaderboard-status{margin:0 0 9px;color:#8a856d;font-size:10px;line-height:1.8}
#leaderboard-table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
#leaderboard-table th{text-align:left;font-size:10px;font-weight:500;color:#8b8168;border-bottom:1px solid #cbc5ae;padding:8px}
#leaderboard-table td{padding:12px 8px;border-bottom:1px solid #e0dac6;font-size:12px;color:#59704d}
#leaderboard-table th:first-child{width:48px}#leaderboard-table th:nth-child(3){width:65px}#leaderboard-table th:last-child{width:95px}
#leaderboard-table td:nth-child(2){font:500 15px var(--serif);overflow-wrap:anywhere}
#leaderboard-table th:nth-child(n+3),#leaderboard-table td:nth-child(n+3){text-align:right}
#leaderboard-table td:last-child{font-size:16px;color:#3e5b3b}
#leaderboard-table tr.is-me{background:#e2e8ce}
.leaderboard-rules{margin-top:17px;color:#83886e;font-size:10px;line-height:1.8}
.leaderboard-rules summary{cursor:pointer;padding:6px 0;color:#6c805b}
.leaderboard-rules p{margin:7px 0}
.leaderboard-footer{display:flex;align-items:center;gap:15px;border-top:1px solid #d8d0b8;padding-top:11px;flex-shrink:0}
.leaderboard-footer .subtle-button{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;padding:8px 4px;font-size:11px}
.leaderboard-footer .subtle-button svg{width:14px;height:14px}
.leaderboard-footer .primary-button{flex:1;width:auto;font-size:12px;padding:10px;letter-spacing:2px}
.result-score-panel{margin:16px 0;padding:13px 15px;text-align:left;border:1px solid #c0c9a5;background:#e8ecd8;border-radius:5px}
.result-score-panel>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#637953}
.result-score-panel strong{font-size:27px;font-weight:500;color:#3c5a38;font-variant-numeric:tabular-nums}
.result-score-panel p{font-size:10px;line-height:1.7;margin:5px 0 0;color:#718365}
#result-score-status{font-size:9px;color:#909174}
.result-ranking-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:9px;border:1px solid #c6ccb2;border-radius:4px;color:#617b4f}
.result-ranking-button svg{width:15px;height:15px}
@media(max-height:540px) and (orientation:landscape){
 .lobby-navigation{gap:7px}.lobby-ranking-button{min-height:32px;padding:6px 8px;font-size:10px}.lobby-ranking-button svg{width:14px;height:14px}
 .leaderboard-dialog{padding:13px 18px;max-height:calc(var(--app-height,100dvh) - 16px)}.leaderboard-dialog[open]{gap:8px}
 .leaderboard-heading h2{font-size:21px;margin:3px 0 0}.leaderboard-heading .eyebrow{font-size:7px}.leaderboard-mine{padding:6px 10px;font-size:10px}
 .leaderboard-footer{padding-top:7px;gap:12px}.leaderboard-footer .primary-button{padding:8px}.leaderboard-status{font-size:9px;margin-bottom:4px}
}
@media(max-width:600px) and (orientation:portrait){
 .lobby-navigation{margin-top:16px;gap:8px}.lobby-navigation .lobby-mode-tabs{margin:0;width:auto;flex:1}.lobby-ranking-button{min-height:46px}
 .leaderboard-dialog{width:calc(100vw - 20px);max-width:none;padding:18px 15px}.leaderboard-heading h2{font-size:24px}.leaderboard-heading .eyebrow{font-size:6px;letter-spacing:1px}
 #leaderboard-table th:first-child{width:38px}#leaderboard-table th:nth-child(3){width:50px}#leaderboard-table th:last-child{width:76px}#leaderboard-table th,#leaderboard-table td{padding:10px 5px}
}
