.octopusObstacle{position:absolute;left:0;top:0;width:76px;height:66px;z-index:15;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto;transform-origin:center;filter:drop-shadow(0 8px 7px rgba(53,28,112,.38));will-change:transform,opacity}
.octopusObstacle img{display:block;width:100%;height:100%;object-fit:contain;animation:octopusFloat 1.35s ease-in-out infinite alternate}
.octopusObstacle:after{content:"";position:absolute;left:15%;right:15%;bottom:2px;height:8px;border-bottom:3px solid rgba(211,250,255,.72);border-radius:50%;animation:octopusRipple .8s ease-in-out infinite alternate}
.octopusObstacle.emerging{animation:octopusEmerge .65s cubic-bezier(.2,.85,.35,1.2) both}
.octopusObstacle.submerging{pointer-events:none;animation:octopusSubmerge .72s ease-in forwards}
.octopusObstacle.trembling{animation:octopusTremble .1s linear 10}
.octopusObstacle.grabbing{filter:drop-shadow(0 0 10px #ff9d45) drop-shadow(0 8px 7px rgba(53,28,112,.45))}
.octopusObstacle.jetCapture{animation:octopusJetCapture .9s ease-in forwards}
.octopusObstacle.fatalRelease{filter:grayscale(.45) brightness(.8) drop-shadow(0 0 12px #ff4b3e)}
.octopusObstacle.litTarget{filter:brightness(1.35) drop-shadow(0 0 13px #fff3a1)}
.campaignBoat.octopusHeld{filter:drop-shadow(0 0 11px #a34dff) drop-shadow(0 7px 4px rgba(6,71,131,.5))}
.campaignBoat.octopusDamaged{filter:drop-shadow(0 0 13px #ff3b30) drop-shadow(0 0 6px #fff)!important}
@keyframes octopusFloat{to{transform:translateY(-3px) rotate(1.5deg)}}
@keyframes octopusRipple{to{transform:scaleX(1.18);opacity:.35}}
@keyframes octopusEmerge{from{opacity:0;transform:translate(var(--oct-x),calc(var(--oct-y) + 24px)) translate(-50%,-50%) scale(.25)}to{opacity:1;transform:translate(var(--oct-x),var(--oct-y)) translate(-50%,-50%) scale(1)}}
@keyframes octopusSubmerge{to{opacity:0;transform:translate(var(--oct-x),calc(var(--oct-y) + 24px)) translate(-50%,-50%) scale(.2);filter:blur(3px)}}
@keyframes octopusTremble{25%{margin-left:-5px;transform:translate(var(--oct-x),var(--oct-y)) translate(-50%,-50%) rotate(-6deg)}75%{margin-left:5px;transform:translate(var(--oct-x),var(--oct-y)) translate(-50%,-50%) rotate(6deg)}}
@keyframes octopusJetCapture{35%{transform:translate(var(--oct-x),var(--oct-y)) translate(-50%,-50%) scale(1.12)}100%{opacity:0;transform:translate(var(--oct-x),calc(var(--oct-y) + 28px)) translate(-50%,-50%) scale(.3)}}
@media(max-width:760px){.octopusObstacle{width:64px;height:56px}}
