*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}input,textarea{-webkit-user-select:text;user-select:text}:root{--forest:#4a7c59;--forest-light:#4a7c5914;--forest-dim:#4a7c591f;--forest-glow:#4a7c5940;--lichen:#7a8a2e;--wheat:#a38958;--bark:#2d2418;--linen:#faf7f2;--stone:#8a7e6b;--tomato:#c0392b;--amber:#d4860b;--bg-primary:#faf7f2;--bg-card:#fff;--bg-card-hover:#f5f0e8;--accent:#4a7c59;--accent-secondary:#7a8a2e;--accent-dim:#4a7c5914;--accent-glow:#4a7c5940;--text-primary:#5a3e28;--text-muted:#7d6d5b;--card-border:1px solid #4a7c5914;--card-radius:16px;--tab-bg:#fff;--tab-border:#4a7c591a;--input-bg:#4a7c590a;--input-border:#4a7c592e;--overlay-bg:#2d241814;--tooltip-bg:#fff;--fresh:#5a8a70;--good:#7a8c48;--expiring-soon:#c4956a;--expiring:#b06050;--expired:#8a4040;--wgrain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27320%27%20height%3D%27320%27%3E%3Cdefs%3E%3Cpattern%20id%3D%27p%27%20width%3D%277%27%20height%3D%277%27%20patternUnits%3D%27userSpaceOnUse%27%3E%3Crect%20width%3D%277%27%20height%3D%277%27%20fill%3D%27%23808080%27%2F%3E%3Crect%20width%3D%277%27%20height%3D%271.4%27%20fill%3D%27%23bdbdbd%27%2F%3E%3Crect%20y%3D%273%27%20width%3D%277%27%20height%3D%271.1%27%20fill%3D%27%234f4f4f%27%2F%3E%3Crect%20y%3D%275%27%20width%3D%277%27%20height%3D%270.7%27%20fill%3D%27%238c8c8c%27%2F%3E%3C%2Fpattern%3E%3Cfilter%20id%3D%27warp%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.012%200.022%27%20numOctaves%3D%273%27%20seed%3D%279%27%20result%3D%27n%27%2F%3E%3CfeDisplacementMap%20in%3D%27SourceGraphic%27%20in2%3D%27n%27%20scale%3D%2722%27%20xChannelSelector%3D%27R%27%20yChannelSelector%3D%27G%27%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20width%3D%27320%27%20height%3D%27320%27%20fill%3D%27url(%23p)%27%20filter%3D%27url(%23warp)%27%2F%3E%3C%2Fsvg%3E");--wgrain-size:320px 320px;--wood-blend:multiply;--wood-op:.14}[data-theme=dark]{--bg-primary:#1a1612;--bg-card:#242018;--bg-card-hover:#2c2820;--text-primary:#e8ddd0;--text-muted:#8d8170;--card-border:1px solid #4a7c5924;--tab-bg:#1e1b17;--tab-border:#4a7c5924;--input-bg:#4a7c5912;--input-border:#4a7c5938;--overlay-bg:#00000059;--tooltip-bg:#2c2820;--accent-dim:#4a7c5924;--wood-blend:soft-light;--wood-op:.5}html,body,#root{overscroll-behavior:none;width:100%;height:100%}@keyframes kbPreviewFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;isolation:isolate;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);font-family:Cormorant Garamond,serif;overflow:hidden}body:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:multiply;opacity:.13;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27140%27%20height%3D%27140%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27140%27%20height%3D%27140%27%20filter%3D%27url\(%23n\)%27%2F%3E%3C%2Fsvg%3E);background-repeat:repeat;background-size:140px 140px;position:fixed;inset:0}[data-theme=dark] body:before{mix-blend-mode:soft-light;opacity:.2}@media (width>=768px){html{background:#1a1612}body{background:var(--bg-primary)}}h1,h2,h3,h4{letter-spacing:.01em;font-family:Cormorant Garamond,serif}.mono{font-family:DM Mono,monospace}.serif{font-family:Cormorant Garamond,serif}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:2px}@keyframes avoDrift{0%{transform:translate(0)rotate(0)}20%{transform:translate(2px,-5px)rotate(.5deg)}40%{transform:translate(-2px,-3px)rotate(-.7deg)}60%{transform:translate(1px,-7px)rotate(.3deg)}80%{transform:translate(-1px,-2px)rotate(-.4deg)}to{transform:translate(0)rotate(0)}}@keyframes avoPulseGlow{0%,to{filter:drop-shadow(0 0 6px #4a7c5926)}50%{filter:drop-shadow(0 0 12px #4a7c594d)}}.avo-drift{animation:5s ease-in-out infinite avoDrift,3.5s ease-in-out infinite avoPulseGlow}@keyframes avoSparkle{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.3)}}.avo-sparkle{animation:2.5s ease-in-out infinite avoSparkle}.avo-sparkle-1{animation-delay:0s}.avo-sparkle-2{animation-delay:.7s}.avo-sparkle-3{animation-delay:1.4s}@keyframes avoBounce{0%{transform:translateY(0)scale(1)}30%{transform:translateY(-8px)scale(1.05)}50%{transform:translateY(-12px)scale(1.08)}70%{transform:translateY(-4px)scale(1.03)}to{transform:translateY(0)scale(1)}}@keyframes avoWiggle{0%{transform:rotate(0)scale(1)}15%{transform:rotate(-10deg)scale(1.06)}30%{transform:rotate(8deg)scale(1.04)}45%{transform:rotate(-6deg)scale(1.02)}60%{transform:rotate(4deg)scale(1.01)}75%{transform:rotate(-2deg)scale(1)}to{transform:rotate(0)scale(1)}}@keyframes avoSpin{0%{transform:rotate(0)scale(1)}20%{transform:rotate(120deg)scale(1.12)}50%{transform:rotate(360deg)scale(1.15)}70%{transform:rotate(400deg)scale(1.08)}85%{transform:rotate(370deg)scale(1.02)}to{transform:rotate(360deg)scale(1)}}.avo-bounce-react{animation:.5s cubic-bezier(.36,.07,.19,.97) both avoBounce,3.5s ease-in-out infinite avoPulseGlow!important}.avo-wiggle-react{animation:.7s cubic-bezier(.36,.07,.19,.97) both avoWiggle,3.5s ease-in-out infinite avoPulseGlow!important}.avo-spin-react{animation:1s cubic-bezier(.22,1,.36,1) both avoSpin,3.5s ease-in-out infinite avoPulseGlow!important}.avo-shake{animation:.6s both avoShake!important}@keyframes avoShake{0%,to{transform:translate(0)}10%{transform:translate(-4px)rotate(-2deg)}20%{transform:translate(4px)rotate(2deg)}30%{transform:translate(-5px)rotate(-3deg)}40%{transform:translate(5px)rotate(3deg)}50%{transform:translate(-6px)rotate(-2deg)}60%{transform:translate(6px)rotate(2deg)}70%{transform:translate(-4px)rotate(-1deg)}80%{transform:translate(4px)rotate(1deg)}90%{transform:translate(-2px)}}.avo-smash{animation:.25s cubic-bezier(.7,0,1,.5) both avoSmash!important}@keyframes avoSmash{0%{opacity:1;transform:scale(1)}20%{transform:scale(.85,1.2)}50%{transform:scale(1.4,.5)}75%{opacity:.9;transform:scale(1.8,.15)}to{opacity:0;transform:scale(2.2,.02)}}@keyframes tipBubbleIn{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.avo-tip-bubble{animation:.3s cubic-bezier(.34,1.56,.64,1) both tipBubbleIn}@keyframes buddyWalk{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(-3deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-3px)rotate(3deg)}}@keyframes buddyIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes buddyDance{0%,to{transform:translateY(0)rotate(0)scale(1)}15%{transform:translateY(-6px)rotate(-8deg)scale(1.05)}30%{transform:translateY(0)rotate(6deg)scale(1)}45%{transform:translateY(-8px)rotate(-6deg)scale(1.08)}60%{transform:translateY(0)rotate(8deg)scale(1)}75%{transform:translateY(-4px)rotate(-4deg)scale(1.03)}}@keyframes buddyWave{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-2px)rotate(-3deg)}50%{transform:translateY(0)rotate(2deg)}75%{transform:translateY(-2px)rotate(-2deg)}}@keyframes handWave{0%{transform:rotate(0)}15%{transform:rotate(-25deg)}30%{transform:rotate(15deg)}45%{transform:rotate(-20deg)}60%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}to{transform:rotate(0)}}@keyframes buddyFall{0%{transform:rotate(0)translateY(0)}30%{transform:rotate(30deg)translateY(0)}60%{transform:rotate(60deg)translateY(5px)}to{transform:rotate(90deg)translateY(10px)}}@keyframes buddyGetUp{0%{transform:rotate(90deg)translateY(10px)}40%{transform:rotate(45deg)translateY(5px)}70%{transform:rotate(-10deg)translateY(-3px)}to{transform:rotate(0)translateY(0)}}@keyframes sleepZzz{0%{opacity:0;transform:translateY(0)scale(.7)}40%{opacity:1;transform:translateY(-6px)scale(1)}80%{opacity:.3;transform:translateY(-14px)scale(1.1)}to{opacity:0;transform:translateY(-18px)scale(.8)}}.avo-buddy-walk{animation:.5s ease-in-out infinite buddyWalk}.avo-buddy-idle{animation:2s ease-in-out infinite buddyIdle}.avo-buddy-dance{animation:.8s ease-in-out infinite buddyDance}.avo-buddy-wave{animation:.6s ease-in-out infinite buddyWave}.avo-buddy-fall{animation:.4s ease-in both buddyFall}.avo-buddy-getup{animation:.6s cubic-bezier(.34,1.56,.64,1) both buddyGetUp}.avo-hand-wave{animation:.8s ease-in-out infinite handWave}.sleep-zzz{animation:2s ease-in-out infinite sleepZzz}@keyframes grassSway{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}50%{transform:rotate(0)}75%{transform:rotate(3deg)}}@keyframes grassSpawn{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.grass-spawn{animation:.5s cubic-bezier(.34,1.56,.64,1) both grassSpawn}.grass-blade{transform-origin:bottom}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpFade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}.slide-up-fade{pointer-events:none;opacity:1!important;animation:.28s ease-out forwards slideUpFade!important}@keyframes slipOut{0%{opacity:0;transform:translate(-10px)scale(.86)}to{opacity:1;transform:translate(0)scale(1)}}.slip-out-pill{animation:.2s cubic-bezier(.25,.46,.45,.94) both slipOut}.slip-out-pill-1{animation-delay:0s}.slip-out-pill-2{animation-delay:40ms}.slip-out-pill-3{animation-delay:80ms}.slip-out-pill-4{animation-delay:.12s}.slip-out-pill-5{animation-delay:.16s}.slip-out-pill-6{animation-delay:.2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes tabPop{0%{transform:scaleY(1)}50%{transform:scaleY(1.8)}to{transform:scaleY(1)}}.screen-enter{animation:.22s ease-out both fadeIn}.card-enter{opacity:0;animation:.38s ease-out both fadeSlideUp}.stagger-1{animation-delay:40ms}.stagger-2{animation-delay:90ms}.stagger-3{animation-delay:.14s}.stagger-4{animation-delay:.19s}.stagger-5{animation-delay:.24s}@keyframes sproutGrow{0%{transform:scale(0)}to{transform:scale(1)}}.tab-sprout{transform-origin:bottom;animation:.22s cubic-bezier(.34,1.56,.64,1) both sproutGrow;display:flex}@keyframes biteOut{0%{opacity:1;transform:none}28%{transform:scale(.97)rotate(-.6deg);-webkit-mask-image:radial-gradient(circle at 96% 30%,#0000 13px,#000 14px);mask-image:radial-gradient(circle at 96% 30%,#0000 13px,#000 14px)}60%{transform:scale(.92)rotate(.7deg);-webkit-mask-image:radial-gradient(circle at 92% 42%,#0000 26px,#000 27px);mask-image:radial-gradient(circle at 92% 42%,#0000 26px,#000 27px)}to{opacity:0;transform:translate(26px)scale(.55);-webkit-mask-image:radial-gradient(circle at 92% 42%,#0000 34px,#000 35px);mask-image:radial-gradient(circle at 92% 42%,#0000 34px,#000 35px)}}.bite-out{animation:.43s ease-in forwards biteOut}.ruled-card{background-image:repeating-linear-gradient(#0000 0 27px,#6b5b3c1a 27px 28px)}[data-theme=dark] .ruled-card{background-image:repeating-linear-gradient(#0000 0 27px,#e6e1c80f 27px 28px)}@media (prefers-reduced-motion:reduce){.tab-sprout{animation:none}.bite-out{opacity:0;animation:none}}.stagger-6{animation-delay:.29s}.btn-solid{transition:all .2s cubic-bezier(.34,1.56,.64,1)!important}.btn-solid:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 6px 24px #4a7c5933}.btn-solid:active:not(:disabled){filter:brightness(.95);box-shadow:none;transform:translateY(0)scale(.96)}.btn-solid:disabled{cursor:not-allowed}.btn-outline{transition:all .18s!important}.btn-outline:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4a7c5914;background:#4a7c590f!important}.btn-outline:active:not(:disabled){box-shadow:none;transform:scale(.96)}.btn-toggle{transition:all .18s!important}.btn-toggle:hover:not(:disabled){border-color:#4a7c5966!important}.btn-toggle:active:not(:disabled){transform:scale(.95)}.btn-pill{transition:all .18s!important}.btn-pill:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4a7c5914;background:#4a7c590f!important}.btn-pill:active:not(:disabled){box-shadow:none;transform:scale(.94)}.btn-icon{transition:all .2s cubic-bezier(.34,1.56,.64,1)!important}.btn-icon:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 16px #4a7c5926}.btn-icon:active:not(:disabled){box-shadow:none;transform:scale(.92)}.btn-icon:disabled{cursor:not-allowed}.btn-solid,.wood-btn,.btn-pill,.btn-toggle,.btn-icon,.btn-outline{isolation:isolate;position:relative}.btn-tab{transition:color .2s,transform .15s!important}.btn-tab:hover{opacity:.85}.btn-tab:active{transform:scale(.88)!important}.tab-dot{background:var(--accent);border-radius:50%;width:4px;height:4px;margin:0 auto;animation:.3s cubic-bezier(.34,1.56,.64,1) both tabPop}.card-component{border-radius:var(--card-radius);isolation:isolate;transition:box-shadow .2s;position:relative;box-shadow:0 2px 8px #2d24180a,0 0 0 1px #4a7c590d}.card-component:hover{box-shadow:0 4px 16px #2d24180f,0 0 0 1px #4a7c5914}.recharts-tooltip-wrapper{outline:none!important}.recharts-default-tooltip{background:var(--tooltip-bg)!important;background-color:var(--tooltip-bg)!important;border:var(--card-border)!important;box-shadow:0 8px 32px var(--overlay-bg)!important;color:var(--text-primary)!important;border-radius:10px!important}.recharts-tooltip-label{color:var(--text-muted)!important}.recharts-tooltip-item{color:var(--accent)!important}.recharts-tooltip-item-name{color:var(--text-muted)!important}.recharts-tooltip-cursor{fill:#0000!important;stroke:none!important;opacity:0!important}.onboarding-scroll{-ms-overflow-style:none;scrollbar-width:none;overflow-y:auto}.onboarding-scroll::-webkit-scrollbar{display:none}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0,0)}}@keyframes slideOutRight{0%{transform:translate(0,0)}to{transform:translate(100%)}}.settings-screen{will-change:transform;backface-visibility:hidden;transform:translate(100%)}.settings-enter{animation:.32s cubic-bezier(.22,1,.36,1) forwards slideInRight}.settings-exit{animation:.28s cubic-bezier(.4,0,1,1) forwards slideOutRight}.theme-toggle{background:var(--accent-dim);border:1px solid var(--accent);cursor:pointer;border-radius:14px;flex-shrink:0;width:52px;height:28px;transition:background .3s,border-color .3s;position:relative}.theme-toggle:after{content:"";background:var(--accent);border-radius:50%;width:20px;height:20px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px}.theme-toggle.active:after{transform:translate(24px)}@media (width<=380px){.card-enter{animation-duration:.28s}}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a7c59' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:32px!important}@keyframes freshnessGlow{0%,to{box-shadow:0 0 #c0392b00}50%{box-shadow:0 0 8px #c0392b26}}
