:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0c0f;--color-surface:#13161b;--color-raised:#1c2027;--color-selected:#2c323d;--color-border:#272c35;--color-text:#edf0f3;--color-text-muted:#959daa;--color-accent:#8ea5ff;--color-on-accent:#0a0c0f;--color-protein:#f27b8d;--color-fat:#ecc55c;--color-carbs:#6db7ff;--color-warning:#f6a45d;--color-danger:#ff7a7a;--color-shadow:#0000008c;--color-glow:#8ea5ff29;--grain-opacity:.05;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:32px;--radius-sm:10px;--radius-md:16px;--radius-lg:26px;--radius-pill:999px;--font-sans:"Bricolage Grotesque", ui-sans-serif, -apple-system, "Segoe UI", sans-serif;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:1.75rem;--touch:44px;--gutter:20px;--tabbar:76px;--content-max:34rem;--dur-press:.12s;--dur-el:.24s;--dur-screen:.38s;--dur-fill:1.1s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:linear(0, .0239, .0854, .1709, .2698, .3738, .4767, .5742, .6633, .7425, .8109, .8685, .9157, .9534, .9825, 1.0041, 1.0195, 1.0296, 1.0355, 1.0381, 1.0382, 1.0366, 1.0338, 1.0302, 1.0263, 1.0223, 1.0184, 1.0148, 1.0115, 1.0087, 1.0062, 1.0042, 1.0026, 1.0013, 1.0003, .9996, 1);--ease-spring-bouncy:linear(0, .0409, .1445, .2851, .4412, .5964, .7388, .8611, .9595, 1.0332, 1.0834, 1.1129, 1.1253, 1.1245, 1.1142, 1.098, 1.0788, 1.059, 1.0402, 1.0236, 1.0099, .9993, .9917, .987, .9846, .9841, .9849, .9867, .989, .9915, .994, .9962, .9981, .9996, 1.0007, 1.0014, 1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#eceef3;--color-surface:#fff;--color-raised:#e3e6ed;--color-selected:#fff;--color-border:#d6dae3;--color-text:#11141a;--color-text-muted:#586070;--color-accent:#3b57d6;--color-on-accent:#fff;--color-protein:#d6455f;--color-fat:#b8860b;--color-carbs:#2a7fd6;--color-warning:#b5530f;--color-danger:#c62828;--color-shadow:#11141a29;--color-glow:#3b57d612;--grain-opacity:.03}@font-face{font-family:Bricolage Grotesque;src:url(/assets/bricolage-grotesque-latin-C23fTOVi.woff2)format("woff2");font-weight:300 800;font-style:normal;font-display:block}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--color-bg)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-md);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}fieldset{border:0;min-width:0;margin:0;padding:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.14s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.fatal{color:var(--color-text-muted);padding:40px 24px}.shell{isolation:isolate;background:var(--color-bg);position:fixed;inset:0;overflow:clip}.app{background:var(--color-bg);transform-origin:50% 0;transition:transform .56s var(--ease-spring), filter .4s var(--ease-out), border-radius .4s var(--ease-out);position:absolute;inset:0;overflow:clip}.shell.sheet-open .app{filter:brightness(.62)saturate(.9);border-radius:32px;transform:translateY(18px)scale(.92)}.app:after{content:"";pointer-events:none;z-index:60;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.scroller{overscroll-behavior:contain;padding:calc(var(--safe-top) + 22px) max(var(--gutter), calc((100% - var(--content-max)) / 2)) calc(var(--tabbar) + 40px + var(--safe-bottom));scrollbar-width:none;-webkit-mask-image:linear-gradient(to bottom, black calc(100% - var(--tabbar) - 44px), transparent calc(100% - 24px));-webkit-mask-image:linear-gradient(to bottom, black calc(100% - var(--tabbar) - 44px), transparent calc(100% - 24px));mask-image:linear-gradient(to bottom, black calc(100% - var(--tabbar) - 44px), transparent calc(100% - 24px));position:absolute;inset:0;overflow:hidden auto}.scroller::-webkit-scrollbar{display:none}.screen{flex-direction:column;gap:22px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch);display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.1875rem;font-weight:750;display:flex}.brand svg{flex:none;width:20px;height:20px}.day-nav{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);align-items:center;padding:2px;display:flex}.icon-btn{width:var(--touch);height:var(--touch);border-radius:var(--radius-pill);color:var(--color-text-muted);transition:background-color var(--dur-el) var(--ease-out), color var(--dur-el), transform var(--dur-press) var(--ease-out), opacity var(--dur-el);background:0 0;border:0;flex:none;place-items:center;display:grid}.day-nav .icon-btn{width:38px;height:38px}.icon-btn:hover{background:var(--color-raised);color:var(--color-text)}.icon-btn:active{transform:scale(.88)}.icon-btn:disabled{opacity:.3;pointer-events:none}.icon-btn svg{width:18px;height:18px}.day-label{font-weight:650;font-size:var(--fs-sm);text-align:center;white-space:nowrap;text-overflow:ellipsis;width:7.5rem;overflow:hidden}.tabbar{z-index:20;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--color-surface) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.5);border:1px solid var(--color-border);max-width:496px;height:64px;box-shadow:0 18px 40px -24px var(--color-shadow);view-transition-name:tabbar;isolation:isolate;border-radius:26px;grid-template-columns:1fr 1fr 72px 1fr 1fr;align-items:center;margin-inline:auto;padding:0 6px;display:grid;position:absolute}.tab{height:52px;font-size:var(--fs-2xs);color:var(--color-text-muted);white-space:nowrap;transition:color var(--dur-el) var(--ease-out), transform var(--dur-press);background:0 0;border:0;border-radius:20px;place-content:center;justify-items:center;gap:3px;font-weight:650;text-decoration:none;display:grid;position:relative}.tab:active{transform:scale(.92)}.tab svg{width:22px;height:22px;transition:transform .5s var(--ease-spring-bouncy)}.tab[aria-current=page]{color:var(--color-text)}.tab[aria-current=page] svg{transform:translateY(-1px)scale(1.06)}.tab,.add{z-index:1}.tab-pill{z-index:0;background:var(--color-raised);pointer-events:none;border-radius:20px;height:52px;position:absolute;top:6px;left:0}.tab-pill.ready{transition:transform .5s var(--ease-spring), width .5s var(--ease-spring)}.add{background:var(--color-accent);width:56px;height:56px;color:var(--color-on-accent);box-shadow:0 10px 24px -10px var(--color-accent);transition:transform .42s var(--ease-spring-bouncy);border:0;border-radius:20px;justify-self:center;place-items:center;display:grid}.add:active{transform:scale(.88)}.add svg{width:26px;height:26px;transition:transform .5s var(--ease-spring-bouncy)}.big{position:relative}.change{font-size:var(--fs-sm);letter-spacing:0;color:var(--color-text-muted);font-variation-settings:"opsz" 14;white-space:nowrap;pointer-events:none;opacity:0;font-weight:700;position:absolute;top:-2px;right:0;transform:translateY(6px)}.change.show{animation:change 1.8s var(--ease-out) forwards}@keyframes change{0%{opacity:0;transform:translateY(6px)}15%,70%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}.toast{z-index:40;left:16px;right:16px;bottom:calc(var(--tabbar) + 18px + env(safe-area-inset-bottom,0px));justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-text);max-width:480px;min-height:52px;color:var(--color-bg);font-size:var(--fs-sm);opacity:0;pointer-events:none;transition:transform .52s var(--ease-spring), opacity var(--dur-el);margin-inline:auto;padding:6px 6px 6px 16px;font-weight:600;display:flex;position:absolute;transform:translateY(24px)scale(.96)}.toast.show{opacity:1;pointer-events:auto;transform:none}.toast span{min-width:0;padding-block:8px}.toast button{background:color-mix(in srgb, var(--color-bg) 14%, transparent);color:inherit;border:0;border-radius:12px;flex:none;min-height:40px;padding:0 14px;font-weight:750}.reveal>*{animation:rise .64s var(--ease-out) both}.reveal>:nth-child(2){animation-delay:70ms}.reveal>:nth-child(3){animation-delay:.14s}.reveal>:nth-child(4){animation-delay:.21s}.reveal>:nth-child(5){animation-delay:.28s}::view-transition-old(screen){animation-duration:var(--dur-screen);animation-timing-function:var(--ease-out)}::view-transition-new(screen){animation-duration:var(--dur-screen);animation-timing-function:var(--ease-out)}::view-transition-old(screen){animation-name:vt-out}::view-transition-new(screen){animation-name:vt-in}@keyframes vt-out{to{opacity:0;transform:translateX(calc(var(--dir,1) * -32px)) scale(.985)}}@keyframes vt-in{0%{opacity:0;transform:translateX(calc(var(--dir,1) * 32px)) scale(.985)}}::view-transition-group(picked){animation-duration:.48s;animation-timing-function:var(--ease-spring)}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(tabbar){display:none}::view-transition-new(tabbar){animation:none}::view-transition-group(sheetbody){animation-duration:.32s;animation-timing-function:var(--ease-out)}:root.theming,:root.theming *,:root.theming :before,:root.theming :after{transition:background-color .42s var(--ease-out), color .42s var(--ease-out), border-color .42s var(--ease-out), fill .42s var(--ease-out), stroke .42s var(--ease-out), box-shadow .42s var(--ease-out)!important}:root.theming .seg-thumb.ready,:root.theming .tab-pill.ready{transition:transform .46s var(--ease-spring), width .46s var(--ease-spring), background-color .42s var(--ease-out), box-shadow .42s var(--ease-out)!important}.update-bar{z-index:25;left:16px;right:16px;bottom:calc(var(--tabbar) + 18px + var(--safe-bottom));justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-accent);max-width:480px;min-height:52px;color:var(--color-on-accent);font-size:var(--fs-sm);animation:rise .52s var(--ease-out) both;margin-inline:auto;padding:6px 6px 6px 16px;font-weight:650;display:flex;position:absolute}.update-bar button{background:var(--color-on-accent);min-height:40px;color:var(--color-accent);border:0;border-radius:12px;padding:0 14px;font-weight:750}.scrim{z-index:30;pointer-events:none;background:0 0;position:absolute;inset:0}.shell.sheet-open .scrim{pointer-events:auto}.sheet{z-index:31;background:var(--color-surface);max-width:540px;height:86%;box-shadow:0 -20px 50px -30px var(--color-shadow);transition:transform .6s var(--ease-spring);border-radius:32px 32px 0 0;flex-direction:column;margin-inline:auto;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(104%)}.shell.sheet-open .sheet{transform:translateY(var(--drag,0px))}.sheet.dragging{transition:none}.grabber{touch-action:none;cursor:grab;flex:none;place-items:center;height:30px;display:grid}.grabber:before{content:"";border-radius:var(--radius-pill);background:var(--color-border);width:40px;height:5px}.sheet-body{overscroll-behavior:contain;min-height:0;padding:4px var(--gutter) calc(24px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.sheet-title{font-size:var(--fs-xl);letter-spacing:-.025em;font-weight:760}.search{border-radius:var(--radius-md);background:var(--color-raised);flex:none;align-items:center;gap:10px;height:50px;padding:0 16px;display:flex}.search svg{width:18px;height:18px;color:var(--color-text-muted);flex:none}.search input{min-width:0;font-size:var(--fs-md);background:0 0;border:0;outline:none;flex:1;height:100%}.search input::placeholder{color:var(--color-text-muted)}.list-label{font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);padding-top:4px;font-weight:700}#results{flex-direction:column;gap:10px;display:flex}.results{margin:0 calc(var(--space-2) * -1);gap:2px;padding:0;list-style:none;display:grid}.result-row{border-radius:var(--radius-md);transition:background-color var(--dur-el);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.result-row:hover{background:var(--color-raised)}.result{min-width:0;padding:10px var(--space-2);text-align:left;border-radius:var(--radius-md);min-height:58px;transition:transform var(--dur-press);background:0 0;border:0;gap:2px;display:grid}.result:active{transform:scale(.985)}.result-name{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.result-meta{font-size:var(--fs-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.count{color:var(--color-accent);font-weight:750}.quick{margin-right:var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);min-width:86px;height:38px;font-size:var(--fs-xs);white-space:nowrap;transition:transform var(--dur-press), background-color var(--dur-el);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:700;display:flex}.quick svg{width:14px;height:14px;color:var(--color-accent)}.quick:active{transform:scale(.92)}.portion{flex-direction:column;gap:18px;display:flex}.portion-head{gap:4px;display:grid}.portion-title{font-size:var(--fs-xl);letter-spacing:-.025em;font-weight:760;line-height:1.1}.grams-row{gap:var(--space-3);grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;padding:6px 0;display:grid}.grams-field{justify-content:center;align-items:baseline;gap:6px;min-width:0;display:flex}.grams-field input{text-align:right;letter-spacing:-.05em;font-variation-settings:"opsz" 96;background:0 0;border:0;outline:none;width:4ch;min-width:0;padding:0;font-size:3.5rem;font-weight:800;line-height:1}.grams-field span{color:var(--color-text-muted);font-size:var(--fs-lg);font-weight:600}.step{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-raised);width:52px;height:52px;transition:transform var(--dur-press);place-items:center;display:grid}.step svg{width:20px;height:20px}.step:active{transform:scale(.86)}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.live{grid-template-columns:1.25fr 1fr 1fr 1fr;gap:6px;display:grid}.live div{border-radius:var(--radius-md);background:var(--color-raised);gap:2px;min-width:0;padding:12px 10px;display:grid}.live b{font-size:var(--fs-lg);letter-spacing:-.02em;font-weight:760}.live span{font-size:var(--fs-2xs);color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:4px;display:flex}.live i{background:var(--c);border-radius:50%;flex:none;width:7px;height:7px}.segmented{border-radius:var(--radius-md);background:var(--color-raised);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented button{min-height:40px;font-size:var(--fs-sm);color:var(--color-text-muted);white-space:nowrap;transition:background-color var(--dur-el), color var(--dur-el), box-shadow var(--dur-el);background:0 0;border:0;border-radius:12px;padding:0 4px;font-weight:650}.segmented button[aria-pressed=true]{background:var(--color-selected);color:var(--color-text);box-shadow:0 1px 3px var(--color-shadow)}.primary{border-radius:var(--radius-md);background:var(--color-accent);min-height:56px;color:var(--color-on-accent);font-size:var(--fs-md);white-space:nowrap;transition:transform var(--dur-press), filter var(--dur-el), opacity var(--dur-el);border:0;padding:0 20px;font-weight:750}.primary:active{filter:brightness(.94);transform:scale(.98)}.primary:disabled{opacity:.4;pointer-events:none}.text-btn{min-height:var(--touch);color:var(--color-text-muted);font-weight:650;font-size:var(--fs-sm);background:0 0;border:0;align-self:center;padding:0 16px}.fields{gap:10px;display:grid}.field{gap:6px;min-width:0;display:grid}.field label{font-size:var(--fs-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.field input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-raised);height:50px;font-size:var(--fs-md);width:100%;min-width:0;transition:border-color var(--dur-el);outline:none;padding:0 14px}.field input:focus{border-color:var(--color-accent)}.field input[aria-invalid=true]{border-color:var(--color-danger)}.row-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.row-4 input{padding:0 10px}.row-2{grid-template-columns:minmax(0,1fr) 6.5rem;gap:8px;display:grid}.hint{font-size:var(--fs-xs);color:var(--color-text-muted)}.hint.warn{color:var(--color-warning)}.est{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--color-text-muted);text-decoration-color:var(--color-text-muted);text-underline-offset:.16em}.est-chip{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);border:1px dashed var(--color-text-muted);border-radius:var(--radius-pill);vertical-align:2px;white-space:nowrap;padding:1px 7px;font-size:.625rem;font-weight:700;display:inline-block}.screen-title{letter-spacing:-.035em;font-variation-settings:"opsz" 72;font-size:2.125rem;font-weight:780;line-height:1.05}.title-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch);display:flex}.segmented{isolation:isolate;position:relative}.segmented>button{z-index:1;position:relative}.segmented>button[aria-pressed=true]{box-shadow:none!important;background:0 0!important}.seg-thumb{z-index:0;background:var(--color-selected);box-shadow:0 1px 3px var(--color-shadow);pointer-events:none;border-radius:12px;position:absolute;top:4px;bottom:4px;left:0}.seg-thumb.ready{transition:transform .46s var(--ease-spring), width .46s var(--ease-spring), opacity .2s}@media (prefers-reduced-motion:reduce){.seg-thumb.ready{transition-duration:1ms}*,:before,:after{transition-duration:.14s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}::view-transition-old(screen){animation:none}::view-transition-new(screen){animation:none}}.choices{gap:var(--space-2);display:grid}.choice{text-align:left;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:64px;transition:border-color var(--dur-el) var(--ease-out), background-color var(--dur-el) var(--ease-out), transform var(--dur-press) var(--ease-out);align-content:center;gap:2px;padding:14px 16px;display:grid}.choice:active{transform:scale(.985)}.choice[aria-checked=true]{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface))}.choice-label{font-weight:700;font-size:var(--fs-md)}.choice-desc{font-size:var(--fs-sm);color:var(--color-text-muted)}.hint.error{color:var(--color-danger)}.row-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.text-btn.danger{color:var(--color-danger)}.disclose{min-height:var(--touch);color:var(--color-accent);font-weight:650;font-size:var(--fs-sm);background:0 0;border:0;justify-self:start;padding:0}.serving-row{grid-template-columns:minmax(0, 1fr) 6.5rem var(--touch);align-items:end}.add-serving{justify-self:start}.confirm{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:var(--color-raised);flex-wrap:wrap;padding:12px;display:flex}.confirm p{font-size:var(--fs-sm);flex-basis:100%}.add-actions{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.search input[type=search]::-webkit-search-cancel-button{appearance:none}.hero{gap:6px;display:grid;position:relative}.hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side, var(--color-glow), transparent);width:360px;height:260px;transition:opacity var(--dur-screen);position:absolute;top:-70px;left:-90px}.hero[data-state=over]:before{background:radial-gradient(closest-side, color-mix(in srgb, var(--color-warning) 22%, transparent), transparent)}.hero[data-state=empty]:before{opacity:.4}.eyebrow{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700}.big{letter-spacing:-.055em;font-variation-settings:"opsz" 96;align-items:baseline;gap:10px;padding-block:4px 2px;font-size:6rem;font-weight:800;line-height:.82;display:flex}.big small{font-size:var(--fs-lg);letter-spacing:0;color:var(--color-text-muted);font-variation-settings:"opsz" 20;font-weight:550}.hero[data-state=over] .big{color:var(--color-warning)}.hero-sub{color:var(--color-text-muted);font-size:var(--fs-sm)}.hero-sub b{color:var(--color-text);font-weight:650}.mark{--tall:200px;--short:124px;grid-template-columns:repeat(3,1fr);align-items:start;column-gap:14px;padding-bottom:4px;display:grid;position:relative}.bar{flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex;position:relative}.tube{--th:var(--tall);width:min(100%,60px);height:var(--th);border-radius:var(--radius-pill);isolation:isolate;background:var(--color-raised);box-shadow:inset 0 0 0 1px var(--color-border);transition:box-shadow var(--dur-screen) var(--ease-out);flex:none;position:relative;overflow:hidden}.bar.mid .tube{--th:var(--short)}.liquid{width:100%;height:100%;display:block;position:absolute;inset:0}.bar.done .tube{box-shadow:inset 0 0 0 1.5px var(--c)}.bar.done .readout .name:after{content:" ✓"}.readout{text-align:center;justify-items:center;gap:1px;width:100%;min-width:0;display:grid}.readout .val{letter-spacing:-.04em;font-variation-settings:"opsz" 48;font-size:1.625rem;font-weight:780;line-height:1}.readout .of{font-size:var(--fs-xs);color:var(--color-text-muted);white-space:nowrap}.readout .name{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--c);white-space:nowrap;margin-bottom:3px;font-weight:700}.meals{gap:18px;display:grid}.meal-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding-bottom:6px;display:flex}.meal-head h3{font-size:var(--fs-sm);font-weight:700}.meal-head span{color:var(--color-text-muted);font-size:var(--fs-sm);white-space:nowrap}.entries{margin:0;padding:0;list-style:none;display:grid}.wrap{transition:grid-template-rows var(--dur-screen) var(--ease-out), opacity var(--dur-el) var(--ease-out);grid-template-rows:1fr;display:grid}.wrap>*{min-height:0;overflow:hidden}.wrap.closed{opacity:0;grid-template-rows:0fr}@starting-style{.wrap.fresh{opacity:0;grid-template-rows:0fr}}.entry{gap:var(--space-3);text-align:left;border-radius:var(--radius-sm);width:100%;min-height:56px;transition:transform var(--dur-press) var(--ease-out), opacity var(--dur-el);background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:11px 0;display:grid}.entry:active{transform:scale(.985)}.entry-text{gap:2px;min-width:0;display:grid}.entry-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.entry-meta{font-size:var(--fs-xs);color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:6px;display:flex}.entry-meta i{background:var(--c);border-radius:50%;width:6px;height:6px;margin-right:2px;display:inline-block}.entry-kcal{white-space:nowrap;font-weight:700}.entry-kcal small{color:var(--color-text-muted);font-weight:500;font-size:var(--fs-xs);margin-left:2px}.entry-actions{gap:var(--space-2);padding:0 0 12px;display:flex}.empty-meal{color:var(--color-text-muted);font-size:var(--fs-sm);padding:12px 0 2px}.flash{animation:flash 1.2s var(--ease-out)}@keyframes flash{0%{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}to{background:0 0}}.chip-btn{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);min-height:38px;font-size:var(--fs-sm);white-space:nowrap;transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-el), border-color var(--dur-el), color var(--dur-el);padding:0 16px;font-weight:600}.chip-btn:active{transform:scale(.94)}.chip-btn.danger{color:var(--color-danger)}.chip-btn[aria-pressed=true]{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.day-empty{text-align:center;color:var(--color-text-muted);font-size:var(--fs-sm);justify-items:center;gap:6px;padding:18px 0 4px;display:grid}.day-empty b{color:var(--color-text);font-size:var(--fs-md)}.weight-stats{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;display:grid}.stat{grid-row:span 3;grid-template-rows:subgrid;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);align-content:start;gap:4px;min-width:0;padding:16px;display:grid}.stat .label{font-size:var(--fs-xs);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-weight:650;display:flex}.stat b{letter-spacing:-.05em;font-variation-settings:"opsz" 96;white-space:nowrap;font-size:2.375rem;font-weight:800;line-height:1}.stat b small{font-size:var(--fs-sm);color:var(--color-text-muted);letter-spacing:0;margin-left:3px;font-weight:550}.stat .sub{font-size:var(--fs-xs);color:var(--color-text-muted)}.stat .delta{font-size:var(--fs-xs);color:var(--color-carbs);font-weight:700}.chart-card{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);touch-action:pan-y;padding:14px 10px 8px;position:relative}.chart-ghost{pointer-events:none;position:absolute}.chart{width:100%;height:auto;animation:chart-in var(--dur-el) var(--ease-out) both;display:block}@keyframes chart-in{0%{opacity:0}}.chart .trend{fill:none;stroke:var(--color-text);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.chart .pt{fill:var(--color-text-muted);opacity:.4}.chart .pt.new{fill:var(--color-accent);opacity:1;transform-box:fill-box;transform-origin:50%;animation:pop .8s var(--ease-spring-bouncy)}.chart .end{fill:var(--color-text)}.chart .tick{fill:var(--color-text-muted);font-size:10.5px;font-family:var(--font-sans);font-variant-numeric:tabular-nums}.chart .grid{stroke:var(--color-border);stroke-width:1px;stroke-dasharray:2 5}.chart .cursor{opacity:0;transition:opacity var(--dur-el);pointer-events:none}.chart .cursor.on{opacity:1}.chart .cursor line{stroke:var(--color-text-muted);stroke-width:1px}.chart .cursor .tip{fill:var(--color-text)}.chart .cursor text{fill:var(--color-bg);font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:11px;font-weight:650}.chart .cursor .ring{fill:var(--color-bg);stroke:var(--color-text);stroke-width:2.5px}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{transform:scale(0)}}.chart-hint{font-size:var(--fs-2xs);color:var(--color-text-muted);text-align:center;padding-top:2px}.log-weight{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:grid}.log-weight label{font-size:var(--fs-xs);color:var(--color-text-muted);gap:2px;min-width:0;font-weight:650;display:grid}.log-weight input:not(.date-chip){font-size:var(--fs-xl);letter-spacing:-.02em;width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:none;padding:0;font-weight:760}.log-weight input::placeholder{color:color-mix(in srgb, var(--color-text-muted) 55%, transparent)}.log-weight input[aria-invalid=true]{color:var(--color-danger)}.log-weight .primary{min-height:48px}.note{font-size:var(--fs-sm);color:var(--color-text-muted);line-height:1.5}.food-list{display:grid}.food-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px 0;display:grid}.food-row:last-child{border-bottom:0}.food-row .entry-name{font-size:var(--fs-md)}.split{grid-column:1/-1;gap:2px;height:6px;display:flex}.split i{background:var(--c);border-radius:var(--radius-pill);height:100%;display:block}.new-btn{border-radius:var(--radius-pill);background:var(--color-accent);min-height:40px;color:var(--color-on-accent);font-weight:700;font-size:var(--fs-sm);white-space:nowrap;transition:transform var(--dur-press);border:0;align-items:center;gap:6px;padding:0 14px 0 10px;display:flex}.new-btn svg{width:18px;height:18px}.new-btn:active{transform:scale(.94)}.group{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);gap:12px;padding:16px;display:grid}.group h3{font-size:var(--fs-sm);font-weight:700}.link-row{text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0;font-weight:650;display:flex}.link-row+.link-row{border-top:1px solid var(--color-border);border-radius:0}.link-row svg{width:18px;height:18px;color:var(--color-text-muted);flex:none}.back-row{align-items:center;gap:6px;margin-left:-12px;display:flex}.ledger{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);padding:4px 16px;display:grid}.ledger-row{border-bottom:1px solid var(--color-border);animation:rise .56s var(--ease-out) both;animation-delay:calc(var(--k) * 90ms + 80ms);grid-template-columns:22px minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:14px 0;display:grid}.ledger-row:last-child{border-bottom:0}.ledger-op{color:var(--color-text-muted);font-weight:750;font-size:var(--fs-lg);line-height:1}.ledger-row p{text-wrap:balance;min-width:0;font-weight:650}.ledger-row small{color:var(--color-text-muted);font-size:var(--fs-xs);margin-top:3px;font-weight:500;line-height:1.35;display:block}.ledger-row b{font-size:var(--fs-lg);white-space:nowrap;letter-spacing:-.02em;font-weight:780}.ledger-row.total b{color:var(--color-accent);font-size:1.625rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.stacked{gap:3px;height:22px;display:flex}.stacked i{background:var(--c);border-radius:var(--radius-pill);transform-origin:0;height:100%;animation:grow 1s var(--ease-spring) both;animation-delay:calc(.5s + var(--k) * .12s);display:block}@keyframes grow{0%{transform:scaleX(0)}}.legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.legend div{gap:2px;min-width:0;display:grid}.legend .nm{font-size:var(--fs-xs);color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:5px;font-weight:650;display:flex}.legend .nm i{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}.legend b{font-size:var(--fs-lg);font-weight:780}.legend .ds{font-size:var(--fs-2xs);color:var(--color-text-muted)}.onboarding{background:var(--color-bg);padding:calc(var(--safe-top) + 14px) max(var(--gutter), calc((100% - var(--content-max)) / 2)) calc(var(--safe-bottom) + 20px);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.ob-top{align-items:center;gap:var(--space-3);min-height:var(--touch);margin-left:-12px;display:flex}.ob-spacer{width:var(--touch);flex:none}.ob-progress{flex:1;gap:4px;display:flex}.ob-progress i{border-radius:var(--radius-pill);background:var(--color-raised);height:4px;transition:background-color var(--dur-screen) var(--ease-out);flex:1}.ob-progress i.on{background:var(--color-text)}.ob-count{font-size:var(--fs-xs);color:var(--color-text-muted);white-space:nowrap;padding-right:var(--space-1)}.ob-body{animation:q-in .46s var(--ease-out) both;flex-direction:column;flex:1;gap:20px;padding-block:28px 24px;display:flex}@keyframes q-in{0%{opacity:0;transform:translateX(calc(var(--dir,1) * 28px))}}.ob-logo{margin-top:12vh}.q-title{letter-spacing:-.035em;font-size:2rem;font-weight:780;line-height:1.08}.q-help{color:var(--color-text-muted)}.big-input{align-items:baseline;gap:var(--space-2);margin-top:8px;display:flex}.big-input input{border:0;border-bottom:2px solid var(--color-border);letter-spacing:-.05em;width:100%;min-width:0;color:var(--color-text);transition:border-color var(--dur-el) var(--ease-out);background:0 0;border-radius:0;outline:none;padding:0 0 6px;font-size:4rem;font-weight:800;line-height:1.1}.big-input input[type=date]{letter-spacing:-.02em;font-size:2rem}.big-input input:focus{border-color:var(--color-accent)}.big-input input[aria-invalid=true]{border-color:var(--color-danger)}.big-input span{font-size:var(--fs-lg);color:var(--color-text-muted);font-weight:600}.ob-foot{gap:var(--space-2);padding-top:8px;display:grid}.guardrail{gap:var(--space-3);border-radius:var(--radius-lg);border:1.5px solid var(--color-warning);background:color-mix(in srgb, var(--color-warning) 10%, var(--color-surface));padding:16px;display:grid}.guardrail p{font-size:var(--fs-sm);color:var(--color-text-muted)}.check{align-items:center;gap:var(--space-3);min-height:var(--touch);font-weight:600;display:flex}.check input{width:22px;height:22px;accent-color:var(--color-accent)}.counts{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);margin:0;padding:0;list-style:none;display:grid}.counts li{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:14px 16px;display:flex}.counts li:last-child{border-bottom:0}.swap{animation:swap-in .28s var(--ease-out) both}@keyframes swap-in{0%{opacity:0;transform:translateY(6px)}}.day-label{animation:swap-in .28s var(--ease-out) both}.food-list{margin:0;padding:0;list-style:none}.food-list li:last-child .food-row{border-bottom:0}button.food-row{border:0;border-bottom:1px solid var(--color-border);text-align:left;width:100%;transition:transform var(--dur-press) var(--ease-out);background:0 0}button.food-row:active{transform:scale(.99)}.log-for{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.date-chip{background:var(--color-raised);border-radius:var(--radius-pill);font-size:var(--fs-xs);color:var(--color-text);border:0;min-height:24px;padding:2px 8px;font-weight:650}.weigh-ins{margin:0;padding:0;list-style:none;display:grid}.weigh-in{border:0;border-bottom:1px solid var(--color-border);text-align:left;width:100%;min-height:var(--touch);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px;padding:12px 0;display:grid}.weigh-ins li:last-child .weigh-in{border-bottom:0}.weigh-in .sub{font-size:var(--fs-xs);color:var(--color-text-muted);grid-column:1/-1}.chart .trend{stroke-dasharray:none}.chart.draw .trend{stroke-dasharray:100;stroke-dashoffset:100px;animation:draw 1.3s var(--ease-in-out) forwards}.link-row:disabled{opacity:.5}.muted-row{color:var(--color-text-muted);cursor:default}.about{gap:6px}.field select{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-raised);height:50px;font-size:var(--fs-md);width:100%;min-width:0;padding:0 12px}.field input[type=date]{min-width:0}.mark.intro{transform-origin:50% calc(var(--tall) / 2);animation:1.7s cubic-bezier(.65,0,.35,1) both intro-mark}.screen.intro>:not(.mark),.mark.intro .readout,:root.intro .tabbar{animation:rise .7s var(--ease-out) var(--at) both}.screen.intro>.topbar{--at:var(--intro-reveal)}.screen.intro>.hero{--at:calc(var(--intro-reveal) + 80ms)}.mark.intro .readout{--at:calc(var(--intro-reveal) + .16s)}.screen.intro>.mark~*,:root.intro .tabbar{--at:calc(var(--intro-reveal) + .24s)}@keyframes intro-mark{0%{opacity:0;transform:translateY(var(--intro-dy,0px)) scale(1.18)}12%,40%{opacity:1;transform:translateY(var(--intro-dy,0px)) scale(1.18)}to{opacity:1;transform:none}}
