:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--plate-brand:#2fa36b;--plate-brand-dark:#1e7a4c;--plate-protein:#e8604c;--plate-carbs:#f0a83a;--plate-fat:#2fa36b;--plate-danger:#d0342c;--plate-fiber:#7a8f5c;--plate-sugar:#d9557b;--plate-satfat:#b8763a;--plate-sodium:#4a86c5;--plate-cholesterol:#8a6bbf;--plate-potassium:#3fa3a3;--plate-background:#f4f5f4;--plate-card:#fff;--plate-text:#14181a;--plate-muted:#737a7d;--plate-separator:#e3e6e5;--plate-field:#f4f5f4;--plate-shadow:#14181a14;--plate-scrim:#14181a66;--plate-radius-sm:10px;--plate-radius:14px;--plate-radius-lg:20px;--plate-font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--plate-font-rounded:ui-rounded, -apple-system, BlinkMacSystemFont, "SF Pro Rounded", "Segoe UI", Roboto, sans-serif;--plate-safe-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--plate-background:#101312;--plate-card:#1b201e;--plate-text:#f2f5f3;--plate-muted:#939b97;--plate-separator:#2a302d;--plate-field:#252b28;--plate-shadow:#0006;--plate-scrim:#0009}}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--plate-font);background:var(--plate-background);color:var(--plate-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--plate-brand);outline-offset:2px}.app{background:var(--plate-background);flex-direction:column;max-width:560px;min-height:100%;margin:0 auto;display:flex}.app__content{padding-bottom:calc(150px + var(--plate-safe-bottom));flex:1}.screen{flex-direction:column;gap:16px;padding:16px;display:flex}.screen__title{letter-spacing:-.02em;margin:8px 0 0;font-size:32px;font-weight:700}.card{background:var(--plate-card);border-radius:var(--plate-radius);padding:16px}.card--lg{border-radius:var(--plate-radius-lg);padding:20px}.card--flush{padding:0}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--plate-muted);margin:0;font-size:12px;font-weight:600}.muted{color:var(--plate-muted)}.error-text{color:var(--plate-danger);margin:0;font-size:13px}.empty-state{color:var(--plate-muted);text-align:center;margin:0;padding:32px 16px;font-size:14px}.btn{border-radius:var(--plate-radius-sm);background:var(--plate-field);color:var(--plate-text);border:none;padding:12px 16px;font-size:15px;font-weight:600}.btn--primary{background:var(--plate-brand);color:#fff}.btn--plain{color:var(--plate-brand);background:0 0;padding:0;font-weight:500}.btn--danger{color:var(--plate-danger);background:0 0}.btn--block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-icon{background:var(--plate-field);color:var(--plate-text);border:none;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:20px;font-weight:600;line-height:1;display:grid}.row-button{text-align:left;background:0 0;border:none;width:100%;padding:0;display:block}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--plate-muted);font-size:13px;font-weight:600}.input,.select,.textarea{background:var(--plate-field);border-radius:var(--plate-radius-sm);border:1px solid #0000;width:100%;padding:11px 12px;font-size:15px}.textarea{resize:vertical;min-height:76px;font-family:inherit}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=420px){.field-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}.segmented{background:var(--plate-field);border-radius:var(--plate-radius-sm);gap:3px;padding:3px;display:flex}.segmented__option{color:var(--plate-muted);background:0 0;border:none;border-radius:8px;flex:1;padding:8px 10px;font-size:14px;font-weight:600}.segmented__option[aria-pressed=true]{background:var(--plate-card);color:var(--plate-text);box-shadow:0 1px 3px var(--plate-shadow)}.date-stepper{justify-content:space-between;align-items:center;gap:12px;display:flex}.date-stepper__center{flex-direction:column;align-items:center;gap:2px;display:flex}.date-stepper__label{font-size:15px;font-weight:600}.date-stepper__input{color:var(--plate-muted);text-align:center;background:0 0;border:none;padding:0;font-size:13px}.hero{align-items:center;gap:20px;display:flex}.hero__ring{flex:none;place-items:center;width:100px;height:100px;display:grid;position:relative}.hero__ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero__calories{font-family:var(--plate-font-rounded);font-size:26px;font-weight:700;line-height:1.1}.hero__caption{color:var(--plate-muted);font-size:11px;font-weight:500}.hero__macros{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.macro-row{align-items:center;gap:10px;display:flex}.macro-row__text{flex-direction:column;gap:1px;min-width:0;display:flex}.macro-row__label{font-size:14px;font-weight:600}.macro-row__value{color:var(--plate-muted);font-size:12px}.quick-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.quick-stat{background:var(--plate-card);border-radius:var(--plate-radius);text-align:center;border:none;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;display:flex}.quick-stat__label{color:var(--plate-muted);font-size:11px;font-weight:500}.quick-stat__value{font-size:15px;font-weight:700}.meal{flex-direction:column;display:flex}.meal__header{justify-content:space-between;align-items:center;padding:0 4px 8px;display:flex}.meal__title{align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.meal__subtotal{color:var(--plate-muted);font-size:12px;font-weight:500}.meal__list{background:var(--plate-card);border-radius:var(--plate-radius);overflow:hidden}.meal__empty{background:var(--plate-card);border-radius:var(--plate-radius);width:100%;color:var(--plate-muted);border:none;padding:20px 16px;font-size:14px}.meal__add{align-self:flex-start;margin-top:8px;font-size:13px}.entry-row{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.entry-row+.entry-row{border-top:1px solid var(--plate-separator)}.entry-row__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.entry-row__name{font-size:14px}.entry-row__detail{color:var(--plate-muted);font-size:12px}.entry-row__calories{color:var(--plate-muted);flex:none;font-size:12px;font-weight:500}.tabbar{background:var(--plate-card);border-top:1px solid var(--plate-separator);width:100%;max-width:560px;padding-bottom:var(--plate-safe-bottom);z-index:20;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar__item{color:var(--plate-muted);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 10px;font-size:11px;font-weight:500;display:flex}.tabbar__item[aria-current=page]{color:var(--plate-brand)}.tabbar__glyph{font-size:20px;line-height:1}.fab{bottom:calc(76px + var(--plate-safe-bottom));background:var(--plate-brand);color:#fff;z-index:21;border:none;border-radius:50%;place-items:center;width:60px;height:60px;font-size:30px;font-weight:500;line-height:1;display:grid;position:fixed;left:50%;transform:translate(calc(264px - 100%));box-shadow:0 4px 16px #2fa36b66}@media (width<=560px){.fab{left:auto;right:16px;transform:none}}.sheet-backdrop{background:var(--plate-scrim);z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--plate-background);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:560px;max-height:92vh;animation:.22s ease-out sheet-in;display:flex;overflow:hidden}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet__bar{border-bottom:1px solid var(--plate-separator);background:var(--plate-card);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.sheet__title{text-align:center;flex:1;margin:0;font-size:16px;font-weight:600}.sheet__action{color:var(--plate-brand);background:0 0;border:none;min-width:64px;padding:0;font-size:15px;font-weight:600}.sheet__action--leading{text-align:left}.sheet__action--trailing{text-align:right}.sheet__action:disabled{color:var(--plate-muted);opacity:.6}.sheet__body{-webkit-overflow-scrolling:touch;flex-direction:column;gap:16px;padding:16px;display:flex;overflow-y:auto}.group{flex-direction:column;gap:8px;display:flex}.group__header{letter-spacing:.06em;text-transform:uppercase;color:var(--plate-muted);padding:0 4px;font-size:12px;font-weight:600}.group__footer{color:var(--plate-muted);padding:0 4px;font-size:12px}.group__body{background:var(--plate-card);border-radius:var(--plate-radius);flex-direction:column;gap:12px;padding:14px;display:flex}.group__body--flush{padding:0;overflow:hidden}.list-row{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:13px 14px;display:flex}.list-row+.list-row{border-top:1px solid var(--plate-separator)}.list-row__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.list-row__title{font-size:15px;font-weight:500}.list-row__detail{color:var(--plate-muted);font-size:12px}.list-row__trailing{color:var(--plate-muted);flex:none;font-size:12px}.inline-row{align-items:center;gap:10px;display:flex}.inline-row>.input{flex:1}.food-card{background:var(--plate-card);border-radius:var(--plate-radius);text-align:left;border:none;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.food-card__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.food-card__name{align-items:center;gap:5px;font-size:14px;font-weight:500;display:flex}.food-card__brand{color:var(--plate-muted);font-size:12px}.food-card__calories{text-align:right;flex:none}.food-card__calories strong{font-size:15px;display:block}.food-card__calories span{color:var(--plate-muted);font-size:11px}.recipe-card{background:var(--plate-card);border-radius:var(--plate-radius);text-align:left;border:none;flex-direction:column;gap:10px;width:100%;padding:16px;display:flex}.recipe-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recipe-card__name{font-size:14px;font-weight:600}.recipe-card__meta{color:var(--plate-muted);font-size:12px}.recipe-card__calories{color:var(--plate-brand);flex:none;font-size:17px;font-weight:600}.macro-tags{gap:12px;font-size:12px;font-weight:500;display:flex}.stepper-card{flex-direction:column;align-items:center;gap:12px;display:flex}.stepper-card__row{align-items:center;gap:20px;display:flex}.stepper-card__value{font-family:var(--plate-font-rounded);text-align:center;min-width:130px;font-size:40px;font-weight:800;line-height:1}.macro-target{align-items:center;gap:12px;display:flex}.macro-target__label{flex:1;min-width:0}.macro-target__name{font-size:14px;font-weight:600}.macro-target__kcal{color:var(--plate-muted);font-size:12px}.macro-target__value{font-family:var(--plate-font-rounded);text-align:center;min-width:62px;font-size:18px;font-weight:700}.macro-target__controls{flex:none;align-items:center;gap:8px;display:flex}.btn-icon--sm{width:32px;height:32px;font-size:17px}.calorie-split{color:var(--plate-muted);border-top:1px solid var(--plate-separator);justify-content:space-between;padding-top:4px;font-size:12px;display:flex}.big-number{font-family:var(--plate-font-rounded);text-align:center;font-size:40px;font-weight:800;line-height:1.05}.macro-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.macro-tile{background:var(--plate-card);border-radius:var(--plate-radius);text-align:center;flex-direction:column;gap:2px;padding:14px 8px;display:flex}.macro-tile__value{font-family:var(--plate-font-rounded);font-size:20px;font-weight:700}.macro-tile__label{color:var(--plate-muted);font-size:11px;font-weight:500}.onboarding{background:var(--plate-background);z-index:60;padding:32px 24px calc(32px + var(--plate-safe-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.onboarding__glyph{font-size:72px;line-height:1}.onboarding__title{margin:0;font-size:28px;font-weight:700}.onboarding__body{color:var(--plate-muted);max-width:34ch;margin:0;font-size:15px;line-height:1.5}.onboarding__dots{gap:8px;display:flex}.onboarding__dot{background:var(--plate-separator);border:none;border-radius:50%;width:8px;height:8px;padding:0}.onboarding__dot[aria-current=true]{background:var(--plate-brand)}.onboarding__actions{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.scanner__video{aspect-ratio:4/3;border-radius:var(--plate-radius);object-fit:cover;background:#000;width:100%}.splash{min-height:100vh;color:var(--plate-muted);place-items:center;font-size:14px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.serving-picker{flex-direction:column;gap:8px;display:flex}.serving-picker__readout{margin:0;font-size:14px}.serving-picker__readout strong{font-family:var(--plate-font-rounded);font-size:18px}.budget-row{justify-content:space-between;align-items:center;gap:4px;padding:14px 12px;display:flex}.budget-row__term{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.budget-row__label{color:var(--plate-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:500}.budget-row__value{font-family:var(--plate-font-rounded);font-size:15px;font-weight:600}.budget-row__value--strong{color:var(--plate-brand);font-size:19px;font-weight:800}.budget-row__value--over{color:var(--plate-danger)}.budget-row__op{color:var(--plate-muted);flex:none;font-size:13px}.meal__actions{gap:16px;margin-top:8px;font-size:13px;display:flex}.nutrition-panel{flex-direction:column;gap:10px;display:flex}.nutrition-table{border-collapse:collapse;width:100%;font-size:14px}.nutrition-table th{text-align:left;padding:6px 0;font-weight:500}.nutrition-table__dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.nutrition-table__value{text-align:right;font-family:var(--plate-font-rounded);white-space:nowrap;padding:6px 6px 6px 0;font-weight:600}.nutrition-table__value--over{color:var(--plate-danger)}.nutrition-table__target{text-align:right;white-space:nowrap;width:1%;font-size:12px}.nutrition-table__divider td{border-top:1px solid var(--plate-separator);height:8px;padding:0}.chart{flex-direction:column;gap:8px;margin:8px 0;display:flex}.chart__svg{width:100%;display:block;overflow:visible}.chart__caption{color:var(--plate-muted);margin:0;font-size:12px}.split{flex-direction:column;gap:8px;margin:10px 0;display:flex}.split__bar{background:var(--plate-background);border-radius:6px;height:12px;display:flex;overflow:hidden}.split__segment{height:100%;display:block}.split__legend{color:var(--plate-muted);flex-wrap:wrap;gap:12px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.split__dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}@media (width<=420px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{background:var(--plate-background);border-radius:var(--plate-radius-sm);text-align:center;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;display:flex}.stat__label{color:var(--plate-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:500}.stat__value{font-family:var(--plate-font-rounded);font-size:15px;font-weight:700}
