:root{font-family:ui-rounded,'Arial Rounded MT Bold',system-ui,-apple-system,'Segoe UI',sans-serif;color:#30283e;background:#fff8f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:linear-gradient(140deg,#fff7ee,#fffdf9 52%,#f5f0ff);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8b65c8;outline-offset:2px}#app{max-width:680px;margin:auto;min-height:100vh;padding-bottom:110px}.top{height:88px;display:flex;align-items:center;justify-content:space-between;padding:18px 22px}.brand{font-size:32px;letter-spacing:-2px;font-weight:900;color:#433354;line-height:1}.brand span{color:#f2a4b6}.brand small{display:block;font-size:9px;letter-spacing:1.2px;color:#9d8aab;margin-top:7px}.round{border:0;border-radius:50%;width:44px;height:44px;background:#fff;box-shadow:0 4px 18px #cdb6c233;font-size:19px}main{padding:0 18px}.hero{position:relative;border-radius:30px;overflow:hidden;height:315px;background:#f3dce6;box-shadow:0 14px 35px #be9ca43d}.hero img{height:100%;width:100%;object-fit:cover;object-position:center 32%}.hero:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(35,23,40,.75))}.heroContent{position:absolute;z-index:1;bottom:20px;left:22px;right:20px;color:white}.heroContent h1{font-size:31px;letter-spacing:-1.2px;margin:4px 0}.heroContent p{margin:0;font-size:13px;color:#fff5f8}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:900;text-transform:uppercase}.pill{display:inline-block;background:#ffffffd9;color:#664c75;border-radius:50px;padding:7px 12px;font-size:11px;font-weight:800}.sectionHead{display:flex;justify-content:space-between;align-items:center;margin:24px 2px 12px;gap:8px}.sectionHead h2{margin:0;font-size:21px;letter-spacing:-.7px}.muted{color:#897e90;font-size:12px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{border:0;text-align:left;border-radius:23px;padding:18px;min-height:116px;color:#49344c;transition:transform .15s}.tile:active,.action:active{transform:scale(.97)}.peach{background:#ffe3c8}.mint{background:#dcf5e9}.lavender{background:#ebe5ff}.pink{background:#ffe3ec}.blue{background:#dff0ff}.yellow{background:#fff1c9}.tile .emoji{font-size:28px;display:block;margin-bottom:9px}.tile strong{font-size:15px;display:block}.tile small{display:block;color:#7c6a7c;margin-top:4px;font-size:11px}.card{background:white;border:1px solid #f1e7eb;border-radius:24px;padding:18px;margin-top:13px;box-shadow:0 6px 22px #bba6b115}.card h3{margin:0 0 8px;font-size:17px}.card p{font-size:13px;line-height:1.55;color:#716779}.notice{background:#fff2d7;border:1px solid #f5db9b;border-radius:18px;padding:14px;font-size:12px;line-height:1.5;color:#735c2f;margin-top:14px}.notice.danger{background:#ffebea;border-color:#ffcdca;color:#8a3935}.action{border:0;border-radius:17px;padding:13px 16px;font-weight:800;background:#a98ad7;color:white}.action.secondary{background:#f1e9f8;color:#594771}.action.light{background:white;color:#594771;border:1px solid #e7d9ee}.actionRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.actionRow>*{flex:1;min-width:125px}.listRow{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #f3edf0;padding:12px 0;font-size:13px}.listRow:last-child{border:0}.listRow b{display:block}.listRow small{display:block;color:#938898;margin-top:4px}.stat{background:#fff;border-radius:20px;padding:16px;text-align:center}.stat strong{display:block;font-size:23px}.stat span{font-size:11px;color:#887d8f}.smallbtn{border:0;background:#f5eefa;color:#6e4c8b;padding:8px 11px;border-radius:12px;font-weight:700;font-size:12px}nav{position:fixed;bottom:0;left:0;right:0;max-width:680px;margin:auto;background:#fffdfbf2;backdrop-filter:blur(16px);border-top:1px solid #efe5ed;display:flex;justify-content:space-around;padding:10px 5px max(12px,env(safe-area-inset-bottom));z-index:5;box-shadow:0 -4px 24px #bc9eb015}nav button{border:0;background:none;color:#998e9f;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:5px 8px}nav button span{font-size:24px;line-height:1.2}nav button.active{color:#9871c9}.empty{text-align:center;padding:30px 10px;color:#968b9c}.empty .emoji{font-size:38px}.formField{margin:13px 0}.formField label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.formField input,.formField select,.formField textarea{width:100%;padding:13px;border-radius:13px;border:1px solid #e8dfe9;background:#fff;color:#342d3b}.formField textarea{min-height:75px;resize:vertical}dialog{border:0;border-radius:25px;padding:20px;width:min(92vw,480px);max-height:83vh;overflow:auto;box-shadow:0 20px 90px #33223a66;color:#3b3044}dialog::backdrop{background:#30243b91}.modalHead{display:flex;align-items:center;justify-content:space-between}.modalHead h2{margin:0;font-size:21px}.modalHead button{background:#f7edf7;border:0;border-radius:50%;height:35px;width:35px}.photoThumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:17px}.photoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson{border:0;width:100%;text-align:left;background:white;border-radius:17px;padding:15px;margin:7px 0;color:#44334c}.lesson strong{display:block;margin-bottom:5px}.lesson small{color:#897d90}.badge{background:#f1e8fb;color:#765c91;border-radius:40px;padding:5px 9px;font-size:10px;font-weight:800}.progress{background:#f0e8f3;border-radius:30px;height:9px;overflow:hidden}.progress>div{background:#b99be1;height:100%;border-radius:30px}.tip{background:#f6f0ff;padding:13px;border-radius:14px;font-size:12px;line-height:1.55}.weightchart{width:100%;height:150px}#toast{position:fixed;bottom:93px;left:50%;transform:translateX(-50%);background:#42304e;color:white;border-radius:14px;padding:12px 18px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:9;white-space:nowrap}#toast.show{opacity:1}@media(min-width:800px){body{background:#f7f0f5}#app{background:#fffaf5;box-shadow:0 0 70px #c6aebd44}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* V1.1: quick correction for accidental meal logs */
.undoMealWrap{display:flex;justify-content:flex-end;margin:10px 2px 18px}.undoMealBtn{border:1.5px solid #e8b6a7;background:#fff0e9;color:#8a453a;border-radius:999px;padding:11px 18px;font:inherit;font-weight:750;cursor:pointer;min-height:44px;box-shadow:0 3px 12px #db9b8420}.undoMealBtn:active{transform:scale(.98)}
