@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2) format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff) format("woff")}@font-face{font-family:Luckiest Guy;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/luckiest-guy-latin-400-normal-dJClyBWO.woff2) format("woff2"),url(/assets/luckiest-guy-latin-400-normal-f5b8-b44.woff) format("woff")}html,body,#root{height:100%;margin:0;overflow:hidden;background:#79c7f2;color:#1c2430;font-family:Fredoka,Arial Rounded MT Bold,Trebuchet MS,sans-serif}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button{font-family:inherit;-webkit-tap-highlight-color:transparent}.app{height:100%;display:flex;justify-content:center}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.scene-art{width:100%;height:100%;display:block}.play{position:relative;z-index:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto minmax(var(--below-bug, 0px),1fr);width:min(100%,480px);height:100%;overflow:hidden}.play>*{grid-column:1}.screen{position:relative;z-index:2;grid-column:1;grid-row:1 / -1;height:auto;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;pointer-events:none;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}.screen.is-welcome{pointer-events:auto}.bug-band{position:relative;z-index:2;grid-column:1;grid-row:2;box-sizing:border-box;width:100%;padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right));display:flex;justify-content:center;pointer-events:none}.hill{position:relative;z-index:0;grid-column:1;grid-row:3;align-self:stretch;min-height:0;width:100%;height:calc(100% + 14px);margin-top:-14px;pointer-events:none}.hill-art{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.grass-art{display:block;width:100%;height:100%}.grass-art{position:absolute;z-index:1;grid-column:1;grid-row:1 / -1;left:0;right:0;bottom:0;height:20%;pointer-events:none}.bug{width:100%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.part{position:relative;margin-left:-10px;flex:1 1 0}.part:first-child{margin-left:0}.part-body{z-index:2;min-width:64px;min-height:64px;max-width:104px;touch-action:none;pointer-events:auto}.part-head,.part-tail{z-index:1;pointer-events:none}.part-head{flex-grow:.95;min-width:56px;max-width:112px}.part-tail{flex-grow:.95;min-width:62px;max-width:96px}.art{display:block;width:100%;height:auto}.cushion{position:relative}.digit{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);font-size:32px;line-height:1;color:#1c2430;pointer-events:none}.cushion.is-puff:after{content:"";position:absolute;left:14%;right:14%;top:30%;bottom:26%;border-radius:22px;background:#f4c4999e}.cushion.is-landed .art{animation:rim .6s ease}.dots{flex:0 0 auto;display:flex;justify-content:center;gap:12px;padding:6px 0 4px}.dot{width:16px;height:16px;border-radius:50%;background:#ffffff73;box-sizing:border-box}.dot.is-current{transform:scale(1.28);background:#fff;box-shadow:0 0 0 3px #ffffff73}.dot.is-done,.mark.is-done{border-radius:0;background:#ffe56a;clip-path:polygon(50% 0%,62% 35%,100% 38%,70% 60%,79% 100%,50% 76%,21% 100%,30% 60%,0% 38%,38% 35%)}.mark{width:44px;height:44px;box-sizing:border-box}.mark-miss{display:block;width:48px;height:48px;background:none}.tray{position:relative;z-index:3;flex:0 0 auto;display:grid;grid-template-columns:repeat(var(--tray-columns),minmax(0,1fr));gap:4px 6px;width:100%;margin-top:auto;margin-bottom:max(8px,env(safe-area-inset-bottom));pointer-events:auto}.slot{min-height:96px;display:flex;align-items:flex-end;justify-content:center}.tile{width:min(100%,88px);min-width:64px;min-height:64px;padding:0;border:0;background:none;touch-action:none;cursor:pointer}.tile.is-selected .cushion{transform:translateY(-12px);filter:drop-shadow(0 8px 0 rgba(40,90,20,.18))}.tile.is-dragging .cushion{opacity:.35}.tile.is-busy .cushion{animation:hop .52s ease}.ghost{position:fixed;z-index:30;pointer-events:none;transform:translate(-50%,-68%) scale(1.06)}.ghost.is-returning{transition:left .5s ease,top .5s ease}.go,.mute{touch-action:manipulation}.dock{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding-bottom:max(40px,calc(env(safe-area-inset-bottom) + 24px));pointer-events:none}.greeting{position:absolute;z-index:3;top:max(14px,env(safe-area-inset-top));left:58px;right:12px;margin:0;text-align:center;pointer-events:none;font-family:Luckiest Guy,Arial Rounded MT Bold,sans-serif;font-size:clamp(38px,12vw,56px);font-weight:400;line-height:1.05;color:#ffe56a;-webkit-text-stroke:7px #1d6b32;paint-order:stroke fill;text-shadow:0 4px 0 rgba(20,70,20,.25)}.go{align-self:center;margin:0;min-width:168px;min-height:72px;padding:12px 28px;border:0;border-radius:22px;background:#2f86e6;color:#fff;font-size:36px;line-height:1;box-shadow:0 6px #1c5eae;cursor:pointer;pointer-events:auto}.go:active{transform:translateY(3px);box-shadow:0 3px #1c5eae}.go.is-pulse{animation:pulse 1.6s ease-in-out infinite}.mute{position:absolute;pointer-events:auto;z-index:4;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));width:48px;height:48px;padding:8px;border:0;border-radius:50%;background:#ffffffc7;color:#1d4f86;box-shadow:0 3px #1446782e;cursor:pointer}.mute svg{width:100%;height:100%;display:block}.score{display:grid;grid-template-columns:48px auto;justify-content:center;align-items:center;column-gap:18px;row-gap:8px;margin:0;padding:12px 22px 14px;border-radius:22px;background:#ffffffe0;box-shadow:0 6px #246e1e29}.score-digit{font-size:64px;line-height:.9;color:#1c2430}.butterfly,.petals{position:absolute;z-index:1;pointer-events:none}.butterfly-main{top:64px;right:12px;width:72px;animation:drift 5.5s ease-in-out infinite}.butterfly-small{top:118px;left:16px;width:44px;animation:drift-aside 7.8s ease-in-out infinite}.petals{top:44px;left:22%;width:52px;animation:drift-petals 9.4s ease-in-out infinite}.wing{transform-box:fill-box;transform-origin:center;animation:flap 1.1s ease-in-out infinite}.daisy{position:absolute;z-index:1;bottom:max(6px,env(safe-area-inset-bottom));width:46px;pointer-events:none}.daisy-left{left:0}.daisy-right{right:0}.fireworks{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.spark{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;animation:burst 1s ease-out forwards}.is-idle .bug{animation:wiggle 3.2s ease-in-out infinite}.is-idle .lid{animation:blink 4.2s infinite}.is-celebrate .lid,.is-celebrate.is-full .lid{animation:blink 2.4s infinite}.lid{opacity:0}.is-celebrate .bug{animation:party .7s ease-in-out 4,wiggle 3.2s ease-in-out 2.8s infinite}.is-celebrate.is-full .bug{animation:party .55s ease-in-out 5,wiggle 2.2s ease-in-out 2.8s infinite}.is-celebrate .butterfly-main,.is-celebrate.is-full .butterfly-main{animation-duration:2.6s}.is-celebrate .butterfly-small,.is-celebrate.is-full .butterfly-small{animation-duration:3.4s}.is-celebrate .petals,.is-celebrate.is-full .petals{animation-duration:4.2s}.is-celebrate .spark{animation-iteration-count:2}.is-celebrate.is-full .spark{animation-iteration-count:3}.bug.is-crawling{animation:crawl 1.8s ease-in-out both}.bug.is-crawling.is-short{animation-duration:1s}.is-question .part-head{transform-origin:50% 78%;animation:head-nod 3.6s ease-in-out infinite}.is-question .part-tail{transform-origin:18% 82%;animation:tail-curl 2.5s ease-in-out infinite}.is-question .lid{animation:blink 7.2s infinite}.is-question .pupil{transform-box:fill-box;transform-origin:center;animation:look 5.4s ease-in-out infinite}@media(max-height:520px){.part-body{max-width:76px}.part-head{max-width:78px}.part-tail{max-width:72px}.digit{font-size:26px}.go{min-height:64px;font-size:30px}.score-digit{font-size:48px}.butterfly-main{width:52px;top:36px}.butterfly-small{width:34px;top:78px}.petals{width:36px;top:28px}}@media(max-height:420px){.greeting{font-size:28px;-webkit-text-stroke-width:4px}.part-body{max-width:64px}.part-head{max-width:56px}.part-tail{max-width:52px}.digit{font-size:22px}.slot{min-height:0}.tile{width:min(100%,68px)}.butterfly-main{top:4px;width:40px}.butterfly-small{top:28px;width:28px}.petals{top:6px;width:28px}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes party{0%,to{transform:translateY(0) rotate(-2deg)}25%{transform:translateY(-8px) rotate(2.2deg)}50%{transform:translateY(-2px) rotate(-2.4deg)}75%{transform:translateY(-9px) rotate(2.4deg)}}@keyframes wiggle{0%,to{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-5px) rotate(.6deg)}}@keyframes crawl{0%{transform:translate(-20%)}55%{transform:translate(7%)}to{transform:translate(0)}}@keyframes hop{0%{transform:translateY(0)}40%{transform:translateY(-16px)}to{transform:translateY(0)}}@keyframes rim{0%{filter:drop-shadow(0 0 8px #fff4b0)}to{filter:drop-shadow(0 0 0 #fff4b0)}}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(-10px,12px)}}@keyframes drift-aside{0%,to{transform:translate(0)}50%{transform:translate(16px,-12px)}}@keyframes drift-petals{0%,to{transform:translate(0) rotate(-8deg)}50%{transform:translate(12px,16px) rotate(10deg)}}@keyframes flap{0%,to{transform:scaleX(1)}50%{transform:scaleX(.82)}}@keyframes blink{0%,42%,48%,to{opacity:0}44%,46%{opacity:1}}@keyframes head-nod{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes tail-curl{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(8deg) translateY(-5px)}}@keyframes look{0%,to{transform:translate(0)}40%{transform:translate(-3px,1px)}72%{transform:translate(3px)}}@keyframes burst{0%{transform:scale(.3);opacity:0}25%{opacity:1}to{transform:scale(1.5) translateY(-16px);opacity:0}}@media(prefers-reduced-motion:reduce){.go.is-pulse,.is-idle .bug,.is-celebrate .bug,.bug.is-crawling,.is-question .part-head,.is-question .part-tail,.is-question .pupil,.butterfly,.petals,.wing,.lid,.tile.is-busy .cushion,.cushion.is-landed .art,.spark,.ghost.is-returning{animation:none;transition:none}}
