*{box-sizing:border-box}html{min-height:100%;background:#08278f}body{margin:0;color:#fff;font:14px Arial,PingFang SC,Microsoft YaHei,sans-serif}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:url(/assets/747ae32ad31469bb.jpg) top left/cover no-repeat;z-index:-1}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;border:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffda51;outline-offset:3px}#app{width:min(600px,100%);margin:auto}header img{display:block;width:100%;height:auto;aspect-ratio:600/359}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.board{margin:0 13px}.controls{display:flex;align-items:center;justify-content:space-between;height:70px;gap:12px}nav{display:flex;gap:10px}#groups button{background:#fff;color:#333;border-radius:20px;padding:9px 13px;font-size:12px;height:33px;white-space:nowrap}#groups button.active{position:relative;height:40px;background:linear-gradient(#fffbdc,#ffe143);color:#ff201d}#groups button.active:after{content:"";position:absolute;bottom:-5px;left:calc(50% - 6px);border-width:6px 6px 0;border-style:solid;border-color:#ffe143 transparent transparent}.history{position:relative;padding-left:18px}.history:before{content:"";position:absolute;left:0;top:7px;height:20px;border-left:1px solid #7583d2}#history-button{background:#fff;border:1px solid #ffdc4a;border-radius:20px;color:#ff251f;font-size:12px;height:33px;padding:0 10px 0 14px;white-space:nowrap}i{display:inline-block;border:5px solid transparent;border-top-color:#ff2620;transform:translateY(3px);margin-left:5px}#history-menu{position:absolute;right:0;top:43px;background:#fff;color:#333;border-radius:7px;width:212px;padding:5px 0;z-index:5;box-shadow:0 8px 24px #00114c66}#history-menu button{display:block;width:100%;background:transparent;color:#333;text-align:left;padding:10px 15px;font-size:13px}#history-menu button:hover,#history-menu button.active{color:#ff2828;background:#fff4d5}.filters{position:relative;background:#ffffff2e;border-radius:10px;overflow:visible;height:84px;margin-bottom:26px}.metric-row{height:42px;background:#fff2;border-radius:10px 10px 0 0;display:flex;justify-content:space-between;border-bottom:4px solid #244cc0}#metrics{gap:0}#metrics button{color:#fff;background:transparent;font-size:14px;padding:0 11px;position:relative}#metrics button.active{color:#ffed68}#metrics button.active:after{content:"";height:2px;background:#fff18a;position:absolute;bottom:7px;left:11px;right:11px}#expand-metrics{width:40px;background:#ffffff4a;border-radius:0 10px 0 0}#expand-metrics i{width:20px;height:20px;border:0;border-radius:50%;background:#fff;margin:0;position:relative;transform:none}#expand-metrics i:after{content:"";position:absolute;top:8px;left:5px;border:5px solid transparent;border-top-color:#f33}#metric-menu{position:absolute;inset:42px 0 auto;background:#344ea5;z-index:4;padding:16px;border-radius:0 0 10px 10px;box-shadow:0 10px 25px #00134e70}#metric-menu button{padding:9px 15px;margin-right:10px;border-radius:16px;background:#fff;color:#333}#periods{margin:4px 15px;gap:0;height:34px;border:1px solid white;border-radius:25px;padding:2px}#periods button{width:50%;border-radius:20px;color:#fff2a5;background:transparent;font-size:14px}#periods button.active{background:linear-gradient(90deg,#fffbdc,#ffe95c);color:#ff302b}#rank-list{list-style:none;margin:0;padding:20px 25px 0 10px;background:#ffffff29;border-radius:5px;min-height:100px}#rank-list li{position:relative;height:70px;padding-top:15px;padding-left:50px;cursor:pointer}.medal{position:absolute;left:0;top:0;width:35px;height:45px;text-align:center;font-size:18px;color:#c93d2a;line-height:33px;background-size:contain;background-position:center;background-repeat:no-repeat}.medal.gold{background-image:url(/assets/f648a94fe54bb2cd.png)}.medal.silver{background-image:url(/assets/6d1463fb6ad244e9.png)}.medal.bronze{background-image:url(/assets/eaf37b90098f2a0c.png)}.medal.fire{background-image:url(/assets/ff2d3b426d3b0fb4.png);width:45px;left:-5px;color:#fff;line-height:45px}.track{position:relative;height:7px;border-radius:6px;background:linear-gradient(90deg,#fff0c8,#ffb5ca)}.runner{position:absolute;top:50%;left:var(--progress);width:25px;height:25px;transform:translate(-50%,-50%);background:url(/assets/1e1781f40ec8a650.png) center/contain no-repeat;animation:pulse 2s ease-in-out infinite alternate}.rank-name{display:block;margin-top:8px;color:#fff;font-size:15px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{padding-left:6px;font-size:14px}footer{text-align:center;color:#ccd6ff;font-size:11px;line-height:1.8;padding:25px 8px 45px}footer p{margin:6px 0}footer button{color:#fff3a7;background:transparent;text-decoration:underline}#status{text-align:center;color:#ffe77b}#status:empty{display:none}#poster-button{position:fixed;right:10px;bottom:22%;width:100px;height:100px;background:url(/assets/d70a8883033cd8ea.png) center/contain no-repeat}dialog{border:0;border-radius:12px;max-width:calc(100vw - 30px);color:#333;padding:24px}dialog::backdrop{background:#0009}#poster-dialog{padding:0;overflow:visible;background:transparent;width:334px}#poster-image{display:block;width:100%;max-height:78vh;object-fit:contain}dialog .close{position:absolute;right:-10px;top:-14px;background:#fff;width:28px;height:28px;border-radius:50%;font-size:22px;z-index:2;color:#454545}.poster-actions{display:flex;align-items:center;justify-content:space-around;padding:12px;color:#fff;font-size:12px}.poster-actions a{color:#fff;background:#f33;border-radius:20px;padding:8px 18px;cursor:pointer;text-decoration:none}#info-dialog{width:420px;font-size:14px;line-height:1.8}#info-dialog h2{font-size:20px;margin:0 0 12px}.primary{display:block;background:#1743c2;color:#fff;border-radius:22px;padding:10px 28px;margin:20px auto 0}#toast{position:fixed;bottom:70px;left:50%;transform:translate(-50%);background:#000d;padding:12px 20px;border-radius:6px;max-width:90vw;width:max-content;z-index:20;font-size:13px}@keyframes pulse{0%{filter:drop-shadow(0 0 2px #ffc365);scale:.96}to{filter:drop-shadow(0 0 5px #ffc365);scale:1.04}}@media(max-width:640px){.board{margin:0 8px}.controls{height:55px}.filters{margin-bottom:20px}.history{padding-left:10px}#groups{gap:7px}#groups button{padding:7px 10px}#history-button{font-size:11px;padding:0 7px}#rank-list{padding:17px 15px 0 8px}#rank-list li{height:65px;padding-left:43px}.rank-name{font-size:14px}.medal{width:32px}#poster-button{width:68px;height:68px;right:4px;bottom:17%}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}body{font-family:-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif}header{position:relative}header img.header-logo{position:absolute;top:20px;height:auto;aspect-ratio:auto;object-fit:contain}.race-logo{left:23px;width:78px}.jd-logo{right:12px;width:107px}.runner{width:33px;height:33px}#poster-button{width:124px;height:124px;right:0;bottom:21%}@media(max-width:640px){header img.header-logo{top:12px}.race-logo{left:15px;width:52px}.jd-logo{right:8px;width:72px}#poster-button{width:78px;height:78px;bottom:17%}}
