@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#fcfaf7;--surface:#fff;--ink:#302c27;--muted:#8c867d;--orange:#e58142;--orange-dark:#b95b29;--peach:#fff0e2;--border:#eee9e1;--green:#8b9c78;--shadow:0 5px 28px #6b483005}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ecb187;outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',system-ui,sans-serif}h2{font-size:20px;font-weight:750;letter-spacing:-.5px}h3{font-size:15px}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.topbar{height:90px;padding:0 max(32px,calc((100vw - 1240px)/2));display:flex;align-items:center;border-bottom:1px solid var(--border);background:#fffdfb;gap:48px}.brand{font-size:27px;font-family:Manrope,system-ui;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:9px;letter-spacing:-1px}.brand-mark{color:var(--orange);width:35px;height:35px}.brand-mark svg{width:100%;height:100%}.brand-sub{display:block;font-family:'DM Sans',sans-serif;font-size:10px;line-height:1.5;max-width:95px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:10px;border-left:1px solid var(--border);padding-left:15px}.topbar nav{display:flex;gap:30px;height:100%;align-items:center;font-size:13px}.topbar nav a{text-decoration:none;color:var(--muted);height:100%;display:flex;align-items:center;position:relative}.topbar nav a.active{color:var(--orange-dark);font-weight:600}.topbar nav a.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--orange);border-radius:3px}.private-badge{margin-left:auto;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.private-badge>span{width:6px;height:6px;background:var(--green);border-radius:50%}main{max-width:1240px;margin:auto;padding:45px 0 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;gap:20px}.eyebrow{font-size:10px;color:var(--orange-dark);font-weight:650;letter-spacing:1.8px;margin-bottom:12px}h1{font-size:34px;font-weight:750;letter-spacing:-1.25px;line-height:1.3}h1 span{color:var(--orange)}.subtitle{color:var(--muted);margin-top:12px;font-size:13px}.button{border:0;border-radius:9px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;transition:.15s}.button .icon{width:17px;height:17px}.button.primary{background:var(--orange);color:white}.button.primary:hover{background:#d57034}.button.subtle{background:white;border:1px solid var(--border)}.button.subtle:hover{background:var(--peach)}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 21px}.section-heading p{color:var(--muted);font-size:12px;margin-top:7px}.small-pill{background:var(--peach);color:var(--orange-dark);font-size:11px;padding:6px 11px;border-radius:6px}.calorie-card{padding:27px 30px;background:linear-gradient(115deg,#fff0df,#fff4e9);border:1px solid #f5dfc9;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px;position:relative;overflow:hidden}.card-kicker{font-size:10px;letter-spacing:1.6px;font-weight:600;color:#a57a5f}.calorie-overview{flex:1;max-width:475px}.calorie-number{display:flex;align-items:baseline;gap:12px;margin-top:9px}.calorie-number>span:first-child{font:750 44px Manrope,system-ui;letter-spacing:-2px}.calorie-target{color:#b39278;font-size:18px}.calorie-target small{font-size:12px}.progress-track{height:5px;border-radius:20px;background:#f1dcc8;overflow:hidden;margin-top:15px}.progress-track span{display:block;height:100%;background:var(--orange);width:0;transition:width .3s}.calorie-overview>p{font-size:12px;color:#a17a5d;margin-top:12px}.calorie-overview strong{font-weight:600;color:#845a3f}.ring-wrap{width:120px;height:120px;position:relative;flex-shrink:0}.ring-wrap>svg{width:120px;height:120px;transform:rotate(-90deg)}.ring-bg,.ring-fill{fill:none;stroke-width:6}.ring-bg{stroke:#f2dfcd}.ring-fill{stroke:var(--orange);stroke-dasharray:307.876;stroke-dashoffset:307.876;stroke-linecap:round;transition:stroke-dashoffset .3s}.ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--orange-dark)}.ring-text strong{font:750 23px Manrope}.ring-text span{font-size:9px;color:#aa8b73}.ring-text .icon{width:18px;height:18px;margin-bottom:3px}.meal-list{display:flex;flex-direction:column;gap:12px}.meal-card{background:white;border:1px solid var(--border);border-radius:12px;padding:20px 23px;box-shadow:var(--shadow)}.meal-heading{display:flex;align-items:center;gap:14px}.meal-icon{width:42px;height:42px;border-radius:11px;background:#faf1e8;display:flex;align-items:center;justify-content:center;color:#be8658}.meal-icon .icon{width:21px;height:21px}.meal-card:nth-child(2) .meal-icon{background:#f1f4eb;color:#909f6b}.meal-card:nth-child(3) .meal-icon{background:#fff0e7;color:#cc8756}.meal-card:nth-child(4) .meal-icon{background:#f8efdc;color:#c4a367}.meal-card:nth-child(5) .meal-icon{background:#f0eff6;color:#9a91ac}.meal-name{flex:1}.meal-name h3{font-weight:750;font-size:15px}.meal-name>p{color:var(--muted);font-size:10px;margin-top:4px}.meal-total{color:#6f675e;font-size:13px;font-weight:600;margin-right:14px;white-space:nowrap}.meal-total small{font-size:10px;color:var(--muted);font-weight:400}.add-meal{color:var(--orange-dark);background:#fff6ed;border:1px solid #f8e4d0;border-radius:7px;padding:7px 11px;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.add-meal:hover{background:var(--peach)}.add-meal .icon{width:14px;height:14px}.meal-empty{font-size:11px;color:#a8a198;margin:13px 0 0 56px}.meal-entries{margin-top:12px;padding-left:56px}.food-entry{border-top:1px solid #f3eee8;display:flex;align-items:center;padding:12px 0 0;margin-top:10px;gap:10px}.entry-details{flex:1;min-width:0}.entry-details strong{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.entry-details p{font-size:10px;color:var(--muted);margin-top:4px}.entry-calories{font-size:12px;font-weight:600;white-space:nowrap}.entry-actions{display:flex}.entry-actions button{width:26px;height:28px}.entry-actions .icon{width:14px;height:14px}.diary-note{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:10px;margin:18px 0}.diary-note .icon{width:14px;height:14px}.right-column{display:flex;flex-direction:column;gap:20px}.panel{background:white;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.calendar-panel{padding:24px 23px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-title h2{font-size:15px;display:flex;align-items:center;gap:9px;letter-spacing:-.3px}.panel-title h2 .icon{color:#b59577;width:18px;height:18px}.tiny-label{font-size:9px;color:var(--muted)}.month-nav{display:flex;align-items:center;justify-content:space-between;margin:23px 0 15px}.month-nav h3{font-size:13px;font-weight:650}.icon-button{border:0;background:transparent;border-radius:6px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);padding:4px}.icon-button:hover{background:#fff2e7;color:var(--orange-dark)}.icon-button .icon{width:16px;height:16px}.rotate{transform:rotate(180deg)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays span{text-align:center;font-size:10px;color:#a39a90;padding:5px 0 12px}.calendar-grid button{border:0;background:none;font-size:11px;border-radius:8px;height:34px;position:relative}.calendar-grid button:hover{background:var(--peach)}.calendar-grid button.selected{background:var(--orange);color:white;font-weight:600}.calendar-grid button.outside{color:#c9c2b8}.calendar-grid button.today{box-shadow:inset 0 0 0 1px #e9b48f}.calendar-grid button.logged:after{content:'';position:absolute;bottom:4px;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:var(--green)}.calendar-grid button.selected:after{background:white}.calendar-legend{display:flex;gap:20px;margin:20px 0 18px;font-size:9px;color:var(--muted)}.calendar-legend span,.chart-footer>span{display:flex;align-items:center;gap:6px}.orange-dot,.green-dot{width:6px;height:6px;background:var(--orange);border-radius:50%;display:inline-block}.green-dot{background:var(--green)}.jump-date{font-size:10px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:14px;gap:8px}.jump-date input{font-size:11px;color:#65594d;padding:5px 6px;border:1px solid var(--border);border-radius:5px;min-width:0;max-width:140px}.weight-panel{padding:24px}.weight-panel>.muted{font-size:11px;margin:10px 0 20px}.muted{color:var(--muted);font-size:12px;line-height:1.6}.weight-panel form label{font-size:11px;color:#7c7064;display:block;margin-bottom:8px}.weight-field{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;height:46px;padding:0 13px;background:#fdfbf8;margin-bottom:12px}.weight-field input{width:100%;border:0;background:transparent;outline:none;font-size:17px;color:var(--ink)}.weight-field span{font-size:12px;color:var(--muted)}.weight-panel .button{width:100%}.weight-tip{font-size:10px;color:#a3998d;line-height:1.6;margin-top:17px}.saved-weight:not(:empty){margin-top:13px;font-size:10px;color:#6f895b;display:flex;gap:5px;align-items:center;justify-content:space-between}.saved-weight .text-button{font-size:10px;color:#a38b78}.gentle-note{display:flex;align-items:flex-start;gap:11px;border-radius:12px;background:#f2f3eb;padding:18px 20px;color:#89906d}.gentle-note .icon{width:18px;height:18px}.gentle-note strong{font-size:11px;font-weight:600;color:#6e755a}.gentle-note p{font-size:10px;line-height:1.5;margin-top:6px}.progress-panel{margin-top:27px;padding:29px 31px 22px}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.chart-heading .eyebrow{font-size:9px;margin-bottom:8px}.chart-heading h2{font-size:21px}.chart-heading .muted{font-size:11px;margin-top:7px}.segmented{padding:4px;border:1px solid var(--border);background:#faf8f5;border-radius:8px;display:flex}.segmented button{background:transparent;border:0;padding:8px 17px;border-radius:5px;font-size:11px;color:var(--muted)}.segmented button.active{background:#fff;color:var(--orange-dark);box-shadow:0 2px 7px #3523170a;font-weight:600}.weight-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0 8px;gap:20px}.weight-stats>div{border-left:1px solid var(--border);padding-left:25px}.weight-stats>div:first-child{border-left:0;padding-left:0}.weight-stats span{font-size:10px;color:var(--muted);display:block;margin-bottom:8px}.weight-stats strong{font:650 25px Manrope;letter-spacing:-.8px}.weight-stats small{font:400 11px 'DM Sans';color:var(--muted);letter-spacing:0}.chart-container{height:260px;position:relative;margin:20px 0 6px}.chart-container>svg{width:100%;height:100%;overflow:visible}.chart-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 49px,#f6f2eb 50px);text-align:center;color:var(--muted)}.chart-empty .icon{width:30px;height:30px;color:#d1b79f}.chart-empty strong{font:650 15px Manrope;color:#877460}.chart-empty p{font-size:11px}.chart-footer{display:flex;justify-content:space-between;font-size:9px;color:#a19586;gap:10px;border-top:1px solid #f4f0e9;padding-top:15px}.chart-tooltip{position:absolute;background:#3e3429;color:white;padding:8px 11px;border-radius:7px;font-size:11px;pointer-events:none;z-index:2;white-space:nowrap;transform:translate(-50%,-120%);box-shadow:0 4px 15px #0002}.chart-point{cursor:pointer;outline:none}.chart-point:focus{stroke:#734f30;stroke-width:3}footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-top:30px;font-size:10px;color:#a2998c;padding:0 4px}footer>p:first-child{display:flex;align-items:center;gap:12px}.footer-brand{font:750 17px Manrope;color:#b99576;letter-spacing:-.6px}footer>div{display:flex;gap:20px}.text-button{padding:0;border:0;background:none;color:#9b8067;font-size:10px}.text-button:hover{text-decoration:underline}.storage-note{width:100%;font-size:9px;margin-top:-5px}dialog{border:1px solid var(--border);border-radius:18px;padding:27px;width:min(580px,calc(100vw - 30px));max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #46312328;background:var(--surface)}dialog::backdrop{background:#332a2155;backdrop-filter:blur(4px)}dialog[open]{animation:show .18s ease}@keyframes show{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.modal-header .eyebrow{font-size:9px;margin-bottom:9px}.modal-header h2{font-size:22px}.modal-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin:23px 0 18px}.modal-tabs button{background:none;border:0;padding:0 0 12px;font-size:12px;color:var(--muted)}.modal-tabs button.active{color:var(--orange-dark);border-bottom:2px solid var(--orange);font-weight:600}.search-field{display:flex;align-items:center;gap:10px;background:#fcfaf7;border:1px solid var(--border);border-radius:9px;padding:11px 13px;color:#ae9d8c}.search-field input{border:0;background:none;outline:none;flex:1;width:100%;font-size:12px}.search-field .icon{width:17px;height:17px}.food-categories{display:flex;gap:6px;margin:13px 0;flex-wrap:wrap}.food-categories button{border:1px solid var(--border);background:white;color:#9a8b7b;border-radius:20px;font-size:10px;padding:6px 10px}.food-categories button.active{background:var(--peach);border-color:#f2d8bf;color:var(--orange-dark)}.food-results{height:310px;overflow-y:auto;scrollbar-width:thin}.food-result{display:flex;align-items:center;gap:12px;padding:12px 8px;text-align:left;background:white;border:0;border-bottom:1px solid #f2eee8;width:100%}.food-result:hover{background:#fff8f0}.food-emoji{width:35px;height:35px;background:#faf5ed;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.food-result>div{flex:1}.food-result strong{font-size:12px;font-weight:500}.food-result p{font-size:10px;color:var(--muted);margin-top:4px}.food-result>span:last-child{font-size:12px;font-weight:600;color:#a07750;text-align:right}.food-result small{font-size:9px;font-weight:400;display:block;margin-top:3px}.no-results{padding:55px 10px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.modal-footnote{font-size:9px;color:#ae9a87;border-top:1px solid var(--border);margin-top:19px;padding-top:14px;line-height:1.6}.back-to-foods{margin:2px 0 23px;font-size:11px}.selected-food{display:flex;align-items:center;gap:15px}.selected-food>span{font-size:32px;background:var(--peach);border-radius:12px;padding:10px}.selected-food h3{font-size:17px}.selected-food p{font-size:11px;color:var(--muted);margin-top:5px}.portion-note{font-size:10px;color:#a18a74;line-height:1.6;margin:15px 0 20px}.form-row{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}#portionForm label,#customForm label{font-size:11px;color:#8d7966;display:block}#portionForm input,#portionForm select,#customForm input{display:block;width:100%;border:1px solid var(--border);border-radius:8px;padding:12px;background:#fdfbf8;color:var(--ink);margin:7px 0 15px;min-width:0}.portion-mass{font-size:10px;color:var(--muted);margin-bottom:16px}.portion-total{display:flex;align-items:center;justify-content:space-between;background:var(--peach);border:1px solid #f5e1cc;border-radius:9px;padding:17px;margin:10px 0 18px;font-size:11px;color:#a57a57}.portion-total strong{font:750 26px Manrope;color:var(--orange-dark)}.portion-total small{font:400 11px 'DM Sans';color:#ba967b}.full{width:100%}#customForm>.muted{margin:0 0 20px;font-size:11px}.about-copy p{font-size:12px;line-height:1.8;color:#877767;margin-top:18px}.about-copy a{color:var(--orange-dark)}#confirmDialog{max-width:400px}#confirmDialog p{font-size:12px;color:var(--muted);line-height:1.6;margin:16px 0 22px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:12px 20px;background:#45392d;color:#fff6ed;border-radius:9px;box-shadow:0 4px 20px #0002;font-size:12px;z-index:99;opacity:0;transition:.2s;pointer-events:none;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1600px){main{padding-top:55px}.topbar{height:95px}}@media(max-width:1300px){main{margin:0 32px}.topbar{padding:0 32px}}@media(max-width:1000px){.dashboard{grid-template-columns:minmax(0,1fr) 300px;gap:22px}h1{font-size:29px}.calorie-card{padding:24px}.ring-wrap,.ring-wrap>svg{width:100px;height:100px}.meal-card{padding:18px}.meal-total{margin-right:4px}.topbar{gap:30px}.brand-sub{display:none}}@media(max-width:780px){main{margin:0 22px;padding-top:30px}.topbar{padding:0 22px;height:73px;gap:28px}.topbar nav{gap:20px;font-size:12px}.private-badge{display:none}h1{font-size:28px}.page-heading{align-items:flex-start;margin-bottom:30px}.page-heading>.button{font-size:0;padding:10px}.page-heading>.button .icon{width:18px;height:18px}.subtitle{max-width:370px;line-height:1.7;font-size:12px}.dashboard{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.gentle-note{grid-column:1/-1}.calendar-panel,.weight-panel{padding:21px}.chart-heading{align-items:flex-start}.segmented button{padding:8px 11px}.weight-stats{gap:12px}.weight-stats>div{padding-left:14px}.progress-panel{padding:26px 23px}.chart-container{height:230px}footer>div{gap:15px}}@media(max-width:500px){main{margin:0 15px}.topbar{padding:0 17px;gap:25px}.topbar nav{gap:15px;font-size:11px}.brand{font-size:24px}.brand-mark{width:30px;height:30px}h1{font-size:25px;max-width:275px}.eyebrow{font-size:8px;letter-spacing:1.3px}.section-heading h2{font-size:18px}.calorie-card{padding:21px 20px;gap:15px}.calorie-number>span:first-child{font-size:36px}.calorie-target{font-size:14px}.calorie-target small{font-size:10px}.ring-wrap,.ring-wrap>svg{width:90px;height:90px}.ring-text strong{font-size:20px}.ring-text .icon{width:14px;height:14px}.ring-text span{font-size:8px}.calorie-overview>p{font-size:10px}.card-kicker{font-size:8px;letter-spacing:1.2px}.meal-card{padding:16px}.meal-heading{gap:10px}.meal-icon{width:36px;height:36px;border-radius:9px}.meal-name h3{font-size:13px}.meal-name>p{font-size:9px}.meal-total{font-size:11px;margin-right:2px}.add-meal{font-size:0;padding:8px}.add-meal .icon{width:16px;height:16px}.meal-empty,.meal-entries{margin-left:0;padding-left:46px;font-size:10px}.meal-empty{margin-top:11px}.entry-details strong{font-size:11px}.entry-calories{font-size:10px}.entry-actions .icon{width:13px;height:13px}.entry-actions button{width:22px}.food-entry{gap:5px}.right-column{grid-template-columns:1fr}.gentle-note{grid-column:auto}.calendar-grid button{height:39px;font-size:12px}.calendar-panel,.weight-panel{padding:23px}.chart-heading{flex-direction:column;gap:16px}.chart-heading h2{font-size:20px}.segmented{width:100%}.segmented button{flex:1}.weight-stats{grid-template-columns:1fr 1fr;row-gap:20px;margin-top:24px}.weight-stats>div:nth-child(3){border:0;padding:0}.weight-stats strong{font-size:23px}.chart-container{height:220px}.progress-panel{padding:23px 18px}.chart-footer{font-size:8px}.chart-footer>span:last-child{max-width:130px;text-align:right}.diary-note{line-height:1.6}.form-row{grid-template-columns:1fr}.modal-header h2{font-size:20px}dialog{padding:22px}.food-results{height:280px}.food-result{gap:9px;padding:12px 2px}footer{font-size:9px}footer>div{gap:12px;flex-wrap:wrap}.storage-note{font-size:8px}}

