.name-entry{display:grid;gap:12px;margin:20px 0;text-align:left}
.name-entry label{font-size:14px;color:#e5cfab}
.name-entry input{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;border:1px solid #8e6c77;border-radius:6px;background:#130e19;color:#fff;font:inherit;font-size:16px;touch-action:manipulation}
.name-entry input:focus{outline:2px solid #e5be87;outline-offset:3px}
.ranking-note{font-size:13px;line-height:1.55;color:#c1b2c4;margin:8px 0}
.ranking-status{min-height:1.5em;color:#f0c78b;font-size:14px;line-height:1.5}
.ranking-scroll{overflow:auto;max-height:50vh;margin:16px 0;overscroll-behavior:contain}
.ranking-table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;font-variant-numeric:tabular-nums}
.ranking-table th,.ranking-table td{padding:12px 8px;border-bottom:1px solid #ffffff18}
.ranking-table th{color:#e5cfab;position:sticky;top:0;background:#211725}
.ranking-table td:nth-child(2){overflow-wrap:anywhere;max-width:180px}
.ranking-table td:not(:nth-child(2)){white-space:nowrap}
.ranking-table tbody tr:first-child{color:#f7d692;background:#d7ad5410}
#ranking-submit{border-top:1px solid #ffffff24;margin-top:16px;padding:12px 0}
.ranking-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.ranking-actions button{min-height:48px}
@media(max-width:600px){.ranking-table th,.ranking-table td{padding:10px 4px;font-size:12px}.ranking-table td:nth-child(2){max-width:105px}}
