@keyframes takeOff{0%{transform:translateY(0) scale(1)}20%{transform:translateY(6px) scale(1)}to{transform:translateY(-260px) scale(.6);opacity:.2}}@keyframes breathe{0%,to{transform:scale(.85)}50%{transform:scale(1.1)}}.take-off{animation:takeOff 2.4s cubic-bezier(.5,0,.7,.4) .4s both}.breathe{animation:breathe 8s ease-in-out infinite}.ufo-x{transition:left .12s ease-out}@keyframes hitOk{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1.15);opacity:0}}@keyframes hitKo{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.g-ok{animation:hitOk .45s ease-out forwards}.g-ko{animation:hitKo .3s ease-out}@keyframes arcadeBanner{0%{transform:translate(-50%,-30px) scale(.6);opacity:0}15%{transform:translate(-50%) scale(1.08);opacity:1}85%{opacity:1}to{opacity:0}}.arcade-banner{position:absolute;left:50%;top:150px;transform:translateX(-50%);animation:arcadeBanner 1.6s ease-out forwards;white-space:nowrap;z-index:8;pointer-events:none}@keyframes thrust{0%,to{opacity:.6;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1.2)}}.thrust{animation:thrust .15s linear infinite;transform-origin:50% 0}.sn-seg{transition:left .2s linear,top .2s linear}@keyframes snFood{0%{transform:scale(0)}to{transform:scale(1)}}.sn-food{animation:snFood .3s cubic-bezier(.2,1.6,.4,1) both}.wh-hole{position:relative;width:108px;height:120px;border:0;background:none;padding:0;cursor:pointer;overflow:hidden;border-radius:0 0 50% 50%}.wh-cursor,.wh-hole:focus-visible{outline:4px solid #FFE14D;outline-offset:2px}.wh-alien{position:absolute;left:14px;bottom:8px;width:80px;height:104px;transition:transform .15s ease-out}.wh-alien.down{transform:translateY(110px)}@keyframes whBonk{0%{transform:scale(1)}40%{transform:scale(1.2,.7)}to{transform:translateY(110px) scale(1)}}.wh-alien.bonk{animation:whBonk .35s ease-in forwards}.wh-swing{position:absolute;inset:0;z-index:5;pointer-events:none}.wh-hammer{position:absolute;right:-18px;top:-8px;width:74px;height:74px;transform-origin:66px 68px;animation:whSwing .32s cubic-bezier(.5,0,.75,0) forwards}@keyframes whSwing{0%{transform:rotate(-70deg);opacity:0}20%{opacity:1}70%{transform:rotate(18deg);opacity:1}85%{transform:rotate(10deg)}to{transform:rotate(14deg);opacity:0}}.wh-pow{position:absolute;left:50%;top:22px;padding:2px 8px;border-radius:10px;background:#ffe14d;color:#1a0b3d;border:3px solid #1a0b3d;font-size:16px;opacity:0;animation:whPow .45s ease-out .18s forwards}@keyframes whPow{0%{transform:translateX(-50%) scale(.3) rotate(-10deg);opacity:0}40%{transform:translateX(-50%) scale(1.2) rotate(6deg);opacity:1}to{transform:translateX(-50%) translateY(-14px) scale(1);opacity:0}}.jp-zero{position:absolute;width:70px;height:76px;margin-left:-35px;transition:left .35s cubic-bezier(.3,0,.4,1),top .35s cubic-bezier(.2,-.6,.5,1);z-index:6}.jp-plat{position:absolute;width:104px;height:44px;margin-left:-52px;border-radius:22px;border:4px solid #1a0b3d;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0;color:#FFFFFF}button.jp-plat{cursor:pointer}button.jp-plat:disabled{cursor:default}.jp-plat:focus-visible{outline:4px solid #FFE14D;outline-offset:3px}@keyframes jpSlip{0%{transform:rotate(0)}30%{transform:rotate(-25deg)}60%{transform:rotate(20deg)}to{transform:rotate(0)}}.jp-slip{animation:jpSlip .5s ease-in-out}.jp-world{position:absolute;inset:0}.jp-climb{animation:jpClimb .45s cubic-bezier(.25,.8,.35,1)}@keyframes jpClimb{0%{transform:translateY(-180px)}to{transform:none}}.jp-jump{transform-origin:50% 100%;animation:jpJump .38s ease-out}@keyframes jpJump{0%{transform:scale(1.12,.8)}30%{transform:scale(.84,1.22)}70%{transform:scale(.95,1.06)}to{transform:none}}.jp-trail{position:absolute;left:50%;top:70px;display:flex;gap:8px;transform:translateX(-50%);pointer-events:none}.jp-trail span{width:4px;height:26px;border-radius:2px;background:linear-gradient(180deg,rgba(255,225,77,.9),rgba(255,225,77,0));animation:jpTrail .38s ease-out forwards}.jp-trail span:nth-child(2){height:36px}@keyframes jpTrail{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(22px)}}@media (prefers-reduced-motion:reduce){.jp-zero,.sn-seg,.wh-alien{transition:none}}