:root{color-scheme:light;--ink:#273e31;--forest:#245c43;--forest-dark:#163e2f;--sage:#e7f1dc;--sage-mid:#d1e5c0;--cream:#faf9f4;--paper:#fff;--sub:#718073;--line:#e5e9df;--coral:#f2c7a7;--shadow:0 12px 34px rgba(47,75,52,.08);font-family:ui-rounded,"Avenir Next",Avenir,"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f9f3;color:var(--ink);font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit}img{max-width:100%}.app-shell{max-width:1140px;min-height:100dvh;margin:auto;padding:0 30px 22px}.topbar{height:87px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;font-weight:850;letter-spacing:-.055em;font-size:23px}.brand-mark{display:grid;place-items:center;background:var(--forest);color:#f6eee1;border-radius:15px;width:35px;height:35px;font-size:22px}.private-pill{font-size:12px;font-weight:700;color:var(--forest);background:#e6f0df;border:1px solid #d7e7ce;border-radius:99px;padding:8px 13px;display:flex;gap:7px;align-items:center}.private-dot{height:7px;width:7px;background:#63a66a;border-radius:50%}.hero{height:265px;border-radius:29px;background:linear-gradient(122deg,#deebd1 0%,#ebf3e3 59%,#d9eac9 100%);position:relative;display:flex;align-items:center;overflow:hidden;margin-bottom:20px;padding:31px 48px}.hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-95px;bottom:-220px;background:#bfd8aa33}.hero-copy{position:relative;z-index:2;max-width:580px}.eyebrow,.section-kicker{letter-spacing:.16em;font-size:10px;font-weight:900;color:#5e8565}.hero h1{font-size:clamp(33px,4vw,48px);letter-spacing:-.06em;margin:8px 0 5px;line-height:1.1}.hero p{font-size:15px;color:#52715d;margin:0 0 25px}.hero-counters{display:flex;gap:7px;flex-wrap:wrap}.hero-counters span{background:#ffffffad;border:1px solid #f7fff0a8;border-radius:100px;padding:8px 14px;color:#55715d;font-size:12px}.hero-counters strong{color:#255c42;font-size:15px}.chef-portrait{position:absolute;right:42px;bottom:-73px;width:305px;height:auto;object-fit:contain;z-index:1;filter:drop-shadow(0 12px 16px #6e8d6350)}.hero-spark{position:absolute;color:#79a16d}.hero-spark-one{top:33px;right:345px;font-size:19px}.hero-spark-two{right:21px;bottom:25px;font-size:39px;opacity:.55}.tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:6px;gap:5px;background:#eef2e9;border-radius:18px;margin:0 0 29px;position:sticky;top:6px;z-index:20;box-shadow:0 4px 14px #405d4212}.tab{border:0;background:transparent;border-radius:13px;padding:12px 8px;font-size:14px;color:#65806d;font-weight:750;display:flex;align-items:center;justify-content:center;gap:10px}.tab.active{background:#fff;color:var(--forest);box-shadow:0 4px 10px #264b3420}.tab span:first-child{font-size:18px}.view{display:none;min-height:350px;animation:fade .2s ease}.view.active{display:block}@keyframes fade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:7px 0 24px}.section-heading h2{font-size:31px;line-height:1.1;letter-spacing:-.055em;margin:4px 0 7px}.muted{color:var(--sub);font-size:13px;margin:0}.button{border:0;border-radius:12px;padding:11px 17px;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;text-align:center;white-space:normal}.button-primary{background:var(--forest);color:#fff;box-shadow:0 3px 5px #27593920}.button-primary:hover,.button-dark:hover{filter:brightness(1.08)}.button-dark{background:var(--forest-dark);color:#fff}.button-light{background:#e8f1e0;color:var(--forest)}.button-ghost{background:#fff;border:1px solid #cbdcce;color:var(--forest)}.button-danger{background:#fff3f0;color:#b54a41}.mini-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 13px}.mini-heading h3{font-size:17px;letter-spacing:-.04em;margin:0}.tiny-badge{background:#e5f1de;color:#638569;font-size:11px;border-radius:99px;padding:5px 10px;font-weight:800}.meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.meal-card{background:#fff;border:1px solid #ecf0e8;border-radius:20px;box-shadow:var(--shadow);padding:19px 20px 16px;min-width:0}.meal-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.meal-number{display:flex;align-items:center;gap:8px;color:#78907e;font-weight:900;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.number-dot{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#e4f0dd;color:#477953;letter-spacing:0;font-size:12px}.meal-separator{height:1px;background:#e9eee5;margin:13px 0}.meal-line{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.meal-name{min-width:0}.meal-label{font-size:11px;font-weight:800;color:#88a088;margin:0 0 4px}.meal-line h4{font-size:16px;letter-spacing:-.035em;line-height:1.3;margin:0;overflow-wrap:anywhere}.meal-action-group{display:flex;gap:3px;flex:none}.little-action{border:1px solid #e0e9dd;background:#f7faf4;color:#54725b;border-radius:8px;min-width:32px;height:32px;padding:3px 6px;font-size:15px}.little-action.locked{background:#d6ebcd;border-color:#b0d5a9}.little-action:hover{background:#e8f3df}.missing{color:#a9aaa2;font-style:italic}.soups-heading{margin-top:32px}.soup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.soup-card{border:1px solid #efe9de;background:#fffcf7;border-radius:18px;padding:19px 20px;display:flex;gap:13px;align-items:center;min-width:0}.soup-symbol{font-size:27px;background:#f9eede;border-radius:13px;width:49px;height:49px;flex:none;display:grid;place-items:center}.soup-data{flex:1;min-width:0}.soup-data .meal-label{color:#b29270}.soup-data h4{margin:0;font-size:15px;letter-spacing:-.03em;overflow-wrap:anywhere}.cta-strip{margin:29px 0 10px;background:#eaf3e4;border:1px solid #d9e9d1;padding:18px 20px;border-radius:19px;display:flex;align-items:center;justify-content:space-between;gap:15px}.cta-strip>div{display:flex;align-items:center;gap:12px}.cta-icon{font-size:25px;background:#fff;border-radius:13px;display:grid;place-items:center;width:51px;height:51px}.cta-strip strong{font-size:15px}.cta-strip p{font-size:12px;color:#6a8370;margin:2px 0 0}.notice{padding:13px;border-radius:12px;border:1px solid #efddb3;background:#fff8e6;color:#8b713d;margin-bottom:17px;font-size:13px}.filter-bar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.filter{border:1px solid #dfe9da;color:#61806b;background:#fff;border-radius:99px;padding:9px 14px;font-weight:800;font-size:12px}.filter.active{background:#2b654b;color:#fff;border-color:#2b654b}.filter span{font-size:11px;opacity:.8;margin-left:4px}.search-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 13px;display:flex;gap:9px;align-items:center;margin-bottom:18px}.search-wrap span:first-child{font-size:25px;color:#8fa28f}.search-wrap input{flex:1;border:0;outline:0;height:45px;min-width:0;background:transparent;color:var(--ink)}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.recipe-card{border:1px solid #e6ece2;background:#fff;border-radius:17px;padding:18px;display:flex;flex-direction:column;min-height:166px;box-shadow:0 7px 20px #30553a08}.recipe-card-top{display:flex;justify-content:space-between;align-items:center}.recipe-emoji{width:40px;height:40px;display:grid;place-items:center;background:#f1f5e9;border-radius:13px;font-size:23px}.recipe-edit{border:0;background:#f2f6f0;color:#41634b;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800}.recipe-card h3{font-size:16px;margin:15px 0 7px;line-height:1.3;letter-spacing:-.025em}.recipe-card p{font-size:12px;color:var(--sub);margin:auto 0 0}.empty-state{text-align:center;border:1px dashed #b9d1b6;background:#fff;border-radius:17px;padding:27px;color:var(--sub);grid-column:1/-1}.shopping-total{background:#e6f0e1;color:#496f54;padding:8px 13px;font-weight:800;font-size:12px;border-radius:99px}.shopping-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:19px}.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.shopping-card{border:1px solid #e4ebe1;background:#fff;border-radius:20px;padding:20px;box-shadow:var(--shadow)}.shopping-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0e8;padding-bottom:16px}.shopping-card-head h3{margin:0 0 3px;font-size:17px}.shopping-list{padding:5px 0 0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:23px}.shopping-list li{display:flex;align-items:center;gap:9px;border-bottom:1px solid #f1f4ef;min-height:42px;padding:3px 2px;min-width:0}.shopping-list label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}.shopping-list input{accent-color:var(--forest);width:17px;height:17px;flex:none}.shopping-item-name{overflow-wrap:anywhere;font-size:13px}.shopping-list li.checked .shopping-item-name{text-decoration:line-through;color:#a6b3a4}.remove-item{border:0;background:transparent;color:#a7b4a8;font-size:18px;line-height:1}.extra-form{display:flex;gap:9px;margin-top:18px}.extra-form input{min-width:0;flex:1;border:1px solid #e2eadd;border-radius:11px;padding:10px 12px;outline-color:#82b585}.text-button{background:transparent;border:0;padding:4px;color:#3a7653;font-size:12px;font-weight:800}.text-button:hover{text-decoration:underline}.with-arrow{font-size:13px;padding:7px 0}.tip-card{background:#eef5e9;border:1px solid #dce9d5;border-radius:20px;padding:23px}.tip-emoji{font-size:29px}.tip-card h3{font-size:19px;letter-spacing:-.04em;line-height:1.2;margin:10px 0}.tip-card p{font-size:13px;color:#5f7b66;margin:0 0 11px;line-height:1.6}.tip-card hr{border:0;border-top:1px solid #d2e1cc;margin:15px 0}.tip-card .small-note{font-size:12px;margin:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-card{background:#fff;border:1px solid #e5ebe1;border-radius:20px;padding:22px;box-shadow:var(--shadow)}.settings-icon{font-size:25px;width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#eef4e9}.settings-card h3{font-size:17px;margin:14px 0 8px}.settings-card p{font-size:13px;color:#687e6c;line-height:1.6;margin:0 0 14px}.setting-buttons{display:flex;gap:8px;flex-wrap:wrap}.privacy-note{font-size:12px;border-radius:13px;margin:18px 0;background:#e9f3e5;padding:13px 17px;color:#52735a}.footer{color:#9aab9c;text-align:center;font-size:11px;padding:29px 10px 10px}.footer-divider{padding:0 5px}.dialog{border:0;border-radius:23px;padding:27px;width:min(calc(100vw - 28px),520px);max-height:86dvh;overflow:auto;box-shadow:0 22px 90px #1d403850;color:var(--ink)}.dialog::backdrop{background:#142c23a8;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:23px}.dialog-top h2{font-size:25px;letter-spacing:-.05em;margin:4px 0 0}.icon-button{border:0;background:#f0f4ed;border-radius:11px;width:36px;height:36px;color:#5d765f;font-weight:900}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;margin:0 0 17px}.field input,.field select,.field textarea{width:100%;border:1px solid #dbe5d8;border-radius:12px;padding:12px;outline-color:#7daf86;color:var(--ink);background:#fff;font-weight:500}.field textarea{resize:vertical;line-height:1.6}.field-help{font-size:11px;color:#93a492;font-weight:500;margin-top:-7px}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}.grow{flex:1}.form-error{color:#ae4d46;font-size:12px;margin:-7px 0 12px}.help-dialog p{font-size:13px;color:#5e7664;line-height:1.65}.help-steps{padding-left:23px;color:#314e3a;font-size:13px;line-height:1.55}.help-steps li{margin:10px 0;padding-left:3px}.help-note{font-size:12px;background:#edf5e8;padding:14px;border-radius:12px;color:#507257;margin:19px 0}.toast{position:fixed;z-index:100;left:50%;bottom:max(26px,env(safe-area-inset-bottom));transform:translate(-50%,18px);background:#193d2d;color:#fff;border-radius:13px;padding:11px 17px;box-shadow:0 15px 45px #193e2f45;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.22s}.toast.visible{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(max-width:800px){.app-shell{padding:0 16px 20px}.hero{height:240px;padding:29px}.chef-portrait{width:235px;right:3px;bottom:-45px}.hero-copy{max-width:65%}.hero h1{font-size:37px}.hero p{max-width:275px;font-size:13px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-layout{grid-template-columns:1fr}.tip-card{display:block}.section-heading h2{font-size:28px}}
@media(max-width:550px){body{font-size:14px}.app-shell{padding:0 13px calc(20px + env(safe-area-inset-bottom))}.topbar{height:65px}.brand{font-size:19px}.brand-mark{width:31px;height:31px}.private-pill{font-size:10px;padding:6px 8px}.hero{height:216px;padding:24px 20px;border-radius:21px;margin-bottom:12px}.hero-copy{max-width:72%}.hero h1{font-size:34px}.hero p{font-size:12px;max-width:203px;margin-bottom:18px}.hero-counters{gap:4px;max-width:205px}.hero-counters span{font-size:10px;padding:5px 8px}.hero-counters strong{font-size:12px}.eyebrow{font-size:8px}.chef-portrait{width:206px;right:-41px;bottom:-12px}.hero-spark-one{display:none}.tabs{top:5px;margin-bottom:22px;padding:4px;gap:2px;border-radius:13px}.tab{padding:9px 3px;gap:2px;flex-direction:column;font-size:10px;border-radius:10px}.tab span:first-child{font-size:17px}.section-heading{align-items:flex-start;gap:10px;margin:5px 0 17px}.section-heading h2{font-size:26px}.section-heading>.button{font-size:11px;min-height:39px;padding:9px 10px}.meal-grid,.soup-grid,.recipe-grid,.settings-grid{grid-template-columns:1fr}.meal-grid,.soup-grid{gap:10px}.meal-card{padding:16px}.meal-card-top{margin-bottom:13px}.meal-line h4{font-size:15px}.mini-heading h3{font-size:15px}.soups-heading{margin-top:27px}.soup-card{padding:15px}.cta-strip{padding:15px;align-items:stretch;flex-direction:column}.cta-strip .button{width:100%}.filter-bar{gap:5px}.filter{padding:8px 11px;font-size:11px}.shopping-actions .button{flex:1;font-size:12px}.shopping-card{padding:15px}.shopping-list{grid-template-columns:1fr}.shopping-list li{min-height:43px}.shopping-layout{gap:13px}.settings-card{padding:18px}.settings-card p{margin-bottom:12px}.dialog{padding:20px}.dialog-top h2{font-size:22px}.shopping-total{font-size:10px;padding:6px 8px}.extra-form .button{padding:8px 10px;font-size:11px}}
@media(max-width:370px){.hero h1{font-size:29px}.hero p{max-width:178px}.chef-portrait{width:188px;right:-46px}.private-pill{display:none}.section-heading{flex-wrap:wrap}.section-heading>.button{width:100%}.shopping-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view{animation:none}.toast{transition:none}}
