*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#1a1a2e;display:flex;align-items:center;justify-content:center;font-family:Segoe UI,sans-serif}#game-container{position:relative;width:800px;height:600px;border:2px solid #333;border-radius:8px;overflow:hidden;background:#87ceeb;box-shadow:0 0 40px #00000080}#game-svg{display:block;width:100%;height:100%}.menu-overlay{opacity:0;transition:opacity .3s ease}.menu-overlay.visible{opacity:1}.dialog-box{opacity:0;transition:opacity .3s ease}.dialog-box.visible{opacity:1}#game-container:fullscreen,#game-container:-webkit-full-screen{width:100vw;height:100vh;border:none;border-radius:0}@keyframes cat-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.03)}}.cat-idle{animation:cat-breathe 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}@keyframes cat-run{0%{transform:translateY(0)}25%{transform:translateY(-2px)}50%{transform:translateY(0)}75%{transform:translateY(-1px)}to{transform:translateY(0)}}.cat-running{animation:cat-run .3s steps(4) infinite}@keyframes tail-wag{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.cat-tail{transform-box:fill-box;transform-origin:bottom left;animation:tail-wag 1s ease-in-out infinite}@keyframes tail-wag-fast{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.cat-tail-happy{transform-box:fill-box;transform-origin:bottom left;animation:tail-wag-fast .4s ease-in-out infinite}@keyframes item-sparkle{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.8;filter:brightness(1.5)}}.collectible{animation:item-sparkle 1.5s ease-in-out infinite}@keyframes item-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.item-floating{animation:item-float 2s ease-in-out infinite}@keyframes hurt-flash{0%,to{opacity:1}50%{opacity:.2}}.cat-hurt{animation:hurt-flash .1s linear 15}@keyframes cat-jump{0%,to{transform:scaleY(1.1) translateY(0)}50%{transform:scaleY(1.1) translateY(-2px)}}.cat-jumping{animation:cat-jump .4s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}@keyframes cat-fall{0%,to{transform:scaleX(1.05) translate(0)}25%{transform:scaleX(1.05) translate(-1px)}75%{transform:scaleX(1.05) translate(1px)}}.cat-falling{animation:cat-fall .3s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}@keyframes cat-wall-slide{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(-1px) translateY(1px)}75%{transform:translate(1px) translateY(1px)}}.cat-wall-sliding{animation:cat-wall-slide .2s linear infinite;transform-box:fill-box;transform-origin:center center}@keyframes cat-wall-jump{0%{transform:scaleX(1.15) rotate(0)}50%{transform:scaleX(1) rotate(15deg)}to{transform:scaleX(1) rotate(0)}}.cat-wall-jumping{animation:cat-wall-jump .25s ease-out forwards;transform-box:fill-box;transform-origin:center bottom}@keyframes cat-die{0%{transform:rotate(0);opacity:1}to{transform:rotate(720deg) translateY(100px);opacity:0}}.cat-dead{animation:cat-die 1s ease-in forwards;transform-box:fill-box;transform-origin:center center}@keyframes landing-squash{0%{transform:scaleY(.7) scaleX(1.3)}50%{transform:scaleY(1.05) scaleX(.95)}to{transform:scaleY(1) scaleX(1)}}.cat-landing{animation:landing-squash .15s ease-out forwards;transform-box:fill-box;transform-origin:center bottom}@keyframes patrol{0%,49%{transform:scaleX(1)}50%,99%{transform:scaleX(-1)}to{transform:scaleX(1)}}.enemy-patrol{animation:patrol 4s steps(1) infinite}@keyframes crow-flap{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.crow-wing-left{transform-box:fill-box;transform-origin:right center;animation:crow-flap .5s ease-in-out infinite}.crow-wing-right{transform-box:fill-box;transform-origin:left center;animation:crow-flap .5s ease-in-out infinite reverse}@keyframes crow-fly{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.crow-flying{animation:crow-fly 1.5s ease-in-out infinite}@keyframes crow-dive{0%{transform:translate(0) rotate(0)}to{transform:translate(40px,60px) rotate(45deg)}}.crow-diving{animation:crow-dive .4s ease-in forwards}@keyframes enemy-stunned{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-3px) rotate(-2deg)}30%{transform:translate(3px) rotate(2deg)}50%{transform:translate(-2px) rotate(-1deg)}70%{transform:translate(2px) rotate(1deg)}90%{transform:translate(-1px) rotate(0)}}.enemy-stunned{animation:enemy-stunned .3s linear infinite;filter:brightness(.8)}@keyframes drool{0%{transform:translateY(0);opacity:.6}to{transform:translateY(8px);opacity:0}}.bulldog-drool{animation:drool 2s ease-in infinite}@keyframes boss-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.2) saturate(1.3)}}.boss-angry{animation:boss-pulse .8s ease-in-out infinite}@keyframes boss-charge-warn{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.boss-charging{animation:boss-charge-warn .15s linear 6}@keyframes shockwave-expand{0%{transform:scale(.3);opacity:1}to{transform:scale(1.5);opacity:0}}.fx-shockwave{animation:shockwave-expand .4s ease-out forwards}@keyframes dust-puff{0%{transform:scale(.5);opacity:.8}to{transform:scale(1.5);opacity:0}}.fx-dust-land{animation:dust-puff .3s ease-out forwards}@keyframes dust-trail{0%{transform:translate(0) scale(.8);opacity:.5}to{transform:translate(-20px) scale(.3);opacity:0}}.fx-dust-run{animation:dust-trail .4s ease-out forwards}@keyframes sparkle-pop{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(90deg);opacity:1}to{transform:scale(0) rotate(180deg);opacity:0}}.fx-sparkle{animation:sparkle-pop .6s ease-out forwards}@keyframes water-splash{0%{transform:translateY(0) scale(1);opacity:.7}to{transform:translateY(-20px) scale(.5);opacity:0}}.fx-water-splash{animation:water-splash .5s ease-out forwards}@keyframes impact-star{0%{transform:scale(0);opacity:1}50%{transform:scale(1.3);opacity:1}to{transform:scale(.8);opacity:0}}.fx-impact-star{animation:impact-star .3s ease-out forwards}@keyframes wind-sweep{0%{transform:translate(-100%);opacity:0}20%{opacity:.4}80%{opacity:.4}to{transform:translate(100%);opacity:0}}.fx-wind-line{animation:wind-sweep 1.5s linear infinite}@keyframes star-invincible{0%,to{filter:brightness(1) hue-rotate(0deg)}25%{filter:brightness(1.5) hue-rotate(90deg)}50%{filter:brightness(1.2) hue-rotate(180deg)}75%{filter:brightness(1.5) hue-rotate(270deg)}}.cat-invincible{animation:star-invincible .5s linear infinite}@keyframes heart-pop{0%{transform:scale(1)}30%{transform:scale(1.3)}to{transform:scale(1)}}.ui-heart-gain{animation:heart-pop .3s ease-out}@keyframes heart-shake{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}.ui-heart-lose{animation:heart-shake .3s ease-out}@keyframes score-popup{0%{transform:translateY(0) scale(.5);opacity:1}to{transform:translateY(-30px) scale(1);opacity:0}}.ui-score-popup{animation:score-popup .8s ease-out forwards}@keyframes rescue-celebrate{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.2) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.ally-rescued{animation:rescue-celebrate .6s ease-out forwards}@keyframes spring-bounce{0%{transform:scaleY(1)}30%{transform:scaleY(.5)}60%{transform:scaleY(1.2)}to{transform:scaleY(1)}}.spring-activated{animation:spring-bounce .3s ease-out;transform-box:fill-box;transform-origin:center bottom}@keyframes conveyor-move{0%{transform:translate(0)}to{transform:translate(-16px)}}.conveyor-belt{animation:conveyor-move .3s linear infinite}@keyframes crane-swing{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.crane-hook{transform-box:fill-box;transform-origin:top center;animation:crane-swing 3s ease-in-out infinite}@keyframes antenna-blink{0%,45%,to{opacity:1}50%,95%{opacity:.2}}.antenna-light{animation:antenna-blink 2s ease-in-out infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.fade-in{animation:fade-in .3s ease-out forwards}.fade-out{animation:fade-out .3s ease-out forwards}@keyframes slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.slide-in-top{animation:slide-in-top .4s ease-out forwards}.slide-in-bottom{animation:slide-in-bottom .4s ease-out forwards}.parallax-layer{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform}
