[x-cloak]{display:none!important}
@keyframes sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.tree-sway{animation:sway 4s ease-in-out infinite}
@keyframes grow{0%{transform:scale(.05);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.tree-grow{animation:grow 1.6s cubic-bezier(.2,.9,.3,1.2) both;transform-origin:50% 100%}
@keyframes floaty{0%{transform:translateX(-120px)}100%{transform:translateX(110vw)}}
.cloud{position:absolute;animation:floaty linear infinite;opacity:.85;pointer-events:none}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.bob{animation:bob 3s ease-in-out infinite}
@keyframes pour{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(-28deg)}}
.pour{animation:pour 2.5s ease-in-out infinite;transform-origin:70% 70%}
@keyframes drop{0%{transform:translateY(0);opacity:1}100%{transform:translateY(30px);opacity:0}}
.drop{animation:drop 1.2s linear infinite}
.tree-card:hover svg{filter:drop-shadow(0 6px 10px rgba(59,35,20,.25))}
.font-fun{font-family:'Fredoka',system-ui,sans-serif}
.forest-bg{background:linear-gradient(#bfe6ff 0%,#e6f6ff 45%,#cdeaa8 46%,#9ccc65 100%)}
.badge-locked{filter:grayscale(1);opacity:.45}
.chat-scroll{scroll-behavior:smooth}
