:root{--ink:#15372f;--cream:#f9f7f1;--paper:#fffdf8;--line:#e6e4db;--muted:#7d897f;--lime:#d9f25e;--coral:#f7947d;--lavender:#bdb7ef;--yellow:#f4d06f;--shadow:0 16px 45px rgba(21,55,47,.08)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif}.app-shell{min-height:100vh;max-width:1040px;margin:auto;padding:0 40px 110px}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.7px;font-size:21px;color:var(--ink);text-decoration:none}.brand-mark{height:29px;width:29px;border-radius:50% 50% 50% 7px;background:var(--lime);display:grid;place-items:center;font:700 22px/1 Playfair Display;transform:rotate(-17deg)}button{font:inherit;color:inherit;cursor:pointer}.desktop-nav{display:flex;gap:27px}.nav-link,.text-button{border:0;background:transparent;color:var(--muted);font-size:14px;font-weight:700;padding:8px 0}.nav-link.active{color:var(--ink);position:relative}.nav-link.active:after{content:"";height:3px;background:var(--lime);border-radius:4px;position:absolute;left:0;right:0;bottom:0}.avatar,.large-avatar{border:0;border-radius:50%;background:#edcab7;color:#7b4a35;font-size:12px;font-weight:800;display:grid;place-items:center}.avatar{width:36px;height:36px}.tab-panel{display:none}.tab-panel.active{display:block}.date-row{display:flex;justify-content:center;align-items:center;gap:17px;margin:27px 0 28px}.day-arrow{border:0;background:transparent;font-size:20px;color:var(--ink);padding:5px}.today-date{display:flex;align-items:center;gap:8px;border:0;background:transparent}.today-date span:first-child{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:800}.today-date strong{font-size:16px}.chevron{font-size:18px;color:var(--muted)}#dateInput{position:absolute;opacity:0;pointer-events:none}.hero-card{min-height:264px;border-radius:26px;background:var(--ink);color:#fffdf7;padding:39px 49px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.hero-card:after{content:"";width:310px;height:310px;border:1px solid rgba(217,242,94,.25);border-radius:50%;position:absolute;right:-122px;top:-62px}.hero-copy{position:relative;z-index:1}.eyebrow{font:500 11px/1.2 DM Mono,monospace;letter-spacing:1.3px;margin:0 0 10px;color:var(--muted)}.hero-card .eyebrow{color:var(--lime)}h1,h2,p{margin-top:0}h1{font-size:39px;line-height:1.14;letter-spacing:-1.8px;margin-bottom:15px}h1 em,h2 em{font-family:Playfair Display,serif;font-weight:600}.supporting{font-size:14px;color:#b7c5bb;margin-bottom:0}.calorie-orbit{width:187px;height:187px;position:relative;z-index:1;flex:none}.calorie-orbit svg{width:100%;height:100%;transform:rotate(-90deg)}.orbit-track,.orbit-progress{fill:none;stroke-width:12}.orbit-track{stroke:#ffffff24}.orbit-progress{stroke:var(--lime);stroke-linecap:round;stroke-dasharray:452.4;stroke-dashoffset:407;transition:.45s ease}.orbit-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.orbit-center span{font-size:31px;font-weight:800;letter-spacing:-1.5px}.orbit-center small{font:11px DM Mono;color:#bdc7c0;margin-top:2px}.daily-summary{min-height:95px;display:flex;align-items:center;padding:0 17px 0 24px;background:var(--paper);border:1px solid var(--line);border-radius:0 0 21px 21px;margin:0 20px;box-shadow:0 12px 30px #15372f09}.summary-stat{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:baseline}.summary-stat span{grid-column:1/-1;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:4px}.summary-stat strong{font-size:24px;letter-spacing:-1px}.summary-stat small{font-size:11px;color:var(--muted)}.summary-divider{width:1px;height:36px;background:var(--line);margin:0 32px}.text-button{margin-left:auto;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.macros-section,.meals-section{margin-top:52px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.section-heading h2{font-size:23px;letter-spacing:-.9px;margin:0}.macro-note{font:11px DM Mono;color:var(--muted)}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.macro-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:18px}.macro-label{display:flex;align-items:center;justify-content:space-between}.macro-label span{font-size:13px;font-weight:700}.macro-label b{font-size:20px;letter-spacing:-.5px}.macro-label b span{font-size:11px;color:var(--muted);margin-left:2px}.macro-track{height:7px;border-radius:99px;background:#edece6;margin:18px 0 10px;overflow:hidden}.macro-track i{display:block;width:10%;height:100%;border-radius:inherit;transition:width .35s}.protein i{background:var(--coral)}.carbs i{background:var(--yellow)}.fat i{background:var(--lavender)}.macro-card small{font-size:11px;color:var(--muted)}.add-outline{border:1px solid var(--ink);border-radius:99px;background:transparent;font-size:12px;font-weight:800;padding:9px 14px}.meal-group{border-top:1px solid var(--line);padding:19px 0 6px}.meal-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.meal-title h3{font-size:15px;margin:0}.meal-title span{font:11px DM Mono;color:var(--muted)}.food-row{background:var(--paper);border-radius:14px;display:grid;grid-template-columns:42px 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;margin-bottom:8px}.food-emoji{width:42px;height:42px;background:#f3efe6;border-radius:11px;display:grid;place-items:center;font-size:21px}.food-name{font-size:13px;font-weight:800}.food-meta{font-size:11px;color:var(--muted);margin-top:3px}.food-calories{font-size:13px;font-weight:800}.food-calories small{font-size:10px;color:var(--muted);font-weight:500}.remove-food{border:0;background:transparent;color:#a7afa8;font-size:19px;padding:3px}.empty-meal{font-size:12px;color:var(--muted);margin:8px 0 15px}.floating-add{position:fixed;right:max(28px,calc((100vw - 1040px)/2 + 5px));bottom:31px;width:56px;height:56px;border:0;border-radius:50%;background:var(--lime);box-shadow:0 8px 22px #4a5e0038;font-size:30px;line-height:1}.mobile-nav{display:none}.page-intro{padding:45px 0 25px}.page-intro .supporting{color:var(--muted)}.insight-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:14px}.insight-card h2{font-size:23px;margin:0 0 5px;letter-spacing:-.8px}.insight-card p:not(.eyebrow){font-size:13px;color:var(--muted);margin-bottom:0}.week-card{display:flex;align-items:center;justify-content:space-between}.mini-bars{height:78px;display:flex;align-items:flex-end;gap:8px}.mini-bar{width:13px;border-radius:6px 6px 2px 2px;background:#dce6d4;position:relative}.mini-bar.today{background:var(--lime)}.mini-bar em{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);font:9px DM Mono;font-style:normal;color:var(--muted)}.nutrient-tip{display:flex;gap:17px;background:#edf3df}.tip-icon{font-size:22px;color:#769d2b}.profile-head{display:flex;gap:18px;align-items:center;padding:52px 0 30px}.profile-head h1{margin:0 0 5px}.profile-head p:last-child{font-size:13px;color:var(--muted);margin:0}.large-avatar{width:64px;height:64px;font-size:17px}.settings-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:17px}.settings-card label{font-size:12px;font-weight:800}.settings-card input{display:block;width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;margin-top:7px;font:14px Manrope;color:var(--ink)}.primary-button{border:0;border-radius:11px;background:var(--ink);color:#fff;font-size:13px;font-weight:800;padding:12px 18px}.settings-card .primary-button{grid-column:1/-1}.danger-button{border:0;background:transparent;color:#b8554d;text-decoration:underline;text-underline-offset:4px;font-size:12px;font-weight:700;padding:19px 0}.food-dialog{border:0;background:transparent;padding:0;width:min(590px,calc(100vw - 30px));max-height:90vh}.food-dialog::backdrop{background:#0d231d7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-card{background:var(--paper);border-radius:23px;padding:26px;max-height:88vh;overflow:auto}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start}.dialog-top h2{font-size:25px;letter-spacing:-1px;margin:0}.icon-button{border:0;background:#edf0e8;border-radius:50%;width:31px;height:31px;font-size:21px;line-height:1}.meal-picker{display:flex;gap:7px;margin:23px 0 14px;overflow:auto}.meal-choice{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:800;white-space:nowrap}.meal-choice.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.search-field{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 12px;color:var(--muted)}.search-field input{border:0;outline:0;width:100%;padding:13px 0;font:13px Manrope;background:transparent}.food-results{max-height:240px;overflow:auto;margin:12px 0 5px}.search-result{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;width:100%;border:0;border-radius:10px;background:transparent;text-align:left;padding:8px}.search-result:hover{background:#f1f2eb}.search-result .food-emoji{width:36px;height:36px;font-size:18px}.search-result b{font-size:13px}.search-result small{font-size:11px;color:var(--muted)}.search-result>span:last-child{font:11px DM Mono;color:var(--muted)}.manual-food{border-top:1px solid var(--line);margin-top:9px;padding-top:15px}.manual-food>p{font-size:12px;color:var(--muted);margin-bottom:12px}.manual-grid{display:grid;grid-template-columns:2fr repeat(2,1fr);gap:9px;margin-bottom:12px}.manual-grid label{font-size:10px;font-weight:800}.manual-grid input{width:100%;border:1px solid var(--line);border-radius:8px;margin-top:4px;padding:8px;font:12px Manrope}.manual-grid label:first-child{grid-column:span 2}.toast{position:fixed;z-index:4;left:50%;bottom:31px;transform:translate(-50%,20px);background:var(--ink);color:#fff;border-radius:99px;padding:10px 17px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:700px){.app-shell{padding:0 18px 104px}.topbar{height:70px}.desktop-nav{display:none}.date-row{margin:19px 0 20px}.hero-card{min-height:277px;padding:30px 25px;align-items:flex-start}.hero-card h1{font-size:31px}.hero-card .supporting{width:190px;line-height:1.5}.calorie-orbit{width:136px;height:136px;position:absolute;right:9px;bottom:8px}.orbit-track,.orbit-progress{stroke-width:11px}.orbit-center span{font-size:24px}.daily-summary{margin:0 8px;min-height:85px;padding:0 13px}.summary-divider{margin:0 17px}.summary-stat strong{font-size:20px}.summary-stat small{font-size:10px}.text-button{font-size:11px}.macros-section,.meals-section{margin-top:39px}.macro-grid{grid-template-columns:1fr;gap:8px}.macro-card{display:grid;grid-template-columns:92px 1fr auto;align-items:center;padding:13px 14px}.macro-label{display:block}.macro-label b{display:block;font-size:17px;margin-top:3px}.macro-track{margin:0 12px}.macro-card small{white-space:nowrap}.food-row{grid-template-columns:38px 1fr auto auto;padding:8px}.food-emoji{width:38px;height:38px}.floating-add{right:21px;bottom:75px}.mobile-nav{height:62px;background:#fffdf8f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0;z-index:2;justify-content:space-around;padding:7px 25px}.mobile-link{border:0;background:transparent;font-size:10px;color:var(--muted);font-weight:700;display:flex;flex-direction:column;gap:2px;align-items:center}.mobile-link span{font-size:21px;line-height:20px}.mobile-link.active{color:var(--ink)}.page-intro{padding:36px 0 19px}.page-intro h1{font-size:34px}.settings-card{grid-template-columns:1fr}.manual-grid{grid-template-columns:1fr 1fr}.manual-grid label:first-child{grid-column:span 2}}.scan-panel{border:1px solid #dce8b5;background:#f4f8e9;border-radius:15px;padding:13px;margin:3px 0 14px}.scan-copy{display:flex;align-items:center;gap:10px}.scan-copy strong{font-size:13px}.scan-copy p{font-size:11px;color:var(--muted);margin:2px 0 0}.scan-sparkle{width:31px;height:31px;border-radius:10px;background:var(--lime);display:grid;place-items:center;font-size:16px}.scan-actions{display:flex;gap:8px;margin-top:11px}.scan-button{border:1px solid #c7d895;background:#fffdf8;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer}.scan-preview{margin-top:12px;position:relative;height:132px;border-radius:11px;overflow:hidden;background:#dfe7d3}.scan-preview img{width:100%;height:100%;object-fit:cover;display:block}.scan-status{position:absolute;inset:auto 9px 9px 9px;border-radius:8px;background:#103028e0;color:#fff;display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:11px;font-weight:700}.scan-loader{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#d9f25e;animation:spin .75s linear infinite}.scan-suggestion{margin-top:10px;border-radius:10px;background:#fff;display:flex;align-items:center;gap:9px;padding:9px}.scan-suggestion .food-emoji{width:34px;height:34px;font-size:17px}.scan-suggestion div{flex:1}.scan-suggestion b{font-size:12px}.scan-suggestion small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.scan-suggestion button{border:0;background:var(--ink);color:#fff;border-radius:8px;font-size:10px;font-weight:800;padding:8px 10px}@keyframes spin{to{transform:rotate(360deg)}}
