:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#243c32;background:#f6f3ed;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{color:#fff;cursor:pointer;background:#214c3b;border:0;border-radius:12px;min-height:44px;padding:11px 17px;font-weight:700}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit}:focus-visible{outline-offset:3px;outline:3px solid #b76c50}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{flex-direction:column;max-width:1100px;min-height:100vh;margin:auto;padding:36px 28px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.brand-mark{color:#214632;background:#dbe8d8;border-radius:15px;justify-content:center;align-items:center;width:45px;height:45px;font-size:16px;display:inline-flex}.brand-mark span,.mobile-wordmark span,.app-wordmark>span span{color:#bd7768}.welcome{max-width:600px;margin:auto 0}.welcome h1{letter-spacing:-.045em;margin:18px 0 24px;font-family:Georgia,serif;font-size:clamp(48px,8vw,88px);line-height:1.02}.welcome p{color:#526258;font-size:18px;line-height:1.6}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#9a705a;margin:0 0 12px;font-size:11px;font-weight:800}.empty-state{color:#526258;background:#fffdf9;border:1px solid #e5ded2;border-radius:20px;flex-direction:column;gap:7px;margin-top:40px;padding:24px;display:flex}.empty-state strong{color:#26372f}footer{color:#79867c;margin-top:auto;padding-top:48px;font-size:13px}.actions{flex-wrap:wrap;gap:12px;display:flex}.quiet{color:#214632;background:#e4ebe1}.invite-form{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.invite-form label{font-weight:700}.invite-form input{border:1px solid #b5c4b8;border-radius:10px;width:min(100%,430px);padding:12px}.error{color:#9b2930;font-weight:700}.app-layout{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.desktop-rail{background:#f1eee6;border-right:1px solid #e8e3d9;flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.app-wordmark{letter-spacing:-.04em;align-items:center;gap:8px;margin:2px 12px 48px;font-size:21px;text-decoration:none;display:flex}.app-wordmark>span{background:#dce8d5;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;font-size:15px;font-weight:800;display:inline-flex}.desktop-rail nav{flex-direction:column;gap:4px;display:flex}.desktop-rail nav a{color:#536459;border-radius:13px;align-items:center;gap:13px;min-height:46px;padding:10px 14px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.desktop-rail nav a[aria-current=page]{color:#214c3b;background:#dce8d5}.desktop-rail nav a:hover,.mobile-more-links a:hover{background:#e6ebdf}.nav-symbol{text-align:center;width:20px;font-size:19px;font-weight:400}.rail-caption{text-transform:uppercase;letter-spacing:.15em;color:#929b8f;margin:33px 14px 10px;font-size:11px;font-weight:800}.rail-bottom{color:#899589;margin:auto 12px 0;font-size:12px}.mobile-nav,.mobile-wordmark{display:none}.today-main{width:min(100%,1240px);margin:0 auto;padding:28px clamp(24px,4vw,64px) 70px}.today-topbar{justify-content:flex-end;align-items:center;gap:20px;min-height:44px;display:flex}.private-badge{color:#52715d;background:#edf4e9;border:1px solid #d9e4d5;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.text-button{color:#4d6757;background:0 0;min-height:44px;padding:8px 0}.text-button:hover{text-decoration:underline}.today-heading{margin:34px 0 30px}.today-heading h1,.section-page h1{letter-spacing:-.045em;margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(39px,4.5vw,65px);font-weight:400;line-height:1.08}.today-heading>p:last-child{color:#738276;margin:0;font-size:16px}.surface{background:#fffdfa;border:1px solid #ebe6dc;border-radius:24px;box-shadow:0 10px 35px #2b3d2e09}.today-grid{grid-template-columns:minmax(0,1.27fr) minmax(280px,.95fr);gap:18px;display:grid}.timeline-card{min-height:420px;padding:28px}.section-heading{justify-content:space-between;align-items:flex-start;display:flex}.section-heading h2,.recipe-card h2,.quick-add h2,.mini-card h2{letter-spacing:-.025em;margin:0;font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.1}.section-mark{color:#c57d61;background:#fbe9dc;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:25px;display:inline-flex}.timeline-list{margin:30px 0 0;padding:0;list-style:none}.timeline-list li{gap:17px;padding-bottom:25px;display:flex;position:relative}.timeline-list li:not(:last-child):before{content:"";background:#dce5d9;width:1px;position:absolute;top:22px;bottom:0;left:7px}.timeline-dot{background:#9eb69d;border-radius:50%;flex:0 0 15px;height:15px;margin-top:3px;box-shadow:0 0 0 4px #edf3eb}.timeline-list li>div{flex-direction:column;gap:4px;min-width:0;display:flex}.item-kicker{color:#9a705a;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}.timeline-list strong{overflow-wrap:anywhere;font-size:17px;line-height:1.35}.meal-action{align-self:flex-start}.subtle{color:#829084;font-size:13px}.soft-empty{color:#647566;background:#f7f8f2;border-radius:16px;margin:34px 0 36px;padding:25px;line-height:1.55}.calendar-line{border-top:1px solid #eeeae1;align-items:flex-start;gap:14px;margin-top:16px;padding-top:22px;display:flex}.calendar-symbol{color:#a8b8a7;font-size:24px;line-height:1}.calendar-line div{flex-direction:column;gap:5px;display:flex}.calendar-line strong{font-size:14px}.calendar-line div span{color:#839085;font-size:13px;line-height:1.45}.today-side{grid-template-rows:minmax(210px,auto) 1fr;gap:18px;display:grid}.recipe-card{background:#eaf1e6;border-color:#e0e9dc;padding:27px;position:relative;overflow:hidden}.recipe-card h2{margin-bottom:20px}.feature-name{z-index:1;max-width:80%;font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.2;display:block;position:relative}.recipe-card .subtle{margin-top:10px;display:block}.recipe-action{z-index:1;position:relative}.recipe-back{align-items:center;margin-top:24px;text-decoration:none;display:inline-flex}.recipe-ingredients{max-width:730px;padding:25px 28px}.recipe-ingredients h2{margin:0 0 16px;font-family:Georgia,serif;font-size:28px;font-weight:400}.recipe-ingredients ul{margin:0;padding:0;list-style:none}.recipe-ingredients li{border-top:1px solid #ece9e1;justify-content:space-between;gap:20px;padding:13px 0;display:flex}.recipe-ingredients li span{overflow-wrap:anywhere}.recipe-ingredients li strong{white-space:nowrap}.recipe-card .muted{z-index:1;max-width:70%;position:relative}.recipe-deco{color:#d3e3d0;-webkit-user-select:none;user-select:none;font-size:230px;line-height:1;position:absolute;bottom:-78px;right:-9px;transform:rotate(-16deg)}.small-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.mini-card{min-height:170px;padding:22px}.mini-card h2{font-size:21px}.mini-card p:last-child{color:#6f7d71;overflow-wrap:anywhere;margin:15px 0 0;font-size:14px;line-height:1.5}.quick-add{grid-template-columns:minmax(205px,.85fr) minmax(250px,1.15fr);align-items:center;gap:18px 30px;margin-top:18px;padding:24px 28px;display:grid}.quick-add h2{font-size:26px}.quick-add p:not(.eyebrow){color:#879185;margin:7px 0 0;font-size:13px;line-height:1.4}.quick-add form{gap:8px;display:flex}.quick-add input{color:#243c32;background:#f9faf6;border:1px solid #dce4d9;border-radius:12px;flex:1;min-width:0;min-height:48px;padding:11px 14px}.quick-add input::placeholder{color:#9aa79b}.quick-add .quick-feedback{color:#286c49;grid-column:1/-1;margin:0;font-weight:700}.insight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.insight-card{min-height:155px;padding:23px}.insight-card h2{letter-spacing:-.025em;margin:0 0 11px;font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.15}.insight-card h2 span{color:#849185;font-family:Arial,sans-serif;font-size:14px}.insight-card p:not(.eyebrow),.insight-card li{color:#819083;font-size:13px;line-height:1.5}.insight-card ul{margin:0;padding-left:18px}.insight-card li{overflow-wrap:anywhere}.account-panel{color:#758579;margin-top:26px;font-size:13px}.account-panel p{overflow-wrap:anywhere}.account-panel code{background:#e9ede7;padding:4px}.state-card{color:#607568;background:#fffdfa;border:1px solid #ebe6dc;border-radius:20px;padding:28px}.error-card{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.error-card strong{color:#9b2930}.stale-banner{color:#704e2a;background:#fff1df;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:11px 16px;font-size:13px;display:flex}.stale-banner button{color:#704e2a;background:0 0;min-height:32px;padding:0;text-decoration:underline}.section-page{padding-top:38px}.section-page>.eyebrow{margin-top:55px}.section-placeholder{max-width:680px;margin-top:30px;padding:28px}.section-placeholder p{color:#67796c;line-height:1.6}.button-link{color:#fff;background:#214c3b;border-radius:12px;justify-content:center;align-items:center;min-height:44px;margin-top:12px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.shopping-page .today-heading{margin-bottom:24px}.shopping-add{padding:25px 28px}.shopping-add h2,.shopping-group h2{margin:0 0 18px;font-family:Georgia,serif;font-size:26px;font-weight:400}.shopping-add form,.shopping-edit{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.shopping-add label,.shopping-edit label{flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.shopping-add label:first-child,.shopping-edit label:first-child{flex:230px}.shopping-add input,.shopping-add select,.shopping-edit input,.shopping-edit select,.shopping-actions input{color:#243c32;background:#f9faf6;border:1px solid #d1ddd0;border-radius:10px;min-height:44px;padding:9px 12px}.shopping-add label:not(:first-child) input{width:110px}.shopping-add select,.shopping-edit select{min-width:78px}.shopping-message{color:#286c49;margin:18px 0;font-weight:700}.shopping-empty{color:#657868;margin-top:20px;padding:28px}.shopping-group{margin-top:30px}.shopping-group h2{margin-bottom:12px}.shopping-items{gap:12px;display:grid}.shopping-item{padding:20px 24px}.shopping-item-main{justify-content:space-between;align-items:center;gap:18px;display:flex}.shopping-item h3{overflow-wrap:anywhere;margin:0 0 5px;font-size:18px}.shopping-item-main p{margin:3px 0}.shopping-sources{color:#8d715f;font-size:12px}.shopping-actions{align-items:center;gap:8px;display:flex}.shopping-actions input{width:92px}.shopping-edit{border-top:1px solid #ece9e1;margin-top:16px;padding-top:16px}.shopping-purchases{border-top:1px solid #ece9e1;flex-direction:column;gap:4px;margin-top:15px;padding-top:12px;display:flex}.shopping-purchases>div{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.shopping-note{color:#7c897e;margin-top:24px;font-size:13px;line-height:1.5}@media (max-width:1020px){.app-layout{grid-template-columns:190px minmax(0,1fr)}.today-grid{grid-template-columns:1fr}.today-side{grid-template-rows:auto;grid-template-columns:1fr 1fr}.small-card-grid{grid-template-columns:1fr}.recipe-card{min-height:220px}}@media (max-width:760px){.app-layout{display:block}.desktop-rail{display:none}.today-main{padding:18px 20px 112px}.today-topbar{justify-content:space-between;gap:8px}.mobile-wordmark{letter-spacing:-.04em;font-size:18px;font-weight:800;display:inline}.private-badge{margin-left:auto}.today-heading{margin:32px 0 22px}.today-heading h1{font-size:clamp(39px,9vw,56px)}.today-side{grid-template-columns:1fr;display:grid}.small-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-grid{grid-template-columns:1fr 1fr}.insight-card:last-child{grid-column:1/-1}.quick-add{grid-template-columns:1fr}.mobile-nav{z-index:10;min-height:74px;padding:7px max(12px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#fffdf9fa;border-top:1px solid #dce4d9;grid-template-columns:repeat(4,1fr);align-items:stretch;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 25px #253f300f}.mobile-nav>a,.mobile-more summary{color:#6c7c70;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:52px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.mobile-nav>a[aria-current=page]{color:#214c3b;background:#e8f0e4}.mobile-nav .nav-symbol,.mobile-more summary span{width:auto;font-size:21px;line-height:1}.mobile-more summary{cursor:pointer;list-style:none}.mobile-more summary::-webkit-details-marker{display:none}.mobile-more-links{background:#fffdfa;border:1px solid #dce4d9;border-radius:17px;flex-direction:column;width:min(220px,100vw - 30px);padding:10px;display:flex;position:absolute;bottom:calc(100% + 6px);right:15px;box-shadow:0 12px 36px #223a2c29}.mobile-more-links a{border-radius:10px;align-items:center;min-height:44px;padding:10px 12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.shopping-item-main{flex-direction:column;align-items:flex-start}.shopping-actions{flex-wrap:wrap;width:100%}.shopping-actions button{flex:1}}@media (max-width:420px){.today-topbar .private-badge{display:none}.timeline-card,.quick-add{padding:22px}.mini-card{padding:19px}.mini-card h2{font-size:19px}.insight-grid{grid-template-columns:1fr}.insight-card:last-child{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
