*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:#b8956a;font-family:system-ui,-apple-system,sans-serif;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}@keyframes acacia-sway{0%,to{transform:translate(-50%) rotate(0)}50%{transform:translate(-50%) rotate(1.5deg)}}@keyframes grass-rustle{0%,to{transform:translate(-50%) scaleX(1)}25%{transform:translate(-50%) scaleX(1.04) skew(-2deg)}75%{transform:translate(-50%) scaleX(.97) skew(1.5deg)}}@keyframes palm-wave{0%,to{transform:translate(-50%) rotate(0)}30%{transform:translate(-50%) rotate(2deg)}70%{transform:translate(-50%) rotate(-1.5deg)}}@keyframes flower-bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-3px)}}@keyframes vine-sway{0%,to{transform:translate(-50%) rotate(0)}50%{transform:translate(-50%) rotate(2.5deg)}}@keyframes fern-sway{0%,to{transform:translate(-50%) rotate(0)}50%{transform:translate(-50%) rotate(-2deg)}}@keyframes scenery-shake{0%{transform:translate(-50%) rotate(0)}15%{transform:translate(-50%) rotate(-4deg)}30%{transform:translate(-50%) rotate(3deg)}45%{transform:translate(-50%) rotate(-2.5deg)}60%{transform:translate(-50%) rotate(1.5deg)}75%{transform:translate(-50%) rotate(-1deg)}to{transform:translate(-50%) rotate(0)}}@keyframes scenery-bounce{0%{transform:translate(-50%) scale(1)}20%{transform:translate(-50%) scale(.9,1.1)}40%{transform:translate(-50%,-6px) scale(1.05,.95)}60%{transform:translate(-50%) scale(.97,1.03)}80%{transform:translate(-50%,-2px) scale(1.01,.99)}to{transform:translate(-50%) scale(1)}}@keyframes scenery-wiggle{0%,to{transform:translate(-50%) rotate(0)}20%{transform:translate(-50%) rotate(-1deg)}40%{transform:translate(-50%) rotate(.8deg)}60%{transform:translate(-50%) rotate(-.5deg)}80%{transform:translate(-50%) rotate(.3deg)}}@keyframes dust-mote-drift{0%{transform:translate(0);opacity:0}10%{opacity:.6}90%{opacity:.5}to{transform:translate(40px,-60px);opacity:0}}@keyframes heat-shimmer{0%,to{transform:scaleY(1) translateY(0)}25%{transform:scaleY(1.003) translateY(-1px)}50%{transform:scaleY(.997) translateY(1px)}75%{transform:scaleY(1.002) translateY(-.5px)}}@keyframes firefly-glow{0%,to{opacity:0;transform:translate(0) scale(.5)}20%{opacity:.9;transform:translate(5px,-3px) scale(1)}50%{opacity:.6;transform:translate(-3px,-8px) scale(.8)}80%{opacity:.8;transform:translate(8px,-5px) scale(1.1)}}@keyframes mist-drift{0%{transform:translate(-100%);opacity:0}15%{opacity:.15}85%{opacity:.12}to{transform:translate(100vw);opacity:0}}@keyframes snowflake-fall{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.5}to{transform:translateY(100vh) translate(20px) rotate(360deg);opacity:0}}@keyframes wind-streak{0%{transform:translate(-100%);opacity:0}10%{opacity:.3}90%{opacity:.2}to{transform:translate(100vw);opacity:0}}@keyframes speech-bubble-appear{0%{transform:translate(-50%,-100%) scale(0);opacity:0}60%{transform:translate(-50%,-100%) scale(1.15);opacity:1}to{transform:translate(-50%,-100%) scale(1);opacity:1}}@keyframes speech-bubble-disappear{0%{transform:translate(-50%,-100%) scale(1);opacity:1}to{transform:translate(-50%,-120%) scale(.5);opacity:0}}@keyframes tap-reaction-float{0%{transform:translate(-50%,-100%) scale(.5);opacity:0}20%{transform:translate(-50%,-110%) scale(1.1);opacity:1}to{transform:translate(-50%,-180%) scale(.6);opacity:0}}@keyframes bird-wing-flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.6)}}@keyframes flock-scatter{0%{transform:translate(0)}to{transform:translate(var(--scatter-x, 30px),var(--scatter-y, -20px))}}@keyframes node-intro-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(0) translateY(20px)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.1) translateY(-2px)}to{opacity:1;transform:translate(-50%,-50%) scale(1) translateY(0)}}@keyframes locked-node-shake{0%{transform:translate(-50%,-50%) rotate(0)}15%{transform:translate(-50%,-50%) rotate(-6deg)}30%{transform:translate(-50%,-50%) rotate(5deg)}45%{transform:translate(-50%,-50%) rotate(-4deg)}60%{transform:translate(-50%,-50%) rotate(3deg)}75%{transform:translate(-50%,-50%) rotate(-1.5deg)}to{transform:translate(-50%,-50%) rotate(0)}}@keyframes lock-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
