.rank-overlay[hidden]{display:none}.rank-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#061725df;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:auto;touch-action:pan-y}.rank-card{width:min(680px,100%);max-height:100%;overflow:auto;background:#123047;border:1px solid #b5e7e52b;border-radius:22px;padding:20px;color:#edf6f8;box-shadow:0 16px 60px #00101b55;touch-action:pan-y}.rank-card header{display:flex;gap:12px;justify-content:space-between;align-items:center}.rank-card h2{font-size:24px;line-height:1.4;margin:0}.rank-card button{font-size:14px;min-height:44px;padding:10px 14px;border-radius:12px;box-shadow:none}.rank-card .rank-close{width:auto;flex:none;color:#cfe4ed;background:#ffffff12}.rank-card p{line-height:1.65}.rank-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:18px}.rank-tabs button{background:#ffffff0c;color:#cfe4ed}.rank-tabs button[aria-pressed=true]{background:#89f5dd;color:#102b3e}.rank-card label{display:block;font-size:14px;margin:16px 0 8px}.rank-card input{display:block;width:100%;border:1px solid #89f5dd88;background:#081f32;color:white;border-radius:12px;padding:14px;font:16px system-ui;min-height:48px;touch-action:manipulation}.rank-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.rank-card .rank-secondary{background:#ffffff12;color:#d8eaf0}.rank-card .rank-note{font-size:12px;color:#b3cddc}.rank-status{font-size:13px;color:#89f5dd;min-height:20px;margin-bottom:0;overflow-wrap:anywhere}.rank-result{font-size:20px;color:#89f5dd}.rank-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #d5f0f015}.rank-row b{font-size:15px;display:block;overflow-wrap:anywhere}.rank-row small{font-size:11px;color:#aac5d4;display:block;margin-top:5px}.rank-place{color:#89f5dd;font-size:20px}.rank-time{font-variant-numeric:tabular-nums;font-size:18px}.rank-pages{display:flex;gap:10px;margin-top:12px}.rank-empty{padding:24px 0;text-align:center}@media(max-height:450px){.rank-card{padding:14px 20px}.rank-card h2{font-size:20px}.rank-row{padding:9px 0}.rank-tabs{margin-top:10px}.rank-actions{margin-top:10px}}

/* Separate wall-clock finish time from race duration; always show China time. */
.rank-row,.rank-columns{grid-template-columns:32px minmax(0,1fr) 126px 94px}.rank-columns{display:grid;gap:10px;font-size:11px;color:#93b6c8;padding:10px 0 8px;border-bottom:1px solid #d5f0f020}.rank-columns span:last-child{text-align:right}.rank-finished-date{display:block;color:#93b6c8;font-size:11px}.rank-finished-clock{display:block;color:#d9ebf5;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.rank-time-cell{text-align:right}.rank-time-cell small{display:none}.rank-person{min-width:0}
@media(max-width:560px){.rank-columns{display:none}.rank-row{grid-template-columns:23px minmax(0,1fr) 88px;column-gap:10px;row-gap:6px;padding:16px 0}.rank-place{grid-column:1;grid-row:1/3;align-self:start;margin-top:1px}.rank-person{grid-column:2;grid-row:1}.rank-finished{grid-column:2;grid-row:2;white-space:nowrap}.rank-finished-date{display:inline;margin-right:7px;font-size:10px}.rank-finished-clock{display:inline;font-size:12px}.rank-time-cell{grid-column:3;grid-row:1/3}.rank-time-cell small{display:block;font-size:10px;color:#9cbecf;margin:0 0 4px}.rank-time{font-size:17px}}
