@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");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}:root{--font-display:"Fraunces Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-ui:"Instrument Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4e7d7;--surface:#fbf4ea;--track:#e6d6c0;--line:#2f2c2a21;--line-strong:#2f2c2a52;--ink:#2f2c2a;--ink-soft:#6a6058;--accent:#3d6d8a;--on-accent:#fbf4ea;--limit:#78896c;--over:#c77b4a;--over-ink:#94562b;--good-ink:#46623d;--shadow:0 1px 0 #2f2c2a0d, 0 14px 28px -18px #2f2c2a59}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#222b24;--surface:#2d3a2e;--track:#3b4b3c;--line:#f2e6d621;--line-strong:#f2e6d657;--ink:#f2e6d6;--ink-soft:#b9b4a3;--accent:#e2b64f;--on-accent:#2d3a2e;--limit:#86993a;--over:#c65a2e;--over-ink:#ee8f68;--good-ink:#b6cc6c;--shadow:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 16px/1.45 var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}.num,.of{font-variant-numeric:tabular-nums}.topbar{z-index:20;padding:calc(env(safe-area-inset-top,0px) + 8px) 16px 6px;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.topbar-in{align-items:center;gap:12px;max-width:1080px;margin:0 auto;display:flex}.brand{font-family:var(--font-display);font-variation-settings:"SOFT" 100;flex:1;font-size:20px;font-weight:600}.tabs-top{gap:4px;display:none}main{width:100%;max-width:1080px;padding:4px 16px calc(96px + env(safe-area-inset-bottom,0px));margin:0 auto}.icon-btn{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 8%, transparent)}.icon-btn:disabled{opacity:.3;cursor:default}.tabs-bottom{z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--ink-soft);background:0 0;border:0;justify-items:center;gap:2px;padding:9px 0 8px;font-size:12px;font-weight:500;display:grid}.tab[aria-current=page]{color:var(--accent);font-weight:700}.daynav{align-items:center;gap:4px;margin:4px 0 2px;display:flex}.daynav-title{text-align:center;border-radius:14px;flex:1;padding:4px 0;position:relative}.daynav-title h1{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "opsz" 72;letter-spacing:-.01em;font-size:32px;font-weight:600;line-height:1.1}.daynav-title p{color:var(--ink-soft);align-items:center;gap:6px;margin-top:2px;font-size:15px;display:inline-flex}.date-overlay{opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;inset:0}.date-overlay::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.daynav-title:focus-within{outline:3px solid var(--accent);outline-offset:2px}.chip{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:999px;padding:1px 9px;font-size:13px;font-weight:650;display:inline-block}.back-today{margin:2px auto 0;display:block}.strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:4px;padding:8px 0 12px;display:flex;position:relative;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.day{width:52px;color:var(--ink-soft);background:0 0;border:0;border-radius:16px;flex:none;justify-items:center;gap:1px;padding:8px 0 7px;font-size:12px;display:grid}.day .dnum{font-family:var(--font-display);color:var(--ink);font-size:21px;font-weight:500;line-height:1.2}.day .dot{opacity:0;background:currentColor;border-radius:50%;width:5px;height:5px;margin-top:2px}.day.has .dot{opacity:.6}.day:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.day[aria-current=date]{background:var(--accent);color:var(--on-accent);font-weight:650}.day[aria-current=date] .dnum{color:var(--on-accent)}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.group{padding:18px 18px 6px}.group+.group{border-top:1px solid var(--line)}.group-head{align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.group-head h2{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:19px;font-weight:600}.group-head p{color:var(--ink-soft);font-size:14px}.row{margin-bottom:20px}.row-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.row-label{font-weight:650}.row-val{text-align:right}.row-val .num{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:24px;font-weight:600}.row-val .of{color:var(--ink-soft);font-size:14px}.row.hero .num{letter-spacing:-.02em;font-size:44px;line-height:1}.row.hero .row-label{font-size:17px}.bar{background:var(--track);border-radius:999px;height:12px;margin:0 9px 0 0;position:relative}.row.hero .bar{height:16px}.bar i{display:block;position:absolute}.bar .fill{width:var(--w);transform-origin:0;border-radius:999px;top:0;bottom:0;left:0}.bar.goal .fill{background:var(--accent)}.bar.limit .fill{background:var(--limit)}.bar.limit.is-over .fill{border-radius:999px 0 0 999px}.bar .over{top:0;bottom:0;left:var(--l);width:var(--w);transform-origin:0;background:repeating-linear-gradient(135deg, var(--over) 0 5px, color-mix(in srgb, var(--over) 52%, var(--track)) 5px 10px);border-radius:0 999px 999px 0}.bar .cap{top:-5px;bottom:-5px;left:var(--x);background:var(--ink);border-radius:2px;width:3px;margin-left:-1.5px}.bar .end{border:3px solid var(--accent);background:var(--surface);width:22px;height:22px;color:var(--on-accent);border-radius:50%;place-items:center;margin-top:-11px;display:grid;top:50%;right:-9px}.row.hero .end{width:26px;height:26px;margin-top:-13px;right:-11px}.bar.goal.is-met .end{background:var(--accent)}.row-status{color:var(--ink-soft);align-items:center;gap:6px;min-height:22px;margin-top:9px;font-size:14px;display:flex}.row-status.met{color:var(--good-ink);font-weight:650}.row-status.over{color:var(--over-ink);font-weight:650}.link-btn{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.unset-track{border:1.5px dashed var(--line-strong);border-radius:999px;height:12px;margin-right:9px}.animate .bar .fill{animation:.7s cubic-bezier(.2,.8,.2,1) both grow}.animate .bar .over{animation:.5s cubic-bezier(.2,.8,.2,1) .45s both grow}.animate .bar .cap,.animate .bar .end{animation:.3s ease-out .5s both pop}@keyframes grow{0%{transform:scaleX(0)}}@keyframes pop{0%{opacity:0}}.section-head{justify-content:space-between;align-items:center;gap:12px;margin:26px 2px 10px;display:flex}.section-head h2{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:21px;font-weight:600}.section-head .sub{color:var(--ink-soft);font-size:14px}.entry{text-align:left;border:0;border-top:1px solid var(--line);background:0 0;grid-template-columns:1fr auto;gap:1px 14px;width:100%;padding:14px 18px;display:grid}.entry:first-child{border-top:0;border-radius:22px 22px 0 0}.entry:last-child{border-radius:0 0 22px 22px}.entry:only-child{border-radius:22px}.entry:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)}.entry-title{font-weight:650}.entry-qty{color:var(--ink-soft);font-size:14px}.entry-kcal{text-align:right;color:var(--ink-soft);grid-area:1/2/span 2;align-self:center;font-size:14px}.entry-kcal b{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:600;line-height:1.1;display:block}.entry-macros{color:var(--ink-soft);flex-wrap:wrap;grid-column:1/-1;gap:2px 14px;margin-top:6px;font-size:13px;display:flex}.entry-macros b{color:var(--ink);font-weight:650}.entry-macros .g b{color:var(--accent)}.entry-time{font-size:13px;display:block}.empty{text-align:center;padding:34px 22px}.empty h3{font-family:var(--font-display);margin-bottom:6px;font-size:20px;font-weight:600}.empty p{color:var(--ink-soft);max-width:34ch;margin:0 auto 16px}.btn{background:0 0;border:1.5px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:650;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-secondary{border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 6%, transparent)}.btn-quiet{color:var(--accent);padding:8px 12px}.btn-danger{color:var(--over-ink);border-color:color-mix(in srgb, var(--over) 60%, transparent)}.btn-block{width:100%}.field{gap:6px;margin-bottom:16px;display:grid}.field>label,legend{padding:0;font-size:14px;font-weight:650}.field .opt{color:var(--ink-soft);font-weight:400}.input{border:1.5px solid var(--line-strong);background:var(--bg);border-radius:12px;width:100%;min-height:48px;padding:12px 14px;font-size:16px}textarea.input{resize:vertical;min-height:64px}.input:focus-visible{outline-offset:0;border-color:var(--accent)}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}fieldset{border:0;min-width:0;margin:0 0 8px;padding:0}legend{margin-bottom:8px}.grid3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid3 .field{margin-bottom:0}.hint{color:var(--ink-soft);font-size:14px}.form-error{color:var(--over-ink);margin:4px 0 12px;font-size:14px;font-weight:650}.search{margin-bottom:8px}.stepper{border:1.5px solid var(--line-strong);background:var(--bg);border-radius:14px;align-items:stretch;width:max-content;max-width:100%;display:flex;overflow:hidden}.stepper button{background:0 0;border:0;width:56px;font-size:24px}.stepper button:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}.stepper input{text-align:center;border:0;border-inline:1.5px solid var(--line-strong);width:92px;min-height:52px;font-family:var(--font-display);background:0 0;font-size:26px;font-weight:600}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chips button{border:1.5px solid var(--line-strong);background:0 0;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}.chips button:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.macros{grid-template-columns:repeat(5,1fr);gap:6px;margin:4px 0 12px;display:grid}.macro-cell{background:var(--bg);text-align:center;border-radius:12px;padding:9px 2px 8px}.macro-cell b{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.2;display:block}.macro-cell span{color:var(--ink-soft);font-size:12px}.macro-cell.goal b{color:var(--accent)}.impact{gap:4px;margin-bottom:8px;font-size:14px;display:grid}.impact .met{color:var(--good-ink);font-weight:650}.impact .over{color:var(--over-ink);font-weight:650}.food-card{margin-bottom:18px}.food-card h3{font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.2}.food-card p{color:var(--ink-soft);font-size:14px}.list{display:grid}.pick{text-align:left;border:0;border-top:1px solid var(--line);background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:58px;padding:12px 4px;display:flex}.pick:first-child{border-top:0}.pick:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)}.pick .t{font-weight:650}.pick .s{color:var(--ink-soft);font-size:14px}.pick .r{text-align:right;color:var(--ink-soft);white-space:nowrap;font-size:14px}.pick .r b{color:var(--ink);font-weight:650}.tag{border:1px solid var(--line-strong);color:var(--ink-soft);vertical-align:2px;border-radius:999px;margin-left:8px;padding:0 8px;font-size:12px;font-weight:650;display:inline-block}.page-head{margin:8px 2px 16px}.page-head h1{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "opsz" 72;font-size:32px;font-weight:600;line-height:1.15}.page-head p{color:var(--ink-soft);max-width:56ch;margin-top:4px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.toolbar .search{flex:220px;margin:0}.check{align-items:center;gap:8px;font-size:14px;display:inline-flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.pad{padding:18px}.stack{gap:16px;display:grid}.seg{border:1.5px solid var(--line-strong);border-radius:14px;display:inline-flex;overflow:hidden}.seg button{background:0 0;border:0;padding:10px 18px;font-weight:650}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}dialog{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;color:var(--ink);border:0;border-radius:26px 26px 0 0;margin:auto auto 0;padding:0;overflow:hidden}dialog[open]{flex-direction:column;animation:.24s cubic-bezier(.2,.8,.2,1) sheet;display:flex}dialog::backdrop{background:#12100e8c}@keyframes sheet{0%{opacity:0;transform:translateY(24px)}}.sheet{flex-direction:column;flex:1;min-height:0;display:flex}.sheet-head{align-items:center;gap:4px;padding:10px 10px 6px 20px;display:flex}.sheet-head h2{font-family:var(--font-display);font-variation-settings:"SOFT" 100;flex:1;font-size:22px;font-weight:600}.sheet-head .icon-btn:first-child+h2{padding-left:0}.sheet-body{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 20px 20px;overflow-y:auto}.sheet-foot{padding:12px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface);gap:10px;display:grid}.foot-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.toast{left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--ink);max-width:calc(100vw - 32px);color:var(--bg);border-radius:14px;align-items:center;gap:14px;padding:12px 16px;font-size:15px;font-weight:550;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 28px -10px #00000080}.toast button{color:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}@media (width>=760px){dialog{border-radius:26px;max-height:86dvh;margin:auto}.tabs-bottom{display:none}.tabs-top{display:flex}.brand{flex:none;margin-right:12px}.topbar-in{gap:8px}.topbar-in .spacer{flex:1}.tab{border-radius:999px;flex-direction:row;gap:8px;padding:9px 16px;font-size:15px;display:inline-flex}.tab[aria-current=page]{background:color-mix(in srgb, var(--accent) 16%, transparent)}main{padding:12px 24px 60px}.toast{bottom:28px}.daynav{max-width:520px}}@media (width>=960px){.log-grid{grid-template-columns:minmax(360px,420px) 1fr;align-items:start;gap:28px;display:grid}.log-grid .summary-col{position:sticky;top:76px}.log-grid .section-head{margin-top:0}.daynav{margin-left:0}.strip{margin-bottom:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.signin{max-width:440px;margin:10vh auto 0}.signin h1{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "opsz" 72;margin-bottom:6px;font-size:32px;font-weight:600}.token-new{background:var(--bg);border-radius:12px;gap:8px;margin:12px 0;padding:12px 14px;display:grid}.loading{text-align:center;color:var(--ink-soft);padding:40px 0}.panel-title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;margin-bottom:4px;font-size:20px;font-weight:600}a.tab{text-decoration:none}.row-missing{color:var(--ink-soft);margin-top:4px;font-size:13px;font-style:italic}.flags{flex-wrap:wrap;gap:6px;display:inline-flex}.flag{color:var(--over-ink);background:color-mix(in srgb, var(--over) 14%, transparent);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:650;display:inline-block}.flag-pho{color:var(--on-accent);background:var(--over)}.entry .flags,.pick .flags{margin-top:4px}.row-warn{color:var(--over-ink);margin-top:6px;font-size:13px;font-weight:650}legend .opt{color:var(--ink-soft);margin-left:6px;font-weight:400}.view-bar{gap:8px;margin:-2px 2px 12px;display:grid}.seg-sm button{padding:7px 14px;font-size:14px}.pace{line-height:1.5}.pace b{color:var(--ink)}.mark{margin-right:3px;font-weight:700}.mark.good,.entry-macros .good b{color:var(--good-ink)}.mark.high,.entry-macros .high b{color:var(--over-ink)}.view-bar .seg{justify-self:start}.seg button{white-space:nowrap}.bar .bonus{top:0;bottom:0;left:var(--l);width:var(--w);background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--good-ink) 70%, transparent) 0 5px, color-mix(in srgb, var(--good-ink) 22%, transparent) 5px 10px);border-radius:0 999px 999px 0}.animate .bar .bonus{animation:.5s cubic-bezier(.2,.8,.2,1) .35s both grow}.exercise-details{margin-top:8px;font-size:14px}.exercise-details summary{cursor:pointer;padding:4px 0}.exercise-sum{color:var(--good-ink);font-weight:650}.exercise-details ul{margin:4px 0 0;padding:0;list-style:none}.exercise-details li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:2px 0 2px 2px;display:flex}.exercise-name{flex:1}.exercise-kcal{color:var(--good-ink);white-space:nowrap;font-weight:650}.pick.food-row{align-items:flex-start}.food-main{gap:2px;min-width:0;display:grid}.food-main .entry-macros,.food-main .flags{margin-top:4px}.log-actions{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px;display:grid}@media (width>=760px){.log-actions{justify-content:flex-start;display:flex}}.usda{border-top:1px solid var(--line-strong);margin-top:18px;padding-top:6px}.usda-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 4px 2px;display:flex}.usda-head h3{font-family:var(--font-display);font-size:18px;font-weight:600}.usda-msg{padding:10px 4px}.usda-credit{color:var(--ink-soft);margin:10px 4px 0;font-size:12px}.portions{margin-bottom:14px}.portion-label{align-items:center;gap:10px;min-width:0;display:flex}.radio{border:1.5px solid var(--line-strong);width:20px;height:20px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;display:grid}.pick[aria-checked=true] .radio{background:var(--accent);border-color:var(--accent)}.amount-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.amount-row .input{width:auto}.amount-row .qty{width:6.5em}.amount-row select.input{min-width:6em}.density-ask{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:14px;margin-top:12px;padding:10px 12px}.density-ask label{font-weight:650}
