@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--wood-bg: #8B5A2B;--wood-border: #5C3A18;--wood-highlight: #A67B48;--btn-green: #4CAF50;--btn-green-shadow: #2E7D32;--btn-gold: #FFC107;--btn-gold-shadow: #FF8F00;--btn-red: #EF5350;--btn-red-shadow: #C62828}html,body,#root{width:100%;height:100vh;height:100dvh;overflow:hidden;position:fixed;inset:0;overscroll-behavior:none;background:#7cb342;font-family:Fredoka,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(min-aspect-ratio:2/3){html,body{background:#33421c}#root{width:min(100vw,430px,62dvh);left:50%;right:auto;transform:translate(-50%);box-shadow:0 0 48px #0000008c}}::-webkit-scrollbar{display:none}@keyframes pulse-glow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes bobble{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-3deg)}75%{transform:translateY(-4px) rotate(3deg)}}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translate(-50%) translateY(-30px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes coin-burst{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}50%{transform:translate(-50%,-100%) scale(1.4);opacity:1;filter:brightness(1.2)}to{transform:translate(-50%,-150%) scale(1);opacity:0}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tap-ripple{0%{transform:scale(0);opacity:.8}to{transform:scale(3);opacity:0}}@keyframes level-up-pop{0%{transform:scale(.4) translateY(20px);opacity:0}60%{transform:scale(1.15) translateY(-10px);opacity:1}80%{transform:scale(.95) translateY(5px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@keyframes progress-shine{0%{transform:translate(-100%)}to{transform:translate(200%)}}.pulse-glow{animation:pulse-glow 1.8s ease-in-out infinite}.bobble{animation:bobble 2.5s ease-in-out infinite}.game-btn{border:none;border-radius:16px;font-family:Fredoka,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;position:relative;overflow:hidden;transition:transform .1s cubic-bezier(.4,0,.2,1),filter .1s}.game-btn:active{transform:scale(.92) translateY(4px);filter:brightness(.9)}.game-btn-green{background:var(--btn-green);color:#fff;box-shadow:0 6px 0 var(--btn-green-shadow),0 8px 10px #0003;text-shadow:1px 2px 0 var(--btn-green-shadow)}.game-btn-green:active{box-shadow:0 2px 0 var(--btn-green-shadow),0 3px 5px #0003}.game-btn-blue{background:#66bb6a;color:#fff;box-shadow:0 6px #1b5e20,0 8px 10px #0003;text-shadow:1px 2px 0 #1B5E20}.game-btn-blue:active{transform:translateY(4px);box-shadow:0 2px #1b5e20,0 3px 5px #0003}.game-btn-gold{background:var(--btn-gold);color:#5d3c1f;box-shadow:0 6px 0 var(--btn-gold-shadow),0 8px 10px #0003}.game-btn-gold:active{box-shadow:0 2px 0 var(--btn-gold-shadow),0 3px 5px #0003}.wood-panel{background:var(--wood-bg);border:4px solid var(--wood-border);border-radius:20px;box-shadow:inset 0 4px 0 var(--wood-highlight),0 8px 16px #0006;color:#fff3e0;text-shadow:1px 1px 0 rgba(0,0,0,.5);position:relative}.wood-panel:before{content:"";position:absolute;inset:4px;border:2px dashed rgba(255,255,255,.1);border-radius:12px;pointer-events:none}.glass-panel{background:#ffffffe6;border:4px solid #FFF;border-radius:24px;box-shadow:0 10px 30px #00000026,inset 0 -4px #0000000d}.hud-pill{background:#00000080;border:2px solid rgba(255,255,255,.3);border-radius:30px;box-shadow:0 4px 8px #0003;color:#fff;display:flex;align-items:center;font-weight:700}.progress-bar-container{background:#0000004d;border:2px solid rgba(255,255,255,.4);border-radius:20px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:16px;box-shadow:inset 0 2px #fff6,inset 0 -2px #0003;position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 55%)}.progress-bar-fill--shine:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:progress-shine 2s infinite}.card-stagger-enter{animation:fade-in .4s cubic-bezier(.2,.8,.2,1) both}@keyframes fly-coin{0%{transform:translate(-50%) scale(.6);opacity:0}15%{transform:translate(-50%,-6vh) scale(1.1);opacity:1}to{transform:translate(-50%,-48vh) scale(.55);opacity:0}}@keyframes mascot-idle{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-2deg)}}@keyframes hint-pop{0%{transform:scale(.82) translateY(6px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes harvest-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-5deg)}40%{transform:rotate(4deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(1.5deg)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes tree-fall{0%{transform:rotate(0);opacity:1}55%{transform:rotate(70deg);opacity:1}75%{transform:rotate(78deg);opacity:1}to{transform:rotate(76deg);opacity:0}}.mascot-idle{animation:mascot-idle 2.2s ease-in-out infinite}.hint-pop{animation:hint-pop .22s cubic-bezier(.2,.8,.2,1)}.harvest-shake{animation:harvest-shake .5s ease-out;transform-box:fill-box;transform-origin:bottom center}.tree-fall{animation:tree-fall .6s cubic-bezier(.55,0,.8,.4) forwards;transform-box:fill-box;transform-origin:bottom center}:root{--rail-size: clamp(30px, 5.2vh, 44px)}.rail-btn{width:var(--rail-size);height:var(--rail-size);padding:0;flex:none;border-radius:50%;border:3px solid rgba(255,255,255,.5);background:#144024b8;box-shadow:0 4px 10px #00000059,inset 0 2px #ffffff47;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:transform .18s ease-out,background .2s ease-out,border-color .2s ease-out}.rail-btn:active{transform:scale(.94)}.rail-btn:after{content:"";position:absolute;left:min(0px,calc((var(--rail-size) - 44px) / 2));right:min(0px,calc((var(--rail-size) - 44px) / 2));top:clamp(-4px,calc((var(--rail-size) - 44px) / 2),0px);bottom:clamp(-4px,calc((var(--rail-size) - 44px) / 2),0px)}.rail-btn--active{background:linear-gradient(180deg,#ffca28,#ff9800);border-color:#fff;box-shadow:0 6px 14px #0006,inset 0 2px 4px #ffffff80;transform:scale(1.06)}.dock-btn{border:none;border-radius:20px;font-family:Fredoka,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#fff;cursor:pointer;position:relative;overflow:hidden;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px #00000042,0 10px 16px #00000040,inset 0 2px #ffffff52;transition:transform .15s ease-out,filter .15s ease-out}.dock-btn:active:not(:disabled){transform:scale(.96) translateY(2px);filter:brightness(.9)}.dock-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:0 4px #00000038}.dock-btn-gold{background:linear-gradient(180deg,#ffc928,#ff8f00);color:#4a2c0c;text-shadow:0 1px 0 rgba(255,255,255,.3)}.dock-btn-green{background:linear-gradient(180deg,#4caf50,#1b5e20);text-shadow:1px 1px 0 rgba(0,0,0,.4)}@keyframes tbs-arc-l{0%{transform:translate(0) scale(.6);opacity:1}to{transform:translate(-34px,-30px) scale(1);opacity:0}}@keyframes tbs-arc-c{0%{transform:translate(0) scale(.6);opacity:1}to{transform:translateY(-42px) scale(1.1);opacity:0}}@keyframes tbs-arc-r{0%{transform:translate(0) scale(.6);opacity:1}to{transform:translate(34px,-30px) scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.pulse-glow,.bobble,.mascot-idle,.harvest-shake,.hint-pop,.progress-bar-fill--shine:after{animation:none!important}.tree-fall{animation:fade-out .25s ease-out forwards!important}[style*=fly-coin]{animation:none!important;opacity:0!important}[style*=coin-burst]{animation:fade-in .2s ease-out!important}[style*=tbs-arc]{animation:none!important;opacity:0!important}}@keyframes claim-spark{0%{transform:translate(0) scale(.4);opacity:1}70%{opacity:1}to{transform:translate(var(--dx, 0px),var(--dy, 0px)) scale(1);opacity:0}}@keyframes claim-reward-fly{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}22%{transform:translate(-50%,-50%) scale(1.25);opacity:1}45%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% - 38vw),calc(-50% - 34vh)) scale(.35);opacity:0}}@media(prefers-reduced-motion:reduce){[style*=claim-spark]{animation:none!important;opacity:0!important}[style*=claim-reward-fly]{animation:fade-in .25s ease-out!important}}
