.flash-surf{position:relative;isolation:isolate;height:clamp(95px,22vw,145px);overflow:hidden;border-radius:18px;margin:12px 0;background:linear-gradient(#12375e,#4bc4d2);border:1px solid #82ecf3}.flash-swell{position:absolute;inset:54% -30% -40%;border-radius:48% 60% 0 0;background:linear-gradient(#c3fcff 0%,#259ac5 15%,#075782 80%);animation:flash-swell 2.5s ease-in-out infinite alternate}.flash-rider{position:absolute;width:100px;left:21%;bottom:18%;filter:drop-shadow(0 4px 6px #052a42);animation:flash-bob 1.4s ease-in-out infinite alternate}.flash-obstacle{position:absolute;right:14%;bottom:19%;font-size:2.2rem}.dodge .flash-rider{animation:flash-hop .55s ease-in-out}.dodge .flash-obstacle{animation:flash-pass .55s linear both}.crash .flash-rider{animation:flash-fall .8s ease-in both}.crash .flash-obstacle{animation:flash-impact .45s ease-out both}@keyframes flash-swell{to{transform:translate(-8%,8%) rotate(2deg)}}@keyframes flash-bob{to{transform:translateY(-5px) rotate(-5deg)}}@keyframes flash-hop{50%{transform:translateY(-39px) rotate(-16deg)}}@keyframes flash-pass{0%{right:14%}100%{right:110%;opacity:0}}@keyframes flash-fall{30%{transform:translate(12px,-8px) rotate(-18deg)}100%{transform:translate(35px,100px) rotate(115deg);opacity:0}}@keyframes flash-impact{to{right:59%}}@media(prefers-reduced-motion:reduce){.flash-surf *{animation:none!important}}
.dodge .flash-obstacle{animation:flash-next .25s .4s both}.dodge .flash-obstacle.passed{animation:flash-pass .55s linear both}@keyframes flash-next{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.flash-obstacle.passed{display:none}}
