/* The supplied PNGs retain their original alpha; no screen blend on Eddie. */
.encounter{filter:none;transition:none;--scene-x:0px;--scene-y:0px}
.encounter-stage{position:absolute;left:50%;bottom:7%;height:88%;aspect-ratio:1145/1374;max-width:96%;transform:translateX(-50%);isolation:isolate;pointer-events:none}
.scene-layer{display:block;position:absolute;height:auto;object-fit:contain;pointer-events:none;user-select:none}
.ufo-layer{inset:0;width:100%;z-index:2;animation:ufo-hover 7s ease-in-out infinite;filter:drop-shadow(0 0 12px #2feb5822)}
.ground-layer{width:101%;left:-.5%;bottom:-4%;z-index:1;animation:ground-rumble 8s ease-in-out infinite;transform-origin:50% 80%}
.eddie-position{position:absolute;width:32%;left:36%;top:49%;aspect-ratio:1145/1374;z-index:3;transform:translate(calc(var(--scene-x) * 1.4),var(--scene-y));transition:transform .35s ease-out}
.eddie-layer{width:100%;inset:0;mix-blend-mode:normal;animation:eddie-drift 4.8s ease-in-out infinite;filter:drop-shadow(0 5px 10px #00190f66);transform-origin:50% 50%}
.scene-glow{position:absolute;left:15%;right:15%;bottom:4%;height:12%;background:radial-gradient(ellipse,#a6fc3944,transparent 68%);filter:blur(14px);animation:landing-glow 4s ease-in-out infinite;z-index:0}
.beam-motes{position:absolute;inset:0;z-index:4;overflow:hidden;mask-image:linear-gradient(transparent 30%,#000 44%,#000 85%,transparent 95%)}
.beam-motes i{position:absolute;bottom:8%;left:34%;width:3px;height:3px;border-radius:50%;background:#ebffc9;box-shadow:0 0 8px #b6ff3c;opacity:0;animation:mote-rise 4s linear infinite}
.beam-motes i:nth-child(2){left:60%;animation-delay:-.8s;width:4px;height:4px}
.beam-motes i:nth-child(3){left:43%;animation-delay:-1.7s}
.beam-motes i:nth-child(4){left:53%;animation-delay:-2.6s;width:2px;height:2px}
.beam-motes i:nth-child(5){left:68%;animation-delay:-3.3s}
.beam-motes i:nth-child(6){left:29%;animation-delay:-2s;width:2px;height:2px}
.encounter .coordinate,.encounter .eddie-label,.encounter .signal{z-index:5}
.encounter .eddie-label{right:5%;top:63%}
.beaming{filter:none}
.beaming .eddie-layer{animation:eddie-abduct 3.6s cubic-bezier(.4,0,.2,1) both}
.beaming .ufo-layer{animation:ufo-collect 3.6s ease-in-out both}
.beaming .ground-layer{animation:ground-lift 3.6s ease-in-out both}
.beaming .beam-motes i{animation-duration:1.2s}
.beaming .scene-glow{animation:beam-surge 3.6s ease-in-out both}
@keyframes ufo-hover{0%,100%{transform:translate(calc(var(--scene-x) * .5),0) rotate(-.6deg)}50%{transform:translate(calc(var(--scene-x) * .5),-9px) rotate(.6deg)}}
@keyframes eddie-drift{0%,100%{transform:translateY(5%) rotate(-4deg)}50%{transform:translateY(-7%) rotate(4deg)}}
@keyframes ground-rumble{0%,100%{transform:translateY(0) rotate(-.25deg)}50%{transform:translateY(-4px) rotate(.25deg)}}
@keyframes landing-glow{50%{opacity:.5;transform:scale(.92)}}
@keyframes mote-rise{0%{opacity:0;transform:translate(0,0) scale(.7)}15%,75%{opacity:.85}100%{opacity:0;transform:translate(10px,-340px) scale(.3)}}
@keyframes eddie-abduct{0%{transform:translateY(0) rotate(-4deg);opacity:1}30%{transform:translateY(-30%) rotate(8deg) scale(.9);opacity:1}80%,100%{transform:translateY(-155%) rotate(18deg) scale(.05);opacity:0}}
@keyframes ufo-collect{0%,100%{transform:translateY(0);filter:drop-shadow(0 0 12px #2feb5822)}45%,60%{transform:translateY(-12px);filter:drop-shadow(0 0 24px #95ff6677) brightness(1.15)}}
@keyframes ground-lift{0%,100%{transform:translateY(0)}35%,65%{transform:translateY(-12px) scale(1.015)}}
@keyframes beam-surge{0%,100%{opacity:.6;transform:scale(1)}45%,60%{opacity:1;transform:scale(1.25)}}
@media(max-width:800px){.encounter-stage{height:94%;bottom:4%;max-width:96%}.encounter .eddie-label{right:7%;top:61%}.encounter .signal{bottom:1%}}
@media(prefers-reduced-motion:reduce){.encounter-stage *{animation:none!important;transition:none!important}.eddie-position{transform:none}.beaming .scene-glow{opacity:1}}
.eddie-position{pointer-events:auto;background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.eddie-position:hover .eddie-layer{filter:drop-shadow(0 0 12px #c5fc3677)}
.eddie-position:focus-visible{outline:2px dashed var(--lime);outline-offset:8px;border-radius:40%}
.eddie-position.booped .eddie-layer{animation:eddie-boop .25s ease-out}
.eddie-position:disabled{cursor:default}
.eddie-gone .eddie-position,.eddie-gone .eddie-label{display:none}
@keyframes eddie-boop{40%{transform:rotate(-10deg) scale(.92)}100%{transform:rotate(0) scale(1)}}
