.ranking-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.ranking-entry button{font-size:14px;min-height:42px}
.ranking-entry .rank-account{background:none;border:0;color:#775b39;text-decoration:underline;text-underline-offset:4px;max-width:100%;overflow-wrap:anywhere}
.rank-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}
.rank-row{display:flex;align-items:center;gap:16px;padding:12px 16px;border:1px solid #e9d7b4;border-radius:12px;background:#fffaf0;text-align:left}
.rank-number{width:32px;flex-shrink:0;color:#a26b22;font-size:20px;text-align:center;font-variant-numeric:tabular-nums}
.rank-player{flex:1;min-width:0}.rank-player strong{display:block;overflow-wrap:anywhere;color:#4d3928}.rank-player small{display:block;margin-top:4px;color:#816a50;font-size:12px}
.rank-score{color:#9c5719;font-size:22px;font-variant-numeric:tabular-nums;white-space:nowrap}.rank-score small{font-size:11px;margin-left:3px}
.rank-self{border-color:#ce963d;background:#fff1cf}.rank-personal{border-bottom:1px dashed #dcbf8c;padding-bottom:14px}
.rank-login{padding:16px;border-radius:12px;background:#f7e9d1}.rank-login .primary{display:inline-block;text-decoration:none;margin-top:8px}
.rank-empty,.rank-count,.rank-identity{color:#806548;line-height:1.7}.rank-count{font-size:13px}.rank-empty{padding:12px 0}
.rank-submit{margin-top:14px;padding:12px;border-radius:10px;background:#fff3d7;color:#77502b;font-size:13px;line-height:1.6}
.rank-submit button{margin-top:8px}.ranking-entry button:focus-visible,.rank-login a:focus-visible{outline:3px solid #a2691d;outline-offset:4px}
.rank-filter{display:block;color:#775b39;font-size:14px}.rank-filter select{font:inherit;margin-left:8px;padding:8px;border:1px solid #ceb27b;border-radius:8px;background:#fffaf0;color:#684726}
@media(max-width:760px) and (min-height:501px){
  .ranking-entry{position:absolute;top:601px;left:7%;right:7%;margin:0;justify-content:center;flex-wrap:nowrap;gap:10px}
  .ranking-entry button{min-height:38px;padding:8px 12px;font-size:12px;white-space:nowrap}
  .ranking-entry .rank-account{padding:8px 0;overflow:hidden;text-overflow:ellipsis;max-width:210px}
  .home-copy .run-meta{display:none}.home-copy .best{top:650px}.home-bottom{bottom:65px}
}
@media(max-width:760px) and (min-height:701px) and (max-height:799px){.ranking-entry{top:539px}.home-copy .best{top:585px}}
@media(max-width:760px) and (min-height:501px) and (max-height:700px){.ranking-entry{top:483px}.home-copy .best{top:529px}}
@media(max-width:760px) and (min-height:501px) and (max-height:620px){.ranking-entry{top:446px}}
@media(max-width:520px){.rank-row{gap:8px;padding:10px 8px}.rank-score{font-size:19px}.rank-number{width:26px}.rank-player small{font-size:11px}.ranking-entry{gap:8px;margin-top:12px}.ranking-entry button{font-size:13px}}

/* ImageGen paper-and-scroll button; the native button retains keyboard semantics. */
.ranking-entry{margin-top:0;gap:10px}
.ranking-entry #leaderboard{display:block;flex:0 0 210px;width:210px;min-height:44px;padding:0;margin:-7px 0;border:0;background:transparent;border-radius:20px;box-shadow:none;line-height:0;cursor:pointer;transition:transform .16s ease,filter .16s ease}
#leaderboard img{display:block;width:100%;height:auto;pointer-events:none;user-select:none}
.ranking-entry #leaderboard:hover{filter:brightness(1.045);transform:translateY(-2px);background:transparent;box-shadow:none}
.ranking-entry #leaderboard:active{transform:translateY(1px);filter:brightness(.97)}
.ranking-entry #leaderboard:focus-visible{outline:3px solid #987535;outline-offset:2px}
@media(max-width:760px) and (min-height:501px){
  .ranking-entry #leaderboard{flex-basis:144px;width:144px;margin:-5px 0}
  .ranking-entry .rank-account{min-width:0;max-width:170px;font-size:11px}
}
@media(max-height:500px){.home-copy{top:54px}.ranking-entry{margin-top:0}.ranking-entry #leaderboard{flex-basis:156px;width:156px}.ranking-entry .rank-account{max-width:180px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.ranking-entry #leaderboard{transition:none}.ranking-entry #leaderboard:hover{transform:none}}
