@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.0471snlmja818.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.40quu04grbhf8.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-ext-400-normal.0fqyy_rzir8wk.woff2)format("woff2"),url(../media/dm-sans-latin-ext-400-normal.2wgrmp5e19scw.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.0brn-8r9pdr2e.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.0jcw8phz0eanr.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-ext-500-normal.3kt-ux4qy_ne2.woff2)format("woff2"),url(../media/dm-sans-latin-ext-500-normal.3exo923874x5t.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.0oone78si629l.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.40ad7xuawyzt9.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-ext-600-normal.2h9q_0618j3sz.woff2)format("woff2"),url(../media/dm-sans-latin-ext-600-normal.2uv0s9c16r-jh.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-700-normal.1a6kzvi7en7g-.woff2)format("woff2"),url(../media/dm-sans-latin-700-normal.33in7pwjke59p.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-ext-700-normal.2hzb0w6rbfwop.woff2)format("woff2"),url(../media/dm-sans-latin-ext-700-normal.3l0fp675b56tl.woff)format("woff")}
@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(../media/lora-latin-600-normal.29ncv44evl7jh.woff2)format("woff2"),url(../media/lora-latin-600-normal.31bi0l_omw1b4.woff)format("woff")}
@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(../media/lora-latin-ext-600-normal.3rs2w6v5tsiyh.woff2)format("woff2"),url(../media/lora-latin-ext-600-normal.1s0n5nsr-z91e.woff)format("woff")}
:root{--text-small:.875rem;--text-control:.9375rem;--text-body:1rem;color:#183128;font-synthesis:none;--green:#22563f;--dark:#153c2c;--sage:#eaf0e3;--paper:#fffefa;--muted:#7c837a;--border:#e6e7df;--amber:#a57021;background:#faf9f5;font-family:DM Sans,sans-serif;font-size:100%;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{font-size:var(--text-body);margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.46}a{color:var(--green)}button,input,select,a{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #70a884}input:focus,select:focus{border-color:#0000;outline:2px solid #79a887}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.22}h1{font-size:40px;font-weight:600}h2{font-size:22px;font-weight:600}h3{font-size:18px;font-weight:600}svg{flex-shrink:0}img{max-width:100%;display:block}.muted{color:var(--muted);font-size:var(--text-small);line-height:1.65}.green{color:var(--green)}.amber{color:var(--amber)}.eyebrow{font-size:var(--text-small);letter-spacing:.13em;color:#7d8879;font-weight:700;display:block}.title-dot{color:#b0bf9a}.brand{letter-spacing:-1.5px;color:var(--dark);white-space:nowrap;align-items:center;gap:8px;font-family:Lora,serif;font-size:29px;font-weight:600;display:inline-flex}.brand-dot{color:#829572;margin-left:-7px}.brand-link{text-decoration:none}.brand svg{margin-right:1px}.button{font-size:var(--text-small);border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:13px 18px;font-weight:600;line-height:1.4;transition:background .18s,transform .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--green);color:#fff;box-shadow:0 2px 3px #153c2c0a}.primary:is(:hover,:focus-visible):not(:disabled){background:var(--action-hover)}.secondary{background:var(--paper);border:1px solid #dde1d6}.secondary:is(:hover,:focus-visible):not(:disabled){background:var(--hover-background);color:var(--hover-text)}.subtle{color:var(--green);background:#f5f5ef}.full{width:100%}.text-button{font-size:var(--text-small);color:var(--green);align-items:center;gap:7px;padding:8px 0;font-weight:600;display:inline-flex}.icon-button{border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.icon-button:is(:hover,:focus-visible):not(:disabled){background:var(--hover-background);color:var(--hover-text)}.panel{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:23px}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.section-heading>span{font-size:var(--text-small);color:var(--muted)}.food-photo{object-fit:cover;width:100%;height:100%}.mini-leaf{width:35px;height:35px;color:var(--green);background:#edf1e5;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.loading{height:100vh;color:var(--muted);font-size:var(--text-small);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:20;background:#f2f3eb;border-right:1px solid #e7e9df;flex-direction:column;flex-shrink:0;width:222px;padding:32px 23px 24px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{font-size:26px}.sidebar .brand svg{width:25px}.sidebar-intro{margin:51px 7px 29px}.sidebar-intro .eyebrow{font-size:var(--text-small);letter-spacing:.08em;color:#939a88}.sidebar-intro p{letter-spacing:-.025em;color:#69735e;margin-top:11px;font-size:17px;line-height:1.45}.sidebar nav{flex-direction:column;gap:7px;display:flex}.nav-item{text-align:left;width:100%;font-size:var(--text-small);color:#71796c;border-radius:9px;align-items:center;gap:12px;min-height:48px;padding:13px 16px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item.active{background:var(--green);color:#fff;box-shadow:0 4px 10px #24543d11}.nav-item:not(.active):is(:hover,:focus-visible){background:var(--hover-background);color:var(--hover-text)}.nav-dot{background:#bcd2a6;border-radius:50%;width:5px;height:5px;margin-left:auto}.nav-badge{color:#4f6851;font-size:var(--text-small);background:#e3e9da;border-radius:5px;margin-left:auto;padding:1px 6px}.nav-item.active .nav-badge{color:#fff;background:#ffffff20}.nav-dot+.nav-badge{display:none}.sidebar-bottom{margin-top:auto;padding:70px 9px 0}.brand-drawing{color:#99ae84;margin-left:8px;transform:rotate(-12deg)}.sidebar-bottom p{font-size:var(--text-small);color:#969d8b;margin-top:14px;line-height:1.7}.device-status{font-size:var(--text-small);color:#7e8b70;align-items:center;gap:6px;margin-top:27px;display:flex}.app-body{flex:1;min-width:0;margin-left:222px}.topbar{border-bottom:1px solid #eaebe3;justify-content:space-between;align-items:center;height:84px;padding:0 46px;display:flex}.breadcrumb{color:#8a9184;font-size:var(--text-small);align-items:center;gap:9px;display:flex}.breadcrumb svg{color:#a5b395}.topbar-status{color:#809078;font-size:var(--text-small);align-items:center;gap:6px;display:flex}.profile-button{color:#5c7853;background:#e9eee0;border:1px solid #dfe6d5;border-radius:50%;place-items:center;width:36px;height:36px;margin-left:18px;display:grid}.mobile-brand{display:none}.main-content{max-width:1320px;min-height:calc(100vh - 142px);margin:0 auto;padding:39px 46px 45px}.page-title{justify-content:space-between;align-items:center;gap:22px;margin-bottom:28px;display:flex}.page-title .eyebrow{margin-bottom:10px}.page-title h1{margin-bottom:8px}.page-title p{font-size:var(--text-small);color:var(--muted)}.page-title .button{margin-top:21px}.demo-banner,.warning-banner,.update-banner{color:#65745a;font-size:var(--text-small);background:#edf1e3;border-bottom:1px solid #e0e6d5;justify-content:space-between;align-items:center;gap:15px;padding:10px 46px;display:flex}.demo-banner span{align-items:center;gap:7px;display:flex}.demo-banner button,.warning-banner button,.update-banner button{white-space:nowrap;color:var(--green);align-items:center;gap:6px;font-weight:600;display:flex}.warning-banner{color:#8a6324;background:#fff1d8}.app-footer{font-size:var(--text-small);color:#939989;border-top:1px solid #e9e9e0;justify-content:space-between;gap:20px;padding:20px 46px;display:flex}.app-footer span:last-child{align-items:center;gap:5px;display:flex}.bottom-nav{display:none}.planner-layout{grid-template-columns:minmax(0,1fr) 252px;gap:29px;display:grid}.week-toolbar{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.week-toolbar>span{font-size:var(--text-small);color:#5a6858;align-items:center;gap:7px;font-weight:500;display:flex}.view-toggle{border:1px solid var(--border);background:#f0f1e9;border-radius:7px;padding:3px;display:flex}.view-toggle button{font-size:var(--text-small);color:#8c9282;border-radius:5px;min-height:28px;padding:5px 13px}.view-toggle button.active{background:var(--paper);color:#3a523d;box-shadow:0 1px 2px #203a2010}.week-strip{gap:9px;margin-bottom:22px;display:flex}.day-chip{color:#6b7465;background:#f0f1e9;border:1px solid #0000;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;min-height:76px;display:flex}.day-chip span{font-size:var(--text-small)}.day-chip strong{letter-spacing:-.04em;font-size:22px;font-weight:500}.day-chip i{background:#bac2ad;border-radius:50%;width:3px;height:3px;margin-top:3px}.day-chip.selected{background:var(--green);color:#fff;box-shadow:0 3px 8px #22563f12}.day-chip.selected i{background:#bdd1a6}.day-chip:is(:hover,:focus-visible):not(.selected){border-color:var(--hover-border);background:var(--hover-background);color:var(--hover-text)}.nutrition-card{background:linear-gradient(120deg,#eaf0e2,#e6efdf);border-radius:13px;padding:20px 24px 23px;position:relative;overflow:hidden}.nutrition-header{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.nutrition-header>span{font-size:var(--text-small);color:#5e7054;align-items:center;gap:7px;font-weight:600;display:flex}.nutrition-mini-icon{color:#6c875c;align-items:center;display:inline-flex}.nutrition-header button{font-size:var(--text-small);color:#5b7453;text-underline-offset:3px;align-items:center;gap:5px;text-decoration:underline;display:flex}.calorie-value{align-items:baseline;gap:8px;display:flex}.calorie-value>strong{letter-spacing:-1.6px;font-size:41px;font-weight:600;line-height:1.2}.calorie-value>span{font-size:var(--text-body);color:#64715d}.calorie-value .planned-badge{font-size:var(--text-small);color:#809075;letter-spacing:.01em;background:#f8faf271;border:1px solid #d4dfc9;border-radius:20px;align-self:center;margin-left:auto;padding:3px 8px}.calorie-progress{background:#d6e1ce;border-radius:10px;height:7px;margin-top:10px;overflow:hidden}.calorie-progress span{background:#4c7b53;border-radius:10px;height:100%;display:block}.macro-grid{grid-template-columns:1.5fr 1fr .75fr;gap:20px;margin-top:17px;display:grid}.macro-grid>div{position:relative}.macro-grid>div+div{border-left:1px solid #cbd8c0;padding-left:20px}.macro-grid div>span:first-child{font-size:var(--text-small);color:#65735b;margin-bottom:3px;display:block}.macro-grid strong{letter-spacing:-.02em;white-space:nowrap;font-size:18px;font-weight:600}.macro-grid small{font-size:var(--text-small);letter-spacing:0;font-weight:400}.tiny-check{color:#fff;vertical-align:text-top;background:#578467;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;margin-left:8px;display:inline-flex}.meals-heading{margin-top:25px;margin-bottom:14px}.meals-heading h2{font-size:var(--text-body)}.meal-list{flex-direction:column;gap:12px;display:flex}.meal-card{background:var(--paper);border:1px solid var(--border);border-radius:12px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.meal-card:hover{border-color:#cbd7c3;box-shadow:0 3px 12px #21352104}.meal-card-main{align-items:center;gap:17px;min-height:108px;padding:10px;display:flex}.meal-photo-button{border-radius:8px;flex-shrink:0;width:116px;height:89px;overflow:hidden}.meal-photo-button img{transition:transform .3s}.meal-photo-button:hover img{transform:scale(1.04)}.meal-info{flex:1;min-width:0}.meal-category{color:#618158;font-size:var(--text-small);margin-bottom:6px;font-weight:600;display:block}.meal-title{letter-spacing:-.025em;text-align:left;margin-bottom:9px;font-size:18px;font-weight:600;line-height:1.2;display:block}.meal-title:hover{color:var(--green)}.meal-meta{font-size:var(--text-small);color:#6e7569;flex-wrap:wrap;align-items:center;gap:7px;display:flex}.meal-meta i{background:#acb3a0;border-radius:50%;width:2px;height:2px}.meal-meta span:last-child{align-items:center;gap:3px;display:inline-flex}.meal-lock{color:#a6ad9c;align-self:flex-start;width:30px;height:30px;margin-top:13px;margin-right:5px}.meal-lock.is-locked{color:#4c6247;background:#eef1e6}.meal-card-footer{background:#f8f8f2;border-top:1px solid #eeeee6;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.meal-card-footer button{font-size:var(--text-small);color:#52684d;align-items:center;gap:7px;min-height:23px;display:flex}.meal-card-footer button:last-child{color:#919788;font-size:var(--text-small)}.planner-actions{gap:11px;margin-top:20px;display:flex}.planner-actions .button{font-size:var(--text-small);flex:1;gap:7px;padding:13px 8px}.nutrition-footnote{font-size:var(--text-small);color:#939a8c;text-align:center;margin:14px 0}.planner-aside{padding-top:0}.week-summary{padding:22px 20px}.week-summary .section-heading{margin-bottom:3px}.week-summary h3{font-size:var(--text-body)}.week-summary .muted{font-size:var(--text-small);margin-bottom:14px}.summary-days{flex-direction:column;gap:4px;display:flex}.summary-days button{text-align:left;color:#6d7964;border-radius:7px;align-items:center;gap:11px;min-height:53px;padding:7px 8px;display:flex}.summary-days button.active{background:#f0f3e8}.summary-date{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:30px;display:flex}.summary-date small{font-size:var(--text-small);color:#9aa28e}.summary-date strong{font-size:var(--text-control);font-weight:500}.summary-days button>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.summary-days button>span:nth-child(2)>strong{font-size:var(--text-small);color:#45553b;font-weight:500}.summary-days strong small{font-size:var(--text-small);color:#818c75;font-weight:400}.summary-days button>span:nth-child(2)>small{font-size:var(--text-small);color:#9aa28e}.summary-days button>svg{color:#849c6f}.summary-link{width:100%;font-size:var(--text-small);border-top:1px solid #eeeee4;justify-content:center;margin-top:15px;padding-top:15px}.summary-alert{width:16px;height:16px;color:var(--amber);font-size:var(--text-small);background:#f6e8d0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.shopping-promo{background:#e9ede1;border-radius:13px;margin-top:21px;padding:23px;position:relative;overflow:hidden}.promo-icon{color:#648058;background:#dbe5cf;border-radius:11px;place-items:center;width:44px;height:44px;margin-bottom:17px;display:grid}.shopping-promo h3{letter-spacing:-.055em;color:#46603c;font-family:Lora,serif;font-size:23px;font-weight:600;line-height:1.3}.shopping-promo p{font-size:var(--text-small);color:#8b967e;margin-top:10px;line-height:1.8}.shopping-promo button{width:100%;font-size:var(--text-small);color:#527147;border-top:1px solid #d6dfcc;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;font-weight:600;display:flex}.active-preferences{padding:26px 6px}.active-preferences .eyebrow{font-size:var(--text-small)}.active-preferences>div{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.active-preferences>div>span{color:#7a886d;font-size:var(--text-small);background:#eeefe6;border-radius:5px;align-items:center;gap:5px;padding:4px 7px;display:inline-flex}.active-preferences>button{font-size:var(--text-small);color:#839177;align-items:center;gap:4px;margin-top:12px;display:flex}.target-notice{color:#94702f;font-size:var(--text-small);background:#fcf3e3;border:1px solid #eddcbe;border-radius:10px;align-items:flex-start;gap:9px;margin-top:13px;padding:14px;display:flex}.target-notice strong{font-weight:600}.target-notice p{font-size:var(--text-small);margin-top:3px}.weekly-panel{margin-top:8px;padding:22px}.weekly-panel h2{font-size:19px}.weekly-head,.weekly-row{text-align:left;grid-template-columns:1.6fr 1fr 1fr 24px;align-items:center;gap:14px;width:100%;display:grid}.weekly-head{border-bottom:1px solid var(--border);font-size:var(--text-small);color:var(--muted);padding:12px 0}.weekly-row{font-size:var(--text-small);border-bottom:1px solid #eeeee6;padding:18px 0}.weekly-row:last-child{border:0}.weekly-row:is(:hover,:focus-visible){background:var(--hover-background)}.weekly-row>span:first-child{flex-direction:column;display:flex}.weekly-row strong{text-transform:capitalize;font-weight:500}.weekly-row small{font-size:var(--text-small);color:var(--muted)}.catalogue-count{font-size:var(--text-small);color:#87917d;align-items:center;gap:6px;display:inline-flex}.recipe-toolbar{align-items:center;gap:13px;margin-bottom:21px;display:flex}.search-field{background:var(--paper);border:1px solid var(--border);color:#949e88;border-radius:9px;flex:1;align-items:center;gap:11px;padding:13px 16px;display:flex}.search-field input{min-width:0;color:var(--dark);font-size:var(--text-small);background:0 0;border:0;outline:0;flex:1;padding:0}.search-field input::placeholder{color:#a0a796}.search-field:focus-within{outline:2px solid #79a887}.search-field button{display:flex}.recipe-category-tabs{flex-wrap:wrap;gap:9px;margin-bottom:28px;display:flex}.recipe-category-tabs button{font-size:var(--text-small);color:#849076;background:#f0f1e9;border-radius:20px;min-height:34px;padding:8px 17px}.recipe-category-tabs button.active{color:#527341;background:#dfe9d4;font-weight:600}.selected-filter{color:var(--green);background:#e6eddc;border-color:#bccfac}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.recipe-card{border:1px solid var(--border);background:var(--paper);border-radius:13px;transition:box-shadow .2s,border-color .2s;overflow:hidden}.recipe-card:hover{border-color:#cad5bf;box-shadow:0 7px 20px #29412709}.recipe-card-photo{height:190px;position:relative;overflow:hidden}.recipe-card-photo>button:first-child{width:100%;height:100%}.recipe-card-photo img{transition:transform .3s}.recipe-card-photo:hover img{transform:scale(1.03)}.time-badge{font-size:var(--text-small);color:#415639;background:#ffffffe8;border-radius:20px;align-items:center;gap:5px;padding:5px 9px;display:inline-flex;position:absolute;bottom:12px;left:12px}.favorite-overlay{color:#52614b;background:#ffffffe8;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:12px;right:12px}.is-favorite{color:#567643}.recipe-card-info{padding:18px 20px}.recipe-card-info>button{text-align:left;min-height:45px;display:block}.recipe-card-info h3{font-size:17px}.recipe-card-info>p{font-size:var(--text-small);color:#8a927f;margin-top:10px}.recipe-card-info>p span{margin:0 7px}.recipe-card-info>div:last-child{border-top:1px solid #eeeee5;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;display:flex}.recipe-card-info>div>span{font-size:var(--text-small);color:#839272;align-items:center;gap:5px;display:flex}.recipe-card-info .icon-button{color:#637d50;background:#f0f3e7;width:29px;height:29px}.empty-state{text-align:center;color:#7c8d6d;background:#f4f6ed;border:1px dashed #cdd9c0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:17px;padding:50px 20px;display:flex}.empty-state h2,.empty-state h3{color:#40573a}.empty-state p{font-size:var(--text-small);color:#88947d}.shopping-layout{grid-template-columns:minmax(0,1fr) 260px;gap:30px;display:grid}.shopping-progress-card{background:#eaf0e2;border:1px solid #e1e8d8;border-radius:12px;align-items:center;gap:17px;margin-bottom:30px;padding:21px 23px;display:flex}.shopping-progress-icon{color:#668458;background:#dbe5ce;border-radius:11px;place-items:center;width:47px;height:47px;display:grid}.shopping-progress-card>div{flex:1}.shopping-progress-card strong{font-size:var(--text-control);font-weight:600}.shopping-progress-card p{font-size:var(--text-small);color:#849273;margin:4px 0 9px}.shopping-progress{background:#d9e2ce;border-radius:4px;height:4px;overflow:hidden}.shopping-progress>span{background:#648b50;border-radius:4px;height:100%;transition:width .2s;display:block}.shopping-progress-count{color:#688456;letter-spacing:-.04em;font-size:29px}.shopping-progress-count small{font-size:var(--text-body);color:#a0b190;margin-left:3px}.shopping-group{margin-bottom:25px}.shopping-group .section-heading{flex-wrap:wrap;gap:4px 12px;margin-bottom:11px}.shopping-group h2{font-size:var(--text-body)}.shopping-group .section-heading>span,.shopping-group-count{text-align:center;min-width:23px;height:21px;font-size:var(--text-small);color:#98a18c;background:#edefe5;border-radius:5px;line-height:21px}.shopping-list-actions{margin-top:-15px;margin-bottom:18px}.shopping-group-actions{align-items:center;gap:12px;display:flex}.shopping-bulk-select{min-height:36px;font-size:var(--text-small);color:#547d50;cursor:pointer;align-items:center;gap:8px;font-weight:500;display:inline-flex}.shopping-bulk-select:hover{color:var(--green)}.bulk-checkbox{flex-shrink:0;place-items:center;display:inline-grid;position:relative}.bulk-checkbox input{appearance:none;background:var(--paper);cursor:pointer;border:1.4px solid #a9b69d;border-radius:5px;width:20px;height:20px;margin:0}.bulk-checkbox input:checked,.bulk-checkbox input:indeterminate{background:#547d50;border-color:#547d50}.bulk-checkbox input:focus-visible{outline-offset:3px;outline:3px solid #70a884}.bulk-checkbox svg{color:#fff;pointer-events:none;position:absolute}.shopping-rows{flex-direction:column;gap:7px;display:flex}.shopping-row{border:1px solid var(--border);background:var(--paper);border-radius:9px;overflow:hidden}.shopping-row-main{align-items:center;gap:13px;min-height:70px;padding:14px;display:flex}.check-box{color:#fff;border:1.4px solid #a9b69d;border-radius:5px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.checked .check-box{background:#547d50;border-color:#547d50}.shopping-row.checked .shopping-item-name>strong{color:#9ba28f;text-decoration:line-through}.shopping-row.checked .shopping-emoji{opacity:.58}.shopping-emoji{text-align:center;flex-shrink:0;width:35px;font-size:30px;line-height:1}.shopping-item-name{flex:1;min-width:0}.shopping-item-name strong{font-size:var(--text-small);font-weight:500;display:block}.shopping-item-name small{font-size:var(--text-small);color:#939a89;margin-top:3px;display:block}.shopping-item-name b{color:#586d4d;font-weight:600}.pantry-button{color:#8c9b7d;font-size:var(--text-small);align-items:center;gap:5px;min-height:32px;display:flex}.pantry-button:hover,.pantry-button.active{color:var(--green)}.pantry-edit{background:#f0f3e9;border-top:1px solid #e1e7d8;align-items:flex-end;gap:12px;padding:15px 20px 17px 95px;display:flex}.pantry-edit label{font-size:var(--text-small);flex:1}.pantry-edit .unit-input{background:var(--paper);margin-top:6px}.pantry-edit .button{height:38px;min-height:38px;font-size:var(--text-small);padding:9px 14px}.pantry-edit input{padding:9px}.pantry-explainer .mini-leaf{margin-bottom:18px}.pantry-explainer h3{letter-spacing:-.055em;font-family:Lora,serif;font-size:22px;line-height:1.4}.pantry-explainer p{font-size:var(--text-small);color:#8c977f;margin-top:13px;line-height:1.8}.pantry-example{font-size:var(--text-small);color:#a3ae94;background:#f2f5e9;border-radius:8px;justify-content:space-between;align-items:center;gap:4px;margin-top:20px;padding:14px 10px;display:flex}.pantry-example>span{font-size:var(--text-small);flex-direction:column;display:flex}.pantry-example strong{font-size:var(--text-small);color:#61794f;margin-top:4px;font-weight:500}.pantry-explainer>small{font-size:var(--text-small);color:#a4ad99;margin-top:13px;line-height:1.6;display:block}.shopping-summary{margin-top:20px}.shopping-summary h3{font-size:var(--text-body);margin-bottom:18px}.shopping-summary>div{font-size:var(--text-small);color:#8e9783;justify-content:space-between;margin-bottom:12px;display:flex}.shopping-summary strong{color:#5b7350;font-weight:500}.shopping-summary .text-button{font-size:var(--text-small);border-top:1px solid var(--border);width:100%;margin-top:5px;padding-top:16px}.add-product-inline{font-size:var(--text-small);color:#5d7b4b;align-items:center;gap:7px;padding:13px 5px;display:flex}.offline-note{color:#748967;font-size:var(--text-small);background:#eaf0e1;border:1px solid #e2e9d9;border-radius:9px;align-items:center;gap:9px;margin-top:20px;padding:14px 16px;display:flex}.offline-note>span{flex:1}.cooking-layout{grid-template-columns:minmax(0,1fr) 300px;gap:30px;display:grid}.back-link{color:#8a967f;font-size:var(--text-small);align-items:center;gap:7px;min-height:28px;margin-bottom:24px;display:inline-flex}.recipe-title{margin-bottom:22px}.recipe-title h1{max-width:550px;font-size:34px}.favorite-button{background:#eef1e7;border:1px solid #e2e8d9;flex-shrink:0;width:42px;height:42px}.recipe-hero{border-radius:13px;height:315px;position:relative;overflow:hidden}.recipe-hero img{object-position:50% 52%}.recipe-illustration{color:#597254;background:radial-gradient(at 50% 44%,#f7f6ed,#e9eddf);place-items:center;display:grid}.recipe-illustration-mark{background:#f8f9f080;border:1px solid #b7c7ad;border-radius:50%;justify-content:center;align-items:center;gap:4px;width:104px;height:104px;display:flex}.recipe-credits{border:1px solid var(--border);font-size:var(--text-small);overflow-wrap:anywhere;border-radius:12px;margin-top:18px;padding:20px;line-height:1.65}.recipe-credits h3,.recipe-credits a{align-items:center;gap:7px;display:flex}.recipe-credits h3{font-size:var(--text-small);margin:0 0 10px}.recipe-credits a{color:var(--green);text-decoration:underline}.recipe-credits p{margin:10px 0}.recipe-credit-links{flex-wrap:wrap;gap:6px 20px;display:flex}.recipe-credits details{margin:14px 0}.recipe-credits summary{cursor:pointer;font-weight:600}.portion-instruction-note{font-size:var(--text-small);margin:0 0 15px;line-height:1.5}.photo-caption{font-size:var(--text-small);color:#6d7863;background:#fffb;border-radius:4px;padding:4px 7px;position:absolute;bottom:12px;right:13px}.recipe-photo-badge{font-size:var(--text-small);color:#5c7251;background:#fffffff0;border-radius:6px;align-items:center;gap:6px;padding:7px 10px;display:flex;position:absolute;bottom:15px;left:16px}.recipe-description{font-size:var(--text-small);color:#8b9581;margin-top:18px}.recipe-macros{background:#f0f3e8;border-radius:10px;grid-template-columns:1.1fr 1fr 1fr 1fr;margin:20px 0 29px;padding:20px 17px;display:grid}.recipe-macros>div{text-align:center}.recipe-macros>div+div{border-left:1px solid #dce3d2}.recipe-macros strong{color:#4e6941;letter-spacing:-.03em;font-size:22px;font-weight:600}.recipe-macros strong small{font-size:var(--text-small);font-weight:400}.recipe-macros span{font-size:var(--text-small);color:#95a087;margin-top:4px;display:block}.ingredient-list{border:1px solid var(--border);background:var(--paper);border-radius:10px;overflow:hidden}.ingredient-row{align-items:center;gap:14px;min-height:60px;padding:14px 19px;display:flex}.ingredient-row+div{border-top:1px solid #edeee5}.ingredient-emoji{text-align:center;width:32px;font-size:27px}.ingredient-row>span:nth-child(2){font-size:var(--text-small);flex:1}.ingredient-row small{font-size:var(--text-small);color:#9aa38e;max-width:400px;margin-top:3px;line-height:1.6;display:block}.ingredient-row strong{font-weight:500;font-size:var(--text-small);color:#6d7f61;white-space:nowrap}.source-link{font-size:var(--text-small);color:#9aa58e;align-items:center;gap:5px;margin-top:13px;display:flex}.cooking-panel{padding-top:91px}.portion-panel{padding:21px}.portion-panel h3{font-size:var(--text-control)}.portion-switch{background:#f1f3e9;border:1px solid #e4e8db;border-radius:8px;gap:3px;padding:3px;display:flex}.portion-switch button{font-size:var(--text-small);color:#89967b;border-radius:6px;flex:1;padding:10px 7px}.portion-switch button[aria-pressed=true]{background:var(--green);color:#fff}.portion-panel p{font-size:var(--text-small);color:#96a088;margin-top:13px;line-height:1.7}.cooking-steps{flex-direction:column;min-height:350px;margin-top:20px;padding:24px;display:flex}.step-meta{flex-direction:column;gap:9px;display:flex}.step-meta .eyebrow{font-size:var(--text-small)}.step-meta>span:last-child{font-size:var(--text-small);color:#879679}.cooking-step-number{color:#cfdbc1;letter-spacing:-.06em;margin:20px 0 16px;font-family:Lora,serif;font-size:42px;line-height:1;display:block}.cooking-steps h2{letter-spacing:-.035em;margin-bottom:25px;font-size:19px;font-weight:500;line-height:1.55}.step-navigation{justify-content:space-between;align-items:center;margin-top:auto;margin-bottom:18px;display:flex}.step-navigation>.icon-button{color:#7d9069;background:#f1f2e8;width:33px;height:33px}.step-dots{gap:7px;display:flex}.step-dots button{background:#dfe4d5;border-radius:50%;width:7px;height:7px;position:relative}.step-dots button:after{content:"";position:absolute;inset:-9px}.step-dots button.active{background:#6e8c56}.cooking-steps .button{font-size:var(--text-small)}.quiet-note{text-align:center;font-size:var(--text-small);color:#a0ac92;margin-top:24px;line-height:1.8}.quiet-note svg{color:#96aa80;margin:0 auto 9px;display:block}input,select{background:var(--paper);font-size:var(--text-small);color:#3e5738;border:1px solid #dfe4d5;border-radius:7px;width:100%;min-width:0;padding:11px 12px}input[type=checkbox]{accent-color:var(--green);cursor:pointer;flex-shrink:0;width:15px;height:15px;margin:0}input[type=file]{width:auto}label{font-size:var(--text-small);color:#6e7f60;font-weight:500}select{cursor:pointer}input::placeholder{color:#b0b9a3;font-weight:400}.preferences-form h3{margin-top:7px;font-size:19px}.preferences-form .muted{font-size:var(--text-small);margin-top:7px}.form-section{margin-bottom:28px}.field-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.optional{color:var(--muted);margin-left:5px;font-size:.75rem;font-weight:400}.unit-input{background:var(--paper);border:1px solid #dfe4d5;border-radius:7px;align-items:center;margin-top:7px;display:flex;overflow:hidden}.unit-input:focus-within{outline:2px solid #79a887}.unit-input input{width:100%;font-size:var(--text-small);background:0 0;border:0;border-radius:0;outline:0;padding:12px}.unit-input>span{font-size:var(--text-small);color:#9eaa90;padding:0 13px}.diet-options{flex-direction:column;gap:8px;margin-top:15px;display:flex}.diet-option{text-align:left;background:#fbfcf7;border:1px solid #e2e7d9;border-radius:9px;align-items:center;gap:12px;padding:12px;display:flex}.diet-option:is(:hover,:focus-visible){border-color:var(--hover-border)}.diet-option.selected{background:#eef4e5;border-color:#8ca671}.diet-emoji{text-align:center;width:32px;font-size:23px}.diet-option>span:nth-child(2){flex:1}.diet-option strong{font-size:var(--text-small);font-weight:500;display:block}.diet-option small{color:#96a184;font-size:var(--text-small);margin-top:2px;display:block}.diet-check{border:1px solid #d2ddc4;border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.selected .diet-check{color:#fff;background:#63864b;border-color:#63864b}.meal-preferences{margin-top:24px}.meal-preferences>h3{margin-bottom:4px}.meal-preferences>.muted{margin-top:0}.meal-preference-rows{border:1px solid var(--border);background:var(--paper);border-radius:9px;padding:4px 14px}.meal-preference-row{border:0;grid-template-columns:minmax(100px,1fr) minmax(0,360px);align-items:center;gap:12px;min-width:0;margin:0;padding:10px 0;display:grid}.meal-preference-row+.meal-preference-row{border-top:1px solid var(--border)}.meal-preference-row>legend{float:left;font-size:var(--text-small);padding:0;font-weight:500}.meal-preference-options{border:1px solid var(--border);background:var(--paper);border-radius:7px;gap:3px;min-width:0;padding:3px;display:flex}.meal-preference-option{cursor:pointer;flex:1;min-width:0;position:relative}.meal-preference-option input{opacity:0;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute}.meal-preference-option>span{min-height:44px;color:var(--dark);font-size:var(--text-small);white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:7px 5px;font-weight:500;display:flex}.meal-preference-option input:checked+span{background:var(--green);color:var(--paper)}.meal-preference-option input:focus-visible+span{outline:3px solid var(--focus-ring);outline-offset:2px}.meal-preference-option:hover input:not(:checked):not(:disabled)+span{background:var(--hover-background)}.meal-preference-option:has(input:disabled){cursor:default;opacity:.46}.meal-preference-warning{color:var(--amber);font-size:var(--text-small)}@media (max-width:600px){.meal-preference-row{grid-template-columns:1fr;gap:7px}.meal-preference-option>span{white-space:normal;gap:3px;font-size:.8125rem}.meal-preference-option svg{display:none}}.secondary-fields{margin-top:18px}.secondary-fields .dropdown{margin-top:7px}.snack-choice{align-items:center;gap:9px;padding-top:20px;display:flex}.snack-choice strong{font-size:var(--text-small);font-weight:500;display:block}.snack-choice small{font-size:var(--text-small);color:#9da990;margin-top:2px;display:block}.exclusion-toggle{font-size:var(--text-small);margin-top:16px}.exclusion-list{border:1px solid var(--border);background:#f7f9f1;border-radius:8px;grid-template-columns:1fr 1fr;gap:10px;max-height:250px;margin-top:8px;padding:12px;display:grid;overflow:auto}.exclusion-list label{font-size:var(--text-small);color:#879577;align-items:center;gap:7px;font-weight:400;display:flex}.field-note{font-size:var(--text-small);color:#9aab89;margin-top:13px;margin-bottom:13px;line-height:1.7}.error{font-size:var(--text-small);color:#a5523d;margin:10px 0}.settings-layout{grid-template-columns:minmax(0,1fr) 290px;gap:30px;display:grid}.settings-panel{padding:29px}.backup-panel h3{margin-top:15px;font-family:Lora,serif;font-size:21px;line-height:1.4}.backup-panel p{font-size:var(--text-small);color:#8e9c7c;margin:15px 0 20px;line-height:1.8}.backup-panel .button+.button{margin-top:9px}.backup-panel .button{font-size:var(--text-small)}.about-panel{margin-top:20px}.about-panel .brand{font-size:24px}.about-panel .brand svg{width:23px}.about-panel>p{font-size:var(--text-small);color:#95a086;margin-top:12px;line-height:1.8}.about-panel .eyebrow{font-size:var(--text-small);margin-top:21px}.about-panel .text-button{font-size:var(--text-small);margin-top:9px}.onboarding{max-width:1440px;margin:auto;padding:31px 68px 45px}.onboarding-header{justify-content:space-between;align-items:center;margin-bottom:43px;display:flex}.onboarding-header>span:not(.brand){font-size:var(--text-small);color:#8c9b7c;align-items:center;gap:7px;display:flex}.onboarding-layout{grid-template-columns:minmax(0,1fr) 480px;align-items:start;gap:72px;margin-top:24px;display:grid}.onboarding-copy{padding-top:20px}.pill{font-size:var(--text-small);letter-spacing:.1em;color:#708b5e;background:#eaf0e0;border-radius:20px;align-items:center;gap:7px;padding:7px 12px;font-weight:600;display:inline-flex}.onboarding h1{letter-spacing:-.055em;margin-top:25px;font-size:55px;font-weight:500;line-height:1.13}.onboarding h1 em{color:#7d9468;letter-spacing:-.07em;font-family:Lora,serif;font-size:49px;font-style:normal;font-weight:600}.onboarding-copy>p{font-size:var(--text-small);color:#8b987e;margin-top:23px;line-height:1.85}.journey{color:#b6c1a9;align-items:center;gap:16px;margin-top:25px;display:flex}.journey>span{font-size:var(--text-small);color:#728866;align-items:center;gap:7px;display:flex}.journey>span svg{width:17px;height:17px}.journey>svg{width:13px}.onboarding-image{border:1px solid #e8e4d6;border-radius:15px;height:244px;margin-top:29px;position:relative;overflow:hidden}.onboarding-image>img{object-fit:cover;object-position:50% 50%;width:100%;height:100%}.image-caption{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffef5ee;border:1px solid #fffa;border-radius:9px;align-items:center;gap:10px;padding:13px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.caption-icon{color:#789563;background:#e9efdf;border-radius:50%;place-items:center;width:33px;height:33px;display:grid}.caption-icon svg{width:17px}.image-caption strong{font-size:var(--text-small);color:#5d7450;font-weight:500;display:block}.image-caption small{font-size:var(--text-small);color:#9aa48d;margin-top:2px;display:block}.privacy-note{color:#a1ad93;font-size:var(--text-small);align-items:center;gap:7px;margin-top:20px;display:flex}.onboarding-card{background:var(--paper);border:1px solid #e5e9dd;border-radius:16px;padding:30px;box-shadow:0 10px 45px #213b1804}.setup-heading{border-bottom:1px solid #e9ede0;align-items:center;gap:13px;margin-bottom:28px;padding-bottom:23px;display:flex}.step-number{color:#77975c;background:#ecf2e1;border-radius:11px;place-items:center;width:43px;height:43px;font-family:Lora,serif;font-size:20px;display:grid}.setup-heading h2{font-size:20px}.setup-heading p{font-size:var(--text-small);color:#9aaa8b;margin-top:5px}.onboarding-card .form-section{margin-bottom:25px}.onboarding-card .eyebrow{font-size:var(--text-small)}.onboarding-card .preferences-form h3{font-size:17px}.onboarding-card .preferences-form .muted{font-size:var(--text-small)}.demo-link{font-size:var(--text-small);color:#a1ad91;border-top:1px solid #eaeee2;flex-direction:column;align-items:center;gap:6px;margin-top:22px;padding-top:19px;display:flex}.demo-link button{font-size:var(--text-small);color:#719155;align-items:center;gap:4px;font-weight:500;display:flex}.dialog{background:var(--paper);width:calc(100% - 40px);max-width:640px;max-height:calc(100dvh - 50px);color:var(--dark);border:1px solid #d9e1cf;border-radius:16px;padding:0;overflow:auto;box-shadow:0 20px 90px #17341c20}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#152c2359}.dialog-inner{padding:27px}.dialog-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.dialog-header h2{font-size:24px}.dialog-field{margin:19px 0;display:block}.dialog-field input,.dialog-field .dropdown{margin-top:8px}.dialog .field-grid,.dialog .field-grid .dialog-field{margin-top:0}.dialog .muted{font-size:var(--text-small);margin-bottom:15px}.dialog-actions{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.warning-text{font-size:var(--text-small);color:#9a7134;margin-top:18px}.dialog p{font-size:var(--text-small);line-height:1.8}.swap-options{flex-direction:column;gap:10px;margin-top:20px;display:flex}.swap-options>button{border:1px solid var(--border);text-align:left;border-radius:10px;align-items:center;gap:14px;padding:9px;display:flex}.swap-options>button:is(:hover,:focus-visible){background:var(--hover-background)}.swap-options img{border-radius:7px;width:73px;height:67px}.swap-options>button>span{flex:1}.swap-options strong{font-size:var(--text-small);font-weight:500;display:block}.swap-options small{font-size:var(--text-small);color:#8a997b;margin-top:5px;display:block}.swap-options>button>svg{color:#94a480;margin-right:5px}.sources-content p{color:#849376;margin-bottom:17px}.sources-content a{font-size:var(--text-small);align-items:center;gap:5px;display:inline-flex}.sources-content details{font-size:var(--text-small);color:#75886a;margin-top:22px}.sources-content details p{font-size:var(--text-small)}.sources-content summary{cursor:pointer;margin-bottom:17px}.toast{color:#f4f8ed;z-index:90;width:max-content;max-width:520px;font-size:var(--text-small);background:#244f3a;border:1px solid #5d7d4d;border-radius:11px;align-items:center;gap:10px;padding:15px 19px;display:flex;position:fixed;bottom:28px;left:calc(50% + 111px);transform:translate(-50%);box-shadow:0 8px 30px #263b2220}.toast svg{color:#b3cba1}.toast button{margin-left:12px;display:flex}.busy-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;color:#5d7c48;background:#fafcf1d9;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.busy-overlay svg{width:40px;height:40px;animation:1s ease-in-out infinite alternate pulse}.busy-overlay strong{font-size:var(--text-body);font-weight:500}@keyframes pulse{0%{opacity:.4;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}@media (min-width:1550px){.planner-layout{grid-template-columns:minmax(0,1fr) 285px;gap:35px}.meal-card-main{min-height:123px}.meal-photo-button{width:140px;height:105px}.meal-title{font-size:20px}.meal-meta{font-size:var(--text-small)}.week-summary{padding:25px}.nutrition-card{padding:25px 28px}.calorie-value>strong{font-size:46px}}@media (max-width:1200px){.sidebar{width:196px;padding:30px 17px}.sidebar .brand{font-size:24px}.app-body{margin-left:196px}.topbar{padding:0 30px}.main-content{padding:34px 30px 36px}.planner-layout{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.planner-aside .panel{padding:18px 14px}.meal-card-main{gap:12px}.meal-photo-button{width:94px;height:82px}.meal-title{font-size:var(--text-body)}.meal-meta{font-size:var(--text-small);gap:5px}.meal-lock{margin-right:0}.nutrition-card{padding:19px}.macro-grid{gap:10px}.macro-grid>div+div{padding-left:14px}.macro-grid strong{font-size:var(--text-body)}.tiny-check{width:14px;height:14px;margin-left:3px}.planner-actions .button{font-size:var(--text-small)}.shopping-promo{padding:20px}.recipe-grid{gap:15px}.recipe-card-photo{height:160px}.recipe-card-info{padding:16px}.recipe-card-info h3{font-size:var(--text-control)}.shopping-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.shopping-row-main{gap:9px}.pantry-button span{display:none}.shopping-aside .panel{padding:19px}.cooking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.recipe-title h1{font-size:29px}.cooking-panel{padding-top:86px}.recipe-hero{height:270px}.recipe-macros{padding:18px 8px}.recipe-macros strong{font-size:19px}.settings-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.settings-panel{padding:24px}.onboarding{padding:30px 45px}.onboarding-layout{grid-template-columns:minmax(0,1fr) 440px;gap:40px}.onboarding h1{font-size:49px}.onboarding h1 em{font-size:42px}.onboarding-card{padding:25px}.onboarding-image{height:224px}.toast{left:calc(50% + 98px)}}@media (max-width:1000px) and (min-width:701px){.sidebar{width:85px;padding:28px 14px}.sidebar .brand{font-size:0}.sidebar .brand svg{width:32px;height:32px}.sidebar .brand-dot,.sidebar-intro,.sidebar-bottom p,.device-status,.nav-item>span,.nav-badge{display:none}.sidebar nav{margin-top:55px}.nav-item{justify-content:center;padding:14px}.sidebar-bottom{margin-bottom:5px;padding:0}.brand-drawing{margin:0}.brand-drawing svg{width:40px;height:40px}.app-body{margin-left:85px}.planner-layout{grid-template-columns:minmax(0,1fr) 210px}.topbar{height:72px}.page-title h1{font-size:34px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card-photo{height:190px}.cooking-layout{grid-template-columns:minmax(0,1fr) 255px}.cooking-steps{padding:20px}.cooking-steps h2{font-size:17px}.onboarding{padding:24px 30px}.onboarding-layout{grid-template-columns:minmax(0,1fr) 400px;gap:26px}.onboarding h1{font-size:40px}.onboarding h1 em{font-size:35px}.onboarding-copy>p{font-size:var(--text-small)}.journey{gap:10px}.onboarding-image{height:220px}.onboarding-header{margin-bottom:29px}.onboarding-card{padding:23px}.toast{left:calc(50% + 42px)}}@media (max-width:700px){.sidebar{display:none}.app-body{margin-left:0}.topbar{background:var(--paper);height:68px;padding:0 21px}.mobile-brand{display:block}.mobile-brand .brand{font-size:25px}.mobile-brand .brand svg{width:23px}.breadcrumb,.topbar-status>span{display:none}.topbar-status>svg{width:15px}.profile-button{width:33px;height:33px;margin-left:11px}.main-content{min-height:calc(100vh - 160px);padding:27px 20px}.page-title{align-items:flex-start;gap:12px;margin-bottom:22px}.page-title h1{font-size:32px}.page-title .eyebrow{font-size:var(--text-small);margin-bottom:9px}.page-title p{font-size:var(--text-small)}.generate-top{border-radius:8px;flex-shrink:0;gap:0;min-height:38px;padding:10px;font-size:0}.generate-top svg{width:19px;height:19px}.page-title .button{margin-top:26px}.planner-layout{display:block}.planner-aside{display:none}.week-toolbar{margin-bottom:13px}.week-toolbar>span{font-size:var(--text-small)}.view-toggle button{font-size:var(--text-small);min-height:25px;padding:4px 11px}.week-strip{gap:6px;margin-bottom:18px}.day-chip{border-radius:9px;min-height:68px}.day-chip strong{font-size:20px}.day-chip span{font-size:var(--text-small)}.nutrition-card{padding:18px 17px}.nutrition-header>span,.nutrition-header button{font-size:var(--text-small)}.calorie-value>strong{font-size:36px}.calorie-value>span{font-size:var(--text-small)}.calorie-value .planned-badge{font-size:var(--text-small);padding:3px 6px}.macro-grid{grid-template-columns:1.4fr 1fr .8fr;gap:9px;margin-top:16px}.macro-grid>div+div{padding-left:11px}.macro-grid strong{font-size:17px}.macro-grid small,.macro-grid div>span:first-child{font-size:var(--text-small)}.tiny-check{width:14px;height:14px;margin-left:4px}.tiny-check svg{width:10px}.meals-heading{margin-top:24px}.meals-heading h2{font-size:var(--text-control)}.section-heading>span{font-size:var(--text-small)}.meal-list{gap:11px}.meal-card-main{gap:12px;min-height:100px;padding:9px}.meal-photo-button{width:82px;height:78px}.meal-title{font-size:var(--text-control);margin-bottom:6px;line-height:1.3}.meal-category{font-size:var(--text-small);margin-bottom:5px}.meal-meta{font-size:var(--text-small);gap:4px;line-height:1.8}.meal-lock{width:26px;height:26px;margin-top:7px;margin-right:0}.meal-lock svg{width:16px;height:16px}.meal-card-footer{padding:7px 12px}.meal-card-footer button,.meal-card-footer button:last-child{font-size:var(--text-small)}.planner-actions{flex-direction:column;gap:9px;margin-top:19px}.planner-actions .button{width:100%;font-size:var(--text-small);padding:13px}.planner-actions .primary{order:-1}.nutrition-footnote{font-size:var(--text-small);margin-bottom:0}.app-footer{font-size:var(--text-small);padding:18px 20px 100px}.app-footer span:last-child{display:none}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;padding:9px 8px max(12px, env(safe-area-inset-bottom));background:#fffefaf5;border-top:1px solid #e1e6d7;justify-content:space-around;min-height:70px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:62px;font-size:var(--text-small);color:#95a188;flex-direction:column;align-items:center;gap:4px;padding:4px 7px;text-decoration:none;display:flex}.bottom-nav a.active{color:#3e6947}.bottom-nav a.active svg{stroke-width:2.3px}.bottom-nav span{font-weight:500}.demo-banner,.warning-banner,.update-banner{font-size:var(--text-small);align-items:flex-start;gap:9px;padding:10px 20px}.demo-banner span{align-items:flex-start;line-height:1.7}.demo-banner button{font-size:var(--text-small);gap:3px;padding-top:3px}.demo-banner button svg{width:12px}.catalogue-count{display:none}.recipe-toolbar{gap:8px}.recipe-toolbar .button{font-size:var(--text-small);gap:5px;padding:11px}.search-field{gap:8px;padding:12px}.search-field input{font-size:var(--text-small)}.recipe-category-tabs{gap:6px;margin-bottom:20px}.recipe-category-tabs button{font-size:var(--text-small);min-height:31px;padding:7px 12px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-card-photo{height:146px}.recipe-card-info{padding:12px}.recipe-card-info>button{min-height:43px}.recipe-card-info h3{font-size:var(--text-small);line-height:1.35}.recipe-card-info>p{font-size:var(--text-small);margin-top:8px}.recipe-card-info>p span{margin:0 4px}.recipe-card-info>div:last-child{gap:2px;margin-top:12px;padding-top:8px}.recipe-card-info>div>span{font-size:var(--text-small);gap:3px}.recipe-card-info>div>span>svg{width:11px}.recipe-card-info .icon-button{flex-shrink:0;width:23px;height:23px}.recipe-card-info .icon-button svg{width:15px}.time-badge{font-size:var(--text-small);padding:4px 7px;bottom:9px;left:9px}.favorite-overlay{width:29px;height:29px;top:9px;right:9px}.favorite-overlay svg{width:15px}.shopping-layout{display:block}.shopping-aside{display:none}.page-title>.button:not(.generate-top){font-size:var(--text-small);white-space:nowrap;gap:5px;min-height:37px;padding:10px 11px}.page-title>.button svg{width:15px}.shopping-progress-card{gap:12px;margin-bottom:26px;padding:18px 16px}.shopping-progress-icon{width:42px;height:42px}.shopping-progress-card strong,.shopping-progress-card p{font-size:var(--text-small)}.shopping-progress-count{font-size:25px}.shopping-progress-count small{font-size:var(--text-small)}.shopping-group{margin-bottom:24px}.shopping-group h2{font-size:var(--text-control)}.shopping-row-main{gap:10px;min-height:67px;padding:12px 10px}.shopping-item-name strong,.shopping-item-name small{font-size:var(--text-small)}.shopping-emoji{width:27px;font-size:25px}.pantry-button span{display:none}.pantry-button{justify-content:center;width:27px;height:32px}.check-box{width:22px;height:22px}.pantry-edit{padding:14px 14px 14px 53px}.cooking-layout{display:block}.recipe-title h1{font-size:29px}.recipe-title .eyebrow{font-size:var(--text-small)}.back-link{font-size:var(--text-small);margin-bottom:19px}.recipe-hero{height:255px}.recipe-description{font-size:var(--text-small)}.recipe-macros{margin-top:17px;padding:17px 7px}.recipe-macros strong{font-size:21px}.recipe-macros strong small,.recipe-macros span{font-size:var(--text-small)}.ingredient-row{gap:10px;padding:13px 14px}.ingredient-row>span:nth-child(2),.ingredient-row small,.ingredient-row strong{font-size:var(--text-small)}.ingredient-emoji{width:27px;font-size:24px}.cooking-panel{padding-top:25px}.portion-panel{padding:18px}.portion-panel h3{font-size:var(--text-control)}.portion-switch button{font-size:var(--text-small);padding:10px}.cooking-steps{min-height:310px;padding:22px}.step-meta{flex-direction:row;justify-content:space-between;align-items:center}.cooking-step-number{margin:22px 0 14px;font-size:40px}.cooking-steps h2{font-size:21px}.step-navigation{margin-top:5px}.cooking-steps .button{font-size:var(--text-small);padding:15px}.quiet-note{display:none}.settings-layout{display:block}.settings-panel{padding:21px 19px}.settings-layout aside{margin-top:20px}.backup-panel,.about-panel{padding:22px}.preferences-form h3{font-size:18px}.preferences-form .eyebrow,.preferences-form .muted{font-size:var(--text-small)}.field-grid{gap:12px;margin-top:18px}.optional{height:12px;margin-left:0;display:block}.preferences-form .field-grid label:first-child>.unit-input{margin-top:19px}.secondary-fields{grid-template-columns:1fr}.secondary-fields .dropdown{width:100%}.snack-choice{padding-top:3px}.exclusion-list{grid-template-columns:1fr}.form-section{margin-bottom:23px}.toast{font-size:var(--text-small);gap:8px;width:calc(100% - 32px);max-width:450px;padding:13px 15px;bottom:87px;left:50%}.toast button{margin-left:auto}.dialog{border-radius:13px;width:calc(100% - 24px);max-height:calc(100dvh - 32px)}.dialog-inner{padding:21px}.dialog-header{gap:13px;margin-bottom:18px}.dialog-header h2{font-size:21px}.dialog-header .icon-button{flex-shrink:0}.swap-options>button{gap:11px}.swap-options img{width:64px;height:62px}.swap-options strong,.swap-options small{font-size:var(--text-small)}.onboarding{padding:23px 20px 35px}.onboarding-header{margin-bottom:27px}.onboarding-header .brand{font-size:27px}.onboarding-header>span:not(.brand){display:none}.onboarding-layout{flex-direction:column;gap:27px;margin-top:16px;display:flex}.onboarding-copy{width:100%;padding-top:0}.onboarding h1{margin-top:19px;font-size:43px;line-height:1.14}.onboarding h1 em{font-size:37px}.onboarding-copy>p{font-size:var(--text-small);margin-top:17px;line-height:1.85}.journey{gap:14px;margin-top:18px}.journey>span{font-size:var(--text-small)}.journey>span svg{width:16px}.onboarding-image{height:200px;margin-top:22px}.image-caption{gap:9px;padding:11px;bottom:11px;left:11px;right:11px}.image-caption strong,.image-caption small{font-size:var(--text-small)}.caption-icon{width:30px;height:30px}.privacy-note{font-size:var(--text-small);margin-top:14px}.onboarding-card{border-radius:13px;width:100%;padding:23px 20px}.setup-heading h2{font-size:18px}.setup-heading p{font-size:var(--text-small)}.setup-heading{gap:12px}.onboarding-card .preferences-form h3{font-size:17px}.onboarding-card .optional{display:block}.onboarding-card .field-grid label:first-child>.unit-input{margin-top:19px}.pill{font-size:var(--text-small)}.desktop-only{display:none}}@media (max-width:370px){.main-content{padding-left:15px;padding-right:15px}.macro-grid{gap:6px}.macro-grid strong{font-size:var(--text-body)}.macro-grid small{font-size:var(--text-small)}.macro-grid>div+div{padding-left:8px}.tiny-check{display:none}.meal-photo-button{width:73px}.meal-title{font-size:var(--text-small)}.meal-card-main{gap:9px}.calorie-value .planned-badge{display:none}.recipe-grid{gap:9px}.recipe-card-info{padding:10px}.recipe-card-photo{height:125px}.onboarding h1{font-size:38px}.onboarding h1 em{font-size:32px}.page-title>.button:not(.generate-top){font-size:var(--text-small)}}input,select,textarea,.search-field input,.unit-input input{font-size:var(--text-body);line-height:1.5}.page-title p,.recipe-description,.shopping-item-name strong,.ingredient-row>span:nth-child(2),.ingredient-row strong,.onboarding-copy>p,.cooking-steps p{font-size:var(--text-body);line-height:1.6}.button,.text-button,.nav-item,.planner-actions .button,.recipe-toolbar .button,.page-title>.button:not(.generate-top),.meal-card-footer button,.meal-card-footer button:last-child,.view-toggle button,.recipe-category-tabs button,.portion-switch button,.cooking-steps .button,.diet-option strong,.snack-choice strong{font-size:var(--text-control);line-height:1.5}.meal-title,.recipe-card-info h3{font-size:18px;line-height:1.4}.meal-card-footer,.manual-meal-actions,.nutrition-header,.calorie-value,.week-toolbar,.shopping-group-actions,.recipe-card-info>div:last-child,.recipe-category-tabs,.demo-banner,.update-banner,.warning-banner{flex-wrap:wrap;gap:8px 12px}.recipe-card-info>div:last-child>.icon-button{margin-left:auto}.meal-card-footer button,.view-toggle button{min-height:36px}.shopping-item-name,.ingredient-row>span:nth-child(2),.summary-days button>span:nth-child(2),.shopping-progress-card>div{overflow-wrap:anywhere;min-width:0}.shopping-emoji,.ingredient-emoji,.diet-check,.shopping-progress-icon,.meal-card-footer svg{flex-shrink:0}.recipe-macros,.macro-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.macro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.macro-grid>div+div{padding-left:12px}.macro-grid strong{white-space:normal}.recipe-macros span,.macro-grid div>span:first-child{overflow-wrap:anywhere}@media (max-width:700px){.page-title{flex-wrap:wrap}.generate-top{gap:8px}.page-title-actions{flex-direction:row;justify-content:flex-start;width:100%}.page-title .page-title-actions .button{margin-top:0}.recipe-toolbar{flex-wrap:wrap}.recipe-toolbar .search-field{flex-basis:100%}.recipe-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.recipe-card-info{padding:16px}.recipe-card-photo{height:190px}.bottom-nav a{flex:1;min-width:0;padding-inline:4px}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:68px;padding-block:12px}.macro-grid{gap:8px}.macro-grid>div+div{padding-left:8px}.recipe-macros{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 0}.recipe-macros>div:nth-child(3){border-left:0}.field-grid,.exclusion-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--hover-background:#e9edde;--hover-text:#183128;--hover-border:#a7b598;--action-hover:#174a34;--focus-ring:#22563f}.theme-selector{border:1px solid var(--border);background:var(--paper);border-radius:9px;gap:3px;padding:4px;display:inline-flex}.theme-selector button{min-height:36px;font-size:var(--text-small);color:var(--muted);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;display:inline-flex}.theme-selector button[aria-pressed=true]{background:var(--sage);color:var(--green)}.theme-selector button:hover{color:var(--green)}.theme-selector.compact{margin-left:12px;padding:3px}.theme-selector.compact button{width:30px;min-height:30px;padding:6px}.appearance-panel{margin-bottom:20px}.appearance-panel p{font-size:var(--text-small);margin:10px 0 16px}.onboarding-actions,.onboarding-tagline{align-items:center;gap:7px;display:flex}.onboarding-tagline{font-size:var(--text-small);color:var(--muted)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e7eee5;--green:#a3d4b4;--dark:#e7eee5;--sage:#2c3d2f;--paper:#1c2720;--muted:#afbaaa;--border:#3b4b3e;--amber:#edbf77;--surface:#233026;--raised:#304233;--action:#275b43;--hover-background:#304233;--hover-text:#e7eee5;--hover-border:#78997b;--action-hover:#346e52;--focus-ring:#a3d4b4;background:#141b17}:root[data-theme=dark] body :where(.eyebrow,.title-dot,.brand-dot,.sidebar-intro .eyebrow,.sidebar-intro p,.nav-item,.sidebar-bottom p,.device-status,.breadcrumb,.breadcrumb svg,.topbar-status,.app-footer,.week-toolbar>span,.view-toggle button,.day-chip,.nutrition-header>span,.calorie-value>span,.calorie-value .planned-badge,.macro-grid div>span:first-child,.meal-meta,.meal-lock,.meal-card-footer button:last-child,.nutrition-footnote,.summary-days button,.summary-date small,.summary-days strong small,.summary-days button>span:nth-child(2)>small,.shopping-promo p,.active-preferences>div>span,.active-preferences>button,.catalogue-count,.search-field,.recipe-category-tabs button,.recipe-card-info>p,.recipe-card-info>div>span,.empty-state p,.shopping-progress-card p,.shopping-progress-count small,.shopping-group .section-heading>span,.shopping-group-count,.shopping-row.checked .shopping-item-name>strong,.shopping-item-name small,.pantry-button,.pantry-explainer p,.pantry-example,.pantry-explainer>small,.shopping-summary>div,.back-link,.recipe-description,.recipe-macros span,.ingredient-row small,.source-link,.portion-switch button,.portion-panel p,.step-meta>span:last-child,.cooking-step-number,.quiet-note,label,.unit-input>span,.diet-option small,.snack-choice small,.exclusion-list label,.field-note,.backup-panel p,.about-panel>p,.onboarding-copy>p,.journey,.journey>span,.image-caption small,.privacy-note,.setup-heading p,.demo-link,.swap-options small,.sources-content p,.sources-content details,.bottom-nav a){color:var(--muted)}:root[data-theme=dark] .optional{color:#8f9c89}:root[data-theme=dark] body :where(.view-toggle button.active,.summary-days button>span:nth-child(2)>strong,.shopping-promo h3,.empty-state h2,.empty-state h3,.shopping-item-name b,.pantry-example strong,.shopping-summary strong,.recipe-macros strong,.ingredient-row strong,input,select,.image-caption strong){color:var(--dark)}:root[data-theme=dark] body :where(.brand-drawing,.profile-button,.demo-banner,.update-banner,.nutrition-mini-icon,.nutrition-header button,.meal-category,.meal-lock.is-locked,.meal-card-footer button,.summary-days button>svg,.promo-icon,.shopping-promo button,.recipe-category-tabs button.active,.is-favorite,.recipe-card-info .icon-button,.empty-state,.shopping-progress-icon,.shopping-progress-count,.add-product-inline,.shopping-bulk-select,.offline-note,.recipe-photo-badge,.step-navigation>.icon-button,.quiet-note svg,.pill,.onboarding h1 em,.caption-icon,.step-number,.demo-link button,.swap-options>button>svg,.busy-overlay,.pantry-button:hover,.pantry-button.active,.bottom-nav a.active){color:var(--green)}:root[data-theme=dark] .sidebar{background:#19231c}:root[data-theme=dark] body :where(.subtle,.view-toggle,.day-chip,.meal-card-footer,.active-preferences>div>span,.recipe-category-tabs button,.empty-state,.shopping-group .section-heading>span,.shopping-group-count,.pantry-edit,.pantry-example,.portion-switch,.step-navigation>.icon-button,.diet-option,.exclusion-list,.step-dots button){background:var(--surface)}:root[data-theme=dark] body :where(.mini-leaf,.nav-badge,.profile-button,.demo-banner,.update-banner,.meal-lock.is-locked,.summary-days button.active,.shopping-promo,.recipe-category-tabs button.active,.selected-filter,.recipe-card-info .icon-button,.shopping-progress-card,.shopping-progress-icon,.offline-note,.favorite-button,.recipe-macros,.diet-option.selected,.pill,.caption-icon,.step-number){background:var(--sage)}:root[data-theme=dark] .nutrition-card{background:linear-gradient(120deg,#283c2c,#233529)}:root[data-theme=dark] body :where(.promo-icon,.calorie-progress,.shopping-progress){background:var(--raised)}:root[data-theme=dark] body :where(.calorie-progress span,.shopping-progress>span,.step-dots button.active){background:var(--green)}:root[data-theme=dark] .nav-badge{color:var(--green)}:root[data-theme=dark] .calorie-value .planned-badge{background:#ffffff0a}:root[data-theme=dark] body :where(.time-badge,.favorite-overlay,.photo-caption,.recipe-photo-badge,.image-caption){color:var(--dark);background:#1c2720ee}:root[data-theme=dark] .favorite-overlay.is-favorite{color:var(--green)}:root[data-theme=dark] .bottom-nav{background:#1c2720f5}:root[data-theme=dark] .busy-overlay{background:#141b17eb}:root[data-theme=dark] body :where(.primary,.nav-item.active,.day-chip.selected,.portion-switch button[aria-pressed=true]){background:var(--action);color:#fff}:root[data-theme=dark] .nav-item.active .nav-badge{color:#fff;background:#ffffff20}:root[data-theme=dark] body :where(.secondary,.sidebar,.topbar,.demo-banner,.warning-banner,.update-banner,.app-footer,.day-chip:hover:not(.selected),.calorie-value .planned-badge,.macro-grid>div+div,.meal-card:hover,.meal-card-footer,.summary-link,.shopping-promo button,.target-notice,.weekly-row,.selected-filter,.recipe-card:hover,.recipe-card-info>div:last-child,.empty-state,.shopping-progress-card,.check-box,.pantry-edit,.offline-note,.favorite-button,.recipe-macros>div+div,.ingredient-row+div,.portion-switch,input,select,.unit-input,.diet-option,.diet-check,.onboarding-image,.image-caption,.onboarding-card,.setup-heading,.demo-link,.dialog,.bottom-nav){border-color:var(--border)}:root[data-theme=dark] body :where(.diet-option.selected,.selected-filter){border-color:#78997b}:root[data-theme=dark] body :where(.checked .check-box,.selected .diet-check,.bulk-checkbox input:checked,.bulk-checkbox input:indeterminate){border-color:#547d50}:root[data-theme=dark] body :where(.target-notice,.summary-alert,.warning-banner){color:var(--amber);background:#3d3021}:root[data-theme=dark] .warning-text{color:var(--amber)}:root[data-theme=dark] .error{color:#ffae98}:root[data-theme=dark] .dialog{box-shadow:0 20px 90px #0006}:root[data-theme=dark] .dialog::backdrop{background:#060d0999}button:not(:disabled):is(:hover,:focus-visible){color:var(--hover-text)}:root button:not(:disabled):is(:hover,:focus-visible) :where(svg,small,span,strong,h3,.muted):where(:not(.diet-check,.nav-badge)){color:inherit}:is(.subtle,.favorite-button,.favorite-overlay,.profile-button,.view-toggle button:not(.active),.recipe-category-tabs button:not(.active),.theme-selector button:not([aria-pressed=true]),.portion-switch button:not([aria-pressed=true]),.summary-days button:not(.active)):not(:disabled):is(:hover,:focus-visible){background:var(--hover-background);color:var(--hover-text)}:is(button.primary,a.nav-item.active,button.day-chip.selected):not(:disabled):is(:hover,:focus-visible),.portion-switch button[aria-pressed=true]:not(:disabled):is(:hover,:focus-visible){background:var(--action-hover);color:#fff}.checked .check-box:not(:disabled):is(:hover,:focus-visible),.toast button:not(:disabled):is(:hover,:focus-visible){color:#fff}button:focus-visible,a:focus-visible,.bulk-checkbox input:focus-visible{outline-color:var(--focus-ring)}@media (max-width:700px){.theme-selector.compact{margin-left:0}.topbar-status>svg{display:none}.topbar-status .profile-button{margin-left:4px}.onboarding-tagline{display:none}}
.plan-feature-actions,.page-title-actions{flex-wrap:wrap;gap:10px;display:flex}.plan-feature-actions{margin:-8px 0 24px}.page-title-actions{justify-content:flex-end}.smart-plan-summary,.feature-notice{background:var(--sage);color:var(--dark);font-size:var(--text-small);border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:22px;padding:16px 18px;display:flex}.smart-plan-summary svg,.feature-notice svg{color:var(--green);flex-shrink:0;margin-top:2px}.smart-plan-summary p{color:var(--muted);margin:6px 0}.smart-plan-summary small{font-size:var(--text-small);color:var(--muted)}.manual-meal-actions{border-top:1px solid var(--border);justify-content:space-between;gap:8px;padding:0 18px;display:flex}.manual-meal-actions .text-button{font-size:var(--text-small);padding:9px 0}.modified-badge{font-size:var(--text-small);color:var(--green);margin:2px 0;display:block}.empty-meal-slot{border:1px dashed var(--border);background:var(--paper);width:100%;color:var(--green);font-size:var(--text-small);border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-top:10px;padding:18px;display:flex}.empty-meal-slot:hover{background:var(--sage)}.shopping-item-detail{text-align:left;text-underline-offset:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.shopping-item-detail:hover{-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green)}.feature-search{margin:16px 0}.feature-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.feature-check{cursor:pointer;font-size:var(--text-small);color:var(--dark);align-items:center;gap:8px;display:flex}.feature-check input{appearance:auto;width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin:0}.generation-waste{margin-top:18px}.empty-plan-button{margin-top:10px}.pantry-editor-list,.manual-recipes,.history-list{max-height:360px;margin:16px 0;padding:2px;overflow-y:auto}.pantry-stock-row{border:1px solid var(--border);background:var(--paper);border-radius:10px;margin-bottom:9px;padding:13px}.pantry-stock-row>strong{font-size:var(--text-small);align-items:center;gap:10px;display:flex}.pantry-stock-row>strong>span{font-size:24px}.pantry-stock-fields{grid-template-columns:1fr 1fr 100px;align-items:end;gap:12px;margin-top:10px;display:grid}.pantry-stock-fields>label:not(.feature-check){font-size:var(--text-small);color:var(--muted);flex-direction:column;gap:5px;display:flex}.pantry-stock-fields .feature-check{min-height:40px;font-size:var(--text-small)}.pantry-stock-fields input[type=number]{width:100%;min-width:0;padding:9px}.manual-recipe,.history-entry{border:1px solid var(--border);background:var(--paper);text-align:left;border-radius:9px;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:10px;display:flex}.manual-recipe.selected,.history-entry.selected{border-color:var(--green);background:var(--sage)}.manual-recipe img{object-fit:cover;border-radius:7px;width:64px;height:55px}.manual-recipe>span{flex:1}.manual-recipe>.manual-recipe-placeholder{background:var(--sage);width:64px;height:55px;color:var(--green);border-radius:7px;flex:0 0 64px;place-items:center;display:grid}.manual-recipe strong,.history-entry strong{font-size:var(--text-small);display:block}.manual-recipe small,.history-entry small{font-size:var(--text-small);color:var(--muted);margin-top:5px;display:block}.manual-recipe svg{color:var(--green);flex-shrink:0}.history-entry{flex-direction:column;align-items:flex-start;padding:14px 34px 14px 14px;position:relative}.history-entry svg{color:var(--green);position:absolute;top:20px;right:12px}.history-preview{border-top:1px solid var(--border);padding-top:12px}.history-day{border-bottom:1px solid var(--border);font-size:var(--text-small);padding:10px 0}.history-day p{font-size:var(--text-small);color:var(--muted);margin-top:5px}.recipe-notes{margin-top:22px}.recipe-notes h2{margin-bottom:10px;font-size:18px}textarea{resize:vertical;width:100%;font:inherit;border:1px solid var(--border);color:inherit;background:var(--paper);border-radius:8px;padding:12px}textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.ingredient-totals{background:var(--sage);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;padding:14px;display:grid}.ingredient-totals span{font-size:var(--text-small);color:var(--muted);flex-direction:column;display:flex}.ingredient-totals strong{font-size:var(--text-body);color:var(--green);margin-top:6px}.package-form{align-items:flex-end;gap:12px;display:flex}.package-form .dialog-field{flex:1;min-width:0}.package-form>button{margin-bottom:8px}.ingredient-details h3{font-size:var(--text-body);margin:20px 0 12px}.ingredient-use{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:14px}.usage-recipe{text-align:left;width:100%;display:block}.usage-recipe strong{font-size:var(--text-small);color:var(--green)}.usage-recipe small{font-size:var(--text-small);color:var(--muted);margin:5px 0;display:block}.substitution-controls{border-top:1px solid var(--border);margin-top:10px;padding-top:12px}.substitution-controls label{font-size:var(--text-small);color:var(--muted);flex-direction:column;gap:6px;display:flex}.substitution-controls .dropdown{width:100%}.substitution-controls>button{margin-top:8px}@media (max-width:700px){.plan-feature-actions{gap:7px;margin-top:-5px}.plan-feature-actions .button,.page-title-actions .button{font-size:var(--text-small);gap:5px;min-height:37px;padding:9px 10px}.page-title-actions{flex-direction:column;gap:6px}.manual-meal-actions{padding:0 12px}.manual-meal-actions .text-button{font-size:var(--text-small)}.feature-form-grid{grid-template-columns:1fr;gap:0}.pantry-stock-fields{grid-template-columns:1fr 1fr;gap:8px}.pantry-stock-fields .feature-check{grid-column:1/-1;min-height:32px}.package-form{flex-direction:column;align-items:stretch;gap:0}.ingredient-totals{gap:7px;padding:12px}.ingredient-totals strong{font-size:var(--text-small)}.smart-plan-summary{padding:14px}}.plan-feature-actions .button,.page-title-actions .button,.manual-meal-actions .text-button,.empty-meal-slot{font-size:var(--text-control);line-height:1.5}.manual-meal-actions{flex-wrap:wrap}.manual-recipe>span,.history-entry strong,.pantry-stock-fields>label{overflow-wrap:anywhere;min-width:0}.manual-recipe strong,.history-entry strong,.pantry-stock-row>strong,.usage-recipe strong,.history-day{font-size:var(--text-body)}
.home{--home-ink:#19392c;--home-muted:#5e6d60;--home-surface:#fffefa;--home-sage:#eef2e7;--home-border:#dce3d6;--home-accent:#637952;color:var(--home-ink);background:#faf9f5;overflow:clip}.home-container{width:min(1320px,100% - 96px);margin-inline:auto}.home a{color:inherit;text-decoration:none}.home :is(a,button,summary,input,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}.home-skip{z-index:20;background:var(--home-surface);border-radius:8px;padding:12px 20px;position:fixed;top:-80px;left:16px}.home-skip:focus{top:16px}.home-header{border-bottom:1px solid var(--home-border);justify-content:space-between;align-items:center;gap:24px;min-height:86px;display:flex}.home-theme-selector{display:flex}.home-theme-selector .theme-selector.compact{margin-left:0}.home-header nav,.home-header-actions{align-items:center;gap:30px;display:flex}.home-header nav a,.home-login{min-height:44px;font-size:var(--text-small);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.home-login{color:var(--home-muted);font-weight:500}.home :is(.home-header nav a,.home-login,.home-text-link,.home-footer>a:last-child):hover{text-underline-offset:5px;text-decoration:underline}.home :is(a,button).home-cta{color:#fffefa;min-height:54px;font-size:var(--text-body);background:#22563f;border-radius:9px;justify-content:center;align-items:center;gap:22px;padding:15px 24px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.home :is(a,button).home-cta:hover{background:#153c2c;transform:translateY(-2px)}.home button.home-signup,.home a.home-header-cta{min-height:48px;font-size:var(--text-small);white-space:nowrap;padding:12px 20px}.home button.home-signup{border:1px solid var(--home-border);color:var(--home-ink);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:10px;font-weight:500;display:inline-flex}.home button.home-signup:hover{background:var(--home-sage)}.home-hero{grid-template-columns:1.04fr 1fr;align-items:center;gap:64px;padding-block:55px 44px;display:grid}.home-hero-copy,.home-hero-product{min-width:0}.home-eyebrow{font-size:var(--text-small);letter-spacing:.12em;color:var(--home-muted);align-items:center;gap:9px;font-weight:700;display:inline-flex}.home-eyebrow>span{background:var(--home-accent);border-radius:50%;flex:none;width:7px;height:7px}.home h1{letter-spacing:-.055em;margin-block:23px;font-size:clamp(43px,4vw,60px);font-weight:600;line-height:1.14}.home :is(h1,h2) em{color:var(--home-accent);letter-spacing:-.055em;font-family:Lora,serif;font-style:normal;font-weight:600}.home-hero-copy>p{max-width:500px;color:var(--home-muted);font-size:18px;line-height:1.7}.home-hero-actions{align-items:center;gap:24px;margin-top:28px;display:flex}.home-example-link{min-height:44px;font-size:var(--text-body);text-underline-offset:5px;align-items:center;gap:7px;font-weight:500;display:inline-flex;text-decoration:underline!important}.home-example-link:hover{color:var(--home-accent)}.home-reassurance{color:var(--home-muted);font-size:var(--text-small);align-items:center;gap:8px;margin-top:17px;display:flex}.home-hero-copy>p.home-next-step{font-size:var(--text-small);align-items:center;gap:10px;margin-top:27px;display:flex}.home-hero-product{padding-right:24px;position:relative}.home-serving{object-fit:cover;border-radius:50%;width:300px;height:300px;position:absolute;bottom:30px;right:-110px;transform:rotate(8deg)}.home-demo{background:var(--home-surface);border:1px solid var(--home-border);border-radius:20px;padding:25px;scroll-margin-top:24px;position:relative;box-shadow:0 15px 35px #20342614}.home-demo-heading h2{letter-spacing:-.04em;font-family:Lora,serif;font-size:25px;font-weight:600}.home-demo-heading p{color:var(--home-muted);font-size:var(--text-small);margin-top:5px}.home-demo-tabs{border:1px solid var(--home-border);border-radius:10px;gap:4px;margin-top:20px;padding:4px;display:flex}.home-demo-tabs button{min-width:0;min-height:44px;font-size:var(--text-small);color:var(--home-muted);border-radius:7px;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px 5px;transition:background .15s;display:flex}.home-demo-tabs button[aria-selected=true]{background:var(--home-sage);color:var(--home-ink);font-weight:600}.home-demo-tabs button:hover{background:var(--home-sage);color:var(--home-ink)}.home-demo-content{display:grid}.home-demo-panel{grid-area:1/1;min-height:349px}.home-demo-panel[hidden]{visibility:hidden;pointer-events:none;display:block}.home-demo-panel.home-demo-cooking-panel,.home-demo-panel.home-demo-shopping-panel{flex-direction:column;display:flex}.home-demo-day{font-size:var(--text-small);color:var(--home-muted);align-items:center;gap:10px;margin-top:15px;display:flex}.home-demo-day-chip{color:#fffefa;width:35px;height:32px;font-size:var(--text-small);background:#22563f;border-radius:6px;place-items:center;font-weight:600;display:grid}.home-demo-meal{align-items:center;gap:14px;padding-block:13px;display:flex}.home-demo-meal+.home-demo-meal{border-top:1px solid var(--home-border)}.home-demo-meal>img{object-fit:cover;border-radius:9px;width:72px;height:72px}.home-demo-meal>div{flex:1;min-width:0}.home-demo-label{font-size:var(--text-small);font-weight:600;display:block}.home-demo-meal h3{font-size:var(--text-body);letter-spacing:-.02em;margin-top:3px;font-weight:400;line-height:1.35}.home-demo-time{font-size:var(--text-small);color:var(--home-muted);align-items:center;gap:5px;margin-top:6px;display:flex}.home-demo-swap{min-height:44px;font-size:var(--text-small);border:1px solid #97ab92;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;display:flex}.home-demo-swap:hover{background:var(--home-sage)}.home-demo-nutrition{background:var(--home-sage);border-radius:10px;align-items:center;gap:12px;margin-top:5px;padding:14px;display:flex}.home-demo-nutrition strong{font-size:var(--text-body);font-weight:500;display:block}.home-demo-nutrition strong>span{color:var(--home-muted);padding-inline:4px}.home-demo-nutrition small{color:var(--home-muted);font-size:var(--text-small);margin-top:4px;line-height:1.4;display:block}.home-demo-link{width:100%;min-height:44px;font-size:var(--text-small);text-align:left;justify-content:space-between;align-items:center;gap:12px;margin-top:5px;padding-top:10px;font-weight:600;display:flex}.home-demo-link:hover{text-underline-offset:4px;text-decoration:underline}.home-demo-shopping-heading{font-size:var(--text-body);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.home-demo-shopping-heading>span{font-size:var(--text-small);color:var(--home-muted);white-space:nowrap}.home-demo-hint{font-size:var(--text-small);color:var(--home-muted);margin-block:10px;line-height:1.5}.home-demo-groceries{scrollbar-width:thin;scrollbar-color:#97ab92 transparent;flex:270px;height:270px;min-height:0;padding-right:8px;overflow-y:auto}.home-demo-grocery{min-height:50px;font-size:var(--text-small);color:var(--home-ink);cursor:pointer;align-items:center;gap:10px;padding-block:10px;display:flex}.home-demo-grocery+.home-demo-grocery{border-top:1px solid var(--home-border)}.home-demo-grocery input{accent-color:#22563f;flex-shrink:0;width:19px;height:19px;margin:0}.home-demo-grocery>span:first-of-type{flex:1}.home-demo-grocery>span:last-child{white-space:nowrap;color:var(--home-muted)}.home-demo-grocery strong{font-weight:500}.home-demo-grocery small{color:var(--home-muted);font-size:var(--text-small);display:block}.home-demo-grocery:has(input:checked) strong{color:var(--home-muted);text-decoration:line-through}.home-demo-shopping-note{align-items:center;gap:8px;display:flex}.home-demo-cooking-title{align-items:center;gap:12px;padding-block:18px;display:flex}.home-demo-cooking-title img{object-fit:cover;border-radius:9px;width:60px;height:60px}.home-demo-cooking-title strong{font-size:var(--text-body);font-weight:500}.home-demo-cooking-title span{font-size:var(--text-small);color:var(--home-muted);align-items:center;gap:5px;margin-top:5px;display:flex}.home-demo-ingredients{border-block:1px solid var(--home-border);font-size:var(--text-small)}.home-demo-ingredients summary{cursor:pointer;min-height:44px;padding-block:12px}.home-demo-ingredients ul{margin:0 0 12px;padding:0;list-style:none}.home-demo-ingredients li{color:var(--home-muted);justify-content:space-between;gap:12px;padding-block:4px;display:flex}.home-demo-ingredients li>span:last-child{white-space:nowrap}.home-demo-cooking-step{background:var(--home-sage);border-radius:10px;flex:1;min-height:140px;margin-top:18px;padding:19px}.home-demo-cooking-step>span{font-size:var(--text-small);color:var(--home-accent);letter-spacing:.06em;font-weight:600}.home-demo-cooking-step p{font-size:var(--text-body);margin-top:10px;line-height:1.6}.home-demo-step-actions{border-bottom:1px solid var(--home-border);justify-content:space-between;gap:12px;padding-block:12px;display:flex}.home-demo-step-actions button{min-height:44px;font-size:var(--text-small);border-radius:7px;align-items:center;gap:8px;padding:9px 12px;display:flex}.home-demo-step-actions button:last-child{color:#fffefa;background:#22563f}.home-demo-step-actions button:last-child:hover{color:#fffefa;background:#153c2c}.home-benefit-strip{background:var(--home-sage);border-radius:15px;grid-template-columns:repeat(3,1fr);gap:24px;padding:25px 30px;display:grid}.home-benefit-strip>div{align-items:center;gap:18px;display:flex}.home-benefit-strip>div+div{border-left:1px solid var(--home-border);padding-left:25px}.home-benefit-strip strong{font-size:var(--text-body);font-weight:600;display:block}.home-benefit-strip small{font-size:var(--text-small);color:var(--home-muted);margin-top:3px;line-height:1.5;display:block}.home-journey{padding-block:54px 38px;scroll-margin-top:24px}.home-journey>h2{text-align:center;letter-spacing:-.04em;font-family:Lora,serif;font-size:38px}.home-steps{grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px;display:grid}.home-steps article{align-items:flex-start;gap:18px;display:flex}.home-step-icon{background:var(--home-surface);border:1px solid var(--home-border);border-radius:12px;flex-shrink:0;place-items:center;width:64px;height:64px;display:grid}.home-steps h3{font-size:18px;font-weight:600}.home-steps p{font-size:var(--text-body);color:var(--home-muted);margin-top:8px;line-height:1.65}.home-diet-tags{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;display:flex}.home-diet-tags>span{border:1px solid var(--home-border);font-size:var(--text-small);color:var(--home-muted);border-radius:100px;padding:6px 12px}.home-sync{background:var(--home-sage);border-radius:15px;align-items:center;gap:24px;padding:27px 30px;scroll-margin-top:24px;display:flex}.home-sync>div{flex:1}.home-sync h2{font-size:21px;font-weight:500}.home-sync p{color:var(--home-muted);font-size:var(--text-body);margin-top:6px;line-height:1.6}.home-text-link{min-height:44px;font-size:var(--text-small);align-items:center;gap:10px;font-weight:600;display:inline-flex}.home-faq{grid-template-columns:1fr 1.35fr;gap:80px;padding-block:66px;scroll-margin-top:24px;display:grid}.home-faq h2{margin-block:15px;font-size:36px;font-weight:500;line-height:1.2}.home-faq>div>p{color:var(--home-muted);font-size:var(--text-body);max-width:340px;line-height:1.65}.home-faq-list details{border-bottom:1px solid var(--home-border)}.home-faq-list summary{min-height:60px;font-size:var(--text-body);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding-block:17px;font-weight:500;list-style:none;display:flex}.home-faq-list summary::-webkit-details-marker{display:none}.home-faq-list summary:hover{color:var(--home-accent)}.home-faq-list summary svg{transition:transform .15s}.home-faq-list details[open] summary svg{transform:rotate(180deg)}.home-faq-list details p{color:var(--home-muted);font-size:var(--text-body);padding-bottom:20px;line-height:1.7}.home-final{text-align:center;border:1px solid var(--home-border);background:var(--home-sage);border-radius:18px;flex-direction:column;align-items:center;padding:37px 24px;display:flex}.home-final>svg{color:var(--home-accent)}.home-final h2{margin-block:15px 23px;font-size:35px;font-weight:500;line-height:1.3}.home-final p{color:var(--home-muted);font-size:var(--text-small);margin-top:13px}.home-footer{justify-content:space-between;align-items:center;gap:24px;padding-block:32px;display:flex}.home-footer>span{color:var(--home-muted);font-size:var(--text-small)}.home-footer>a:last-child{min-height:44px;font-size:var(--text-small);align-items:center;gap:8px;display:inline-flex}.home-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-loading{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:24px;display:flex}:root[data-theme=dark] .home{--home-ink:#e7eee5;--home-muted:#b2bea9;--home-surface:#1c2720;--home-sage:#2c3d2f;--home-border:#435442;--home-accent:#a3c18f;background:#141b17}:root[data-theme=dark] .home-serving{opacity:.8}@media (max-width:1150px){.home-header:has(.home-theme-selector) nav{display:none}.home-container{width:calc(100% - 64px)}.home-header nav,.home-header-actions{gap:18px}.home-hero{gap:34px}.home-hero-product{padding-right:0}.home-serving{width:230px;height:230px;right:-90px}.home h1{font-size:45px}.home-hero-actions{flex-wrap:wrap;gap:16px}.home-demo{padding:20px}.home-demo-meal{gap:10px}.home-demo-meal>img{width:60px;height:60px}.home-demo-swap{padding:8px}.home-benefit-strip{gap:18px;padding:22px}.home-benefit-strip>div{gap:12px}.home-benefit-strip>div+div{padding-left:18px}.home-steps{gap:24px}.home-steps article{gap:12px}.home-step-icon{width:48px;height:48px}.home-sync{gap:18px}}@media (max-width:900px){.home-header nav{display:none}.home-hero{gap:25px}.home h1{font-size:40px}.home-demo-tabs button{gap:5px}.home-demo-tabs button svg{width:16px}.home-demo-swap span{display:none}.home-demo-swap{flex-shrink:0;width:44px}.home-benefit-strip>div{align-items:flex-start}.home-sync{flex-wrap:wrap}.home-sync>div{flex-basis:70%}.home-sync .home-text-link{margin-left:51px}.home-faq{gap:45px}}@media (max-width:760px){.home-container{width:calc(100% - 40px)}.home-header{gap:12px;min-height:72px;padding-block:12px}.home-header .brand{font-size:27px}.home-header-actions{gap:0;display:grid}.home-header a.home-header-cta{display:none}.home-login{font-size:var(--text-small);grid-row:2;justify-content:center}.home button.home-signup{grid-row:1;gap:8px;min-height:44px;padding:10px 12px}.home-signup svg{display:none}.home-login svg{width:16px}.home-hero{grid-template-columns:1fr;gap:28px;padding-block:31px 28px}.home-hero-copy{flex-direction:column;max-width:560px;display:flex}.home-eyebrow{letter-spacing:.09em;font-size:.75rem}.home h1{margin-block:17px;font-size:clamp(35px,8.6vw,49px);line-height:1.16}.home-hero-copy>p{font-size:var(--text-body);line-height:1.6}.home-hero-actions{display:contents}.home-hero-actions .home-cta{order:1;margin-top:21px}.home-reassurance{order:2;justify-content:center;margin-top:12px}.home-hero-actions .home-example-link{order:3;align-self:center;margin-top:3px}.home-hero-copy>p.home-next-step{text-align:center;order:4;justify-content:center;margin-top:8px}.home-hero-product{width:100%;max-width:560px;margin-inline:auto}.home-serving{display:none}.home-demo{border-radius:16px;padding:20px}.home-demo-heading h2{font-size:24px}.home-demo-tabs{margin-top:16px}.home-demo-tabs button{gap:6px}.home-demo-panel{min-height:0}.home-demo-day{margin-top:12px}.home-demo-meal{gap:11px;padding-block:12px}.home-demo-meal>img{width:62px;height:62px}.home-demo-nutrition{gap:10px;padding:12px}.home-demo-nutrition strong{font-size:var(--text-control)}.home-benefit-strip{grid-template-columns:1fr;gap:15px;padding:22px}.home-benefit-strip>div{align-items:center;gap:16px}.home-benefit-strip>div+div{border:0;padding-left:0}.home-journey{padding-block:36px 28px}.home-journey>h2{text-align:left;font-size:31px}.home-steps{grid-template-columns:1fr;gap:23px;margin-top:25px}.home-steps article{gap:16px}.home-step-icon{width:44px;height:44px}.home-steps p{margin-top:5px}.home-diet-tags{justify-content:flex-start;gap:7px;margin-top:24px}.home-sync{align-items:flex-start;gap:14px;padding:24px 20px}.home-sync>svg{width:27px}.home-sync>div{flex-basis:70%}.home-sync h2{font-size:20px;line-height:1.35}.home-sync .home-text-link{margin-left:41px}.home-faq{grid-template-columns:1fr;gap:14px;padding-block:40px}.home-faq h2{font-size:31px}.home-faq>div>p{max-width:none}.home-final{padding:29px 20px}.home-final h2{font-size:29px}.home-footer{flex-wrap:wrap;gap:12px 20px;padding-block:25px}.home-footer .brand{font-size:27px}.home-footer>a:last-child{flex-basis:100%}}@media (max-width:370px){.home-header .brand{gap:5px;font-size:24px}.home-header .brand svg{width:24px}.home-demo{padding:15px}.home-demo-tabs button{gap:4px}.home-demo-tabs button svg{width:15px}.home-demo-meal>img{width:52px;height:58px}.home-demo-meal{gap:9px}}@media (prefers-reduced-motion:reduce){.home :is(.home-cta,.home-demo-tabs button,.home-faq-list summary svg){transition:none}.home :is(a,button).home-cta:hover{transform:none}}.home-newsletter{border-bottom:1px solid var(--home-border);grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-block:56px;scroll-margin-top:24px;display:grid}.home-newsletter .home-eyebrow{align-items:center;gap:9px;display:inline-flex}.home-newsletter h2{margin-block:14px 12px;font-size:32px;font-weight:500;line-height:1.3}.home-newsletter-copy>p{max-width:420px;color:var(--home-muted);line-height:1.65}.home-newsletter-signup,.home-newsletter-fields input{min-width:0}.home-newsletter-signup label{font-size:var(--text-small);margin-bottom:9px;font-weight:600;display:block}.home-newsletter-fields{gap:10px;display:flex}.home-newsletter-fields input{border:1px solid var(--home-border);background:var(--home-surface);width:100%;min-height:50px;color:var(--home-ink);font:inherit;border-radius:9px;flex:1;padding:12px 15px}.home-newsletter-fields input::placeholder{color:var(--home-muted)}.home-newsletter-fields .home-cta{cursor:pointer;min-height:50px;font:inherit;flex-shrink:0}.home-newsletter-fields :disabled{cursor:wait;opacity:.7}.home-newsletter-note,.home-newsletter-message{color:var(--home-muted);font-size:var(--text-small);margin-top:12px;line-height:1.6}.home-newsletter-signup a{text-underline-offset:3px;text-decoration:underline}.home-newsletter-success{border:1px solid var(--home-border);background:var(--home-sage);border-radius:12px;align-items:flex-start;gap:12px;padding:20px;line-height:1.65;display:flex}.home-newsletter-success svg{color:var(--home-accent);flex-shrink:0;margin-top:2px}@media (max-width:900px){.home-newsletter{grid-template-columns:1fr;gap:24px;padding-block:36px}.home-newsletter-copy>p{max-width:540px}}@media (max-width:480px){.home-newsletter h2{font-size:29px}.home-newsletter-fields{flex-direction:column}}
.account-button{font-size:var(--text-small);white-space:nowrap;gap:6px;padding:8px 10px}.account-status-dot{background:var(--green,#194e3b);border-radius:50%;width:7px;height:7px}.account-panel{margin-bottom:20px;padding:24px}.account-panel>.button,.account-panel>.text-button{margin:8px 8px 0 0}.account-email{overflow-wrap:anywhere;font-weight:600}.auth-form form,form.auth-form{gap:16px;display:grid}.auth-form label{font-weight:500;font-size:var(--text-small);gap:8px;display:grid}.auth-form input{border:1px solid var(--border,#ddd);width:100%;min-height:44px;color:inherit;background:var(--paper);font:inherit;font-size:var(--text-body);border-radius:10px;padding:10px 12px}.auth-form small,.auth-form .muted{font-size:var(--text-small);line-height:1.6}.auth-form>.muted{font-size:var(--text-body);margin:8px 0 20px}.auth-links{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.auth-confirmation-icon{width:56px;height:56px;color:var(--green);background:var(--sage);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.auth-confirmation .auth-links{align-items:center;gap:16px 20px;margin-top:32px}.auth-confirmation h2{margin:0 0 12px;font-size:26px;line-height:1.3}.auth-confirmation p{font-size:var(--text-body);line-height:1.6}.auth-confirmation .auth-confirmation-recipient{margin:0}.auth-confirmation-recipient .account-email{margin-top:6px;display:block}.auth-confirmation .auth-confirmation-instruction{margin:20px 0 0}.auth-confirmation>.muted{margin:24px 0 0}.auth-confirmation>[role=alert],.auth-confirmation>[role=status]{margin:20px 0 0}.account-dialog:has(.auth-confirmation) .dialog-inner{padding:36px;position:relative}.account-dialog:has(.auth-confirmation) .dialog-header{margin:0}.account-dialog:has(.auth-confirmation) .dialog-header h2{display:none}.account-dialog:has(.auth-confirmation) .dialog-header .icon-button{position:absolute;top:28px;right:28px}.account-dialog .auth-confirmation .auth-links .button{margin:0}.auth-provider{text-align:center;margin:20px 0}.auth-provider .muted{margin:12px 0 0}.google-sign-in-icon{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.google-sign-in-icon img{object-fit:contain;display:block}.auth-page{max-width:560px;margin:60px auto;padding:24px}.auth-page>.panel{margin-top:24px;padding:28px}.auth-page .button{margin-top:20px}.account-dialog .panel{box-shadow:none;border:0;margin:0;padding:0}.account-dialog p{line-height:1.6}.account-dialog .button{margin:8px 8px 0 0}.account-recovery{border-top:1px solid var(--border,#ddd);margin-top:20px;padding-top:16px}.account-recovery .button{font-size:var(--text-small);text-align:left;display:block}.conflict-choices{grid-template-columns:1fr 1fr;gap:20px;display:grid}.conflict-choices section{border:1px solid var(--border,#ddd);border-radius:12px;padding:16px}.sync-notice{font-size:var(--text-small);background:var(--paper);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 24px;display:flex}@media (max-width:640px){.account-dialog:has(.auth-confirmation) .dialog-inner{padding:24px}.account-dialog:has(.auth-confirmation) .dialog-header .icon-button{top:16px;right:16px}.auth-confirmation h2{font-size:24px}.conflict-choices{grid-template-columns:1fr}.account-button{font-size:var(--text-small);padding:6px}.auth-page{margin:20px auto;padding:16px}.sync-notice{padding:10px 16px}}.account-button,.account-recovery .button{font-size:var(--text-control)}
.ux-refined [hidden]{display:none!important}.ux-refined .page-title{margin-bottom:20px}.ux-refined .main-content{padding-top:28px}.ux-refined .day-chip{min-height:60px}.ux-refined .week-strip{margin-bottom:16px}.plan-heading-actions{align-items:center;gap:10px;display:flex}.plan-heading-actions .button{margin:0}.plan-edit-menu{position:relative}.plan-edit-menu>summary,.meal-more>summary{cursor:pointer;list-style:none}.plan-edit-menu>summary::-webkit-details-marker{display:none}.meal-more>summary::-webkit-details-marker{display:none}.plan-edit-menu .plan-feature-actions{z-index:12;border:1px solid var(--border);background:var(--paper);border-radius:12px;min-width:220px;margin:0;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 35px #153c2c18}.plan-edit-menu .plan-feature-actions .button{justify-content:flex-start}.ux-refined .pantry-nav{text-align:left;width:100%}.ux-refined .compact-nutrition{background:var(--sage);margin-bottom:18px;padding:14px 18px;overflow:visible}.compact-nutrition-summary{align-items:center;gap:16px;font-size:.875rem;display:flex}.compact-nutrition-summary>span:first-child{color:var(--green);font-weight:600}.compact-nutrition .calorie-value{align-items:baseline;gap:6px;margin:0;display:flex}.compact-nutrition .calorie-value strong{font-family:inherit;font-size:1.5rem;line-height:1.1}.compact-nutrition .calorie-value>span{color:var(--muted);white-space:nowrap;font-size:.875rem}.compact-protein{white-space:nowrap;margin-left:auto}.compact-nutrition details{position:relative}.compact-nutrition summary{cursor:pointer;color:var(--green);align-items:center;gap:5px;padding-block:8px;list-style:none;display:flex}.nutrition-details{z-index:11;border:1px solid var(--border);background:var(--paper);border-radius:12px;width:300px;max-width:calc(100vw - 50px);padding:16px;position:absolute;top:100%;right:0;box-shadow:0 10px 35px #153c2c18}.nutrition-details p{margin:0 0 8px;font-size:.875rem;line-height:1.6}.compact-nutrition .calorie-progress{height:5px;margin:9px 0 0}.ux-refined .meals-heading{margin-top:0}.ux-refined .meal-card{overflow:visible}.ux-refined .meal-card-main{padding:12px}.ux-refined .refined-meal-actions{border-top:1px solid var(--border);background:0 0;flex-wrap:wrap;gap:8px;padding:10px 12px}.ux-refined .refined-meal-actions>.button{min-height:40px;margin:0;padding:8px 16px;font-size:.875rem}.ux-refined .refined-meal-actions>.primary{color:#fff;background:var(--action,var(--green))}.ux-refined .refined-meal-actions>.primary:is(:hover,:focus-visible){background:var(--action-hover)}.meal-more{margin-left:auto;position:relative}.meal-more summary{min-width:44px;min-height:40px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.meal-more summary:is(:hover,:focus-visible){background:var(--sage);color:var(--green)}.meal-more>div{z-index:10;background:var(--paper);border:1px solid var(--border);border-radius:10px;min-width:200px;padding:8px;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 25px #153c2c18}.meal-more .text-button{justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:8px;font-size:.875rem;display:flex}.meal-retained{color:var(--muted);font-size:.8125rem}.pantry-shortcuts h3{margin-bottom:12px;font-size:1.125rem}.pantry-shortcuts p{color:var(--muted);justify-content:space-between;gap:8px;margin:10px 0;font-size:.875rem;display:flex}.pantry-shortcuts .text-button{margin-top:10px}.ingredient-artwork{background:var(--sage);place-items:center;display:grid}.ingredient-artwork>span{text-align:center;padding:8px;font-size:1.65rem;line-height:1.5}.ux-refined .text-led-recipe .recipe-card-photo{height:108px}.ux-refined .text-led-recipe .ingredient-artwork>span{font-size:2rem}.ux-refined .recipe-hero .ingredient-artwork{max-height:180px}.ux-refined .text-led-hero{height:160px}.ux-refined .text-led-hero .ingredient-artwork>span{font-size:2rem}.start-cooking{margin:0 0 18px}.ux-refined .page-title .catalogue-image-note{color:var(--muted);margin-top:4px;font-size:.8125rem}.shopping-tools{gap:12px;margin:20px 0 14px;display:grid}.shopping-tools .view-toggle{width:max-content;max-width:100%;display:flex}.shopping-tools .view-toggle button{white-space:nowrap;min-height:44px;font-size:.875rem}.shopping-tools .search-field{width:100%;margin:0}.shopping-category-toggle{text-align:left;min-height:44px;font:inherit;align-items:center;gap:8px;display:flex}.shopping-category-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.ux-refined .shopping-group .section-heading{margin-bottom:6px}.ux-refined .shopping-row-main{gap:10px;min-height:68px;padding:9px 12px}.ux-refined .shopping-emoji{width:26px;font-size:22px}.ux-refined .check-box{width:28px;height:28px;position:relative}.ux-refined .check-box:before{content:"";position:absolute;inset:-8px}.ux-refined .shopping-item-name>small:first-of-type{color:var(--green);font-weight:600}.quantity-estimate-note{max-width:34ch;line-height:1.5}.shopping-empty{background:var(--sage);color:var(--green);border-radius:12px;padding:24px}.replacement-dialog{max-width:760px}.replacement-dialog .dialog-header{margin-bottom:12px}.replacement-current{background:var(--sage);border-radius:8px;padding:10px 12px}.replacement-picker>.search-field{width:100%;margin:16px 0 12px}.replacement-filters{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.replacement-filters .view-toggle button{min-height:40px;font-size:.875rem}.replacement-filters .dropdown-control{width:auto;min-height:40px;font-size:.875rem}.replacement-options{gap:8px;margin-top:14px}.replacement-options>button{min-height:86px;color:var(--dark);gap:12px}.replacement-options>button[aria-pressed=true]{background:var(--sage);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.replacement-options>button>:is(img,.food-photo){object-fit:cover;border-radius:8px;flex:0 0 64px;width:64px;height:64px}.replacement-options .ingredient-artwork>span{max-width:100%;max-height:100%;padding:2px;font-size:1rem;line-height:1.2;overflow:hidden}.replacement-options>button>span{min-width:0}.replacement-options strong{overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.4}.replacement-options small{color:var(--muted);font-size:.8125rem;line-height:1.5}.replacement-options>button>.replacement-calories{text-align:right;flex:0 0 92px}.replacement-options>button>svg{color:var(--green);flex:0 0 16px;margin:0}.replacement-confirm{z-index:2;background:var(--paper);border-top:1px solid var(--border);margin:18px -27px -27px;padding:16px 27px 24px;position:sticky;bottom:-27px;box-shadow:0 -8px 20px #153c2c08}.replacement-portion{align-items:center;gap:12px;margin-bottom:12px;font-size:.875rem;display:flex}.replacement-preview{color:var(--muted);gap:4px;margin-bottom:12px;font-size:.875rem;display:grid}.replacement-preview strong{color:var(--dark)}.replacement-confirm .button{margin:0}.ux-refined .toast .toast-undo{min-height:40px;color:inherit;margin-left:4px;padding:8px 10px;font-weight:600;text-decoration:underline}.focused-cooking{max-width:760px;min-height:100dvh;color:var(--dark);margin:0 auto;padding:24px 28px 130px}.focused-cooking header{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding-bottom:18px;display:flex}.focused-cooking header h1{flex:1;margin:0;font-size:1.5rem;line-height:1.4}.focused-cooking header>.text-button{align-items:center;gap:5px;font-size:.875rem;display:flex}.focused-cooking .icon-button{min-width:44px;min-height:44px}.cooking-progress{gap:7px;margin:20px 0 28px;display:flex}.cooking-progress button{flex:1;min-height:32px;position:relative}.cooking-progress button:after{content:"";background:var(--border);border-radius:6px;position:absolute;inset:12px 0}.cooking-progress button.complete:after{background:var(--green)}.focused-step{margin:0 0 30px}.focused-step .eyebrow{color:var(--green);margin-bottom:12px}.focused-step h2{margin:0 0 20px;font-size:2rem}.focused-step>p:not(.eyebrow){margin-bottom:16px;font-size:1.25rem;line-height:1.85}.cooking-ingredients{background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:16px 20px}.cooking-ingredients summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:32px;font-weight:600;list-style:none;display:flex}.cooking-ingredients>div{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding:12px 0;font-size:.9375rem;display:flex}.cooking-ingredients>div:first-of-type{margin-top:12px}.cooking-ingredients strong{white-space:nowrap}.cooking-saved{color:var(--muted);padding-top:16px;font-size:.875rem}.focused-cooking footer{width:min(100%,760px);padding:18px 28px max(18px, env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--border);gap:12px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.focused-cooking footer .button{min-height:48px;margin:0}.focused-cooking footer .primary{flex:1}@media (max-width:1100px){.compact-nutrition-summary{flex-wrap:wrap;gap:6px 12px}.compact-nutrition-summary>span:first-child,.meal-retained{width:100%}}@media (max-width:700px){.ux-refined .topbar{flex-flow:row;align-items:center;gap:8px;height:auto;min-height:68px;padding:12px 20px}.ux-refined .topbar-status{gap:6px;margin:0 0 0 auto}.ux-refined .topbar-status .account-button{gap:0;min-width:36px;min-height:36px;padding:8px;font-size:0}.ux-refined .topbar-status .profile-button{display:none}.ux-refined .topbar-status .theme-selector{margin-left:0}.ux-refined .demo-banner{gap:5px 10px;padding:10px 20px;font-size:.8125rem}.ux-refined .demo-banner span{flex:1}.ux-refined .main-content{padding-top:20px}.ux-refined .page-title{align-items:flex-start;gap:10px;margin-bottom:16px}.ux-refined .page-title h1{margin-bottom:6px;font-size:1.75rem}.ux-refined .page-title .eyebrow{display:none}.plan-heading-actions{align-self:center;gap:6px}.plan-heading-actions .button{gap:5px;min-height:40px;padding:8px;font-size:.8125rem}.plan-heading-actions .generate-top{display:none}.plan-heading-actions .plan-feature-actions .generate-top{font-size:.875rem;display:flex}.ux-refined .compact-nutrition{margin-bottom:16px;padding:10px 12px}.compact-nutrition-summary{gap:6px 10px}.compact-nutrition-summary>span:first-child{display:none}.compact-nutrition .calorie-value strong{font-size:1.25rem}.compact-protein{margin:0;font-size:.8125rem}.compact-nutrition details{margin-left:auto;font-size:.8125rem}.ux-refined .meal-card-main{padding:10px}.ux-refined .meal-title{font-size:1rem}.ux-refined .refined-meal-actions{padding:8px 10px}.ux-refined .refined-meal-actions>.button{min-height:40px;padding:8px 14px}.shopping-tools .view-toggle{width:100%}.ux-refined .page-title-actions{flex-direction:row;width:100%}.ux-refined .page-title .page-title-actions .button{flex:1;min-height:42px;margin:0;padding:10px}.ux-refined .shopping-progress-card{margin-bottom:16px;padding:12px 14px}.ux-refined .shopping-progress-icon{display:none}.shopping-tools{margin-top:12px}.shopping-tools .view-toggle button{flex:1;padding:8px 6px;font-size:.8125rem}.ux-refined .shopping-row-main{gap:8px;padding:10px}.ux-refined .shopping-emoji{width:22px;font-size:20px}.ux-refined .pantry-button{justify-content:center;min-width:34px;min-height:44px}.ux-refined .pantry-button>span{display:none}.ux-refined .shopping-group .section-heading h2{font-size:1rem}.ux-refined .shopping-group-actions{gap:5px}.replacement-dialog{border-radius:14px;width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.replacement-dialog .dialog-inner{padding:18px}.replacement-dialog .dialog-header h2{font-size:1.5rem}.replacement-filters .view-toggle{flex:1;display:flex}.replacement-filters .view-toggle button{flex:1;padding:7px;font-size:.8125rem}.replacement-options>button{grid-template-columns:48px minmax(0,1fr) auto;gap:6px 10px;padding:10px;display:grid}.replacement-options>button>:is(img,.food-photo){grid-row:span 2;width:48px;height:48px}.replacement-options>button>.replacement-calories{text-align:left;grid-column:2;align-items:baseline;gap:8px;display:flex}.replacement-options>button>svg{grid-area:1/3}.replacement-options strong{font-size:.875rem}.replacement-confirm{padding:14px 18px max(18px, env(safe-area-inset-bottom));margin:16px -18px -18px;bottom:-18px}.focused-cooking{padding:16px 20px 125px}.focused-cooking header{gap:8px}.focused-cooking header h1{font-size:1.125rem}.focused-cooking header>.text-button{font-size:0}.focused-cooking header>.text-button svg{width:22px;height:22px}.focused-step h2{font-size:1.75rem}.focused-step>p:not(.eyebrow){font-size:1.1875rem;line-height:1.8}.cooking-ingredients{padding:12px 14px}.focused-cooking footer{padding:14px 20px max(14px, env(safe-area-inset-bottom))}.focused-cooking footer .button{padding:12px;font-size:.875rem}}
.beta-notice{border-bottom:1px solid var(--border);background:var(--sage);color:var(--dark);font-size:var(--text-small);padding:8px 24px;line-height:1.6}.beta-notice-heading{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.beta-notice-actions{align-items:center;gap:20px;margin-left:auto;display:flex}.beta-notice-toggle{min-width:148px;min-height:44px;font-size:var(--text-small);white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.beta-notice-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.beta-notice-details{border-top:1px solid var(--border);padding:12px 0 16px}.beta-notice-heading strong{color:var(--green)}.beta-notice-heading .feedback-button{min-height:44px;font-size:var(--text-small)}.beta-notice-toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.beta-terms{max-width:760px;font-size:var(--text-small);line-height:1.6}.beta-terms p+p{margin-top:10px}.auth-beta{border:1px solid var(--border);background:var(--sage);border-radius:9px;margin-block:16px;padding:12px 16px}.auth-beta summary{cursor:pointer;font-size:var(--text-small);color:var(--green)}.auth-beta .beta-terms{margin-top:10px}.plus-beta-badge{border:1px solid var(--border);background:var(--sage);color:var(--green);border-radius:6px;padding:3px 9px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-block}.plus-beta-note{font-size:var(--text-small);color:var(--muted);margin-block:10px;line-height:1.6}.plus-beta-note .plus-beta-badge{margin-right:8px}.home>.beta-notice{padding-inline:max(24px,50% - 660px)}.focused-cooking>.beta-notice{border:1px solid var(--border);border-radius:9px}@media (max-width:1000px){.beta-notice-heading>span{flex:240px}.beta-notice-actions{flex-basis:100%;justify-content:flex-end}}@media (max-width:600px){.beta-notice{padding:8px 16px}.beta-notice-heading{gap:2px 12px}.beta-notice-heading>span{flex-basis:100%}.beta-notice-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:space-between;gap:12px;display:grid}.beta-notice-toggle{gap:6px;min-width:0}.beta-notice-actions .feedback-button{justify-self:end;gap:6px}}
