@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Work+Sans:wght@400;500;600&display=swap";:root{--paper: #F2F4EC;--ink: #22271F;--basil: #3E5C43;--basil-dark: #2C4230;--yolk: #E8A93B;--clay: #B5562E;--shelf: #DFE3D3;--shelf-line: #C7CDB8;--font-display: "Fraunces", Georgia, serif;--font-body: "Work Sans", -apple-system, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0 0 .5rem}h1{font-size:2.25rem}h2{font-size:1.5rem}h3{font-size:1.15rem}p{margin:0 0 .75rem;max-width:65ch}a{color:var(--basil-dark)}button{font-family:var(--font-body);font-weight:500;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:.5rem 1rem;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4em}button:hover:not(:disabled){background:var(--shelf)}button:disabled{opacity:.5;cursor:not-allowed}button.active,button[aria-pressed=true],button.primary{background:var(--basil);color:var(--paper);border-color:var(--basil)}button.primary:hover:not(:disabled){background:var(--basil-dark)}button.instacart{background:var(--yolk);color:var(--ink);border-color:var(--yolk);font-weight:600}button.instacart:hover:not(:disabled){filter:brightness(.94)}input,textarea,select{font-family:var(--font-body);font-size:1rem;padding:.5rem;border:1px solid var(--shelf-line);border-radius:4px;background:#fff;color:var(--ink);width:100%}label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;margin-bottom:.75rem}:focus-visible{outline:2px solid var(--basil);outline-offset:2px}.form-error{color:var(--clay);font-weight:500}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--shelf-line)}.app-nav{display:flex;gap:1.25rem;align-items:center}.app-nav a{text-decoration:none;color:var(--ink);font-weight:500;padding:.3rem .7rem;border-radius:999px}.app-nav a.current{background:var(--basil);color:var(--paper)}.app-main{max-width:1100px;margin:0 auto;padding:1.5rem}.brand-mark{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink)}.brand-mark svg{flex-shrink:0}.brand-mark span{white-space:nowrap;font-family:var(--font-display);font-size:1.4rem;font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#22271f8c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal-panel{background:var(--paper);border-radius:8px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;padding:1.5rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header button{border:none;background:none;font-size:1.5rem;line-height:1;padding:0}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}fieldset{border:1px solid var(--shelf-line);border-radius:4px;margin:0 0 1rem;padding:.75rem}legend{font-family:var(--font-display);padding:0 .4rem}.form-row{display:flex;gap:1rem}.form-row label{flex:1}.ingredient-row,.step-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.optional-toggle{flex-direction:row!important;align-items:center;gap:.35rem;white-space:nowrap;width:auto}.step-number{font-family:var(--font-display);font-weight:600;width:1.75rem;text-align:right;flex-shrink:0;color:var(--basil-dark)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;padding:1.5rem 0 2.5rem}.eyebrow{font-size:.85rem;color:var(--basil-dark);font-weight:500;margin-bottom:.25rem}.hero h1{font-size:3rem;line-height:1.05;margin-bottom:1rem}.hero h1 .accent{color:var(--basil);font-style:italic}.hero-sub{color:#4a4f41}.hero-search{display:flex;gap:.6rem;max-width:460px;margin:1.25rem 0 .75rem}.hero-search input{flex:1;padding:.65rem .9rem;border-radius:999px;border:1px solid var(--shelf-line)}.hero-search button{border-radius:999px;padding:.6rem 1.4rem;display:flex;align-items:center;gap:.4rem}.popular-chips{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem;color:var(--basil-dark);margin-bottom:1.5rem}.popular-chips button{border-radius:999px;padding:.25rem .75rem;font-size:.82rem;background:#fff;border-color:var(--shelf-line)}.stat-row{display:flex;gap:1.75rem;flex-wrap:wrap}.stat-block{display:flex;gap:.5rem;align-items:center}.stat-icon{color:var(--basil-dark);flex-shrink:0}.stat-value{display:block;font-family:var(--font-display);font-weight:700;font-size:1.25rem;line-height:1}.stat-label{display:block;font-size:.78rem;color:var(--basil-dark)}.hero-collage{position:relative;height:320px}.collage-img{position:absolute;object-fit:cover;border-radius:10px;border:4px solid var(--paper);box-shadow:0 8px 24px #22271f26}.collage-img-0{width:62%;top:0;right:0;height:62%}.collage-img-1{width:58%;bottom:0;left:0;height:58%}.collage-img-2{width:40%;bottom:8%;right:12%;height:34%}.hero-collage-fallback{width:100%;height:100%;border-radius:10px;background:linear-gradient(135deg,var(--shelf),var(--basil) 140%);opacity:.5}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:2rem 0 1rem}.section-heading a{font-size:.9rem;text-decoration:none;font-weight:500}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.category-tile{position:relative;height:130px;border-radius:8px;background-color:var(--shelf);background-size:cover;background-position:center;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:.75rem;overflow:hidden}.category-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#22271fb8,#22271f0d 60%)}.category-tile.active{outline:2px solid var(--basil);outline-offset:2px}.category-tile-label,.category-tile-count{position:relative;z-index:1;color:#fff}.category-tile-label{font-family:var(--font-display);font-weight:600}.category-tile-count{font-size:.78rem;opacity:.9}.filter-pills{display:flex;gap:.6rem;margin-bottom:1.25rem}.badge-row{display:flex;gap:.4rem;flex-wrap:wrap;margin:.2rem 0}.badge{font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;text-transform:capitalize}.badge-category{background:var(--shelf);color:var(--basil-dark)}.badge-difficulty{color:#fff}.diff-easy{background:var(--basil)}.diff-medium{background:var(--yolk);color:var(--ink)}.diff-hard{background:var(--clay)}.recipe-card-media{position:relative}.recipe-card-media img{display:block;width:100%;height:140px;object-fit:cover}.recipe-card-media-fallback{width:100%;height:140px;background:var(--shelf)}.heart-btn{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;border-radius:50%;background:#ffffffe6;border:none;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--clay);padding:0}.heart-btn.active{color:var(--clay)}.save-for-later-link{border:none;background:none;padding:0;font-size:.82rem;color:var(--basil-dark);align-self:flex-start;text-align:left;display:flex;align-items:center;gap:.3rem}.save-for-later-link.active{font-weight:600}.button-row{display:flex;gap:.5rem}.button-row button{flex:1}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.recipe-card{background:#fff;border-radius:6px;border-left:5px solid var(--shelf-line);overflow:hidden;display:flex;flex-direction:column}.recipe-card.status-ready{border-left-color:var(--basil)}.recipe-card.status-almost{border-left-color:var(--yolk)}.recipe-card-body{padding:.85rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.recipe-card-body h3{font-size:1.05rem}.missing-badge{font-size:.85rem;color:var(--basil-dark);margin:0}.recipe-card.status-almost .missing-badge{color:var(--clay)}.recipe-link{text-decoration:none;color:inherit}.shelf{margin-bottom:2rem;padding:1rem;background:var(--shelf);border-radius:6px}.shelf h2{margin-bottom:.75rem}.shelf-items{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-wrap:wrap;gap:.5rem}.shelf-item{background:#fff;border:1px solid var(--shelf-line);border-radius:999px;padding:.35rem .75rem;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.shelf-item button{border:none;background:none;padding:0;font-size:1rem;color:var(--clay)}.shelf-add-form{display:flex;gap:.5rem}.shelf-add-form input{width:auto;flex:1}.staples-section{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.meal-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.meal-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.meal-plan-day{background:#fff;border-radius:6px;padding:.75rem;border-top:3px solid var(--basil)}.meal-plan-day img{width:100%;height:90px;object-fit:cover;border-radius:4px;margin-bottom:.5rem}.day-label{font-family:var(--font-display);font-weight:600;color:var(--basil-dark);display:block;margin-bottom:.35rem}.shopping-list{background:var(--shelf);padding:1rem 1.25rem;border-radius:6px}.shopping-list ul{padding-left:1.25rem}.recipe-detail-hero{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.recipe-detail-hero img{width:260px;height:260px;object-fit:cover;border-radius:6px}.recipe-meta{display:flex;gap:1rem;color:var(--basil-dark);font-size:.9rem;margin-bottom:.75rem}.recipe-detail-columns{display:grid;grid-template-columns:1fr 2fr;gap:2rem}.recipe-detail-columns ul{padding-left:1.1rem}.recipe-detail-columns ol{padding-left:1.25rem;display:flex;flex-direction:column;gap:.75rem}.ingredient-missing{color:var(--clay);font-weight:500}.consultant-widget{background:var(--shelf);border-radius:8px;padding:1.25rem 1.5rem;margin-top:2rem;max-width:420px}.consultant-widget h3{margin-bottom:.35rem}.consultant-widget p{font-size:.92rem}.consultant-widget form{display:flex;flex-direction:column;gap:.6rem}.consultant-widget button{align-self:flex-start;background:var(--yolk);border-color:var(--yolk);color:var(--ink);font-weight:600}.success-note{color:var(--basil-dark);font-weight:500}.auth-page{max-width:380px;margin:2rem auto}.auth-page form{display:flex;flex-direction:column}.nav-links,.nav-actions{display:flex;align-items:center;gap:1.25rem}.app-header{position:relative}.bottom-nav{display:none}@media (max-width: 900px){.nav-links{display:none}.nav-actions{gap:.5rem}.nav-actions button{min-height:40px;padding:.4rem .85rem;font-size:.9rem}body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--paper);border-top:1px solid var(--shelf-line);box-shadow:0 -6px 18px #22271f14;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:62px;padding:6px 2px;color:var(--ink);text-decoration:none;font-size:.68rem;font-weight:500;-webkit-tap-highlight-color:transparent}.bottom-nav .tab-icon{display:flex;align-items:center;justify-content:center;padding:3px 16px;border-radius:999px;transition:background-color .15s}.bottom-nav a.current{color:var(--basil-dark);font-weight:600}.bottom-nav a.current .tab-icon{background:var(--basil);color:var(--paper)}}@media (max-width: 640px){.app-header{padding:.75rem 1rem}.app-main{padding:1rem}h1{font-size:1.8rem}h2{font-size:1.3rem}.hero{grid-template-columns:1fr;gap:1.25rem;padding-top:.5rem}.hero-collage{height:220px;order:-1}.hero h1{font-size:2.2rem}.hero-search{max-width:none}.hero-search input{min-width:0}.stat-row{gap:1rem 1.5rem}.category-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.category-tile{height:110px}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem}.section-heading{flex-wrap:wrap;gap:.5rem}.filter-pills{flex-wrap:wrap}.heart-btn{width:2.5rem;height:2.5rem}.save-for-later-link{min-height:36px}.recipe-detail-hero{flex-direction:column}.recipe-detail-hero img{width:100%;height:220px}.recipe-detail-columns{grid-template-columns:1fr;gap:1.25rem}.button-row{flex-wrap:wrap}.shelf{padding:.85rem}.shelf-add-form{flex-wrap:wrap}.shelf-add-form input{min-width:0;flex:1 1 100%;max-width:none!important}.shelf-add-form button{flex:1 1 100%;min-height:44px}.meal-plan-header{flex-direction:column;align-items:flex-start;gap:.75rem}.meal-plan-grid{grid-template-columns:repeat(2,1fr)}.shopping-list button{width:100%;min-height:44px}.modal-overlay{padding:0;align-items:flex-end}.modal-panel{max-height:94vh;border-radius:12px 12px 0 0;padding:1.1rem}.form-row{flex-direction:column;gap:0}.ingredient-row{flex-wrap:wrap}.ingredient-row input{flex:1 1 100%}.modal-footer button{min-height:44px;flex:1}.auth-page{margin:1rem auto}.consultant-widget{max-width:none}.consultant-widget button,.auth-page button[type=submit]{min-height:44px}input,select,textarea{font-size:16px}}@media (max-width: 640px){.brand-mark{gap:.4rem;min-width:0}.brand-mark span{font-size:1.12rem}.brand-mark svg{width:24px;height:24px}.hide-mobile{display:none}}@media (max-width: 640px){.app-header{gap:.5rem}.nav-actions button{padding:.4rem .65rem;font-size:.85rem}}@media (max-width: 380px){.brand-mark svg{display:none}}
