:root{--ink: #234a2f;--card: #fffdf3;--shadow: 0 6px 0 rgba(0, 0, 0, .12)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%}body{font-family:Fredoka,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#bfe9ff;overflow:hidden;height:100dvh;display:flex;flex-direction:column;user-select:none}header{flex:0 0 auto;padding:5px 9px 4px;display:flex;align-items:center;gap:8px;justify-content:space-between}.titlewrap{min-width:0}h1{margin:0;font-weight:700;letter-spacing:.5px;font-size:clamp(16px,4.6vw,26px);color:#2c6b3a;text-shadow:0 2px 0 #fff,0 3px 0 rgba(0,0,0,.08);line-height:1}.sub{margin:3px 0 0;font-size:clamp(10px,2.9vw,14px);font-weight:500;color:#3c6b48;opacity:.92;line-height:1.2}.controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}.home{display:flex;flex-direction:column;align-items:center;gap:3px}.house{position:relative;width:60px;height:56px;transform:translateY(-4px);filter:drop-shadow(0 3px 0 rgba(0,0,0,.12))}.house svg{display:block;width:100%;height:100%}.pads{display:flex;gap:5px;align-items:center;justify-content:center}.pad{width:15px;height:15px;border-radius:50%;background:#7cc96a;border:2px solid #5fb24f;box-shadow:inset 0 -2px #00000014;transition:transform .25s ease}.pad.filled{background:#ffd84d;border-color:#f2b705;transform:scale(1.15)}.ico-btn{font-family:inherit;font-weight:600;font-size:13px;color:#2c6b3a;background:var(--card);border:0;border-radius:13px;padding:8px 11px;box-shadow:var(--shadow);cursor:pointer;white-space:nowrap}.ico-btn:active{transform:translateY(2px);box-shadow:0 3px #0000001f}.ico-btn:disabled{opacity:.45}.zoom{display:flex;flex-direction:row;gap:5px}.zoom button{width:28px;height:28px;font-size:15px;padding:0;line-height:1;display:grid;place-items:center}#stage{position:relative;flex:1 1 auto;margin:0}#play{position:absolute;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;background:#a6e69c}#sizer{position:relative}#world{position:absolute;top:0;left:0;transform-origin:0 0}#scene,.prop{position:absolute;top:0;left:0;pointer-events:none}.critter{position:absolute;border:0;padding:0;background:transparent;cursor:pointer;line-height:0;transform:rotate(var(--rot, 0deg));transition:transform .12s ease}.critter:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px;border-radius:10px;z-index:200000}.critter:active{transform:rotate(var(--rot, 0deg)) scale(.9)}.critter .body{position:absolute;inset:0;display:grid;place-items:end center}.critter .body svg{width:100%;height:100%;display:block;pointer-events:none}.critter .emoji{line-height:1;pointer-events:none;transform:translateY(var(--ey, 2%))}.critter.flip .emoji{transform:translateY(var(--ey, 2%)) scaleX(-1)}.critter.flip.inwater .emoji{transform:scaleX(-1)}.base{position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.base.ground{bottom:-11%;width:96%;height:28%;border-radius:50%;background:radial-gradient(closest-side,#224e285c,#224e2800)}.base.pad{bottom:6%;width:58%;height:15%;border-radius:50%;background:radial-gradient(closest-side,rgba(28,84,40,.32),transparent)}.base.water{left:50%;bottom:var(--cut, 38%);width:110%;height:28%;border-radius:50%;transform:translate(-50%,50%);background:radial-gradient(closest-side,#fff0 50%,#d8f1fb8c 66%,#d8f1fb00 84%)}.veil{position:absolute;pointer-events:none}.critter.inwater .body{place-items:end center}.critter.inwater .emoji{--ey: -3%}.veil.water{left:-3%;right:-3%;bottom:-16%;height:calc(var(--cut, 38%) + 16%);border-radius:0 0 46% 46%/0 0 36% 36%;border-top:1.5px solid rgba(228,247,253,.4);background:linear-gradient(180deg,rgba(var(--wc, 110, 190, 230),.58),rgba(var(--wc, 110, 190, 230),.82) 30%,rgba(var(--wc, 110, 190, 230),.88))}.veil.leaves{left:-8%;right:-8%;bottom:-6%;height:54%;background:radial-gradient(circle at 22% 62%,var(--leaf2) 0 22%,transparent 23%),radial-gradient(circle at 50% 42%,var(--leaf) 0 30%,transparent 31%),radial-gradient(circle at 80% 62%,var(--leaf2) 0 22%,transparent 23%),radial-gradient(circle at 34% 80%,var(--leaf) 0 21%,transparent 22%),radial-gradient(circle at 66% 80%,var(--leaf) 0 21%,transparent 22%)}.winfrog{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(0);transition:transform .5s cubic-bezier(.2,1.6,.4,1),opacity .3s}.winfrog.show{opacity:1;transform:scale(1)}.flyer{position:fixed;z-index:400000;pointer-events:none;transition:transform .2s ease,filter .25s ease;will-change:transform}.flyer .body{position:absolute;inset:0;display:grid;place-items:center}.flyer .body svg{width:100%;height:100%}.flyer.glow{filter:drop-shadow(0 0 7px rgba(255,244,170,.95)) drop-shadow(0 0 13px rgba(255,232,120,.6))}.critter.hint .body{animation:wig .45s ease-in-out 0s 3}@keyframes wig{0%,to{transform:scale(1.1)}25%{transform:rotate(-16deg) scale(1.5)}75%{transform:rotate(16deg) scale(1.5)}}.critter.hint{filter:drop-shadow(0 0 6px #ffe14d) drop-shadow(0 0 6px #ffe14d);z-index:150000}.ring{position:absolute;border-radius:50%;border:4px solid #ffe14d;pointer-events:none;animation:ring .5s ease-out forwards;z-index:300000}@keyframes ring{0%{transform:scale(.3);opacity:.9}to{transform:scale(2.4);opacity:0}}#confetti{position:absolute;inset:0;pointer-events:none;z-index:50}#win{position:absolute;inset:0;display:none;place-items:center;background:#143c1e57;backdrop-filter:blur(2px);z-index:60}#win.show{display:grid}.wincard{background:var(--card);border-radius:26px;padding:22px 26px 24px;text-align:center;box-shadow:0 12px #00000026;max-width:min(86vw,360px);animation:pop .4s cubic-bezier(.2,1.4,.5,1)}@keyframes pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.wincard h2{margin:6px 0 2px;font-size:25px;color:#2c6b3a}.wincard p{margin:0 0 16px;font-weight:500;color:#3c6b48}button.play{font-family:inherit;font-weight:700;font-size:19px;color:#fff;background:#33b14a;border:0;border-radius:16px;padding:12px 26px;box-shadow:0 5px #25893a;cursor:pointer}button.play:active{transform:translateY(3px);box-shadow:0 2px #25893a}@media(prefers-reduced-motion:reduce){.critter.hint .body,.wincard{animation:none}}
