:root{--ink:#24372f;--muted:#6f7c76;--cream:#f7f5ee;--paper:#fffefa;--line:#e5e4da;--green:#235d47;--green2:#34755b;--lime:#dce8b4;--orange:#df7a52;--shadow:0 12px 40px #2d3d3412}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{color:inherit}.app{min-height:100vh}.sidebar{color:#fff;z-index:10;background:#173f32;flex-direction:column;width:244px;padding:30px 22px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;display:flex}.brand-mark{color:#173f32;background:#e2edb9;border-radius:13px;place-items:center;width:39px;height:39px;display:grid;transform:rotate(-3deg)}.brand b{letter-spacing:-.2px;font-family:Georgia,serif;font-size:18px;display:block}.brand span{color:#b8cec5;letter-spacing:.5px;margin-top:2px;font-size:10px;display:block}.sidebar nav{gap:8px;margin-top:52px;display:grid}.sidebar nav button{color:#b8cec5;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 13px;display:flex;position:relative}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#2a5847}.sidebar nav button.active:before{content:"";background:#dce8b4;border-radius:0 3px 3px 0;width:3px;height:25px;position:absolute;left:-22px}.sidebar nav button i{background:#dce8b4;border-radius:50%;width:6px;height:6px;margin-left:auto}.side-note{color:#dce8b4;background:#204b3d;border:1px solid #396555;border-radius:14px;margin-top:auto;padding:17px}.side-note b{color:#fff;margin:8px 0 5px;font-size:13px;display:block}.side-note p{color:#b8cec5;margin:0;font-size:11px;line-height:1.5}.profile{border-top:1px solid #376153;align-items:center;gap:10px;margin-top:18px;padding-top:18px;display:flex}.profile>div{background:#df806c;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.profile span b,.profile span small{display:block}.profile span b{font-size:12px}.profile span small{color:#a9c0b7;margin-top:3px;font-size:9px}main{min-height:100vh;margin-left:244px}.topbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffefae6;justify-content:space-between;align-items:center;height:95px;padding:0 5.5%;display:flex;position:sticky;top:0}.topbar p{letter-spacing:1.7px;color:#87918c;margin:0 0 4px;font-size:9px;font-weight:700}.topbar h1{letter-spacing:-.5px;margin:0;font-family:Georgia,serif;font-size:24px}.mobile-logo{display:none}.saved-pill{color:#296148;cursor:pointer;background:#edf5ef;border:1px solid #bdd1c6;border-radius:99px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;font-weight:700;display:flex}.content{max-width:1320px;margin:auto;padding:46px 5.5% 70px}.content.narrow{max-width:1030px}.intro{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.eyebrow{letter-spacing:1.3px;color:#37725a;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.intro h2,.plan-hero h2,.shopping-head h2{letter-spacing:-1px;margin:9px 0 11px;font-family:Georgia,serif;font-size:38px;line-height:1.09}.intro h2 em,.plan-hero h2 em{color:#d56c49;font-weight:400}.intro p,.plan-hero p,.shopping-head p{color:var(--muted);max-width:580px;margin:0;font-size:14px;line-height:1.55}.mini-week{background:#f0ecdf;border-radius:15px;gap:7px;padding:12px;display:flex;transform:rotate(1deg)}.mini-week div{text-align:center}.mini-week span{color:#87918c;margin-bottom:5px;font-size:8px;font-weight:700;display:block}.mini-week i{border-radius:9px;place-items:center;width:34px;height:34px;font-size:17px;font-style:normal;display:grid}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;margin-bottom:18px;padding:27px;box-shadow:0 3px 12px #2d3d3406}.section-heading{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.number{color:#315f4b;background:#e4ecc7;border-radius:50%;place-items:center;min-width:28px;height:28px;font-family:Georgia,serif;font-weight:700;display:grid}.section-heading h2{margin:1px 0 4px;font-family:Georgia,serif;font-size:21px}.section-heading p{color:var(--muted);margin:0;font-size:12px}.input-shell{background:#fff;border:1.5px solid #d9dad0;border-radius:11px;align-items:center;gap:10px;padding:5px 5px 5px 14px;transition:all .2s;display:flex}.input-shell:focus-within{border-color:#5b8b75;box-shadow:0 0 0 3px #e8f0e9}.input-shell.invalid{border-color:#c75b4e}.input-shell svg{color:#8b948f}.input-shell input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:9px 0}.input-shell button,.primary{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-size:12px;font-weight:700;display:flex}.input-shell button:hover,.primary:hover{background:#194b39}.error-text{color:#b64d42;margin-top:7px;font-size:11px}.chips{flex-wrap:wrap;gap:7px;min-height:29px;margin-top:13px;display:flex}.chips>span,.tiny-chips span{background:#edf0e7;border:1px solid #dce1d4;border-radius:99px;align-items:center;gap:5px;padding:6px 7px 6px 11px;font-size:11px;display:flex}.chips>span button{cursor:pointer;background:#d9dfd3;border:0;border-radius:50%;place-items:center;padding:2px;display:grid}.empty-chips{color:#8a948e;align-items:center;gap:8px;font-size:11px;display:flex}.quick-add{border-top:1px solid #ecece4;align-items:center;gap:7px;margin-top:17px;padding-top:13px;display:flex}.quick-add span{color:#8b948f;text-transform:uppercase;letter-spacing:.7px;margin-right:3px;font-size:10px}.quick-add button{color:#3b7159;cursor:pointer;background:0 0;border:0;padding:4px;font-size:11px}.field-label{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.field-label span{font-size:12px;font-weight:700}.field-label small{color:#929b96;font-size:10px}.diet-grid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.diet-grid button{cursor:pointer;background:#fff;border:1px solid #dedfd6;border-radius:10px;align-items:center;gap:8px;padding:12px;font-size:11px;display:flex}.diet-grid button svg{color:#708078}.diet-grid button svg:last-child{color:#fff;background:#34755b;border-radius:50%;margin-left:auto;padding:2px}.diet-grid button.selected{color:#245b45;background:#edf5ef;border-color:#37745a;font-weight:700}.pref-row{grid-template-columns:1fr 1fr;gap:55px;margin-top:22px;display:grid}.segments{border:1px solid #dedfd6;border-radius:9px;padding:3px;display:flex}.segments button{cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:8px;font-size:11px}.segments button.selected{color:#315f4b;background:#e2edcf;font-weight:700}.switch-row{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.switch-row span,.switch-row small{display:block}.switch-row span{font-size:12px;font-weight:700}.switch-row small{color:#8b948f;margin-top:4px;font-size:10px}.switch-row input{opacity:0;position:absolute}.switch-row i{background:#ccd2ce;border-radius:99px;width:39px;height:22px;transition:all .2s;position:relative}.switch-row i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.switch-row input:checked+i{background:#39775d}.switch-row input:checked+i:after{left:20px}.generate-row{justify-content:space-between;align-items:center;padding:13px 4px;display:flex}.generate-row div b,.generate-row div span{display:block}.generate-row div b{font-family:Georgia,serif;font-size:16px}.generate-row div span{color:#78837e;margin-top:4px;font-size:11px}.generate-row .primary{padding:14px 20px;box-shadow:0 8px 20px #235d4729}.primary:disabled{opacity:.7;cursor:wait}.continue-link{color:#387159;cursor:pointer;background:0 0;border:0;margin:5px auto 0;font-size:12px;display:block}.continue-link span{margin-left:5px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.plan-content{padding-top:39px}.plan-hero{justify-content:space-between;align-items:end;margin-bottom:27px;display:flex}.plan-hero h2{font-size:34px}.week-stats{background:#eeebdf;border-radius:13px;padding:12px 7px;display:flex}.week-stats div{text-align:center;border-right:1px solid #d8d6cd;padding:0 18px}.week-stats div:last-child{border:0}.week-stats b,.week-stats span{display:block}.week-stats b{font-family:Georgia,serif;font-size:18px}.week-stats span{text-transform:uppercase;letter-spacing:.7px;color:#7e8883;margin-top:3px;font-size:8px}.plan-layout{grid-template-columns:minmax(0,1fr) 275px;align-items:start;gap:22px;display:grid}.recipe-stack{gap:12px;display:grid}.recipe-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 3px 12px #2d3d3406}.recipe-card.expanded{box-shadow:var(--shadow);border-color:#d5dbd0}.recipe-top{border-left:4px solid var(--accent);grid-template-columns:86px 60px minmax(0,1fr);align-items:center;gap:14px;padding:18px;display:grid}.day-label span,.day-label small{display:block}.day-label span{font-family:Georgia,serif;font-size:15px}.day-label small{text-transform:uppercase;color:#929b96;margin-top:5px;font-size:8px}.food-icon{background:#f0ecdf;border-radius:13px;place-items:center;width:56px;height:56px;font-size:28px;display:grid}.recipe-title{justify-content:space-between;align-items:start;gap:12px;display:flex}.recipe-title h3{margin:0 0 4px;font-family:Georgia,serif;font-size:18px}.recipe-title p{color:#7d8782;margin:0;font-size:10px}.swap{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dcded5;border-radius:8px;align-items:center;gap:5px;padding:7px 9px;font-size:10px;display:flex}.swap:hover{color:#2d674f;border-color:#4d8069}.meta{gap:12px;margin-top:10px;display:flex}.meta span{color:#707d76;align-items:center;gap:5px;font-size:9px;display:flex}.meta .match{color:#39745a}.details-toggle{color:#566760;cursor:pointer;background:#fbfaf5;border:0;border-top:1px solid #ecece5;justify-content:space-between;width:100%;padding:10px 18px;font-size:10px;font-weight:700;display:flex}.expanded .details-toggle svg{transform:rotate(180deg)}.recipe-details{background:#fff;border-top:1px solid #ecece5;grid-template-columns:1fr 1.25fr;gap:35px;padding:22px 26px;display:grid}.recipe-details h4{letter-spacing:1.2px;color:#77837d;margin:0 0 12px;font-size:8px}.ingredient-list{grid-template-columns:1fr 1fr;gap:7px;margin:0;padding:0;list-style:none;display:grid}.ingredient-list li{text-transform:capitalize;align-items:center;gap:6px;font-size:10px;display:flex}.ingredient-list li>svg{background:#eee;border-radius:50%;width:16px;height:16px;padding:3px}.ingredient-list li.have>svg{color:#2d6b50;background:#dcebdc}.ingredient-list small{color:#52816b;font-size:8px}.recipe-details ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.recipe-details ol li{gap:9px;display:flex}.recipe-details ol li>span{background:#e8eadf;border-radius:50%;place-items:center;min-width:20px;height:20px;font-family:Georgia,serif;font-size:10px;display:grid}.recipe-details ol p{color:#56635d;margin:2px 0 0;font-size:10px;line-height:1.4}.save-card{background:#e8edce;border:1px solid #d6dfb3;border-radius:16px;padding:24px;position:sticky;top:116px}.save-icon{color:#2f674f;background:#fff;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.save-card h3{margin:16px 0 7px;font-family:Georgia,serif;font-size:19px}.save-card p{color:#66736c;font-size:11px;line-height:1.55}.save-card .primary,.save-card .secondary{width:100%;margin-top:13px;padding:12px}.secondary{color:#315f4b;cursor:pointer;background:#f6f8e9;border:1px solid #9caf8e;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.local-note{text-align:center;color:#7b887f;margin-top:13px;font-size:8px}.empty-state{text-align:center;padding-top:110px}.empty-illustration{place-items:center;width:140px;height:120px;margin:auto;font-size:50px;display:grid;position:relative}.empty-illustration:before{content:"";z-index:-1;background:#e9e5d7;border-radius:50%;width:120px;height:60px;position:absolute;bottom:5px}.empty-state h2{margin:20px 0 9px;font-family:Georgia,serif;font-size:30px}.empty-state p{color:#78837e;margin:0 auto 20px;font-size:13px}.empty-state .primary{margin:auto;padding:13px 18px}.shopping-content{max-width:1050px}.shopping-head{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.shopping-head h2{font-size:36px}.progress-ring{background:conic-gradient(#4d846b var(--p),#e1e3da 0);border-radius:50%;place-items:center;width:74px;height:74px;display:grid}.progress-ring:before{content:"";background:var(--cream);border-radius:50%;width:58px;height:58px;position:absolute}.progress-ring div{z-index:1;text-align:center}.progress-ring b,.progress-ring span{display:block}.progress-ring b{font-family:Georgia,serif;font-size:17px}.progress-ring span{color:#79847e;font-size:8px}.shopping-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:22px;display:grid}.shopping-list{padding:0;overflow:hidden}.shopping-list section{border-bottom:1px solid #ebebe4;padding:22px 27px}.shopping-list h3{justify-content:space-between;margin:0 0 13px;font-family:Georgia,serif;font-size:17px;display:flex}.shopping-list h3 span{background:#eaeee6;border-radius:99px;padding:4px 7px;font-family:Arial;font-size:9px}.shopping-list label{cursor:pointer;text-transform:capitalize;align-items:center;gap:10px;padding:8px 0;font-size:12px;display:flex}.shopping-list label input{display:none}.shopping-list label i{color:#0000;border:1.5px solid #bfc6c1;border-radius:6px;place-items:center;width:20px;height:20px;display:grid}.shopping-list label.checked i{color:#fff;background:#39755b;border-color:#39755b}.shopping-list label.checked>span{color:#99a19d;text-decoration:line-through}.list-footer{color:#42705b;background:#f4f6eb;align-items:center;gap:8px;padding:15px 27px;font-size:11px;display:flex}.fridge-card{color:#fff;background:#264e40;border-radius:15px;padding:21px;position:sticky;top:116px}.fridge-card>div:first-child{align-items:center;gap:11px;display:flex}.fridge-card b,.fridge-card small{display:block}.fridge-card b{font-family:Georgia,serif;font-size:14px}.fridge-card small{color:#b8cdc4;margin-top:3px;font-size:9px}.tiny-chips{flex-wrap:wrap;margin:17px 0;gap:5px!important;display:flex!important}.tiny-chips span{color:#e7f0eb;background:#376152;border-color:#517467;padding:5px 7px;font-size:9px}.fridge-card button{color:#fff;cursor:pointer;background:0 0;border:1px solid #58786c;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px;font-size:10px;display:flex}.mobile-nav{display:none}.app-loading{text-align:center;color:#42705b;place-content:center;gap:10px;height:100vh;display:grid}.app-loading svg{margin:auto}.app-loading span{font-size:12px}@media (max-width:900px){.sidebar{width:210px}.sidebar .side-note{display:none}main{margin-left:210px}.plan-layout,.shopping-layout{grid-template-columns:1fr}.save-card,.fridge-card{position:static}.diet-grid{grid-template-columns:1fr 1fr}.intro .mini-week,.week-stats{display:none}.plan-hero h2{font-size:30px}.pref-row{gap:20px}.recipe-top{grid-template-columns:72px 55px minmax(0,1fr)}}@media (max-width:680px){body{padding-bottom:68px}.sidebar{display:none}main{margin-left:0}.topbar{height:76px;padding:0 18px}.topbar>div:not(.mobile-logo){display:none}.mobile-logo{display:block}.mobile-logo .brand{color:var(--ink)}.mobile-logo .brand span{color:#73807a}.saved-pill{padding:9px;font-size:0}.content{padding:28px 16px 45px}.intro{margin-bottom:23px}.intro h2{font-size:30px}.intro h2 br{display:none}.intro p{font-size:12px}.panel{border-radius:14px;padding:20px 17px}.section-heading p{line-height:1.4}.quick-add{overflow:auto}.quick-add button{white-space:nowrap}.diet-grid{grid-template-columns:1fr 1fr}.diet-grid button{padding:10px 8px}.pref-row{grid-template-columns:1fr;gap:20px}.generate-row{text-align:center;display:block}.generate-row .primary{width:100%;margin-top:14px;padding:14px}.plan-hero,.shopping-head{display:block}.plan-hero h2,.shopping-head h2{font-size:29px}.recipe-top{border-left-width:4px;grid-template-columns:1fr 45px;padding:15px}.day-label{grid-column:1}.food-icon{grid-area:1/2;width:45px;height:45px;font-size:22px}.card-main{grid-column:1/-1}.recipe-title h3{font-size:17px}.recipe-title p{line-height:1.4}.recipe-details{grid-template-columns:1fr;gap:24px;padding:20px}.ingredient-list{grid-template-columns:1fr 1fr}.plan-layout{gap:14px}.save-card{margin-top:5px}.progress-ring{width:62px;height:62px;position:absolute;top:92px;right:18px}.progress-ring:before{width:48px;height:48px}.shopping-head{padding-right:70px}.mobile-nav{z-index:20;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefaf5;justify-content:space-around;padding:7px 15px 9px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#7d8882;background:0 0;border:0;place-items:center;gap:3px;min-width:70px;font-size:9px;display:grid}.mobile-nav button.active{color:#276049}.shopping-list section{padding:20px}.shopping-list label{padding:10px 0}.empty-state{padding-top:70px}}
