:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--horizon: calc(var(--safe-top) + (100% - var(--safe-top) - var(--safe-bottom)) * .55)}@property --night-level{syntax: "<number>"; inherits: false; initial-value: 0;}html{background:#4f9a3d;background:color-mix(in srgb,#4f9a3d,#1c2f28 calc(var(--night-level) * 100%));transition:background-color .6s linear}html,body{margin:0;height:100%;width:100%;overflow:hidden;position:fixed;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#scene{position:fixed;inset:0;height:100vh;height:100dvh;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#dff3ff}.sky{position:absolute;top:0;left:0;right:0;height:var(--horizon);background:linear-gradient(to bottom,#8fd0f5,#b6e2fb 62%,#dff3ff)}.ground{position:absolute;top:var(--horizon);bottom:0;left:-25%;width:150%;background:linear-gradient(to bottom,#79c15e,#4f9a3d);border-top-left-radius:50% 14%;border-top-right-radius:50% 14%}.night{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(to bottom,#101a36,#1e2a4a 55%,#1c2f28);transition:opacity .6s linear}.sky-body{position:absolute;pointer-events:none;transform-origin:50% 50%}.sky-body svg{width:100%;height:100%;display:block;overflow:visible}.sky-body .rays line{stroke:#ffd98a;opacity:.9}.sky-body .disc{fill:#ffd257}.sky-body .craters,.sky-body.night-phase .rays{display:none}.sky-body.night-phase .disc{fill:#e8ecf6}.sky-body.night-phase .craters{display:inline}.sky-body.night-phase .craters circle{fill:#c6cddd}#layer-sky-life,#layer-ground-life,#layer-animals,#layer-ball,#layer-effects{position:absolute;inset:0;pointer-events:none}#layer-sky-life{z-index:1}#layer-ground-life{z-index:2}#layer-animals{z-index:3}#layer-ball{z-index:4}#layer-effects{z-index:5}.fx{position:absolute;left:0;top:0;display:none;pointer-events:none;will-change:transform,opacity}.fx.live{display:block}.fx-rain{width:2px;height:.9rem;border-radius:1px;background:#d2ebffd9}.fx-splash{width:.45rem;height:.45rem;border-radius:50%;background:var(--fx-tint, rgba(190, 225, 255, .95))}.fx-mark{width:.6rem;height:.35rem;border-radius:50%;background:var(--fx-tint, rgba(120, 80, 60, .45))}.fx-petal{width:.5rem;height:.35rem;border-radius:50%/60% 60% 40% 40%;background:var(--fx-tint, #f4a3c4)}.fx-spore{width:.3rem;height:.3rem;border-radius:50%;background:var(--fx-tint, rgba(245, 238, 220, .8))}.fx-ripple{width:3rem;height:1rem;margin:-.5rem 0 0 -1.5rem;border:2px solid rgba(255,255,255,.7);border-radius:50%}.animal{position:absolute;transform:translate(-50%,-100%)}.animal.hidden{display:none}.animal .pose{transform-origin:50% 100%;will-change:transform}.animal svg{display:block;width:100%;height:auto;overflow:visible}.animal .rinse{position:absolute;left:0;top:0;width:100%;aspect-ratio:1;display:none;pointer-events:none;will-change:opacity}.animal .rinse.live{display:block}.animal .rinse .fall{position:absolute;inset:0;will-change:transform}.animal .rinse .streak{position:absolute;width:2px;height:.7rem;border-radius:1px;background:var(--rinse-tint, rgba(216, 240, 255, .72))}.animal .rinse .drop{position:absolute;border-radius:50%;background:var(--rinse-tint, rgba(216, 240, 255, .98));box-shadow:0 0 0 1px #6ca8dc99}.animal .sweat.falling{animation:sweat-fall .9s ease-in infinite}@keyframes sweat-fall{0%{transform:translateY(0)}to{transform:translateY(1.6rem)}}.ripple{position:absolute;width:4.5rem;height:4.5rem;margin:-2.25rem 0 0 -2.25rem;border:2px solid rgba(255,255,255,.85);border-radius:50%;opacity:0}.ground-life{position:absolute;transform:translate(-50%,-100%) scale(0);transform-origin:50% 100%;transition:transform .25s ease-out,opacity .4s ease-out}.ground-life.grown{transform:translate(-50%,-100%) scale(1)}.ground-life.leaving{opacity:0;transform:translate(-50%,-100%) scale(.7)}.ground-life svg{display:block;width:100%;height:auto}.flower-plant{position:relative;display:block;transform-origin:50% 100%}.flower-plant.lifted{filter:drop-shadow(0 2px 2px rgba(58,44,30,.25))}.flower-plug{position:absolute;left:50%;top:100%;width:34%;aspect-ratio:3 / 2;transform:translate(-50%,-35%);border-radius:45% 45% 55% 55%;background:radial-gradient(circle at 50% 30%,#6b4b2f,#4a3320);opacity:0;transition:opacity .14s ease-out}.flower-plant.lifted .flower-plug{opacity:1}.mushroom-plant{position:relative;display:block;transform-origin:50% 100%}.mushroom-plant.lifted{filter:drop-shadow(0 2px 2px rgba(58,44,30,.25))}.mushroom-plug{position:absolute;left:50%;top:100%;width:34%;aspect-ratio:3 / 2;transform:translate(-50%,-35%);border-radius:45% 45% 55% 55%;background:radial-gradient(circle at 50% 30%,#6b4b2f,#4a3320);opacity:0;transition:opacity .14s ease-out}.mushroom-plant.lifted .mushroom-plug{opacity:1}.flower-mark,.mushroom-mark{position:absolute;display:none;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 45%,#4a332059,#4a33201a 70%,#4a332000)}.flower-mark.live,.mushroom-mark.live{display:block}.prop{position:absolute;left:0;top:0;display:none;transform:translate(-50%,-100%);transform-origin:50% 100%;will-change:transform}.prop.hat{transform-origin:50% 50%;will-change:transform,left,top}.prop.present{display:block}.prop svg{display:block;width:100%;height:auto;overflow:visible}.prop.cloud .drop{opacity:0;transition:opacity .4s ease-out}.prop.cloud.wet .drop{opacity:1}.prop.cloud .cloud-body,.prop.cloud .cloud-shade{transition:fill .4s ease-out}.prop.cloud.wet .cloud-body{fill:#b9c4d3}.prop.cloud.wet .cloud-shade{fill:#8f9db0}.puddle{position:absolute;left:0;top:0;transform-origin:50% 50%;pointer-events:none;will-change:transform,opacity}.scoop.dots .crest,.pour.dots{background-image:radial-gradient(circle at 28.571% 28.571%,var(--water-dot) 0,var(--water-dot) calc(var(--water-dot-size) * .1857),transparent calc(var(--water-dot-size) * .1857)),radial-gradient(circle at 78.571% 78.571%,var(--water-dot) 0,var(--water-dot) calc(var(--water-dot-size) * .1857),transparent calc(var(--water-dot-size) * .1857));background-size:var(--water-dot-size) var(--water-dot-size);background-repeat:repeat}.scoop.dots .crest,.pour.dots{background-color:var(--water-base)}.puddle svg{display:block;width:100%;height:auto;overflow:visible}.scoop,.pour{position:absolute;left:0;top:0;display:none;pointer-events:none;will-change:transform,opacity}.scoop{transform:translate(-50%,-100%)}.pour{transform:translate(-50%,-50%)}.scoop.live,.pour.live{display:block}.scoop .crest,.pour{border-radius:50% 50% 46% 46%/62% 62% 38% 38%;background:radial-gradient(ellipse at 50% 30%,var(--water-light, rgba(226, 244, 255, .98)) 0%,var(--water-base, rgba(160, 211, 245, .97)) 55%,var(--water-deep, rgba(122, 186, 232, .9)) 100%);box-shadow:inset 0 .18rem .3rem #ffffffbf,0 .14rem .35rem #4682c84d}.scoop .crest{width:100%;height:100%;animation:crest-bob 1.3s ease-in-out infinite alternate}@keyframes crest-bob{0%{transform:translateY(0) scale(1)}to{transform:translateY(-2px) scale(.97,1.05)}}.wet-sheen{position:absolute;left:-25%;width:150%;top:var(--horizon);bottom:0;border-top-left-radius:50% 14%;border-top-right-radius:50% 14%;background:linear-gradient(to bottom,#78b4e614,#4682c83d);opacity:0;transition:opacity .6s ease-out;pointer-events:none}.ball{position:absolute;left:0;top:0;will-change:transform;display:none}.ball.present{display:block}.ball-shadow{position:absolute;left:0;top:0;display:none;border-radius:50%;background:#23461e59;will-change:transform,opacity}.ball-shadow.present{display:block}.ball.contained,.ball-shadow.contained,.ball-shadow.aboard{display:none}.ball svg{display:block;width:100%;height:100%;transform-origin:50% 50%}.butterfly{position:absolute;left:0;top:0;transition:opacity .3s ease-out}.butterfly.leaving{opacity:0}.butterfly svg{display:block;width:100%;height:auto}.butterfly .wing{transform-box:fill-box;animation:wing-flap .18s ease-in-out infinite alternate}.butterfly .wing-left{transform-origin:100% 50%}.butterfly .wing-right{transform-origin:0% 50%}@keyframes wing-flap{0%{transform:scaleX(1)}to{transform:scaleX(.35)}}.box-view{position:absolute;inset:0;z-index:2000;display:none;pointer-events:none}.box-view.present{display:block}.box-view-dim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#22170dcc,#0c0906ed)}.box-view-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.box-view-stage>svg{display:block;width:100%;height:auto;overflow:visible}.easel-view{position:absolute;inset:0;z-index:2000;display:none;pointer-events:none}.easel-view.present{display:block}.easel-view-dim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#281c1099,#0e0a06d9)}.easel-view-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.easel-view-stage>svg{display:block;width:100%;height:100%;overflow:visible}.easel-view-paper{position:absolute;display:block;background:#fffdf6;border-radius:3px;box-shadow:0 1px 4px #281c1059}.easel-view-flash{position:absolute;display:block;background:#fff;opacity:0;pointer-events:none;border-radius:3px}.puzzle-view{position:absolute;inset:0;z-index:2000;display:none;pointer-events:none}.puzzle-view.present{display:block}.puzzle-view-dim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#281c1099,#0e0a06d9)}.puzzle-view-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.puzzle-view-stage>svg{display:block;width:100%;height:100%;overflow:visible}.puzzle-view-board{position:absolute;display:block;border-radius:3px}.puzzle-view-complete{position:absolute;display:block;border-radius:3px;transform-origin:50% 50%}.puzzle-view-replay{position:absolute;transform-origin:50% 50%}.puzzle-view-replay svg{display:block;width:100%;height:100%}.puzzle-confetti{position:absolute;left:0;top:0;will-change:transform,opacity}.puzzle-piece{position:absolute;left:0;top:0;display:block;transform-origin:50% 50%;will-change:transform}.puzzle-piece.lifted{filter:drop-shadow(0 .35rem .4rem rgba(40,28,16,.45))}
