:root{--paper:#f2f6f3;--surface:#fff;--ink:#15241d;--muted:#485a51;--line:#c9d5ce;--leaf:#0a6652;--leaf-dark:#074a3b;--tag:#f6cb3f;--tag-ink:#2a2102;--over:#9f2617;--over-bg:#fbe9e5;--test-bg:#e8eefb;--test-ink:#1d3263;--focus:#1b4fd8;--radius:10px;--display:"Avenir Next", "Avenir", "Segoe UI Variable Display", "Segoe UI", "Helvetica Neue", system-ui, sans-serif;--body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:1rem/1.55 var(--body);margin:0}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--leaf-dark);text-underline-offset:.18em}a:hover{color:var(--ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3,h4{font-family:var(--display);margin:0 0 .5rem;line-height:1.2}h1{letter-spacing:-.02em;max-width:22ch;font-size:clamp(1.75rem,1.2rem + 2.4vw,2.75rem);font-weight:800}h2{font-size:1.4rem;font-weight:750}h3{font-size:1.1rem;font-weight:700}h4{font-size:1rem;font-weight:650}p{margin:0 0 .75rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{background:var(--ink);color:#fff;z-index:10;border-radius:6px;padding:.5rem .75rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{color:#fff;top:1rem}.site-header{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.9rem clamp(1rem,4vw,2.5rem);display:flex}.wordmark{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:1.35rem;font-weight:850;text-decoration:none}.wordmark:after{content:"";background:var(--tag);border:2px solid var(--ink);vertical-align:.05em;border-radius:50%;width:.45em;height:.45em;margin-left:.15em;display:inline-block}.tagline{color:var(--muted);font-size:.95rem}.lang-switch{border:1px solid var(--ink);border-radius:999px;margin-left:auto;display:inline-flex;overflow:hidden}.lang-switch button{font:600 .85rem/1 var(--body);letter-spacing:.06em;min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:.5rem .8rem}.lang-switch button[aria-pressed=true]{background:var(--ink);color:#fff}main{flex:1;width:100%;max-width:76rem;margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem) clamp(1rem,4vw,2.5rem) 3rem}main:focus{outline:none}.site-footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding:1rem clamp(1rem,4vw,2.5rem);font-size:.9rem;display:flex}.site-footer nav{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.site-footer p{margin:0}.intro{margin-bottom:1.5rem}.intro p{max-width:62ch;color:var(--muted);font-size:1.05rem}.workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:2rem;display:grid}@media (width>=960px){.workspace{grid-template-columns:minmax(20rem,24rem) minmax(0,1fr)}.workspace-form{max-height:calc(100vh - 2rem);padding-right:.25rem;position:sticky;top:1rem;overflow:auto}}.plan-form,.save,.calc-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.plan-form>*+*{margin-top:1rem}.field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.field-row{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.75rem;display:grid}label,legend{font-weight:600}input[type=text],input[type=email],input:not([type]),select,textarea{font:inherit;color:var(--ink);background:#fff;border:1.5px solid #6d7f76;border-radius:8px;width:100%;min-height:44px;padding:.55rem .65rem}input[aria-invalid=true]{border-color:var(--over);box-shadow:inset 0 0 0 1px var(--over)}.budget-field input{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.25rem}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset.choices{flex-wrap:wrap;gap:.25rem 1rem;display:flex}fieldset.choices legend{float:left;width:100%;margin-bottom:.35rem;padding:0}.choices-columns{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));display:grid!important}.choice{align-items:center;gap:.45rem;min-height:32px;font-weight:400;display:inline-flex}.choice input{width:1.15rem;height:1.15rem;accent-color:var(--leaf);margin:0}.hint{color:var(--muted);width:100%;margin:0;font-size:.9rem}.error{color:var(--over);margin:0;font-size:.9rem;font-weight:600}details.exclude summary,details.warnings summary,details.steps summary{cursor:pointer;min-height:32px;font-weight:600}details.exclude[open] summary{margin-bottom:.5rem}.calc-panel{background:var(--paper)}.calc>*+*{margin-top:.85rem}.calc-intro{font-size:.92rem}.calc-kcal{font-weight:700}.hero{padding:clamp(1rem,4vw,2.5rem) 0 1.5rem}.hero h1{max-width:20ch}.hero-sub{max-width:60ch;color:var(--muted);font-size:1.15rem}.hero .actions{margin-top:1.25rem}.hero .hint{margin-top:.5rem}a.btn{align-items:center;text-decoration:none;display:inline-flex}.btn-cta{background:var(--leaf);color:#fff;font-size:1.05rem}a.btn-cta:hover{background:var(--leaf-dark);border-color:var(--leaf-dark);color:#fff}.benefits,.features{gap:1rem;max-width:70ch;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.benefits{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));max-width:none}.benefits li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem}.benefits strong,.features strong{font-family:var(--display);display:block}.features strong{display:inline}.audience{font-weight:600}.numbers-note{max-width:70ch;color:var(--muted);font-size:.95rem}.mealime{max-width:70ch}.mealime h1{max-width:none}.fact-box{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--leaf);border-radius:var(--radius);padding:.85rem 1rem}.mealime h2{margin-top:2rem}.btn{font:650 1rem/1.2 var(--body);cursor:pointer;border:2px solid var(--leaf);border-radius:8px;min-height:44px;padding:.7rem 1.1rem}.btn-primary{background:var(--leaf);color:#fff;width:100%;font-size:1.05rem}.btn-primary:hover{background:var(--leaf-dark);border-color:var(--leaf-dark)}.btn-secondary{color:var(--leaf-dark);background:#fff}.btn-secondary:hover{background:#e3efe9}.btn-quiet{color:var(--over);background:0 0;border-color:#0000;padding-inline:.25rem;text-decoration:underline}.actions{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.notice{border-radius:var(--radius);margin:0 0 1rem;padding:.85rem 1rem}.notice p:last-child,ul.notice{margin-bottom:1rem}.notice-test{background:var(--test-bg);color:var(--test-ink);border-left:5px solid var(--test-ink)}.notice-error{background:var(--over-bg);color:var(--over);border-left:5px solid var(--over)}.notice-error p{color:#6d1a10}.notice-warn{color:#4a3800;background:#fff4cf;border-left:5px solid #b38600}ul.notice{padding-left:2rem}.loading{color:var(--muted)}.plan-title:focus{outline:none}.plan>*+*{margin-top:1rem}.gauge{background:var(--tag);color:var(--tag-ink);clip-path:polygon(1.4rem 0,100% 0,100% 100%,1.4rem 100%,0 50%);border-radius:6px 14px 14px 6px;padding:1.1rem 1.25rem 1.25rem 2.6rem;position:relative}.gauge:before{content:"";background:var(--paper);width:.7rem;height:.7rem;box-shadow:inset 0 0 0 2px var(--tag-ink);border-radius:50%;margin-top:-.35rem;position:absolute;top:50%;left:1.05rem}.gauge-status{font:800 1.2rem/1.25 var(--display);margin-bottom:.6rem}.gauge-over{background:#ffd9cf}.gauge-over .gauge-status{color:var(--over)}.gauge-figures{flex-wrap:wrap;gap:.5rem 2rem;display:flex}.gauge-figures p{flex-direction:column;margin:0;display:flex}.gauge-label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.gauge-value{font:700 1.6rem/1.1 var(--mono);font-variant-numeric:tabular-nums}.gauge-track{background:#0000001f;border-radius:5px;height:10px;margin-top:.9rem;position:relative}.gauge-fill{background:var(--tag-ink);border-radius:5px;position:absolute;inset:0 auto 0 0}.gauge-over .gauge-fill{background:var(--over)}.gauge-mark{background:var(--ink);width:3px;margin-left:-1.5px;position:absolute;top:-5px;bottom:-5px}.basis{font-size:.95rem}.totals{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem}.totals ul{flex-wrap:wrap;gap:.5rem 1.75rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.totals li{white-space:nowrap}.totals-v{font:700 1.25rem var(--mono);font-variant-numeric:tabular-nums}.warnings{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem}.warnings ul{margin:.5rem 0 0;padding-left:1.25rem}.tabs{border-bottom:2px solid var(--ink);gap:.25rem;margin-top:1.5rem;display:flex}.tabs [role=tab]{font:650 1rem var(--body);min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:2px solid #0000;border-bottom:0;border-radius:8px 8px 0 0;margin-bottom:-2px;padding:.65rem 1rem}.tabs [role=tab][aria-selected=true]{background:var(--surface);color:var(--ink);border-color:var(--ink);border-bottom:2px solid var(--surface)}.panel{padding-top:1rem}.day{margin-bottom:2rem}.day>h3{border-bottom:1px solid var(--line);padding-bottom:.3rem;font-size:1.3rem}.meal{margin:1rem 0}details.steps{margin-top:.5rem}details.steps ol{margin:.5rem 0;padding-left:1.5rem}details.steps li+li{margin-top:.25rem}.slot{font:700 .72rem/1 var(--body);text-transform:uppercase;letter-spacing:.09em;background:var(--ink);color:#fff;vertical-align:.15em;border-radius:4px;margin-right:.25rem;padding:.3rem .45rem;display:inline-block}.day-total{font-size:.95rem}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data th,table.data td{text-align:left;vertical-align:top;border-bottom:1px solid #e3e9e5;padding:.45rem .65rem}table.data thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;font-size:.78rem}table.data tbody th{font-weight:500}table.data tfoot th,table.data tfoot td{border-bottom:0;border-top:2px solid var(--ink);font-weight:700}table.data .num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}table.data thead .num{font-family:var(--body)}.tag{white-space:nowrap;border-radius:999px;margin-left:.4rem;padding:.1rem .4rem;font-size:.72rem;font-weight:700;display:inline-block}.tag-staple{color:var(--leaf-dark);background:#dceee6}.tag-stale{color:#5a4300;background:#fff1c2}table.shop-table thead th,table.shop-table thead th.num{white-space:normal;vertical-align:bottom}table.shop-table .shop-food{font-weight:600;display:block}table.shop-table tbody th .tag{white-space:normal;margin:.15rem 0 0}table.shop-table th,table.shop-table td{padding-left:.5rem;padding-right:.5rem}.shopping{container-type:inline-size}@container (width<=40rem){.shop-wrap{overflow:visible}table.shop-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.shop-table tr{border-bottom:1px solid #e3e9e5;grid-template-columns:repeat(3,minmax(0,1fr));gap:.15rem .5rem;padding:.5rem .6rem;display:grid}table.shop-table th,table.shop-table td{text-align:left;border:0;padding:0;display:block}table.shop-table tbody th,table.shop-table tfoot th{grid-column:1/-1}table.shop-table td.num{text-align:left}table.shop-table td.empty{display:none}table.shop-table td[data-label]:before{content:attr(data-label);font:600 .68rem/1.3 var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:block}table.shop-table tfoot th,table.shop-table tfoot td{border:0}table.shop-table tfoot tr{border-top:2px solid var(--ink);border-bottom:0}}table.shop-table .shop-date{color:var(--muted);font-size:.78rem;font-weight:400;display:block}.save{margin-top:1.5rem}.save-status:empty{display:none}.save-status{margin-top:.5rem;font-weight:600}.disclosure{border-top:2px solid var(--ink);margin-top:2rem;padding-top:1rem;font-size:.92rem}.disclosure h2{font-size:1.1rem}.disclosure ul{padding-left:1.2rem}.disclosure .sources{color:var(--muted)}.disclosure .version{font-family:var(--mono);word-break:break-all;font-size:.8rem}.legal{max-width:46rem}.price-method-note{margin:1rem 0;font-size:.92rem;line-height:1.6}.price-method-note p{margin:.5rem 0}.legal h1:focus,.legal-section:focus{outline:none}.legal h2{margin-top:1.75rem;font-size:1.15rem}.legal-meta{color:var(--muted)}.legal li{margin-bottom:.5rem}.print-only{display:none}@media (width<=560px){.tagline{display:none}.meal .table-wrap{overflow:visible}table.data-stack thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.data-stack tr{border-bottom:1px solid #e3e9e5;grid-template-columns:repeat(3,minmax(0,1fr));gap:.15rem .5rem;padding:.5rem .6rem;display:grid}table.data-stack th,table.data-stack td{text-align:left;border:0;padding:0;display:block}table.data-stack tbody th,table.data-stack tfoot th{grid-column:1/-1}table.data-stack td.num{text-align:left}table.data-stack td.empty{display:none}table.data-stack td[data-label]:before{content:attr(data-label);font:600 .68rem/1.3 var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:block}table.data-stack tfoot th,table.data-stack tfoot td{border:0}table.data-stack tfoot tr{border-top:2px solid var(--ink);border-bottom:0}table.data{font-size:.82rem}table.data th,table.data td{padding:.4rem .45rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body{background:#fff;font-size:11pt}.no-print,.site-header,.skip-link,.intro,.notice-test~.workspace .workspace-form{display:none!important}.print-only{display:block}main{max-width:none;padding:0}.workspace{display:block}.table-wrap{border:0;overflow:visible}.gauge{clip-path:none;border:2px solid #000;padding-left:1rem;background:#fff!important}.gauge:before{display:none}a{color:#000}tr{break-inside:avoid}}textarea{resize:vertical;min-height:8rem}textarea[aria-invalid=true]{border-color:var(--over);box-shadow:inset 0 0 0 1px var(--over)}.waitlist{border:2px solid var(--ink);border-radius:var(--radius);background:#fff;max-width:44rem;margin-top:2.5rem;padding:1.25rem}.waitlist form>*+*,.contact-form>*+*{margin-top:.9rem}.consent .choice{align-items:flex-start}.consent .choice input{flex:none;margin-top:.2rem}.contact,.waitlist-page{max-width:44rem}.contact h1:focus,.waitlist-page h1:focus{outline:none}.notice-ok{color:#10392a;border-left:5px solid var(--leaf-dark);background:#e3efe9}.form-status:empty{display:none}.form-status{font-weight:600}.hp{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}a.btn{text-decoration:none;display:inline-block}
