:root{--bg: #F5F6F8;--card: #fff;--ink: #161B26;--ink2: #1B2230;--muted: #9AA3B2;--muted2: #6B7384;--line: #EEF0F4;--chip: #F1F3F6;--green: #16A34A;--green-l: #34D399;--red: #EF4444;--red-bg: #FEECEC;--blue: #38BDF8;--amber: #FBBF24;--r: 26px;--r-sm: 18px;--shadow: 0 10px 26px rgba(30,41,59,.07);--grad: linear-gradient(135deg, #34D399, #16A34A)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,SF Pro Text,PingFang TC,Noto Sans TC,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.app{max-width:480px;margin:0 auto;min-height:100vh;padding:14px 18px 100px}.muted{color:var(--muted)}.over{color:var(--red)!important}.h-row{display:flex;justify-content:space-between;align-items:center}.greet{font-size:12.5px;color:var(--muted);font-weight:500}.name{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.3px;margin-top:1px}.title{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.2px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--grad);box-shadow:0 4px 12px #16a34a4d;border:none}.iconbtn{width:40px;height:40px;border-radius:13px;background:var(--card);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;border:none;color:var(--muted2)}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;margin-bottom:14px}.card .ct{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:12px}.search{background:var(--card);border:none;border-radius:16px;box-shadow:var(--shadow);padding:13px 15px;display:flex;align-items:center;gap:9px;margin:14px 0}.search input{border:none;background:transparent;outline:none;font:inherit;font-size:14.5px;width:100%;color:var(--ink)}.search input::placeholder{color:var(--muted)}.cal{padding:22px 20px 18px}.calTop{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);font-weight:600;margin-bottom:4px;padding:0 4px}.calTop b{display:block;color:var(--ink);font-size:14px;font-weight:700;margin-top:2px}.ringwrap{display:flex;justify-content:center;margin:6px 0 14px}.macros{display:flex;gap:10px}.mac{flex:1}.mac .mtop{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.mac .lab{font-size:12px;color:var(--muted2);font-weight:600}.mac .val{font-size:11px;color:var(--muted)}.track{height:6px;border-radius:6px;background:var(--line);overflow:hidden}.track i{display:block;height:100%;border-radius:6px}.two{display:flex;gap:12px;margin-bottom:14px}.mini{flex:1;background:var(--card);border:none;border-radius:22px;box-shadow:var(--shadow);padding:15px 16px}.mini .mic{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:9px}.mini .lab{font-size:11.5px;color:var(--muted);font-weight:600}.mini .v{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.2px;margin-top:1px}.mini .v small{font-size:11px;color:#b6bcc8;font-weight:600}.sec{display:flex;justify-content:space-between;align-items:center;margin:6px 4px 10px}.sec h3{font-size:15.5px;font-weight:800;color:var(--ink);letter-spacing:-.2px}.sec a,.sec .link{font-size:12.5px;color:var(--green);font-weight:600;background:none;border:none}.meal{display:flex;align-items:center;gap:13px;background:var(--card);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:11px;margin-bottom:10px}.thumb{width:52px;height:52px;border-radius:15px;object-fit:cover;flex:none;background:var(--chip)}.micon{width:52px;height:52px;border-radius:15px;background:#eaf7f0;display:flex;align-items:center;justify-content:center;color:var(--green);flex:none}.meal .mt{flex:1;min-width:0}.meal .mt b{font-size:14.5px;font-weight:700;color:var(--ink2);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal .mt span{font-size:12px;color:var(--muted)}.meal .kc{text-align:right;flex:none}.meal .kc b{font-size:14px;font-weight:800;color:var(--ink)}.meal .kc span{font-size:10.5px;color:#b6bcc8;display:block}.addbtn{width:34px;height:34px;border-radius:50%;border:none;background:#eaf7f0;color:var(--green);display:flex;align-items:center;justify-content:center;flex:none}.delbtn{width:30px;height:30px;border-radius:50%;background:var(--chip);border:none;color:var(--muted);flex:none;font-size:15px}.result{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.result .nm{font-size:14.5px;font-weight:600}.result .meta{font-size:11.5px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.chip{font-size:12.5px;padding:8px 14px;border-radius:20px;background:#eaf7f0;color:#15803d;border:none;font-weight:600}.chip.gray{background:var(--chip);color:var(--muted2)}.seg{display:flex;gap:5px;background:var(--chip);border-radius:13px;padding:4px}.seg button{flex:1;font:inherit;font-size:12.5px;font-weight:600;padding:7px 11px;border-radius:10px;color:var(--muted2);background:none;border:none}.seg button.on{background:var(--card);color:var(--green);box-shadow:0 1px 4px #1e293b1a}.toggle{display:flex;gap:4px;background:var(--chip);border-radius:11px;padding:3px}.toggle span{font-size:12px;padding:5px 11px;border-radius:9px;color:var(--muted);font-weight:600}.toggle span.on{background:var(--card);color:var(--green);box-shadow:0 1px 4px #1e293b1a}.chart{display:flex;align-items:flex-end;justify-content:space-between;height:150px;margin:8px 0;position:relative;padding-top:6px}.limitline{position:absolute;left:0;right:0;border-top:1.5px dashed var(--red)}.limitline span{position:absolute;right:0;top:-14px;font-size:9px;color:var(--red)}.col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.col .b{width:16px;border-radius:8px;background:var(--green)}.col .b.over{background:var(--red)}.col .d{font-size:10px;color:var(--muted)}.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{background:var(--card);border-radius:22px;box-shadow:var(--shadow);padding:16px}.stat .lab{font-size:12px;color:var(--muted);font-weight:600}.stat .num{font-size:24px;font-weight:800;margin-top:4px;letter-spacing:-.3px}.stat .num small{font-size:12px;font-weight:600;color:var(--muted)}.hero{background:var(--grad);border-radius:var(--r);padding:20px;color:#fff;margin-bottom:14px;box-shadow:0 12px 28px #16a34a47}.hero .top{display:flex;justify-content:space-between;align-items:center;font-size:13px;opacity:.92}.hero .eaten{font-size:12px;opacity:.85;margin-top:12px}.hero .big{font-size:38px;font-weight:800;line-height:1.1;letter-spacing:-.5px}.hero .big span{font-size:15px;font-weight:600;opacity:.9}.hero .prog{margin-top:14px;height:8px;background:#ffffff47;border-radius:8px;overflow:hidden}.hero .prog>i{display:block;height:100%;background:#fff;border-radius:8px}.hero .pct{font-size:11.5px;opacity:.9;margin-top:6px}.row{display:flex;justify-content:space-between;align-items:center}.field{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:14px;margin-bottom:12px}.field .lab{font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:600}.field .row{display:flex;gap:8px}.field input,.field select{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px;font:inherit;font-size:15px;outline:none;min-width:0;color:var(--ink)}.btn{background:var(--grad);color:#fff;border:none;border-radius:15px;padding:0 16px;font:inherit;font-size:14.5px;font-weight:700;box-shadow:0 8px 20px #16a34a52}.btn.block{width:100%;padding:15px;margin-top:12px}.btn.ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line);box-shadow:none}.listrow{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;border-bottom:1px solid var(--line);font-size:14.5px}.week{display:flex;justify-content:space-between;margin:12px 0 6px}.day{text-align:center;font-size:12px;color:var(--muted);flex:1}.day b{display:block;font-size:14px;color:var(--ink);font-weight:600;width:32px;height:32px;line-height:32px;border-radius:50%;margin:6px auto 0}.day.on b{background:var(--grad);color:#fff}.tl-time{font-size:11px;color:var(--muted);margin:14px 0 4px;font-weight:600}.report{background:var(--card);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.report .rline{display:flex;align-items:center;gap:9px;font-size:13px;padding:4px 0}.nav{position:fixed;bottom:14px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:448px;height:64px;background:var(--card);border-radius:24px;box-shadow:0 12px 30px #1e293b29;display:flex;align-items:center;justify-content:space-around;z-index:20}.nav a{color:#c2c8d2;display:flex;align-items:center;justify-content:center;flex:1}.nav a.on{color:var(--green)}.nav .mid{width:56px;height:56px;border-radius:20px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:-22px;flex:none;border:none;box-shadow:0 10px 22px #16a34a73}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--card);width:100%;max-width:480px;border-radius:28px 28px 0 0;padding:22px 18px 28px}.sheet h2{font-size:18px;font-weight:800;letter-spacing:-.2px}.menuitem{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:13px 16px;font:inherit;font-size:14px;color:var(--ink)}.menuitem:last-child{border-bottom:none}.stepbtn{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--green);background:#fff;color:var(--green);font-size:18px;display:flex;align-items:center;justify-content:center;flex:none}.cartbar{position:fixed;left:50%;transform:translate(-50%);bottom:86px;width:calc(100% - 36px);max-width:444px;background:var(--grad);color:#fff;border:none;border-radius:16px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;font:inherit;font-size:15px;font-weight:600;z-index:40;box-shadow:0 10px 26px #16a34a66}.linkbtn{background:none;border:none;color:var(--green);font:inherit;font-size:14px;font-weight:600;padding:10px 2px}.pfhead{display:flex;align-items:center;gap:14px}.avatar-lg{width:72px;height:72px;border-radius:50%;background:#dde3f5 center/cover no-repeat;flex:none;position:relative;border:none;display:flex;align-items:center;justify-content:center}.avatar-lg .cam{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #fff}svg{display:block}
