@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.0z23a3hpu8ttr.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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.02aqyp7acl16b.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.14a9xpaqsbppk.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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_8c2be2a3-module__iX1fDW__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_8c2be2a3-module__iX1fDW__variable{--font-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_f49874be-module__RUqS_q__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_f49874be-module__RUqS_q__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ink:#eef1f6;--ink-soft:#cdd4e0;--muted:#8b93a5;--paper:#0f1420;--chalk:#1a2130;--wash:#232b3d;--rule:#2c3548;--hairline:#242c3e;--alert:#e0655a;--good:#46c07a;--accent:#4c8dff;--accent-strong:#3272e0;--fat:#c084fc;--carbs:#2dd4bf;--protein:#f5b545;--header-h:56px;--tabbar-h:58px;--radius:10px;--radius-sm:7px;--shadow:0 1px 2px #00000059, 0 8px 24px #0000004d;--display:clamp(1.6rem, 3vw, 2.25rem)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}body{background:var(--paper);min-height:100vh;font-family:var(--font-archivo), system-ui, sans-serif;font-variant-numeric:tabular-nums;margin:0;font-size:.9375rem;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:800}h1{font-size:var(--display);letter-spacing:-.025em;font-stretch:112%;line-height:1.05}h2{font-size:1.125rem}h3{font-size:1rem}p{margin:0}.lede{max-width:62ch;color:var(--muted)}.muted{color:var(--muted)}.meta{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.num{font-family:var(--font-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(16px,1em)}.btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .9rem;font-size:.875rem;font-weight:700;line-height:1.2;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--accent-strong)}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:var(--accent)}.btn.ghost{border-color:var(--rule);color:var(--ink);background:0 0}.btn.ghost:hover{border-color:var(--accent);background:var(--wash)}.btn.quiet{color:var(--muted);background:0 0;padding:.4rem .5rem}.btn.quiet:hover{background:var(--wash);color:var(--ink)}.btn.small{padding:.4rem .6rem;font-size:.8rem}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper);outline:none;width:100%;padding:.55rem .6rem}input[type=number],input[type=date],input[type=time]{font-family:var(--font-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4c8dff2e}textarea{resize:vertical;min-height:88px}.field{gap:.3rem;display:grid}.field label,.field-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.page{width:min(1120px,100% - 2rem);padding:1.5rem 0 calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 5.5rem);margin:0 auto}.page.narrow{max-width:760px}.page.log{max-width:900px;padding-top:.5rem}.stack,.grid{gap:1rem;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row.between{justify-content:space-between}.card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--chalk);box-shadow:var(--shadow);padding:1rem}.card.flat{box-shadow:none}.card.feature{border-color:var(--rule);background:var(--wash);color:var(--ink)}.card.feature .meta,.card.feature .muted{color:var(--muted)}.page-bar{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.1rem;padding-bottom:.8rem;display:flex}.page-bar-copy{gap:.15rem;min-width:0;display:grid}.page-bar h1{overflow-wrap:anywhere}.stat{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.stat.pending{color:var(--muted);font-size:1rem;font-weight:500}.progress{background:#ffffff1a;border-radius:999px;height:6px;overflow:hidden}.progress>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .2s;display:block}.progress.fat>span{background:var(--fat)}.progress.carbs>span{background:var(--carbs)}.progress.protein>span{background:var(--protein)}.goal-row{grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:.6rem;display:grid}.empty{border:1px dashed var(--rule);border-radius:var(--radius);text-align:center;background:#ffffff05;padding:clamp(1.75rem,6vw,3.5rem)}.empty h2{margin-bottom:.4rem}.empty .btn{margin-top:1rem}.app-header{z-index:30;height:var(--header-h);border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0}.header-inner{align-items:center;gap:.75rem;width:min(1120px,100% - 2rem);height:100%;margin:0 auto;display:flex}.brand{letter-spacing:-.015em;align-items:center;gap:.5rem;min-width:0;margin-right:auto;font-size:.9rem;font-weight:800;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:6px;flex:none;place-items:center;width:28px;height:28px;display:grid}.brand-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sync-chip-slot{flex:none}.sync-chip{font-variant-numeric:tabular-nums;gap:.3rem}.sync-chip.alert,.sync-chip.alert:hover{color:var(--alert)}.tab-bar{z-index:40;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding:0 .5rem env(safe-area-inset-bottom,0px);border-top:1px solid var(--rule);background:var(--chalk);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar a{min-width:56px;color:var(--muted);letter-spacing:.03em;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:.3rem .6rem;font-size:.65rem;font-weight:700;display:flex}.tab-bar a:hover{color:var(--ink)}.tab-bar a[aria-current=page]{color:var(--accent)}.fab{right:1rem;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 1rem);z-index:41;background:var(--accent);color:#fff;width:56px;height:56px;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:50%;place-items:center;transition:background .12s;display:grid;position:fixed}.fab:hover{background:var(--accent-strong)}.sheet-backdrop{z-index:45;background:#00000080;position:fixed;inset:0}.sheet{z-index:46;max-height:min(70dvh,32rem);padding:.9rem .9rem calc(.9rem + env(safe-area-inset-bottom,0px));border:1px solid var(--rule);border-radius:var(--radius) var(--radius) 0 0;background:var(--chalk);box-shadow:var(--shadow);border-bottom:0;animation:.18s sheet-up;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@keyframes sheet-up{0%{translate:0 100%}to{translate:0}}.sheet-handle{background:var(--rule);border-radius:999px;width:40px;height:4px;margin:0 auto .8rem}.sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.sheet-action{border:1px solid var(--rule);border-radius:var(--radius);background:var(--wash);color:var(--ink);cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem .75rem;font-size:.9rem;font-weight:700;transition:border-color .12s;display:flex}.sheet-action:hover{border-color:var(--accent)}.sheet-action-icon{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.sheet-action-icon.scan{background:#e35d7c}.sheet-action-icon.manual{background:var(--carbs);color:#0a2a24}.sheet-action-icon.exercise{background:var(--protein);color:#3a2a05}.week-strip{align-items:center;gap:.25rem;display:flex}.week-strip-days{flex:auto;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;min-width:0;display:grid}.week-day{color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.3rem;padding:.3rem 0;font-size:.7rem;font-weight:700;display:flex}.week-day-circle{border:2px solid var(--rule);width:34px;height:34px;font-family:var(--font-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;color:var(--ink-soft);border-radius:50%;place-items:center;font-size:.78rem;transition:border-color .12s,background .12s;display:grid}.week-day:hover:not(:disabled) .week-day-circle{border-color:var(--accent)}.week-day[aria-current=date]{color:var(--ink)}.week-day[aria-current=date] .week-day-circle{border-color:var(--accent);background:var(--accent);color:#fff}.week-day:disabled{cursor:default;opacity:.35}.week-tabs{scrollbar-width:thin;gap:.25rem;margin-bottom:.4rem;display:flex;overflow-x:auto}.week-tab{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--chalk);color:var(--ink);text-align:center;cursor:pointer;flex:none;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.82rem;font-weight:700;transition:border-color .12s,background .12s;display:inline-flex}.week-tab:hover{border-color:var(--accent)}.week-tab.active{border-color:var(--accent);background:var(--accent);color:#fff}.log-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.log-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--chalk);min-width:0;padding:.75rem .85rem;overflow:hidden}.run-card{align-content:start;gap:.45rem;display:grid}.run-card:hover{border-color:var(--accent)}.run-card h3{overflow-wrap:anywhere}.chart{height:260px;margin-top:.9rem}.chart-head{grid-template-columns:minmax(0,1fr);gap:.5rem;display:grid}.chart-head h2{overflow-wrap:anywhere}.recharts-cartesian-axis-tick text{font-family:var(--font-mono), ui-monospace, monospace;fill:var(--muted);font-size:11px}.recharts-default-legend{font-size:.75rem}.recharts-tooltip-wrapper .recharts-default-tooltip{border-radius:var(--radius-sm);font-size:.8rem;border:1px solid var(--rule)!important;background:var(--wash)!important}.sign-in{text-align:center;justify-items:center;gap:.5rem;margin-top:12vh;padding:clamp(1.75rem,6vw,3rem);display:grid}.sign-in-mark{border-radius:10px;width:44px;height:44px;margin-bottom:.5rem}.sign-in .lede{margin-bottom:.6rem}.sign-in-error{color:var(--alert);font-size:.85rem}.conflict{right:1rem;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 1rem);z-index:51;border:1px solid var(--accent);border-radius:var(--radius);background:var(--chalk);width:min(360px,100% - 2rem);box-shadow:var(--shadow);padding:.9rem;position:fixed}.conflict .meta{align-items:center;gap:.25rem;display:flex}.conflict-fields{gap:.4rem;margin:.6rem 0 0;display:grid}.conflict-fields>div{border-radius:var(--radius-sm);background:var(--wash);gap:.1rem;padding:.4rem .5rem;display:grid}.conflict-fields dt{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.conflict-fields dd{justify-content:space-between;align-items:baseline;gap:.5rem;margin:0;font-size:.85rem;display:flex}.btn.quiet.sign-out{min-width:44px;min-height:44px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--hairline), var(--wash), var(--hairline));background-size:200%;min-height:120px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:760px){:root{--header-h:52px}.header-inner{gap:.5rem;width:min(100% - 1.25rem,1120px)}.brand{gap:.4rem;font-size:.82rem}.brand-mark{width:26px;height:26px}.sync-chip{min-height:44px}.page{width:min(100% - 1.25rem,1120px)}.grid.two,.form-grid{grid-template-columns:1fr}.week-tabs{scroll-snap-type:x proximity;scrollbar-width:none;margin-right:-.625rem;padding-right:.625rem}.week-tabs::-webkit-scrollbar{display:none}.week-tab{scroll-snap-align:start}.week-day-circle{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
