.ai-input-bar-container{position:fixed;bottom:0;left:0;right:0;z-index:40;padding:12px 16px;background:linear-gradient(180deg,transparent 0%,var(--color-background) 15%,var(--color-background) 100%);transition:all var(--transition-medium)}@media (min-width: 768px){.ai-input-bar-container{padding:var(--space-lg) var(--space-xl)}}.ai-input-bar-focused .ai-input-bar-mobile{border-color:var(--color-accent);box-shadow:0 0 0 3px #ff6b351f}.ai-input-bar-wrapper{max-width:480px;margin:0 auto}.ai-input-bar-mobile{position:relative;display:flex;align-items:center;gap:var(--space-sm);background-color:var(--color-light-warm);border-radius:var(--radius-lg);padding:8px 12px;border:1.5px solid transparent;transition:all var(--transition-fast)}.ai-input-bar-mobile .ai-input-mobile-icon{width:18px;height:18px;flex-shrink:0;color:var(--color-accent)}.ai-input-bar-mobile .ai-input-field{flex:1;min-width:0;font-size:14px;padding:8px 48px 8px 12px;min-height:auto}.ai-input-bar-mobile .ai-input-submit{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px}.ai-input-bar-mobile .ai-input-submit svg{width:16px;height:16px}.ai-input-bar{position:relative;display:flex;align-items:center}.ai-input-field{flex:1;font-family:var(--font-family);font-size:15px;font-weight:400;color:var(--color-text-primary);background:none;border:none;outline:none;padding:18px 56px 18px 20px;min-height:56px;line-height:1.5;display:flex;align-items:center;resize:none;border-radius:16px}.ai-input-field::placeholder{color:var(--color-warm-grey)}.ai-input-field:focus::placeholder{opacity:.7}.ai-input-submit{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border:none;color:#fff;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;opacity:0;animation:fadeIn .2s forwards}.ai-input-submit:hover:not(:disabled){background-color:#e85a2a;transform:translateY(-50%) scale(1.05)}.ai-input-submit:active:not(:disabled){transform:translateY(-50%) scale(.95)}.ai-input-submit:disabled{opacity:.4;cursor:not-allowed;background-color:#ccc}.ai-input-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ai-input-submit svg{width:20px;height:20px}.ai-input-bar-desktop{display:flex;align-items:center;gap:var(--space-sm);background-color:var(--color-light-warm);border-radius:var(--radius-lg);padding:6px 12px;flex:1;min-width:0;max-width:440px;height:36px;transition:all var(--transition-fast);border:1.5px solid transparent}.ai-input-bar-desktop-focused{background-color:var(--color-background);border-color:var(--color-accent);box-shadow:0 0 0 3px #ff6b351f}.ai-input-desktop-icon{width:16px;height:16px;flex-shrink:0;color:var(--color-accent)}.ai-input-desktop-field{flex:1;min-width:0;font-family:var(--font-family);font-size:14px;font-weight:400;color:var(--color-text-primary);background:none;border:none;outline:none;padding:0}.ai-input-desktop-field::placeholder{color:var(--color-warm-grey);font-size:13px}.ai-input-desktop-submit{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border:none;color:#fff;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);animation:fadeIn .15s forwards}.ai-input-desktop-submit:hover{background-color:#e85a2a}.ai-input-desktop-submit:active{transform:scale(.92)}.ai-chat-panel{position:fixed;bottom:124px;left:0;right:0;z-index:38;padding:0 16px 8px;pointer-events:none;animation:chatSlideUp .25s ease forwards}@media (min-width: 768px){.ai-chat-panel{bottom:auto;top:calc(var(--header-height-desktop) + 8px);right:var(--space-xl);left:auto;width:420px;z-index:55;padding:0}}@keyframes chatSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-chat-panel-inner{max-width:800px;margin:0 auto;background:var(--color-background);border-radius:20px;box-shadow:0 4px 16px #0000001a,0 8px 32px #0000000f;padding:16px;pointer-events:all;position:relative;max-height:55vh;display:flex;flex-direction:column}@media (min-width: 768px){.ai-chat-panel-inner{max-width:100%;max-height:60vh;border:1px solid var(--color-divider)}}.ai-chat-close{position:absolute;top:12px;right:12px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-light-warm);border:none;border-radius:50%;cursor:pointer;color:var(--color-warm-grey);transition:background var(--transition-fast);flex-shrink:0}.ai-chat-close:hover{background:var(--color-divider);color:var(--color-text-primary)}.ai-chat-messages{overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px;padding-top:4px}@media (min-width: 768px){.ai-chat-messages{min-height:220px}}.ai-chat-messages::-webkit-scrollbar{width:4px}.ai-chat-messages::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:2px}.ai-chat-bubble{display:flex;align-items:flex-start;gap:10px;max-width:85%}.ai-chat-bubble--assistant{align-self:flex-start}.ai-chat-bubble-content{font-size:14px;line-height:1.55;padding:10px 14px;border-radius:14px 14px 14px 4px;background:var(--color-light-warm);color:var(--color-text-primary)}.ai-chat-bubble-content .ai-chat-text{margin:0 0 6px;padding:0}.ai-chat-bubble-content .ai-chat-text:last-child{margin-bottom:0}.ai-chat-bubble-content .ai-chat-list{margin:4px 0 0;padding:0;list-style:none}.ai-chat-bubble-content .ai-chat-list li{margin-bottom:6px;line-height:1.5}.ai-chat-bubble-content .ai-chat-list li:last-child{margin-bottom:0}.ai-chat-link{color:var(--color-accent);text-decoration:none;font-weight:500}.ai-chat-link:hover{text-decoration:underline}.ai-chat-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}.ai-chat-avatar{width:36px;height:36px;background:var(--color-accent);color:#fff;font-size:12px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-chat-avatar-image{object-fit:cover}.ai-chat-avatar-name{font-size:9px;line-height:1.15;text-align:center;color:var(--color-warm-grey);letter-spacing:.01em;white-space:nowrap}.ai-chat-bubble--user{align-self:flex-end;flex-direction:row-reverse}.ai-chat-bubble--user p{font-size:14px;line-height:1.55;margin:0;padding:10px 14px;border-radius:14px 14px 4px;background:#1a1a1a;color:#fff}.ai-chat-typing{display:flex;align-items:center;gap:4px;padding:12px 16px;background:var(--color-light-warm);border-radius:14px 14px 14px 4px}.ai-chat-typing span{width:6px;height:6px;background:var(--color-warm-grey);border-radius:50%;animation:typingBounce 1.2s ease infinite}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}.ai-chat-followup{display:none}@media (min-width: 768px){.ai-chat-followup{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-divider)}.ai-chat-followup-input{flex:1;min-width:0;height:36px;font-size:14px;color:var(--color-text-primary);border:1px solid var(--color-divider);border-radius:10px;background:var(--color-background);padding:0 12px;outline:none}.ai-chat-followup-input::placeholder{color:var(--color-warm-grey)}.ai-chat-followup-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #ff6b351f}.ai-chat-followup-submit{width:32px;height:32px;border:none;border-radius:8px;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-fast);flex-shrink:0}.ai-chat-followup-submit:hover:not(:disabled){background:#e85a2a}.ai-chat-followup-submit:disabled{background:#ccc;cursor:not-allowed}}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}:root{--color-cream: #FFFCF8;--color-near-black: #1A1A1A;--color-warm-grey: #7A7A7A;--color-light-warm: #F0EBE5;--color-coral: #FF6B35;--color-background: var(--color-cream);--color-text-primary: var(--color-near-black);--color-text-secondary: var(--color-warm-grey);--color-divider: var(--color-light-warm);--color-accent: var(--color-coral);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-page-title-mobile: 28px;--font-size-recipe-title-mobile: 24px;--font-size-section-label: 14px;--font-size-body: 17px;--font-size-stats: 15px;--font-size-button: 16px;--font-size-page-title-desktop: 36px;--font-size-recipe-title-desktop: 32px;--font-size-body-desktop: 18px;--font-size-stats-desktop: 16px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.3;--line-height-normal: 1.5;--letter-spacing-section-label: .05em;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--header-height-mobile: 48px;--header-height-desktop: 56px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-subtle: 0 2px 8px rgba(0, 0, 0, .04);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .08);--shadow-ai-bar: 0 -4px 16px rgba(0, 0, 0, .06);--transition-fast: .15s ease;--transition-medium: .25s ease;--transition-slow: .35s ease;--breakpoint-mobile: 375px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1280px}html.dark{--color-background: #1C1C1E;--color-text-primary: #F5F0EB;--color-text-secondary: #8A8A8A;--color-divider: #2C2C2E;--color-light-warm: #2C2C2E;--shadow-subtle: 0 2px 8px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .5);--shadow-ai-bar: 0 -4px 16px rgba(0, 0, 0, .4)}@media (min-width: 768px){:root{--font-size-page-title: var(--font-size-page-title-desktop);--font-size-recipe-title: var(--font-size-recipe-title-desktop);--font-size-body: var(--font-size-body-desktop);--font-size-stats: var(--font-size-stats-desktop);--header-height: var(--header-height-desktop)}}@media (max-width: 767px){:root{--font-size-page-title: var(--font-size-page-title-mobile);--font-size-recipe-title: var(--font-size-recipe-title-mobile);--header-height: var(--header-height-mobile)}}@keyframes spin{to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;scrollbar-gutter:stable}body{font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh;padding-bottom:80px;overflow-x:hidden}@media (min-width: 768px){body{padding-bottom:0}}.global-mobile-ai{display:contents}@media (min-width: 768px){.global-mobile-ai{display:none}}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-page-title)}h2{font-size:var(--font-size-recipe-title)}p{line-height:var(--line-height-normal)}.section-label{font-size:var(--font-size-section-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-section-label);text-transform:uppercase;color:var(--color-text-secondary)}.stats-text,.meta-text{font-size:var(--font-size-stats);color:var(--color-text-secondary)}a{color:inherit;text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.7}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;transition:all var(--transition-fast)}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}button:disabled{opacity:.5;cursor:not-allowed}img{max-width:100%;height:auto;display:block}.meal-engine-page{min-height:100vh;padding-top:var(--header-height-mobile)}@media (min-width: 768px){.meal-engine-page{padding-top:var(--header-height-desktop)}}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--space-md)}@media (min-width: 768px){.container{padding:0 var(--space-xl)}}.divider{height:1px;background-color:var(--color-divider);border:none;margin:var(--space-xl) 0}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent);color:#fff;padding:var(--space-sm) var(--space-md);text-decoration:none;z-index:100}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-light-warm);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-warm-grey)}.page-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#999;margin-bottom:20px;flex-wrap:wrap}.page-breadcrumb a{color:#999;text-decoration:none;transition:color .15s ease}.page-breadcrumb a:hover{color:var(--color-text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}
