:root{--color-text-primary: #333;--color-text-secondary: #666;--color-text-muted: #999;--color-text-disabled: #ccc;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .2);--shadow-xl: 0 4px 20px rgba(0, 0, 0, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 50%;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 22px;--transition-fast: all .15s;--transition-transform: transform .15s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:auto}#root{width:100%;height:100%;overflow:hidden}body{background:#b8956a;font-family:system-ui,-apple-system,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}div::-webkit-scrollbar{display:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@keyframes care-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes care-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.1);opacity:1}}@keyframes care-arrive{0%{transform:translate(120%);opacity:0}60%{transform:translate(-5%);opacity:1}80%{transform:translate(3%)}to{transform:translate(0);opacity:1}}@keyframes care-release{0%{transform:translate(0) scale(1);opacity:1}30%{transform:translate(-10%) scale(1.05)}to{transform:translate(120%) scale(1);opacity:0}}@keyframes care-apply-tool{0%{transform:scale(1)}30%{transform:scale(1.15)}50%{transform:scale(.95)}70%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes care-sparkle{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}@keyframes care-glow{0%{box-shadow:0 0 #ffd70066}50%{box-shadow:0 0 20px 10px #ffd70033}to{box-shadow:0 0 #ffd70000}}@keyframes care-heart-rise{0%{transform:translateY(0) scale(0);opacity:0}20%{transform:translateY(-10px) scale(1);opacity:1}to{transform:translateY(-80px) scale(.5);opacity:0}}@keyframes care-palette-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes care-gentle-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes care-transform{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.3)}to{transform:scale(1);filter:brightness(1)}}.care-tool-card.stagger-0{animation-delay:0ms}.care-tool-card.stagger-1{animation-delay:80ms}.care-tool-card.stagger-2{animation-delay:.16s}.care-tool-card.stagger-3{animation-delay:.24s}.care-tool-card.stagger-4{animation-delay:.32s}.care-tool-card.stagger-5{animation-delay:.4s}.care-nav-btn{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s ease}@media (hover: hover){.care-nav-btn:hover{transform:scale(1.1)}}.care-nav-btn:active{transform:scale(.88);box-shadow:inset 0 2px 6px #00000040,0 1px 2px #0003}.care-tool-card{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s ease}@media (hover: hover){.care-tool-card:hover{transform:scale(1.08)}}.care-tool-card:active{transform:scale(.92)!important;box-shadow:inset 0 2px 6px #0003,0 1px 2px #00000026!important}@media (prefers-reduced-motion: reduce){.care-nav-btn,.care-tool-card{transition:none}.care-nav-btn:hover,.care-nav-btn:active,.care-tool-card:hover,.care-tool-card:active{transform:none}}@keyframes habitat-walk-in{0%{transform:translate(-150%,-50%);opacity:0}20%{opacity:1}to{transform:translate(-50%,-50%)}}@keyframes habitat-fly-in{0%{transform:translate(150%,-200%) scale(.3);opacity:0}30%{opacity:1}60%{transform:translate(-30%,-80%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes habitat-swim-in{0%{transform:translate(-50%,50%) scaleY(.5);opacity:0}40%{opacity:1;transform:translate(-50%,-30%) scaleY(.8)}to{transform:translate(-50%,-50%) scaleY(1)}}@keyframes habitat-emerge{0%{transform:translate(-50%) scale(.3);opacity:0}40%{opacity:1}70%{transform:translate(-50%,-60%) scale(1.05)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes habitat-animal-idle{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-52%) scale(1.02)}}@keyframes habitat-celebration-glow{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.5)}}@keyframes habitat-sparkle{0%{opacity:0;transform:translate(-50%,-50%) scale(0) rotate(0)}50%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(180deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(360deg)}}@keyframes habitat-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.habitat-nav-btn{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s ease}@media (hover: hover){.habitat-nav-btn:hover{transform:scale(1.1)}}.habitat-nav-btn:active{transform:scale(.88);box-shadow:inset 0 2px 6px #00000040,0 1px 2px #0003}.habitat-category-tab{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s ease}@media (hover: hover){.habitat-category-tab:hover{transform:scale(1.08)}}.habitat-category-tab:active{transform:scale(.92);box-shadow:inset 0 2px 4px #0003}@media (prefers-reduced-motion: reduce){.habitat-nav-btn,.habitat-category-tab{transition:none}.habitat-nav-btn:hover,.habitat-nav-btn:active,.habitat-category-tab:hover,.habitat-category-tab:active{transform:none}}@keyframes wh-water-shimmer{0%,to{opacity:.6;transform:translate(0)}50%{opacity:.9;transform:translate(4px)}}@keyframes wh-animal-enter-walk{0%{opacity:0;transform:translate(-60px)}30%{opacity:1}to{opacity:1;transform:translate(0)}}@keyframes wh-animal-enter-fly{0%{opacity:0;transform:translate(-40px,-30px) scale(.6)}40%{opacity:1}to{opacity:1;transform:translate(0) scale(1)}}@keyframes wh-animal-enter-swim{0%{opacity:0;transform:translateY(20px)}40%{opacity:.8}to{opacity:1;transform:translateY(0)}}@keyframes wh-animal-enter-emerge{0%{opacity:0;transform:scale(.4) translateY(15px)}50%{opacity:1}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes wh-animal-enter-sneak{0%{opacity:0;transform:translate(40px) scale(.9)}60%{opacity:.7}to{opacity:1;transform:translate(0) scale(1)}}@keyframes wh-animal-leave{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(50px)}}@keyframes wh-animal-idle-drink{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes wh-animal-idle-play{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes wh-animal-idle-rest{0%,to{transform:scale(1)}50%{transform:scale(.97)}}@keyframes wh-spot-ripple{0%{transform:scale(.5);opacity:.8}to{transform:scale(2.5);opacity:0}}@keyframes wh-discovery-burst{0%{transform:scale(0);opacity:0}40%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}@keyframes wh-time-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}@keyframes wh-sky-transition{0%{opacity:0}to{opacity:1}}@keyframes wh-enhancement-place{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes wh-ripple-wave{0%{transform:scaleX(1);opacity:.4}50%{transform:scaleX(1.05);opacity:.6}to{transform:scaleX(1);opacity:.4}}@keyframes wh-firefly{0%,to{opacity:.2}50%{opacity:.9}}@keyframes wh-star-twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.wh-animal-entering.walk-in{animation:wh-animal-enter-walk 1.5s ease-out forwards}.wh-animal-entering.fly-in{animation:wh-animal-enter-fly 1.2s ease-out forwards}.wh-animal-entering.swim-in{animation:wh-animal-enter-swim 1.8s ease-out forwards}.wh-animal-entering.emerge{animation:wh-animal-enter-emerge 1s ease-out forwards}.wh-animal-entering.sneak-in{animation:wh-animal-enter-sneak 2s ease-out forwards}.wh-animal-leaving{animation:wh-animal-leave 1.2s ease-in forwards}.wh-animal-active.drinking{animation:wh-animal-idle-drink 2s ease-in-out infinite}.wh-animal-active.playing{animation:wh-animal-idle-play 1.5s ease-in-out infinite}.wh-animal-active.resting{animation:wh-animal-idle-rest 3s ease-in-out infinite}.wh-animal-active.bathing{animation:wh-animal-idle-drink 2.5s ease-in-out infinite}.wh-animal-active.hunting{animation:wh-animal-idle-rest 2s ease-in-out infinite}.wh-animal-active.grazing{animation:wh-animal-idle-drink 2.2s ease-in-out infinite}.wh-spot-ripple{position:absolute;border-radius:50%;border:3px solid rgba(255,215,120,.7);pointer-events:none;animation:wh-spot-ripple .8s ease-out forwards}.wh-discovery-badge{animation:wh-discovery-burst .6s cubic-bezier(.34,1.56,.64,1) forwards}.wh-enhancement-placed{animation:wh-enhancement-place .5s cubic-bezier(.34,1.56,.64,1) forwards}.wh-water-surface{animation:wh-ripple-wave 4s ease-in-out infinite}.wh-time-indicator{animation:wh-time-glow 3s ease-in-out infinite}.wh-night-overlay{transition:opacity 2s ease}.wh-firefly{animation:wh-firefly 2s ease-in-out infinite}.wh-star{animation:wh-star-twinkle 3s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.wh-animal-entering,.wh-animal-leaving,.wh-animal-active,.wh-spot-ripple,.wh-discovery-badge,.wh-enhancement-placed,.wh-water-surface,.wh-time-indicator,.wh-firefly,.wh-star{animation-duration:1ms!important}}@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(100dvh) 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(-4deg)}30%{transform:translate(-50%,-50%) rotate(3.5deg)}45%{transform:translate(-50%,-50%) rotate(-2.5deg)}60%{transform:translate(-50%,-50%) rotate(2deg)}75%{transform:translate(-50%,-50%) rotate(-1deg)}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:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
