@font-face{font-family:Manrope;src:url('/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#373634;background:#eef3e1;font-synthesis:none;--green:#373634;--muted:#64665b;--line:#d7dccb;--amber:#64665b;--rose:#000000;--blue:#dceb7d}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:0;border-radius:14px;background:#eef3e1;color:var(--green);font-weight:600;padding:11px 17px}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #373634;outline-offset:3px}.primary{background:var(--green);color:white}.quiet{background:transparent;padding:9px;color:var(--muted)}.danger{color:#dceb7d;background:#eef3e1}.wrap{max-width:760px;margin:auto;padding:26px 22px 116px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px}.logo{display:grid;place-items:center;width:39px;height:39px;border-radius:14px;background:var(--green);color:white;font-size:26px}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase}h1{font-family:"Manrope",sans-serif;font-weight:400;font-size:38px;letter-spacing:-1px;line-height:1.1;margin:8px 0 13px}h2{font-size:18px;font-weight:650;letter-spacing:-.4px;margin:0 0 16px}h3{font-size:15px;margin:0 0 6px}p{line-height:1.55}small,.muted{color:var(--muted);line-height:1.5}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.grow{flex:1}.stack{display:grid;gap:12px}.card{background:#f7f7f7;border:1px solid var(--line);border-radius:24px;padding:22px;margin:16px 0;box-shadow:0 3px 12px #293e2d03}.hero{background:var(--green);color:#f7f7f7;border:0;padding:26px;position:relative;overflow:hidden}.hero small,.hero .muted{color:#eef3e1}.hero h2{font-weight:400;font-size:15px}.hero .big{font-size:54px;font-weight:500;letter-spacing:-3px;line-height:1}.hero .target{color:#eef3e1;font-size:17px}.hero .progress{background:#eef3e1;margin:20px 0 12px}.hero .progress span{background:#eef3e1}.badge{border-radius:20px;padding:6px 10px;font-size:11px;background:#eef3e1;color:var(--green);white-space:nowrap}.hero .badge{color:#eef3e1;background:#000000}.progress{height:7px;background:#d7dccb;border-radius:8px;overflow:hidden}.progress span{display:block;height:100%;border-radius:8px;transition:width .35s}.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.macro strong{font-size:25px;font-weight:550;display:inline-block;margin:7px 0}.macro small{font-size:11px}.macro .progress{margin:4px 0 8px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions button{padding:15px 8px}.meal{display:flex;gap:15px;padding:18px 0;border-top:1px solid var(--line)}.meal:first-of-type{border-top:0}.meal .time{font-size:12px;color:var(--muted);padding-top:2px;min-width:38px}.meal button{text-align:left}.meal .meal-title{padding:0;min-height:30px;background:transparent;color:#373634;font-weight:600}.meal .kcal{font-size:17px;text-align:right;white-space:nowrap}.meal small{font-size:12px}.empty{padding:28px 10px;text-align:center;color:var(--muted)}.empty .empty-icon{font-size:30px;margin-bottom:8px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:27px 0 0}.section-title h2{margin:0}.suggestion{background:#eef3e1;border-color:#d7dccb}.suggestion p{font-size:14px;margin:6px 0 14px}.tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);display:flex;justify-content:space-around;background:#eef3e1f5;backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:9px 8px calc(9px + env(safe-area-inset-bottom));z-index:5}.tabs button{display:grid;gap:5px;min-width:65px;font-size:10px;background:transparent;color:#64665b;padding:6px}.tabs button span{font-size:20px;height:23px}.tabs button.active{color:var(--green);background:#eef3e1}.date-input{border:0;background:transparent;color:var(--green);font-size:13px;width:130px;padding:5px!important;min-height:35px!important}.segmented{display:flex;background:#eef3e1;border-radius:13px;padding:4px;gap:3px;margin:15px 0 22px}.segmented button{flex:1;font-size:12px;min-height:36px;padding:8px;background:transparent}.segmented .active{background:white;box-shadow:0 1px 4px #3331}input,textarea,select{width:100%;min-height:46px;padding:12px;border:1px solid #d7dccb;background:#f7f7f7;border-radius:12px;color:#373634;outline-color:#373634}textarea{min-height:90px;resize:vertical}label{display:grid;gap:6px;font-size:12px;color:#64665b;margin-bottom:12px}input[type=checkbox]{width:20px;height:20px;min-height:20px}.inline-label{display:flex;align-items:center;gap:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.grid4 input{padding:9px 6px}.grid4 label{font-size:10px}.hint{font-size:12px;line-height:1.55;color:var(--muted)}dialog{border:0;border-radius:26px;padding:24px;width:min(580px,calc(100% - 22px));max-height:92dvh;color:#373634;box-shadow:0 25px 100px #172d3440}dialog::backdrop{background:#eef3e1b0;backdrop-filter:blur(4px)}dialog h2{font-family:"Manrope",sans-serif;font-size:27px;font-weight:400;margin:0}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.item-editor{border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}.preview-photo{width:100%;max-height:200px;object-fit:contain;background:#eef3e1;border-radius:12px}.sticky-save{position:sticky;bottom:-24px;background:white;padding:16px 0 10px;margin-top:10px}.sticky-save button{width:100%}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:#eef3e1;color:white;padding:13px 19px;border-radius:15px;font-size:13px;width:max-content;max-width:90%;z-index:20;display:none}.login{max-width:400px;margin:8vh auto}.login h1{font-size:48px}.login .card{margin-top:28px}.error{color:#dceb7d;font-size:13px}.login .primary{width:100%}.summary{font-size:32px;font-weight:500;letter-spacing:-1px}.weekly-bars{display:flex;height:125px;align-items:flex-end;gap:10px;margin:24px 0 6px}.weekly-day{flex:1;display:grid;align-items:end;gap:6px;text-align:center;height:100%;font-size:10px;color:var(--muted)}.weekly-bar{background:#373634;border-radius:7px 7px 3px 3px;width:100%;min-height:3px;align-self:end}.note{background:#eef3e1;border-radius:14px;padding:14px;font-size:13px;line-height:1.5}.online{font-size:11px;color:#64665b}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.recipe{display:grid;grid-template-columns:1fr auto;gap:12px}.weight-history{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.loading{padding:45px;text-align:center}.full{width:100%}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.days-list button{width:100%;display:flex;justify-content:space-between;margin-top:8px;background:white;border:1px solid var(--line);text-align:left}.planned{opacity:.7}.pill-dot{height:7px;width:7px;background:#373634;border-radius:50%;display:inline-block;margin-right:5px}@media(max-width:380px){.wrap{padding:20px 15px 110px}.card{padding:18px}.macro strong{font-size:23px}.macro small{font-size:10px}.hero .big{font-size:48px}.grid4{gap:3px}}@media(min-width:650px){.wrap{padding-top:38px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-grid .card{margin:0}.hero{min-height:205px}.macros{margin-top:18px}.login{margin-top:12vh}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


/* Reference palette: Starked, Tuatara, Venom, Mint Refresh, Black. */
:root{font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light;color:#373634;background:#eef3e1;--green:#373634;--muted:#606354;--line:#d7dccb;--blue:#373634;--amber:#939b68;--rose:#b8c66a;--accent:#dceb7d}
body{background:radial-gradient(ellipse at 100% 0%,#dceb7d33,transparent 45%),linear-gradient(155deg,#f7f7f744,#eef3e100 65%),#eef3e1;min-height:100vh}
h1{font-family:Manrope,sans-serif;font-size:36px;font-weight:500;letter-spacing:-1.4px;line-height:1.18}h2{font-weight:600}.brand{font-weight:650;letter-spacing:-.7px}.eyebrow{letter-spacing:1.5px;font-weight:600}.logo{background:#373634;color:#dceb7d;border-radius:13px}
button{color:#373634;background:#eef3e1;font-weight:600}.primary{background:#dceb7d;color:#373634}.quiet{color:#606354}button:focus-visible,a:focus-visible{outline-color:#373634}.danger{background:#eef3e1;color:#373634;border:1px solid #373634}.card{background:#f7f7f7;border:1px solid #37363412;box-shadow:none;border-radius:20px}.hero{background:#373634;color:#f7f7f7;border:0;border-radius:24px}.hero .big{color:#dceb7d;font-weight:500;font-size:54px;letter-spacing:-2.8px}.hero .target{color:#eef3e1}.hero small,.hero .muted{color:#eef3e1}.hero .progress{background:#f7f7f726}.hero .progress span{background:#dceb7d}.hero .badge{background:#dceb7d;color:#373634}.badge{background:#eef3e1;color:#373634}.progress{background:#37363416}.macro strong{font-weight:550}.macros .progress{height:8px}.macro small{color:#606354}.segmented{background:#3736340d;border:1px solid #3736340d;border-radius:14px}.segmented button{color:#606354;font-weight:500}.segmented .active{background:#f7f7f7;color:#373634;box-shadow:0 1px 4px #37363412}.date-input{color:#373634}.tabs{background:#f7f7f7f5;border-color:#37363415}.tabs button{color:#606354}.tabs button.active{background:#dceb7d;color:#373634}.tabs button span{font-weight:500}.suggestion{background:#dceb7d;border:0}.suggestion p,.suggestion small,.suggestion .eyebrow{color:#373634}.suggestion:before{display:none}.meal .meal-title{color:#373634}.meal{border-color:#37363418}.meal-title{font-weight:550!important}.online{color:#606354}.pill-dot{background:#373634}
input,textarea,select{font-family:Manrope,sans-serif;background:#f7f7f7;color:#373634;border-color:#c6ccba;outline-color:#373634}input::placeholder,textarea::placeholder{color:#75786e}label{color:#606354}dialog{background:#f7f7f7;color:#373634;border:1px solid #37363416;box-shadow:0 20px 80px #37363440}dialog::backdrop{background:#37363480}dialog h2{font-family:Manrope,sans-serif;font-size:25px;font-weight:500;letter-spacing:-.8px}.sticky-save{background:#f7f7f7}.item-editor{background:#eef3e1;border-color:#d7dccb}.preview-photo{background:#eef3e1}.note{background:#eef3e1;border-left:3px solid #373634}.error{color:#373634;font-weight:600}.weekly-bar{background:#373634}.days-list button{background:#f7f7f7;color:#373634}.summary{font-weight:500}#toast{background:#373634;color:#f7f7f7}.login h1{font-family:Manrope,sans-serif;font-size:43px;font-weight:500;letter-spacing:-1.5px}.login .primary{background:#dceb7d;color:#373634}.hint,.muted,small{color:#606354}.planned{opacity:.8}
@media(max-width:380px){h1{font-size:32px}.brand{font-size:18px}.online{font-size:10px}.hero .big{font-size:48px}}
