@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&family=Crimson+Text:wght@400;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700;800&display=swap");@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&display=swap");:root{--primary-color:#7c021d;--primary-dark-color:#5e0118;--primary-light-color:#fefcf3;--secondary-color:#fbbf24;--secondary-light-color:#fef3c7;--secondary-light-color-hover:hsla(48,96%,89%,0.1);--secondary-dark-color:#92400e;--accent-color:#d97706;--white-color:#ffffff;--black-color:#000000;--background-color:#fdf6e3;--foreground-color:#2c1a12;--color-linear-gradient:linear-gradient(135deg,#fef7ed,#fed7aa);--color-linear-gradient-dark:linear-gradient(135deg,#7c021d,#7c021d 50%,#580000);--color-linear-gradient-primary:linear-gradient(135deg,#a0334a,#7c021d);--color-linear-gradient-transparent-primary:linear-gradient(90deg,transparent,#7c021d,transparent);--color-linear-gradient-transparent-accent:linear-gradient(90deg,transparent,#d97706,transparent);--font-family-header:"Playfair Display",serif;--font-family-crimson:"Crimson Text",serif;--font-family-cormorant:"Cormorant Garamond",serif;--font-family-eb-garamond:"EB Garamond",serif;--font-family-body:var(--font-family-crimson);--font-size-page-header:clamp(28px,6vw,40px);--font-size-section-header:clamp(22px,5vw,36px);--font-size-body:clamp(18px,4.8vw,20px);--font-size-card-title:clamp(18px,4vw,20px);--font-size-card-body:clamp(18px,3vw,18px);--font-size-card-meta:clamp(16px,2.5vw,16px);--font-size-category-card:clamp(16px,2.5vw,20px);--font-size-chat:clamp(16px,3vw,18px);--font-size-button:18px;--font-size-badge:12px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--line-height-header:1.2;--line-height-section:1.3;--line-height-body:1.5;--line-height-meta:1.4;--color-heading:var(--primary-color);--color-text:var(--primary-color);--color-foreground-primary-light:var(--primary-light-color);--color-foreground-accent:var(--accent-color);--color-input-foreground:var(--foreground-color);--color-foreground-white:var(--white-color);--color-background-primary-light:var(--primary-light-color);--color-background-light:var(--secondary-light-color);--color-background-gradient:var(--color-linear-gradient);--color-background-gradient-dark:var(--color-linear-gradient-dark);--color-background-gradient-primary:var(--color-linear-gradient-primary);--color-background-accent:var(--accent-color);--color-background-card:var(--primary-light-color);--color-background-primary-dark:var(--primary-dark-color);--color-input-background:var(--background-color);--color-decorative-line-primary:var(
    --color-linear-gradient-transparent-primary
  );--color-decorative-line-accent:var(
    --color-linear-gradient-transparent-accent
  );--shadow-card:0 2px 8px rgba(0,0,0,0.08);--shadow-card-hover:0 8px 25px rgba(0,0,0,0.12);--color-border-secondary:var(--secondary-color);--color-focus-border:var(--accent-color);--color-button-text-light:var(--primary-light-color);--color-button-text-dark:var(--primary-color);--color-button-background:var(--primary-color);--color-button-background-hover:var(--primary-dark-color);--color-button-border:var(--secondary-color);--color-button-focus:var(--accent-color);--radius-small:0.25rem;--radius-medium:0.375rem;--radius-large:0.5rem;--radius-xl:0.75rem;--radius-round:9999px;--spacing-xxs:0.25rem;--spacing-small:0.5rem;--spacing-small-nudge:0.875rem;--spacing-medium:1rem;--spacing-large:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--spacing-xxxl:4rem;--translate-y-2:0.125rem;--icon-size-small:0.875rem;--icon-size-medium:1rem;--icon-size-large:1.25rem;--icon-size-xl:1.5rem;--icon-size-xxl:2rem;--icon-size-xxxl:2.5rem;--icon-size-xxxxl:3rem;--transition-duration:0.3s;--transition-timing:cubic-bezier(0.4,0,0.2,1)}.page-header{font-size:var(--font-size-page-header);line-height:var(--line-height-header)}.auth-header,.page-header,.section-header{font-family:var(--font-family-header);font-weight:var(--font-weight-regular);color:var(--color-heading);letter-spacing:.5px}.auth-header,.section-header{font-size:var(--font-size-section-header);line-height:var(--line-height-section)}.auth-card-title,.card-title,.recipe-form-title{font-family:var(--font-family-header);font-size:var(--font-size-card-title);font-weight:var(--font-weight-medium);line-height:var(--line-height-section);color:var(--color-heading);letter-spacing:.5px}.card-body{font-size:var(--font-size-card-body);line-height:var(--line-height-body)}.card-body,.card-meta{font-family:var(--font-family-body);font-weight:var(--font-weight-regular)}.card-meta{font-size:var(--font-size-card-meta);line-height:var(--line-height-meta)}.category-card{font-family:var(--font-family-header);font-size:var(--font-size-category-card);line-height:var(--line-height-section)}.category-card,.chat-text{font-weight:var(--font-weight-regular)}.chat-text{font-family:var(--font-family-body);font-size:var(--font-size-chat);line-height:var(--line-height-body)}.signin-title{font-family:var(--font-family-header);font-size:var(--font-size-section-header);font-weight:var(--font-weight-regular);line-height:var(--line-height-header)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{font-family:var(--font-family-body);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);color:var(--foreground-color);background:var(--color-background-gradient);background-size:cover;background-position:50%;background-attachment:fixed;background-repeat:no-repeat;min-height:100vh;position:relative}a{color:inherit;text-decoration:none}input[type=search]::-webkit-search-clear-button{display:none}input[type=search]::-ms-clear{display:none}input,textarea{font-size:var(--font-size-button)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-color-scheme:dark){html{color-scheme:dark}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}main{position:relative;width:100%;min-height:100vh}@media (max-width:768px){html{scroll-behavior:smooth}body{-webkit-overflow-scrolling:touch}main{overflow-x:hidden}[role=button],a[href],button,input[type=button],input[type=reset],input[type=submit]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.glass-morphism{border:1px solid rgba(251,191,36,.2)}.glass-morphism,.glass-morphism-bottom{background:rgba(254,252,243,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.glass-morphism-bottom{border-bottom:1px solid rgba(251,191,36,.2)}.ai-chef-button_chefButton__vKMzU{position:fixed;bottom:20px;right:30px;border-radius:50%;width:70px;height:70px;border:2px solid var(--primary-color);cursor:pointer;z-index:1000;box-shadow:0 4px 12px rgba(139,69,19,.3);transition:all .3s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ai-chef-button_chefButton__vKMzU:active,.ai-chef-button_chefButton__vKMzU:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(139,69,19,.4)}.ai-chef-button_chefButton__vKMzU:active{transform:translateY(-1px) scale(.98);transition:transform .05s ease}.ai-chef-button_chefButton__vKMzU img{width:100%;height:100%;object-fit:cover;border-radius:50%}.ai-chef-button_chefButton__vKMzU .ai-chef-button_chatIndicator__68Wzo{position:absolute;top:-24px;right:-12px;background:#ef4444;color:white;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;border:3px solid white;animation:ai-chef-button_pulse__oJUVf 2s infinite;box-shadow:0 2px 8px rgba(0,0,0,.2)}@keyframes ai-chef-button_pulse__oJUVf{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}.ai-chef-message_messageContainer__s0pr3{display:flex;justify-content:flex-end;margin-bottom:.75rem}.ai-chef-message_messageContainer__s0pr3.ai-chef-message_ai__CWJtX{justify-content:flex-start}.ai-chef-message_messageBubble__Z_hy_{padding:.75rem 1rem;border-radius:var(--radius-large);word-wrap:break-word}.ai-chef-message_messageBubble__Z_hy_.ai-chef-message_user__ASyRn{background:linear-gradient(135deg,#d97706,#92400e);color:white;border:1px solid #78350f;box-shadow:0 2px 8px rgba(139,69,19,.2)}.ai-chef-message_messageBubble__Z_hy_.ai-chef-message_ai__CWJtX{background:linear-gradient(135deg,#fefcf3,#fef7ed);color:#78350f;border:2px solid #fbbf24;box-shadow:0 2px 8px rgba(251,191,36,.2)}.ai-chef-message_paragraph__QZKGF{margin:.5rem 0}.ai-chef-message_paragraph__QZKGF:first-child{margin-top:0}.ai-chef-message_paragraph__QZKGF:last-child{margin-bottom:0}.ai-chef-message_heading__6Krdc{margin:1rem 0 .5rem;font-weight:600;color:var(--primary-color)}.ai-chef-message_heading__6Krdc:first-child{margin-top:0}.ai-chef-message_list__F944p{margin:.5rem 0;padding-left:1.5rem}.ai-chef-message_listItem__ERQuX{margin:.25rem 0}.ai-chef-message_codeBlock__a1_2r{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem;margin:.5rem 0;overflow-x:auto;font-size:.85rem}.ai-chef-message_inlineCode__NKeL1{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:var(--radius-small);padding:.125rem .25rem;font-size:.85rem;color:#dc2626}.ai-chef-message_blockquote__jdou6{border-left:4px solid #fbbf24;margin:.5rem 0;padding-left:1rem;font-style:italic;color:#6b7280}.ai-chef-message_strong__3a8pH{font-weight:600;color:var(--primary-color)}.ai-chef-message_emphasis__ip1jq{font-style:italic}.ai-chef-message_typingCursor__kHX7M{display:inline-block;width:2px;height:1.2em;background-color:var(--primary-color);margin-left:2px;animation:ai-chef-message_blink__yygin 1s infinite;vertical-align:middle}@keyframes ai-chef-message_blink__yygin{0%,50%{opacity:1}51%,to{opacity:0}}