/* Ranking hall: compact standings first; expedition map opens only on the stage-record tab. */
.ranking-tabs{display:flex;gap:8px;margin:0 0 22px;border-bottom:2px solid #b9cec1;padding-bottom:12px}
.ranking-tabs[hidden],.ranking-stage-picker[hidden]{display:none}
.ranking-tabs button{min-height:48px;padding:12px 28px;border:1px solid #a7bfb2;border-radius:7px 7px 2px 2px;background:#edf3e7;color:#557369;font:800 16px/1.3 "Malgun Gothic",sans-serif;cursor:pointer;transition:background .16s,transform .16s}
.ranking-tabs button[aria-selected=true]{background:linear-gradient(135deg,#347f79,#23576b);color:#fff5d2;border-color:#275f67;box-shadow:inset 0 2px #9bc7ab}
.ranking-tabs button:hover{transform:translateY(-2px)}.ranking-tabs button:active{transform:translateY(1px)}
.ranking-tabs button:focus-visible{outline:3px solid #c69b42;outline-offset:3px}
.ranking-results{scroll-margin-top:90px}.ranking-results[data-enter=true]{animation:ranking-reveal .24s ease-out both}
@keyframes ranking-reveal{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.ranking-list>li{animation:rank-row .22s ease-out both}.ranking-list>li:nth-child(2){animation-delay:20ms}.ranking-list>li:nth-child(3){animation-delay:40ms}.ranking-list>li:nth-child(4){animation-delay:60ms}.ranking-list>li:nth-child(5){animation-delay:80ms}
@keyframes rank-row{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
.progress-record .record-score{min-width:280px}.progress-record .record-score>div:first-child{min-width:155px}
.progress-record .progress-track{display:block;width:100%;height:6px;margin-top:10px;border:0;border-radius:6px;overflow:hidden;background:#d8e4d9;accent-color:#3b8b79}
.progress-track::-webkit-progress-bar{background:#d8e4d9}.progress-track::-webkit-progress-value{background:linear-gradient(90deg,#72ac7b,#2a817f)}.progress-track::-moz-progress-bar{background:#3b8b79}
.progress-record .record-score dd small{font-size:12px;font-weight:600;margin-left:8px;color:#5c817a}
#ranking-more{display:block;margin:20px auto;min-height:44px;padding:10px 24px;border:1px solid #9cbab0;border-radius:5px;background:#fff8df;color:#356b70;font:700 14px/1.4 "Malgun Gothic",sans-serif;cursor:pointer}#ranking-more[hidden]{display:none}
.ranking-stage-picker .stage-selection{margin:0 0 28px}.ranking-stage-picker .difficulty-tabs{margin-bottom:18px}
#setup.ranking-stage-picker .difficulty-tabs button{min-height:105px;padding:14px 22px}
#setup.ranking-stage-picker .difficulty-copy strong{font-size:28px}
.ranking-stage-picker .stage-map-top{padding-top:16px}.ranking-stage-picker .stage-map-top h3{font-size:24px}
.ranking-stage-picker .stage-clear{padding:5px 12px}.ranking-stage-picker .stage-clear b{font-size:19px}
.ranking-stage-picker .stage-route{margin-top:10px}.ranking-stage-picker .stage-grid{grid-template-rows:repeat(4,82px)}
#setup.ranking-stage-picker .stage-choice{width:70px;height:73px}#setup.ranking-stage-picker .stage-choice b{font-size:23px}
.ranking-stage-picker .stage-map-footer{padding:10px 15px;margin-bottom:12px}.ranking-stage-picker .stage-map-footer strong{font-size:18px}
.clear-badge{display:inline-block;margin-left:12px;padding:3px 7px;border:1px solid #bba75e;border-radius:3px;color:#8b702f;font-size:10px;font-weight:800;background:#fff6d5;vertical-align:middle}
@media(min-width:1100px){#ranking-content:has(.ranking-stage-picker:not([hidden])){display:grid;grid-template-columns:minmax(430px,.95fr) minmax(0,1.05fr);gap:26px;align-items:start}.ranking-stage-picker .stage-route{margin-inline:20px}.ranking-stage-picker .stage-grid{grid-template-rows:repeat(4,86px)}.ranking-stage-picker .difficulty-tabs{gap:8px}#setup.ranking-stage-picker .difficulty-tabs button{padding:12px 10px}.ranking-stage-picker .difficulty-copy>span{font-size:10px}#ranking-content:has(.ranking-stage-picker:not([hidden])) .record-heading{grid-template-columns:50px minmax(0,1fr);gap:12px}#ranking-content:has(.ranking-stage-picker:not([hidden])) .record-score{grid-column:2;gap:20px}#ranking-content:has(.ranking-stage-picker:not([hidden])) .record-score div{text-align:left}}
@media(max-width:700px){.ranking-tabs button{flex:1;font-size:14px;padding:12px 8px}.progress-record .record-score{min-width:0;width:100%;gap:16px}.progress-record .record-score>div:first-child{min-width:135px}.progress-record .record-score dd small{font-size:11px}#setup.ranking-stage-picker .difficulty-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#setup.ranking-stage-picker .difficulty-tabs button{min-height:90px;padding:10px 8px}#setup.ranking-stage-picker .difficulty-copy strong{font-size:23px}.ranking-stage-picker .difficulty-copy>span{display:none}.ranking-stage-picker .difficulty-check{width:18px;height:18px;left:5px;top:5px}.ranking-stage-picker .stage-grid{grid-template-rows:repeat(5,84px)}#setup.ranking-stage-picker .stage-choice{width:58px;height:73px}.ranking-stage-picker .stage-map-top{padding:16px 15px 0}.ranking-stage-picker .stage-map-top h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.ranking-results[data-enter=true],.ranking-list>li{animation:none}.ranking-tabs button{transition:none}}
