@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Nunito:wght@400;600;700;800;900&display=swap";html,body{-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#fdf8f5;height:100%;margin:0;padding:0;font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,[role=button]{-webkit-user-select:none;user-select:none;touch-action:manipulation}#root{height:100%;min-height:100dvh}:root,.theme-light{--bg:#fdf8f5;--card:#fff;--card-border:#4a403a12;--fg:#4a403a;--fg-muted:#8a817c;--border:#4a403a29;--track:#4a403a14;--c-cream-2:#f5eee6;--c-periwinkle:#b1b2ff;--c-periwinkle-soft:#e4e5ff;--c-periwinkle-ink:#4a4db7;--c-sage:#c1e1c1;--c-sage-soft:#e2f1e2;--c-sage-ink:#3f6e3f;--c-lilac:#cdb4db;--c-lilac-soft:#ede0f3;--c-lilac-ink:#6b4782;--c-peach:#ffc8a2;--c-peach-soft:#ffe6d2;--c-peach-ink:#a65e2e;--c-matcha:#d0f0c0;--c-matcha-ink:#3f6e3f;--mono:"DM Mono", ui-monospace, monospace;--card-pad:14px;--bottom-nav-h:68px}@keyframes mealFlash{0%{opacity:0;transform:translate(-100%)}20%{opacity:1}to{opacity:0;transform:translate(100%)}}@keyframes cardSwap{0%{filter:brightness();transform:scale(1)}22%{filter:brightness(1.07);transform:scale(.94)}55%{transform:scale(1.036)}78%{transform:scale(.99)}to{filter:brightness();transform:scale(1)}}@keyframes zapRing{0%{opacity:.85;transform:scale(.7)}to{opacity:0;transform:scale(2.4)}}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes dotBounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:.9;transform:translateY(-4px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes aiPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes bubblePanelIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes planCardPop{0%{opacity:0;transform:scale(.8)translateY(10px)}55%{opacity:1;transform:scale(1.04)}78%{transform:scale(.98)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shimmerFlow{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes detailSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes modalUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes contextWipeOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes contextWipeIn{0%{opacity:0;transform:translateY(-10px)scale(.97)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes generatingPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.18)}}@keyframes routeIn{0%{opacity:0;transform:translateY(7px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes navPillIn{0%{opacity:0;transform:scale(.55)}65%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes liftUp{0%{transform:translateY(0)scale(1);box-shadow:0 2px 8px #4a403a0f}to{transform:translateY(-2px)scale(1.008);box-shadow:0 8px 28px #4a403a1f}}@keyframes pressDown{0%{transform:scale(1)}to{transform:scale(.975)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#4a403a24;border-radius:99px}::-webkit-scrollbar-track{background:0 0}
