.race-countdown{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-38%);width:112px;height:112px;display:grid;place-items:center;border:3px solid #fff8;border-radius:50%;background:#071f2fe8;color:var(--lime);font-size:48px;font-weight:950;letter-spacing:-3px;box-shadow:0 18px 60px #071f2f99,0 0 0 10px #69d2e72b;animation:countPunch .68s cubic-bezier(.2,.8,.25,1)}.race-countdown[hidden]{display:none}.race-track.race-live{animation:trackRumble .16s linear 3}.race-track.photo-finish{box-shadow:0 0 0 3px #ff806555,0 16px 45px #ff806522;border-radius:14px}.race-track.photo-finish .racing-fish{filter:drop-shadow(-16px 2px 5px #69d2e777) drop-shadow(0 3px 2px #0b263355)}.race-track.photo-finish .race-lane:before{animation-duration:1.8s}.race-track.race-finished .race-lane.finished{animation:winnerGlow .65s ease 2}.race-track.race-finished .race-lane.finished .racing-fish{animation:winnerBob .35s ease 4}.winner-panel:not([hidden]){animation:winnerReveal .45s cubic-bezier(.2,.85,.25,1)}.winner-panel:not([hidden]):before,.winner-panel:not([hidden]):after{content:"✦  ✦  ✦";display:block;color:var(--cyan);letter-spacing:20px;font-size:13px;animation:sparkle 1.1s ease infinite alternate}.winner-panel:not([hidden]):after{color:var(--lime);animation-delay:.35s}@keyframes countPunch{0%{opacity:0;transform:translate(-50%,-38%) scale(1.7)}65%{opacity:1;transform:translate(-50%,-38%) scale(.92)}100%{transform:translate(-50%,-38%) scale(1)}}@keyframes trackRumble{50%{transform:translateX(2px)}}@keyframes winnerGlow{50%{box-shadow:inset 0 0 0 3px var(--lime),0 0 26px #d5ff5f88}}@keyframes winnerBob{50%{margin-top:-5px}}@keyframes winnerReveal{from{opacity:0;transform:translateY(18px) scale(.97)}}@keyframes sparkle{to{opacity:.35;letter-spacing:25px}}@media(max-width:600px){.race-countdown{width:92px;height:92px;font-size:39px}.winner-panel:not([hidden]):before,.winner-panel:not([hidden]):after{letter-spacing:11px}}@media(prefers-reduced-motion:reduce){.race-countdown,.race-track,.race-track .racing-fish,.winner-panel,.winner-panel:before,.winner-panel:after{animation:none!important}}
.game-info{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.game-info h2{font-size:30px;letter-spacing:-1.2px}.game-info>div>p:last-child,.game-faq p{color:var(--muted);font-size:12px;line-height:1.65}.game-faq{display:grid;gap:10px}.game-faq article{padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#f8faf7}.game-faq h3{margin:0 0 6px;font-size:14px}.game-faq p{margin:0}@media(max-width:760px){.game-info{grid-template-columns:1fr;padding:20px;gap:18px;border-radius:19px}.game-info h2{font-size:25px}}
.race-track.photo-finish{animation:finishCamera .32s ease-in-out infinite alternate;transform-origin:85% 50%}.race-track.photo-finish .race-lane.leading .racing-fish{filter:drop-shadow(-22px 2px 4px #d5ff5f99) drop-shadow(0 3px 2px #0b263355)}.race-track.photo-finish .race-lane:nth-child(2n) .racing-fish{animation:finalKick .24s ease-in-out infinite alternate}.race-track.photo-finish .race-lane:nth-child(2n+1) .racing-fish{animation:finalKick .19s ease-in-out infinite alternate-reverse}@keyframes finishCamera{to{transform:scale(1.006);box-shadow:0 0 0 4px #ff806566,0 22px 55px #ff806533}}@keyframes finalKick{to{margin-top:-2px}}@media(prefers-reduced-motion:reduce){.race-track.photo-finish,.race-track.photo-finish .racing-fish{animation:none!important}}
