@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#eef2f0;--surface:#fbfcfb;--ink:#18242a;--ink-soft:#55656b;--line:#d1dad6;--accent:#0b6e69;--accent-ink:#fff;--accent-soft:#d9ebe8;--danger:#a8321f;--protein:#b8324c;--carbs:#c9930f;--fat:#5e7f2e;--shadow-sheet:0 -12px 40px #18242a2e;--font-display:"Bricolage Grotesque Variable", "Arial Narrow", sans-serif;--font-body:"Instrument Sans Variable", system-ui, sans-serif;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:1.375rem;--text-xl:1.875rem;--text-figure:clamp(4rem, 2.6rem + 9vw, 6.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2.25rem;--gutter:clamp(1rem, .6rem + 2vw, 1.5rem);--radius-control:.625rem;--radius-plate:.3rem;--tap:2.875rem;--tabbar-height:3.75rem;--duration-fast:.14s;--duration-sheet:.26s;--ease-out:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#121a1d;--surface:#1a2428;--ink:#e9efec;--ink-soft:#9db0ad;--line:#2b3a3f;--accent:#4fc2b8;--accent-ink:#06211f;--accent-soft:#17383a;--danger:#f08a75;--protein:#e46a82;--carbs:#e3b341;--fat:#9cc25a;--shadow-sheet:0 -12px 40px #00000080}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;line-height:1.45}h1,h2{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-weight:650;line-height:1.1}h1{font-size:var(--text-xl);font-stretch:85%}h2{font-size:var(--text-lg);font-stretch:90%}p,ul,dl,dd,figure,fieldset{margin:0;padding:0}ul{list-style:none}fieldset{border:0;min-inline-size:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}svg{display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-soft);font-size:var(--text-sm)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.page{gap:var(--space-5);max-inline-size:34rem;padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--gutter) calc(var(--tabbar-height) + var(--space-6) + env(safe-area-inset-bottom));margin-inline:auto;display:grid}.page[data-timer=true]{padding-block-end:calc(var(--tabbar-height) + 6.5rem + env(safe-area-inset-bottom))}.page>section{gap:var(--space-3);display:grid}.page-head{gap:var(--space-1);display:grid}.back{min-block-size:var(--tap);color:var(--accent);font-size:var(--text-sm);justify-self:start;align-items:center;font-weight:600;display:inline-flex}.back:before{content:"";block-size:.55rem;inline-size:.55rem;border-block-end:2px solid;border-inline-start:2px solid;margin-inline-end:var(--space-2);transform:rotate(45deg)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-block-size:2rem;display:flex}.stack{gap:var(--space-3);display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.btn{min-block-size:var(--tap);padding:0 var(--space-4);border:1.5px solid var(--ink);border-radius:var(--radius-control);text-align:center;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast);background:0 0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.btn-ghost{min-block-size:2.5rem;padding-inline:var(--space-2);color:var(--accent);font-size:var(--text-sm);border-color:#0000}.btn-danger{color:var(--danger);border-color:#0000}.actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.actions .btn-primary{flex:12rem}.field{gap:var(--space-1);min-inline-size:0;display:grid}.field label,.nutrient-fields legend{color:var(--ink-soft);font-size:var(--text-xs);font-weight:600}.field input,.field select{inline-size:100%;min-block-size:var(--tap);padding:0 var(--space-3);border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font-size:var(--text-base)}.field input:focus-visible,.field select:focus-visible,.set-input input:focus-visible{border-color:var(--accent);outline-offset:0}.field-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=22rem){.field-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}.nutrient-fields{gap:var(--space-3);display:grid}.nutrient-fields legend{color:var(--ink);font-size:var(--text-sm);margin-block-end:var(--space-2)}details>summary{min-block-size:var(--tap);color:var(--accent);font-size:var(--text-sm);cursor:pointer;align-items:center;font-weight:600;display:flex}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{min-block-size:2.5rem;padding:0 var(--space-3);border:1.5px solid var(--line);background:var(--surface);font-size:var(--text-sm);border-radius:2rem;font-weight:600}.chip[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.segmented{border-radius:var(--radius-control);background:var(--line);grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{border-radius:calc(var(--radius-control) - 3px);background:0 0;border:0;min-block-size:2.5rem;font-weight:600}.segmented button[aria-checked=true]{background:var(--surface)}.form-error{padding:var(--space-3);border-inline-start:4px solid var(--danger);background:var(--surface);color:var(--danger);font-size:var(--text-sm);font-weight:600}.hint{padding:var(--space-3);border-inline-start:4px solid var(--carbs);background:var(--surface);font-size:var(--text-sm)}.empty{color:var(--ink-soft);font-size:var(--text-sm);max-inline-size:30rem}.card{padding:var(--space-4);border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.list{border-block-start:1.5px solid var(--ink)}.list>li{border-block-end:1px solid var(--line)}.row{justify-content:space-between;align-items:center;gap:var(--space-3);min-block-size:3.25rem;inline-size:100%;padding:var(--space-2) 0;text-align:start;background:0 0;border:0;display:flex}.row-main{overflow-wrap:anywhere;min-inline-size:0;font-weight:550;display:grid}.row-main .muted{font-weight:400}.row-side{color:var(--ink-soft);font-size:var(--text-sm);text-align:end;flex:none}.row-split{align-items:center;gap:var(--space-2);display:flex}.row-split>.row{flex:1;min-inline-size:0}.star{inline-size:var(--tap);block-size:var(--tap);background:0 0;border:0;flex:none;place-items:center;display:grid}.star svg{fill:none;inline-size:1.5rem;stroke:var(--ink-soft);stroke-width:1.6px;stroke-linejoin:round}.star[aria-pressed=true] svg{fill:var(--carbs);stroke:var(--carbs)}.add-line{align-items:center;gap:var(--space-2);min-block-size:var(--tap);color:var(--accent);font-weight:600;display:flex}.add-line span{background:var(--accent-soft);border-radius:50%;place-items:center;block-size:1.6rem;inline-size:1.6rem;font-size:1.2rem;line-height:1;display:grid}.ingredient,.plan-item{gap:var(--space-2);padding-block:var(--space-3);display:grid}.ingredient{grid-template-columns:minmax(0,1fr) 5.5rem auto;align-items:center}.plan-item-fields{align-items:end;gap:var(--space-2);grid-template-columns:4.5rem 4.5rem auto auto;display:grid}.day-head{grid-template-columns:var(--tap) 1fr var(--tap);text-align:center;align-items:center}.day-step{block-size:var(--tap);border-radius:50%;place-items:center;display:grid}.day-step svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;inline-size:1.4rem}.balance{gap:var(--space-3);display:grid}.balance-figure{align-items:baseline;gap:0 var(--space-3);flex-wrap:wrap;display:flex}.balance-number{font-family:var(--font-display);font-size:var(--text-figure);letter-spacing:-.03em;font-weight:750;font-stretch:78%;line-height:.88}.balance-number[data-over=true]{color:var(--danger)}.balance-unit{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.bar{background:linear-gradient(var(--line), var(--line)) center / 100% 6px no-repeat;gap:3px;block-size:2.75rem;padding:.45rem 0;display:flex;position:relative}.bar-plate{border-radius:var(--radius-plate);block-size:100%;min-inline-size:0;transition:width var(--duration-sheet) var(--ease-out)}.bar-plate[style*="width: 0%"]{display:none}.bar-mark{background:var(--ink);inline-size:3px;position:absolute;inset-block:0}.plate-protein{background:var(--protein)}.plate-carbs{background:var(--carbs)}.plate-fat{background:var(--fat)}.macros{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.macro{gap:var(--space-1);min-inline-size:0;display:grid}.macro dt{color:var(--ink-soft);font-size:var(--text-xs);font-weight:600}.macro dd{font-weight:650}.macro dd .muted{font-size:var(--text-xs);font-weight:400}.macro-track{background:var(--line);block-size:4px;display:block;overflow:hidden}.macro-track span{transform-origin:0;block-size:100%;transition:transform var(--duration-sheet) var(--ease-out);display:block}.extras dl,.facts{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.extras dt,.facts dt{color:var(--ink-soft);font-size:var(--text-xs)}.extras dd,.facts dd{font-weight:650}.meal{gap:var(--space-1)!important}.nutrient-line{gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.nutrient-line strong{font-family:var(--font-display);font-size:var(--text-lg)}.banner{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);display:grid}.banner span{font-size:var(--text-sm)}.workout-meta{gap:var(--space-1) var(--space-4);color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;font-weight:600;display:flex}.exercise-block{border-block-start:1.5px solid var(--ink);padding-block-start:var(--space-4)}.set-list{gap:var(--space-2);display:grid}.set-row{align-items:center;gap:var(--space-2);grid-template-columns:1.5rem minmax(0,1fr) minmax(0,1fr) 3.25rem;display:grid;position:relative}.set-index{color:var(--ink-soft);font-weight:650}.set-input{align-items:center;gap:var(--space-2);min-inline-size:0;color:var(--ink-soft);font-size:var(--text-xs);display:flex}.set-input input{block-size:3.25rem;inline-size:100%;min-inline-size:0;padding:0 var(--space-2);border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font-family:var(--font-display);text-align:center;font-size:1.5rem;font-weight:650}.set-check{border:1.5px solid var(--ink);border-radius:var(--radius-control);block-size:3.25rem;transition:transform var(--duration-fast) var(--ease-out);background:0 0;place-items:center;display:grid}.set-check:active{transform:scale(.92)}.set-check svg{fill:none;inline-size:1.6rem;stroke:var(--line);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.set-check[aria-pressed=true]{border-color:var(--accent);background:var(--accent)}.set-check[aria-pressed=true] svg{stroke:var(--accent-ink)}.set-row[data-done=true] .set-input input{background:var(--accent-soft);border-color:#0000}.record-tag{padding:.1rem var(--space-2);border-radius:var(--radius-plate);background:var(--carbs);color:#1c1503;font-size:var(--text-xs);grid-column:2/-1;justify-self:start;font-weight:700}.rest-timer{z-index:5;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--gutter);background:var(--ink);color:var(--paper);display:flex;position:fixed;inset-block-end:calc(var(--tabbar-height) + env(safe-area-inset-bottom));inset-inline:0}.rest-timer .btn-ghost{color:inherit}.rest-clock{font-family:var(--font-display);flex:1;font-size:2rem;font-weight:700;font-stretch:80%}.rest-timer[data-over=true]{background:var(--carbs);color:#1c1503}.chart svg{block-size:auto;inline-size:100%}.chart figcaption{color:var(--ink-soft);font-size:var(--text-xs)}.chart-grid{stroke:var(--line);stroke-dasharray:2 4}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--accent)}.chart-text{fill:var(--ink-soft);font-size:10px}.chart-bar{fill:var(--accent)}.chart-bar[data-over=true]{fill:var(--danger)}.chart-target{stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:5 4}.sheet{background:var(--paper);max-block-size:92dvh;inline-size:100%;max-inline-size:34rem;color:var(--ink);box-shadow:var(--shadow-sheet);border:0;border-radius:1.1rem 1.1rem 0 0;margin:auto auto 0;padding:0;overflow-y:auto}.sheet[open]{animation:sheet-in var(--duration-sheet) var(--ease-out)}.sheet::backdrop{background:#0a101280}.sheet-body{gap:var(--space-4);padding:var(--space-4) var(--gutter) calc(var(--space-5) + env(safe-area-inset-bottom));display:grid}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.sheet-head h2{overflow-wrap:anywhere;min-inline-size:0}@keyframes sheet-in{0%{opacity:0;transform:translateY(2.5rem)}}.tabbar{z-index:4;border-block-start:1.5px solid var(--ink);background:var(--paper);grid-template-columns:repeat(5,minmax(0,1fr));padding-block-end:env(safe-area-inset-bottom);display:grid;position:fixed;inset-block-end:0;inset-inline:0}.tabbar a{block-size:var(--tabbar-height);color:var(--ink-soft);align-content:center;justify-items:center;gap:2px;font-size:.6875rem;font-weight:600;display:grid}.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;inline-size:1.5rem}.tabbar a[aria-current=page]{color:var(--ink);box-shadow:inset 0 3px 0 var(--accent)}.scanner{aspect-ratio:4/3;border-radius:var(--radius-control);object-fit:cover;background:#000;inline-size:100%}.energy-note{gap:var(--space-2);display:grid}.link-button{min-block-size:2.5rem;padding:0 var(--space-1);color:var(--accent);text-underline-offset:3px;background:0 0;border:0;font-weight:650;text-decoration:underline}
