@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2)format("woff2"),url(/assets/roboto-latin-500-normal-DQZyH_nt.woff)format("woff")}.CircularProgressbar{vertical-align:middle;width:100%}.CircularProgressbar .CircularProgressbar-path{stroke:#3e98c7;stroke-linecap:round;transition:stroke-dashoffset .5s}.CircularProgressbar .CircularProgressbar-trail{stroke:#d6d6d6;stroke-linecap:round}.CircularProgressbar .CircularProgressbar-text{fill:#3e98c7;dominant-baseline:middle;text-anchor:middle;font-size:20px}.CircularProgressbar .CircularProgressbar-background{fill:#d6d6d6}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-background{fill:#3e98c7}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-text{fill:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-path{stroke:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-trail{stroke:#0000}:root{color:#151515;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;height:100%;margin:0}.mobile-carousel{overscroll-behavior:contain;scrollbar-width:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;max-width:100%;display:block;position:relative;overflow:auto}.mobile-carousel::-webkit-scrollbar{display:none}.mobile-carousel{touch-action:pan-y;overflow:auto hidden}.mobile-carousel[data-dragging=true]{cursor:none}.mobile-carousel-content{width:max-content;min-width:100%;transform:translateX(var(--mobile-carousel-overdrag));will-change:transform;display:flex}.mobile-carousel-scrollbar{z-index:4;opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;inset:0}.mobile-carousel-scrollbar[data-visible=true]{opacity:1}.mobile-carousel-scrollbar-thumb{background:#00000059;border-radius:999px;height:3px;position:absolute;bottom:4px;right:4px}body{min-width:320px;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.phone-stage{place-items:center;width:100%;height:100%;padding:24px;display:grid;position:relative}.device-menu-bar{z-index:100;border-radius:12px;padding:3px;position:absolute;top:18px;right:18px}.device-picker-trigger{color:#151515;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;height:34px;padding:0 10px 0 12px;font:600 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-trigger:hover,.device-picker-trigger[data-state=open]{background:#0000000e}.device-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #000000b8}.device-picker-menu{z-index:200;min-width:168px;transform-origin:var(--radix-dropdown-menu-content-transform-origin);background:#fffffffa;border-radius:12px;padding:3px;animation:.12s ease-out device-menu-in;box-shadow:0 0 1px #0000000f,0 0 0 1px #00000014,0 4px 4px #0000000d}.device-picker-item{color:#181818;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 9px 0 10px;font:500 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-item[data-highlighted]{background:#f0f0f0}.device-picker-item[data-state=checked]{font-weight:600}.device-picker-check{color:#181818;place-items:center;display:grid}@keyframes device-menu-in{0%{opacity:0;transform:scale(.98)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.phone-scale-box{position:relative}.phone-device{transform-origin:0 0;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.phone-bezel{object-fit:contain;z-index:2;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.device-screen{cursor:none;z-index:1;-webkit-user-select:none;user-select:none;background:#fff;border-radius:42px;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.device-camera{z-index:75;pointer-events:none;background:#050505;border-radius:50%;display:block;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.device-screen,.device-screen *{cursor:none!important}.device-screen img,.keyboard-asset{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.device-screen input,.device-screen textarea,.device-screen select,.device-screen option,.device-screen [contenteditable=true]{-webkit-user-select:auto;user-select:auto}.device-screen:active,.device-screen:active *,.device-screen input,.device-screen textarea,.device-screen button,.device-screen a,.device-screen [role=button]{cursor:none!important}.device-screen[data-cursor-debug=true],.device-screen[data-cursor-debug=true] *{cursor:default!important}.device-screen :focus,.device-screen :focus-visible{box-shadow:none!important;outline:0!important}.flow-stack,.flow-scenes,.flow-screen,.mobile-app-viewport{position:absolute;inset:0}.mobile-app-viewport[data-platform=android][data-keyboard-visible=false]{bottom:var(--device-safe-area-bottom,48px)}.flow-stack{--flow-header-height:0px;--flow-header-content-height:0px;--flow-header-safe-area:0px;--flow-footer-height:0px;--keyboard-height:0px;touch-action:pan-y;background:0 0;overflow:hidden}.flow-fixed-header{z-index:12;height:var(--flow-header-height);padding-top:var(--flow-header-safe-area);box-sizing:border-box;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;position:absolute;top:0;left:0;right:0}.flow-fixed-footer{z-index:12;right:0;bottom:var(--keyboard-height);height:var(--flow-footer-height);background:0 0;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0}.flow-scenes{top:var(--flow-header-height);bottom:0;overflow:hidden}.flow-screen{will-change:transform;background:0 0;overflow:hidden}.mobile-page{--mobile-safe-area-height:var(--device-safe-area-bottom,34px);--keyboard-height:0px;position:absolute;inset:0}.mobile-page[data-keyboard-visible=true],.mobile-app-viewport[data-platform=android] .mobile-page{--mobile-safe-area-height:0px}.mobile-scroll{top:0;right:0;bottom:var(--keyboard-height);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:none;-webkit-user-select:none;user-select:none;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;overflow:hidden auto}.mobile-scroll::-webkit-scrollbar{display:none}.mobile-scroll[data-dragging=true]{cursor:none}.mobile-cursor{z-index:80;opacity:0;pointer-events:none;will-change:transform;background:radial-gradient(circle at 50% 44%,#ffffffb3 0 34%,#ffffff8a 58%,#eeeeee7a 100%);border:.5px solid #0000001f;border-radius:999px;width:48px;height:48px;transition:opacity 90ms,background 80ms,box-shadow 80ms;position:absolute;top:0;left:0;box-shadow:inset 0 1px 2px #fff9,inset 0 -5px 10px #0000000d,inset 0 0 0 1px #00000006}.mobile-cursor:before{content:"";pointer-events:none;background:linear-gradient(#ffffff61,#fff0);border-radius:999px;width:32px;height:17px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.mobile-cursor:after{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 1px 0 3px #ffffff47,inset -1px 0 3px #00000005}.mobile-cursor-hotspot{pointer-events:none;background:#ffffffd1;border:1px solid #007afff2;border-radius:999px;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffffbf,0 0 0 3px #007aff29}.mobile-cursor-hotspot:before,.mobile-cursor-hotspot:after{content:"";background:#007afff2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-cursor-hotspot:before{width:17px;height:1px}.mobile-cursor-hotspot:after{width:1px;height:17px}.mobile-cursor[data-visible=true]{opacity:1}.mobile-cursor[data-active=true]{background:radial-gradient(circle at 50% 55%,#e8e8e894 0 30%,#f8f8f880 62%,#ffffffad 100%);box-shadow:inset 0 3px 7px #00000014,inset 0 -4px 8px #ffffff57,inset 0 0 0 1px #00000008}.mobile-cursor[data-active=true]:before{background:linear-gradient(#0000000e,#0000)}.mobile-cursor[data-active=true]:after{box-shadow:inset 0 5px 9px #0000000b,inset 0 -3px 7px #ffffff47}.mobile-scroll-content{will-change:transform;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;padding:0;display:grid}.mobile-scrollbar{z-index:9;top:4px;right:5px;bottom:calc(var(--mobile-safe-area-height) + var(--keyboard-height) + 4px);opacity:0;pointer-events:none;width:4px;transition:bottom .26s cubic-bezier(.2,.8,.2,1),opacity .18s;position:absolute}.mobile-page[data-keyboard-dragging=true] .mobile-scroll,.mobile-page[data-keyboard-dragging=true] .mobile-scrollbar,.flow-stack[data-keyboard-dragging=true] .flow-fixed-footer{transition:none}.mobile-scrollbar[data-visible=true]{opacity:1}.mobile-scrollbar-thumb{background:#00000047;border-radius:999px;width:4px;min-height:36px;transition:background .12s;box-shadow:0 0 0 1px #ffffff2e}.status-bar{z-index:72;color:#050505;pointer-events:none;background:0 0;grid-template-columns:1fr auto;align-items:center;height:54px;padding:10px 34px 0 36px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;display:grid;position:absolute;top:0;left:0;right:0}.device-screen[data-device=pixel-10] .status-bar{align-items:start;height:auto;padding:32px 32px 0;font-family:Roboto,Arial,sans-serif}.status-time{text-align:center;letter-spacing:0;justify-self:start;min-width:58px;font-size:15px;font-weight:600;line-height:1}.status-indicators{justify-self:end;align-items:center;display:flex}.status-indicator-svg{display:block}.status-indicator-svg[data-platform=ios]{width:79px;height:13px}.status-indicator-svg[data-platform=android]{width:50px;height:14px}.device-screen[data-device=pixel-10] .status-time{font-weight:500;transform:translateY(2px)}.home-indicator-svg{z-index:70;width:100%;height:var(--device-safe-area-bottom,34px);pointer-events:none;display:block;position:absolute;bottom:0;left:0;right:0}.android-navigation-bar{z-index:70;width:428px;height:var(--device-safe-area-bottom,48px);pointer-events:none;-webkit-user-drag:none;display:block;position:absolute;bottom:-1px;left:-1px}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:26px;line-height:1.08}h2{font-size:15px}p{color:#555;font-size:14px;line-height:1.45}.field-label{color:#555;font-size:13px;font-weight:800}.mobile-field{gap:8px;display:grid}.mobile-field input{color:#151515;background:#fff;border:1px solid #0000001a;border-radius:8px;outline:0;width:100%;min-height:44px;padding:0 12px}.mobile-field input:focus{box-shadow:none;border-color:#00000029}.device-screen .mobile-field input:focus,.device-screen .mobile-field input:focus-visible{border-color:#0000001f;box-shadow:none!important;outline:0!important}.sheet-overlay{z-index:20;background:#00000057;position:absolute;inset:0}.bottom-sheet{z-index:21;touch-action:none;background:#fff;border-radius:22px 22px 0 0;flex-direction:column;min-height:260px;display:flex;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 -16px 48px #0003}.sheet-handle-zone{touch-action:none;place-items:center;height:30px;display:grid}.sheet-handle{background:#c9c9c4;border-radius:999px;width:42px;height:5px}.sheet-header{gap:4px;padding:0 18px 14px;display:grid}.sheet-title{margin:0;font-size:18px;font-weight:900}.sheet-description{color:#737373;margin:0;font-size:13px;line-height:1.35}.sheet-content{padding:0 18px 24px;overflow:auto}.keyboard-dock{z-index:30;height:339px;box-shadow:none;pointer-events:none;will-change:transform;background:#d8d9de;border-radius:32px 32px 0 0;padding:0;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.keyboard-dock[data-platform=android]{background:#f3f2f6;border-radius:0;box-shadow:0 -1px 2px #00000014}.keyboard-dock[data-visible=true]{pointer-events:auto}.keyboard-asset{z-index:1;border-radius:inherit;object-fit:cover;object-position:center bottom;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:relative}.keyboard-dock[data-platform=android] .keyboard-asset{object-fit:fill;border-radius:0}:root{--ink:#1e241d;--muted:#778075;--green:#58ad30;--green-dark:#3d8b23;--green-soft:#eef7e8;--surface:#fff;--page:#fbfcf8;--line:#e9ede5;--orange:#ff8b1f;--yellow:#f4b91f}*{box-sizing:border-box}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.keyboard-dock[data-visible=false]{display:none!important}.nutrition-app{color:var(--ink);background:var(--page);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;position:absolute;inset:0;overflow:hidden}.keyboard-dismiss-button{z-index:42;min-width:58px;height:44px;color:var(--green-dark);background:#fffffff5;border:0;border-radius:16px;padding:0 14px;font-size:12px;font-weight:700;position:absolute;right:12px;box-shadow:0 5px 18px #1e311b33}.storage-error{z-index:24;right:12px;bottom:calc(82px + var(--mobile-safe-area-height));color:#8d432d;background:#fff0ea;border-radius:12px;margin:0;padding:10px 12px;font-size:11px;line-height:1.45;position:absolute;left:12px;box-shadow:0 8px 24px #4a2a1f24}.sheet-keyboard-dismiss{z-index:4;width:100%;min-height:44px;color:var(--green-dark);background:#f8fcf6f5;border:1px solid #58ad3038;border-radius:12px;font-size:12px;font-weight:700;position:sticky;bottom:4px;box-shadow:0 5px 16px #2d4a231a}.app-screen{background:var(--page)}.screen-content{min-height:100%;padding:68px 20px calc(102px + var(--mobile-safe-area-height))}.today-screen{flex-direction:column;gap:14px;display:flex}.today-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:3px;display:flex}.eyebrow,.section-kicker{color:var(--muted);letter-spacing:.03em;margin:0 0 3px;font-size:12px;font-weight:600}.today-header h1,.inner-header h1{letter-spacing:-.04em;margin:0;font-size:24px;line-height:1.18}.stage-link{color:#60695f;background:0 0;border:0;align-items:center;gap:3px;min-height:44px;margin:2px 0 0;padding:0;font-size:12px;display:flex}.stage-link strong{color:var(--green);font-size:15px}.date-pill{color:var(--green-dark);background:var(--green-soft);border-radius:14px;flex:none;align-items:center;gap:5px;margin-top:6px;padding:7px 9px;font-size:11px;font-weight:600;display:flex}.meal-photo-actions{gap:10px;display:grid}.camera-hero{color:#fff;text-align:left;background:#68b943;border:0;border-radius:24px;align-items:center;width:100%;min-height:136px;padding:23px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 30px #3f892438}.camera-hero:active{transform:scale(.988)}.gallery-upload{width:100%;min-height:58px;color:var(--green-dark);text-align:left;background:#ffffffe6;border:1px solid #5ea93a47;border-radius:18px;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:9px 15px;display:grid;box-shadow:0 7px 20px #3a692414}.gallery-upload>svg:first-child{box-sizing:content-box;background:var(--green-soft);border-radius:12px;width:22px;height:22px;padding:8px}.gallery-upload>span{flex-direction:column;gap:2px;display:flex}.gallery-upload strong{font-size:14px}.gallery-upload small{color:var(--muted);font-size:11px}.gallery-upload>svg:last-child{color:var(--muted)}.gallery-upload:active{background:var(--green-soft);transform:scale(.992)}.camera-icon-wrap{width:72px;height:72px;color:var(--green-dark);background:#fff;border-radius:50%;flex:0 0 72px;place-items:center;display:grid;box-shadow:0 7px 18px #27621529}.camera-icon-wrap svg{width:34px;height:34px}.camera-copy{flex-direction:column;gap:5px;margin-left:18px;display:flex}.camera-copy strong{letter-spacing:-.03em;font-size:23px}.camera-copy small{color:#ffffffdb;max-width:180px;font-size:11px;line-height:1.5}.camera-plus{opacity:.7;width:18px;height:18px;position:absolute;top:15px;right:15px}.surface{background:var(--surface);border:1px solid #e6ebe2d1;border-radius:22px;box-shadow:0 8px 26px #2d3d290e}.macro-surface,.recent-surface,.log-surface,.form-surface{padding:18px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;display:flex}.section-heading.compact{margin-bottom:12px}.section-heading h2,.form-surface h2{letter-spacing:-.02em;margin:0;font-size:17px}.text-button,.icon-button{min-height:44px;color:var(--green-dark);background:0 0;border:0;font-size:12px;font-weight:600}.icon-button{background:var(--green-soft);border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.macro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.energy-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px;display:grid}.energy-summary>div{border:1px solid var(--line);background:#fbfcfa;border-radius:15px;flex-direction:column;min-width:0;padding:12px;display:flex}.energy-summary span,.energy-summary>div>small{color:var(--muted);font-size:10px}.energy-summary strong{letter-spacing:-.03em;margin:3px 0 2px;font-size:20px}.energy-summary strong small,.estimate-grid strong small{color:var(--muted);font-size:10px;font-weight:600}.day-mode-row{justify-content:space-between;align-items:center;gap:10px;margin:-2px 0 14px;display:flex}.day-mode-row>span{color:#687365;font-size:10px}.compact-segmented button{min-width:54px;min-height:36px;padding:6px 8px}.macro-progress{flex-direction:column;align-items:center;min-width:0;display:flex}.macro-ring{width:78px;height:78px;position:relative}.macro-ring-label{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.macro-ring-label strong{font-size:20px}.macro-ring-label span{color:#687365;margin-top:5px;font-size:11px}.macro-name{margin-top:7px;font-size:12px;font-weight:600}.macro-percent{margin-top:3px;font-size:11px;font-weight:700}.coach-strip,.review-banner{color:#395a2d;background:var(--green-soft);text-align:left;border:0;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;margin-top:15px;padding:13px;display:grid}.coach-strip>svg:first-child,.review-banner>svg:first-child{width:23px;height:23px;color:var(--green-dark)}.coach-strip span,.review-banner span{flex-direction:column;min-width:0;display:flex}.coach-strip strong,.review-banner strong{font-size:12px}.coach-strip small,.review-banner small{color:#5f6b5c;margin-top:2px;font-size:11px;line-height:1.45}.coach-strip.caution{color:#785525;background:#fff5dd}.meal-row{grid-template-columns:90px 1fr;align-items:center;gap:12px;display:grid}.meal-row img,.meal-photo-placeholder{border-radius:13px;width:90px;height:65px}.meal-row img{object-fit:cover}.today-meal-list{flex-direction:column;display:flex}.meal-record-button{border:0;border-top:1px solid var(--line);width:100%;min-width:0;color:var(--ink);text-align:left;background:0 0;grid-template-columns:72px minmax(0,1fr) 16px;gap:10px;padding:14px 0}.meal-record-button:first-child{border-top:0;padding-top:0}.meal-record-button:last-child{padding-bottom:0}.meal-record-button img,.meal-record-button .meal-photo-placeholder{width:72px;height:64px}.meal-record-button .meal-copy p{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box}.meal-record-chevron{color:var(--muted)}.meal-record-button:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:10px}.meal-record-button:active{opacity:.7}.meal-detail-photo{object-fit:contain;background:#f4f6f0;border-radius:16px;width:100%;max-height:320px;display:block}.meal-detail-no-photo{color:var(--muted);background:#f4f6f0;border-radius:14px;align-items:center;gap:10px;padding:20px 14px;font-size:14px;display:flex}.meal-detail-no-photo svg{flex-shrink:0;width:24px;height:24px}.meal-detail-foods h3{margin:0 0 8px;font-size:15px}.meal-detail-foods p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.8}.meal-detail-macros{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:2px 0;display:grid}.meal-detail-macros>div{background:var(--green-soft);border-radius:14px;padding:15px}.meal-detail-macros dt{color:#5e7056;font-size:14px}.meal-detail-macros dd{margin:5px 0 0;font-size:24px;font-weight:700}.meal-detail-macros small{font-size:13px;font-weight:400}.meal-detail-note{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.meal-confirm-fields{border:0;flex-direction:column;gap:16px;min-width:0;margin:0;padding:0;display:flex}.food-item-list{gap:16px;display:grid}.food-item-card{background:#f8faf5;border:1px solid #e3e9dc;border-radius:18px;gap:12px;min-width:0;padding:16px;display:grid}.food-item-heading{color:#667b5b;justify-content:space-between;align-items:center;font-size:13px;display:flex}.food-item-heading button{align-items:center;gap:4px;min-height:40px;font-size:12px;display:inline-flex}.food-item-card .adaptive-textarea textarea{min-height:70px}.food-item-subtotal,.food-analysis-note,.nutrition-label-hint{color:#64745c;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.8}.nutrition-label-hint{background:#eff5e8;border-radius:14px;padding:14px}.food-nutrition-edit{border-top:1px solid #dfe7d8;padding-top:8px}.food-nutrition-edit summary{cursor:pointer;color:#527744;justify-content:space-between;align-items:center;min-height:44px;font-size:13px;list-style:none;display:flex}.food-nutrition-edit summary::-webkit-details-marker{display:none}.food-nutrition-edit[open] summary svg{transform:rotate(90deg)}.food-nutrition-edit>p{color:var(--muted);margin:2px 0 12px;font-size:12px;line-height:1.7}.food-nutrition-edit>.field-label-custom,.food-nutrition-edit>.macro-input-grid{margin-top:12px}.food-item-card .macro-input-grid{gap:8px}.food-item-card .macro-input-grid input{padding:10px 8px}.add-food-button{justify-content:center;align-items:center;gap:6px;display:flex}.meal-total-panel{background:#edf5e5;border-radius:16px;padding:18px}.meal-total-panel>span{color:#607653;font-size:13px;display:block}.meal-total-panel>strong{margin:6px 0;font-size:30px;display:block}.meal-total-panel small{font-size:13px;font-weight:400}.meal-total-panel p{color:#53664a;margin:0;font-size:13px;line-height:1.7}.saved-food-items{gap:10px;display:grid}.saved-food-items>div{overflow-wrap:anywhere;border-bottom:1px solid #e7ebdf;padding-bottom:12px}.saved-food-items strong{font-size:14px}.meal-sheet .nutrition-label-preview{object-fit:contain;background:#f6f8f2;height:auto;max-height:340px}.saved-food-items p,.saved-food-items small{color:var(--muted);margin:6px 0;font-size:12px;line-height:1.7}.meal-photo-placeholder{color:#8da084;background:#eef3eb;place-items:center;display:grid}.meal-photo-placeholder svg{width:24px;height:24px}.meal-copy{min-width:0}.meal-title-line{align-items:center;gap:5px;display:flex}.meal-copy strong{font-size:13px}.meal-copy p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:11px;overflow:hidden}.meal-copy>span{color:#667063;font-size:11px}.demo-badge{color:var(--green-dark);background:var(--green-soft);border-radius:6px;padding:2px 5px;font-size:11px}.empty-meal{width:100%;color:var(--green-dark);text-align:left;background:#fbfdf9;border:1px dashed #cfdbc8;border-radius:15px;align-items:center;gap:12px;padding:16px;display:flex}.empty-meal span{flex-direction:column;display:flex}.empty-meal small{color:var(--muted)}.bottom-nav{z-index:20;height:calc(72px + var(--mobile-safe-area-height));padding:8px 32px calc(10px + var(--mobile-safe-area-height));border-top:1px solid var(--line);background:#fffffff5;grid-template-columns:repeat(3,1fr);display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #293a240d}.bottom-nav button{color:#838b81;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;font-size:11px;font-weight:600;display:flex}.bottom-nav svg{width:21px;height:21px}.bottom-nav button.active{color:var(--green)}.inner-screen{flex-direction:column;gap:14px;display:flex}.inner-header p:last-child{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.summary-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:17px 0;display:grid}.summary-band div{flex-direction:column;align-items:center;display:flex}.summary-band span{color:var(--muted);font-size:11px}.summary-band strong{margin-top:5px;font-size:17px}.summary-band strong.positive{color:var(--green-dark)}.summary-band small{color:var(--muted);font-size:11px}.checkin-list{flex-direction:column;display:flex}.checkin-row{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto 36px;align-items:center;gap:9px;padding:11px 0;display:grid}.checkin-edit-button{width:36px;min-height:44px;color:var(--green-dark)}.delete-checkin-button{color:#a54833;background:#fff8f4;border:1px solid #ecd9d0;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:48px;font-size:14px;display:flex}.checkin-delete-confirm{background:#fff8f4;border:1px solid #ecd9d0;border-radius:16px;padding:16px}.checkin-delete-confirm strong{color:#8b3929;font-size:15px}.checkin-delete-confirm p{color:#866157;margin:9px 0 14px;font-size:13px;line-height:1.7}.checkin-delete-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.danger-button{color:#fff;background:#b54934;border:0;border-radius:14px;min-height:48px;font-size:14px;font-weight:600}.checkin-row:first-child{border-top:0}.checkin-date{color:var(--muted);font-size:11px}.checkin-row div{flex-direction:column;display:flex}.checkin-row strong{font-size:12px}.checkin-row small{color:var(--muted);margin-top:2px;font-size:11px}.state-score{text-align:right}.state-score strong{color:var(--green-dark)}.review-banner{border:1px solid #dcebd4;margin-top:0;padding:16px}.form-surface{flex-direction:column;gap:13px;display:flex}.profile-weight-note{color:#687365;margin:-8px 0 0;font-size:11px;line-height:1.5}.field-grid,.macro-input-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.macro-input-grid{grid-template-columns:repeat(3,1fr)}.profile-measures{grid-template-columns:repeat(2,1fr)}.sex-field{justify-content:space-between;align-items:center;gap:12px;display:flex}.sex-field>span{color:#596257;font-size:11px;font-weight:600}.sex-choice{gap:7px;display:flex}.sex-choice button{color:#a2aaa0;background:#f7f8f6;border:1px solid #dfe5dc;border-radius:12px;place-items:center;width:48px;height:44px;display:grid}.sex-choice button.selected{color:var(--green-dark);background:var(--green-soft);border-color:#90c977}.sex-choice svg{width:21px;height:21px}.field-label-custom{color:#596257;flex-direction:column;gap:7px;font-size:11px;font-weight:600;display:flex}.field-label-custom input,.field-label-custom textarea,.multiplier-row input{width:100%;min-width:0;height:44px;color:var(--ink);background:#fbfcfa;border:1px solid #dde4d9;border-radius:12px;outline:none;padding:0 12px;font-size:13px}.field-label-custom input:focus,.field-label-custom textarea:focus,.multiplier-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #58ad301a}.adaptive-textarea{width:100%;min-width:0}.field-label-custom textarea{resize:none;white-space:pre-wrap;overflow-wrap:anywhere;height:auto;min-height:112px;padding:12px;font-size:16px;font-weight:400;line-height:1.7;display:block;overflow:hidden}.choice-row{gap:7px;display:flex}.choice-row button,.segmented button,.score-buttons button{color:#6f786c;background:#fff;border:1px solid #dfe5dc;border-radius:10px;flex:1;min-height:44px;padding:8px 6px;font-size:11px}.choice-row button.selected,.segmented button.selected,.score-buttons button.selected{color:var(--green-dark);background:var(--green-soft);border-color:#90c977;font-weight:700}.multiplier-row,.review-length{border-top:1px solid var(--line);grid-template-columns:1fr 66px auto;align-items:center;gap:8px;padding:11px 0;display:grid}.multiplier-row span,.review-length>span{flex-direction:column;display:flex}.multiplier-row strong,.review-length strong{font-size:12px}.multiplier-row small,.review-length small{color:var(--muted);margin-top:2px;font-size:11px}.multiplier-row b{color:var(--muted);font-size:11px}.review-length{grid-template-columns:1fr auto}.training-setting{border-top:1px solid var(--line);flex-direction:column;gap:9px;padding:11px 0;display:flex}.training-setting>span{justify-content:space-between;align-items:baseline;display:flex}.training-setting strong{font-size:12px}.training-setting small{color:var(--muted);font-size:10px}.duration-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.duration-options button{color:#6f786c;background:#fff;border:1px solid #dfe5dc;border-radius:10px;min-width:0;min-height:44px;padding:6px 3px;font-size:10px}.duration-options button.selected{color:var(--green-dark);background:var(--green-soft);border-color:#90c977;font-weight:700}.schedule-setting{flex-direction:column}.schedule-setting>span{flex-direction:column;align-items:flex-start}.schedule-controls{flex-wrap:wrap;gap:10px;display:flex}.schedule-stepper{color:#687365;flex:135px;justify-content:space-between;align-items:center;gap:2px;font-size:11px;display:flex}.schedule-stepper button{width:44px;height:44px;color:var(--green-dark);background:#fff;border:1px solid #dfe5dc;border-radius:10px;flex:0 0 44px;place-items:center;display:grid}.schedule-stepper button:disabled{color:#b0b7ac;background:#f7f8f6}.schedule-stepper output{text-align:center;min-width:18px;color:var(--ink);font-size:15px;font-weight:600}.duration-custom{flex-direction:row;justify-content:space-between;align-items:center}.duration-custom input{flex:0 0 84px;width:84px}.training-hint{color:#687365;margin:0;font-size:11px;line-height:1.6}.estimate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.estimate-grid div{background:#f7f9f5;border-radius:12px;flex-direction:column;min-width:0;padding:10px 8px;display:flex}.estimate-grid span{color:var(--muted);font-size:9px}.estimate-grid strong{margin-top:3px;font-size:15px}.segmented{gap:4px;display:flex}.segmented button{min-width:46px}.primary-button,.secondary-button{color:#fff;background:var(--green);border:0;border-radius:15px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:48px;font-size:13px;font-weight:700;display:flex;box-shadow:0 9px 20px #438f252e}.primary-button:disabled{color:#a6afa2;box-shadow:none;background:#e8ece5}.secondary-button{color:#727b70;min-height:44px;box-shadow:none;background:#fff;font-size:11px}.safety-note{color:#697166;gap:7px;margin:0;font-size:11px;line-height:1.6;display:flex}.safety-note svg{flex:none;margin-top:2px}.form-error{color:#9a4d34;background:#fff0ea;border-radius:10px;margin:0;padding:9px 11px;font-size:11px;line-height:1.45}.empty-state-copy{color:var(--muted);text-align:center;background:#f7f9f5;border-radius:14px;margin:4px 0;padding:20px 12px;font-size:11px;line-height:1.55}.history-surface{padding:18px}.history-row{border-top:1px solid var(--line);grid-template-columns:42px 1fr;align-items:center;gap:3px 8px;padding:11px 0;display:grid}.history-row span{color:var(--muted);grid-row:span 2;font-size:11px}.history-row strong{font-size:11px}.history-row small{color:var(--muted);font-size:11px}.sheet-form,.review-sheet{flex-direction:column;gap:14px;padding:4px 2px 24px;display:flex}.sheet-cancel{z-index:3;min-height:44px;color:var(--muted);background:#fff;border:0;flex-shrink:0;justify-content:flex-end;align-self:stretch;align-items:center;gap:5px;margin-top:0;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex;position:sticky;top:0}.meal-preview{object-fit:cover;border-radius:16px;width:100%;height:150px}.analysis-status{color:#62705d;background:#f3f6f1;border-radius:11px;align-items:center;gap:7px;padding:10px 12px;font-size:11px;display:flex}.analysis-status.ai{color:var(--green-dark);background:var(--green-soft)}.analysis-status.manual{color:#8a642e;background:#fff6e6}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.meal-type-row button{padding:7px 3px}.score-field{flex-direction:column;gap:8px;display:flex}.score-field>span{justify-content:space-between;align-items:baseline;display:flex}.score-field strong{font-size:11px}.score-field small{color:var(--muted);font-size:11px}.score-buttons{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.score-buttons button{min-width:0}.review-result{color:#3f672f;background:var(--green-soft);border-radius:16px;gap:11px;padding:16px;display:flex}.review-result>svg{flex:none;width:24px;height:24px}.review-result strong{font-size:14px}.review-result p,.method-note p{color:#6f7a6c;margin:4px 0 0;font-size:11px;line-height:1.6}.review-numbers{border:1px solid var(--line);border-radius:16px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:15px;display:grid}.review-numbers div{flex-direction:column;display:flex}.review-numbers span{color:var(--muted);font-size:11px}.review-numbers strong{margin-top:3px;font-size:20px}.review-numbers small{color:var(--muted);font-size:11px}.method-note{background:#f7f8f5;border-radius:16px;padding:15px}.method-note strong{font-size:11px}.waiting-note{color:#8a7350;align-items:flex-start;gap:7px;margin:0;font-size:11px;line-height:1.5;display:flex}.waiting-note svg{flex:none}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.auth-shell{--auth-ink:#173f31;--auth-lime:#d9f58b;--auth-muted:#727b73;min-height:100%;color:var(--auth-ink);background:#fafbf7}.auth-page{background:#fafbf7}.auth-screen{min-height:100%;padding:66px 24px calc(24px + var(--mobile-safe-area-height));flex-direction:column;gap:26px;display:flex}.auth-header,.auth-brand{align-items:center;display:flex}.auth-header{justify-content:space-between;gap:10px}.auth-brand{gap:10px}.auth-wordmark{letter-spacing:-1.8px;font-family:Arial,Helvetica,sans-serif;font-size:29px;font-weight:900;line-height:1}.auth-wordmark>span{color:#65ac31}.auth-brand-name{white-space:nowrap;border-left:1px solid #d5ddd2;padding-left:10px;font-size:14px;font-weight:600}.auth-header-note{color:var(--auth-muted);white-space:nowrap;font-size:12px}.auth-hero{color:#f9fcf2;background:var(--auth-ink);border-radius:26px;padding:23px 24px 20px}.auth-hero-topline{justify-content:space-between;align-items:center;display:flex}.auth-plan-tag{color:#d2dfcd;letter-spacing:.1em;font-size:12px}.auth-hero-topline>svg{width:19px;height:19px;color:var(--auth-lime);transform:rotate(-45deg)}.auth-hero h1{letter-spacing:-.055em;margin:23px 0 13px;font-size:44px;font-weight:700;line-height:1.23}.auth-hero h1>span{color:var(--auth-lime)}.auth-hero>p{color:#d1decf;margin:0;font-size:14px;line-height:1.8}.auth-hero-features{border-top:1px solid #40614d;justify-content:space-between;align-items:center;gap:8px;margin-top:23px;padding-top:17px;display:flex}.auth-hero-features>span{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.auth-hero-features svg{width:16px;height:16px;color:var(--auth-lime)}.auth-card{flex-direction:column;gap:12px;padding:3px 2px 0;display:flex}.auth-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-kicker{color:#62745e;letter-spacing:.12em;margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:600}.auth-card h2{letter-spacing:-.045em;margin:0;font-size:24px;font-weight:700;line-height:1.4}.auth-step{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:baseline;gap:5px;font-family:Arial,Helvetica,sans-serif;display:flex}.auth-step b{font-size:20px;font-weight:500}.auth-step>span{color:#8a9587;font-size:12px}.auth-description{color:var(--auth-muted);margin:0;font-size:14px;line-height:1.65}.auth-form{flex-direction:column;gap:14px;margin-top:5px;display:flex}.auth-field{color:#344b38;flex-direction:column;gap:9px;min-width:0;font-size:14px;font-weight:500;display:flex}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-wrap>svg{color:#8a9587;pointer-events:none;width:19px;height:19px;position:absolute;left:16px}.auth-field input{width:100%;min-width:0;height:56px;color:var(--auth-ink);-webkit-appearance:none;background:#fff;border:1px solid #d9dfd3;border-radius:14px;outline:none;padding:0 16px;font-size:16px;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:block}.auth-input-wrap input{padding-left:45px}.auth-field input::placeholder{color:#90978a;font-weight:400}.auth-field input:focus{border-color:#62994d;box-shadow:0 0 0 3px #e7f1de}.auth-field input[aria-invalid=true]{border-color:#c57458}.auth-field input:disabled{opacity:.65}.auth-submit{color:#f8fbf3;background:var(--auth-ink);border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:9px 11px 9px 20px;font-size:16px;font-weight:600;transition:background .15s,transform .15s;display:flex}.auth-submit:not(:disabled):hover{background:#245a40}.auth-submit:not(:disabled):active{transform:translateY(1px)}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-submit-icon{width:36px;height:36px;color:var(--auth-ink);background:var(--auth-lime);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.auth-submit-icon svg{width:20px;height:20px}.auth-note{color:var(--auth-muted);justify-content:center;align-items:flex-start;gap:5px;margin:1px 0 0;font-size:12px;line-height:1.7;display:flex}.auth-note svg{flex-shrink:0;width:13px;height:13px;margin-top:3px}.auth-footer{color:#7f897a;border-top:1px solid #e2e7dc;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:auto;padding-top:17px;font-size:11px;line-height:1.6;display:flex}.auth-recipient{background:#f0f4e9;border:1px solid #e1e7d9;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:11px 13px;font-size:14px;line-height:1.6;display:flex}.auth-recipient>svg{flex-shrink:0}.auth-recipient>span{overflow-wrap:anywhere;min-width:0}.auth-field .auth-code-input{letter-spacing:.38em;text-align:center;font-variant-numeric:tabular-nums;height:60px;font-size:26px;font-weight:600}.auth-code-input::placeholder{color:#c1c9b7}.auth-code-actions{justify-content:space-between;align-items:center;gap:12px;margin:-5px 0 -7px;display:flex}.auth-code-actions button{min-height:44px;color:var(--auth-ink);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0;font-size:13px;display:inline-flex}.auth-code-actions button:disabled{color:#8b9584;cursor:not-allowed}.auth-form button:focus-visible{outline-offset:4px;outline:3px solid #7cac52}.auth-form .form-error{margin:0;font-size:13px}.is-verifying .auth-hero h1{margin:14px 0 0;font-size:32px}.is-verifying .auth-hero h1 br,.is-verifying .auth-hero>p{display:none}.is-verifying .auth-hero-features{margin-top:18px}@media (prefers-reduced-motion:reduce){.auth-field input,.auth-submit{transition:none}}.auth-loading{min-height:100%;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:12px;display:flex}.quota-note{color:#778173;text-align:right;margin:-2px 3px 0;font-size:10px}.logout-button{color:#8d5b50}@media (height<=760px){.screen-content{padding-top:58px}.camera-hero{min-height:116px}.camera-icon-wrap{flex-basis:62px;width:62px;height:62px}}@media (width<=600px){.bottom-sheet:has(.sheet-form,.review-sheet){min-height:0;max-height:calc(100% - max(12px, env(safe-area-inset-top,0px)))!important;bottom:0!important}:is(.bottom-sheet:has(.sheet-form,.review-sheet)>.sheet-handle-zone,.bottom-sheet:has(.sheet-form,.review-sheet)>.sheet-header){flex-shrink:0}.bottom-sheet:has(.sheet-form,.review-sheet)>.sheet-content{overscroll-behavior-y:contain;min-height:0;padding-bottom:max(24px, env(safe-area-inset-bottom,0px))}.phone-stage{width:100vw;height:100dvh;padding:0;display:block}.device-menu-bar,.phone-bezel,.status-bar,.home-indicator-svg,.android-navigation-bar,.device-camera{display:none!important}.phone-scale-box,.phone-device,.device-screen{width:100%!important;height:100%!important}.phone-scale-box,.phone-device{position:absolute;inset:0}.phone-device{transform:none!important}.device-screen{box-shadow:none;border-radius:0!important;inset:0!important}.device-screen,.device-screen *{cursor:auto!important}.mobile-cursor{display:none!important}.mobile-page{--mobile-safe-area-height:env(safe-area-inset-bottom,0px)}.field-label-custom input,.multiplier-row input,.mobile-field input{font-size:16px}.screen-content{padding-top:max(24px, env(safe-area-inset-top,20px))}.auth-screen{padding-top:max(24px, calc(env(safe-area-inset-top,0px) + 18px))}}@media (width<=360px){.auth-screen{gap:22px;padding-left:20px;padding-right:20px}.auth-header-note{display:none}.auth-hero{padding-left:20px;padding-right:20px}.auth-hero h1{font-size:40px}.auth-hero-features{gap:5px}.auth-hero-features>span{gap:4px;font-size:11px}.auth-card h2{font-size:22px}.is-verifying .auth-hero h1{font-size:28px}}@media (width<=600px) and (height<=750px){.auth-screen{gap:20px}.auth-hero{padding-top:19px;padding-bottom:17px}.auth-hero h1{margin-top:17px;margin-bottom:10px;font-size:39px}.auth-hero-features{margin-top:16px;padding-top:13px}.is-verifying .auth-hero h1{font-size:28px}}@media (width<=600px) and (height<=650px){.auth-hero h1{font-size:28px}.auth-hero h1 br{display:none}.auth-hero>p{font-size:13px;line-height:1.6}.auth-hero>p br{display:none}}
