*{box-sizing:border-box}html,body{overscroll-behavior:none;color:#173e4b;background:#5fc4dd;width:100%;height:100%;margin:0;font-family:Nunito,sans-serif;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;place-items:center;display:grid;position:fixed;inset:0}#game-shell{isolation:isolate;touch-action:none;background:#87dfed;width:100vw;height:100dvh;position:relative;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.splash{z-index:20;background:linear-gradient(#60d4ec 0 58%,#9edb89 58% 68%,#4baf70 68%);place-items:center;transition:opacity .55s,transform .55s;display:grid;position:absolute;inset:0;overflow:hidden}.splash.hide{opacity:0;pointer-events:none;transform:scale(1.08)}.splash:after{content:"";background:#78ca70;border-top:8px solid #d3ed7e;border-radius:50% 50% 0 0/28% 28% 0 0;height:43%;position:absolute;bottom:-13%;left:-5%;right:-5%}.splash-sun{background:#ffe15d;border-radius:50%;width:120px;height:120px;position:absolute;top:10%;right:9%;box-shadow:0 0 0 18px #fff58b55,0 0 0 34px #fff58b25}.splash-cloud{background:#fff9;border-radius:50px;width:150px;height:50px;position:absolute;top:18%;left:8%}.splash-cloud:before,.splash-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.splash-cloud:before{width:75px;height:75px;bottom:5px;left:24px}.splash-cloud:after{width:55px;height:55px;bottom:6px;right:18px}.splash-cloud.two{top:35%;left:auto;right:18%;transform:scale(.65)}.splash-logo{z-index:2;text-align:center;margin-top:-20px;position:relative}.splash-logo .tiny{color:#174858;letter-spacing:2px;background:#fff6cf;border:3px solid #174858;border-radius:20px;padding:6px 15px;font:900 10px Nunito;display:inline-block;box-shadow:0 3px #174858}.splash-logo h1{filter:drop-shadow(0 9px #164858);flex-direction:column;margin:8px 0 2px;display:flex;transform:rotate(-2deg)}.splash-logo h1 i,.splash-logo h1 b{letter-spacing:-7px;-webkit-text-stroke:5px #174858;paint-order:stroke fill;font:800 clamp(70px,10vw,130px)/.65 "Baloo 2"}.splash-logo h1 i{color:#fff7dc}.splash-logo h1 b{color:#f25f72;text-shadow:7px 5px #f8cf4f}.splash-llama{color:#fff3df;filter:drop-shadow(3px 4px #174858);font-size:75px;position:absolute;top:100px;right:-20px;transform:rotate(12deg)}.splash-llama span{color:#ffd450;font-size:24px}.splash-logo button{color:#174858;letter-spacing:1px;cursor:pointer;background:#f8cf4f;border:4px solid #174858;border-radius:20px;margin-top:32px;padding:13px 26px;font:900 17px "Baloo 2";box-shadow:0 7px #174858}.splash-logo button:hover{background:#ffe279;transform:translateY(-2px)}.splash-logo button:active{transform:translateY(5px);box-shadow:0 2px #174858}.splash-logo button strong{margin-left:10px}.credit{z-index:3;color:#fff;letter-spacing:1px;text-shadow:0 2px #286b54;font:700 15px Nunito;position:absolute;bottom:22px}.credit span{color:#f8cf4f}.credit b{color:#fff3b7;font:800 19px "Baloo 2"}.topbar{pointer-events:none;justify-content:space-between;align-items:center;padding:18px clamp(20px,3vw,48px);display:flex;position:absolute;top:0;left:0;right:0}.brand{color:#17495a;text-shadow:0 2px #fff8;align-items:center;gap:10px;display:flex}.brand-mark{color:#fff;background:#f9cb5e;border:3px solid #17495a;border-radius:50% 45% 55%;place-items:center;width:45px;height:45px;font:900 15px "Baloo 2";display:grid;box-shadow:0 4px #17495a}.brand>span:last-child{letter-spacing:1px;flex-direction:column;font:800 18px/14px "Baloo 2";display:flex}.brand em{color:#ef5560;font-style:normal}.level-pill{white-space:nowrap;background:#fff9e8;border:3px solid #194a5a;border-radius:25px;align-items:center;gap:8px;height:48px;padding:0 18px 0 9px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 5px #194a5a}.level-pill small{color:#fff;letter-spacing:1px;background:#ef5963;border-radius:11px;padding:5px 8px;font:900 9px Nunito}.level-pill b{font:900 16px "Baloo 2"}.level-pill span{background:#b8d6d4;width:2px;height:22px}.level-pill strong{letter-spacing:1px;font-size:12px}.sound{pointer-events:auto;color:#17495a;cursor:pointer;background:#fff;border:3px solid #17495a;border-radius:50%;width:43px;height:43px;font-size:23px;font-weight:900;box-shadow:0 4px #17495a}.sound:active{transform:translateY(3px);box-shadow:0 1px #17495a}.hud{gap:10px;display:flex;position:absolute;top:84px;right:clamp(20px,3vw,48px)}.card{background:#fffdf2;border:3px solid #1e5360;border-radius:17px;align-items:center;gap:8px;height:49px;padding:5px 12px;display:flex;box-shadow:0 4px #1e5360}.score{min-width:123px}.score>div{flex-direction:column;display:flex}.score small,.fruit small{letter-spacing:1px;color:#78969c;font-size:8px;font-weight:900}.score b{letter-spacing:1px;font:800 16px/15px "Baloo 2"}.star{color:#ffc83d;-webkit-text-stroke:2px #9a651b;font-size:24px}.lives{flex-direction:column;gap:0;min-width:105px;padding:3px 11px;font:800 17px "Baloo 2"}.lives small{letter-spacing:1.5px;color:#78969c;font-size:7px;line-height:9px}.lives>div{align-items:center;gap:3px;height:27px;display:flex}.lives>div span{color:#ef5b6c;text-shadow:0 2px #9c3546;font-size:24px;line-height:1;transition:all .25s;animation:1.4s infinite heartBeat}.lives>div span:nth-child(2){animation-delay:.1s}.lives>div span:nth-child(3){animation-delay:.2s}.lives>div span.empty{color:#bdc9c7;text-shadow:none;animation:none;transform:scale(.82)}@keyframes heartBeat{5%{transform:scale(1.16)}10%{transform:scale(1)}}.fruit{color:#e8698a}.fruit>span{font-size:24px}.intro{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:4;background:#143d4d20;place-items:center;transition:all .35s;display:grid;position:absolute;inset:0}.intro.hidden{opacity:0;pointer-events:none;transform:scale(1.04)}.postcard{text-align:center;background:#fffaf0;border:4px solid #164859;border-radius:34px;width:min(470px,100vw - 35px);padding:34px 35px 27px;position:relative;overflow:hidden;box-shadow:0 11px #164859,0 20px 40px #16485945}.postcard:before,.postcard:after{content:"";opacity:.22;border:14px solid #80d6d5;border-radius:50%;width:80px;height:80px;position:absolute}.postcard:before{top:-45px;left:-42px}.postcard:after{bottom:-42px;right:-42px}.eyebrow{color:#33835e;letter-spacing:1.4px;background:#e5f4dc;border-radius:20px;padding:6px 14px;font-size:10px;font-weight:900;display:inline-block}.postcard h1{color:#174858;letter-spacing:-2px;margin:14px 0;font:800 53px/44px "Baloo 2"}.postcard h1 i{color:#ec5d67;text-shadow:0 3px #ffc950;font-style:normal}.postcard p{color:#59757a;margin:0 0 22px;font-size:14px;line-height:1.5}.postcard button{color:#174858;letter-spacing:.5px;cursor:pointer;background:#f7c84d;border:3px solid #174858;border-radius:18px;padding:12px 26px;font:900 16px "Baloo 2";box-shadow:0 6px #174858}.postcard button span{margin-right:8px;font-size:12px}.postcard button:hover{background:#ffd969;transform:translateY(-1px)}.postcard button:active{transform:translateY(5px);box-shadow:0 1px #174858}.keys{letter-spacing:1px;color:#758b8e;justify-content:center;gap:24px;margin:20px 0 0;font-size:9px;display:flex}.keys span{align-items:center;gap:4px;display:flex}.keys kbd{background:#fff;border:2px solid #b5c4c2;border-radius:6px;min-width:25px;padding:3px 6px;font:800 9px Nunito;box-shadow:0 2px #b5c4c2}.touch-help{color:#607f84;letter-spacing:.4px;margin-top:18px;font-size:11px;font-weight:900;display:none}.toast{opacity:0;background:#fffaf0;border:3px solid #194b59;border-radius:16px;flex-direction:column;align-items:center;padding:8px 18px;transition:all .3s;display:flex;position:absolute;top:145px;left:50%;transform:translate(-50%,-20px);box-shadow:0 5px #194b59}.toast.show{opacity:1;transform:translate(-50%)}.celebration{z-index:8;text-align:center;opacity:0;pointer-events:none;background:#fff8dc;border:5px solid #174858;border-radius:30px;width:min(460px,100% - 30px);padding:22px;transition:all .35s cubic-bezier(.2,1.6,.4,1);position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)scale(.4)rotate(-5deg);box-shadow:0 10px #174858,0 20px 45px #16485855}.celebration.show{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}.celebration h2{letter-spacing:-2px;color:#ed5e70;text-shadow:3px 3px #f7cc4d;margin:-7px 0 -4px;font:800 clamp(40px,7vw,68px) "Baloo 2"}.celebration p{color:#4d7077;margin:0;font-size:13px}.celebrate-stars{color:#f5c53f;letter-spacing:15px;font-size:25px}.toast b{color:#eb5a65;font:800 14px "Baloo 2"}.toast span{font-size:9px}.tip{letter-spacing:.5px;background:#fffbe9dd;border:2px solid #245363;border-radius:13px;padding:8px 14px;font-size:10px;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 3px #245363}.tip span{color:#fff;background:#38b7d5;border-radius:50%;place-items:center;width:18px;height:18px;margin-right:6px;display:inline-grid}.mobile-controls{z-index:7;left:calc(22px + env(safe-area-inset-left));right:calc(22px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute}.move-controls{gap:14px;display:flex}.mobile-controls button{pointer-events:auto;touch-action:none;color:#174858;-webkit-tap-highlight-color:transparent;background:#fffde6d9;border:4px solid #174858;border-radius:24px;width:76px;height:76px;padding:0;font:900 34px/1 Nunito;box-shadow:0 7px #174858,0 9px 20px #173e4b35}.mobile-controls button.pressed{background:#fff;transform:translateY(5px)scale(.97);box-shadow:0 2px #174858}.mobile-controls .jump{background:#f8c64ae6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:90px;height:90px;display:flex}.mobile-controls .jump small{letter-spacing:1px;margin-top:4px;font:900 9px/1 Nunito}.intro:not(.hidden)~.mobile-controls{display:none!important}@media (width<=700px),(pointer:coarse){.brand>span:last-child,.level-pill strong,.level-pill span{display:none}.level-pill{left:auto;right:75px;transform:none}.hud{top:78px}.score{display:none}.mobile-controls{display:flex}.tip{display:none}.postcard h1{font-size:45px}.postcard{padding:27px 20px}.keyboard-help{display:none}.touch-help{display:block}}@media (height<=600px){.topbar{padding-top:10px}.hud{top:66px}.postcard{transform:scale(.86)}.tip{display:none}.mobile-controls{bottom:calc(10px + env(safe-area-inset-bottom))}.mobile-controls button{border-radius:20px;width:64px;height:64px}.mobile-controls .jump{width:74px;height:74px}}
