*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;overflow:hidden;font-family:Arial,sans-serif;background:linear-gradient(#a9e8ff 0%,#dff8ff 55%,#8fd36b 55%,#6fbd55 100%)}#game{position:relative;width:100vw;height:100vh;overflow:hidden}#bubble{position:absolute;min-width:210px;max-width:280px;padding:12px 17px;background:#fff;border:3px solid #333;border-radius:22px;text-align:center;font-size:16px;font-weight:bold;line-height:1.5;box-shadow:0 5px 15px #0003;z-index:50;pointer-events:none}#bubble:after{content:"";position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-top:14px solid #333}#bubble:before{content:"";position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:11px solid #fff;z-index:2}#cat{position:absolute;width:130px;height:150px;padding:0;border:0;background:transparent;cursor:pointer;z-index:20;transition:left .55s cubic-bezier(.2,.8,.25,1),top .55s cubic-bezier(.2,.8,.25,1),transform .25s}.body{position:absolute;width:68px;height:75px;left:31px;top:48px;background:#e99a55;border-radius:48% 48% 42% 42%;box-shadow:inset -8px -6px 0 #cf773d}.belly{position:absolute;width:43px;height:53px;left:43px;top:62px;background:#ffc37e;border-radius:50%;z-index:2}.head{position:absolute;width:70px;height:65px;left:30px;top:15px;background:#efa15c;border-radius:48%;z-index:8;box-shadow:inset -6px -5px 0 #d37b40}.ear{position:absolute;width:28px;height:31px;top:-15px;background:#efa15c;transform:rotate(45deg);z-index:-1}.ear.left{left:4px}.ear.right{right:4px}.ear:after{content:"";position:absolute;width:14px;height:16px;left:7px;top:7px;background:#e98791;border-radius:50%}.eye{position:absolute;width:9px;height:12px;top:27px;background:#222;border-radius:50%}.eye.left{left:18px}.eye.right{right:18px}.nose{position:absolute;width:9px;height:7px;left:31px;top:39px;background:#e85d70;border-radius:50%}.mouth{position:absolute;width:13px;height:7px;left:29px;top:44px;border-bottom:2px solid #333;border-radius:50%}.whisker{position:absolute;width:22px;height:1px;top:43px;background:#555}.w1{left:-17px;transform:rotate(8deg)}.w2{left:-18px;top:49px;transform:rotate(-8deg)}.w3{right:-17px;transform:rotate(-8deg)}.w4{right:-18px;top:49px;transform:rotate(8deg)}.leg{position:absolute;width:15px;height:38px;top:103px;background:#d98043;border-radius:12px;transform-origin:top center}.leg1{left:34px}.leg2{left:54px}.leg3{left:72px}.leg4{left:88px}.leg:after{content:"";position:absolute;width:18px;height:9px;left:-2px;bottom:-3px;background:#c96e3b;border-radius:50%}.tail{position:absolute;width:60px;height:65px;right:0;top:57px;border:11px solid #d98043;border-left:0;border-bottom:0;border-radius:0 60px 0 0;transform:rotate(15deg);z-index:1}.mouthGift{position:absolute;left:49px;top:52px;font-size:25px;z-index:15}.running .leg1,.running .leg4{animation:run1 .18s infinite alternate}.running .leg2,.running .leg3{animation:run2 .18s infinite alternate}.running .tail{animation:tailMove .25s infinite alternate}@keyframes run1{from{transform:rotate(25deg)}to{transform:rotate(-25deg)}}@keyframes run2{from{transform:rotate(-25deg)}to{transform:rotate(25deg)}}@keyframes tailMove{from{transform:rotate(5deg)}to{transform:rotate(25deg)}}#hole{display:none;position:absolute;width:120px;height:55px;background:#30251f;border-radius:50%;box-shadow:inset 0 10px 12px #0008;z-index:10}#hole:after{content:"";position:absolute;width:90px;height:22px;left:15px;top:8px;background:#17110f;border-radius:50%}#gift{display:none;position:absolute;z-index:30;border:0;background:transparent;font-size:65px;cursor:pointer;animation:giftBounce 1s infinite}@keyframes giftBounce{50%{transform:translateY(-13px) rotate(5deg)}}#final{display:none;position:absolute;inset:0;z-index:100;background:#0008;justify-content:center;align-items:center;padding:18px}.card{width:min(600px,94vw);max-height:90vh;overflow-y:auto;background:#fffaf4;border-radius:30px;padding:28px 25px;text-align:center;box-shadow:0 20px 60px #0008;animation:cardIn .8s ease}.card h1{color:#e66c8d;font-size:25px;line-height:1.6}.card p{color:#574848;font-size:17px;line-height:2;text-align:right}.confettiText{font-size:28px}.cake{font-size:55px}@keyframes cardIn{from{opacity:0;transform:scale(.4) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media(max-width:600px){#bubble{min-width:190px;max-width:240px;font-size:14px}.card{padding:20px}.card h1{font-size:21px}.card p{font-size:15px;line-height:1.9}}