@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg-primary:#fdfbf7;--color-bg-secondary:#f7f4ee;--color-bg-tertiary:#efe9de;--color-surface-primary:#fff;--color-surface-elevated:#fff;--color-surface-overlay:#365a4266;--color-primary:#4a7c59;--color-primary-light:#6b9b7a;--color-primary-dark:#365a42;--color-primary-subtle:#eff5f1;--color-accent:#c17f59;--color-accent-light:#d4a07d;--color-accent-dark:#9a6347;--color-accent-subtle:#fdf5f0;--color-text-primary:#2d3436;--color-text-secondary:#636e72;--color-text-tertiary:#a0a8ab;--color-text-inverse:#fff;--color-text-disabled:#cdd2d4;--color-success:#4a7c59;--color-warning:#e5a84b;--color-error:#c25b56;--color-info:#5b8fa8;--color-nutrition-calories:#c17f59;--color-nutrition-protein:#4a7c59;--color-nutrition-carbs:#e5a84b;--color-nutrition-fat:#9b7fa8;--color-nutrition-sugar:#d4707a;--color-nutrition-fiber:#6b9b7a;--color-nutrition-sodium:#5b8fa8;--color-border-light:#f0ebe0;--color-border-medium:#e0d8ca;--color-border-dark:#c9c0b0;--font-display:"DM Serif Display", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--text-5xl:48px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0px 1px 3px #2d34360a, 0px 1px 2px #2d34360f;--shadow-md:0px 4px 8px #2d34360a, 0px 2px 4px #2d34360f;--shadow-lg:0px 10px 20px #2d34360f, 0px 4px 8px #2d34360a;--shadow-xl:0px 20px 40px #2d343614, 0px 8px 16px #2d34360a;--transition-fast:.15s;--transition-normal:.3s;--transition-slow:.5s;--easing-default:cubic-bezier(.16, 1, .3, 1);--easing-bounce:cubic-bezier(.68, -.55, .265, 1.55)}[data-theme=dark],.dark{--color-bg-primary:#1c1f1e;--color-bg-secondary:#262b29;--color-bg-tertiary:#313836;--color-surface-primary:#262b29;--color-surface-elevated:#313836;--color-surface-overlay:#0009;--color-primary:#6b9b7a;--color-primary-light:#8ab897;--color-primary-dark:#4a7c59;--color-primary-subtle:#2a3b30;--color-accent:#d4a07d;--color-accent-light:#e5bea1;--color-accent-dark:#c17f59;--color-accent-subtle:#3a302a;--color-text-primary:#f5f3f0;--color-text-secondary:#b8b4ae;--color-text-tertiary:#7a7570;--color-text-inverse:#1c1f1e;--color-text-disabled:#525552;--color-success:#6b9b7a;--color-warning:#e5a84b;--color-error:#d47a76;--color-info:#7aafc4;--color-nutrition-calories:#d4a07d;--color-nutrition-protein:#6b9b7a;--color-nutrition-carbs:#e5a84b;--color-nutrition-fat:#b099bd;--color-nutrition-sugar:#e08a94;--color-nutrition-fiber:#8ab897;--color-nutrition-sodium:#7aafc4;--color-border-light:#3a403e;--color-border-medium:#4a524f;--color-border-dark:#5a635f;--shadow-sm:0px 1px 3px #0003, 0px 1px 2px #0000004d;--shadow-md:0px 4px 8px #00000040, 0px 2px 4px #0000004d;--shadow-lg:0px 10px 20px #0000004d, 0px 4px 8px #00000040;--shadow-xl:0px 20px 40px #0006, 0px 8px 16px #0000004d}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}html,body{height:100%;height:100dvh}@media (max-width:1023px){html,body{width:100%;overflow:hidden}}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.5}#root{min-height:100vh;min-height:100dvh;position:relative}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;font-weight:400;line-height:1.2}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4,h5,h6{font-family:var(--font-body);font-weight:600}code,pre{font-family:var(--font-mono)}button{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}a{color:inherit;text-decoration:none}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}ul,ol{list-style:none}img,picture,video,canvas,svg{max-width:100%;display:block}::selection{background-color:var(--color-primary-subtle);color:var(--color-primary-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-dark)}.animate-fade-in{animation:fadeIn var(--transition-normal) var(--easing-default)}.animate-slide-up{animation:slideUp var(--transition-normal) var(--easing-default)}.animate-scale-in{animation:scaleIn var(--transition-normal) var(--easing-default)}.animate-bounce-in{animation:bounceIn var(--transition-slow) var(--easing-bounce)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:639px){.hidden-mobile{display:none!important}}@media (min-width:640px){.hidden-desktop{display:none!important}}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-top{padding-top:env(safe-area-inset-top)}
