@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,600&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#18352d;background:#f4f1e9;font-synthesis:none;--green:#1f5d4d;--ink:#18352d;--cream:#f4f1e9;--paper:#fffdf7;--line:#dedbd1;--orange:#d36c4a}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}.app-shell{max-width:760px;margin:auto;min-height:100dvh;padding-bottom:90px}header{padding:max(22px,env(safe-area-inset-top)) 20px 12px;display:flex;align-items:end;justify-content:space-between}header h1{font:600 25px/1 Newsreader,serif;margin:4px 0}.eyebrow{font-size:9px;letter-spacing:.18em;color:#6d827a;font-weight:700}main{padding:8px 16px 32px}.page-title{display:flex;justify-content:space-between;align-items:center;margin:10px 2px 18px}.page-title h2{font:600 34px/1.05 Newsreader,serif;margin:0}.page-title p{margin:7px 0 0;color:#65756f;font-size:13px}.card{background:var(--paper);border:1px solid rgba(38,75,65,.1);border-radius:18px;padding:16px;margin:0 0 12px;box-shadow:0 3px 14px #2d39300a}.card h3{margin:0 0 14px;font-size:16px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;margin:auto;max-width:760px;background:#fffdf7f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;padding:8px 8px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);overflow-x:auto}.bottom-nav a{color:#708078;text-decoration:none;min-width:59px;flex:1;text-align:center;padding:4px 2px}.bottom-nav a span{display:block;font-size:20px;height:23px}.bottom-nav a small{font-size:9px;font-weight:600}.bottom-nav a.active{color:var(--green)}.primary,.secondary,.upload-button{border:0;border-radius:12px;padding:13px 16px;font-weight:700}.primary{background:var(--green);color:#fff}.secondary{background:#e7eee9;color:var(--green)}.full{width:100%}.text-button{border:0;background:none;color:var(--green);padding:12px;font-weight:600}.danger{color:#b94a3e}.outline-small{border:1px solid #b9c8c2;background:transparent;color:var(--green);border-radius:20px;padding:8px 13px;font-weight:700}.date-strip{display:flex;align-items:center;justify-content:center;gap:12px;margin:-8px 0 14px}.date-strip button{border:0;background:transparent;font-size:30px;color:var(--green)}.date-strip input{border:0;background:transparent;color:var(--ink);font-weight:700}.energy-card{display:flex;align-items:center;justify-content:space-around;padding:20px}.energy-ring{width:145px;height:145px;border-radius:50%;background:conic-gradient(var(--green) var(--progress),#e5e8e1 0);display:grid;place-items:center;position:relative}.energy-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--paper)}.energy-ring div{position:relative;text-align:center}.energy-ring strong{font:600 34px/1 Newsreader,serif;display:block}.energy-ring span{font-size:11px;color:#6a7872}.remaining{text-align:center}.remaining span,.remaining small{display:block;color:#738079;font-size:11px}.remaining b{font:600 30px/1.2 Newsreader,serif}.macros{display:grid;grid-template-columns:1fr 1fr;gap:19px}.macro>div:first-child{display:flex;justify-content:space-between;align-items:baseline}.macro span{font-size:11px;color:#687872}.macro small{color:#809089;font-size:9px}.track{height:5px;background:#e8e8df;border-radius:5px;margin:6px 0}.track i{display:block;height:100%;border-radius:5px}.meal{padding:0;overflow:hidden}.meal-head{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ece9e0}.meal-head h3{margin:0;font:600 20px Newsreader,serif}.round-add{background:var(--green);color:#fff;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:22px}.empty{color:#8b938f;font-size:12px;padding:0 15px 12px}.entry{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid #efede6}.entry>div b,.entry>div span{display:block}.entry>div b{font-size:13px}.entry>div span{font-size:10px;color:#7a8681;margin-top:3px}.entry>strong{font-size:13px}.entry>button{border:0;background:none;color:#a7ada9;font-size:20px}.search-box{height:52px;background:var(--paper);border:1px solid #cdd6d1;border-radius:15px;display:flex;align-items:center;padding:0 14px;margin-bottom:16px}.search-box span{font-size:24px}.search-box input{border:0;outline:0;background:none;width:100%;padding:10px}.food-result{padding:0}.food-result>button{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border:0;padding:14px;color:inherit}.food-result div:first-child>b,.food-result div:first-child>span{display:block}.food-result div:first-child>span{font-size:11px;color:#75817b;margin:3px 0}.source{display:inline-block;text-transform:capitalize;padding:2px 6px;border-radius:6px;background:#e9eee8;color:#537265;font-size:8px}.source.usda{background:#e7ede2}.source.open_food_facts{background:#eee8df}.food-kcal{text-align:right;min-width:75px}.food-kcal>b,.food-kcal>span{display:block}.food-kcal>b{font:600 20px Newsreader,serif}.food-kcal>span{font-size:8px;color:#7d8983}.food-kcal i{display:inline-grid;place-items:center;background:#e4ede8;color:var(--green);width:25px;height:25px;border-radius:50%;font-style:normal;margin-top:5px}.hint{text-align:center;padding:50px 25px;color:#73807a}.hint b{color:var(--ink)}.hint p{font-size:12px;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .wide{grid-column:1/-1}label{display:block;font-size:11px;text-transform:capitalize;color:#687871;font-weight:600;margin-bottom:12px}input,select,textarea{display:block;width:100%;border:1px solid #ccd4d0;background:#fff;border-radius:10px;padding:11px;color:var(--ink);margin-top:5px;text-transform:none}textarea{resize:vertical}.error{background:#fff0ed;color:#9c3f31;border:1px solid #f2c8c0;padding:12px;border-radius:10px;font-size:12px;margin:10px 0}.spinner{width:30px;height:30px;border:3px solid #d7ddd8;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin:35px auto}@keyframes spin{to{transform:rotate(360deg)}}.scanner{padding:10px}.video-wrap{height:300px;background:#173d34;border-radius:14px;position:relative;overflow:hidden;margin-bottom:10px}.video-wrap video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:25% 10%;border:2px solid #e8c46a;border-radius:13px;box-shadow:0 0 0 999px #0000002e}.camera-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#d8e2de}.camera-placeholder span{font-size:45px}.camera-placeholder p{font-size:12px}.privacy-note{font-size:10px;color:#75827d;text-align:center;line-height:1.4}.upload-button{display:block;text-align:center;background:#e8eeea;color:var(--green);margin-bottom:12px}.upload-button input,.photo-upload input{display:none}.manual-barcode{display:flex;gap:8px}.manual-barcode input{margin:0}.manual-barcode button{border:0;background:var(--green);color:#fff;border-radius:10px;padding:0 15px;white-space:nowrap}.photo-upload{min-height:240px;display:grid;place-items:center;border:1px dashed #96aaa2}.photo-upload label{text-align:center;margin:0;cursor:pointer}.photo-upload span,.photo-upload b,.photo-upload small{display:block}.photo-upload span{font-size:50px;color:var(--green)}.photo-upload b{font-size:16px;color:var(--ink);margin:12px}.photo-upload small{color:#7c8983}.segmented{display:flex;background:#e3e5de;border-radius:12px;padding:3px;margin-bottom:14px}.segmented button{border:0;background:none;padding:10px;flex:1;border-radius:9px;color:#6b7872;font-weight:600}.segmented .active{background:var(--paper);color:var(--green);box-shadow:0 2px 5px #ccd0c8}.center{text-align:center}.draft-head,.recipe-title{display:flex;justify-content:space-between}.draft-head span{font-size:9px;color:#a14c3c;background:#f9e8e2;padding:5px 8px;height:min-content;border-radius:10px}.draft-item{padding:12px 0;border-top:1px solid #e8e6df}.draft-item>div b,.draft-item>div small{display:block}.draft-item>div small{color:#7e8984;font-size:9px}.notice{background:#f1eee4;padding:9px;border-radius:8px;font-size:10px}.muted{color:#78857f;font-size:11px}.candidate{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #e8e6df;font-size:12px}.candidate span{color:#7d8983}.recipe-title h3{margin-bottom:2px}.recipe-title span{font-size:10px;color:#77837e}.recipe-title>b{font:600 24px Newsreader,serif}.recipe-title small{font:500 9px DM Sans}.recipe-macros{display:flex;gap:12px;font-size:9px;color:#6d7c75;margin:13px 0}.weight-summary{display:grid;grid-template-columns:1fr 1fr}.weight-summary div{padding:5px 12px}.weight-summary div+div{border-left:1px solid var(--line)}.weight-summary span,.weight-summary b{display:block}.weight-summary span{font-size:10px;color:#75817c}.weight-summary b{font:600 27px Newsreader,serif;margin-top:7px}.weight-summary small{font-size:10px}.good{color:var(--green)}.chart{width:100%;height:130px}.history>div{display:flex;justify-content:space-between;padding:12px 4px;border-bottom:1px solid #dddcd5;font-size:12px}.toggle{display:flex;align-items:center;text-transform:none}.toggle input{width:auto;margin:0 10px 0 0}.login-page{max-width:420px;margin:auto;padding:12vh 20px 30px;text-align:center}.login-page h1{font:600 38px Newsreader,serif;margin:15px 0 5px}.login-page>p{color:#718079;font-size:13px;margin-bottom:30px}.login-page form{text-align:left;padding:22px}.login-mark{width:62px;height:62px;border-radius:20px;background:var(--green);color:#fff;display:grid;place-items:center;margin:auto;font:600 24px Newsreader,serif}.login-page .text-button{width:100%}.splash{min-height:100vh;display:grid;place-items:center;color:var(--green)}.clear-search{border:0;background:none;color:#738079;font-size:24px;padding:8px}.result-heading{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6f7f78;margin:18px 3px 9px}.search-status,.provider-note{font-size:11px;color:#708078;padding:3px 5px 12px}.search-status.warning{color:#9c603d}.provider-note{background:#ebe9df;border-radius:10px;padding:10px;margin-top:12px}.external-progress{display:flex;align-items:center;justify-content:center;gap:8px;color:#708078;font-size:11px;padding:5px}.external-progress .spinner{width:18px;height:18px;margin:8px 0;border-width:2px}.scan-frame{height:30%;inset:auto 7% 35%}.scan-frame span{position:absolute;left:4%;right:4%;top:50%;height:2px;background:#f0ce73;box-shadow:0 0 8px #f0ce73}.is-scanning .scan-frame span{animation:scanline 1.8s ease-in-out infinite}@keyframes scanline{0%,to{transform:translateY(-35px)}50%{transform:translateY(35px)}}.scanner-actions{display:flex;gap:8px}.scanner-actions .primary{flex:1}.scan-message{min-height:32px;margin:10px 8px 2px;text-align:center;color:#536c63;font-size:12px;line-height:1.4}@media(min-width:700px){main{padding-left:30px;padding-right:30px}.meal-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.page-title h2{font-size:40px}.video-wrap{height:380px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.spinner{animation:none}}.goal-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.goal-card-link{text-decoration:none;color:inherit}.goal-overview .card{min-height:145px;display:flex;flex-direction:column;justify-content:flex-end}.goal-overview small,.goal-overview b{display:block}.goal-overview small{color:#718079;margin-top:12px}.goal-overview b{font:600 20px Newsreader,serif;margin-top:4px}.goal-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f8d7ca;color:#783f31;font-size:25px;margin-bottom:auto}.goal-settings{padding:0;overflow:hidden}.goal-settings>button,.goal-settings>a{width:100%;border:0;border-bottom:1px solid #e7e5dd;background:none;padding:17px 16px;display:flex;justify-content:space-between;text-align:left;color:var(--ink);text-decoration:none}.goal-settings>button:last-child,.goal-settings>a:last-child{border-bottom:0}.goal-settings b{font-weight:500;color:#56645e}.goal-settings i{font-style:normal;font-size:22px;margin-left:8px}.goal-progress{background:#dff4f3;border-color:#acdedd}.goal-progress>div{display:flex;justify-content:space-between;padding:5px 0}.goal-progress span{font-size:11px;color:#5d7470}.goal-progress p{font-size:11px;line-height:1.5;margin:12px 0 0}.goal-setup-link{display:block;text-align:center;text-decoration:none;margin-top:14px}.goal-editor .draft-head{align-items:center}.goal-editor .draft-head h3{margin:0}.settings-link{display:block;text-align:center;text-decoration:none;margin:5px 0 18px}.back-link{display:inline-block;color:var(--green);text-decoration:none;font-weight:700;margin:6px 2px 14px}.form-section-title{margin:22px 0 2px!important}.selection-bar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:8px;z-index:10;border-color:#a9c8bc}.selection-bar>div,.form-actions{display:flex;gap:8px;justify-content:flex-end}.selection-bar .text-button{padding:10px}.selection-recipe{border-color:#a9c8bc}.selectable{cursor:pointer}.entry.selected{background:#edf5f1}.entry-checkbox{appearance:none;width:22px;height:22px;padding:0;margin:0;border:2px solid #91a49c;border-radius:7px;display:grid;place-items:center}.entry-checkbox:checked{background:var(--green);border-color:var(--green)}.entry-checkbox:checked:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.recipe-add-tools{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.recipe-add-tools .search-box{margin:0}.barcode-add{display:flex;height:52px;align-items:center;text-decoration:none;white-space:nowrap}.ingredient-result{width:100%;border:0;border-bottom:1px solid #e6e5dd;background:#f8f8f3;color:var(--ink);display:flex;align-items:center;justify-content:space-between;text-align:left;padding:11px}.ingredient-result span b,.ingredient-result span small{display:block}.ingredient-result span small{color:#78857f;margin-top:2px}.ingredient-result strong{color:var(--green);font-size:12px}.recipe-ingredients{margin:14px 0}.recipe-ingredient{display:grid;grid-template-columns:1fr 90px 28px;align-items:center;gap:8px;border-top:1px solid #e7e5dd;padding:10px 0}.recipe-ingredient>div b,.recipe-ingredient>div small{display:block}.recipe-ingredient>div small{font-size:9px;color:#78857f}.recipe-ingredient label{position:relative;margin:0}.recipe-ingredient input{margin:0;padding-right:24px}.recipe-ingredient em{position:absolute;right:9px;top:12px;font-size:10px;color:#75817c;font-style:normal}.recipe-ingredient>button{border:0;background:none;color:#9aa49f;font-size:22px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:420px){.selection-bar{align-items:flex-start}.selection-bar>div{flex-direction:column}.selection-bar button{padding:9px 11px}.recipe-add-tools{grid-template-columns:1fr}.barcode-add{justify-content:center;height:44px}}.photo-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.photo-upload .photo-mark{font-size:50px;color:var(--green)}.photo-upload>small{color:#7c8983}.photo-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;margin-top:20px}.photo-choices label{margin:0;cursor:pointer;text-transform:none;font-size:12px;text-align:center;border-radius:12px;padding:13px 10px;font-weight:700}.photo-choices .primary{color:#fff}.photo-choices .secondary{color:var(--green)}.password-help{font-size:10px;color:#718079;line-height:1.45;margin:-4px 0 14px}.success{background:#e5f2ea;color:#245f4d;border:1px solid #bedbcf;padding:12px;border-radius:10px;font-size:12px;margin:10px 0}.portion-backdrop{position:fixed;z-index:40;inset:0;background:#14231d73;display:grid;align-items:end;padding:16px}.portion-dialog{width:min(100%,520px);margin:0 auto max(8px,env(safe-area-inset-bottom));box-shadow:0 20px 55px #0003}.portion-dialog h3{font:600 24px Newsreader,serif;margin-bottom:2px}.portion-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.portion-summary{font-size:12px;color:#64746e;background:#eef2ed;padding:10px;border-radius:9px}.home-weight{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit}.home-weight small,.home-weight b{display:block}.home-weight small{font-size:10px;color:#718079}.home-weight b{font:600 25px Newsreader,serif;margin-top:3px}.home-weight span{color:var(--green);font-weight:700;font-size:12px}.sleep-summary{padding:17px}.sleep-heading,.sleep-empty{display:flex;align-items:center;justify-content:space-between}.sleep-heading div,.sleep-empty div{display:flex;flex-direction:column}.sleep-heading small,.sleep-empty small{font-size:9px;letter-spacing:.1em;color:#718079}.sleep-heading b,.sleep-empty b{font:600 24px Newsreader,serif;margin-top:4px}.sleep-heading>span,.sleep-empty>span{font-size:10px;color:#718079}.sleep-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.sleep-stages div{background:#ecebf3;border-radius:11px;padding:9px 6px;display:flex;flex-direction:column}.sleep-stages b{font-size:13px}.sleep-stages small{font-size:9px;color:#6f7180;margin-top:2px}.sleep-summary p{margin:0;line-height:1.4}.sleep-empty{padding:17px}.sleep-empty>span{max-width:45%;text-align:right}.expenditure-card{padding:17px}.expenditure-heading,.expenditure-empty,.target-equation{display:flex;align-items:center;justify-content:space-between}.expenditure-heading div,.expenditure-empty div{display:flex;flex-direction:column}.expenditure-heading small,.expenditure-empty small{font-size:9px;letter-spacing:.1em;color:#718079}.expenditure-heading b,.expenditure-empty b{font:600 24px Newsreader,serif;margin-top:4px}.expenditure-heading>span,.expenditure-empty>span{font-size:10px;color:#718079}.expenditure-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.expenditure-grid div{background:#e8eee9;border-radius:11px;padding:10px}.expenditure-grid small,.expenditure-grid b{display:block}.expenditure-grid small{font-size:9px;color:#718079}.expenditure-grid b{font-size:17px;margin-top:3px}.target-equation{border-top:1px solid var(--line);padding-top:12px;font-size:11px}.target-equation strong{font-size:13px}.expenditure-card p{margin:12px 0 0;line-height:1.4}.expenditure-empty{padding:17px}.expenditure-empty>span{max-width:45%;text-align:right}.missing-calories{border:1px solid #dfbd72;background:#fff5dd;color:#6f531c}.missing-calories p{margin:6px 0 10px;line-height:1.45}.missing-calories .secondary{width:100%;margin:5px 0;background:#fff}.review-check{display:flex;align-items:center;gap:8px;margin:10px 0 0!important;color:#5e4a22!important;text-transform:none!important}.review-check input{width:20px;height:20px;margin:0}.source.fatsecret{background:#e8edf5}.macro-split{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;padding:12px;border-radius:14px;background:#f0eee6}.macro-split div{display:flex;flex-direction:column;min-width:0}.macro-split b{font-size:16px;color:var(--green)}.macro-split span,.macro-split small{font-size:11px;color:#718079;line-height:1.3}.macro-split>small{grid-column:1/-1}.ai-estimate-card{border-color:#dfbd72;background:#fffdf7}.estimate-assumption{display:block;color:#718079;margin:5px 0;padding-left:12px}.estimate-assumption:before{content:"•";margin-left:-10px;margin-right:6px}.estimate-disclaimer{display:block;text-align:center;color:#876c36;margin-top:9px}.ingredient-search-link{display:block;text-align:center;text-decoration:none;margin-top:12px}.ai-estimate-card .draft-head h3{margin:0}
