:root{--serif:var(--font-lora), Georgia, "Times New Roman", serif;--line:#ddd3c0;--soft:#f2ecdf;--panel:#fffefb;--muted:#6a6257;--warn:#a3441a;--kcal:#cf4f2b;--protein:#3d7a56;--fat:#cf9a2c;--carbs:#5a8cc4}:root[data-mantine-color-scheme=dark]{--line:#3b362f;--soft:#2b2723;--panel:#25211e;--muted:#a9a194;--warn:#eda072;--kcal:#e88462;--protein:#86bd9c;--fat:#e3bb66;--carbs:#92b5df}body{font-variant-numeric:tabular-nums}h1,h2,h3,h4,.brand{word-spacing:-.08em}.muted{color:var(--muted)}.small{font-size:.875rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{flex:none}.illustration{width:100%;height:auto;display:block}.page,.stack{grid-template-columns:minmax(0,1fr)}.page{gap:24px;max-width:720px;margin:0 auto;padding:20px 20px 140px;display:grid}.top{justify-content:space-between;align-items:center;display:flex}.brand{font-family:var(--serif);color:inherit;align-items:center;gap:10px;font-size:1.2rem;font-weight:600;text-decoration:none;display:inline-flex}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{gap:14px;display:grid}.steps{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:6px 24px;margin:0;padding:0 0 14px;font-size:.9rem;list-style:none;display:flex}.steps li{align-items:baseline;gap:6px;display:flex;position:relative}.steps .n{font-family:var(--serif);font-style:italic}.steps .on{color:var(--mantine-color-text);font-weight:600}.steps .on:after{content:"";background:var(--mantine-primary-color-filled);height:2px;position:absolute;bottom:-15px;left:0;right:0}.tabs-nav{flex-wrap:nowrap;gap:0 22px;padding-bottom:4px;font-size:.95rem}.tabs-nav button{all:unset;cursor:pointer;white-space:nowrap;padding:8px 0}.tabs-nav button:hover:not(:disabled){color:var(--mantine-color-text)}.tabs-nav button:disabled{cursor:default;opacity:.6}.tabs-nav button:focus-visible{outline:2px solid var(--mantine-primary-color-filled);outline-offset:2px;border-radius:2px}.tabs-nav .on:after{bottom:-5px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-content:start;gap:16px;padding:22px;display:grid}.panels{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;display:grid}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:8px 32px;display:grid}.hero .illustration{justify-self:center;max-width:320px}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.sticky{z-index:5;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:var(--mantine-color-body);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.sticky>*{max-width:680px;margin:0 auto}.kcal-number{font-family:var(--serif);font-size:2.6rem;font-weight:600;line-height:1}.macros{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.macros div{display:grid}.macros dd{font-family:var(--serif);order:-1;margin:0;font-size:1.25rem;font-weight:600}.macros dt{color:var(--muted);font-size:.8rem}.meals{display:grid}.meal{border-top:1px solid var(--line);gap:6px;padding:22px 0;display:grid}.meal:first-child{border-top:0;padding-top:4px}.meal-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.78rem;font-weight:600;display:flex}.meal-head span{align-items:center;gap:6px;display:inline-flex}.meal-head .slot{color:var(--mantine-primary-color-light-color)}.ingredients{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.ingredients li{align-items:baseline;gap:8px;display:flex}.ingredients .lead{border-bottom:1.5px dotted var(--line);flex:1;min-width:12px;transform:translateY(-3px)}.ingredients li>:last-child{color:var(--muted)}.steps-list{gap:8px;margin:12px 0 8px;padding-left:22px;display:grid}.steps-list li::marker{font-family:var(--serif);color:var(--mantine-primary-color-filled);font-weight:600}.days{scrollbar-width:none;margin:0 -20px;padding:0 20px;scroll-margin-top:16px;overflow-x:auto}.days [role=tablist]{flex-wrap:nowrap}.days button{white-space:nowrap}.person-total{gap:8px;display:grid}.person-total+.person-total{border-top:1px solid var(--line);padding-top:16px}.nutrients{color:var(--muted);flex-wrap:wrap;gap:4px 16px;font-size:.85rem;display:flex}.nutrients .off{color:var(--warn);font-weight:600}.swatch{border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.protein{background:var(--protein)}.fat{background:var(--fat)}.carbs{background:var(--carbs)}.cart{margin:0;padding:0;list-style:none;display:grid}.cart li{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.cart li:first-child{border-top:0}.cart li>div{display:grid}.cart li>div>span{color:var(--muted);font-size:.85rem}.cart li.missing b{color:var(--warn)}.cart .right{text-align:right;white-space:nowrap}.total{border-top:2px solid var(--line);font-family:var(--serif);justify-content:space-between;align-items:baseline;padding-top:14px;font-size:1.15rem;display:flex}.total b{font-size:1.7rem}.shop-actions{justify-content:flex-start}.shop-heading{letter-spacing:.04em;color:var(--muted);margin-top:6px;font-size:1rem}.shop-list{margin:0;padding:0;list-style:none}.shop-list li{border-top:1px solid var(--line)}.shop-list li:first-child{border-top:0}.shop-check{padding:11px 0;position:relative}.shop-check .shop-label{flex:1;min-width:0}.shop-check label:after{content:"";cursor:pointer;position:absolute;inset:0}.shop-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.shop-line b{white-space:nowrap;flex:none;font-weight:600}.shop-check:has(input:checked) .shop-line{color:var(--muted);text-decoration:line-through}.status{text-align:center;justify-items:center;gap:10px;padding:28px 22px 32px}.status .illustration{max-width:260px;margin-bottom:4px}.status p{max-width:44ch}.status ul{text-align:left}footer{text-align:center}@media (max-width:560px){.hero h1{font-size:2.1rem}.page{gap:20px;padding:16px 16px 140px}.hero{grid-template-columns:1fr}.hero .illustration{order:-1;max-width:230px}.panel{padding:18px}.panels{grid-template-columns:1fr}.steps li:not(.on) .t{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.days{margin:0 -16px;padding:0 16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}button[aria-expanded=true] [data-position=right] .icon{transform:rotate(180deg)}.choice-grid{grid-template-columns:repeat(auto-fit, minmax(min(var(--min,200px), 100%), 1fr));border:0;gap:10px;min-width:0;margin:8px 0 0;padding:0;display:grid}.choice-card{background:0 0;align-items:center;min-height:64px;padding:14px 16px;display:flex}.choice-card>*{width:100%}.choice-card[data-checked]{background:color-mix(in srgb, var(--mantine-primary-color-filled) 12%, transparent);box-shadow:inset 0 0 0 1.5px var(--mantine-primary-color-filled);border-color:#0000}.choice-label{text-align:left;gap:2px;font-weight:500;display:grid}.choice-detail{color:var(--muted);font-size:.85rem;font-weight:400}.portion-list{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:4px 0 2px;padding:0;font-size:.9rem;list-style:none;display:flex}.portion-list b{color:var(--mantine-color-text);font-weight:600}.home-people{margin:0;padding:0;list-style:none;display:grid}.home-people li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.home-people li:first-child{border-top:0;padding-top:0}.home-kcal{text-align:right;white-space:nowrap;justify-items:end;display:grid}.home-kcal b{font-family:var(--serif);font-size:1.5rem;font-weight:600}.home-next{gap:6px;display:grid}.home-next ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.home-next li{grid-template-columns:6.5em minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.home-next li>.muted{font-size:.85rem}.meal.is-done{grid-template-columns:minmax(0,1fr);gap:0;padding:12px 0}.done-row{align-items:center;gap:8px;display:flex}.done-row>.icon{color:var(--mantine-primary-color-filled)}.done-title{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:.95rem;font-weight:500;overflow:hidden}.invite-link{overflow-wrap:anywhere;color:var(--muted);font-family:ui-monospace,monospace}
