@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-container{animation:fadeIn .3s ease-in;margin-top:20px;text-align:center}.loading-gif{width:160px}.loading-text{color:#444;font-size:15px;font-style:italic;margin-top:10px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;color:#374151;font-family:Poppins,sans-serif}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.hero-background{background-color:#f0fdf4;border-bottom-left-radius:50% 40px;border-bottom-right-radius:50% 40px;padding:2rem 2rem 6rem;text-align:center}.header{justify-content:space-between;margin:0 auto 3rem;max-width:1000px}.brand,.header{align-items:center;display:flex}.brand{gap:.5rem}.brand h1{color:#064e3b;font-size:1.5rem;font-weight:700;margin:0}.brand-icon{font-size:1.8rem}.logo{border:2px solid #a7f3d0;border-radius:50%;height:40px;object-fit:cover;width:40px}.hero-title{color:#064e3b;font-size:3rem;font-weight:800;letter-spacing:-1px;margin-bottom:1rem}.hero-subtitle{color:#047857;font-size:1.1rem;line-height:1.6}.main-content{margin:-3rem auto 0;max-width:800px;padding:0 1.5rem 3rem;position:relative;width:100%;z-index:10}.search-container{margin-bottom:2rem;text-align:center}.search-input{background-color:#fff;border:1px solid #e5e7eb;border-radius:50px;box-shadow:0 4px 6px -1px #0000000d;color:#374151;font-size:1rem;max-width:600px;outline:none;padding:1rem 1.5rem;transition:border-color .2s,box-shadow .2s;width:100%}.search-input:focus{border-color:#10b981;box-shadow:0 4px 15px #10b98133}.search-input::placeholder{color:#9ca3af}.button-group{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn{border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:160px;padding:.8rem 2rem;transition:all .2s ease}.btn-primary{background-color:#10b981;border:none;box-shadow:0 4px 6px #10b9814d;color:#fff}.btn-primary:hover:not(:disabled){background-color:#059669;transform:translateY(-1px)}.btn-primary:disabled{background-color:#a7f3d0;cursor:not-allowed}.btn-secondary{background-color:#fff;border:1px solid #6ee7b7;box-shadow:0 2px 4px #0000000d;color:#059669}.btn-secondary:hover:not(:disabled){background-color:#ecfdf5;border-color:#059669}.result-card{background:#fff;border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000003;margin-top:2rem;padding:2.5rem;text-align:left}.recipe-main-title{font-size:1.8rem;font-weight:800;line-height:1.3;margin-bottom:1.5rem}.recipe-paragraph{color:#4b5563;margin-bottom:.75rem}.recipe-strong{color:#065f46}.data-note{color:#9ca3af;font-size:.85rem}.section-header{align-items:center;border-bottom:2px solid #d1fae5;display:flex;font-size:1.25rem;font-weight:700;gap:.5rem;margin-bottom:1rem;margin-top:2rem;padding-bottom:.5rem}.section-icon{font-size:1.1rem}.nutrition-list{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin-bottom:1.5rem;padding:0}.nutrition-item{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:50px;color:#065f46;display:flex;font-size:.88rem;gap:.3rem;padding:.35rem .9rem;white-space:nowrap}.ingredients-list{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.ingredient-item{align-items:center;background:#fafafa;border:1.5px solid #e5e7eb;border-radius:10px;gap:.75rem;padding:.6rem .85rem;transition:all .18s ease;-webkit-user-select:none;user-select:none}.ingredient-item:hover{background:#f0fdf4;border-color:#10b981;transform:translateX(2px)}.ingredient-item.checked{background:#d1fae5;border-color:#6ee7b7;opacity:.75}.ingredient-checkbox{border-radius:6px;color:#059669;font-size:.75rem;font-weight:700;height:22px;min-width:22px;transition:background .15s;width:22px}.ingredient-item.checked .ingredient-checkbox{border-color:#10b981}.ingredient-text{color:#374151;font-size:.9rem;line-height:1.4;transition:color .15s}.ingredient-progress-bar-wrap{background:#e5e7eb;border-radius:50px;height:28px;margin-bottom:1.5rem;overflow:hidden;position:relative}.ingredient-progress-bar-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:50px;height:100%;transition:width .35s ease}.ingredient-progress-label{align-items:center;color:#065f46;display:flex;font-size:.8rem;font-weight:600;inset:0;justify-content:center;position:absolute}.instructions-scroll-container{border:1px solid #d1fae5;border-radius:12px;margin-bottom:1.5rem;max-height:400px;overflow-y:auto;padding:.75rem .75rem .75rem .5rem;scrollbar-color:#10b981 #f0fdf4;scrollbar-width:thin}.instructions-scroll-container::-webkit-scrollbar{width:6px}.instructions-scroll-container::-webkit-scrollbar-track{background:#f0fdf4;border-radius:10px}.instructions-scroll-container::-webkit-scrollbar-thumb{background:#10b981;border-radius:10px}.substitutes-scroll-container{border-color:#fde68a;scrollbar-color:#f59e0b #fffbeb}.substitutes-scroll-container::-webkit-scrollbar-track{background:#fffbeb}.substitutes-scroll-container::-webkit-scrollbar-thumb{background:#f59e0b}.substitutes-list{display:flex;flex-direction:column;gap:.85rem;list-style:decimal;margin-bottom:0;padding-left:1.25rem}.substitutes-list>li{background:#fffbeb;border:1.5px solid #fde68a;border-radius:10px;line-height:1.6;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}.substitutes-list>li:hover{border-color:#f59e0b;box-shadow:0 4px 10px #f59e0b1a}.instructions-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:0}.instruction-item{align-items:flex-start;background:#fafafa;border:1.5px solid #e5e7eb;border-radius:12px;counter-increment:step-counter;display:flex;gap:1rem;padding:1rem 1.25rem;position:relative;transition:border-color .2s,box-shadow .2s}.instruction-item:hover{border-color:#6ee7b7;box-shadow:0 4px 12px #10b98114}.instruction-item:before{align-items:center;background:#10b981;border-radius:50%;color:#fff;content:counter(step-counter);display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:32px;justify-content:center;margin-top:.05rem;min-width:32px}.instruction-text{color:#374151;font-size:.95rem;line-height:1.6}.generic-list{margin-bottom:1rem;padding-left:1.5rem}.generic-list li::marker{color:#10b981}.generic-ol{margin-bottom:1rem;padding-left:1.5rem}.live-query-analysis{align-items:center;animation:fadeIn .25s ease forwards;display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem}.query-meta-badges{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.meta-badge{align-items:center;border-radius:50px;display:inline-flex;font-size:.8rem;font-weight:600;gap:.25rem;padding:.28rem .75rem}.meta-badge-intent{background:#eff6ff;border:1.5px solid #93c5fd;color:#1d4ed8}.meta-badge-count{background:#faf5ff;border:1.5px solid #c4b5fd;color:#7c3aed}.constraint-chips-wrap{align-items:center;animation:fadeIn .25s ease forwards;display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.constraint-chips-label{color:#6b7280;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.constraint-chips-row{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.constraint-chip{align-items:center;border:1.5px solid;border-radius:50px;display:inline-flex;font-size:.82rem;font-weight:500;gap:.3rem;padding:.3rem .75rem;transition:transform .15s}.constraint-chip:hover{transform:scale(1.04)}.feasibility-chip{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-size:.86rem;padding:.4rem 1rem}.feasibility-chip strong{color:#1e40af;font-weight:700}.chip-type{font-size:.78rem;font-weight:700}.chip-phrase{font-weight:500}.applied-constraints-banner{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:.85rem 1rem}.applied-banner-title{color:#6b7280;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.applied-constraints-banner .constraint-chips-wrap{align-items:flex-start}.applied-constraints-banner .constraint-chips-row{justify-content:flex-start}.error-message{color:#ef4444;font-weight:500;margin-top:1rem;text-align:center}.fade-in{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.hero-title{font-size:2rem}.button-group{align-items:center;flex-direction:column}.btn{width:100%}.ingredients-list{grid-template-columns:1fr}.nutrition-list{flex-direction:column}.nutrition-item{white-space:normal}}.feasibility-card{border:2px solid;border-radius:16px;box-shadow:0 4px 20px #0000000f;margin-top:.5rem;overflow:hidden}.feasibility-header{align-items:center;border-bottom:2px solid;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:1.5rem 2rem}.feasibility-ingredient-box{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000012;display:flex;flex-direction:column;gap:.35rem;min-width:120px;padding:.85rem 1.5rem}.feasibility-ingredient-box--target{background:#eff6ff;border-color:#93c5fd}.feasibility-ingredient-label{color:#9ca3af;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.feasibility-ingredient-name{color:#1f2937;font-size:1.1rem;font-weight:700;text-transform:capitalize}.feasibility-arrow{align-items:center;display:flex;flex-direction:column;gap:.1rem}.feasibility-arrow-icon{color:#9ca3af;font-size:1.8rem;line-height:1}.feasibility-arrow-sub{color:#9ca3af;font-size:.7rem;font-weight:500}.feasibility-verdict-banner{align-items:center;border-bottom:1.5px solid;display:flex;gap:.75rem;padding:1rem 1.75rem}.feasibility-verdict-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.feasibility-verdict-text{font-size:1.05rem;font-weight:700;letter-spacing:.01em}.feasibility-body{display:flex;flex-direction:column;gap:.9rem;padding:1.25rem 1.75rem .75rem}.feasibility-para{color:#374151;font-size:.95rem;line-height:1.7;margin:0}.feasibility-tip-box{align-items:flex-start;background:#f8fafc;border-left:4px solid;border-radius:0 10px 10px 0;display:flex;gap:.85rem;margin:.75rem 1.75rem 1.5rem;padding:.9rem 1.1rem}.feasibility-tip-icon{flex-shrink:0;font-size:1.15rem;margin-top:.05rem}.feasibility-tip-text{color:#4b5563;font-size:.9rem;font-style:italic;line-height:1.65;margin:0}@media (max-width:600px){.feasibility-header{gap:.75rem;padding:1rem}.feasibility-ingredient-box{min-width:90px;padding:.65rem 1rem}.feasibility-body{padding:1rem}.feasibility-tip-box{margin:.5rem 1rem 1rem}}.table-scroll-wrapper{border:1px solid #d1fae5;margin-bottom:1.5rem}.table-scroll-wrapper::-webkit-scrollbar{height:6px}.table-scroll-wrapper::-webkit-scrollbar-thumb{background:#10b981}.recipe-table{font-size:.88rem;min-width:700px}.recipe-table th{border-bottom:2px solid #a7f3d0;font-weight:700;padding:.7rem 1rem}.recipe-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:.6rem 1rem}.recipe-table td:first-child{color:#9ca3af;font-size:.8rem;min-width:32px}.recipe-table td:nth-child(2){max-width:260px;min-width:180px;white-space:normal}.cal-badge{font-size:.78rem;gap:.25rem;padding:.2rem .6rem}.cal-badge-low{background:#d1fae5;color:#065f46}.cal-badge-medium{background:#fef3c7;color:#92400e}.cal-badge-high{background:#fee2e2;color:#991b1b}.cal-badge-unknown{background:#f3f4f6;color:#6b7280}.table-meta{color:#6b7280;font-size:.8rem;font-style:italic;margin-bottom:1rem;margin-top:.5rem}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;border:1px solid #a7f3d0;border-radius:12px;margin:1rem 0;overflow-x:auto;scrollbar-color:#10b981 #f0fdf4;scrollbar-width:thin;width:100%}.table-scroll-wrapper::-webkit-scrollbar{height:5px}.table-scroll-wrapper::-webkit-scrollbar-track{background:#f0fdf4;border-radius:10px}.table-scroll-wrapper::-webkit-scrollbar-thumb{background:#6ee7b7;border-radius:10px}.recipe-table{border-collapse:collapse;font-size:.86rem;min-width:600px;white-space:nowrap;width:100%}.recipe-table th{background:#ecfdf5;border-bottom:2px solid #6ee7b7;color:#065f46;font-weight:600;padding:.65rem 1rem;position:-webkit-sticky;position:sticky;text-align:left;top:0}.recipe-table td{border-bottom:1px solid #f0fdf4;color:#1f2937;padding:.55rem 1rem;vertical-align:middle;white-space:normal}.recipe-table td:first-child{color:#6b7280;font-size:.78rem;font-weight:600;min-width:30px;text-align:center;white-space:nowrap}.recipe-table td:nth-child(2){color:#064e3b;font-weight:600;max-width:240px;min-width:160px}.recipe-table tr:hover td{background:#f0fdf4}.recipe-table tr:last-child td{border-bottom:none}.cal-badge{align-items:center;border-radius:50px;display:inline-flex;font-size:.76rem;font-weight:600;padding:.15rem .55rem;white-space:nowrap}.cal-low{background:#d1fae5;color:#065f46}.cal-medium{background:#a7f3d0;color:#064e3b}.cal-high{background:#6ee7b7;color:#064e3b}.cal-unknown{background:#f3f4f6;color:#6b7280}.section-header{border-bottom:2px solid #a7f3d0;color:#064e3b;font-size:1.15rem;font-weight:600;margin:1.4rem 0 .5rem;padding-bottom:.3rem}.section-subheader{color:#065f46;font-size:1rem;font-weight:600;margin:1rem 0 .4rem}.recipe-main-title{font-size:1.4rem;margin-bottom:.3rem}.ingredients-list{list-style:none;margin:.5rem 0;padding:0}.ingredient-item{align-items:flex-start;border-radius:6px;color:#1f2937;cursor:pointer;display:flex;font-size:.9rem;gap:.6rem;padding:.35rem .5rem;transition:background .15s}.ingredient-item:hover{background:#ecfdf5}.ingredient-item.checked .ingredient-text{color:#9ca3af;text-decoration:line-through}.ingredient-checkbox{align-items:center;background:#fff;border:2px solid #10b981;border-radius:4px;color:#065f46;display:flex;font-size:.7rem;height:18px;justify-content:center;margin-top:1px;min-width:18px;width:18px}.ingredient-item.checked .ingredient-checkbox{background:#10b981;color:#fff}.instructions-list{padding-left:1.4rem}.instructions-list li{line-height:1.6;padding:.3rem 0}.generic-list{list-style:disc;margin:.5rem 0;padding-left:1.4rem}.generic-item{color:#374151;font-size:.9rem;line-height:1.6;padding:.2rem 0}.recipe-paragraph{color:#374151;font-size:.9rem;line-height:1.7;margin:.4rem 0}.recipe-strong{color:#064e3b;font-weight:700}.data-note{color:#6b7280;font-size:.82rem;font-style:italic}.inline-code{background:#f0fdf4;border:1px solid #a7f3d0;border-radius:4px;color:#065f46;font-family:monospace;font-size:.82rem;padding:.1rem .35rem}.data-note,em{color:#6b7280;display:block;font-size:.78rem;margin-top:.4rem}.recipe-paragraph em,p em{color:#6b7280;display:inline;font-size:.85rem;font-style:italic}.recipe-main-title{color:#064e3b;font-size:1.6rem;font-weight:700;line-height:1.2;margin:0 0 .25rem}.generic-list li,ul li{line-height:1.7}.recipe-meta-line{color:#6b7280;font-size:.85rem;font-style:italic;line-height:1.5;margin:0 0 1rem}.generic-list .generic-item strong,ul .generic-item strong{color:#064e3b;font-weight:600}.instructions-list{counter-reset:step-counter;list-style:none;margin:.5rem 0;padding:0}.instructions-list li{border-bottom:1px solid #f0fdf4;color:#1f2937;counter-increment:step-counter;display:flex;font-size:.9rem;gap:.75rem;line-height:1.65;padding:.5rem .4rem}.instructions-list li:before{align-items:center;background:#10b981;border-radius:50%;color:#fff;content:counter(step-counter);display:flex;flex-shrink:0;font-size:.72rem;font-weight:700;height:24px;justify-content:center;margin-top:2px;min-width:24px}.instructions-list li:last-child{border-bottom:none}
/*# sourceMappingURL=main.a6da3d66.css.map*/