:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;--background:#f5f7f4;--surface:#fff;--surface-soft:#f0f4ef;--ink:#17201b;--ink-soft:#5e6a63;--line:#dce4de;--primary:#236b4b;--primary-dark:#18513a;--primary-hover:#18513a;--primary-soft:#e0f1e7;--protein:#117b73;--carbs:#4f78d3;--fat:#d18a31;--warning:#8a4b08;--warning-fill:#8a4b08;--warning-soft:#fff1d7;--danger:#a13434;--danger-soft:#fbe9e8;--info-soft:#eaf2f8;--shadow:0 8px 28px #17201b12;--radius:18px;--radius-small:12px;background:var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0f1612;--surface:#18221c;--surface-soft:#202c24;--ink:#eff7f1;--ink-soft:#a9b8ae;--line:#35463b;--primary:#28794d;--primary-dark:#91d8ad;--primary-hover:#20643f;--primary-soft:#173b28;--protein:#65d1c3;--carbs:#8fafff;--fat:#efb463;--warning:#f2bd72;--warning-fill:#8a4b08;--warning-soft:#3a2b16;--danger:#ff9d99;--danger-soft:#41211f;--info-soft:#172f3e;--shadow:0 10px 32px #0000003d}*{box-sizing:border-box}html{background:var(--background);-webkit-text-size-adjust:100%;min-width:320px;min-height:100%}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button,select,summary,input[type=checkbox],input[type=radio],input[type=range]{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #236b4b47}:root[data-theme=dark] button:focus-visible,:root[data-theme=dark] input:focus-visible,:root[data-theme=dark] select:focus-visible,:root[data-theme=dark] textarea:focus-visible,:root[data-theme=dark] summary:focus-visible,:root[data-theme=dark] a:focus-visible{outline-color:#78da9e8c}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:0;font-size:clamp(1.8rem,7vw,2.35rem);line-height:1.06}h2{letter-spacing:-.015em;margin-bottom:0;font-size:1.15rem;line-height:1.25}h3{margin-bottom:0;font-size:.95rem}.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}.skip-link{z-index:1000;color:#fff;background:var(--primary);border-radius:8px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.app-header{z-index:40;min-height:64px;padding:8px max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f7f4f0;border-bottom:1px solid #dce4dee0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.theme-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--primary-dark);background:var(--surface);border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid;box-shadow:0 2px 10px #17201b0f}.theme-toggle:hover{background:var(--primary-soft)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.wordmark{min-height:46px;color:var(--ink);letter-spacing:-.02em;background:0 0;border:0;align-items:center;padding:0;font-weight:760;display:inline-flex}.wordmark__mark{color:#fff;background:var(--primary);letter-spacing:.02em;border-radius:11px;place-items:center;width:36px;height:36px;margin-right:9px;font-size:.72rem;display:inline-grid}.header-action{border:1px solid var(--primary);min-height:40px;color:var(--primary-dark);background:var(--surface);border-radius:999px;padding:8px 13px;font-size:.82rem;font-weight:720}.header-action--urgent{color:var(--warning);background:var(--warning-soft);border-color:#d19148}.app-main{width:min(100%,780px);min-height:calc(100vh - 64px);padding:22px 16px calc(104px + env(safe-area-inset-bottom));margin:0 auto}.app-main--onboarding{width:min(100%,680px);padding-bottom:calc(42px + env(safe-area-inset-bottom))}.app-header--onboarding .wordmark{cursor:default}.onboarding{gap:20px;display:grid}.onboarding__heading{max-width:620px;padding:14px 2px 2px}.onboarding__heading h1{max-width:570px;font-size:clamp(2rem,9vw,3.25rem)}.onboarding__heading>p:last-child{max-width:560px;color:var(--ink-soft);margin:14px 0 0;font-size:.92rem}.onboarding__stepper{margin-top:2px}.onboarding__card{padding:clamp(18px,5vw,28px)}.onboarding-protein{color:#075f58;text-align:center;background:#edf9f7;border:1px solid #afd5cd;border-radius:12px;padding:17px}.onboarding-protein span,.onboarding-protein strong,.onboarding-protein small{display:block}.onboarding-protein span{letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:760}.onboarding-protein strong{margin:5px 0 2px;font-size:1.3rem}.onboarding-protein small{color:#47736a;font-size:.7rem}.onboarding-macro-preview{justify-content:center;margin-top:8px}.page-section{gap:16px;animation:.16s ease-out page-enter;display:grid}.page-heading,.card__heading,.section-heading,.modal-sheet__heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.page-heading{align-items:center;min-height:58px;margin:2px}.diary-date-navigation{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;grid-template-columns:repeat(7,minmax(44px,1fr));gap:6px;padding:3px 2px 7px;display:grid;overflow-x:auto}.diary-date-navigation__day{border:1px solid var(--line);min-width:44px;min-height:74px;color:var(--ink-soft);background:var(--surface);scroll-snap-align:center;border-radius:12px;grid-template-rows:auto auto auto 4px;place-items:center;gap:2px;padding:7px 4px 5px;display:grid}.diary-date-navigation__day:hover:not(.diary-date-navigation__day--selected){color:var(--primary-dark);background:var(--primary-soft);border-color:#b8d2c3}.diary-date-navigation__day>span{letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:760}.diary-date-navigation__day>strong{font-size:1rem;line-height:1}.diary-date-navigation__day>small{font-size:.55rem;font-weight:700}.diary-date-navigation__progress{background:var(--line);border-radius:999px;align-self:end;width:calc(100% - 6px);height:4px;display:block;overflow:hidden}.diary-date-navigation__progress>i{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.diary-date-navigation__day--over .diary-date-navigation__progress>i{background:var(--danger)}.diary-date-navigation__day--future:not(.diary-date-navigation__day--selected){opacity:.62}.diary-date-navigation__day--selected{color:#fff;border-color:var(--primary);background:var(--primary);box-shadow:0 5px 14px #236b4b33}.diary-date-navigation__day--selected .diary-date-navigation__progress{background:#ffffff52}.diary-date-navigation__day--selected .diary-date-navigation__progress>i{background:#fff}.diary-date-navigation__day--selected.diary-date-navigation__day--over .diary-date-navigation__progress>i{background:#ffd2cf}.card__heading>div>p,.card__heading>p,.section-heading>span{color:var(--ink-soft);margin:4px 0 0;font-size:.84rem}.eyebrow{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:760}.card,.calorie-card,.food-result,.menu-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card{padding:18px}.card__heading{margin-bottom:18px}.calorie-card{color:#fff;background:linear-gradient(135deg,#1b6043,#287a56);border-color:#0000;padding:22px;overflow:hidden}.calorie-card__numbers{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.calorie-card__value,.calorie-card__label,.calorie-card__target span{display:block}.calorie-card__value{letter-spacing:-.055em;font-size:clamp(2rem,12vw,3.25rem);font-weight:800;line-height:1}.calorie-card__label{color:#ffffffc7;margin-top:6px;font-size:.85rem}.calorie-card__target{text-align:right;flex-shrink:0;padding-bottom:2px}.calorie-card__target strong{font-size:1.15rem;display:block}.calorie-card__target span{color:#ffffffb8;font-size:.76rem}.calorie-track{background:#fff3;border-radius:99px;height:8px;margin-top:20px;overflow:hidden}.calorie-track span{border-radius:inherit;background:#9be5b4;max-width:100%;height:100%;display:block}.calorie-card__hint{color:#ffffffb8;margin:12px 0 0;font-size:.76rem}.protein-card{background:linear-gradient(#fff,#f3fbf9);border-color:#b9ddd7}.protein-badge,.status-pill{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:.7rem;font-weight:750;display:inline-flex}.protein-badge{color:#075f58;background:#d7f2ee}.status-pill{color:var(--primary-dark);background:var(--primary-soft)}.status-pill--offline{color:#4b5550;background:#e1e5e2}.status-pill--warning{color:var(--warning);background:var(--warning-soft)}.supporting-text,.field-hint{color:var(--ink-soft);font-size:.79rem}.supporting-text{margin:12px 0 0}.field-hint{margin:8px 0 0}.progress+.progress{margin-top:17px}.progress__labels{justify-content:space-between;gap:12px;margin-bottom:7px;font-size:.82rem;font-weight:680;display:flex}.progress__amount{color:var(--ink-soft);font-weight:600}.progress__track{background:#e9eeea;border-radius:99px;height:9px;overflow:hidden}.progress--compact .progress__track{height:7px}.progress__fill{width:var(--progress);border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.progress__fill--protein{background:var(--protein)}.progress__fill--neutral{background:#7c8981}.progress__fill--warning{background:#bd731e}.stack{gap:18px;display:grid}.stack--small{gap:12px}.notice{border-radius:var(--radius-small);border:1px solid;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.notice strong,.notice p{display:block}.notice p{margin:3px 0 0;font-size:.78rem}.notice--warning{color:#653a0b;background:var(--warning-soft);border-color:#edc989}.notice--info{color:#284e68;background:var(--info-soft);border-color:#bed3e1}.notice--neutral{color:#465049;border-color:var(--line);background:var(--surface-soft)}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:11px 16px;font-weight:730;line-height:1.1;display:inline-flex}.button--primary{color:#fff;border-color:var(--primary);background:var(--primary)}.button--primary:hover:not(:disabled){background:var(--primary-hover)}.button--secondary{color:var(--primary-dark);background:var(--primary-soft);border-color:#b8d2c3}.button--ghost{color:var(--ink-soft);border-color:var(--line);background:var(--surface)}.button--warning{color:#fff;border-color:var(--warning-fill);background:var(--warning-fill)}.button--small{min-height:40px;padding:8px 12px;font-size:.8rem}.button--full{width:100%}.button--scan{width:100%;color:var(--ink);background:var(--surface-soft);border:1px dashed #aab8ae;margin-top:10px}.button--scan span{margin-right:8px;font-size:1.15rem}.button-row,.button-grid{flex-wrap:wrap;gap:10px;display:flex}.button-row--split{justify-content:space-between}.button-grid>*{flex:150px}.text-button{min-height:40px;color:var(--primary-dark);background:0 0;border:0;padding:6px 0;font-size:.78rem;font-weight:700}.text-button--danger{color:var(--danger)}.food-view__back{justify-self:start;margin-bottom:-8px}.icon-button{width:44px;height:44px;color:var(--ink-soft);background:var(--surface-soft);border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.4rem;display:inline-grid}.icon-button--danger{color:var(--danger);background:var(--danger-soft)}.empty-state{border-radius:var(--radius-small);color:var(--ink-soft);text-align:center;background:#fbfcfb;border:1px dashed #c8d2ca;padding:28px 18px}.empty-state strong{color:var(--ink);display:block}.empty-state p{max-width:460px;margin:6px auto 15px;font-size:.85rem}.empty-state--compact{padding:20px 14px}.empty-state--chart{box-shadow:none}.meal-list{gap:12px;display:grid}.meal-group{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);overflow:hidden}.meal-group__heading{border-bottom:1px solid var(--line);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.meal-group__heading span{color:var(--ink-soft);font-size:.76rem}.meal-group__title span{margin-top:2px;display:block}.meal-group__actions{align-items:center;gap:8px;display:flex}.meal-group__calories{white-space:nowrap;font-weight:700}.meal-group__action-buttons{gap:5px;display:flex}.meal-action-button{border:1px solid var(--line);width:40px;height:40px;color:var(--ink-soft);background:var(--surface);border-radius:10px;flex:none;place-items:center;padding:0;display:inline-grid}.meal-action-button--add{color:var(--primary-dark);background:var(--primary-soft);border-color:#b8d2c3}.meal-action-button:hover:not(:disabled){color:var(--primary-dark);border-color:var(--primary)}.meal-group__heading .meal-action-icon{width:16px;height:16px;color:inherit;display:block;position:relative}.meal-action-icon--add:before,.meal-action-icon--add:after,.meal-action-icon--copy:before,.meal-action-icon--copy:after{content:"";position:absolute}.meal-action-icon--add:before{background:currentColor;border-radius:2px;width:14px;height:2px;top:7px;left:1px}.meal-action-icon--add:after{background:currentColor;border-radius:2px;width:2px;height:14px;top:1px;left:7px}.meal-action-icon--copy:before,.meal-action-icon--copy:after{border:1.5px solid;border-radius:2px;width:10px;height:11px}.meal-action-icon--copy:before{opacity:.62;top:1px;left:1px}.meal-action-icon--copy:after{bottom:1px;right:1px}.meal-group .entry-list{padding:0 12px}.meal-group__empty{color:var(--ink-soft);margin:0;padding:14px 12px;font-size:.8rem}.entry-list,.food-results,.editable-goals,.macro-key{margin:0;padding:0;list-style:none}.entry-row{border-bottom:1px solid #eef1ee;align-items:center;gap:6px;min-height:58px;display:flex}.entry-row:last-child{border-bottom:0}.entry-row__edit-card{min-width:0;min-height:56px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;padding:8px;display:flex}.entry-row__edit-card:hover:not(:disabled){background:var(--surface-soft)}.entry-row__content{min-width:0}.entry-row__content strong,.entry-row__content span{display:block}.entry-row__content strong{overflow-wrap:anywhere;font-size:.88rem}.entry-row__content span{color:var(--ink-soft);margin-top:2px;font-size:.74rem}.entry-row__delete{width:38px;height:38px}.trash-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.details-panel{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);overflow:hidden}.details-panel summary{min-height:48px;color:var(--ink);padding:13px 14px;font-size:.82rem;font-weight:700}.details-panel summary span{color:var(--ink-soft);font-weight:500}.details-panel[open] summary{border-bottom:1px solid var(--line)}.details-panel__content{padding:14px}.details-panel--nested{background:#fbfcfb;margin-top:18px}.compact-form-grid,.form-grid,.inline-fields,.macro-inputs,.weight-entry-form,.add-goal-form{gap:12px;display:grid}.compact-form-grid{grid-template-columns:1fr 1fr;padding:14px}.field{gap:6px;min-width:0;display:grid}.field>span:first-child,.field>label:first-child,.fieldset legend,.range-field>span:first-child{color:#344039;font-size:.77rem;font-weight:690}.field em{color:var(--ink-soft);font-size:.72rem;font-style:normal;font-weight:500}.field input,.field select,.field textarea,.allocation-day__calories input,.input-with-suffix input{width:100%;min-height:48px;color:var(--ink);background:var(--surface);border:1px solid #b8c4bb;border-radius:10px;padding:10px 12px}.field textarea{resize:vertical}.field small{color:var(--ink-soft);font-size:.72rem}.search-row{gap:8px;display:flex}.search-row__field{flex:1}.search-row .button{flex:none}.food-results{gap:10px;display:grid}.food-result{padding:15px}.food-result__main{justify-content:space-between;gap:12px;display:flex}.food-result__main span,.food-result__main strong{display:block}.food-result__main>div strong{font-size:.92rem}.food-result__main>div span{color:var(--ink-soft);margin-top:2px;font-size:.73rem}.food-result__calories{flex:none;font-size:.87rem}.macro-summary{gap:6px;margin:12px 0;display:flex}.macro-summary span{color:#4f5b53;background:var(--surface-soft);border-radius:7px;padding:4px 7px;font-size:.7rem;font-weight:650}.inline-warning{color:var(--warning);margin:0 0 10px;font-size:.74rem}.food-attribution{color:var(--ink-soft);margin:12px 4px 0;font-size:.72rem}.food-attribution a{color:var(--primary-dark);font-weight:700}.read-only-field{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;min-height:56px;padding:10px 12px;display:block}.read-only-field strong,.read-only-field small{display:block}.read-only-field strong{font-size:.88rem}.read-only-field small{color:var(--ink-soft);margin-top:2px;font-size:.7rem}.modal-backdrop{z-index:100;background:#0c140f8c;justify-content:center;align-items:flex-end;padding-top:42px;display:flex;position:fixed;inset:0}.modal-sheet{width:min(100%,720px);max-height:calc(100vh - 42px);padding:10px 18px calc(24px + env(safe-area-inset-bottom));background:var(--surface);border-radius:22px 22px 0 0;overflow-y:auto;box-shadow:0 -12px 44px #00000029}.modal-sheet--quantity{width:min(100%,560px)}.modal-sheet__handle{background:#cad2cc;border-radius:99px;width:42px;height:4px;margin:0 auto 15px}.modal-sheet__heading{margin-bottom:18px}.quantity-dialog__basis{color:var(--ink-soft);margin:4px 0 0;font-size:.76rem}.modal-actions{padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--surface);justify-content:flex-end;gap:10px;display:flex;position:sticky;bottom:-24px}.copy-dialog__toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.copy-dialog__toolbar p{color:var(--ink);margin:0;font-size:.82rem;font-weight:700}.copy-dialog__toolbar span{color:var(--ink-soft);margin-top:2px;font-size:.7rem;display:block}.copy-calendar{border:0;min-width:0;padding:0}.copy-calendar__months,.copy-calendar__weekdays,.copy-calendar__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.copy-calendar__months{margin-bottom:7px}.copy-calendar__months span{min-width:0;color:var(--ink-soft);background:var(--surface-soft);text-align:center;border-radius:7px;padding:5px 2px;font-size:.7rem;font-weight:750}.copy-calendar__weekdays{margin-bottom:4px}.copy-calendar__weekdays span{color:var(--ink-soft);text-align:center;text-transform:uppercase;font-size:.6rem;font-weight:760}.copy-calendar-day{cursor:pointer;min-width:0;display:block;position:relative}.copy-calendar-day__surface{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;align-content:center;justify-items:center;min-height:74px;padding:17px 2px 5px;transition:border-color .12s,background .12s,transform .12s;display:grid;position:relative}.copy-calendar-day:hover .copy-calendar-day__surface{border-color:#a8c7b5;transform:translateY(-1px)}.copy-calendar-day input:focus-visible+.copy-calendar-day__surface{outline-offset:2px;outline:3px solid #236b4b47}.copy-calendar-day input:checked+.copy-calendar-day__surface{color:var(--primary-dark);border-color:var(--primary);background:var(--primary-soft)}.copy-calendar-day input:disabled+.copy-calendar-day__surface{color:var(--ink-soft);opacity:.68;background:0 0;border-style:dashed}.copy-calendar-day--source{cursor:default}.copy-calendar-day--source:hover .copy-calendar-day__surface{border-color:var(--line);transform:none}.copy-calendar-day__surface strong{font-size:1.05rem;line-height:1}.copy-calendar-day__surface small{min-height:14px;color:var(--ink-soft);margin-top:5px;font-size:.55rem;font-weight:720;line-height:1}.copy-calendar-day__existing{background:var(--primary-soft);border-radius:99px;min-width:20px;padding:2px 4px;color:var(--primary-dark)!important}.copy-calendar-day__marker{background:var(--surface);border:1px solid #aab8ae;border-radius:4px;width:14px;height:14px;position:absolute;top:6px;right:6px}.copy-calendar-day input:checked+.copy-calendar-day__surface .copy-calendar-day__marker{border-color:var(--primary);background:var(--primary)}.copy-calendar-day input:checked+.copy-calendar-day__surface .copy-calendar-day__marker:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.copy-calendar-day input:disabled+.copy-calendar-day__surface .copy-calendar-day__marker{display:none}.copy-dialog__note{color:var(--ink-soft);background:var(--surface-soft);border-radius:9px;margin:0;padding:11px 12px;font-size:.76rem}.fieldset{border:1px solid var(--line);border-radius:var(--radius-small);min-width:0;margin:0;padding:14px}.fieldset legend{padding:0 6px}.inline-fields{grid-template-columns:1fr 1fr}.macro-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.input-with-suffix{display:block;position:relative}.input-with-suffix input{padding-right:54px}.input-with-suffix i{color:var(--ink-soft);pointer-events:none;font-size:.72rem;font-style:normal;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.input-with-suffix--large input{min-height:58px;font-size:1.35rem;font-weight:740}.input-with-suffix--large i{font-size:.8rem}.quantity-picker{gap:14px;display:grid}.quantity-picker .field-hint{margin:-5px 2px 0}.quantity-picker .input-with-suffix input{padding-right:110px}.quantity-picker .input-with-suffix i{text-overflow:ellipsis;white-space:nowrap;max-width:94px;overflow:hidden}.quantity-picker__modes .segmented-control__item{min-width:0}.quantity-picker__modes .segmented-control__item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 8px;overflow:hidden}.quantity-preview{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;padding:13px}.quantity-preview__totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.quantity-preview__totals>div{min-width:0}.quantity-preview__totals dt{color:var(--ink-soft);font-size:.7rem;font-weight:650}.quantity-preview__totals dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:1rem;font-weight:760}.quantity-preview__macros{flex-wrap:wrap;margin:12px 0 0}.derived-calories{background:var(--surface-soft);border-radius:9px;justify-content:space-between;gap:12px;margin-top:14px;padding:13px;display:flex}.derived-calories span{color:var(--ink-soft);font-size:.76rem}.check-field{background:var(--warning-soft);border:1px solid #e6c27c;border-radius:10px;align-items:flex-start;gap:10px;padding:13px;font-size:.8rem;font-weight:650;display:flex}.check-field input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:0}.allocation-card{min-width:0}.field-error,.form-error{color:var(--danger)}.form-error{background:var(--danger-soft);border-radius:9px;padding:10px;font-size:.78rem}.allocation-card__scroll-hint{color:var(--ink-soft);margin:0 0 10px;font-size:.72rem;display:none}.allocation-macro-key{color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:12px;margin:-9px 0 8px;padding:0;font-size:.65rem;list-style:none;display:flex}.allocation-macro-key li{align-items:center;gap:4px;display:inline-flex}.allocation-macro-key i{border-radius:2px;width:8px;height:8px}.allocation-macro-key__protein{background:var(--protein)}.allocation-macro-key__carbs{background:var(--carbs)}.allocation-macro-key__fat{background:var(--fat)}.allocation-chart-layout{grid-template-columns:38px minmax(0,1fr);gap:4px;min-width:0;display:grid}.allocation-chart-axis{border-inline-end:1px solid var(--line);height:112px;color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-top:53px;font-size:.56rem;position:relative}.allocation-chart-axis__tick{line-height:1;position:absolute;right:5px;transform:translateY(-50%)}.allocation-chart-axis__tick:after{background:var(--line);content:"";width:4px;height:1px;position:absolute;top:50%;right:-6px}.allocation-chart-axis__tick--maximum{top:0}.allocation-chart-axis__tick--middle{top:50%}.allocation-week-scroll{contain:inline-size paint;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;width:100%;min-width:0;max-width:100%;overflow-x:auto}.allocation-week-scroll:focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #236b4b47}.allocation-week{grid-template-columns:repeat(7,minmax(76px,1fr));gap:2px;min-width:556px;margin:0;padding:0 0 8px;list-style:none;display:grid}.allocation-day{border-inline-start:1px solid var(--line);scroll-snap-align:start;background:0 0;min-width:0;padding:5px 5px 7px}.allocation-day:first-child{border-inline-start:0}.allocation-day--today{background:#f2faf5;border-radius:9px}.allocation-day--locked{background:var(--surface-soft);border-radius:9px}.allocation-day__content{flex-direction:column;min-width:0;height:100%;display:flex}.allocation-day__header{justify-content:space-between;align-items:center;gap:2px;min-height:44px;display:flex}.allocation-day__date{flex:1;place-items:center;min-width:0;display:grid}.allocation-day__weekday{font-size:1rem;line-height:1}.allocation-day__lock{width:44px;height:44px;color:var(--ink-soft);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.allocation-day__lock[aria-pressed=true]{color:var(--primary-dark);background:var(--primary-soft)}.allocation-day__lock:focus-visible{outline-offset:1px;outline:3px solid #236b4b4d}.padlock-icon{border:2px solid;border-radius:3px;width:15px;height:12px;margin-top:5px;display:block;position:relative}.padlock-icon:before{border:2px solid;content:"";border-bottom:0;border-radius:8px 8px 0 0;width:9px;height:8px;position:absolute;top:-10px;left:1px}.padlock-icon--unlocked:before{transform-origin:1px 7px;border-right-color:#0000;left:5px;transform:rotate(24deg)}.allocation-day__macro-chart{border-bottom:1px solid var(--line);justify-content:center;align-items:flex-end;height:112px;margin:4px 0 8px;padding:0 2px;display:flex;position:relative}.allocation-day__macro-chart:before,.allocation-day__macro-chart:after{z-index:0;background:var(--line);content:"";pointer-events:none;height:1px;position:absolute;left:0;right:0}.allocation-day__macro-chart:before{top:0}.allocation-day__macro-chart:after{top:50%}.allocation-day__macro-bar{z-index:1;border-radius:7px 7px 2px 2px;flex-direction:column;width:min(34px,72%);display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #1f302614}.allocation-day__macro-segment{flex-basis:0;min-height:1px}.allocation-day__macro-segment--protein{background:var(--protein)}.allocation-day__macro-segment--carbs{background:var(--carbs)}.allocation-day__macro-segment--fat{background:var(--fat)}.allocation-day__calories{text-align:center;gap:2px;margin-top:auto;display:grid}.allocation-day__calories input{text-align:center;min-height:42px;padding:6px 3px;font-size:.82rem;font-weight:730}.allocation-day__calories span,.allocation-day__floor{color:var(--ink-soft);text-align:center;font-size:.6rem}.allocation-day__floor{white-space:nowrap;margin-top:2px;display:block}.allocation-card__footer{gap:10px;margin-top:14px;display:grid}.allocation-card__footer .form-error{margin:0}.definition-list{gap:0;margin:4px 0 0;display:grid}.definition-list>div{border-bottom:1px solid #edf0ed;justify-content:space-between;gap:14px;padding:12px 0;display:flex}.definition-list>div:last-child{border-bottom:0}.definition-list dt{color:var(--ink-soft);font-size:.78rem}.definition-list dd{text-align:right;margin:0;font-size:.8rem;font-weight:680}.definition-list--compact{margin-top:10px}.weight-entry-form{grid-template-columns:1fr 1fr;align-items:end}.weight-entry-form .button{grid-column:1/-1}.header-metric{text-align:right;flex:none}.header-metric strong,.header-metric span{display:block}.header-metric strong{font-size:1.15rem}.header-metric span{color:var(--ink-soft);font-size:.68rem}.header-metric--green strong{color:var(--protein)}.chart-legend{color:var(--ink-soft);flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:.7rem;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend__dot{background:#718078;border-radius:50%;width:8px;height:8px}.chart-legend__line{background:var(--protein);border-radius:4px;width:18px;height:3px}.weight-chart{margin:0 -8px;overflow:hidden}.weight-chart svg{width:100%;height:auto;min-height:210px;display:block}.weight-chart__grid{stroke:#dfe6e1;stroke-width:1px}.weight-chart__axis-label,.weight-chart__date-label{fill:#758078;font-size:12px}.weight-chart__raw-line{fill:none;stroke:#7f8d84;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.weight-chart__average-line{fill:none;stroke:var(--protein);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.weight-chart__point{fill:#fff;stroke:#68776e;stroke-width:3px}.weight-chart__average-point{fill:#fff;stroke:var(--protein);stroke-width:2.5px}.chart-data{margin-top:12px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.76rem}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:10px 12px}th{color:var(--ink-soft);text-transform:uppercase;font-size:.69rem}.stepper{grid-template-columns:repeat(3,1fr);margin:4px 12px 8px;padding:0;list-style:none;display:grid;position:relative}.stepper:before{content:"";z-index:0;background:var(--line);height:2px;position:absolute;top:17px;left:16%;right:16%}.stepper__item{z-index:1;color:var(--ink-soft);justify-items:center;gap:4px;display:grid;position:relative}.stepper__item>span{border:2px solid var(--line);background:var(--background);border-radius:50%;place-items:center;width:34px;height:34px;font-size:.75rem;font-weight:760;display:grid}.stepper__item small{font-size:.66rem;font-weight:680}.stepper__item--current>span{color:#fff;border-color:var(--primary);background:var(--primary)}.stepper__item--current small{color:var(--primary-dark)}.stepper__item--done>span{color:var(--primary-dark);background:var(--primary-soft);border-color:#91bda5}.metric-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px;display:grid}.metric-tile{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;padding:13px}.metric-tile span,.metric-tile strong,.metric-tile small{display:block}.metric-tile span,.metric-tile small{color:var(--ink-soft);font-size:.68rem}.metric-tile strong{margin:4px 0;font-size:1.17rem}.choice-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.choice-card{min-height:50px;position:relative}.choice-card input{opacity:0;position:absolute}.choice-card span{border:1px solid #bac5bd;border-radius:10px;place-items:center;min-height:50px;font-size:.78rem;font-weight:700;display:grid}.choice-card--selected span{color:var(--primary-dark);border:2px solid var(--primary);background:var(--primary-soft)}.questionnaire-fieldset{margin-bottom:18px}.range-field{gap:10px;padding:4px 0 14px;display:grid}.range-field>span:first-child{justify-content:space-between;gap:12px;display:flex}.range-field output{color:var(--primary-dark);text-align:right;font-weight:750}.range-field input{width:100%;accent-color:var(--primary)}.range-field small{color:var(--ink-soft);justify-content:space-between;font-size:.68rem;display:flex}.recommendation{background:var(--primary-soft);text-align:center;border:1px solid #aed1bd;border-radius:13px;margin-bottom:18px;padding:20px}.recommendation span,.recommendation strong,.recommendation small{display:block}.recommendation span{color:var(--primary-dark);text-transform:uppercase;font-size:.72rem;font-weight:700}.recommendation strong{color:var(--primary-dark);letter-spacing:-.035em;margin:5px 0;font-size:1.75rem}.recommendation small{color:#4a6957;font-size:.7rem}.success-mark{width:58px;height:58px;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;place-items:center;margin:0 auto 14px;font-size:1.7rem;display:grid}.check-in-mark{width:58px;height:58px;color:var(--warning);background:var(--warning-soft);border-radius:16px;place-items:center;margin:0 auto 14px;font-size:1.35rem;font-weight:800;display:grid}.check-in-not-due>h2,.check-in-not-due>p{text-align:center}.check-in-not-due>p{color:var(--ink-soft);font-size:.86rem}.menu-card{width:100%;min-height:70px;color:var(--ink);text-align:left;justify-content:space-between;align-items:center;padding:14px 17px;display:flex}.menu-card strong,.menu-card small{display:block}.menu-card small{color:var(--ink-soft);margin-top:3px;font-size:.72rem}.menu-card>span:last-child{color:var(--primary-dark);font-size:1.8rem}.segmented-control{background:var(--surface-soft);border-radius:11px;gap:5px;padding:4px;display:grid}.segmented-control--two{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control--three{grid-template-columns:repeat(3,1fr)}.segmented-control__item{position:relative}.segmented-control__item input{opacity:0;position:absolute}.segmented-control__item span{min-height:42px;color:var(--ink-soft);border-radius:8px;place-items:center;font-size:.78rem;font-weight:690;display:grid}.segmented-control__item input:focus-visible+span{outline-offset:2px;outline:3px solid #236b4b47}.segmented-control__item--selected span{color:var(--primary-dark);background:var(--surface);box-shadow:0 2px 8px #14231a14}.segmented-control__item--disabled{cursor:not-allowed}.segmented-control__item--disabled span{opacity:.5}.macro-preference__visual{align-items:center;gap:24px;padding:12px 0 20px;display:flex}.macro-pie{background:conic-gradient(var(--protein) 0 var(--protein-stop), var(--carbs) var(--protein-stop) var(--carb-stop), var(--fat) var(--carb-stop) 100%);border-radius:50%;flex:none;place-items:center;width:126px;height:126px;display:grid}.macro-pie:before{content:"";background:var(--surface);border-radius:50%;grid-area:1/1;width:80px;height:80px}.macro-pie>span{z-index:1;text-align:center;grid-area:1/1;font-size:1.2rem;font-weight:800}.macro-pie small{color:var(--ink-soft);font-size:.57rem;font-weight:600;display:block}.macro-key{flex:1;gap:8px;display:grid}.macro-key li{grid-template-columns:10px 1fr auto;align-items:center;gap:7px;font-size:.73rem;display:grid}.macro-key i{border-radius:3px;width:9px;height:9px}.macro-key__protein{background:var(--protein)}.macro-key__carbs{background:var(--carbs)}.macro-key__fat{background:var(--fat)}.editable-goals{gap:10px;margin-bottom:14px;display:grid}.editable-goals li{grid-template-columns:1fr 44px;align-items:end;gap:8px;display:grid}.nutrient-goal-fields{grid-template-columns:minmax(0,1fr) minmax(76px,.55fr);gap:8px;display:grid}.nutrient-goal-fields>strong{grid-column:1/-1;font-size:.82rem}.nutrient-editor-list{gap:12px;display:grid}.nutrient-editor-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(82px,.65fr) 44px;align-items:end;gap:8px;padding-bottom:12px;display:grid}.nutrient-editor-row__name{grid-column:1/-1}.nutrient-editor-row__remove{align-self:end}.add-goal-form{grid-template-columns:1.4fr 1fr .7fr;align-items:end}.add-goal-form .button{grid-column:1/-1}.settings-card>.button--full,.settings-card>.details-panel+.button--full{margin-top:14px}.privacy-card{box-shadow:none;border-style:dashed}.privacy-card p{color:var(--ink-soft);margin:4px 0 0;font-size:.76rem}.bottom-navigation{z-index:50;min-height:calc(68px + env(safe-area-inset-bottom));padding:5px max(5px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(5px, env(safe-area-inset-left));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 28px #19281f12}.bottom-navigation__item{color:#6b776f;background:0 0;border:0;border-radius:11px;align-content:center;justify-items:center;min-width:0;min-height:58px;padding:5px 2px;display:grid}.bottom-navigation__item>span{letter-spacing:-.05em;place-items:center;min-width:25px;height:24px;font-size:.9rem;font-weight:800;display:grid}.bottom-navigation__item small{font-size:.62rem;font-weight:670}.bottom-navigation__item--active{color:var(--primary-dark);background:var(--primary-soft)}.toast{z-index:200;right:14px;bottom:calc(82px + env(safe-area-inset-bottom));border:1px solid;border-radius:13px;grid-template-columns:26px 1fr 34px;align-items:center;gap:9px;width:min(100% - 28px,520px);min-height:56px;margin-left:auto;padding:10px 11px;animation:.18s ease-out toast-enter;display:grid;position:fixed;left:14px;box-shadow:0 12px 38px #0a160f33}.toast>span{border-radius:50%;place-items:center;width:26px;height:26px;font-weight:800;display:grid}.toast p{margin:0;font-size:.79rem;font-weight:640}.toast button{width:34px;height:34px;color:inherit;background:0 0;border:0;border-radius:50%;font-size:1.2rem}.toast--success{color:#174e36;background:#eef9f2;border-color:#98c4aa}.toast--success>span{color:#fff;background:var(--primary)}.toast--error{color:#702525;background:#fff3f2;border-color:#e2a6a3}.toast--error>span{color:#fff;background:var(--danger)}:root[data-theme=dark] .app-header{background:#0f1612f0;border-bottom-color:#35463be6}:root[data-theme=dark] .theme-toggle{box-shadow:0 2px 12px #0000002e}:root[data-theme=dark] .onboarding-protein{color:#8eddd2;background:#142d29;border-color:#326c64}:root[data-theme=dark] .onboarding-protein small{color:#9ebdb6}:root[data-theme=dark] .protein-card{background:linear-gradient(180deg, var(--surface), #142925);border-color:#32675f}:root[data-theme=dark] .protein-badge{color:#91ddd3;background:#1b403a}:root[data-theme=dark] .status-pill--offline{color:#c4cec7;background:#303a33}:root[data-theme=dark] .progress__track{background:#2d3a32}:root[data-theme=dark] .progress__fill--neutral{background:#85938a}:root[data-theme=dark] .progress__fill--warning{background:#d18b3c}:root[data-theme=dark] .notice--warning{color:#f2d09b;border-color:#72532a}:root[data-theme=dark] .notice--info{color:#b8dbef;border-color:#365d72}:root[data-theme=dark] .notice--neutral{color:var(--ink-soft)}:root[data-theme=dark] .button--secondary{border-color:#38664d}:root[data-theme=dark] .button--scan{border-color:#52665a}:root[data-theme=dark] .empty-state{background:#151e19;border-color:#43574a}:root[data-theme=dark] .entry-row{border-bottom-color:#2c3a31}:root[data-theme=dark] .details-panel--nested{background:#151e19}:root[data-theme=dark] .field>span:first-child,:root[data-theme=dark] .field>label:first-child,:root[data-theme=dark] .fieldset legend,:root[data-theme=dark] .range-field>span:first-child{color:#d5e0d8}:root[data-theme=dark] .field input,:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea,:root[data-theme=dark] .allocation-day__calories input,:root[data-theme=dark] .input-with-suffix input{border-color:#52665a}:root[data-theme=dark] .macro-summary span{color:#c3cec6}:root[data-theme=dark] .modal-sheet__handle{background:#526057}:root[data-theme=dark] .check-field{border-color:#72532a}:root[data-theme=dark] .allocation-week-scroll:focus-visible,:root[data-theme=dark] .allocation-day__lock:focus-visible{outline-color:#78da9e8c}:root[data-theme=dark] .allocation-day--today{background:#172f22}:root[data-theme=dark] .allocation-day__macro-bar{box-shadow:0 0 0 1px #dfefe421}:root[data-theme=dark] .definition-list>div{border-bottom-color:#2c3a31}:root[data-theme=dark] .chart-legend__dot{background:#94a39a}:root[data-theme=dark] .weight-chart__grid{stroke:#34463b}:root[data-theme=dark] .weight-chart__axis-label,:root[data-theme=dark] .weight-chart__date-label{fill:#a9b8ae}:root[data-theme=dark] .weight-chart__raw-line{stroke:#93a49a}:root[data-theme=dark] .weight-chart__point{fill:var(--surface);stroke:#aabbb0}:root[data-theme=dark] .weight-chart__average-point{fill:var(--surface)}:root[data-theme=dark] .stepper__item--done>span{border-color:#427a59}:root[data-theme=dark] .metric-tile{background:#151e19}:root[data-theme=dark] .choice-card span{border-color:#52665a}:root[data-theme=dark] .recommendation{border-color:#38684d}:root[data-theme=dark] .recommendation small{color:#abc4b3}:root[data-theme=dark] .segmented-control__item--selected span{box-shadow:0 2px 10px #0000003d}:root[data-theme=dark] .segmented-control__item input:focus-visible+span{outline-color:#78da9e8c}:root[data-theme=dark] .bottom-navigation{background:#18221cf7;box-shadow:0 -6px 28px #0000003d}:root[data-theme=dark] .bottom-navigation__item{color:var(--ink-soft)}:root[data-theme=dark] .bottom-navigation__item--active{color:var(--primary-dark)}:root[data-theme=dark] .toast--success{color:#c8efd6;background:#173526;border-color:#3d7453}:root[data-theme=dark] .toast--error{color:#ffd1cf;background:#3a201f;border-color:#77413f}:root[data-theme=dark] .toast--error>span{background:#9c3937}@keyframes page-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:700px){.allocation-card__scroll-hint{display:block}}@media (min-width:620px){.app-main{padding-top:30px;padding-left:24px;padding-right:24px}.form-grid{grid-template-columns:1fr 1fr}.compact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field--wide{grid-column:1/-1}.weight-entry-form{grid-template-columns:1fr 1fr auto}.weight-entry-form .button{grid-column:auto}.macro-inputs{grid-template-columns:repeat(4,minmax(0,1fr))}.add-goal-form{grid-template-columns:1.5fr 1fr .7fr auto}.add-goal-form .button{grid-column:auto}.modal-sheet{padding-left:26px;padding-right:26px}.metric-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:900px){.app-header{padding-left:max(24px,50vw - 450px);padding-right:max(24px,50vw - 450px)}.bottom-navigation{border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;width:min(100%,780px);left:50%;right:auto;transform:translate(-50%)}}@media (max-width:420px){.app-header:has(.header-action) .wordmark>span:last-child{display:none}.app-main{padding-left:12px;padding-right:12px}.card{padding:16px}.calorie-card{padding:19px}.calorie-card__numbers{flex-direction:column;align-items:flex-start;gap:14px}.calorie-card__target{text-align:left}.notice{flex-direction:column}.notice .button{width:100%}.compact-form-grid,.weight-entry-form{grid-template-columns:1fr}.macro-preference__visual{align-items:flex-start}.macro-pie{width:110px;height:110px}.macro-pie:before{width:68px;height:68px}}@media (max-width:480px){.allocation-card{padding-left:4px;padding-right:4px}.allocation-card__scroll-hint{display:none}.allocation-macro-key{gap:8px;font-size:.6rem}.allocation-chart-layout{grid-template-columns:24px minmax(0,1fr);gap:1px}.allocation-chart-axis{margin-top:69px;font-size:.44rem}.allocation-chart-axis__tick{right:4px}.allocation-chart-axis__tick:after{width:3px;right:-5px}.allocation-week-scroll{scroll-snap-type:none;overflow-x:hidden}.allocation-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:0;min-width:0}.allocation-day{scroll-snap-align:none;padding:3px 0 6px}.allocation-day__header{flex-direction:column;justify-content:flex-start;gap:0;min-height:64px}.allocation-day__date{flex:none;height:20px}.allocation-day__weekday{font-size:.78rem}.allocation-day__lock{width:min(44px,100%);height:44px}.padlock-icon{width:14px;height:11px}.allocation-day__macro-chart{margin:2px 0 6px;padding:0}.allocation-day__macro-bar{width:min(22px,70%)}.allocation-day__calories input{font-variant-numeric:tabular-nums;letter-spacing:-.08em;min-height:44px;padding:2px 0;font-size:1rem}.allocation-day__calories input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.allocation-day__calories input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.allocation-day__calories input{appearance:textfield}.allocation-day__calories span{font-size:.5rem}.allocation-day__floor{letter-spacing:-.02em;font-size:.46rem}}.recipe-library{width:min(100%,720px)}.recipe-library__toolbar{justify-content:flex-end;margin-bottom:14px}.recipe-library__list{gap:12px;margin:0;padding:0;display:grid}.recipe-library__card{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface-soft);gap:10px;padding:8px;display:grid}.recipe-library__card-top{align-items:flex-start;gap:6px;display:flex}.recipe-library__edit-card{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;flex:1;gap:10px;padding:7px;display:grid}.recipe-library__edit-card:hover:not(:disabled){background:var(--primary-soft)}.recipe-library__delete{width:40px;height:40px}.recipe-library__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recipe-library__heading>span:first-child>strong,.recipe-library__heading>span:first-child>span{display:block}.recipe-library__heading>span:first-child>span{color:var(--ink-soft);margin-top:3px;font-size:.72rem}.recipe-library__heading>strong{flex:none;font-size:.78rem}.recipe-library__ingredients{gap:7px;margin:0;padding:10px 0 0;display:grid}.recipe-library__ingredients li{justify-content:space-between;align-items:baseline;gap:12px;font-size:.76rem;display:flex}.recipe-library__ingredients li span{overflow-wrap:anywhere}.recipe-library__ingredients li strong{flex:none}@media (max-width:480px){.recipe-library__heading{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fff;--surface:#fff;--surface-soft:#f0f4ef;--ink:#17201b;--ink-soft:#5e6a63;--line:#dce4de;--primary:#236b4b;--primary-dark:#18513a;--primary-soft:#e0f1e7;--protein:#117b73;--carbs:#4f78d3;--fat:#d18a31;--warning:#8a4b08;--warning-soft:#fff1d7;--danger:#a13434;--danger-soft:#fbe9e8;--info-soft:#eaf2f8;--shadow:none}:root[data-theme=dark] .onboarding-protein,:root[data-theme=dark] .protein-card,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .details-panel--nested,:root[data-theme=dark] .allocation-day--today,:root[data-theme=dark] .metric-tile{color:var(--ink);border-color:var(--line);background:var(--surface)}:root[data-theme=dark] .onboarding-protein small,:root[data-theme=dark] .macro-summary span{color:var(--ink-soft)}:root[data-theme=dark] .protein-badge{color:#075f58;background:#d7f2ee}:root[data-theme=dark] .status-pill--offline{color:#4b5550;background:#e1e5e2}:root[data-theme=dark] .notice--warning{color:#653a0b;border-color:#edc989}:root[data-theme=dark] .notice--info{color:#284e68;border-color:#bed3e1}:root[data-theme=dark] .notice--neutral{color:#465049}:root[data-theme=dark] .field>span:first-child,:root[data-theme=dark] .field>label:first-child,:root[data-theme=dark] .fieldset legend,:root[data-theme=dark] .range-field>span:first-child{color:#344039}:root[data-theme=dark] .recommendation small{color:#4a6957}:root[data-theme=dark] .weight-chart__axis-label,:root[data-theme=dark] .weight-chart__date-label{fill:#758078}.app-header,.bottom-navigation,.button,.text-button,.toast{display:none!important}.app-main{width:100%;padding:0}.card,.calorie-card{box-shadow:none;break-inside:avoid}}.recipe-editor{width:min(100%,760px)}.recipe-editor__description{max-width:540px;color:var(--ink-soft);margin:5px 0 0;font-size:.76rem}.recipe-editor__form{gap:0;display:grid}.recipe-editor__form-body{border:0;gap:14px;min-width:0;padding:0;display:grid}.recipe-editor__section{border:1px solid var(--line);border-radius:var(--radius-small);gap:14px;padding:16px;display:grid}.recipe-editor__section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recipe-editor__section-heading h3,.recipe-editor__section-heading p{margin:0}.recipe-editor__section-heading h3{font-size:1rem}.recipe-editor__section-heading p:not(.eyebrow){color:var(--ink-soft);margin-top:3px;font-size:.72rem}.recipe-editor__section-heading>span{color:var(--ink-soft);flex:none;font-size:.72rem;font-weight:700}.recipe-editor__details-grid{grid-template-columns:minmax(0,1.5fr) minmax(130px,.65fr) minmax(150px,.8fr);gap:12px;display:grid}.recipe-editor__search-row{gap:8px;display:flex}.recipe-editor__search-field{flex:1}.recipe-editor__search-row .button{flex:none}.recipe-editor__search-results{border:1px solid var(--line);border-radius:11px;max-height:300px;margin:0;padding:0;display:grid;overflow-y:auto}.recipe-editor__search-result{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.recipe-editor__search-result:last-child{border-bottom:0}.recipe-editor__search-result .macro-summary{flex-wrap:wrap;margin:8px 0 0}.recipe-editor__food-details{min-width:0}.recipe-editor__food-details>strong,.recipe-editor__food-details>span{display:block}.recipe-editor__food-details>strong{overflow-wrap:anywhere;font-size:.86rem}.recipe-editor__food-details>span{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:3px;font-size:.7rem}.recipe-editor__empty-search,.recipe-editor__empty-ingredients{border:1px dashed var(--line);color:var(--ink-soft);background:var(--surface-soft);text-align:center;border-radius:10px;padding:15px}.recipe-editor__empty-search strong,.recipe-editor__empty-ingredients strong{color:var(--ink);font-size:.82rem;display:block}.recipe-editor__empty-search p,.recipe-editor__empty-ingredients p{margin:4px 0 0;font-size:.72rem}.recipe-editor__ingredients{border-top:1px solid var(--line);margin:0;padding:0;display:grid}.recipe-editor__ingredient{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(150px,.55fr) 44px;align-items:end;gap:10px;padding:13px 0;display:grid}.recipe-editor__ingredient:last-child{border-bottom:0;padding-bottom:0}.recipe-editor__quantity-field .input-with-suffix input{padding-right:84px}.recipe-editor__quantity-field .input-with-suffix i{text-overflow:ellipsis;white-space:nowrap;max-width:68px;overflow:hidden}.recipe-editor__remove{align-self:end}.recipe-editor__summary{border-radius:var(--radius-small);background:var(--primary-soft);border:1px solid #aed1bd;gap:13px;padding:16px;display:grid}.recipe-editor__summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.recipe-editor__nutrition-breakdown{background:var(--surface);border-radius:10px;min-width:0;padding:12px}.recipe-editor__nutrition-breakdown h4{margin:0 0 9px;font-size:.8rem}.recipe-editor__nutrition-breakdown dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.recipe-editor__nutrition-breakdown dl>div{min-width:0}.recipe-editor__nutrition-breakdown dt{color:var(--ink-soft);font-size:.62rem;font-weight:650}.recipe-editor__nutrition-breakdown dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.78rem;font-weight:760}.recipe-editor__actions{margin-top:2px}:root[data-theme=dark] .recipe-editor__summary{border-color:#38684d}@media (max-width:680px){.recipe-editor__details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-editor__name-field{grid-column:1/-1}.recipe-editor__summary-grid{grid-template-columns:1fr}}@media (max-width:480px){.recipe-editor__details-grid{grid-template-columns:1fr}.recipe-editor__name-field{grid-column:auto}.recipe-editor__search-row,.recipe-editor__search-result{flex-direction:column;align-items:stretch}.recipe-editor__search-result .button{width:100%}.recipe-editor__ingredient{grid-template-columns:minmax(0,1fr) 44px}.recipe-editor__ingredient>.recipe-editor__food-details{grid-column:1/-1}.recipe-editor__nutrition-breakdown dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
