@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.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:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.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:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.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}.health-settings-page{gap:1.5rem;max-width:46rem;display:grid}.health-settings-form{gap:1.35rem;display:grid}.health-settings-form__grid{gap:1rem;display:grid}.health-settings-field{gap:.4rem;display:grid}.health-settings-field label{font-weight:800}.health-settings-field__error,.health-settings-form__error{color:var(--danger);margin:0;font-size:.9rem;font-weight:700}.health-settings-conflict{border:1px solid var(--border);background:var(--canvas-deep);border-radius:1rem;padding:1rem}.health-settings-conflict p{margin:.45rem 0}.health-settings-form__save,.health-settings-conflict .text-button{min-height:2.75rem}.health-settings-form__save{justify-self:start;min-width:9rem}.goal-summary{border-radius:var(--radius-large);background:var(--canvas-deep);gap:1.25rem;padding:clamp(1.1rem,4vw,1.6rem);display:grid}.goal-summary__header,.goal-metric__heading,.goal-metric__unset{justify-content:space-between;align-items:center;gap:1rem;display:flex}.goal-summary__header h2,.goal-metric h3,.goal-metric__value,.goal-summary__status{margin:0}.goal-summary__settings,.goal-metric__unset a{min-height:2.75rem;color:var(--ink);align-items:center;font-weight:800;display:inline-flex}.goal-summary__primary{gap:1rem;display:grid}.goal-metric{background:var(--paper);border-radius:1rem;gap:.65rem;padding:1rem;display:grid}.goal-metric__heading span{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-weight:800}.goal-metric__value,.goal-metric__unset strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.goal-progress{border:1px solid var(--border);background:var(--canvas);border-radius:999px;height:.7rem;overflow:hidden}.goal-progress span{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.goal-summary__macros{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.goal-summary__macros div{border-top:1px solid var(--border);padding-top:.75rem}.goal-summary__macros dt{color:var(--ink-muted);font-size:.85rem}.goal-summary__macros dd{font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-weight:800}.goal-summary__status{color:var(--ink-muted)}@media (width>=42rem){.health-settings-form__grid,.goal-summary__primary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.goal-progress span{transition:none}}.water-card,.water-log,.water-page>aside{background:var(--paper);border:1px solid var(--border);color:var(--ink);border-radius:1.5rem;padding:1.25rem}.water-card__total{margin:.35rem 0;font-size:1.75rem}.water-card__progress{background:color-mix(in srgb,var(--ink) 10%,var(--paper));border-radius:999px;height:.7rem;overflow:hidden}.water-card__progress span{background:var(--action-lime);height:100%;display:block}.water-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0;display:grid}.water-card button,.water-log button,.water-entry-form button{border:1px solid var(--ink);background:var(--paper);min-height:44px;color:var(--ink);border-radius:.85rem;padding:.65rem .9rem;font-weight:800}.water-card__actions button{border-radius:999px}.water-card__actions button span{font-size:.75rem;display:block}.water-card__status{font-weight:700}.water-card__log-link,.water-log nav a{color:var(--ink);align-items:center;min-height:44px;font-weight:800;display:inline-flex}.water-card__log-link{margin-top:1rem}.water-entry-form{gap:1rem;margin-top:1rem;display:grid}.water-entry-form>div{gap:.35rem;display:grid}.water-entry-form input{background:var(--paper);border:1px solid var(--border);color:var(--ink);border-radius:.65rem;min-height:44px;padding:.65rem}.water-entry-form button[type=submit]{background:var(--primary);border-color:var(--primary-deep);color:var(--paper)}.water-entry-form button[type=submit]:hover:not(:disabled){background:var(--primary-hover)}.water-log header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.25rem 1rem;display:grid}.water-log header .eyebrow{grid-column:1/-1;margin:0}.water-log header h1{margin:0;font-size:2rem;line-height:1.05}.water-log header>strong{white-space:nowrap;font-size:1.15rem}.water-log nav{grid-template-columns:1fr 1fr;align-items:center;margin:1rem 0;display:grid}.water-log nav time{grid-area:1/1/auto/-1;justify-self:center}.water-log nav a{grid-row:2}.water-log nav a:first-child{grid-column:1;justify-self:start}.water-log nav a:last-child{grid-column:2;justify-self:end}.water-log ul{margin:0;padding:0;list-style:none}.water-log li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;min-height:72px;display:flex}.water-log li span{gap:1rem;display:flex}.water-log li button{background:0 0}.water-page{gap:1rem;padding-bottom:7rem;display:grid}@media (width>=75rem){.water-page{grid-template-columns:minmax(0,2fr) minmax(18rem,1fr)}.water-log{grid-row:span 2}}.add-hub,.saved-meals-page{gap:2rem;min-width:0;display:grid}.add-hub__choices{gap:1rem;display:grid}.add-choice{min-height:8rem;color:var(--ink);box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.3rem;text-decoration:none;transition:border-color .16s,background-color .16s;display:grid}.add-choice:hover{border-color:var(--ink);background:var(--canvas-deep)}.add-choice__icon{background:var(--action-lime);border-radius:1rem;place-items:center;width:3.5rem;height:3.5rem;display:grid}.add-choice:nth-child(2) .add-choice__icon{background:color-mix(in srgb, var(--primary) 24%, var(--paper))}.add-choice strong{margin-bottom:.35rem;font-size:1.3rem;font-weight:900;display:block}.add-choice .muted-copy{line-height:1.45;display:block}.secondary-button{border:1px solid var(--ink);background:var(--paper);min-height:2.75rem;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.65rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.secondary-button:hover{background:var(--canvas-deep)}.inline-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:1.6rem;font-weight:900}.section-heading a{min-height:2.75rem;color:var(--ink);align-items:center;font-weight:800;display:inline-flex}.saved-meals-panel{min-width:0}.saved-meal-grid{gap:.85rem;display:grid}.saved-meal-card{min-width:0;box-shadow:none;flex-direction:column;align-items:stretch;gap:.7rem;padding:1.15rem;display:flex}.saved-meal-card__heading{align-items:start;gap:.55rem;display:flex}.saved-meal-card__heading svg{color:var(--primary-hover);flex-shrink:0;margin-top:.15rem}.saved-meal-card h3{overflow-wrap:anywhere;margin:0;font-size:1.15rem}.saved-meal-card__nutrients{flex-wrap:wrap;align-items:baseline;gap:.65rem;margin:.2rem 0;display:flex}.saved-meal-card__nutrients strong{font-size:1.5rem}.saved-meal-card__nutrients small{font-size:.75rem}.saved-meal-card__nutrients span,.saved-meal-card__source{font-size:.8rem}.saved-meal-card__source{margin:0 0 .3rem}.saved-meal-card>.repeat-action{margin-top:auto}.repeat-action{gap:.6rem;display:grid}.repeat-action button{min-height:2.75rem}.repeat-action .lime-action{cursor:pointer;border:0}.water-entry-form button[type=submit]{color:var(--ink)}.water-entry-form button[type=submit]:hover:not(:disabled){color:var(--paper)}.saved-meals-panel .inline-actions a{color:var(--ink);font-weight:800}.saved-meal-card__management{border-top:1px solid var(--border);padding-top:.5rem}.saved-meal-card__management>.text-button{margin-right:.5rem}.saved-meal-card__management form,.save-meal-form{gap:.65rem;display:grid}.save-meal-form label,.saved-meal-card__management label{font-weight:800}.save-meal-form p{margin:0}.saved-meals-more{margin-top:1rem}.saved-meals-panel .text-button,.favourite-entry-actions .text-button{min-height:2.75rem}.favourite-entry-actions{border-block:1px solid var(--border);gap:.85rem;margin-block:1rem;padding-block:1.15rem;display:grid}.source-badge--repeat{background:var(--action-lime)}.entry-detail__placeholder{border-radius:var(--radius-large);background:var(--canvas-deep);place-items:center;min-height:10rem;font-size:3rem;display:grid}.journal-page-header>.lime-action{margin-top:1rem}.today-page__grid>.saved-meals-panel,.today-page__grid>.today-timeline{margin-top:.6rem}.daily-panel-refresh-error{color:var(--danger);margin:.5rem 0}@media (width>=36rem){.saved-meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=75rem){.add-hub__choices{grid-template-columns:repeat(2,minmax(0,1fr))}.today-page__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"goals favourites""water timeline";column-gap:1.4rem}.today-goals{grid-area:goals;min-width:0}.today-water{grid-area:water;min-width:0}.today-page__grid>.saved-meals-panel{grid-area:favourites;margin-top:0}.today-page__grid>.today-timeline{grid-area:timeline;margin-top:0}.today-goals .goal-summary__primary{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.add-choice{transition:none}}.progress-panel{border:1px solid var(--border,#d9e0d2);background:var(--surface,#fff);border-radius:24px;min-width:0;padding:clamp(18px,4vw,32px)}.progress-panel--compact{grid-column:1/-1}.progress-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.progress-header h1,.progress-header h2{margin:4px 0}.progress-controls{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.progress-controls button{color:#28352b;cursor:pointer;background:#fff;border:1px solid #cdd6c6;border-radius:999px;padding:10px 16px}.progress-controls button[aria-pressed=true]{color:#fff;background:#273d2c;border-color:#273d2c}.progress-summary{flex-direction:column;gap:4px;margin-top:24px;display:flex}.progress-summary strong{font-variant-numeric:tabular-nums;font-size:2rem}.progress-summary span,.progress-timezone{color:#52614f;font-size:.85rem}.progress-coverage{flex-wrap:wrap;gap:8px 20px;margin:16px 0;font-size:.85rem;display:flex}.progress-chart-scroll{padding-bottom:6px;overflow-x:auto}.progress-chart{align-items:stretch;gap:6px;display:flex}.progress-chart--month{min-width:900px}.progress-day{cursor:pointer;color:#273d2c;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;padding:5px 2px;display:flex}.progress-day:hover,.progress-day[aria-pressed=true]{background:#f0f5e9;border-color:#779664}.progress-day:focus-visible{outline-offset:2px;outline:3px solid #315c42}.progress-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.7rem}.progress-track{background:#f1f4ed;border-radius:7px;align-items:flex-end;width:min(100%,36px);height:140px;display:flex;overflow:hidden}.progress-bar{fill:#769d52}.progress-day--missing .progress-track{background:repeating-linear-gradient(135deg,#f4f5f1,#f4f5f1 5px,#e5e9e0 5px 6px)}.progress-date{font-size:.7rem}.progress-panel--compact .progress-track{height:80px}.progress-drilldown{background:#f3f6ed;border-radius:14px;gap:10px;margin-top:16px;padding:16px;display:grid}.progress-drilldown div{gap:24px;display:flex}.progress-drilldown a{text-underline-offset:3px;text-decoration:underline}.progress-food-day{gap:18px;display:grid}@media (width<=420px){.progress-value{font-size:.6rem}.progress-chart{gap:2px}.progress-date{font-size:.65rem}}.reminder-settings{gap:1.5rem;max-width:46rem;display:grid}.reminder-settings__card{border:1px solid var(--border);background:var(--paper);border-radius:1.5rem;gap:1rem;padding:1.5rem;display:grid}.reminder-settings__card h2,.reminder-settings__card p{margin:0}.reminder-settings__card h2{font-size:1.2rem}.reminder-settings__card p{line-height:1.6}.reminder-settings__card form{gap:1rem;display:grid}.reminder-settings__fields{border:0;gap:1rem;min-width:0;margin:0;padding:0;display:grid}.reminder-settings__schedule{background:var(--canvas-deep);border-radius:1rem;gap:.75rem;padding:1rem;display:grid}.reminder-settings__schedule label{flex-wrap:wrap;align-items:center;gap:.65rem;font-weight:700;display:flex}.reminder-settings__schedule input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--primary)}.reminder-settings__schedule input[type=time]{width:10rem;min-width:0;max-width:100%}.reminder-settings__saved{font-size:.9rem}.reminder-settings__error{color:var(--danger);font-weight:700}.reminder-settings button{white-space:normal;min-height:44px}.reminder-settings button:disabled{opacity:.55;cursor:not-allowed}.reminder-settings__skip{align-items:center;gap:.65rem;font-weight:700;line-height:1.6;display:flex}.reminder-settings__skip input{width:1.2rem;height:1.2rem;accent-color:var(--primary);flex-shrink:0}.reminder-settings__routine-actions{flex-wrap:wrap;gap:.75rem;display:flex}.reminder-settings__deadlines{overflow-wrap:anywhere;gap:.5rem;font-size:.9rem;display:grid}@media (width<=480px){.reminder-settings__card{padding:1rem}}.wellness-panel{border:1px solid var(--border,#d9e0d2);background:var(--surface,#fff);border-radius:24px;min-width:0;padding:clamp(18px,4vw,32px)}.wellness-panel a:not(.text-button){color:var(--ink);text-underline-offset:3px;font-weight:700}.wellness-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.wellness-header h1{margin:4px 0}.wellness-today{grid-column:1/-1}.wellness-today h2{margin:4px 0}.wellness-today .wellness-actions a{text-underline-offset:3px;text-decoration:underline}.wellness-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;padding:0;display:grid}.wellness-fields legend{margin-bottom:18px;font-weight:700}.wellness-field{flex-direction:column;gap:8px;font-size:.9rem;font-weight:650;display:flex}.wellness-field input,.wellness-field select{color:#28352b;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #bfcbbb;border-radius:12px;min-height:46px;padding:12px}.wellness-field input:focus-visible,.wellness-field select:focus-visible,.wellness-panel button:focus-visible,.wellness-panel a:focus-visible{outline-offset:3px;outline:3px solid #315c42}.wellness-sleep{grid-template-columns:1fr 1fr;gap:12px;display:grid}.wellness-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.wellness-meta{color:#52614f;margin:16px 0;font-size:.85rem}.wellness-error{background:#fff3e7;border:1px solid #c98954;border-radius:12px;margin:16px 0;padding:16px}.wellness-error p{margin:0 0 10px}.wellness-saved{background:#f3f6ed;border-radius:12px;margin:16px 0;padding:14px}.wellness-saved summary{cursor:pointer;font-weight:650}.wellness-saved div{gap:8px;margin-top:12px;font-size:.85rem;display:grid}.wellness-saved p{margin:0}.wellness-draft{color:#52614f;font-size:.85rem}.wellness-summary{grid-template-columns:1fr 1fr;gap:24px;margin:28px 0;display:grid}.wellness-summary>div{flex-direction:column;gap:8px;display:flex}.wellness-summary strong{font-variant-numeric:tabular-nums;font-size:1.7rem}.wellness-summary span,.wellness-summary small{color:#52614f}.wellness-chart-scroll,.wellness-table-scroll{overflow-x:auto}.wellness-weight-chart{width:100%;min-width:540px;display:block}.wellness-chart-guide{stroke:#e8ede3;stroke-width:1px}.wellness-chart-point{fill:#315c42}.wellness-chart-gap,.wellness-chart-date{fill:#52614f;font-size:10px}.wellness-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:16px 0}.wellness-table caption{text-align:left;margin-bottom:12px;font-weight:700}.wellness-table th,.wellness-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e0e6da;padding:12px 10px}.wellness-table tbody th{font-weight:500}.wellness-table a{text-underline-offset:3px;text-decoration:underline}@media (width<=560px){.wellness-fields,.wellness-summary{grid-template-columns:1fr}.wellness-header{align-items:flex-start}.wellness-header h1{font-size:1.6rem}}.weekly-review{gap:1rem;max-width:64rem;margin:0 auto;display:grid}.weekly-review a:not(.text-button){color:var(--ink);text-underline-offset:3px;font-weight:700}.weekly-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.weekly-header h1,.weekly-review h2,.weekly-range{margin:0}.weekly-range{font-weight:700}.weekly-coverage{background:var(--surface-soft,#f3f4ef);border-radius:1rem;flex-wrap:wrap;gap:.65rem 1.25rem;padding:1rem;display:flex}.weekly-means{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:0 0 .5rem;display:grid}.weekly-means>div{border:1px solid var(--border,#e0e3db);background:var(--surface,#fff);border-radius:1rem;padding:1.2rem}.weekly-means dt{margin-bottom:.5rem;font-weight:700}.weekly-means dd{margin:.3rem 0 0}.weekly-means dd:first-of-type{font-size:1.35rem;font-weight:800}.weekly-days{gap:.65rem;display:grid}.weekly-day{border:1px solid var(--border,#e0e3db);background:var(--surface,#fff);border-radius:1rem;padding:1rem 1.2rem}.weekly-day summary{cursor:pointer;padding:.3rem 0;font-weight:800}.weekly-day-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.weekly-day-values dt{font-weight:700}.weekly-day-values dd{margin:.35rem 0 0}.weekly-day-links{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.weekly-day-links a{padding:.4rem 0}@media (width<=600px){.weekly-means{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-day-values{grid-template-columns:1fr}.weekly-header{align-items:flex-start}.weekly-header h1{font-size:1.65rem}}@media (width<=360px){.weekly-means{grid-template-columns:1fr}}:root{--canvas:#f4f1e8;--canvas-deep:#ebe7db;--paper:#fffdf8;--ink:#171a17;--ink-muted:#6f746d;--primary:#ff5d4a;--primary-deep:#d94334;--primary-hover:#c7372a;--action-lime:#d9ff63;--success:#16865d;--danger:#c9414d;--border:color-mix(in srgb, var(--ink) 14%, transparent);--shadow-lift:0 18px 45px #171a171f;--radius-large:1.5rem;--safe-area-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);min-width:20rem;min-height:100dvh;color:var(--ink);margin:0;font-family:Nunito Sans Variable,sans-serif}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.app-shell{min-height:100dvh;padding:max(1.5rem, env(safe-area-inset-top,0px)) max(1.25rem, env(safe-area-inset-right,0px)) calc(1.5rem + var(--safe-area-bottom)) max(1.25rem, env(safe-area-inset-left,0px));place-items:center;display:grid}.surface{border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow-lift);background:#fffdf8eb}.loading-surface{width:min(100%,30rem);padding:clamp(2rem,8vw,4rem)}.brand-logo{color:var(--ink);letter-spacing:-.08em;font-size:clamp(2.25rem,9vw,4.5rem);font-weight:900;line-height:.9;text-decoration:none}.muted-copy{color:var(--ink-muted)}.primary-button{background:var(--primary);min-height:2.75rem;color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.1rem;font-weight:800;transition:background-color .16s,transform .16s}.primary-button:hover{background:var(--primary-hover);color:var(--paper)}.primary-button:active{transform:translateY(1px)}.field{border:1px solid var(--border);background:var(--paper);width:100%;min-height:2.75rem;color:var(--ink);border-radius:.75rem;padding:.7rem .85rem}.eyebrow{color:var(--primary-hover);letter-spacing:.11em;text-transform:uppercase;margin:0 0 .35rem;font-size:.76rem;font-weight:900}.sign-in-page{background:radial-gradient(circle at 85% 12%, #ff5d4a29, transparent 24rem), var(--canvas)}.sign-in-card{gap:1.6rem;width:min(100%,29rem);padding:clamp(1.5rem,8vw,3.5rem);display:grid}.sign-in-card h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,8vw,3.35rem);line-height:.98}.google-sign-in__button{width:100%}.google-sign-in__status{min-height:1.5rem;color:var(--danger);margin:.5rem 0 0}.sign-in-card__privacy{margin:0;font-size:.84rem}.sign-in-card__privacy a{color:currentColor;font-weight:800}.protected-shell{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) 1rem calc(7rem + var(--safe-area-bottom))}.protected-shell__rail{gap:1rem;margin-bottom:1rem;display:grid}.protected-shell__rail .brand-logo{font-size:2.5rem}.protected-shell__intro{display:none}.protected-shell__content{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--paper);min-width:0;box-shadow:var(--shadow-lift);padding:clamp(1.25rem,5vw,3rem)}.protected-shell__capture{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.app-navigation{z-index:10;right:max(.75rem, env(safe-area-inset-right,0px));bottom:calc(.75rem + var(--safe-area-bottom));left:max(.75rem, env(safe-area-inset-left,0px));border:1px solid var(--border);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#fffdf8f0;border-radius:1.35rem;grid-template-columns:repeat(3,1fr);align-items:end;gap:.35rem;padding:.45rem;display:grid;position:fixed}.app-navigation__link{min-height:3.25rem;color:var(--ink);border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;font-size:.76rem;font-weight:800;text-decoration:none;display:flex}.app-navigation__capture{background:var(--action-lime);min-height:4rem;font-size:.82rem;box-shadow:0 8px 18px #171a1724}.app-navigation__link[aria-current=page]{box-shadow:inset 0 0 0 2px var(--primary-deep)}.text-button{min-height:2.75rem;color:var(--ink-muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;font-weight:800;text-decoration:underline}.capture-page{gap:clamp(1.5rem,6vw,4rem);min-height:min(100%,42rem);display:grid}.capture-page__intro{align-self:center;max-width:30rem}.capture-page__intro h1{letter-spacing:-.075em;margin:0;font-size:clamp(2.6rem,13vw,5.8rem);font-weight:900;line-height:.88}.capture-page__intro .muted-copy{margin:1rem 0 0;font-size:1.05rem}.capture-page__surface{padding:clamp(1.25rem,5vw,2.5rem)}.capture-input{gap:1rem;display:grid}.food-text-input{border-top:1px solid var(--border);padding-top:.75rem}.food-text-input__toggle{font-size:.9rem}.food-text-input__form{gap:.65rem;margin-top:.75rem;display:grid}.food-text-input__form label{font-weight:800}.food-text-input__form textarea{resize:vertical;border:1px solid var(--border);background:var(--paper);width:100%;min-width:0;color:var(--ink);border-radius:1rem;padding:.85rem;font-size:1rem}.food-text-input__form textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.food-text-input__form p{margin:0;font-size:.9rem}.food-text-input__count{text-align:right;font-size:.8rem}.capture-context{text-align:left;grid-column:1/-1;gap:.65rem;width:100%;min-width:0;display:grid}.capture-context label{font-weight:800}.capture-context textarea{resize:vertical;border:1px solid var(--border);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:1rem;padding:.85rem}.capture-context textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.food-text-image{border:1px dashed var(--border);border-radius:1rem;gap:.75rem;padding:1rem;display:grid}.food-text-image .capture-input__selected>button{grid-column:1/-1;justify-self:start}.capture-input h2{letter-spacing:-.04em;margin:0;font-size:1.45rem}.capture-input>.muted-copy{margin:-.55rem 0 0}.capture-input__choices{grid-template-columns:1fr;gap:.75rem;display:grid}.capture-input__choice{border:1px dashed var(--border);background:var(--canvas);min-height:4.5rem;color:var(--ink);cursor:pointer;border-radius:1rem;align-content:center;padding:.9rem 1rem;font-weight:850;display:grid}.capture-input__choice:focus-within{outline:3px solid var(--ink);outline-offset:3px}.capture-input__choice input{opacity:0;width:1px;height:1px;position:absolute}.capture-input__selected{border:2px solid var(--primary);background:var(--paper);border-radius:1rem;grid-template-columns:5rem 1fr;align-items:center;gap:.9rem;padding:.5rem;display:grid;overflow:hidden}.capture-input__selected img,.capture-input__file-card{background:var(--canvas-deep);object-fit:cover;border-radius:.65rem;width:5rem;height:5rem}.capture-input__file-card{color:var(--ink-muted);text-align:center;place-items:center;margin:0;font-size:.75rem;font-weight:800;display:grid}.capture-input__selected p{overflow-wrap:anywhere;margin:0}.capture-input__progress,.capture-input__message{margin:0;font-weight:750}.capture-input__progress{color:var(--primary-hover)}.capture-input__message{color:var(--danger)}.capture-input__actions,.processing-status__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.capture-input__upload{background:var(--action-lime);min-height:3rem;color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:.8rem 1.2rem;font-weight:900}.capture-input__upload:hover:not(:disabled){background:#c9f34b}.capture-input__upload:disabled{cursor:not-allowed;opacity:.55}.processing-status{align-content:center;gap:.9rem;min-height:10rem;display:grid}.processing-status h2,.processing-status p{margin:0}.processing-status h2{letter-spacing:-.05em;font-size:1.7rem}.analysis-loading{border:1px solid var(--border);background:var(--paper);border-radius:1.25rem;align-items:center;gap:1rem;padding:1.25rem;display:flex}.analysis-loading__spinner{border:4px solid color-mix(in srgb, var(--primary) 20%, transparent);border-top-color:var(--primary-deep);border-right-color:var(--primary-deep);border-radius:50%;flex:none;width:2.25rem;height:2.25rem;animation:.9s linear infinite analysis-spin;display:block}.analysis-loading__copy{gap:.4rem;min-width:0;display:grid}.analysis-loading__copy strong{font-size:1rem;line-height:1.35}.analysis-loading__copy p{color:var(--ink-muted);margin:0;font-size:.9rem;line-height:1.5}@keyframes analysis-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.analysis-loading__spinner{animation:none}}.entry-review{gap:1.25rem;display:grid}.entry-review__header{align-items:center;gap:1rem;display:grid}.entry-review__header h1{letter-spacing:-.065em;margin:0;font-size:clamp(2rem,7vw,4.25rem);font-weight:900;line-height:.95}.entry-review__header .muted-copy{max-width:38rem;margin-bottom:0}.entry-review__image{object-fit:cover;border-radius:1.25rem;width:100%;max-height:16rem}.review-disclosure{border-left:.35rem solid var(--primary);background:color-mix(in srgb, var(--primary) 9%, var(--paper));border-radius:.75rem;padding:.9rem 1rem;font-weight:750}.entry-review__layout,.entry-review__editors{gap:1rem;min-width:0;display:grid}.entry-review__summary{align-content:start;gap:1rem;display:grid}.review-item-card,.meal-slot-picker{border:1px solid var(--border);background:var(--paper);border-radius:1.25rem;min-width:0;margin:0;padding:1rem}.review-item-card{box-shadow:0 9px 24px #171a1712}.review-item-card legend,.meal-slot-picker legend{padding:0 .35rem;font-weight:900}.review-item-card__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.review-item-card__remove{color:var(--danger)}.confidence-badge{background:var(--canvas);border-radius:999px;align-items:center;gap:.4rem;min-height:2.75rem;padding:.55rem .8rem;font-size:.86rem;font-weight:850;display:inline-flex}.confidence-badge--low{border:2px solid var(--primary-deep)}.review-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.review-field-grid--wide{grid-template-columns:1fr;margin-bottom:.8rem}.review-field{gap:.35rem;min-width:0;font-size:.86rem;font-weight:800;display:grid}.review-field__error{color:var(--danger);margin:0;font-size:.82rem;font-weight:800}.review-field__error:empty{display:none}.label-quantity{gap:.4rem;margin-top:1rem;display:grid}.macro-summary{background:var(--ink);color:var(--paper);border-radius:1.25rem;padding:1.1rem}.macro-summary h2{color:var(--paper);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,7vw,3rem)}.macro-summary dl{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0 0;display:grid}.macro-summary dl div{min-width:0}.macro-summary dt{color:#fffdf8ad;font-size:.7rem}.macro-summary dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.8rem;font-weight:850}.meal-slot-picker>div{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.meal-slot-picker label{display:block;position:relative}.meal-slot-picker input{opacity:0;position:absolute}.meal-slot-picker span{border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:.8rem;place-items:center;min-height:2.75rem;font-weight:850;display:grid}.meal-slot-picker input:checked+span{border-color:var(--primary-deep);background:color-mix(in srgb, var(--primary) 12%, var(--paper));box-shadow:inset 0 0 0 1px var(--primary-deep)}.meal-slot-picker input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}.entry-review__status{color:var(--danger);margin:0;font-weight:800}.confirm-button,.refresh-button{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;min-height:2.75rem;padding:.75rem 1rem;font-weight:900;display:inline-flex}.confirm-button{background:var(--action-lime);color:var(--ink);border:0}.confirm-button:hover:not(:disabled){background:#c9f34b}.confirm-button:disabled{cursor:not-allowed;opacity:.58}.refresh-button{border:1px solid var(--ink);background:var(--paper);color:var(--ink)}.review-loader{place-items:center;gap:1rem;min-height:16rem;display:grid}.today-page,.history-page,.entry-detail,.history-list{gap:clamp(1.25rem,4vw,2.5rem);min-width:0;display:grid}.journal-page-header h1,.entry-detail__header h1{letter-spacing:-.075em;overflow-wrap:anywhere;max-width:14ch;margin:0;font-size:clamp(2.8rem,10vw,6.5rem);font-weight:950;line-height:.88}.journal-page-header .muted-copy{max-width:38rem;margin:.9rem 0 0}.today-page__grid{gap:1rem;min-width:0;display:grid}.daily-summary{border:1px solid var(--border);border-radius:var(--radius-large);background:radial-gradient(circle at 90% 5%, #ff5d4a2e, transparent 12rem), var(--canvas);align-content:start;padding:clamp(1.25rem,5vw,2.25rem)}.daily-summary h2{margin:0;font-size:1rem}.daily-summary__calories{align-items:end;gap:.55rem;margin:clamp(1.5rem,5vw,3.2rem) 0;display:flex}.daily-summary__calories strong{letter-spacing:-.085em;font-size:clamp(4.25rem,18vw,8.5rem);font-weight:950;line-height:.72}.daily-summary__calories span{color:var(--primary-deep);font-size:1rem;font-weight:900}.daily-summary__macros{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.daily-summary__macros div{border-top:2px solid var(--ink);min-width:0;padding-top:.55rem}.daily-summary__macros dt{color:var(--ink-muted);overflow-wrap:anywhere;font-size:.72rem}.daily-summary__macros dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-size:clamp(.78rem,3vw,1rem);font-weight:900}.today-timeline,.attention-list,.history-day,.entry-detail__items,.entry-detail__summary{min-width:0}.today-timeline>h2,.attention-list h2,.history-day h2,.entry-detail__items h2{letter-spacing:-.045em;margin:0;font-size:clamp(1.4rem,5vw,2rem)}.entry-timeline,.attention-list ul{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.entry-card{border:1px solid var(--border);background:var(--paper);border-radius:1.25rem;min-width:0;position:relative;overflow:hidden}.entry-card--new{border:3px solid var(--primary-deep)}.entry-card>a{min-height:5.5rem;color:var(--ink);grid-template-columns:5rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.45rem .7rem .45rem .45rem;text-decoration:none;display:grid}.entry-card>a:hover{background:color-mix(in srgb, var(--primary) 6%, var(--paper))}.entry-card img{background:var(--canvas-deep);object-fit:cover;border-radius:.9rem;width:5rem;height:5rem}.entry-card__body{gap:.15rem;min-width:0;display:grid}.entry-card__body>strong,.entry-card__body>span{overflow-wrap:anywhere}.entry-card__meta{color:var(--primary-hover);flex-wrap:wrap;gap:.35rem .7rem;font-size:.74rem;font-weight:900;display:flex}.entry-card__calories{color:var(--ink);grid-column:2;font-size:.82rem;font-weight:950}.entry-card__new-label{background:var(--primary-deep);color:var(--paper);border-radius:999px;padding:.25rem .5rem;font-size:.7rem;font-weight:900;position:absolute;top:.45rem;right:.45rem}.journal-empty,.journal-error,.journal-loader{border:1px dashed var(--border);background:var(--canvas);border-radius:1.25rem;place-content:center;justify-items:start;min-height:12rem;padding:clamp(1.25rem,5vw,2.5rem);display:grid}.journal-empty h2,.journal-empty h3,.journal-empty p,.journal-error p{margin:0}.journal-empty p{margin-top:.5rem}.lime-action{background:var(--action-lime);min-height:2.75rem;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;margin-top:1rem;padding:.75rem 1rem;font-weight:900;text-decoration:none;display:inline-flex}.lime-action:hover{background:#c9f34b}.attention-list{border-top:1px solid var(--border);padding-top:clamp(1.25rem,4vw,2rem)}.attention-list header{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.5rem;display:flex}.attention-card{border:1px solid color-mix(in srgb, var(--primary-deep) 45%, var(--border));background:color-mix(in srgb, var(--primary) 5%, var(--paper));border-radius:1.15rem;grid-template-columns:5rem minmax(0,1fr);gap:.85rem;padding:.6rem;display:grid}.attention-card img{background:var(--canvas-deep);object-fit:cover;border-radius:.8rem;width:5rem;height:5rem}.attention-card p{margin:0}.attention-card__status{align-items:center;gap:.45rem;font-weight:900;display:flex}.attention-card__status span{color:var(--primary-deep)}.attention-card .muted-copy{margin:.15rem 0 .35rem;font-size:.82rem}.journal-link{min-height:2.75rem;color:var(--ink);text-underline-offset:.2em;align-items:center;font-weight:900;display:inline-flex}.journal-link--button{cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.journal-link--button:disabled{cursor:not-allowed;opacity:.6}.journal-status{color:var(--danger);margin:.65rem 0 0;font-weight:850}.history-day{gap:.25rem;display:grid}.history-day>header{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding-bottom:.65rem;display:flex}.history-day>header p{color:var(--primary-hover);margin:0;font-weight:950}.load-more-button{border:1px solid var(--ink);background:var(--paper);min-height:2.75rem;color:var(--ink);cursor:pointer;border-radius:999px;justify-self:center;padding:.75rem 1.2rem;font-weight:900}.load-more-button:disabled{cursor:wait;opacity:.6}.entry-detail__header{gap:1rem;min-width:0;display:grid}.entry-detail__header img{aspect-ratio:4/3;background:var(--canvas-deep);object-fit:cover;border-radius:1.25rem;width:100%;height:auto;max-height:28rem}.entry-detail__meta{flex-wrap:wrap;align-items:center;gap:.45rem .8rem;margin:1rem 0 0;font-weight:850;display:flex}.source-badge{border:1px solid var(--ink);border-radius:999px;align-items:center;min-height:2.1rem;padding:.35rem .65rem;display:inline-flex}.detail-disclosure{border-left:.35rem solid var(--primary-deep);background:color-mix(in srgb, var(--primary) 8%, var(--paper));border-radius:.8rem;padding:.9rem 1rem;font-weight:800}.entry-detail__grid{gap:1rem;min-width:0;display:grid}.nutrition-table-wrap{max-width:100%;margin-top:1rem;overflow-x:auto}.nutrition-table-wrap table{border-collapse:collapse;width:100%;min-width:42rem}.nutrition-table-wrap th,.nutrition-table-wrap td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.75rem .6rem}.nutrition-table-wrap thead th{color:var(--ink-muted);font-size:.76rem}.nutrition-table-wrap tbody th{overflow-wrap:anywhere;max-width:16rem}.nutrition-table-wrap small{color:var(--ink-muted);margin-top:.2rem;font-weight:650;display:block}.entry-detail__summary{align-content:start;gap:1rem;display:grid}.delete-entry-trigger,.danger-button{cursor:pointer;border-radius:999px;min-height:2.75rem;padding:.75rem 1rem;font-weight:900}.delete-entry-trigger{border:1px solid var(--danger);background:var(--paper);width:100%;color:var(--danger)}.danger-button{background:var(--danger);color:var(--paper);border:0}.danger-button:disabled,.delete-entry-trigger:disabled{cursor:not-allowed;opacity:.58}.dialog-backdrop{z-index:50;background:#171a1794;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.delete-dialog{border-radius:var(--radius-large);background:var(--paper);width:min(100%,30rem);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-lift);border:0;padding:clamp(1.25rem,5vw,2rem);overflow:auto}.delete-dialog h2{letter-spacing:-.05em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.7rem,7vw,2.4rem)}.delete-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}@media (width>=62rem){.capture-page{grid-template-columns:minmax(18rem,.85fr) minmax(24rem,1fr);align-items:center}.capture-page__surface{align-items:center;min-height:28rem;display:grid}.capture-input__choices{grid-template-columns:1fr 1fr}.entry-review__layout{grid-template-columns:minmax(0,1.45fr) minmax(17rem,.75fr);align-items:start}.entry-review__summary{position:sticky;top:2rem}.review-field-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.today-page__grid{align-items:start}.daily-summary{position:sticky;top:2rem}.entry-card>a{grid-template-columns:7rem minmax(0,1fr) auto}.entry-card img{width:7rem;height:7rem}.entry-card__calories{grid-column:auto;font-size:.95rem}.entry-detail__header{grid-template-columns:minmax(0,1fr) minmax(18rem,.85fr);align-items:end}.entry-detail__grid{grid-template-columns:minmax(0,1.5fr) minmax(17rem,.65fr);align-items:start}.entry-detail__summary{position:sticky;top:2rem}}@media (width>=48rem){.app-shell{padding-inline:3rem}.protected-shell{grid-template-columns:minmax(15rem,20rem) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);max-width:86rem;margin:0 auto;padding:2rem clamp(2rem,5vw,5rem);display:grid}.protected-shell__rail{align-self:start;gap:2rem;position:sticky;top:2rem}.protected-shell__rail .brand-logo{font-size:3.5rem}.protected-shell__intro{display:block}.app-navigation{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;grid-template-columns:1fr;align-items:stretch;padding:0;display:grid;position:static}.app-navigation__link{flex-direction:row;justify-content:flex-start;gap:.75rem;min-height:3.25rem;padding:.75rem 1rem;font-size:.92rem}.app-navigation__capture{min-height:3.75rem}.entry-review__header{grid-template-columns:minmax(0,1fr) minmax(12rem,20rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.demo-banner{background:var(--ink);color:var(--paper);text-align:center;padding:calc(.45rem + env(safe-area-inset-top,0px)) 1rem .45rem;font-size:.75rem;font-weight:800}@media (width<=47.99rem){.protected-shell__rail{grid-template-columns:1fr auto;align-items:center}.protected-shell__rail>form{grid-area:1/2}.protected-shell{padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right))}}
