.ranking-jump{display:inline-flex;align-items:center;gap:8px;min-height:34px;font-size:10px;color:#477b71;text-underline-offset:4px}.ranking-jump span{font-size:15px}
.overlay.result{overflow-y:auto;overscroll-behavior:contain;align-items:flex-start;scrollbar-gutter:stable;padding-top:19px;padding-bottom:16px}.result-inner{margin:auto}.result #resultCharacter{height:62px;width:98px;margin-top:2px}.result h2{font-size:23px;margin-top:5px}.result-score{margin:8px 0;padding:7px 0}.result-score strong{font-size:36px}.result-details{margin:8px 0;gap:9px;flex-wrap:wrap}.result-details b{font-size:15px}.result #resultMessage{font-size:10px}.result .primary{margin-top:11px}.result .text-button{margin-top:3px;min-height:34px}
.record-form{padding:11px 12px 9px;background:#fffef8;border:1px solid #d5e2d5;border-radius:15px;text-align:left;margin-top:12px}.record-form label{display:block;font-size:11px;font-weight:750;color:#47746c;margin-bottom:7px}.nickname-row{display:flex;gap:7px;align-items:stretch}.nickname-row input{font:inherit;font-size:13px;color:#284f53;background:#fff;border:1px solid #b9cfc3;border-radius:9px;padding:9px 10px;min-width:0;flex:1;min-height:42px;width:100%}.nickname-row input:focus-visible{outline:3px solid #88bfb4;outline-offset:2px}.nickname-row input:disabled{opacity:1;background:#edf4ee;color:#55776b}.nickname-row button{background:#dcecda;color:#356a51;border:1px solid #bfd5b9;border-radius:9px;font-size:11px;font-weight:750;padding:8px 10px;min-width:72px;max-width:120px;line-height:1.4}.nickname-row button:disabled{opacity:.7}.form-hint{font-size:9px;line-height:1.5;color:#638071;margin-top:6px}.record-status{font-size:10px;line-height:1.6;color:#426d5f;margin-top:5px;overflow-wrap:anywhere}.record-status:empty{display:none}.record-status[data-state=saved]{color:#31754e;font-weight:750}.record-status[data-state=failed],.record-status[data-state=unavailable]{color:#866246}
.ranking-card{max-width:830px;margin:29px auto 0;background:linear-gradient(145deg,#f5fbef,#fffef7 55%);border:1px solid #d8e6d5;border-radius:24px;padding:22px 26px;box-shadow:0 5px 0 #e0eadb;scroll-margin-top:18px}.ranking-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ranking-heading h2{font-size:21px;line-height:1.5;margin-top:5px;letter-spacing:.01em;color:#376f68}.ranking-heading h2 span{color:#c6a558;font-size:21px;margin-right:4px}.ranking-refresh{flex:none;min-height:40px;min-width:56px;border:1px solid #cfdfd2;background:#fffef8;border-radius:22px;font-size:11px;color:#426e60}.ranking-lead{font-size:11px;line-height:1.7;color:#5f7e69;margin-top:7px}.ranking-periods{display:flex;gap:8px;margin:16px 0 12px}.ranking-periods button{flex:1;min-height:41px;padding:9px 12px;border-radius:12px;background:#fffdf8;border:1px solid #d3dfd0;font-size:12px;font-weight:700;color:#5c7c68}.ranking-periods button.selected{background:#dceedd;color:#2f654d;border-color:#abc6a7;box-shadow:0 2px 0 #c3d8bc}.ranking-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 9px;font-size:10px;color:#6d846e}.ranking-caption strong{font-size:10px;letter-spacing:.12em;color:#578267}.ranking-status{font-size:12px;line-height:1.8;color:#617c65;margin:14px 0 2px}.ranking-status:empty{display:none}.ranking-table-wrap{max-height:470px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #e1e8d8;border-radius:14px;background:#fffdf7;scrollbar-gutter:stable}.ranking-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:12px;line-height:1.5}.ranking-table thead{position:sticky;top:0;z-index:1;background:#edf4e8}.ranking-table th,.ranking-table td{padding:11px 12px;border-bottom:1px solid #e7ecdf;vertical-align:middle;overflow-wrap:anywhere}.ranking-table thead th{font-size:10px;font-weight:700;color:#617e64}.ranking-table th:first-child{width:52px;text-align:center}.ranking-table th:nth-child(3){width:95px;text-align:right}.ranking-table th:nth-child(4){width:110px;text-align:right}.ranking-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums;font-weight:750;color:#548264;white-space:nowrap}.ranking-table td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums;font-size:10px;color:#769078;white-space:nowrap}.ranking-table tbody th{color:#7b9579;font-size:12px;font-weight:750}.ranking-table tr[data-rank="1"] th{color:#a47d29;background:#fff7db}.ranking-table tr[data-rank="2"] th{color:#778792;background:#f0f5f4}.ranking-table tr[data-rank="3"] th{color:#af825d;background:#faf0e5}.ranking-table tr:last-child td,.ranking-table tr:last-child th{border-bottom:0}
@media(max-width:1000px){.ranking-card{max-width:510px;padding:20px;margin-top:25px}.ranking-heading h2{font-size:19px}}
@media(max-width:600px){.ranking-card{padding:17px 13px;border-radius:20px;margin-top:21px}.ranking-heading{gap:7px}.ranking-heading h2{font-size:17px}.ranking-heading h2 span{font-size:18px;margin-right:2px}.ranking-card .eyebrow{font-size:8px}.ranking-lead{font-size:10px}.ranking-caption{margin-top:13px;font-size:9px}.ranking-periods{gap:6px;margin-top:13px}.ranking-periods button{min-height:40px;font-size:11px;padding:8px}.ranking-table{font-size:11px}.ranking-table th,.ranking-table td{padding:10px 7px}.ranking-table th:first-child{width:37px}.ranking-table th:nth-child(3){width:82px}.ranking-table th:nth-child(4){width:89px}.ranking-table td:nth-child(4){font-size:9px}.ranking-table-wrap{max-height:380px}.record-form{padding:10px}.nickname-row input{font-size:16px;padding:8px}.nickname-row button{font-size:10px;min-width:66px;padding:7px 8px}.result-details{margin:8px 0}.result #resultCharacter{height:57px}.result-score strong{font-size:34px}}
@media(max-width:360px){.ranking-card{padding:15px 10px}.ranking-heading h2{font-size:15px}.ranking-heading h2 span{font-size:16px}.ranking-refresh{min-width:46px;font-size:10px}.ranking-table th,.ranking-table td{padding-left:5px;padding-right:5px}.ranking-table th:first-child{width:33px}.ranking-table th:nth-child(3){width:74px}.ranking-table td:nth-child(3){font-size:10px}.ranking-table th:nth-child(4){width:83px}.ranking-table thead th{font-size:9px}.ranking-table td:nth-child(4){font-size:8px}.endless-badge{font-size:11px}.endless-badge small{font-size:9px}.record-form label{font-size:10px}.form-hint{font-size:8px}.nickname-row button{min-width:62px}}


.record-celebration{position:relative;isolation:isolate;margin:12px 0 4px;padding:15px 12px 11px;border:2px solid #d9bd75;border-radius:20px;background:linear-gradient(135deg,#fff8d9,#fffdf4 55%,#f4edce);text-align:center;box-shadow:0 4px 0 #e9dcb5;animation:record-arrival .4s ease-out;outline:none}
.record-medal{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dfb955;color:#fffdf2;font-size:21px;box-shadow:0 0 0 4px #f6e9b9;margin:2px 0 7px}.record-celebration h3{font-size:23px;line-height:1.4;color:#87692d;letter-spacing:.03em}.record-rank-label{margin:8px 0 0;font-size:11px;color:#7b704b}.record-rank{display:block;font-size:42px;line-height:1.25;color:#9c752b;font-variant-numeric:tabular-nums}.record-identity{font-size:12px;font-weight:750;color:#4c7160;overflow-wrap:anywhere;margin:3px 0}.record-rank-note{font-size:10px;line-height:1.6;color:#7b765f;margin-top:6px}.record-ranking-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;font-size:12px;font-weight:750;color:#3b776c;text-underline-offset:4px}.record-celebration[data-listed=false]{border-color:#b9d3bd;background:#f1f8eb;box-shadow:0 4px 0 #dbe9d6}.record-celebration[data-listed=false] h3,.record-celebration[data-listed=false] .record-rank{color:#497663}.record-celebration[data-listed=false] .record-medal{background:#85ad8c;box-shadow:0 0 0 4px #dcebd9}
.ranking-table tr[data-own-record=true]{background:#fff4ca}.ranking-table tr[data-own-record=true] th{box-shadow:inset 3px 0 #c7a34a}.own-record-badge{display:block;width:fit-content;margin-top:3px;font-size:9px;font-weight:750;color:#8c6824;background:#fff9e6;border-radius:5px;padding:2px 4px;white-space:nowrap}
@keyframes record-arrival{from{opacity:0;transform:translateY(9px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.record-celebration{animation:none}}
@media(max-width:600px){.record-celebration{padding:12px 9px 7px}.record-celebration h3{font-size:21px}.record-rank{font-size:38px}}

.result.has-record .result-score,.result.has-record .result-details{display:none}
