.local-rankings{margin:28px 0;padding:30px;border:1px solid #fff;border-radius:28px;background:linear-gradient(145deg,#fbfcf4,#f4f6ec);box-shadow:0 12px 40px #596c4010;scroll-margin-top:20px}.rank-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.rank-heading h2{font-size:25px;margin:0;letter-spacing:-1px}.rank-local-badge{border-radius:20px;padding:7px 11px;background:#e9efdc;color:#697952;font-size:11px}.rank-intro{font-size:13px;color:#6d785e;line-height:1.8;margin-bottom:20px}.rank-select-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#5c6c4b}.rank-select-label select{max-width:100%;font:inherit;padding:10px 14px;border:1px solid #d9e3cc;border-radius:12px;background:white;min-height:44px}.rank-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin:28px 0 18px}.rank-winner{--trophy:#d5ad52;--trophy-dark:#b38632;position:relative;border:1px solid #ecdca9;border-radius:22px;background:linear-gradient(145deg,#fffdf2,#f6e9be);padding:20px 12px;text-align:center;min-width:0}.rank-winner.rank-1{order:2;padding-top:28px;padding-bottom:28px;box-shadow:0 12px 25px #a38c3020}.rank-winner.rank-2{order:1;--trophy:#b5c3d1;--trophy-dark:#8294a9;border-color:#d5dfe8;background:linear-gradient(145deg,#fdfefe,#e6ebf1)}.rank-winner.rank-3{order:3;--trophy:#d49b76;--trophy-dark:#ac714c;border-color:#e8d0bf;background:linear-gradient(145deg,#fffaf4,#f0ddcd)}.rank-place{display:block;font-size:12px;font-weight:700;color:#75613b}.rank-trophy{display:block;width:80px;height:80px;margin:10px auto 6px;filter:drop-shadow(0 5px 3px #594d291c)}.rank-1 .rank-trophy{width:96px;height:96px}.rank-name{font-size:18px;line-height:1.4;overflow-wrap:anywhere;margin:8px 0}.rank-score{font-size:15px;font-weight:750;margin:4px 0;color:#645837}.rank-2 .rank-score{color:#53667a}.rank-3 .rank-score{color:#835b3f}.rank-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid #e5eadc;font-size:13px}.rank-list{padding:0;list-style:none;background:#ffffff8a;border-radius:16px;overflow:hidden}.rank-number{color:#8a9679;font-weight:750}.rank-row-name{overflow-wrap:anywhere}.rank-row strong{font-size:12px;color:#5f7048}.rank-rules,.rank-feedback{font-size:12px;color:#70805d;line-height:1.8}.rank-empty{margin:25px 0;padding:30px 20px;border:1px dashed #cddbb6;border-radius:20px;text-align:center;font-size:14px;color:#72815e;background:#f1f5e8;line-height:1.8}.rank-clear{font:inherit;font-size:11px;border:0;background:transparent;color:#7b846e;text-decoration:underline;padding:8px 0;cursor:pointer}.rank-quick{font-size:11px;margin-left:auto;color:#6b803f;padding:8px 4px}.rank-winner.is-latest{outline:2px solid #9db15f;outline-offset:3px}.rank-row.is-latest{background:#edf5d9}.record-entry{border-top:1px solid #e0e7d7;margin-top:16px;padding-top:14px;text-align:left}.record-entry h3{font-size:15px;margin:0 0 9px}.record-entry .record-result{font-size:12px;font-weight:700;margin-bottom:10px;color:#687c41}.record-entry label{display:block;font-size:11px;margin-bottom:5px;color:#667654}.record-entry input{width:100%;min-height:42px;padding:10px 12px;border:1px solid #cedbbd;border-radius:12px;font:inherit;font-size:16px;margin-bottom:9px}.record-entry .primary{min-height:43px;font-size:13px}.record-entry .record-note,.record-entry .record-message{font-size:10px;line-height:1.7;margin:8px 0 0;word-break:normal}.record-entry .record-message{color:#596f35;font-weight:650}.record-view-link{display:block;text-align:center;font-size:12px;font-weight:650;color:#647f36;padding:12px 0 0}.game-stage.has-record-entry .game-overlay{align-items:flex-start;overflow:auto;overscroll-behavior:contain}.game-stage.has-record-entry .overlay-card{margin:auto;max-height:100%;overflow:auto}.game-stage.has-record-entry .overlay-card>img{display:none}.game-stage.has-record-entry .overlay-card h2{font-size:20px}.game-stage.has-record-entry .overlay-card>p{margin-bottom:12px}.game-stage.has-record-entry .overlay-card>#game-start{min-height:39px;font-size:12px;background:#f0f4e7;border-color:#d8e2c7}.record-entry input:focus-visible,.rank-select-label select:focus-visible{outline:3px solid #9aaf62;outline-offset:2px}@media(max-width:650px){.local-rankings{padding:20px 14px;border-radius:23px}.rank-heading h2{font-size:21px}.rank-intro{font-size:12px}.rank-podium{gap:8px}.rank-winner{padding:15px 6px;border-radius:16px}.rank-winner.rank-1{padding:22px 6px}.rank-trophy{width:54px;height:54px}.rank-1 .rank-trophy{width:64px;height:64px}.rank-name{font-size:13px}.rank-score{font-size:11px}.rank-row{padding:13px 10px;gap:6px}.rank-row-name{font-size:12px}.rank-row strong{font-size:11px}.rank-rules{font-size:10px}.game-stage.has-record-entry .game-overlay{padding:10px}.game-stage.has-record-entry .overlay-card{padding:16px}.game-stage.has-record-entry .overlay-card h2{font-size:18px}.rank-empty{font-size:12px;padding:24px 15px}}
.game-stage.has-record-entry{min-height:520px}@media(max-width:650px){.game-stage.has-record-entry{min-height:500px}}
.rank-winner.rank-1{grid-column:2;grid-row:1}.rank-winner.rank-2{grid-column:1;grid-row:1}.rank-winner.rank-3{grid-column:3;grid-row:1}
