@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap";:root{color:#19332d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#dbe4dc;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit}.app-shell{background:radial-gradient(circle at 8% 10%,#f1cd7d8f,#0000 27rem),radial-gradient(circle at 97% 87%,#55978073,#0000 26rem),#dbe4dc;place-items:center;min-height:100svh;padding:24px;display:grid}.mobile-frame{background:#fbfaf5;border:1px solid #19332d1c;border-radius:34px;width:min(100%,430px);min-height:min(880px,100svh - 48px);padding:24px 20px 106px;position:relative;overflow:hidden;box-shadow:0 30px 80px #1b3b3133,0 6px 16px #1b3b3114}.topbar,.balance-row,.section-heading,.meal-title,.macro-meta{align-items:center;display:flex}.topbar{justify-content:space-between}.month-button,.avatar,.text-button,.nav-item,.camera-button{cursor:pointer;border:0}.month-button{color:#19332d;background:0 0;align-items:center;gap:7px;padding:0;font-size:12px;font-weight:800;display:flex}.month-mark{background:#f4c96e;border-radius:10px;place-items:center;width:29px;height:29px;font-family:DM Mono,monospace;font-size:11px;display:grid}.wordmark{letter-spacing:-.7px;font-family:Playfair Display,serif;font-size:18px;font-style:italic}.avatar{color:#fbfaf5;background:#19332d;border-radius:50%;width:31px;height:31px;font-family:DM Mono,monospace;font-size:12px}.daily-hero{margin:48px 2px 28px}.eyebrow{color:#6b8279;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-family:DM Mono,monospace;font-size:10px}.balance-row{justify-content:space-between}h1,h2,h3,p{margin:0}h1{color:#19332d;letter-spacing:-5px;font-size:clamp(56px,16vw,70px);line-height:.93}.balance-label{color:#657b72;margin-top:8px;font-size:13px;font-weight:600}.calorie-orbit{text-align:center;background:conic-gradient(#e1704d 0 50.4%, #efede4 50.4% 100%);border-radius:50%;place-content:center;width:96px;height:96px;display:grid;position:relative}.calorie-orbit:before{content:"";border-radius:inherit;background:#fbfaf5;position:absolute;inset:8px}.calorie-orbit span,.calorie-orbit small{z-index:1}.calorie-orbit span{font-family:DM Mono,monospace;font-size:14px;font-weight:500}.calorie-orbit small{color:#82938c;font-size:9px}.pace-note{color:#49645b;background:#edf2ed;border-radius:11px;align-items:center;gap:8px;margin-top:24px;padding:9px 11px;font-size:11px;font-weight:700;display:inline-flex}.pulse-dot{background:#5ea882;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #5ea88224}.macro-section,.meals-section{border-top:1px solid #e8e9df;padding-top:22px}.meals-section{margin-top:28px}.section-heading{justify-content:space-between;margin-bottom:15px}.section-heading h2{letter-spacing:-.5px;font-size:14px}.section-heading>span{color:#93a39c;font-family:DM Mono,monospace;font-size:10px}.text-button{color:#3a7763;background:0 0;font-size:11px;font-weight:800}.macro-list{gap:13px;display:grid}.macro-meta{justify-content:space-between;margin-bottom:6px;font-size:11px;font-weight:700}.macro-meta strong{font-family:DM Mono,monospace;font-size:11px}.macro-meta small,.meal-card strong small{color:#8ea099;font-size:9px;font-weight:400}.progress-track{background:#eceee8;border-radius:9px;height:5px;overflow:hidden}.progress-fill{border-radius:inherit;height:100%;display:block}.protein{background:#497c6b}.carbs{background:#e8a44e}.fat{background:#e1704d}.meal-list{gap:7px;display:grid}.meal-card{border-bottom:1px dashed #e1e3da;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:11px 0;display:grid}.meal-symbol{color:#536d63;background:#f0f2ec;border-radius:10px;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.meal-title{justify-content:space-between;gap:8px}.meal-title h3{letter-spacing:-.25px;font-size:12px}.meal-title span{color:#96a29d;font-family:DM Mono,monospace;font-size:9px}.meal-copy p{color:#82928b;text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:10px;line-height:1.45;overflow:hidden}.meal-card strong{color:#24443a;font-family:DM Mono,monospace;font-size:12px}.capture-cta{cursor:pointer;color:#fbfaf5;text-align:left;background:#19332d;border:0;border-radius:16px;align-items:center;gap:11px;width:100%;margin-top:22px;padding:13px 14px;display:flex;box-shadow:0 10px 20px #19332d29}.capture-cta strong,.capture-cta small{display:block}.capture-cta strong{font-size:12px}.capture-cta small{color:#b7ccc0;margin-top:1px;font-size:9px}.capture-icon{color:#19332d;background:#f4c96e;border-radius:10px;place-items:center;width:32px;height:32px;font-size:23px;font-weight:400;display:grid}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffced;border:1px solid #19332d14;border-radius:20px;grid-template-columns:1fr 46px 1fr 1fr;align-items:center;height:61px;padding:6px;display:grid;position:absolute;bottom:13px;left:13px;right:13px;box-shadow:0 12px 28px #19332d1f}.nav-item{color:#8a9b94;background:0 0;justify-items:center;gap:3px;font-size:8px;font-weight:800;text-decoration:none;display:grid}.nav-item span{font-size:16px;line-height:1}.nav-item.active{color:#1d5a46}.camera-button{color:#fffaf4;background:#e1704d;border-radius:15px;width:43px;height:43px;font-size:25px;line-height:1;transform:rotate(45deg)}.sheet-backdrop{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10231d52;place-items:end center;padding:0 16px;display:grid;position:fixed;inset:0}.capture-sheet{background:#fbfaf5;border-radius:28px;width:min(100%,430px);margin-bottom:12px;padding:14px 20px 26px;animation:.22s ease-out sheet-in;box-shadow:0 -16px 40px #00000026}.sheet-handle{background:#d9ded8;border-radius:8px;width:34px;height:4px;margin:0 auto 22px}.capture-sheet h2{letter-spacing:-1px;margin-bottom:8px;font-size:23px}.sheet-copy{color:#6d8179;margin-bottom:22px;font-size:12px;line-height:1.55}.sheet-primary,.sheet-option{cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;width:100%;padding:14px 15px;font-weight:800;display:flex}.sheet-primary{color:#fbfaf5;background:#19332d;border:0;font-size:12px}.sheet-primary span{color:#f4c96e;font-size:17px}.sheet-option{color:#27493e;background:0 0;border:1px solid #e4e6de;margin-top:8px;font-size:12px}.sheet-option span{color:#779087;font-size:16px}.scan-page{margin-top:31px}.back-button{color:#4c6b60;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:0 0 31px;padding:0;font-size:11px;font-weight:800;display:inline-flex}.back-button span{font-size:17px;line-height:.8}.scan-page h1{letter-spacing:-2.8px;max-width:340px;font-family:Playfair Display,serif;font-size:clamp(40px,12vw,52px);font-style:italic;line-height:.96}.scan-intro{color:#6d8179;max-width:330px;margin:13px 0 24px;font-size:12px;line-height:1.65}.camera-stage,.photo-preview{background:#e3ebe3;border-radius:25px;min-height:301px;position:relative;overflow:hidden}.camera-stage{background:linear-gradient(142deg,#c9ded1,#eff1d8);place-items:center;display:grid}.camera-stage:before,.camera-stage:after{content:"";filter:blur(2px);opacity:.65;border-radius:50%;position:absolute}.camera-stage:before{background:#f6ce79;width:170px;height:170px;transform:translate(104px,-104px)}.camera-stage:after{background:#79b897;width:120px;height:120px;transform:translate(-130px,116px)}.plate-guide{z-index:1;border:1px dashed #19332d73;border-radius:50%;width:176px;height:176px;position:relative}.plate-guide:before{content:"";border-radius:inherit;border:1px solid #19332d40;position:absolute;inset:20px}.plate-guide span{border-style:solid;border-color:#315c4d;width:12px;height:12px;position:absolute}.plate-guide span:first-child{border-width:2px 0 0 2px;top:-2px;left:26px}.plate-guide span:nth-child(2){border-width:2px 2px 0 0;top:-2px;right:26px}.plate-guide span:nth-child(3){border-width:0 0 2px 2px;bottom:-2px;left:26px}.plate-guide span:nth-child(4){border-width:0 2px 2px 0;bottom:-2px;right:26px}.camera-copy{z-index:1;color:#24483b;justify-items:center;display:grid;position:absolute;bottom:25px}.camera-copy strong{font-size:12px}.camera-copy small{margin-top:3px;font-size:10px;font-weight:600}.camera-glyph{background:#f9f6e6;border-radius:11px;place-items:center;width:31px;height:31px;margin-bottom:6px;font-size:19px;display:grid}.scan-actions{gap:9px;margin-top:18px;display:grid}.scan-primary,.scan-secondary{cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 15px;font-size:12px;font-weight:800;display:flex}.scan-primary{color:#fbfaf5;background:#19332d}.scan-primary span{color:#f4c96e;font-size:17px}.scan-secondary{color:#2e5749;background:#fffefa;border:1px solid #e1e6dd}.scan-secondary span{color:#6e8c81;font-size:17px}.manual-link{color:#467765;cursor:pointer;background:0 0;border:0;justify-self:center;margin-top:4px;padding:7px;font-size:10px;font-weight:800}.manual-link span{margin-left:3px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.photo-preview{background:#edf0eb}.photo-preview img{object-fit:cover;width:100%;height:301px;display:block}.preview-footer{color:#f7faf3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#142f27c2;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 11px;font-family:DM Mono,monospace;font-size:9px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.preview-footer span{text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.preview-footer button{color:#f4c96e;cursor:pointer;font:inherit;background:0 0;border:0;font-weight:700}.continue-analysis{color:#fbfaf5;cursor:pointer;background:#e1704d;border:0;border-radius:14px;justify-content:space-between;align-items:center;width:100%;margin-top:13px;padding:14px 15px;font-size:12px;font-weight:800;display:flex}.continue-analysis span{font-size:17px}.lab-link{color:#467765;cursor:pointer;background:0 0;border:0;margin:12px auto 0;font-size:10px;font-weight:800;display:block}.lab-link span{margin-left:4px}.lab-page{margin-top:31px}.lab-page h1{letter-spacing:-2.7px;max-width:350px;font-family:Playfair Display,serif;font-size:clamp(39px,11vw,49px);font-style:italic;line-height:.98}.lab-intro{color:#6d8179;margin:13px 0 22px;font-size:12px;line-height:1.65}.lab-form{gap:13px;display:grid}.lab-image-picker{cursor:pointer;color:#486b5e;text-align:center;background:#edf3ec;border:1px dashed #aac1b5;border-radius:20px;place-content:center;justify-items:center;min-height:210px;display:grid;overflow:hidden}.lab-image-picker>span{margin-bottom:8px;font-size:38px}.lab-image-picker strong{font-size:13px}.lab-image-picker small{color:#81958b;margin-top:4px;font-size:10px}.lab-image-picker img{object-fit:cover;width:100%;height:210px}.lab-context{color:#47655a;letter-spacing:.03em;text-transform:uppercase;gap:7px;font-size:10px;font-weight:800;display:grid}.lab-context textarea{resize:vertical;color:#19332d;width:100%;min-height:82px;font:inherit;background:#fffefa;border:1px solid #dfe6dc;border-radius:13px;outline:0;padding:12px 13px;font-size:12px;line-height:1.5}.lab-context textarea:focus{border-color:#5ea882;box-shadow:0 0 0 3px #5ea88229}.lab-context small{color:#91a099;letter-spacing:0;text-transform:none;justify-self:end;font-family:DM Mono,monospace;font-size:9px}.lab-submit{cursor:pointer;color:#fbfaf5;background:#e1704d;border:0;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 15px;font-size:12px;font-weight:800;display:flex}.lab-submit span{font-size:17px}.lab-submit:disabled{cursor:wait;opacity:.65}.lab-error{color:#b54835;margin:0;font-size:11px;line-height:1.4}.analysis-result{background:#f4f7f0;border:1px solid #dfe7dc;border-radius:20px;margin-top:24px;padding:17px}.result-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.result-heading h2{letter-spacing:-.6px;max-width:205px;font-size:17px}.result-heading p{color:#779087;margin-top:4px;font-size:10px}.result-heading>strong,.result-item>strong{color:#24443a;font-family:DM Mono,monospace}.result-heading>strong{font-size:22px}.result-heading small,.result-item small{color:#789087;font-size:9px;font-weight:500}.result-items{gap:1px;margin-top:14px;display:grid}.result-item{border-top:1px dashed #d7e0d5;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.result-item h3{font-size:11px}.result-item p{color:#7d9188;margin-top:3px;font-size:9px}.result-item>strong{font-size:12px}.result-macros{color:#748a80;text-align:center;border-top:1px solid #dce5da;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px;padding-top:12px;font-size:9px;display:grid}.result-macros b{color:#2f5749;font-family:DM Mono,monospace;font-size:11px;display:block}.result-note{color:#647c72;margin-top:13px;font-size:10px;line-height:1.45}.result-meta{color:#92a099;margin-top:12px;font-family:DM Mono,monospace;font-size:8px}.placeholder-page{align-content:center;min-height:620px;display:grid}.placeholder-page h1{letter-spacing:-2.5px;max-width:330px;font-family:Playfair Display,serif;font-size:46px;font-style:italic;line-height:1}.placeholder-page p:not(.eyebrow){color:#6d8179;max-width:270px;margin:14px 0 22px;font-size:13px;line-height:1.6}.placeholder-page a{color:#fbfaf5;background:#19332d;border-radius:12px;width:fit-content;padding:12px 14px;font-size:11px;font-weight:800;text-decoration:none}.auth-shell{background:radial-gradient(circle at 12% 8%,#f4c96eb8,#0000 22rem),radial-gradient(circle at 92% 90%,#5ea8826b,#0000 25rem),#dbe4dc;place-items:center;min-height:100svh;padding:24px;display:grid}.auth-card{background:#fbfaf5;border:1px solid #19332d1a;border-radius:30px;width:min(100%,430px);padding:32px 26px 26px;box-shadow:0 28px 70px #1b3b312e}.auth-mark{color:#19332d;background:#f4c96e;border-radius:14px;place-items:center;width:43px;height:43px;margin-bottom:52px;font-family:Playfair Display,serif;font-size:22px;font-style:italic;font-weight:700;display:grid}.auth-card h1{letter-spacing:-3.5px;max-width:330px;margin:4px 0 14px;font-family:Playfair Display,serif;font-size:clamp(45px,12vw,59px);font-style:italic;line-height:.94}.auth-intro{color:#6d8179;max-width:315px;font-size:13px;line-height:1.6}.auth-form{gap:16px;margin-top:31px;display:grid}.auth-form label{color:#47655a;letter-spacing:.03em;text-transform:uppercase;gap:7px;font-size:10px;font-weight:800;display:grid}.auth-form input{color:#19332d;width:100%;font:inherit;text-transform:none;background:#fffefa;border:1px solid #dfe6dc;border-radius:13px;outline:0;padding:13px 14px;font-size:13px;transition:border-color .16s,box-shadow .16s}.auth-form input:focus{border-color:#5ea882;box-shadow:0 0 0 3px #5ea88229}.username-field{background:#fffefa;border:1px solid #dfe6dc;border-radius:13px;align-items:center;display:flex;overflow:hidden}.username-field:focus-within{border-color:#5ea882;box-shadow:0 0 0 3px #5ea88229}.username-field input{min-width:0;box-shadow:none;border:0}.username-field span{color:#91a099;white-space:nowrap;text-transform:none;padding-right:14px;font-family:DM Mono,monospace;font-size:10px}.auth-submit{cursor:pointer;color:#fbfaf5;background:#19332d;border:0;border-radius:14px;justify-content:space-between;align-items:center;margin-top:5px;padding:14px 15px;font-size:12px;font-weight:800;display:flex;box-shadow:0 10px 20px #19332d24}.auth-submit span{color:#f4c96e;font-size:17px}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-error{color:#b54835;margin:-2px 0;font-size:11px;line-height:1.4}.auth-footnote{color:#91a099;margin-top:21px;font-family:DM Mono,monospace;font-size:9px}.auth-loading{color:#4f6e62;background:#fbfaf5;place-items:center;min-height:100svh;font-family:DM Mono,monospace;font-size:11px;display:grid}.auth-switch{color:#467765;cursor:pointer;background:0 0;border:0;margin:15px auto 0;padding:4px;font-size:11px;font-weight:800;display:block}.save-analysis{gap:7px;margin-top:12px;display:flex}.save-analysis select,.save-analysis button{font:inherit;border-radius:10px;font-size:10px;font-weight:800}.save-analysis select{color:#36574a;background:#fffefa;border:1px solid #d6e0d4;flex:1;padding:9px}.save-analysis button{cursor:pointer;color:#fbfaf5;background:#19332d;border:0;padding:9px 11px}.result-save-status{color:#467765;margin-top:8px;font-size:9px;font-weight:700}.suggestion-card{background:#fff9e9;border:1px solid #ecdcae;border-radius:19px;margin-top:28px;padding:17px}.suggestion-card h2{letter-spacing:-.5px;margin-top:3px;font-size:17px}.suggestion-card>p:not(.eyebrow){color:#6c7966;margin:7px 0 12px;font-size:11px;line-height:1.5}.suggestion-card textarea{resize:vertical;color:#29483d;width:100%;min-height:68px;font:inherit;background:#fffefa;border:1px solid #eadfc3;border-radius:11px;outline:0;padding:10px;font-size:11px}.suggestion-card textarea:focus{border-color:#d09945;box-shadow:0 0 0 3px #d099451f}.suggestion-card>button{cursor:pointer;color:#fbfaf5;background:#7c6538;border:0;border-radius:11px;justify-content:space-between;align-items:center;width:100%;margin-top:9px;padding:11px 12px;font-size:11px;font-weight:800;display:flex}.suggestion-card>button:disabled{cursor:wait;opacity:.65}.suggestion-error{color:#b54835!important}.suggestion-result{border-top:1px dashed #dccb9b;gap:7px;margin-top:13px;padding-top:13px;display:grid}.suggestion-result strong{color:#3b4e3d;font-size:13px}.suggestion-result b{color:#a05a34;font-family:DM Mono,monospace;font-size:12px}.suggestion-result p,.suggestion-result small{color:#607362;font-size:10px;line-height:1.45}.suggestion-result ul{color:#4d6657;gap:3px;margin:0;padding-left:16px;font-size:10px;display:grid}.empty-state{color:#81928b;margin:6px 0;font-size:11px;line-height:1.5}.profile-page{margin-top:39px}.profile-page h1{letter-spacing:-2.5px;max-width:340px;font-family:Playfair Display,serif;font-size:46px;font-style:italic;line-height:1}.profile-intro{color:#6d8179;margin:13px 0 22px;font-size:12px;line-height:1.6}.profile-form{gap:12px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.profile-field{color:#47655a;letter-spacing:.03em;text-transform:uppercase;gap:6px;font-size:10px;font-weight:800;display:grid}.profile-field input,.profile-field select,.profile-field textarea{color:#19332d;width:100%;font:inherit;text-transform:none;background:#fffefa;border:1px solid #dfe6dc;border-radius:12px;outline:0;padding:11px 12px;font-size:12px}.profile-field textarea{resize:vertical;min-height:74px;line-height:1.45}.profile-field input:focus,.profile-field select:focus,.profile-field textarea:focus{border-color:#5ea882;box-shadow:0 0 0 3px #5ea88229}.profile-submit{cursor:pointer;color:#fbfaf5;background:#19332d;border:0;border-radius:13px;justify-content:space-between;align-items:center;padding:13px 14px;font-size:12px;font-weight:800;display:flex}.profile-submit:disabled{opacity:.6;cursor:wait}.profile-status{color:#4e7665;margin:0;font-size:10px;font-weight:700}.signout-button{color:#a95240;cursor:pointer;background:0 0;border:0;margin:21px auto 0;font-size:10px;font-weight:800;display:block}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width<=480px){.app-shell,.auth-shell{background:#fbfaf5;padding:0;display:block}.auth-card{width:100%;min-height:100svh;box-shadow:none;border:0;border-radius:0;padding:30px 20px}.mobile-frame{width:100%;min-height:100svh;box-shadow:none;border:0;border-radius:0}.capture-sheet{border-radius:27px 27px 0 0;margin-bottom:0}}@media (prefers-reduced-motion:reduce){.capture-sheet{animation:none}}