.header-access{margin-left:auto;display:flex;align-items:center;gap:20px}.header-access .private-badge{margin-left:0}.food-source-row{display:flex;gap:8px;margin-top:12px}.food-source-row select{border:1px solid var(--border);border-radius:7px;padding:9px 10px;background:#fdfbf8;color:#917a65;font-size:11px;min-width:0;flex:1}.food-source-row .button{font-size:10px;padding:9px 12px}.food-status{font-size:10px;color:var(--muted);margin:10px 0;line-height:1.6}.food-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}.food-pagination button{font-size:10px;border:1px solid var(--border);background:#fff8ef;padding:7px 12px;border-radius:6px;color:var(--orange-dark)}.food-pagination span{font-size:10px;color:var(--muted)}.food-source-label{display:block;font-size:9px;color:#a39586;margin:4px 0}.header-access form{margin:0}.header-access .text-button{font-size:11px}.food-status.error{color:#b4523c}.food-result p{max-width:340px}.food-result strong{overflow-wrap:anywhere}.portion-source{color:var(--orange-dark);font-size:10px;margin-top:8px}.portion-source a{color:inherit}@media(max-width:780px){.header-access{gap:0}.header-access .private-badge{display:none}.topbar{gap:20px}.food-source-row .button{padding:9px 8px}}@media(max-width:500px){.topbar{gap:12px}.topbar nav{gap:10px;font-size:10px}.header-access .text-button{font-size:10px}.food-result p{max-width:220px}.food-results{height:250px}}
