@import url(https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300;1,9..40,400&display=swap);:root{--green-50:#f0f7f1;--green-100:#d8edd9;--green-200:#b0dab3;--green-300:#7cc282;--green-400:#4ea858;--green-500:#3a8a43;--green-600:#2d6e35;--green-700:#25572c;--green-800:#1e4524;--green-900:#163419;--sand-50:#faf8f5;--sand-100:#f3efe8;--sand-200:#e8e1d5;--sand-300:#d5cab8;--sand-400:#b8a88f;--sand-500:#9a8a6e;--sand-600:#7d6e56;--sand-700:#635746;--sand-800:#4a4035;--sand-900:#342d25;--tomato:#c4402a;--turmeric:#d4a72c;--eggplant:#5c3d6e;--bg-primary:#faf8f5;--bg-card:#fff;--bg-elevated:#f3efe8;--text-primary:#342d25;--text-secondary:#7d6e56;--text-muted:#b8a88f;--border-light:#e8e1d5;--border-medium:#d5cab8;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #342d250d;--shadow-md:0 4px 12px #342d2514;--shadow-lg:0 8px 30px #342d251f;--shadow-xl:0 16px 50px #342d2526}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:#faf8f5;background-color:var(--bg-primary);color:#342d25;color:var(--text-primary);font-family:DM Sans,-apple-system,sans-serif;line-height:1.6}h1,h2,h3,h4{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.2}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem 1.5rem;padding:var(--space-xl) var(--space-lg);width:100%}.page-header{margin-bottom:3rem;margin-bottom:var(--space-2xl)}.page-title{color:#342d25;color:var(--text-primary);font-size:2.5rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.page-subtitle{color:#7d6e56;color:var(--text-secondary);font-size:1.1rem;font-weight:300}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff;background:var(--bg-card);background:#ffffffeb;border-bottom:1px solid #e8e1d5;border-bottom:1px solid var(--border-light);padding:0 1.5rem;padding:0 var(--space-lg);position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-inner{height:64px;justify-content:space-between;margin:0 auto;max-width:1200px}.navbar-brand,.navbar-inner{align-items:center;display:flex}.navbar-brand{color:#342d25;color:var(--text-primary);gap:.5rem;gap:var(--space-sm);text-decoration:none}.navbar-logo{color:#2d6e35;color:var(--green-600);font-family:"DM Serif Display",serif;font-size:1.6rem;letter-spacing:-.02em}.navbar-logo span{color:#4ea858;color:var(--green-400)}.navbar-nav{list-style:none}.nav-link,.navbar-nav{align-items:center;display:flex;gap:.25rem;gap:var(--space-xs)}.nav-link{border-radius:10px;border-radius:var(--radius-md);color:#7d6e56;color:var(--text-secondary);font-size:.9rem;font-weight:500;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);text-decoration:none;transition:all .2s ease}.nav-link.active,.nav-link:hover{background:#f0f7f1;background:var(--green-50);color:#2d6e35;color:var(--green-600)}.navbar-actions{align-items:center;display:flex;gap:.5rem;gap:var(--space-sm)}.user-avatar{border:2px solid #b0dab3;border:2px solid var(--green-200);border-radius:9999px;border-radius:var(--radius-full);cursor:pointer;height:36px;object-fit:cover;transition:border-color .2s ease;width:36px}.user-avatar:hover{border-color:#4ea858;border-color:var(--green-400)}.btn{align-items:center;border:none;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;gap:.5rem;gap:var(--space-sm);line-height:1;padding:10px 20px;text-decoration:none;transition:all .2s ease}.btn-primary{background:#2d6e35;background:var(--green-600);color:#fff}.btn-primary:hover{background:#25572c;background:var(--green-700);box-shadow:0 4px 12px #342d2514;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:#f3efe8;background:var(--bg-elevated);border:1px solid #e8e1d5;border:1px solid var(--border-light);color:#342d25;color:var(--text-primary)}.btn-secondary:hover{background:#e8e1d5;background:var(--sand-200);border-color:#d5cab8;border-color:var(--border-medium)}.btn-ghost{background:#0000;color:#7d6e56;color:var(--text-secondary)}.btn-ghost:hover{background:#f3efe8;background:var(--bg-elevated)}.btn-ghost:hover,.btn-google{color:#342d25;color:var(--text-primary)}.btn-google{background:#fff;border:1px solid #d5cab8;border:1px solid var(--border-medium);font-size:1rem;padding:12px 24px}.btn-google:hover{background:#faf8f5;background:var(--sand-50);box-shadow:0 4px 12px #342d2514;box-shadow:var(--shadow-md)}.btn-apple{background:#000;border:1px solid #000;color:#fff}.btn-apple:hover{background:#1a1a1a}.btn-danger{background:#c4402a;background:var(--tomato);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{font-size:.82rem;padding:6px 14px}.btn-lg{font-size:1rem;padding:14px 28px}.btn-icon{border-radius:6px;border-radius:var(--radius-sm);padding:8px}.card{background:#fff;background:var(--bg-card);border:1px solid #e8e1d5;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease}.card:hover{box-shadow:0 8px 30px #342d251f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.recipe-card{cursor:pointer}.recipe-card-image{aspect-ratio:4/3;background:#f3efe8;background:var(--sand-100);object-fit:cover;width:100%}.recipe-card-image-placeholder{align-items:center;aspect-ratio:4/3;background:linear-gradient(135deg,#f0f7f1,#f3efe8);background:linear-gradient(135deg,var(--green-50),var(--sand-100));color:#7cc282;color:var(--green-300);display:flex;font-size:3rem;justify-content:center;width:100%}.recipe-card-body{padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg)}.recipe-card-title{color:#342d25;color:var(--text-primary);font-size:1.2rem;margin-bottom:.25rem;margin-bottom:var(--space-xs)}.recipe-card-author{color:#7d6e56;color:var(--text-secondary);font-size:.85rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.recipe-card-meta{align-items:center;color:#b8a88f;color:var(--text-muted);display:flex;font-size:.82rem;gap:1rem;gap:var(--space-md)}.recipe-card-tags{display:flex;flex-wrap:wrap;gap:.25rem;gap:var(--space-xs);margin-top:.5rem;margin-top:var(--space-sm)}.tag{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:500;padding:3px 10px;text-transform:lowercase}.tag-dietary{background:#f0f7f1;background:var(--green-50);border:1px solid #b0dab3;border:1px solid var(--green-200);color:#25572c;color:var(--green-700)}.tag-cuisine{background:#f3efe8;background:var(--sand-100);border:1px solid #d5cab8;border:1px solid var(--sand-300);color:#635746;color:var(--sand-700)}.tag-meal{background:#fef3e2;border:1px solid #f0d68a;color:#8a6914}.tag-clickable{cursor:pointer;transition:all .2s ease}.tag-clickable:hover{transform:scale(1.05)}.tag-clickable.active{background:#2d6e35;background:var(--green-600);border-color:#2d6e35;border-color:var(--green-600);color:#fff}.recipe-grid{grid-gap:1.5rem;grid-gap:var(--space-lg);display:grid;gap:1.5rem;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.form-group{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.form-label{color:#342d25;color:var(--text-primary);display:block;font-size:.88rem;font-weight:500;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.form-input,.form-select,.form-textarea{background:#fff;background:var(--bg-card);border:1px solid #d5cab8;border:1px solid var(--border-medium);border-radius:10px;border-radius:var(--radius-md);color:#342d25;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:.95rem;outline:none;padding:10px 14px;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#4ea858;border-color:var(--green-400);box-shadow:0 0 0 3px #4ea8581f}.form-textarea{min-height:100px;resize:vertical}.form-hint{color:#b8a88f;color:var(--text-muted);font-size:.82rem;margin-top:.25rem;margin-top:var(--space-xs)}.stars{display:flex;gap:2px}.star{color:#d5cab8;color:var(--sand-300);cursor:pointer;font-size:1.2rem;transition:color .15s ease}.star-display,.star.filled,.star:hover{color:#d4a72c;color:var(--turmeric)}.star-display{font-size:.9rem}.login-page{align-items:center;background:linear-gradient(160deg,#f0f7f1,#faf8f5 50%,#f0f7f1);background:linear-gradient(160deg,var(--green-50) 0,var(--sand-50) 50%,var(--green-50) 100%);display:flex;justify-content:center;min-height:100vh;padding:2rem;padding:var(--space-xl)}.login-card{background:#fff;background:var(--bg-card);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 16px 50px #342d2526;box-shadow:var(--shadow-xl);max-width:440px;padding:4rem;padding:var(--space-3xl);text-align:center;width:100%}.login-brand{color:#2d6e35;color:var(--green-600);font-family:"DM Serif Display",serif;font-size:3rem;letter-spacing:-.03em;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.login-brand span{color:#4ea858;color:var(--green-400)}.login-tagline{color:#7d6e56;color:var(--text-secondary);font-size:1.1rem;font-weight:300;margin-bottom:3rem;margin-bottom:var(--space-2xl)}.login-divider{align-items:center;color:#b8a88f;color:var(--text-muted);display:flex;font-size:.85rem;gap:1rem;gap:var(--space-md);margin:2rem 0;margin:var(--space-xl) 0}.login-divider:after,.login-divider:before{background:#e8e1d5;background:var(--border-light);content:"";flex:1 1;height:1px}.recipe-detail{margin:0 auto;max-width:800px}.recipe-hero-image{background:#f3efe8;background:var(--sand-100);object-fit:cover}.recipe-hero-image,.recipe-hero-placeholder{aspect-ratio:16/9;border-radius:16px;border-radius:var(--radius-lg);margin-bottom:2rem;margin-bottom:var(--space-xl);width:100%}.recipe-hero-placeholder{align-items:center;background:linear-gradient(135deg,#f0f7f1,#f3efe8);background:linear-gradient(135deg,var(--green-50),var(--sand-100));color:#7cc282;color:var(--green-300);display:flex;font-size:5rem;justify-content:center}.recipe-title{font-size:2.8rem;line-height:1.1;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.recipe-meta-bar{align-items:center;border-bottom:1px solid #e8e1d5;border-bottom:1px solid var(--border-light);color:#7d6e56;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.9rem;gap:1.5rem;gap:var(--space-lg);margin-bottom:2rem;margin-bottom:var(--space-xl);padding:1rem 0;padding:var(--space-md) 0}.recipe-section-title{color:#25572c;color:var(--green-700);font-size:1.5rem;margin-bottom:1rem;margin-bottom:var(--space-md)}.ingredient-list{list-style:none;margin-bottom:3rem;margin-bottom:var(--space-2xl)}.ingredient-item{align-items:center;border-bottom:1px solid #e8e1d5;border-bottom:1px solid var(--border-light);display:flex;font-size:.95rem;justify-content:space-between;padding:.5rem 0;padding:var(--space-sm) 0}.ingredient-amount{color:#25572c;color:var(--green-700);font-weight:600;margin-left:1rem;margin-left:var(--space-md);white-space:nowrap}.step-list{counter-reset:step;list-style:none;margin-bottom:3rem;margin-bottom:var(--space-2xl)}.step-item{border-bottom:1px solid #e8e1d5;border-bottom:1px solid var(--border-light);counter-increment:step;padding:1rem 0;padding:var(--space-md) 0;padding-left:4rem;padding-left:var(--space-3xl);position:relative}.step-item:before{align-items:center;background:#2d6e35;background:var(--green-600);border-radius:9999px;border-radius:var(--radius-full);color:#fff;content:counter(step);display:flex;font-size:.85rem;font-weight:600;height:32px;justify-content:center;left:0;position:absolute;top:1rem;top:var(--space-md);width:32px}.nutrition-grid{grid-gap:.5rem;grid-gap:var(--space-sm);display:grid;gap:.5rem;gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.nutrition-cell{background:#faf8f5;background:var(--sand-50);border:1px solid #e8e1d5;border:1px solid var(--border-light);border-radius:10px;border-radius:var(--radius-md);padding:1rem .5rem;padding:var(--space-md) var(--space-sm);text-align:center}.nutrition-value{color:#342d25;color:var(--text-primary);font-size:1.15rem;font-weight:600}.nutrition-label{color:#b8a88f;color:var(--text-muted);font-size:.78rem;margin-top:2px}.ai-generator{background:linear-gradient(135deg,#f0f7f1,#faf8f5);background:linear-gradient(135deg,var(--green-50) 0,var(--sand-50) 100%);border:1px solid #b0dab3;border:1px solid var(--green-200);border-radius:16px;border-radius:var(--radius-lg);margin-bottom:3rem;margin-bottom:var(--space-2xl);padding:2rem;padding:var(--space-xl)}.ai-badge{align-items:center;background:#2d6e35;background:var(--green-600);border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:.78rem;font-weight:600;gap:.25rem;gap:var(--space-xs);letter-spacing:.03em;margin-bottom:1rem;margin-bottom:var(--space-md);padding:4px 12px;text-transform:uppercase}.ai-badge-sm{font-size:.68rem;margin-bottom:0;padding:2px 8px}.ai-loading{align-items:center;color:#7d6e56;color:var(--text-secondary);display:flex;gap:1rem;gap:var(--space-md);padding:2rem;padding:var(--space-xl)}.ai-loading-dots{display:flex;gap:4px}.ai-loading-dots span{animation:dotPulse 1.4s infinite;background:#4ea858;background:var(--green-400);border-radius:50%;height:8px;width:8px}.ai-loading-dots span:nth-child(2){animation-delay:.2s}.ai-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.filters-bar{background:#fff;background:var(--bg-card);border:1px solid #e8e1d5;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--space-sm);margin-bottom:2rem;margin-bottom:var(--space-xl);padding:1rem;padding:var(--space-md)}.filter-section{margin-bottom:1rem;margin-bottom:var(--space-md)}.filter-section-title{color:#b8a88f;color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.06em;margin-bottom:.5rem;margin-bottom:var(--space-sm);text-transform:uppercase}.unit-toggle{background:#f3efe8;background:var(--bg-elevated);border:1px solid #e8e1d5;border:1px solid var(--border-light);border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;padding:3px}.unit-toggle-btn{background:#0000;border:none;border-radius:9999px;border-radius:var(--radius-full);color:#7d6e56;color:var(--text-secondary);cursor:pointer;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;padding:4px 14px;transition:all .2s ease}.unit-toggle-btn.active{background:#2d6e35;background:var(--green-600);color:#fff}.empty-state{color:#b8a88f;color:var(--text-muted);padding:4rem;padding:var(--space-3xl);text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:1rem;margin-bottom:var(--space-md);opacity:.5}.empty-state-title{color:#7d6e56;color:var(--text-secondary);font-family:"DM Serif Display",serif;font-size:1.4rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.image-upload{background:#faf8f5;background:var(--sand-50);border:1px solid #d5cab8;border:1px solid var(--border-medium);border-radius:16px;border-radius:var(--radius-lg);cursor:pointer;display:block;padding:3rem;padding:var(--space-2xl);text-align:center;transition:all .2s ease}.image-upload:hover{background:#f0f7f1;background:var(--green-50);border-color:#4ea858;border-color:var(--green-400)}.image-upload-preview{max-height:300px;object-fit:cover;width:100%}.image-upload-preview,.toast{border-radius:10px;border-radius:var(--radius-md)}.toast{animation:slideUp .3s ease;background:#342d25;background:var(--text-primary);bottom:2rem;bottom:var(--space-xl);box-shadow:0 16px 50px #342d2526;box-shadow:var(--shadow-xl);color:#fff;font-size:.9rem;padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg);position:fixed;right:2rem;right:var(--space-xl);z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.recipe-grid{grid-template-columns:1fr}.recipe-title{font-size:2rem}.page-title{font-size:1.8rem}.login-card{padding:2rem;padding:var(--space-xl)}.navbar-nav{gap:0}.nav-link span{display:none}}
/*# sourceMappingURL=main.3583e20b.css.map*/