:root{--bg:var(--tg-theme-secondary-bg-color,#efeff4);--card:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#fff));--text:var(--tg-theme-text-color,#111);--hint:var(--tg-theme-hint-color,#8a8a8e);--accent:var(--tg-theme-button-color,#2a78d6);--accent-text:var(--tg-theme-button-text-color,#fff);--danger:var(--tg-theme-destructive-text-color,#d93a3a);--sep:var(--tg-theme-section-separator-color,#80808040);--series:var(--tg-theme-button-color,#2a78d6)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;font:16px/1.35 -apple-system,SF Pro Text,Roboto,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--hint)}.page{padding:12px 16px calc(76px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}.center-msg{text-align:center;min-height:100vh;color:var(--hint);place-items:center;padding:24px;display:grid}.state{text-align:center;justify-items:center;gap:12px;padding:48px 0;display:grid}.section-wrap{margin-top:20px}.section-title{text-transform:uppercase;letter-spacing:.02em;color:var(--hint);justify-content:space-between;margin:0 0 6px 16px;padding-right:16px;font-size:13px;font-weight:500;display:flex}.section-title .aside{text-transform:none;letter-spacing:0}.section{background:var(--card);border-radius:12px;overflow:hidden}.section.pad{padding:14px 16px}.empty{color:var(--hint);text-align:center;margin:0;padding:16px;font-size:15px}.section.pad .empty{padding:8px 0}.note{margin:8px 0 0;font-size:13px}.pad-x{padding:0 16px}.caption{margin:10px 0 0;font-size:14px}.row{align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 16px;display:flex;position:relative}.row+.row:before,.meal+.meal>.row:before,.meal-body .row:before{content:"";background:var(--sep);height:1px;position:absolute;top:0;left:16px;right:0}.meal+.meal:before{content:"";background:var(--sep);height:1px;margin-left:16px;display:block}.row .grow{flex:1;min-width:0}.row .right{text-align:right}.row .time{color:var(--hint);width:42px;font-size:14px}.sub{font-size:13px;display:block}.kv{justify-content:space-between;gap:12px;padding:6px 0;display:flex}.kv+.kv{border-top:1px solid var(--sep)}.nutrients{margin-top:12px}.nutrients h3{color:var(--hint);margin:0 0 2px;font-size:13px;font-weight:500}.hero{text-align:center;padding:16px 0 4px}.hero-num{letter-spacing:-.02em;font-size:44px;font-weight:600;line-height:1.1}.hero-num span{letter-spacing:0;font-size:18px;font-weight:500}.bar{background:var(--sep);border-radius:3px;height:6px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:3px;height:100%}.bar-fill.over{background:var(--danger)}.macro+.macro{margin-top:14px}.macro-head{justify-content:space-between;margin-bottom:6px;font-size:15px;display:flex}.macro-head .num{color:var(--hint)}.mark{text-align:right;width:1.2em;display:inline-block}.macro.over .macro-head .num,.macro.over .mark{color:var(--danger)}.macro.ok .mark{color:var(--accent)}.issues{margin:0;padding-left:22px}.issues li{padding:3px 0}.wins{color:var(--accent);margin:10px 0 0}.water-total{margin-bottom:10px;font-size:28px;font-weight:600}.water-total .muted{font-size:17px;font-weight:400}.btn-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.btn{text-align:center;background:color-mix(in srgb, var(--accent) 14%, transparent);min-height:44px;color:var(--accent);border-radius:10px;padding:0 16px;font-weight:500}.btn-row .btn{flex:1}.btn:disabled{opacity:.5}.btn.primary{background:var(--accent);color:var(--accent-text)}.btn.danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.btn.ghost{background:0 0;flex:none}.btn.small{min-height:28px;margin-left:8px;padding:0 10px;font-size:13px}.chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.chip{background:var(--card);color:var(--hint);border-radius:999px;padding:6px 12px;font-size:14px}.chip.done{color:var(--text)}.datebar{justify-content:space-between;align-items:center;display:flex}.datebar span{font-weight:600}.datebar button{text-align:center;width:44px;height:44px;color:var(--accent);font-size:28px}.datebar button:disabled{color:var(--sep)}.totals{text-align:center;margin:0 0 4px;font-size:14px}.tap{text-align:left}.chev{color:var(--hint);font-size:22px;transition:transform .15s}.chev.open{transform:rotate(90deg)}.meal-body{background:color-mix(in srgb, var(--text) 3%, transparent)}.meal-body .item{padding-left:32px}.meal-actions{justify-content:space-between;padding:4px 16px 8px;display:flex}.editor{padding:8px 16px 14px 32px}.stepper{align-items:center;gap:8px;display:flex}.stepper input{border:1px solid var(--sep);background:var(--card);width:84px;min-height:44px;color:var(--text);font:inherit;text-align:center;font-variant-numeric:tabular-nums;border-radius:10px}.weight-log{margin-top:12px}.error{color:var(--danger)}.chart{position:relative}.chart svg{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.grid{stroke:var(--sep);stroke-width:1px;opacity:.5}.target{stroke:var(--hint);stroke-width:1px;stroke-dasharray:4 3}.cross{stroke:var(--hint);stroke-width:1px;opacity:.7}.axis{fill:var(--hint);font-variant-numeric:tabular-nums;font-size:11px}.axis.strong{fill:var(--text);font-weight:600}.series-line{fill:none;stroke:var(--series);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.series-dot{fill:var(--card);stroke:var(--series);stroke-width:1.5px}.series-bar{fill:var(--series);opacity:.85}.series-bar.sel{opacity:1}.tooltip{background:var(--card);color:var(--text);border:1px solid var(--sep);pointer-events:none;white-space:nowrap;text-align:center;border-radius:8px;padding:4px 8px;font-size:12px;line-height:1.3;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.tooltip b,.tooltip span{display:block}.segmented{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:10px;margin-top:4px;padding:2px;display:flex}.segmented button{text-align:center;min-height:40px;color:var(--hint);border-radius:8px;flex:1;font-weight:500}.segmented .active{background:var(--card);color:var(--text)}.box{border:1.5px solid var(--hint);width:24px;height:24px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.check.checked .box{background:var(--accent);border-color:var(--accent)}.check.checked .grow,.check.checked .num{color:var(--hint);text-decoration:line-through}.plan-meal{margin:0;padding:4px 0}.findings{margin:0;padding-left:20px}.findings li{padding:3px 0}.tabbar{background:var(--card);border-top:1px solid var(--sep);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{text-align:center;min-height:56px;color:var(--hint);flex:1;font-size:12px;font-weight:500}.tabbar .active{color:var(--accent)}
