@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-CiQTuMoU.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-0BME-IPC.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-DJzCSW5i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-CwvVGij3.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BKYSN5O0.woff) format("woff")}:root{--brand-blue: #2c5bb0;--brand-blue-strong: #2c5bb0;--brand-navy: #18202e;--brand-bg: #f3f5f9;--brand-surface: #ffffff;--brand-surface2: #e8ecf3;--brand-text-secondary: #566074;--brand-ink3: #8790a2;--brand-tint: #e0e8f7;--brand-tint2: #5b83cc;--brand-tint3: #94b0e2;--brand-tint4: #c6d5f1;--brand-divider: #dce2ec;--brand-macro-protein: #b95a3b;--brand-macro-fat: #c48e22;--brand-macro-carbs: #5e8c5a;--brand-warn: #b5462e;--font: "Onest Variable", -apple-system, BlinkMacSystemFont, "SF Pro Text", Roboto, system-ui, sans-serif;--serif: "Instrument Serif", "Times New Roman", serif;--safe-top: var(--tg-safe-area-inset-top, 0px);--safe-bottom: max(var(--tg-safe-area-inset-bottom, 0px), env(safe-area-inset-bottom, 0px));--tabbar-h: 62px;--r-card: 20px;color-scheme:light dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100%}body{background:var(--brand-bg);color:var(--brand-navy);font:16px/1.4 var(--font);font-variant-numeric:tabular-nums;overflow-x:hidden;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:var(--brand-navy)}.app{max-width:480px;margin:0 auto;min-height:100vh;padding:calc(10px + var(--safe-top)) 16px calc(var(--tabbar-h) + var(--safe-bottom) + 24px)}.screen-title{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:8px 0 14px}.screen-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:8px 0 14px}.screen-head .screen-title{margin:0}.screen-sub{color:var(--brand-text-secondary);font-size:15px;margin-top:2px}.muted{color:var(--brand-text-secondary)}.faint{color:var(--brand-ink3)}.small{font-size:14px}.tiny{font-size:12px}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;font-variant-numeric:lining-nums}.card{background:var(--brand-surface);border-radius:var(--r-card);padding:18px;margin-bottom:14px}.card h3{margin:0 0 10px;font-size:17px;font-weight:600}.card-tight{padding-top:4px;padding-bottom:4px}.section-title{display:flex;align-items:baseline;justify-content:space-between;font-size:22px;font-weight:700;letter-spacing:-.01em;margin:22px 2px 10px}.section-title small{font-size:15px;font-weight:400;color:var(--brand-text-secondary)}.group-label{font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-text-secondary);margin:22px 4px 8px}.group-note{font-size:13px;color:var(--brand-text-secondary);margin:-6px 4px 0}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.avatar{flex:none;width:44px;height:44px;border-radius:50%;background:var(--brand-tint);color:var(--brand-blue);display:grid;place-items:center;font-weight:600;font-size:18px;border:0}.avatar.lg{width:60px;height:60px;font-size:22px}.round-btn{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--brand-surface);color:var(--brand-blue);display:grid;place-items:center}.plus-btn{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--brand-surface2);color:var(--brand-navy);display:grid;place-items:center}.week{display:grid;grid-template-columns:repeat(7,1fr);margin:4px -4px 16px}.week-day{background:none;border:0;padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--brand-ink3)}.week-day .wd{font-size:13px}.week-day .dn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:19px;color:var(--brand-navy)}.week-day.future .dn{color:var(--brand-ink3)}.week-day.sel .wd{color:var(--brand-blue);font-weight:600}.week-day.sel .dn{background:var(--brand-blue);color:#fff;font-weight:600}.week-day i{width:5px;height:5px;border-radius:50%;background:transparent;margin-top:-2px}.week-day i.on{background:var(--brand-tint2)}.week-day:disabled{cursor:default}.remain{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.remain-num{font-family:var(--serif);font-size:76px;line-height:.9;letter-spacing:-.03em;font-variant-numeric:lining-nums;white-space:nowrap}.remain-num small{font-family:var(--font);font-size:20px;letter-spacing:0;color:var(--brand-text-secondary);margin-left:6px}.remain-num.over{color:var(--brand-warn)}.kv{display:grid;grid-template-columns:auto auto;gap:4px 8px;justify-items:end;font-size:15px;color:var(--brand-text-secondary);white-space:nowrap}.kv b{color:var(--brand-navy);font-weight:600}.kv b.accent{color:var(--brand-blue)}.ribbon{position:relative;margin:30px 0 4px}.ribbon-track{display:flex;gap:2px;height:14px;border-radius:7px;overflow:hidden;background:var(--brand-surface2)}.ribbon-track span{height:100%;transition:width .3s}.ribbon-now{position:absolute;top:-20px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;font-size:12px;font-weight:500;pointer-events:none}.ribbon-now i{width:2px;height:22px;background:var(--brand-navy);border-radius:1px;margin-top:2px}.ribbon-scale{position:relative;height:18px;font-size:12px;color:var(--brand-ink3);margin-top:6px}.ribbon-scale span{position:absolute;transform:translate(-50%);white-space:nowrap}.ribbon-scale span:first-child{transform:none}.legend-row{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--brand-text-secondary);margin-top:10px}.legend-row b{color:var(--brand-navy);font-weight:600}.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.macro-cell .ml{font-size:14px;color:var(--brand-text-secondary)}.macro-cell .mv{font-size:22px;font-weight:600;margin:2px 0 8px;white-space:nowrap}.macro-cell .mv small{font-size:14px;font-weight:400;color:var(--brand-ink3)}.meal{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--brand-divider)}.meal:last-child{border-bottom:0}.meal-dot{width:9px;height:9px;border-radius:50%;flex:none;align-self:flex-start;margin-top:8px}.meal-title{font-size:17px;font-weight:600;display:flex;justify-content:space-between;gap:8px}.meal-title span{font-weight:400;font-size:15px;color:var(--brand-text-secondary);white-space:nowrap}.meal-entry{display:flex;gap:8px;font-size:15px;color:var(--brand-text-secondary);padding:3px 0;cursor:pointer}.meal-entry .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.big{font-size:30px;font-weight:700;line-height:1.1}.huge{font-family:var(--serif);font-size:44px;line-height:1;white-space:nowrap;font-variant-numeric:lining-nums}.macro{margin-top:12px}.macro-label{font-size:14px;margin-bottom:6px}.bar{height:6px;background:var(--brand-surface2);border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;transition:width .3s}.list{list-style:none;margin:0;padding:0}.list-item{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--brand-divider)}.list-item:last-child{border-bottom:0}.list-item.tap{cursor:pointer}.list-item .grow{overflow:hidden;text-overflow:ellipsis}.cell-group{background:var(--brand-surface);border-radius:var(--r-card);padding:0 16px;margin-bottom:14px}.cell{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 0;border-bottom:1px solid var(--brand-divider);font-size:17px;width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left}.cell:last-child{border-bottom:0}.cell .val{color:var(--brand-text-secondary);text-align:right}.cell .chev{color:var(--brand-ink3);display:inline-flex}.cell.danger{color:var(--brand-warn)}.cell select{border:0;background:none;color:var(--brand-text-secondary);text-align:right;font-size:16px;outline:none}.switch{position:relative;flex:none;width:51px;height:31px;border-radius:16px;background:var(--brand-surface2);border:0;transition:background .2s;padding:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000002e;transition:transform .2s}.switch.on{background:var(--brand-blue)}.switch.on:after{transform:translate(20px)}.btn{border:0;border-radius:16px;padding:15px 18px;font-weight:600;font-size:17px;background:var(--brand-surface2);color:var(--brand-navy)}.btn-primary{background:var(--brand-blue-strong);color:#fff}.btn-outline{background:var(--brand-surface);color:var(--brand-blue)}.btn-soft{background:var(--brand-tint);color:var(--brand-blue)}.btn-block{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}.btn:disabled{opacity:.5}.btn-danger{background:none;color:var(--brand-warn);font-weight:500}.link{background:none;border:0;color:var(--brand-blue);font-weight:500;padding:6px 8px}.pill{border:0;border-radius:999px;padding:7px 14px;font-weight:500;font-size:15px;background:var(--brand-tint);color:var(--brand-blue)}.field{display:block;margin-bottom:12px}.field span{display:block;font-size:13px;color:var(--brand-text-secondary);margin-bottom:4px}.input,.field input,.field select,.field textarea{width:100%;border:1.5px solid transparent;background:var(--brand-bg);border-radius:12px;padding:12px;outline:none}.sheet .input,.sheet .field input,.sheet .field select,.sheet .field textarea{background:var(--brand-bg)}.field textarea{min-height:84px;resize:vertical}.input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand-blue)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.grid5{display:grid;grid-template-columns:1.15fr 1.15fr 1fr 1fr 1fr;gap:6px}.grid4 input,.grid5 input{padding:10px 4px;text-align:center}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;border:0;border-radius:999px;padding:8px 14px;background:var(--brand-surface);color:var(--brand-navy);font-size:15px}.chip-active{background:var(--brand-navy);color:var(--brand-bg)}.segmented{display:flex;background:var(--brand-surface2);border-radius:12px;padding:3px;margin-bottom:14px}.segmented button{flex:1;border:0;background:none;border-radius:9px;padding:8px 6px;font-size:15px;font-weight:500;color:var(--brand-navy)}.segmented button.on{background:var(--brand-surface);font-weight:600;box-shadow:0 1px 3px #1018281f}.option{display:block;width:100%;text-align:left;border:2px solid transparent;background:var(--brand-surface);border-radius:18px;padding:15px 16px;margin-bottom:10px}.option.selected{border-color:var(--brand-blue);background:var(--brand-tint)}.option small{display:block;color:var(--brand-text-secondary);margin-top:2px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:center;background:color-mix(in srgb,var(--brand-surface) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--brand-divider);padding-bottom:var(--safe-bottom)}.tabbar-inner{display:grid;grid-template-columns:repeat(5,1fr);width:100%;max-width:480px;height:var(--tabbar-h)}.tab{background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:500;color:var(--brand-ink3)}.tab.active{color:var(--brand-blue);font-weight:600}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#0a101c73;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;max-height:92vh;overflow-y:auto;background:var(--brand-bg);border-radius:22px 22px 0 0;padding:8px 16px calc(20px + var(--safe-bottom));animation:up .2s ease-out}@keyframes up{0%{transform:translateY(30px);opacity:.6}}.sheet-grip{width:40px;height:5px;border-radius:4px;background:var(--brand-ink3);opacity:.5;margin:4px auto 12px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sheet-head h3{margin:0;font-size:19px;font-weight:600}.sheet .card{background:var(--brand-surface)}.food-item{padding:14px 0;border-bottom:1px solid var(--brand-divider)}.food-item:last-child{border-bottom:0}.food-name{font-size:17px;font-weight:500;border:0;background:none;padding:0;outline:none;width:100%}.food-kcal{text-align:right;font-weight:600;font-size:19px;line-height:1.1;white-space:nowrap}.food-kcal small{display:block;font-size:12px;font-weight:400;color:var(--brand-text-secondary)}.food-meta{font-size:14px;color:var(--brand-ink3);margin-top:2px}.portion{display:flex;gap:6px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.portion button{flex:none;border:0;border-radius:999px;padding:7px 13px;font-size:14px;background:var(--brand-surface2)}.portion button.on{background:var(--brand-navy);color:var(--brand-bg)}.total-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.total-num{font-family:var(--serif);font-size:40px;line-height:1;font-variant-numeric:lining-nums}.total-num small{font-family:var(--font);font-size:16px;color:var(--brand-text-secondary);margin-left:4px}.ex-card .ex-title{font-weight:700;font-size:19px;letter-spacing:-.01em}.set-head{display:grid;grid-template-columns:26px 1fr 40px;gap:8px;font-size:12px;color:var(--brand-ink3);padding:12px 0 4px}.set-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--brand-divider)}.set-row.current{background:var(--brand-tint);margin:0 -18px;padding:9px 18px;border-top-color:transparent}.set-no{width:22px;color:var(--brand-text-secondary);font-size:15px;flex:none;text-align:center}.set-done{color:var(--brand-navy)}.set-done .grow{font-weight:500}.check{flex:none;width:34px;height:34px;border-radius:50%;border:1.8px solid var(--brand-ink3);background:none;color:transparent;display:grid;place-items:center}.check:not(.done):active{background:var(--brand-tint)}.check.done{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.check svg{width:17px;height:17px}.stepper{display:flex;align-items:center;background:var(--brand-surface);border:1.5px solid var(--brand-divider);border-radius:12px;flex:1;min-width:0}.set-row:not(.current) .stepper{background:var(--brand-bg);border-color:transparent}.stepper button{border:0;background:none;width:32px;height:38px;font-size:20px;color:var(--brand-blue);flex:none}.stepper-value{flex:1;text-align:center;font-weight:600;white-space:nowrap;overflow:hidden}.stepper-value small{font-weight:400;color:var(--brand-text-secondary)}.stepper input{flex:1;width:100%;min-width:0;text-align:center;border:0;background:none;outline:none;font-weight:600}.timer{position:fixed;z-index:30;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 10px);width:calc(100% - 32px);max-width:448px;background:var(--brand-surface);color:var(--brand-navy);border-radius:var(--r-card);padding:12px 16px 14px;box-shadow:0 10px 30px #10182829}.timer-top{display:flex;align-items:center;gap:10px}.timer-time{font-family:var(--serif);font-size:46px;line-height:1;min-width:92px;font-variant-numeric:lining-nums}.timer .chip{background:var(--brand-surface2);color:var(--brand-navy);padding:6px 11px;font-size:14px}.timer .chip-active{background:var(--brand-navy);color:var(--brand-surface)}.timer .bar{margin-top:10px}.pick-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--brand-divider);cursor:pointer}.pick-box{width:24px;height:24px;border-radius:50%;border:1.8px solid var(--brand-ink3);flex:none;display:grid;place-items:center;color:#fff}.pick-box.on{background:var(--brand-blue);border-color:var(--brand-blue)}.wk-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}.wk-cell{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--brand-ink3)}.wk-cell b{width:100%;aspect-ratio:1;max-width:46px;border-radius:12px;background:var(--brand-surface2);display:grid;place-items:center;color:var(--brand-ink3)}.wk-cell b.done{background:var(--brand-blue);color:#fff}.wk-cell b.today{background:var(--brand-tint);border:1.5px solid var(--brand-blue);color:var(--brand-blue)}.wk-cell.today{color:var(--brand-blue);font-weight:600}.tag{display:inline-flex;align-items:center;gap:6px;background:var(--brand-surface2);border-radius:999px;padding:5px 11px;font-size:13px;color:var(--brand-text-secondary)}.eyebrow{font-size:14px;color:var(--brand-blue);font-weight:500}.num-badge{flex:none;width:28px;height:28px;border-radius:50%;background:var(--brand-surface2);display:grid;place-items:center;font-size:13px;color:var(--brand-text-secondary)}.stat-num{font-family:var(--serif);font-size:64px;line-height:.95;letter-spacing:-.02em;font-variant-numeric:lining-nums}.stat-num small{font-family:var(--font);font-size:18px;color:var(--brand-text-secondary);margin-left:6px;letter-spacing:0}.delta{display:inline-block;border-radius:999px;padding:5px 11px;font-size:14px;font-weight:600;background:var(--brand-tint);color:var(--brand-blue);white-space:nowrap}.split-bar{display:flex;gap:3px;height:10px;border-radius:5px;overflow:hidden;margin:12px 0}.split-bar span{height:100%}.empty{text-align:center;padding:26px 8px;color:var(--brand-text-secondary)}.empty-icon{width:60px;height:60px;border-radius:50%;background:var(--brand-tint);color:var(--brand-blue);display:grid;place-items:center;margin:0 auto 10px}.empty-icon svg{width:28px;height:28px}.skeleton{height:14px;border-radius:8px;background:var(--brand-surface2);margin:10px 0;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.5}}.error-line{background:var(--brand-tint);border-radius:12px;padding:10px 12px;margin:8px 0;display:flex;align-items:center;justify-content:space-between;gap:8px}.toast{position:fixed;z-index:60;left:50%;transform:translate(-50%);top:calc(12px + var(--safe-top));background:var(--brand-navy);color:var(--brand-bg);padding:10px 16px;border-radius:14px;font-size:15px;max-width:90%}.splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--brand-text-secondary)}.report-block{white-space:pre-wrap}.chart-box{width:100%;height:190px}.legend{display:flex;gap:14px;font-size:13px;color:var(--brand-text-secondary);margin-top:8px;flex-wrap:wrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle}.steps{display:flex;gap:6px;margin-bottom:18px}.steps i{flex:1;height:4px;border-radius:4px;background:var(--brand-surface2)}.steps i.on{background:var(--brand-blue)}
