.lake{perspective:1100px;transform-style:preserve-3d;isolation:isolate}.lake:before{content:"";position:absolute;inset:-4%;z-index:-1;background:inherit;background-position:center;background-size:cover;transform:translateZ(-80px) scale(1.09);transition:transform 1.4s ease,filter 1.4s}.casting:before{transform:translateZ(-80px) scale(1.16);filter:brightness(.82) contrast(1.08)}.biting:before{transform:translateZ(-80px) scale(1.2);filter:brightness(.65) contrast(1.18)}
.scene-vignette{position:absolute;z-index:20;inset:0;pointer-events:none;background:radial-gradient(circle at 68% 55%,transparent 15%,#0001 48%,#000a 110%);opacity:.5;transition:opacity .5s}.casting .scene-vignette{opacity:.9;animation:vignettePulse 1.3s ease}.biting .scene-vignette{opacity:1}.speed-lines{position:absolute;z-index:12;inset:0;overflow:hidden;pointer-events:none;opacity:0}.speed-lines i{position:absolute;left:35%;top:35%;width:35%;height:2px;background:linear-gradient(90deg,transparent,#bcefff,transparent);transform-origin:left;filter:blur(.4px)}.speed-lines i:nth-child(2){top:42%;left:40%;width:42%;transform:rotate(12deg)}.speed-lines i:nth-child(3){top:49%;left:38%;width:38%;transform:rotate(21deg)}.speed-lines i:nth-child(4){top:30%;left:44%;width:28%;transform:rotate(-10deg)}.speed-lines i:nth-child(5){top:56%;left:47%;width:31%;transform:rotate(29deg)}.casting .speed-lines{animation:streakBurst .62s .35s ease-out}
.cast-line-svg{position:absolute;z-index:9;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;filter:drop-shadow(0 0 2px #bcefff)}.cast-line-svg path{fill:none;stroke:#d8f6ff;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1100;stroke-dashoffset:1100}.casting .cast-line-svg{opacity:.72}.casting .cast-line-svg path{animation:lineUnfurl 1.22s cubic-bezier(.2,.7,.35,1) forwards}.biting .cast-line-svg{opacity:.85;transform:translateY(4px)}
.casting .cast-lure{animation:lureFlight3d 1.28s cubic-bezier(.22,.58,.38,1) forwards!important;will-change:transform,left,top,filter}.water-rings{position:absolute;z-index:8;left:68%;top:63%;width:180px;height:70px;transform:translate(-50%,-50%);pointer-events:none}.water-rings i{position:absolute;inset:50%;border:3px solid #aeefff;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.1)}.casting .water-rings i{animation:ringExpand 1.35s ease-out forwards}.casting .water-rings i:nth-child(2){animation-delay:.18s}.casting .water-rings i:nth-child(3){animation-delay:.36s}.lure-splash em{position:absolute;left:50%;bottom:20px;width:6px;height:6px;border-radius:50%;background:#dcf8ff;opacity:0}.casting .lure-splash em{animation:dropletFly .9s 1.05s ease-out forwards}.casting .lure-splash em:nth-of-type(1){--x:-54px;--y:-62px}.casting .lure-splash em:nth-of-type(2){--x:-22px;--y:-90px;animation-delay:1.09s}.casting .lure-splash em:nth-of-type(3){--x:30px;--y:-81px;animation-delay:1.12s}.casting .lure-splash em:nth-of-type(4){--x:62px;--y:-48px;animation-delay:1.07s}.lure-splash strong{position:absolute;left:50%;bottom:8px;width:28px;height:45px;background:linear-gradient(#e8fbff,#00a4ef22);clip-path:polygon(50% 0,70% 70%,100% 100%,50% 85%,0 100%,30% 70%);opacity:0;transform:translateX(-50%)}.casting .lure-splash strong{animation:waterCrown .65s 1.02s ease-out}
.casting .angler-photo{animation:angler3dLoad 1.3s cubic-bezier(.2,.72,.3,1)!important}.biting .angler-photo{animation:anglerFight3d .26s infinite alternate!important}.jumping .lake,.lake.jumping{animation:impactShake .42s ease}.jumping .jumping-fish{animation:fishJump3d 1.16s cubic-bezier(.18,.7,.28,1) forwards!important;transform-origin:center}
@keyframes lureFlight3d{0%{left:40%;top:44%;opacity:0;transform:translate3d(-20px,20px,-300px) rotate(-48deg) scale(.22);filter:blur(3px)}10%{opacity:1}38%{left:55%;top:17%;transform:translate3d(0,0,150px) rotate(-8deg) scale(1.5);filter:blur(0)}64%{left:64%;top:28%;transform:translate3d(0,0,70px) rotate(18deg) scale(1.12);filter:blur(0)}92%{opacity:1}100%{left:68%;top:62%;opacity:0;transform:translate3d(0,0,-100px) rotate(78deg) scale(.48);filter:blur(1px)}}
@keyframes lineUnfurl{0%{stroke-dashoffset:1100;opacity:.2}55%{opacity:1}100%{stroke-dashoffset:0;opacity:.75}}@keyframes ringExpand{0%,76%{opacity:0;transform:translate(-50%,-50%) scale(.1)}80%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}@keyframes dropletFly{0%{opacity:0;transform:translate(0,0) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.4)}}@keyframes waterCrown{0%{opacity:0;transform:translateX(-50%) scale(.2)}35%{opacity:1}100%{opacity:0;transform:translateX(-50%) scale(1.45)}}
@keyframes angler3dLoad{0%{transform:translate3d(0,0,0) rotate(0) scaleX(1)}24%{transform:translate3d(-18px,4px,80px) rotate(-13deg) scaleX(.84)}54%{transform:translate3d(12px,-6px,110px) rotate(5deg) scaleX(1.05)}100%{transform:translate3d(0,0,0) rotate(0) scaleX(1)}}@keyframes anglerFight3d{from{transform:translate3d(-3px,0,65px) rotate(-1.8deg) scaleX(.93)}to{transform:translate3d(4px,5px,95px) rotate(2deg) scaleX(.86)}}@keyframes fishJump3d{0%{opacity:0;transform:translate3d(0,80px,-280px) rotate(-28deg) scale(.25)}18%{opacity:1}52%{opacity:1;transform:translate3d(20px,-120px,160px) rotate(5deg) scale(1.35)}100%{opacity:0;transform:translate3d(95px,35px,-60px) rotate(48deg) scale(.62)}}
@keyframes streakBurst{0%{opacity:0;transform:scale(.7)}35%{opacity:.8}100%{opacity:0;transform:scale(1.25)}}@keyframes impactShake{0%,100%{transform:translate3d(0,0,0)}20%{transform:translate3d(-6px,3px,0)}40%{transform:translate3d(5px,-3px,0)}65%{transform:translate3d(-3px,2px,0)}85%{transform:translate3d(2px,-1px,0)}}@keyframes vignettePulse{45%{opacity:1}100%{opacity:.65}}
@media(max-width:700px){.cast-line-svg{transform:scaleX(.88);transform-origin:left}.water-rings,.lure-splash{left:72%}}
@media(prefers-reduced-motion:reduce){.casting .cast-lure{animation:lureFlight3d .8s linear forwards!important}.casting .angler-photo,.biting .angler-photo{animation:none!important}}
