@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.BY9lna_className{font-family:Nunito,Nunito Fallback;font-style:normal}.BY9lna_variable{--font-nunito:"Nunito", "Nunito Fallback"}
:root{--cream:#fff9f0;--peach:#f6c7ae;--pistachio:#b9caa5;--olive:#354638;--card:#fff;--muted:#55655a;--line:#6f8463;--error:#a1402a;--peach-soft:#fbe3d6;--pistachio-soft:#e3ebd9;--radius:18px;--shadow:0 2px 0 #35463814, 0 6px 18px #3546380f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-padding-bottom:130px}html,body{background:var(--cream);color:var(--olive);font-family:var(--font-nunito), "Nunito", system-ui, sans-serif;-webkit-text-size-adjust:100%;margin:0;font-size:17px;font-weight:400;line-height:1.5}h1,h2,h3{margin:0 0 .5rem;font-weight:700;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.15rem}a{color:var(--olive);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}button,select,.tabs button,label.check,.segmented label{font-weight:600}:focus-visible{outline:3px solid var(--olive);outline-offset:2px;border-radius:10px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.app{max-width:760px;margin:0 auto;padding:12px 16px 140px}.app.narrow{max-width:440px;padding-top:48px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 0 12px;display:flex}.topnav{flex-wrap:wrap;gap:4px;display:flex}.navlink{border:1.5px solid #0000;border-radius:999px;padding:8px 12px;font-weight:600;text-decoration:none}.navlink:hover,.navlink[aria-current=page]{background:var(--pistachio-soft);border-color:var(--olive)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #3546381a;margin:12px 0;padding:16px 18px}.row{align-items:flex-end;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.row.spread{justify-content:space-between;align-items:center;margin-top:12px}label{flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:inline-flex}label.block{margin-bottom:10px;display:flex}label.check{flex-direction:row;align-items:center;gap:8px;margin:8px 0}input,select,textarea{background:var(--card);border:1.5px solid var(--line);border-radius:12px;min-height:44px;padding:10px 12px;font-weight:400}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:auto;accent-color:var(--olive)}fieldset{border:none;margin:8px 0;padding:0}legend{margin-bottom:4px;font-size:.9rem;font-weight:600}button{cursor:pointer;border:1.5px solid var(--olive);background:var(--card);border-radius:999px;min-height:44px;padding:8px 16px}button:disabled,button[aria-disabled=true]{cursor:not-allowed;opacity:.55}button.primary{background:var(--pistachio);border-color:var(--olive)}.card form>button.primary{margin-top:12px;display:block}button.primary:hover:not(:disabled){background:#aabd94}button.danger{color:var(--error);border-color:var(--error)}button.link{text-underline-offset:3px;background:0 0;border:none;min-height:0;padding:4px 6px;text-decoration:underline}.datebar{align-items:center;gap:6px;display:flex}.datebar>button{width:44px;padding:0;font-size:1.3rem;font-weight:700}.datepick{background:var(--pistachio);border:1.5px solid var(--olive);border-radius:999px;flex-direction:row;align-items:center;min-height:44px;padding:8px 16px;font-size:1.1rem;font-weight:700;position:relative}.datepick input{opacity:0;cursor:pointer;min-height:0;position:absolute;inset:0}.datepick:focus-within{outline:3px solid var(--olive);outline-offset:2px}.totals{background:linear-gradient(160deg, #fff 55%, var(--peach-soft));position:relative;overflow:hidden}.totals .deco{opacity:.9;width:96px;height:96px;position:absolute;top:-6px;right:-6px}.kcal{align-items:baseline;gap:8px;display:flex}.kcal-value{letter-spacing:-.01em;font-size:2.6rem;font-weight:800}.kcal-unit{font-weight:700}.macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 4px;display:grid}.macros div{background:var(--cream);border-radius:14px;padding:8px 10px}.macros dt{font-size:.8rem;font-weight:600}.macros dd{margin:0;font-size:1.1rem;font-weight:700}.meal h2{background:var(--peach);border-radius:999px;padding:2px 14px;font-size:1rem;display:inline-block}.meal ul,.results{margin:0;padding:0;list-style:none}.entry,.result{text-align:left;background:0 0;border:none;border-bottom:1px dashed #35463840;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 2px;font-weight:400;display:flex}.result.static{cursor:default}.entry:hover,.result:hover:not(.static){background:var(--cream)}.entry-kcal{white-space:nowrap;font-weight:700}.tags{flex-wrap:wrap;gap:4px;margin-left:6px;display:inline-flex}.tag{border:1px solid var(--olive);background:var(--cream);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:700;display:inline-block}.tag.planned{background:var(--pistachio-soft)}.tag.est,.tag.inc{background:var(--peach-soft)}.muted{color:var(--muted)}.small{font-size:.85rem}.empty{text-align:center;padding:24px 0 8px}.empty svg{margin:0 auto 8px;display:block}.error{color:var(--error);font-weight:600}.banner{background:var(--peach-soft);border:1.5px solid var(--olive);border-radius:14px;padding:8px 14px;font-weight:600}.ack{border-left:6px solid var(--pistachio)}.assumptions,.assumption{color:var(--muted);font-size:.9rem;display:block}.preview{font-weight:700}.tabs,.segmented{gap:6px;margin:10px 0;display:inline-flex}.tabs button,.segmented label{background:var(--card);border:1.5px solid #35463859;border-radius:999px;flex-direction:row;align-items:center;gap:6px;min-height:44px;padding:8px 14px}.tabs button.on,.segmented label.on{background:var(--pistachio);border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}.segmented input{opacity:0;position:absolute}.segmented label:focus-within{outline:3px solid var(--olive);outline-offset:2px}.composer{background:color-mix(in srgb, var(--cream) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:10;border-top:1px solid #35463826;position:fixed;bottom:0;left:0;right:0}.composer form{align-items:center;gap:10px;max-width:760px;margin:0 auto;display:flex}.composer input{border-radius:999px;flex:1;min-width:0;padding-left:16px}.mic{background:var(--pistachio);border:2px solid var(--olive);border-radius:50%;flex:none;place-items:center;width:64px;height:64px;padding:0;display:grid}.mic svg{width:28px;height:28px}.composer .note{max-width:760px;color:var(--muted);margin:6px auto 0;font-size:.85rem}dialog.sheet{border-radius:var(--radius);background:var(--card);width:min(520px,100vw - 24px);color:var(--olive);box-shadow:var(--shadow);border:none;padding:20px}dialog.sheet::backdrop{background:#35463859}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px dashed #35463840;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.status{border:1px solid var(--olive);border-radius:999px;padding:1px 10px;font-size:.8rem;font-weight:700}.status.active,.status.accepted,.status.pending{background:var(--pistachio-soft)}.status.disabled,.status.revoked,.status.expired{background:var(--peach-soft)}@media (min-width:900px){.app{padding-bottom:150px}.mic{width:72px;height:72px}}@media (max-width:480px){.macros{grid-template-columns:repeat(2,minmax(0,1fr))}.kcal-value{font-size:2.2rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.meal-head{margin-top:0;margin-bottom:4px}.meal-head h2{margin:0}.logo{max-width:100%;margin:8px auto 16px;display:block}.logo-mark{display:block}.tabs{flex-wrap:wrap}.tabs button{white-space:nowrap}.app.dashboard{padding-bottom:48px}.app-header{justify-content:space-between;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.logo-link{border-radius:12px;display:inline-flex}.header-logo{margin:0;height:76px!important}.header-nav{align-items:center;gap:2px;display:flex}.header-nav .navlink{padding:6px 10px;font-size:.95rem}.account-menu{position:relative}.account-menu summary{cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary.current{background:var(--pistachio-soft);border-color:var(--olive)}.account-menu .menu{background:var(--card);border:1.5px solid var(--olive);min-width:180px;box-shadow:var(--shadow);z-index:20;border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.account-menu .menu a,.account-menu .menu button{text-align:left;border-radius:10px;min-height:44px;padding:10px 12px;font-weight:600;text-decoration:none;display:block}.account-menu .menu a:hover,.account-menu .menu button:hover{background:var(--pistachio-soft)}.library-tabs{flex-wrap:wrap;gap:6px;margin:4px 0 8px;display:flex}.library-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:0;list-style:none;display:grid}.logo-hero{margin:8px auto 12px}.dashboard .datebar{margin:4px 0 8px}.totals.compact{margin:8px 0;padding:12px 16px}.totals.compact .kcal-value{font-size:2rem}.totals.compact .macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0 0}.totals.compact .macros div{padding:6px 8px}.totals.compact .macros dd{font-size:1rem}.totals.compact p{margin:6px 0 0}.chat{background:linear-gradient(180deg, #fff 0%, var(--cream) 100%);border:1.5px solid #3546382e}.chat-prompt{margin:0 0 10px;font-size:1.2rem}.chat-log{flex-direction:column;gap:8px;max-height:42vh;margin:0 0 12px;padding:0;list-style:none;display:flex;overflow-y:auto}.bubble{overflow-wrap:anywhere;border-radius:16px;max-width:92%;margin:0;padding:10px 14px}.bubble.you{background:var(--pistachio-soft);border:1px solid #35463840;border-bottom-right-radius:6px;align-self:flex-end;width:fit-content;margin-left:auto}.bubble.app{background:var(--card);border:1px solid #3546382e;border-bottom-left-radius:6px;width:fit-content;margin-top:6px}.bubble.app.saved{border-left:5px solid var(--pistachio)}.bubble.app.failed{border-left:5px solid var(--error)}.bubble p{margin:0}.records{gap:4px;margin:0;padding:0;list-style:none;display:grid}.quick-replies{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.quick-replies button{min-height:40px;padding:6px 14px}.chat-composer{align-items:center;gap:10px;display:flex}.chat-form{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.chat-form textarea{resize:none;border-radius:22px;flex:1;min-width:0;min-height:46px;max-height:140px;padding:11px 14px;line-height:1.35}.chat .mic{width:72px;height:72px}.chat .mic svg{width:32px;height:32px}.mic.recording-on{background:var(--peach);animation:1.4s ease-in-out infinite pulse}.stop-square{background:var(--olive);border-radius:5px;width:22px;height:22px;display:block}.recording{align-items:center;gap:14px;width:100%;display:flex}.rec-time{flex:1;font-weight:700}@keyframes pulse{0%,to{box-shadow:0 0 #f6c7aee6}50%{box-shadow:0 0 0 10px #f6c7ae00}}.attach{border:1.5px solid var(--line);cursor:pointer;background:var(--card);border-radius:50%;flex-direction:row;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15rem}.attach:focus-within{outline:3px solid var(--olive);outline-offset:2px}.chat .send{flex:none}.chat-status{min-height:1.4em;color:var(--muted);margin:8px 0 0}.attachment{align-items:center;gap:8px;margin:8px 0 0;display:flex}.attachment img{object-fit:cover;border-radius:8px}.day-list h2{margin:0;font-size:1.05rem}.day-list .meal{margin-top:10px}.day-list .meal h3{background:var(--peach);border-radius:999px;margin:0;padding:1px 12px;font-size:.9rem;display:inline-block}dialog.sheet.wide{width:min(680px,100vw - 24px)}@media (max-width:480px){.header-logo{height:64px!important}.header-nav .navlink{padding:6px 8px;font-size:.9rem}.totals.compact .macros dt{font-size:.72rem}.totals.compact .macros dd{font-size:.92rem}.chat .mic{width:64px;height:64px}.chat .send{padding:8px 12px}}.chat-form textarea::placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}a.button-link{border:1.5px solid var(--olive);background:var(--card);min-height:44px;color:var(--olive);border-radius:999px;align-items:center;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}a.button-link:hover{background:var(--pistachio-soft)}.draft-result{background:var(--cream);border:1px solid #35463833;border-radius:14px;gap:6px;margin-top:10px;padding:12px 14px;display:grid}.draft-result h3{margin:0;font-size:1.05rem}.draft-basis{align-items:center;gap:8px;display:flex}.nutrient-list{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:4px 12px;margin:0;display:grid}.nutrient-list div{flex-direction:column;display:flex}.nutrient-list dt{font-size:.8rem}.nutrient-list dd{margin:0;font-weight:700}.draft-lines{gap:2px;margin:6px 0 0;padding-left:18px;display:grid}.draft-actions,.draft-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.draft-add label{flex-direction:column;font-size:.85rem;font-weight:600;display:flex}.draft-add input{width:4.5em}.draft-done{font-weight:600}.recipe-review .row.wrap>label{flex:140px;min-width:0}.recipe-review .row.wrap input{width:100%}.review-lines{gap:8px;margin:0;padding:0;list-style:none;display:grid}.review-lines li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.review-lines li.removed>span{opacity:.7;text-decoration:line-through}.review-lines input{width:5em}
