@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/latin.woff2) format("woff2");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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/cyrillic-ext2.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/cyrillic2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/latin-ext2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/latin2.woff2) format("woff2");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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--app-max-width: 100%}@media (min-width: 480px){:root{--app-max-width: 430px}}:root{--dyn-good: var(--green);--dyn-warn: var(--dot-red-border);--dyn-mid: var(--badge)}:root{--red-wash: color-mix(in srgb, var(--red) 12%, transparent);--green-wash: color-mix(in srgb, var(--green) 15%, transparent)}:root{--surface-field: color-mix(in srgb, var(--bg3) 55%, var(--bg2))}:root,[data-theme=dark]{--bg: #000000;--bg2: #1a1714;--bg3: #2c2722;--bg4: #39322b;--bg5: #211d18;--sep: #ffffff0f;--text: #ffffff;--text2: #efe7decc;--badge: #a59c91;--badgeBG: #a59c912e;--text3: #efe7de99;--icon: #b3a698;--bottom-shadow1: #00000000;--bottom-shadow2: #0000001a;--bottom-shadow3: #00000099;--bottom-shadow4: #000000cc;--bottom-shadow5: #000000;--accent: #ff5e4a;--accentCTA: #ff8172;--accentText: #ff9a8f;--accentBG: #ff5e4a26;--green: #4affba;--red: #ff4a8f;--dot-red-border: #ff4a8f;--overlay: #00000099;--r: 12px;--macro-protein: #52beec;--macro-fat: #f2b84b;--macro-carbs: #8fcb7a;--macro-protein-bar: #52beec;--macro-fat-bar: #f2b84b;--macro-carbs-bar: #8fcb7a;--macro-protein-bg: #52beec21;--macro-fat-bg: #f2b84b21;--macro-carbs-bg: #8fcb7a21;--accent-track: #ff5e4a2e;--accent-gradient-end: #d64535;--accentFg: #000000;--tabs-bg: #211d18b8;--tabs-btn-bg: #39322b48;--tabs-btn-border: #ffffff10;--tabs-border: #ffffff1a;--fab-shadow: #f2490059;--fab-shadow-ambient: #00000040;--fab-highlight: #ffffff26;--fab-shadow-contact: #00000033;--fab-border: #ffffff26;--badge-off-bg: #30d15826;--badge-off-color: var(--green);--btn-off-bg: #30d15824;--btn-off-border: #30d15859;--fab-tableware-bg: #1ce9b6;--fab-tableware-fg: #000000;--fab-tableware-shadow: #1ce9b673;--cal-progress-fill: var(--badge-off-color);--cal-progress-outline: var(--accent-gradient-end);--cal-progress-fg: var(--accentFg);--cal-progress-error: #d91049;--cal-progress-error-outline: #750025;--dot-green: var(--accent);--pin-color: #000;color-scheme:dark;--surface-card: var(--bg2);--surface-inset: var(--bg3);--surface-raised: var(--bg5);--surface-overlay: var(--bg4);--r-xs: 6px;--r-sm: 8px;--r-md: 14px;--r-lg: 20px;--r-xl: 24px;--r-full: 999px;--shadow-xs: 0 1px 3px #00000040;--shadow-md: 0 4px 24px #00000080;--shadow-lg: 0 8px 40px #000000a6;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .28s;--duration-enter: .22s;--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1)}[data-theme=light]{--bg: #f4f2ed;--bg2: #fffefb;--bg3: #ebe7e0;--bg4: #d7d1c6;--bg5: #f8f6f1;--sep: #4a3f2e21;--text: #1f1a16;--text2: #4a443ed9;--badge: #6b645c;--badgeBG: #6b645c26;--text3: #6b6660;--icon: #7d7468;--bottom-shadow1: #ffffff00;--bottom-shadow2: #ffffff1a;--bottom-shadow3: #ffffffb3;--bottom-shadow4: #ffffffe6;--bottom-shadow5: #ffffff;--accent: #ff5e4a;--accentCTA: #e64b38;--accentText: #8c2b1f;--accentBG: #ff5e4a26;--green: #23863c;--red: #ea0c00;--overlay: #00000059;--r: 12px;--macro-protein: #0c77a8;--macro-fat: #9a6d06;--macro-carbs: #4e7a24;--macro-protein-bar: #0c77a8;--macro-fat-bar: #9a6d06;--macro-carbs-bar: #4e7a24;--macro-protein-bg: #0c77a821;--macro-fat-bg: #9a6d0621;--macro-carbs-bg: #4e7a2421;--accent-track: #ff5e4a2e;--accent-gradient-end: #d64535;--accentFg: #000000;--tabs-bg: #f4f2edd1;--tabs-border: #4a3f2e26;--tabs-btn-bg: #e6e1d8d1;--tabs-btn-border: #4a3f2e17;--fab-shadow: #f249004a;--fab-shadow-ambient: #00000033;--fab-highlight: transparent;--fab-shadow-contact: #00000026;--fab-border: #0000001a;--badge-off-bg: #34c75926;--badge-off-color: var(--green);--btn-off-bg: #34c75924;--btn-off-border: #34c75959;--fab-tableware-bg: #077a5c;--fab-tableware-fg: #ffffff;--fab-tableware-shadow: #077a5c59;--cal-progress-fill: var(--badge-off-color);--cal-progress-outline: var(--accent-gradient-end);--cal-progress-error: #960533;--cal-progress-error-outline: #e3809c;--pin-color: #fff;color-scheme:light;--shadow-xs: 0 1px 2px #0000000f;--shadow-md: 0 2px 12px #0000001f;--shadow-lg: 0 8px 32px #00000033}[data-color-scheme=lime]{--cal-progress-fg: #000;--cal-progress-outline: #9ec400;--cal-progress-fill: #d2ff00;--accent: #d2ff00;--accentCTA: #b8e000;--accentText: #c4ec00;--accentBG: #d2ff0026;--accentFg: #1a1a00;--accent-track: #d2ff002e;--accent-gradient-end: #9ec400;--fab-shadow: #d0ff0059;--fab-shadow-contact: #00000033;--dot-red-border: #ff3d63}[data-color-scheme=lime][data-theme=light]{--cal-progress-fill: #7a9400;--cal-progress-outline: #4d5c00;--cal-progress-fg: #fff;--accent: #7a9400;--accentCTA: #637800;--accentText: #4d5c00;--accentBG: #7a940026;--accentFg: #1a1a00;--accent-track: #7a94002e;--accent-gradient-end: #4d5c00;--fab-shadow: #7994004a;--fab-shadow-contact: #00000020;--dot-red-border: #c01a45}[data-color-scheme=terracotta]{--cal-progress-fg: #2a1008;--cal-progress-outline: #b03a2a;--cal-progress-fill: #e0644a;--accent: #e0644a;--accentCTA: #e6826a;--accentText: #ec9a87;--accentBG: #e0644a26;--accentFg: #2a1008;--accent-track: #e0644a2e;--accent-gradient-end: #b03a2a;--fab-shadow: #e0644a59;--fab-shadow-contact: #00000033;--dot-red-border: #fb7185;--dot-green: var(--badge-off-color)}[data-color-scheme=terracotta][data-theme=light]{--cal-progress-fill: #b04a31;--cal-progress-outline: #8a2e1e;--cal-progress-fg: #fff;--accent: #b04a31;--accentCTA: #963c26;--accentText: #6b2717;--accentBG: #b04a3126;--accentFg: #ffffff;--accent-track: #b04a312e;--accent-gradient-end: #8a2e1e;--fab-shadow: #b04a314a;--fab-shadow-contact: #00000020;--dot-red-border: #be123c;--dot-green: var(--badge-off-color)}[data-color-scheme=copper][data-theme=dark]{--bg: #141413;--bg2: #1f1e1c;--bg3: #2a2825;--bg4: #36332f;--bg5: #232120;--sep: #faf9f50f;--text: #faf9f5;--text2: #e8e6dccc;--text3: #e8e6dc99;--badge: #b0aea5;--badgeBG: #b0aea52e;--icon: #b0aea5;--bottom-shadow1: #14141300;--bottom-shadow2: #1414131a;--bottom-shadow3: #14141399;--bottom-shadow4: #141413cc;--bottom-shadow5: #141413;--accent: #d97757;--accentCTA: #e2906f;--accentText: #ecac8f;--accentBG: #d9775726;--accentFg: #141413;--accent-track: #d977572e;--accent-gradient-end: #a8512f;--green: #8da268;--red: #d9685b;--dot-red-border: #d9685b;--cal-progress-fill: #d97757;--cal-progress-outline: #a8512f;--cal-progress-fg: #141413;--cal-progress-error: #c0473b;--cal-progress-error-outline: #6e241c;--tabs-bg: #1f1e1cb8;--tabs-btn-bg: #36332f48;--tabs-btn-border: #faf9f510;--tabs-border: #faf9f51a;--fab-shadow: #d9775759;--fab-shadow-contact: #00000033;--dot-green: var(--badge-off-color);--pin-color: #141413}[data-color-scheme=copper][data-theme=light]{--bg: #faf9f5;--bg2: #ffffff;--bg3: #f0ede4;--bg4: #e8e6dc;--bg5: #fdfcf9;--sep: #14141321;--text: #141413;--text2: #3a3833d9;--text3: #6d6a64;--badge: #6b6a62;--badgeBG: #75736b26;--icon: #767369;--bottom-shadow1: #faf9f500;--bottom-shadow2: #faf9f51a;--bottom-shadow3: #faf9f5b3;--bottom-shadow4: #faf9f5e6;--bottom-shadow5: #faf9f5;--accent: #b85636;--accentCTA: #9e4828;--accentText: #8a3f22;--accentBG: #b8563626;--accentFg: #faf9f5;--accent-track: #b856362e;--accent-gradient-end: #8f4326;--green: #5c7040;--red: #b5453b;--dot-red-border: #b5453b;--cal-progress-fill: #b85636;--cal-progress-outline: #8f4326;--cal-progress-fg: #faf9f5;--cal-progress-error: #960533;--cal-progress-error-outline: #e3809c;--tabs-bg: #faf9f5d1;--tabs-border: #14141326;--tabs-btn-bg: #efece2d1;--tabs-btn-border: #14141317;--fab-shadow: #b856364a;--fab-shadow-contact: #00000020;--dot-green: var(--badge-off-color);--pin-color: #faf9f5}[data-color-scheme=sapphire][data-theme=dark]{--bg: #0f1614;--bg2: #17211e;--bg3: #22302b;--bg4: #2f423b;--bg5: #1b2723;--sep: #e8eeec12;--text: #e8eeec;--text2: #c2d0cbcc;--text3: #8fa39c;--badge: #9bafa8;--badgeBG: #8fa39c2e;--icon: #8fa39c;--bottom-shadow1: #0f161400;--bottom-shadow2: #0f16141a;--bottom-shadow3: #0f161499;--bottom-shadow4: #0f1614cc;--bottom-shadow5: #0f1614;--accent: #3ecfb2;--accentCTA: #6adcc4;--accentText: #8ce7d2;--accentBG: #3ecfb226;--accentFg: #06231c;--accent-track: #3ecfb22e;--accent-gradient-end: #159c81;--green: #4fc76f;--red: #f06467;--dot-red-border: #f06467;--cal-progress-fill: #3ecfb2;--cal-progress-outline: #159c81;--cal-progress-fg: #06231c;--cal-progress-error: #c0473b;--cal-progress-error-outline: #6e241c;--tabs-bg: #17211eb8;--tabs-btn-bg: #2f423b48;--tabs-btn-border: #e8eeec10;--tabs-border: #e8eeec1a;--fab-shadow: #3ecfb259;--fab-shadow-contact: #00000033;--dot-green: var(--accent);--pin-color: #0f1614}[data-color-scheme=sapphire][data-theme=light]{--bg: #f2f7f5;--bg2: #ffffff;--bg3: #e6efeb;--bg4: #d2e0da;--bg5: #fafcfb;--sep: #14201c1f;--text: #14201c;--text2: #45564fd9;--text3: #5e6f68;--badge: #5c6d66;--badgeBG: #6a7b7426;--icon: #6a7b74;--bottom-shadow1: #f2f7f500;--bottom-shadow2: #f2f7f51a;--bottom-shadow3: #f2f7f5b3;--bottom-shadow4: #f2f7f5e6;--bottom-shadow5: #f2f7f5;--accent: #0e8a70;--accentCTA: #0b7660;--accentText: #085944;--accentBG: #0e8a7026;--accentFg: #ffffff;--accent-track: #0e8a702e;--accent-gradient-end: #085944;--green: #256f3a;--red: #d32030;--dot-red-border: #d32030;--cal-progress-fill: #0e8a70;--cal-progress-outline: #085944;--cal-progress-fg: #ffffff;--cal-progress-error: #960533;--cal-progress-error-outline: #e3809c;--tabs-bg: #f2f7f5d1;--tabs-border: #14201c26;--tabs-btn-bg: #e4ede9d1;--tabs-btn-border: #14201c17;--fab-shadow: #0e8a704a;--fab-shadow-contact: #00000020;--dot-green: var(--accent);--pin-color: #ffffff}[data-color-scheme=azure][data-theme=dark]{--bg: #17212b;--bg2: #1d2a38;--bg3: #283747;--bg4: #3a4b5c;--bg5: #213040;--sep: #ffffff12;--text: #ffffff;--text2: #aec0d0cc;--text3: #8ea2b6;--badge: #93a6b9;--badgeBG: #7084992e;--icon: #7e95ac;--bottom-shadow1: #17212b00;--bottom-shadow2: #17212b1a;--bottom-shadow3: #17212b99;--bottom-shadow4: #17212bcc;--bottom-shadow5: #17212b;--accent: #2aabee;--accentCTA: #52bbf2;--accentText: #7fcef5;--accentBG: #2aabee26;--accentFg: #0e1621;--accent-track: #2aabee2e;--accent-gradient-end: #1c7cb8;--green: #5bc97a;--red: #e8696c;--dot-red-border: #e5575b;--cal-progress-fill: #2aabee;--cal-progress-outline: #1c7cb8;--cal-progress-fg: #0e1621;--cal-progress-error: #c0473b;--cal-progress-error-outline: #6e241c;--tabs-bg: #1d2a38b8;--tabs-btn-bg: #3a4b5c48;--tabs-btn-border: #ffffff10;--tabs-border: #ffffff1a;--fab-shadow: #2aa9ee59;--fab-shadow-contact: #00000033;--dot-green: var(--badge-off-color);--pin-color: #0e1621}[data-color-scheme=azure][data-theme=light]{--bg: #f4f4f5;--bg2: #ffffff;--bg3: #ebedf0;--bg4: #d9dce0;--bg5: #fbfbfc;--sep: #17212b1f;--text: #17212b;--text2: #50606ee3;--text3: #5e6c78;--badge: #5f6b76;--badgeBG: #707e8c26;--icon: #65727e;--bottom-shadow1: #f4f4f500;--bottom-shadow2: #f4f4f51a;--bottom-shadow3: #f4f4f5b3;--bottom-shadow4: #f4f4f5e6;--bottom-shadow5: #f4f4f5;--accent: #2279c0;--accentCTA: #1f6fb0;--accentText: #195a90;--accentBG: #2481cc26;--accentFg: #ffffff;--accent-track: #2481cc2e;--accent-gradient-end: #1a5e96;--green: #278644;--red: #d53f3f;--dot-red-border: #d64545;--cal-progress-fill: #2481cc;--cal-progress-outline: #1a5e96;--cal-progress-fg: #ffffff;--cal-progress-error: #960533;--cal-progress-error-outline: #e3809c;--tabs-bg: #f4f4f5d1;--tabs-border: #17212b26;--tabs-btn-bg: #e7e9ecd1;--tabs-btn-border: #17212b17;--fab-shadow: #2480cc4a;--fab-shadow-contact: #00000020;--dot-green: var(--badge-off-color);--pin-color: #ffffff}[data-color-scheme=forest][data-theme=dark]{--bg: #121212;--bg2: #1e1e1e;--bg3: #2a2a2a;--bg4: #363636;--bg5: #232323;--sep: #ffffff0f;--text: #ffffff;--text2: #d6d6d6cc;--text3: #a7a7a7;--badge: #b3b3b3;--badgeBG: #a7a7a72e;--icon: #b3b3b3;--bottom-shadow1: #12121200;--bottom-shadow2: #1212121a;--bottom-shadow3: #12121299;--bottom-shadow4: #121212cc;--bottom-shadow5: #121212;--accent: #1ed760;--accentCTA: #3be477;--accentText: #5ee88c;--accentBG: #1ed76026;--accentFg: #06210f;--accent-track: #1ed7602e;--accent-gradient-end: #0e9e43;--green: #3be477;--red: #f4544c;--dot-red-border: #f4544c;--cal-progress-fill: #1ed760;--cal-progress-outline: #0e9e43;--cal-progress-fg: #06210f;--cal-progress-error: #b62324;--cal-progress-error-outline: #6e1414;--tabs-bg: #1e1e1eb8;--tabs-btn-bg: #36363648;--tabs-btn-border: #ffffff10;--tabs-border: #ffffff1a;--fab-shadow: #1ed76059;--fab-shadow-contact: #00000033;--pin-color: #121212}[data-color-scheme=forest][data-theme=light]{--bg: #f6f6f6;--bg2: #ffffff;--bg3: #ebebeb;--bg4: #d6d6d6;--bg5: #fbfbfb;--sep: #1a1a1a1f;--text: #1a1a1a;--text2: #565656e8;--text3: #666666;--badge: #646464;--badgeBG: #6e6e6e26;--icon: #6e6e6e;--bottom-shadow1: #f6f6f600;--bottom-shadow2: #f6f6f61a;--bottom-shadow3: #f6f6f6b3;--bottom-shadow4: #f6f6f6e6;--bottom-shadow5: #f6f6f6;--accent: #108a42;--accentCTA: #0d7437;--accentText: #0a5c2c;--accentBG: #108a4226;--accentFg: #ffffff;--accent-track: #108a422e;--accent-gradient-end: #0a5c2c;--green: #108a42;--red: #cf222e;--dot-red-border: #cf222e;--cal-progress-fill: #108a42;--cal-progress-outline: #0a5c2c;--cal-progress-fg: #ffffff;--cal-progress-error: #a40e26;--cal-progress-error-outline: #e3809c;--tabs-bg: #f6f6f6d1;--tabs-border: #1a1a1a26;--tabs-btn-bg: #ebebebd1;--tabs-btn-border: #1a1a1a17;--fab-shadow: #108a424a;--fab-shadow-contact: #00000020;--pin-color: #ffffff}[data-color-scheme=lavender][data-theme=dark]{--bg: #181825;--bg2: #1e1e2e;--bg3: #313244;--bg4: #45475a;--bg5: #252539;--sep: #cdd6f412;--text: #cdd6f4;--text2: #bac2decc;--text3: #969bb1;--badge: #a6adc8;--badgeBG: #a6adc82e;--icon: #9399b2;--bottom-shadow1: #18182500;--bottom-shadow2: #1818251a;--bottom-shadow3: #18182599;--bottom-shadow4: #181825cc;--bottom-shadow5: #181825;--accent: #cba6f7;--accentCTA: #d6bafa;--accentText: #e0ccfb;--accentBG: #cba6f726;--accentFg: #1e1e2e;--accent-track: #cba6f72e;--accent-gradient-end: #a97fe0;--green: #a6e3a1;--red: #f38ba8;--dot-red-border: #f38ba8;--cal-progress-fill: #cba6f7;--cal-progress-outline: #a97fe0;--cal-progress-fg: #1e1e2e;--cal-progress-error: #e94b6e;--cal-progress-error-outline: #7e2438;--tabs-bg: #1e1e2eb8;--tabs-btn-bg: #31324448;--tabs-btn-border: #cdd6f410;--tabs-border: #cdd6f41a;--fab-shadow: #cba6f759;--fab-shadow-contact: #00000033;--dot-green: var(--badge-off-color);--pin-color: #1e1e2e}[data-color-scheme=lavender][data-theme=light]{--bg: #e6e9ef;--bg2: #ffffff;--bg3: #dce0e8;--bg4: #ccd0da;--bg5: #f4f5f8;--sep: #4c4f6921;--text: #4c4f69;--text2: #5c5f77f2;--text3: #606175;--badge: #5e6174;--badgeBG: #6c6f8526;--icon: #707385;--bottom-shadow1: #e6e9ef00;--bottom-shadow2: #e6e9ef1a;--bottom-shadow3: #e6e9efb3;--bottom-shadow4: #e6e9efe6;--bottom-shadow5: #e6e9ef;--accent: #8839ef;--accentCTA: #7a2fd8;--accentText: #6a1fc0;--accentBG: #8839ef26;--accentFg: #ffffff;--accent-track: #8839ef2e;--accent-gradient-end: #6f28c9;--green: #368624;--red: #d20f39;--dot-red-border: #d20f39;--cal-progress-fill: #8839ef;--cal-progress-outline: #6f28c9;--cal-progress-fg: #ffffff;--cal-progress-error: #bc0c32;--cal-progress-error-outline: #e3809c;--tabs-bg: #e6e9efd1;--tabs-border: #4c4f6926;--tabs-btn-bg: #dce0e8d1;--tabs-btn-border: #4c4f6917;--fab-shadow: #8839ef4a;--fab-shadow-contact: #00000020;--dot-green: var(--badge-off-color);--pin-color: #ffffff}[data-color-scheme=iris][data-theme=dark]{--bg: #1e1f22;--bg2: #313338;--bg3: #2b2d31;--bg4: #3f4147;--bg5: #383a40;--sep: #ffffff12;--text: #f2f3f5;--text2: #dbdee1cc;--text3: #98a0a9ff;--badge: #afb6bc;--badgeBG: #949ba42e;--icon: #b5bac1;--bottom-shadow1: #1e1f2200;--bottom-shadow2: #1e1f221a;--bottom-shadow3: #1e1f2299;--bottom-shadow4: #1e1f22cc;--bottom-shadow5: #1e1f22;--accent: #5865f2;--accentCTA: #717cf4;--accentText: #969cf7;--accentBG: #5865f226;--accentFg: #ffffff;--accent-track: #5865f22e;--accent-gradient-end: #3c45a5;--green: #26b261;--red: #f67476;--dot-red-border: #f23f43;--cal-progress-fill: #5865f2;--cal-progress-outline: #3c45a5;--cal-progress-fg: #ffffff;--cal-progress-error: #b62e31;--cal-progress-error-outline: #6e1a1c;--tabs-bg: #313338b8;--tabs-btn-bg: #3f414748;--tabs-btn-border: #ffffff10;--tabs-border: #ffffff1a;--fab-shadow: #5865f259;--fab-shadow-contact: #00000033;--dot-green: var(--badge-off-color);--pin-color: #1e1f22}[data-color-scheme=iris][data-theme=light]{--bg: #f2f3f5;--bg2: #ffffff;--bg3: #e3e5e8;--bg4: #d4d7dc;--bg5: #fbfbfb;--sep: #2e33381f;--text: #313338;--text2: #4e5058d9;--text3: #63656c;--badge: #5c5e66;--badgeBG: #5c5e6626;--icon: #4e5058;--bottom-shadow1: #f2f3f500;--bottom-shadow2: #f2f3f51a;--bottom-shadow3: #f2f3f5b3;--bottom-shadow4: #f2f3f5e6;--bottom-shadow5: #f2f3f5;--accent: #4752c4;--accentCTA: #3c45a5;--accentText: #2e367e;--accentBG: #4752c426;--accentFg: #ffffff;--accent-track: #4752c42e;--accent-gradient-end: #2e367e;--green: #1a8245;--red: #d83c3e;--dot-red-border: #d83c3e;--cal-progress-fill: #4752c4;--cal-progress-outline: #2e367e;--cal-progress-fg: #ffffff;--cal-progress-error: #a4262c;--cal-progress-error-outline: #e3809c;--tabs-bg: #f2f3f5d1;--tabs-border: #2e333826;--tabs-btn-bg: #e3e5e8d1;--tabs-btn-border: #2e333817;--fab-shadow: #4752c44a;--fab-shadow-contact: #00000020;--dot-green: var(--badge-off-color);--pin-color: #ffffff}[data-color-scheme=cobalt][data-theme=dark]{--bg: #000000;--bg2: #1c1c1e;--bg3: #2c2c2e;--bg4: #3a3a3c;--bg5: #232325;--sep: #ffffff0f;--text: #ffffff;--text2: #e5e5eacc;--text3: #98989e;--badge: #a1a1a6;--badgeBG: #98989e2e;--icon: #9c9ca1;--bottom-shadow1: #00000000;--bottom-shadow2: #0000001a;--bottom-shadow3: #00000099;--bottom-shadow4: #000000cc;--bottom-shadow5: #000000;--accent: #ff375f;--accentCTA: #ff5c7c;--accentText: #ff8ba1;--accentBG: #ff375f26;--accentFg: #ffffff;--accent-track: #ff375f2e;--accent-gradient-end: #c11845;--green: #30d158;--red: #ff453a;--dot-red-border: #ff453a;--cal-progress-fill: #ff375f;--cal-progress-outline: #c11845;--cal-progress-fg: #ffffff;--cal-progress-error: #c2402a;--cal-progress-error-outline: #702014;--tabs-bg: #1c1c1eb8;--tabs-btn-bg: #3a3a3c48;--tabs-btn-border: #ffffff10;--tabs-border: #ffffff1a;--fab-shadow: #ff375f59;--fab-shadow-contact: #00000033;--dot-green: var(--badge-off-color);--pin-color: #000000}[data-color-scheme=cobalt][data-theme=light]{--bg: #f2f2f7;--bg2: #ffffff;--bg3: #e5e5ea;--bg4: #d1d1d6;--bg5: #fafafc;--sep: #1c1c1e1f;--text: #1c1c1e;--text2: #48484ad9;--text3: #636366;--badge: #5f5f63;--badgeBG: #6e6e7326;--icon: #68686d;--bottom-shadow1: #f2f2f700;--bottom-shadow2: #f2f2f71a;--bottom-shadow3: #f2f2f7b3;--bottom-shadow4: #f2f2f7e6;--bottom-shadow5: #f2f2f7;--accent: #d61a4e;--accentCTA: #b8123f;--accentText: #9c0e35;--accentBG: #d61a4e26;--accentFg: #ffffff;--accent-track: #d61a4e2e;--accent-gradient-end: #9c0e35;--green: #248a3d;--red: #d70015;--dot-red-border: #d70015;--cal-progress-fill: #d61a4e;--cal-progress-outline: #9c0e35;--cal-progress-fg: #ffffff;--cal-progress-error: #b3410f;--cal-progress-error-outline: #eba87e;--tabs-bg: #f2f2f7d1;--tabs-border: #1c1c1e26;--tabs-btn-bg: #e5e5ead1;--tabs-btn-border: #1c1c1e17;--fab-shadow: #d61a4e4a;--fab-shadow-contact: #00000020;--dot-green: var(--badge-off-color);--pin-color: #ffffff}[data-color-scheme=ink][data-theme=dark]{--bg: #191919;--bg2: #202020;--bg3: #2c2c2c;--bg4: #373737;--bg5: #242424;--sep: #ffffff12;--text: #e3e3e1;--text2: #a6a6a3cc;--text3: #949491;--badge: #999996;--badgeBG: #7979762e;--icon: #979794;--bottom-shadow1: #19191900;--bottom-shadow2: #1919191a;--bottom-shadow3: #19191999;--bottom-shadow4: #191919cc;--bottom-shadow5: #191919;--accent: #d4d4d1;--accentCTA: #c2c2be;--accentText: #e3e3e1;--accentBG: #d4d4d126;--accentFg: #191919;--accent-track: #d4d4d12e;--accent-gradient-end: #9e9e99;--green: #6bae89;--red: #e7585c;--dot-red-border: #e5484d;--cal-progress-fill: #d4d4d1;--cal-progress-outline: #9e9e99;--cal-progress-fg: #191919;--cal-progress-error: #b23b3f;--cal-progress-error-outline: #6e1f22;--tabs-bg: #202020b8;--tabs-btn-bg: #37373748;--tabs-btn-border: #ffffff10;--tabs-border: #ffffff1a;--fab-shadow: #d4d4d14a;--fab-shadow-contact: #00000033;--dot-green: var(--badge-off-color);--pin-color: #191919}[data-color-scheme=ink][data-theme=light]{--bg: #f7f6f3;--bg2: #ffffff;--bg3: #efeeec;--bg4: #e3e2df;--bg5: #fbfbfa;--sep: #37352f1f;--text: #37352f;--text2: #6b6a65f5;--text3: #6c6c68;--badge: #696865;--badgeBG: #78777426;--icon: #72716e;--bottom-shadow1: #f7f6f300;--bottom-shadow2: #f7f6f31a;--bottom-shadow3: #f7f6f3b3;--bottom-shadow4: #f7f6f3e6;--bottom-shadow5: #f7f6f3;--accent: #37352f;--accentCTA: #2a2925;--accentText: #1f1e1a;--accentBG: #37352f26;--accentFg: #ffffff;--accent-track: #37352f2e;--accent-gradient-end: #1f1e1a;--green: #2f7059;--red: #d2423d;--dot-red-border: #d44c47;--cal-progress-fill: #37352f;--cal-progress-outline: #1f1e1a;--cal-progress-fg: #ffffff;--cal-progress-error: #c0392e;--cal-progress-error-outline: #e3809c;--tabs-bg: #f7f6f3d1;--tabs-border: #37352f26;--tabs-btn-bg: #efeeecd1;--tabs-btn-border: #37352f17;--fab-shadow: #37352f40;--fab-shadow-contact: #00000020;--dot-green: var(--badge-off-color);--pin-color: #ffffff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.hidden{display:none!important}:root{--app-height: 100vh;--keyboard-inset: 0px}html{width:100vw;height:100vh;overflow:hidden;overscroll-behavior:none;margin:0;padding:0;background:var(--bg, #000)}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;overflow:hidden;overscroll-behavior:none;margin:0;padding:0;background:var(--bg, #000);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s,color .3s;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable],.list-row-name,.edit-log-food-name,.info-ingredient-name,.builder-ing-name{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}input,textarea,select{font:inherit;color:var(--text);background:transparent;border:none;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;font-size:16px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}h2{font-size:34px;font-weight:700;margin:.5rem 0 .75rem .25rem;color:var(--text)}.page{max-width:var(--app-max-width);margin:0 auto;padding:.75rem 1rem calc(8rem + env(safe-area-inset-bottom,0px));height:var(--app-height, 100vh);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.pwa .page{padding-top:env(safe-area-inset-top,1rem);padding-bottom:8rem}.lang-dropdown{display:none;position:absolute;left:0;bottom:calc(100% + 6px);top:auto;width:max-content;background:var(--bg2);border-radius:var(--r-md);box-shadow:var(--shadow-md);border:1px solid var(--sep);overflow:hidden;z-index:100}.lang-dropdown.open{display:block}#scheme-dropdown{right:0;left:auto;width:max-content}.lang-option{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;cursor:pointer;transition:background .12s;font-size:.9rem;color:var(--text2)}.lang-option:not(:last-child){border-bottom:1px solid var(--sep)}.lang-option:active{background:var(--bg3)}.lang-option-active{color:var(--accent)}.lang-code{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-variant:small-caps;color:var(--text2);background:var(--bg3);border:1px solid var(--sep);border-radius:var(--r-sm)}.lang-name{line-height:1}.lang-option-active .lang-code{color:var(--accent);background:var(--accent-track);border-color:transparent}#lang-icon-wrap svg{display:block}.today-header,.profile-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0 0;margin-bottom:.25rem;gap:1rem}.today-header{display:block}.today-meta-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.2rem}.today-meta-separator{color:var(--text3);font-size:.8rem}.today-greeting{font-size:.88rem;font-weight:500;color:var(--text2)}.today-greeting .greet-icon-slot{display:inline-block;width:1.3em;height:1.3em;vertical-align:-.32em}.today-greeting .greet-icon-slot svg{display:block;width:100%;height:100%}.today-date{font-size:.82rem;font-weight:400;color:var(--text3)}.today-title{font-size:34px;font-weight:800;color:var(--text);margin:0;padding:0;letter-spacing:-.5px}.today-log-title{font-size:20px;font-weight:700;color:var(--text);margin:1.5rem 0 .6rem .08rem;padding:0;letter-spacing:-.3px}.tabs-wrapper{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);padding:0 1rem .6rem;box-sizing:border-box;z-index:50}.pwa .tabs-wrapper{padding:0 1rem 1.3rem}.tabs-wrapper:before{content:"";position:absolute;z-index:-1;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,var(--bottom-shadow1) 0%,var(--bottom-shadow2) 35%,var(--bottom-shadow3) 55%,var(--bottom-shadow4) 70%,var(--bottom-shadow5) 100%);pointer-events:none}.tabs{position:relative;display:flex;width:100%;box-sizing:border-box;background:var(--tabs-bg);border:1px solid var(--tabs-border);border-radius:999px;padding:3px;z-index:52;isolation:isolate;backdrop-filter:saturate(180%) blur(15px);-webkit-backdrop-filter:saturate(180%) blur(15px);gap:3px;--pill-bg: var(--tabs-btn-bg);--pill-bd: var(--tabs-btn-border);--pill-r: 999px;--pill-ease: var(--ease-decelerate)}.slide-pill{position:absolute;top:0;left:0;z-index:0;background:var(--pill-bg);border:1px solid var(--pill-bd, transparent);border-radius:var(--pill-r, 999px);pointer-events:none;opacity:0;transition:transform var(--duration-base) var(--pill-ease, var(--ease-decelerate)),width var(--duration-base) var(--pill-ease, var(--ease-decelerate)),height var(--duration-base) var(--pill-ease, var(--ease-decelerate)),opacity var(--duration-fast) var(--ease-out);will-change:transform,width}.tabs.has-slide-pill .tab-btn{position:relative;z-index:1}.tabs.has-slide-pill .tab-btn.active{background:transparent;border-color:transparent}@media (prefers-reduced-motion: reduce){.slide-pill{transition:opacity var(--duration-fast) var(--ease-out)}}.pwa .tabs{padding:3px}[data-theme=light] .tabs{background:var(--tabs-bg);border-top:1px solid var(--tabs-border)}.tab-btn{flex:1 1 0;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--icon);font-size:.68rem;font-weight:500;padding:6px;border-radius:999px;background:transparent;transition:color var(--duration-base) var(--ease-out);border:1px solid transparent;user-select:none;-webkit-user-select:none}.pwa .tab-btn{padding:8px 6px}.tab-btn svg{width:24px;height:24px}.tab-btn.active{color:var(--accent);background:var(--tabs-btn-bg);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--tabs-btn-border)}.tab-content{padding-bottom:2.5rem}.tab-content:not(.hidden){animation:fadeUp var(--duration-enter) var(--ease-decelerate) both}.tab-content.hidden{display:none!important}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.grouped-card{background:var(--bg2);border-radius:var(--r-md);border:1px solid var(--sep);overflow:hidden;margin-bottom:.75rem}.fab-wrapper{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);pointer-events:none;z-index:49}.fab{position:absolute;right:1.15rem;bottom:calc(68px + 1rem);width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--accentFg);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 2px 0 var(--fab-highlight),0 1px 2px 0 var(--fab-shadow-contact),0 8px 20px -4px var(--fab-shadow-ambient);border:1px solid var(--fab-border);pointer-events:auto;transform-origin:center bottom;transition:transform var(--duration-fast) var(--ease-spring),opacity var(--duration-fast) var(--ease-out),box-shadow var(--duration-base) var(--ease-out);-webkit-tap-highlight-color:transparent}.pwa .fab{bottom:calc(74px + 1.7rem)}.fab:active{transform:scale(.94);opacity:.9;box-shadow:inset 0 1px 2px 0 var(--fab-highlight),0 1px 2px 0 var(--fab-shadow-contact),0 3px 8px -3px var(--fab-shadow-ambient)}.fab.hidden{transform:scale(.6);opacity:0;pointer-events:none}.fab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.fab svg{width:18px;height:18px;flex-shrink:0}@media (hover: hover){.fab:hover{box-shadow:inset 0 1px 2px 0 var(--fab-highlight),0 2px 4px 0 var(--fab-shadow-contact),0 12px 28px -4px var(--fab-shadow-ambient)}}#fab-add-tableware{background:var(--fab-tableware-bg);color:var(--fab-tableware-fg)}#fab-add-tableware:focus-visible{outline-color:var(--fab-tableware-bg)}.gauge-wrap{width:84vw;max-width:380px;margin:0 auto;position:relative;user-select:none;-webkit-user-select:none;transition:opacity var(--duration-slow) var(--ease-decelerate)}.gauge-loading .gauge-wrap{opacity:.5}.gauge-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 28%,transparent) 0%,transparent 68%);pointer-events:none;z-index:-1;transform:scale(1.5);opacity:.35;will-change:transform,opacity}[data-theme=light] .gauge-wrap:before{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 12%,transparent) 0%,transparent 64%);opacity:0}@media (prefers-reduced-motion: no-preference){.gauge-wrap:before{animation:gaugeBreathe 6s cubic-bezier(.45,0,.55,1) infinite}[data-theme=light] .gauge-wrap:before{animation:gaugeBreatheLight 6s cubic-bezier(.45,0,.55,1) infinite}}.app-bg-hidden .gauge-wrap:before{animation-play-state:paused}.gauge-loading .gauge-wrap:before{animation:none}@keyframes gaugeBreathe{0%,to{transform:scale(1.5);opacity:.35}50%{transform:scale(1.75);opacity:1}}@keyframes gaugeBreatheLight{0%,to{transform:scale(1.5);opacity:0}50%{transform:scale(1.72);opacity:.45}}.gauge-svg{width:100%;display:block}.gauge-track{stroke:var(--accent-track);stroke-width:12}.gauge-fill{stroke-width:12;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1),stroke .4s ease;opacity:0;stroke-dashoffset:678.58}:not(.gauge-loading) .gauge-fill{opacity:1}.gauge-over .gauge-svg{filter:grayscale(.9)}.gauge-over.gauge-wrap:before{filter:grayscale(.9)}.g-norm{font-size:44px;font-weight:700;fill:var(--accent);font-family:inherit}.g-unit{font-size:10px;font-weight:500;fill:color-mix(in srgb,var(--accent) 80%,transparent);font-family:inherit;text-transform:uppercase}.g-val{font-size:19px;font-weight:700;fill:color-mix(in srgb,var(--text) 80%,transparent);font-family:inherit}.g-label{font-size:9px;font-weight:500;fill:color-mix(in srgb,var(--accent) 80%,transparent);font-family:inherit;text-transform:uppercase}.g-sep{stroke:var(--accent-track);stroke-width:2;stroke-linecap:round}.gauge-loading .gauge-track{animation:gaugeSkeletonPulse 1.4s ease-in-out infinite}.gauge-loading .gauge-fill{opacity:0}@keyframes gaugeSkeletonPulse{0%,to{stroke:var(--accent-track);opacity:.7}50%{stroke:var(--accent-track);opacity:1.4}}.form-row{display:flex;align-items:center;padding:.85rem 1rem;border-bottom:1px solid var(--sep);min-height:48px;background-color:var(--bg5)}#notification-row{padding:.538rem 1rem;border-top:1px solid var(--sep);border-bottom:none;gap:1rem;justify-content:space-between}.form-row:last-child{border-bottom:none}.form-row input,.form-row select{flex:1;color:var(--text);background-color:var(--bg2);font-size:1rem;min-width:0;background:transparent;border:none;outline:none}.form-row input::placeholder{color:var(--text3)}.form-row select{color:var(--text2)}.form-row.labeled{gap:.75rem}.row-label{font-size:1rem;color:var(--text);white-space:nowrap;flex-shrink:0}.form-row.labeled input,.form-row.labeled select{text-align:right;direction:ltr;color:var(--text2);background-color:var(--bg2);flex:1;min-width:0}.select-right{text-align:right;direction:ltr}.form-row.labeled select{width:100%;text-align:right;text-align-last:right;-webkit-text-align-last:right;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-row.labeled:has(.field-chip){padding:3px 4px 3px 1rem}.field-chip{flex:0 0 auto;margin-left:auto;width:5.2rem;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .5rem .5rem;background:var(--surface-field);border:1px solid var(--sep);border-radius:var(--r-sm);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.field-chip:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-track)}.form-row.labeled .field-chip input{flex:1;width:100%;min-width:0;padding:0;text-align:right;background:transparent;color:var(--text)}.field-chip input::placeholder{color:var(--text3)}.field-chip-unit{flex-shrink:0;font-size:14px;color:var(--text3);font-variant-numeric:tabular-nums;pointer-events:none}.a-form{display:flex;flex-direction:column;gap:.7rem}.a-group{display:flex;flex-direction:column}.a-cap{margin:0 0 6px 2px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text3)}.a-field{display:flex;align-items:center;gap:.6rem;min-height:50px;padding:0 .8rem;background:var(--surface-field);border:1.5px solid var(--sep);border-radius:var(--r-md);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.a-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-track)}.a-field input{flex:1;min-width:0;width:100%;padding:.8rem 0;background:transparent;border:none;outline:none;font:inherit;font-size:16px;color:var(--text)}.a-field input::placeholder{color:var(--text3)}.a-field.num input{text-align:right}.a-field .a-unit{flex-shrink:0;font-size:14px;color:var(--text3);font-variant-numeric:tabular-nums;pointer-events:none}.a-field-with-action{gap:.4rem;padding-right:.4rem}.a-field-with-action .ai-cam-btn{flex-shrink:0}.a-macros{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.a-macros .a-field{padding:0 .6rem;gap:.3rem}.a-macros .a-unit{font-size:13px}.input-suffix-wrap{position:relative}.input-suffix-wrap input{padding-right:3.5rem}.input-suffix{position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--text3);pointer-events:none}.seg-wrap{display:flex;padding:3px;margin-bottom:0;border-bottom:1px solid var(--sep);gap:3px}#addFoodModal .seg-wrap,#addLogModal .seg-wrap{border:none;padding:3px 0}.form-row.labeled .seg-wrap{flex:1;border:none;padding:2px 0;background:transparent}.seg-btn{flex:1;padding:.6rem .25rem;border-radius:calc(var(--r-sm) - 2px);font-weight:500;font-size:.85rem;color:var(--text2);transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out);border:1px solid transparent}#addFoodModal .seg-btn,#addLogModal .seg-btn{border-color:transparent;border-radius:9px}#addFoodModal .seg-btn.active,#addLogModal .seg-btn.active{border-color:var(--bg4)}.seg-btn.active{background:var(--surface-field);color:var(--text);border:1px solid var(--bg4)}.recipes-subtab-wrap .seg-btn.active{background:var(--surface-card)}.grouped-card>.seg-wrap:first-child .seg-btn:first-child{border-top-left-radius:calc(var(--r-md) - 3px)}.grouped-card>.seg-wrap:first-child .seg-btn:last-child{border-top-right-radius:calc(var(--r-md) - 3px)}.seg-wrap{--pill-bg: var(--surface-field);--pill-bd: var(--bg4);--pill-r: calc(var(--r-sm) - 2px);--pill-ease: var(--ease-decelerate)}.seg-wrap.has-slide-pill{position:relative;isolation:isolate}.seg-wrap.has-slide-pill .seg-btn{position:relative;z-index:1}.seg-wrap.has-slide-pill .seg-btn.active{background:transparent;border-color:transparent}#addFoodModal .seg-wrap,#addLogModal .seg-wrap{--pill-r: 9px}#addFoodModal .seg-wrap.has-slide-pill .seg-btn.active,#addLogModal .seg-wrap.has-slide-pill .seg-btn.active{border-color:transparent}.recipes-subtab-wrap{--pill-bg: var(--surface-card)}#builderWeightRow .seg-wrap{--pill-bg: var(--accentBG);--pill-bd: var(--accent)}#builderWeightRow .seg-wrap.has-slide-pill .seg-btn.active{background:transparent;border-color:transparent}.btn-cta{display:block;width:100%;padding:.8rem;border-radius:var(--r-md);background:var(--accent);color:var(--accentFg);font-size:1rem;font-weight:500;text-align:center;letter-spacing:.01em;transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);margin-top:.75rem;border:1px solid var(--accentCTA)}.btn-cta:active{opacity:.82;transform:scale(.985)}.btn-cta.btn-disabled,.btn-cta-secondary.btn-disabled{opacity:.45;cursor:default}.btn-cta.btn-disabled:active,.btn-cta-secondary.btn-disabled:active{opacity:.45;transform:none}.btn-cta-icon{display:flex;align-items:center;justify-content:center;gap:.4rem}.btn-cta-icon svg{width:14px;height:14px;flex-shrink:0}.btn-cta-secondary{display:block;width:100%;padding:.8rem;border-radius:var(--r-md);background:transparent;color:var(--accentText);font-size:1rem;font-weight:500;text-align:center;letter-spacing:.01em;border:1.5px solid var(--accentCTA);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);margin-top:.5rem}.btn-cta-secondary:active{opacity:.75;transform:scale(.985)}.foods-cta-row{display:flex;gap:.6rem;align-items:stretch;margin-top:.5rem}.foods-cta-row>.btn-cta,.foods-cta-row>.btn-cta-secondary{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;border-width:1.5px}.form-row.labeled .input-suffix-wrap{flex:1;display:flex;align-items:center}.form-row.labeled .input-suffix-wrap input{flex:1;width:100%;direction:ltr;text-align:right;padding-right:1.5rem;background:transparent;color:var(--text2)}.macro-inputs-group .form-row{border-bottom:1px solid var(--sep)}.macro-inputs-group .form-row:last-child{border-bottom:none}.toggle-switch{display:inline-flex;align-items:center;cursor:pointer}.toggle-switch input{display:none}.toggle-track{position:relative;width:48px;height:28px;background:var(--surface-inset);border:1px solid var(--sep);border-radius:14px;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--text3);border-radius:50%;transition:transform var(--duration-base) var(--ease-spring),background var(--duration-base) var(--ease-out)}.toggle-switch input:checked+.toggle-track{background:var(--accentBG);border-color:var(--accent)}.toggle-switch input:checked+.toggle-track .toggle-thumb{transform:translate(20px);background:var(--accent)}.rest-slider-drag{padding:.4rem 0;touch-action:pan-y;cursor:pointer}.rest-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;margin:0;background:transparent;cursor:pointer;pointer-events:none;--fill: 0%;--slider-accent: var(--accent)}.rest-slider::-webkit-slider-runnable-track{height:6px;border-radius:var(--r-full);background:linear-gradient(to right,var(--slider-accent) 0%,var(--slider-accent) var(--fill),var(--bg4) var(--fill),var(--bg4) 100%)}.rest-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:-7px;width:20px;height:20px;border-radius:50%;background:var(--slider-accent);border:3px solid var(--bg2);box-shadow:0 1px 4px #0000004d;transition:background-color var(--duration-fast) var(--ease-out)}.rest-slider::-moz-range-track{height:6px;border-radius:var(--r-full);background:var(--bg3)}.rest-slider::-moz-range-progress{height:6px;border-radius:var(--r-full);background:var(--slider-accent)}.rest-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--slider-accent);border:3px solid var(--bg2);box-shadow:0 1px 4px #0000004d}.rest-slider:focus{outline:none}.rest-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accentBG)}.restaurant-slider-block{padding:1rem;background:var(--surface-field)}#restaurantCard{background:var(--surface-field)}#restaurantCard .form-row{background-color:var(--surface-field)}.restaurant-result{margin-top:.5rem;font-size:.8rem;color:var(--text3)}#restaurantCard .toggle-switch{margin-left:auto}#restaurantCard:has(.restaurant-slider-block.hidden) .form-row{border-bottom:none}.rest-slider[data-level="0"]{--slider-accent: var(--bmi-normal)}.rest-slider[data-level="10"]{--slider-accent: var(--bmi-over)}.rest-slider[data-level="20"]{--slider-accent: var(--bmi-obese)}.rest-info-item{display:flex;gap:.55rem;align-items:flex-start;margin-bottom:.7rem}.rest-info-item:last-child{margin-bottom:0}.rest-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;margin-top:.4rem}.rest-dot--0{background:var(--bmi-normal)}.rest-dot--10{background:var(--bmi-over)}.rest-dot--20{background:var(--bmi-obese)}.list-row{position:relative;display:flex;justify-content:space-between;align-items:center;background:var(--surface-card);padding:.75rem;border-radius:var(--r-md);margin-bottom:.5rem;border:1px solid var(--sep);gap:1rem;user-select:none;-webkit-user-select:none;overflow:visible;transition:background-color var(--duration-fast) var(--ease-out);cursor:pointer}.list-row:active{background-color:var(--surface-inset)}.list-row-name{position:relative;font-weight:600;font-size:.9rem;line-height:1.3;margin-left:1px}.list-row-sub{font-size:.82rem;color:var(--text3);margin-top:4px}.list-row-cal{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;color:var(--accentText);background:var(--accentBG);border-radius:var(--r-xs);padding:1px 6px;margin-right:.4rem}.list-row-rail{position:absolute;top:0;bottom:0;right:calc(100% + 4px);display:flex;flex-direction:column;gap:3px;width:3px;pointer-events:none}.list-row-rail>i{flex:1;border-radius:var(--r-full);background:var(--rail-c)}.list-row-rail[data-source=rest-0]{--rail-c: var(--rest-good)}.list-row-rail[data-source=rest-10]{--rail-c: var(--rest-mid)}.list-row-rail[data-source=rest-20]{--rail-c: var(--rest-high)}.list-row-rail[data-source=builder]{--rail-c: var(--accent)}.list-row-rail[data-source=off]{--rail-c: var(--badge-off-color)}.badge{display:inline;font-size:.75rem;font-weight:500;background:var(--badgeBG);color:var(--badge);padding:1px 6px;border-radius:var(--r-xs);vertical-align:middle;white-space:nowrap}.badge-builder{background:var(--accentBG);color:var(--accentText)}.badge-search{background:var(--badge-off-bg);color:var(--badge-off-color)}.badge-restaurant{background:var(--badgeBG);color:var(--badge)}.badge-restaurant--0{background:var(--rest-good-bg);color:var(--rest-good)}.badge-restaurant--10{background:var(--rest-mid-bg);color:var(--rest-mid)}.badge-restaurant--20{background:var(--rest-high-bg);color:var(--rest-high)}.log-session{margin-bottom:.75rem}.log-session-head{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.25rem 3px .35rem;background:none;border:none;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.log-session-time{font-size:.78rem;font-weight:600;color:var(--text3);font-variant-numeric:tabular-nums}.log-session-meta{display:inline-flex;align-items:center;gap:.35rem}.log-session-total{font-size:.75rem;font-weight:600;color:var(--text3);font-variant-numeric:tabular-nums}.log-session-left{display:inline-flex;align-items:center;gap:.35rem}.log-session-count{font-size:.7rem;font-weight:600;color:var(--accentText);background:var(--accentBG);border-radius:var(--r-full);padding:1px 7px;font-variant-numeric:tabular-nums}.log-session-chevron{color:var(--text3);transition:transform var(--duration-base) var(--ease-out)}.log-session.collapsed .log-session-chevron{transform:rotate(-90deg)}.log-session-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--duration-base) var(--ease-out)}.log-session.collapsed .log-session-body{grid-template-rows:0fr}.log-session-body-inner{overflow:hidden;min-height:0;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.log-session .list-row:last-child,.log-session-body-inner .swipe-wrap:last-child{margin-bottom:0}.empty-hint{text-align:center;color:var(--text3);padding:2rem 0;font-size:.9rem}.foods-filter-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 0 12px;justify-content:space-around;max-width:370px;margin:0 auto}.foods-filter-chips::-webkit-scrollbar{display:none}.filter-chip{padding:5px 14px;border-radius:var(--r-full);border:.5px solid var(--sep);background:transparent;color:var(--text2);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.filter-chip:active{transform:scale(.94)}.filter-chip.active{background:var(--accentBG);color:var(--accentText);border-color:var(--accent)}.pin-badge{position:absolute;top:-8px;left:-8px;width:20px;height:20px;border-radius:50%;background:var(--macro-protein);display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none;transform:rotate(290deg)}.pin-badge svg{width:13px;height:10px;color:var(--pin-color);fill:currentColor}.swipe-wrap{position:relative;--swipe-bleed: 1rem;margin-left:calc(-1 * var(--swipe-bleed));margin-right:calc(-1 * var(--swipe-bleed));padding-left:var(--swipe-bleed);padding-right:var(--swipe-bleed);overflow:hidden;margin-bottom:.5rem;touch-action:pan-y}.swipe-wrap>.list-row,.swipe-wrap>.tr-row{margin-bottom:0;position:relative;z-index:1;background:var(--surface-card);transition:transform var(--duration-base) var(--ease-out)}@media (prefers-reduced-motion: reduce){.swipe-wrap>.list-row,.swipe-wrap>.tr-row{transition:none}}.swipe-actions{position:absolute;inset:0 var(--swipe-bleed);z-index:0;display:flex;justify-content:flex-end;align-items:stretch;border-radius:var(--r-md);overflow:hidden;background:var(--surface-inset)}.swipe-actions--lead{inset:0 auto 0 var(--swipe-bleed);justify-content:flex-start;background:none;border-radius:var(--r-md) 0 0 var(--r-md)}.swipe-action{position:relative;display:flex;align-items:center;justify-content:center;width:64px;border:none;padding:0;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.swipe-action svg{transition:opacity var(--duration-fast) var(--ease-out)}.swipe-action--edit svg{width:17px;height:17px}.swipe-action--delete svg{width:20px;height:20px}.swipe-action--pin svg{width:16px;height:16px;transform:rotate(290deg)}.swipe-action--unpin svg{width:26px;height:26px}.swipe-action:active{opacity:.7}.swipe-wrap.swipe-armed .swipe-action--edit{flex:1 0 auto;justify-content:flex-end;padding-right:23.5px;color:var(--accent)}.swipe-wrap.swipe-armed .swipe-action--delete svg{opacity:.4}.swipe-wrap.swipe-armed-lead .swipe-actions--lead{right:var(--swipe-bleed)}.swipe-wrap.swipe-armed-lead .swipe-action--pin,.swipe-wrap.swipe-armed-lead .swipe-action--unpin{flex:1 0 auto;justify-content:flex-start}.swipe-wrap.swipe-armed-lead .swipe-action--pin{padding-left:24px}.swipe-wrap.swipe-armed-lead .swipe-action--unpin{padding-left:19px}.swipe-action-label{position:absolute;opacity:0;font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out)}.swipe-actions--trail .swipe-action-label{right:46px}.swipe-actions--lead .swipe-action-label{left:50px}.swipe-wrap.swipe-armed .swipe-action--edit .swipe-action-label,.swipe-wrap.swipe-armed-lead .swipe-action--pin .swipe-action-label,.swipe-wrap.swipe-armed-lead .swipe-action--unpin .swipe-action-label{opacity:1}.swipe-action--edit{background:var(--surface-inset);color:var(--text2)}.swipe-action--delete{background:color-mix(in srgb,var(--red) 14%,var(--surface-overlay));color:var(--red)}.swipe-action--pin{color:var(--macro-protein)}.swipe-action--unpin{--swipe-action-bg: var(--surface-inset);background:var(--swipe-action-bg);color:var(--text2)}.swipe-action--unpin .swipe-knockout{fill:var(--swipe-action-bg)}.swipe-action--unpin .swipe-badge{fill:var(--red)}.swipe-wrap[data-swipe-focus=trail]>.list-row,.swipe-wrap[data-swipe-focus=trail]>.tr-row{transform:translate(calc(-1 * var(--swipe-tray-w, 128px)))}.swipe-wrap[data-swipe-focus=lead]>.list-row,.swipe-wrap[data-swipe-focus=lead]>.tr-row{transform:translate(var(--swipe-lead-w, 64px))}#dayDetailLogs .swipe-wrap>.list-row,#tr-day-detail .swipe-wrap>.tr-row{background:var(--surface-raised)}#dayDetailLogs .swipe-wrap,#tr-day-detail .swipe-wrap{--swipe-bleed: 1.5rem}.swipe-wrap .pin-badge{top:10px;right:10px;left:auto;width:auto;height:auto;background:none;border-radius:0}.swipe-wrap .pin-badge svg{width:15px;height:15px;color:var(--macro-protein)}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;height:var(--app-height, 100dvh);padding-bottom:0!important;overflow:hidden;background:transparent;align-items:flex-end;justify-content:center;z-index:80;transition:background var(--duration-enter) var(--ease-out),display var(--duration-enter);transition-behavior:allow-discrete}.modal-overlay.open{display:flex;background:var(--overlay)}@starting-style{.modal-overlay.open{background:transparent}}body:has(.modal-overlay.open) .page{overflow:hidden}.modal-sheet{position:relative;isolation:isolate;background:var(--surface-card);width:100%;max-width:var(--app-max-width);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:0 1rem 1.3rem;box-shadow:var(--shadow-lg);max-height:min(calc(var(--app-height, 100vh) * .85),calc(var(--app-height, 100vh) - var(--keyboard-inset, 0px) - max(env(safe-area-inset-top,0px),24px)));margin-bottom:calc(var(--keyboard-inset, 0px));display:flex;flex-direction:column;transform:translateY(100%);transition:margin-bottom .2s,max-height .2s,transform var(--duration-enter) var(--ease-decelerate)}.modal-overlay.open .modal-sheet{transform:translateY(0)}@starting-style{.modal-overlay.open .modal-sheet{transform:translateY(100%)}}.modal-sheet:not(.info-modal-sheet):after{content:"";position:absolute;left:0;right:0;top:calc(100% - 2px);height:100vh;background:var(--surface-card);z-index:-1;pointer-events:none}html:not(.is-desktop) body.kb-open .modal-sheet,html:not(.is-desktop) .modal-sheet:focus-within{max-height:min(calc(var(--app-height, 100vh) * .85 - var(--keyboard-inset, 0px)),calc(var(--app-height, 100vh) - var(--keyboard-inset, 0px) - max(env(safe-area-inset-top,0px),44px)));transition:margin-bottom .25s var(--ease-out),max-height .25s var(--ease-out)!important;transform:none!important}html:not(.is-desktop) body.kb-open .modal-sheet{padding-bottom:.5rem}html:not(.is-desktop) body.kb-open .modal-add-wrap{padding-bottom:0}html:not(.is-desktop) body.kb-open #addLogModal>.modal-sheet{padding-bottom:.5rem}html:not(.is-desktop) body.kb-open #addLogModal .modal-add-wrap{padding-bottom:0}html.is-desktop .modal-sheet{max-height:calc(var(--app-height, 100vh) * .88 - 24px);margin-bottom:0}.modal-handle{width:40px;height:5px;border-radius:9999px;background:var(--sep);margin:12px auto 20px;flex-shrink:0}.modal-body{flex:1;overflow-y:auto;min-height:0;padding:.75rem 0 0}.modal-add-wrap{flex-shrink:0;padding-top:.75rem;padding-bottom:.5rem;border-top:.5px solid var(--sep);background:var(--surface-card)}.modal-add-wrap .btn-cta{margin-top:0}.modal-add-wrap.foods-cta-wrap .btn-cta,.modal-add-wrap.foods-cta-wrap .btn-cta-secondary{margin-top:0;padding:.8rem}.modal-add-wrap.foods-cta-wrap .foods-cta-row{margin-top:0}.dish-row{position:relative;display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:var(--surface-raised);padding:.75rem;border-radius:var(--r-md);margin-bottom:.4rem;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-base) var(--ease-out);border:1px solid var(--sep)}.dish-row.selected{border-color:var(--accent)}.dish-row-cal{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;color:var(--accentText);background:var(--accentBG);border-radius:var(--r-xs);padding:2.5px 7px;margin-right:.3rem}.dish-weight-row{position:relative;background:var(--surface-raised);padding:.75rem;border-radius:var(--r-md);margin-bottom:.4rem;border:1px solid var(--sep);transition:border-color var(--duration-base) var(--ease-out);display:grid;grid-template-columns:2.7fr 1fr;column-gap:.4rem;align-items:center}.dish-weight-row.has-weight{border-color:var(--accent)}.dish-weight-row-header,.dish-row-header{display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}.dish-row-header{flex:1;min-width:0}.dish-weight-row-actions{display:flex;flex-direction:column;gap:.4rem}.dish-weight-row-actions .btn-off-save{width:100%;height:2.4rem}.dish-row-stepper{flex-shrink:0;display:flex;align-items:center;gap:.45rem}.dish-step-btn{width:2rem;height:2rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--accent-track);background:var(--accentBG);color:var(--accentText);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.dish-step-btn:active{transform:scale(.88);opacity:.7}.dish-step-btn:disabled{opacity:.35;cursor:default}.dish-step-btn svg{display:block}.dish-step-dec{background:var(--surface-inset);border-color:var(--sep);color:var(--text2)}.dish-step-count{min-width:1.1rem;text-align:center;font-size:.9rem;font-weight:700;color:var(--accentText);font-variant-numeric:tabular-nums}.btn-off-save{flex-shrink:0;height:2rem;padding:0 .6rem;border-radius:var(--r-sm);background:var(--btn-off-bg);border:1px solid var(--btn-off-border);color:var(--badge-off-color);font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.btn-off-save:active{opacity:.6}.btn-off-save--done{background:var(--btn-off-bg);border-color:var(--btn-off-border);opacity:.85;color:var(--badge-off-color);cursor:default}.btn-off-save:disabled{cursor:default;opacity:.6}.dish-weight-chip{width:100%;min-height:2.4rem;display:flex;align-items:center;gap:.4rem;padding:0 .7rem;background:var(--surface-field);border:1.5px solid var(--sep);border-radius:var(--r-sm);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.dish-weight-chip:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-track)}.dish-weight-inline-input{flex:1;min-width:0;width:100%;padding:.4rem 0;background:transparent;color:var(--text);border:none;outline:none;font:inherit;font-size:16px;text-align:right}.dish-weight-inline-input::placeholder{color:var(--text3)}.dish-weight-unit{flex-shrink:0;font-size:14px;color:var(--text3);font-variant-numeric:tabular-nums;pointer-events:none}.dish-weight-row.has-weight .dish-weight-chip{border-color:var(--accent)}.dish-weight-row.has-weight{border-color:var(--accent);border-width:1.5px}.modal-dock{flex-shrink:0;padding:.75rem 1rem 0;background:var(--surface-card);border-top:.5px solid var(--sep);display:flex;flex-direction:column;gap:.55rem}.modal-dock .modal-add-wrap{order:-1;border-top:none;background:transparent;padding:0}.modal-dock .btn-cta{margin-top:0}.modal-dock .modal-search-static{padding:0;background:transparent}#modal-add-btn-wrap.cta-hidden{display:none}.modal-search-static{padding:.5rem 0 .2rem;background:var(--surface-card)}.modal-sheet .modal-search-inner{background:var(--surface-field)}.modal-search-inner{display:flex;align-items:center;gap:.5rem;background:var(--surface-card);border:.5px solid var(--sep);border-radius:var(--r-md);padding:0 1rem;min-height:44px;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.modal-search-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-track)}.modal-search-icon{display:flex;align-items:center;flex-shrink:0;color:var(--icon)}.modal-search-icon svg{width:17px;height:17px;display:block}.modal-search-inner input{flex:1;padding:.65rem 0;min-width:0;background:transparent;color:var(--text);border:none;outline:none;font:inherit;font-size:16px}.modal-search-inner input::placeholder{color:var(--text3)}.edit-log-modal-inner{padding:0 0 .5rem;display:grid;grid-template-columns:max-content 1fr;column-gap:.75rem;row-gap:.6rem;align-items:center}.edit-log-header,.edit-log-food-name,.edit-log-footer{grid-column:1 / -1}.edit-log-header{padding:0 0 .75rem}.edit-log-title{font-weight:700;font-size:1rem}.edit-log-food-name{font-size:.88rem;color:var(--text2);font-weight:600;padding:.25rem 0 .75rem;border-bottom:1px solid var(--sep);margin-bottom:.15rem}#editLogMacroFields,.edit-log-field{display:contents}.edit-log-field .row-label{font-size:1rem;color:var(--text);white-space:nowrap}.edit-log-field>.modal-input,.edit-log-field>.input-suffix-wrap{min-width:0}.edit-log-field .modal-input{width:100%;text-align:right}.edit-log-qty-stepper{justify-content:flex-end}.modal-input{width:100%;background:var(--surface-field);color:var(--text);padding:.65rem .75rem;border-radius:var(--r-md);border:1.5px solid var(--sep);font:inherit;font-size:16px;outline:none;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-track)}.modal-input:disabled{opacity:.5}.modal-input::placeholder{color:var(--text3)}.edit-log-footer{display:flex;gap:.5rem;padding-top:.25rem}.btn-secondary{flex:1;padding:.7rem;border-radius:var(--r-md);background:var(--surface-inset);color:var(--text2);font-size:.95rem;font-weight:500;border:1px solid var(--sep);text-align:center;transition:opacity var(--duration-fast) var(--ease-out)}.btn-secondary:active{opacity:.65}.btn-primary{flex:2;padding:.7rem;border-radius:var(--r-md);background:var(--accent);color:var(--accentFg);font-size:.95rem;font-weight:500;border:1px solid var(--accentCTA);text-align:center;transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn-primary:active{opacity:.75;transform:scale(.985)}.btn-primary:disabled{opacity:.5;cursor:default}.edit-log-modal-inner .input-suffix{right:.7rem}.edit-log-modal-inner .input-suffix-wrap input{padding-right:2.75rem}.edit-log-modal-inner .input-suffix-wrap #editLogProtein,.edit-log-modal-inner .input-suffix-wrap #editLogFat,.edit-log-modal-inner .input-suffix-wrap #editLogCarbs{padding-right:1.4rem}#modal-quick{margin-bottom:.2rem}.restaurant-slider-block .row-label-with-info{gap:.4rem}#addLogModal>.modal-sheet{padding:0 0 1.3rem}#addLogModal .seg-wrap{padding:3px 1rem .75rem;border-bottom:.5px solid var(--sep)}#addLogModal .modal-body{padding:.5rem 1rem}#addFoodModal .seg-wrap{margin:0 -1rem;padding:3px 1rem .75rem;border-bottom:.5px solid var(--sep)}#addFoodModal .modal-add-wrap{margin:0 -1rem;padding-left:1rem;padding-right:1rem}.modal-add-wrap.foods-cta-wrap:not(:has(button:not(.hidden))){display:none}#addFoodModal #modal-search-food-base{margin:0 -1rem;padding:.75rem 1rem .5rem;border-top:.5px solid var(--sep);background:var(--surface-card)}#builderMultiSheet .modal-dock{margin:0 -1rem}.cal-card{padding:0}.cal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .75rem}.cal-month-label{font-weight:600;font-size:1rem}.cal-nav{width:36px;height:36px;border-radius:50%;color:var(--icon);display:flex;align-items:center;justify-content:center;transition:opacity var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out);flex-shrink:0}.cal-nav:active{opacity:.5;background-color:var(--surface-inset)}.cal-nav:disabled{opacity:.25;cursor:default}.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);column-gap:10px;padding:0 .75rem;margin-bottom:.25rem}.cal-dow{text-align:center;font-size:.75rem;font-weight:500;color:var(--text3);padding:.15rem 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:0 .75rem .875rem}.cal-day{aspect-ratio:1;border-radius:var(--r-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.88rem;font-weight:500;cursor:pointer;position:relative;transition:transform var(--duration-fast) var(--ease-out);color:var(--text3);-webkit-user-select:none;user-select:none;border:2px solid transparent}.cal-day.empty{cursor:default;pointer-events:none}.cal-day.out-of-range{opacity:.3;cursor:default;pointer-events:none}.cal-day.has-data{color:var(--text)}.cal-day.dot-green,.cal-day.dot-red,.cal-day.dot-warn{background:var(--surface-inset)}.cal-day.selected{border:2px dashed var(--cal-progress-fill)}.cal-day-num{line-height:1}@keyframes cal-pop{0%{transform:scale(.8)}to{transform:scale(1)}}.cal-day.cal-pop{animation:cal-pop .24s var(--ease-spring)}@media (prefers-reduced-motion: reduce){.cal-day.cal-pop{animation:none}}.cal-day.dot-green,.cal-day.dot-red,.cal-day.dot-warn{font-weight:700}.cal-day.dot-green{color:var(--dot-green)}.cal-day.dot-red{color:var(--cal-progress-error);border:2px dotted var(--cal-progress-error)}.cal-day.dot-warn{color:var(--bmi-over);border:2px dotted var(--bmi-over)}.cal-day.dot-green.selected{border:2px solid var(--dot-green)}.cal-day.dot-red.selected,.cal-day.dot-warn.selected{border-style:solid}.cal-day.frozen{color:var(--frost);font-weight:700}frozen/selected rules. */ .cal-day.today{font-weight:700}.cal-day.today:not(.selected){background:none;border:2px solid var(--text);color:var(--text)}.cal-day.today.dot-green:not(.selected){border-color:var(--dot-green);color:var(--dot-green)}.cal-day.today.dot-red:not(.selected){border-color:var(--cal-progress-error);color:var(--cal-progress-error)}.cal-day.today.dot-warn:not(.selected){border-color:var(--bmi-over);color:var(--bmi-over)}.cal-day.today.frozen:not(.selected){border-color:var(--frost);color:var(--frost)}.cal-day.today.selected{background:var(--text);color:var(--bg);border:2px solid transparent}.cal-day.today.dot-green.selected{background:var(--dot-green)}.cal-day.today.dot-red.selected{background:var(--cal-progress-error)}.cal-day.today.dot-warn.selected{background:var(--bmi-over)}.cal-day.today.frozen.selected{background:var(--frost)}.cal-day.today.selected .wk-frost{color:var(--bg)}.cal-legend{display:flex;justify-content:center;gap:16px;padding:0 .75rem .875rem;font-size:.72rem;color:var(--text3)}.cal-legend-item{display:inline-flex;align-items:center;gap:6px}.cal-legend-swatch{width:14px;height:14px;border-radius:var(--r-xs);background:var(--surface-inset);flex-shrink:0}.cal-legend-ok{background:var(--dot-green)}.cal-legend-over{border:2px dotted var(--cal-progress-error)}.cal-legend-pending{border:2px dotted var(--bmi-over)}.day-detail{background:var(--surface-card);border-radius:var(--r-md);margin-bottom:0;animation:fadeUp var(--duration-enter) var(--ease-decelerate) forwards;border:1px solid var(--sep)}.day-detail.hidden{display:none}#dayDetailLogs{padding:.5rem .5rem 0}.day-detail-header{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--sep)}.day-detail-left-col{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0}.day-detail-date{font-weight:600;font-size:.9rem}.day-detail-add-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:var(--r-sm);border:1px solid var(--accent-track);background:var(--accentBG);color:var(--accentText);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.day-detail-add-btn:active{transform:scale(.88);opacity:.7}.day-detail-add-btn svg{display:block}.day-detail-stats{display:flex;gap:.3rem;flex-wrap:wrap}.day-detail-stat{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;background:var(--surface-inset);border-radius:var(--r-xs);padding:1px 6px}.day-detail-stat.eaten{color:var(--accentText);background-color:var(--accentBG)}.day-detail-stat.remaining{color:var(--badge)}.day-detail-stat-label{font-weight:500;color:inherit;opacity:.75}.weekly-chart-card{padding:.85rem .85rem .55rem}.weekly-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.weekly-chart-title{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text3)}.weekly-avg-row{font-size:.72rem;color:var(--text3);margin-top:.37rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.week-avg-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-budget-cell{display:inline-flex;align-items:center;gap:.45rem;flex:none;white-space:nowrap}.week-budget-val{display:inline-flex;align-items:center;gap:3px;font-weight:600;font-size:.85rem;color:var(--text3)}.week-budget-wallet{flex:none;width:15px;height:15px}.week-budget-val.positive{color:var(--green)}.week-budget-val.negative{color:var(--dot-red-border)}.week-budget-cell .info-icon-btn{display:inline-flex;align-items:center}.chart-tooltip{position:fixed;z-index:200;pointer-events:none;background:color-mix(in srgb,var(--surface-card) 90%,transparent);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid var(--sep);border-radius:var(--r-sm);box-shadow:var(--shadow-md);padding:.42rem .6rem;opacity:0;transition:opacity .14s var(--ease-out);will-change:opacity}.chart-tt-title{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);margin-bottom:.25rem}.chart-tt-row{display:flex;align-items:center;gap:.38rem;font-size:.78rem;font-weight:600;color:var(--text);white-space:nowrap}.chart-tt-row+.chart-tt-row{margin-top:.15rem}.chart-tt-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chart-tt-label{color:var(--text3);font-weight:500}.chart-tt-label+.chart-tt-val{margin-left:auto;padding-left:.75rem}.chart-tt-val{font-variant-numeric:tabular-nums}.empty-today{display:flex;flex-direction:column;animation:emptyTodayIn var(--duration-enter) var(--ease-decelerate) both}.ghost-stack{position:relative;width:100%;display:flex;flex-direction:column;gap:.5rem}.ghost-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:4.55rem;padding:.85rem .9rem;border-radius:var(--r-md);border:1px solid var(--sep);background:var(--surface-card);text-align:left}.ghost-row-info{display:flex;flex-direction:column;gap:.5rem;min-width:0;flex:1}.ghost-row-pills{display:flex;align-items:center;gap:.3rem}.ghost-line{display:block;height:.62rem;border-radius:var(--r-full);background:var(--text3);opacity:.18}.ghost-line-name{width:42%}.ghost-pill{height:.95rem;width:2.1rem;border-radius:var(--r-xs);background:var(--text3);opacity:.14}.ghost-pill-cal{width:3.1rem}.ghost-row-cta{cursor:pointer;border-style:dashed;border-color:var(--accent);background:var(--accentBG);transition:transform var(--duration-fast) var(--ease-out),background var(--duration-base) var(--ease-out)}.ghost-row-cta:active{transform:scale(.985);background:var(--accent-track)}.ghost-row-cta .ghost-row-name{font-size:.9rem;font-weight:600;color:var(--accentText);margin-left:1px;line-height:1.3}.ghost-row-cta .ghost-pill{background:var(--accentText);opacity:.22}.ghost-row-cta .ghost-pill-cal{opacity:.3}.ghost-row-add{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accentFg);box-shadow:0 2px 10px var(--fab-shadow)}.ghost-row-add svg{width:13px;height:13px}.ghost-row-ph{opacity:.55;pointer-events:none}.ghost-row-ph2{opacity:.28}@keyframes emptyTodayIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.empty-today{animation:none}}.list-row-sub-row{display:flex;align-items:center;flex-wrap:wrap;margin-top:.5rem}#foodsList .list-row-sub-row{margin-top:.4rem}.macro-pill{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;color:var(--accentText);background:var(--accentBG);border-radius:var(--r-xs);padding:1px 6px;user-select:none;-webkit-user-select:none}.macro-pill-p{color:var(--macro-protein);background:var(--macro-protein-bg);border-top-right-radius:0;border-bottom-right-radius:0;padding:1px 4px 1px 6px}.macro-pill-f{color:var(--macro-fat);background:var(--macro-fat-bg);border-right:none;border-radius:0;padding:1px 4px}.macro-pill-c{color:var(--macro-carbs);background:var(--macro-carbs-bg);border-top-left-radius:0;border-bottom-left-radius:0;padding:1px 6px 1px 4px}#macroBarsToday{margin-top:0;margin-bottom:.5rem}.macro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;user-select:none;-webkit-user-select:none}.macro-card{display:flex;flex-direction:column;gap:1.55rem;padding:.7rem .75rem;border-radius:var(--r-md);background:var(--surface-card);border:1px solid var(--sep);min-width:0;position:relative;overflow:hidden}.macro-card-name,.macro-card-val{position:relative;z-index:1}.macro-card.protein{--c: var(--macro-protein);--c-bar: var(--macro-protein-bar);--c-bg: var(--macro-protein-bg)}.macro-card.fat{--c: var(--macro-fat);--c-bar: var(--macro-fat-bar);--c-bg: var(--macro-fat-bg)}.macro-card.carbs{--c: var(--macro-carbs);--c-bar: var(--macro-carbs-bar);--c-bg: var(--macro-carbs-bg)}.macro-card-name{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.macro-card-viz{display:contents}.macro-glow{--glow-c: var(--c-bar);position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.macro-glow .glow-wave{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.macro-glow .gs0{stop-color:var(--glow-c);stop-opacity:.8}.macro-glow .gs1{stop-color:var(--glow-c);stop-opacity:.34}.macro-glow .gs2{stop-color:var(--glow-c);stop-opacity:.13}.macro-glow .gs3{stop-color:var(--glow-c);stop-opacity:.04}.macro-glow .gw-line{fill:none;stroke:color-mix(in srgb,var(--glow-c) 66%,transparent);stroke-width:1.4;stroke-linecap:round;vector-effect:non-scaling-stroke}.macro-glow .gw-line2{fill:none;stroke:color-mix(in srgb,var(--glow-c) 32%,transparent);stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke}[data-theme=light] .macro-glow .gs0{stop-opacity:.5}[data-theme=light] .macro-glow .gs1{stop-opacity:.24}[data-theme=light] .macro-glow .gs2{stop-opacity:.1}[data-theme=light] .macro-glow .gs3{stop-opacity:.03}[data-theme=light] .macro-glow .gw-line{stroke:color-mix(in srgb,var(--glow-c) 52%,transparent)}[data-theme=light] .macro-glow .gw-line2{stroke:color-mix(in srgb,var(--glow-c) 26%,transparent)}.macro-card.macro-over{filter:grayscale(.9)}.macro-card-val{font-size:.8rem;font-weight:700;color:var(--text3);font-variant-numeric:tabular-nums;white-space:nowrap}.macro-card-cur{display:block;font-size:2.25rem;font-weight:700;line-height:1;color:color-mix(in srgb,var(--c) 18%,var(--text))}[data-theme=light] .macro-card-cur{color:var(--c)}.macro-card-ref{display:block;margin-top:.25rem;font-size:.72rem;font-weight:600;color:color-mix(in srgb,var(--c) 40%,var(--text2))}[data-theme=light] .macro-card-ref{color:color-mix(in srgb,var(--c) 52%,var(--text3))}#dayDetailMacroCards{padding:.5rem;border-bottom:1px solid var(--sep)}.macro-energy-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;padding:0 .05rem}.macro-energy-title{font-size:.68rem;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.02em;min-width:0}.macro-energy-diff{font-size:.72rem;color:var(--text2);background:none;border:none;padding:0;white-space:nowrap;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:3px}.macro-energy-diff.positive{color:var(--green)}.macro-energy-diff.negative{color:var(--dot-red-border)}.dyn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dyn-chip{display:flex;flex-direction:column;gap:3px;min-width:0;padding:10px 12px;border:.5px solid var(--sep);border-radius:var(--r-sm);background:var(--bg3);color:inherit;font-family:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-out)}.dyn-chip:active{transform:scale(.97)}.dyn-cap{font-style:normal;font-size:.64rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dyn-val{display:inline-flex;align-items:center;gap:5px;font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text2)}.dyn-chip.dyn-good .dyn-num{color:var(--dyn-good)}.dyn-chip.dyn-mid .dyn-num{color:var(--dyn-mid)}.dyn-chip.dyn-warn .dyn-num{color:var(--dyn-warn)}.dyn-ico{display:inline-flex}.dyn-ico:empty{display:none}.dyn-icon-slot{display:inline-block;width:17px;height:17px}.dyn-icon-slot svg{display:block;width:100%;height:100%}.dyn-ph{display:block;font-size:12px;line-height:17px;text-align:center}.einfo-rows{display:flex;flex-direction:column;gap:.1rem}.einfo-sum{display:flex;flex-direction:column;gap:.1rem;margin-top:.85rem}.einfo-total{font-weight:700;color:var(--text)}.einfo-note{margin-top:.85rem;font-size:.8rem;color:var(--text3)}.streak-badge{display:flex;align-items:center;gap:1px;cursor:pointer}.streak-badge.hidden{display:none}.flame-svg{transform-origin:50% 100%;overflow:visible}.phoenix-svg{overflow:visible}.streak-icon-slot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0 1px 4px 0;overflow:visible}.streak-icon-slot svg{display:block;overflow:visible}.phx-wing-l{transform-box:view-box;transform-origin:49.2% 29.3%}.phx-wing-r{transform-box:view-box;transform-origin:50.8% 29.3%}@media (prefers-reduced-motion: no-preference){.streak-badge.milestone-pop svg{animation:milestone-pop .7s cubic-bezier(.34,1.56,.64,1) 1}@keyframes milestone-pop{0%{transform:scale(.3) rotate(-8deg)}55%{transform:scale(1.35) rotate(3deg)}to{transform:scale(1)}}}.streak-count{font-size:.88rem;font-weight:600;color:var(--text);margin-right:2px}.streak-unit{font-size:.88rem;font-weight:500;color:var(--text2)}.week-strip{display:flex;align-items:stretch;gap:.5rem;margin:.4rem 0 0}.wk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem;flex:1;min-width:0}.week-strip.no-budget .wk-days{grid-template-columns:repeat(7,39px);justify-content:center;gap:.7rem;margin:0 .5rem}.wk-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:.5rem 0rem;border:2px solid transparent;border-radius:var(--r-sm);background:none;color:var(--text3);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.wk-day:active{transform:scale(.92)}.wk-dow{font-size:.58rem;font-weight:600;letter-spacing:.02em;line-height:1}.wk-num{font-size:.92rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.wk-day.out-of-range{opacity:.3;pointer-events:none;cursor:default}.wk-day.has-data .wk-num{color:var(--text)}.wk-day.dot-green .wk-num{color:var(--dot-green);font-weight:700}.wk-day.dot-warn .wk-num{color:var(--bmi-over);font-weight:700}.wk-day.dot-red .wk-num{color:var(--cal-progress-error);font-weight:700}.wk-day.has-workout .wk-num{color:var(--accent);font-weight:700}.wk-day.selected{background:var(--surface-inset)}.wk-day.today:not(.selected){border-color:var(--surface-inset)}.wk-days{--pill-bg: var(--surface-inset);--pill-bd: transparent;--pill-r: var(--r-sm);--pill-ease: var(--ease-decelerate)}.wk-days.has-slide-pill{position:relative;isolation:isolate}.wk-days.has-slide-pill .wk-day{position:relative;z-index:1}.wk-days.has-slide-pill .wk-day.selected{background:transparent}.wk-budget{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:.3rem .5rem .36rem;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.wk-budget.hidden{display:none}.wk-budget-val{display:inline-flex;flex-direction:row;align-items:center;gap:2px;font-weight:700;font-size:.9rem;color:var(--text3);font-variant-numeric:tabular-nums}.wk-budget-wallet{width:24px;height:26px;flex:none;padding-bottom:1px}.wk-budget-val.positive{color:var(--green)}.wk-budget-val.negative{color:var(--dot-red-border)}.today-energy-card{margin:.5rem 0 0;padding:.5rem .7rem .7rem;border:1px solid var(--sep);border-radius:var(--r-md);background:var(--surface-card)}.today-energy-card.hidden{display:none}.hist-trends-card{margin:0}#histWeeklyAvg{font-size:.75rem;color:var(--text3)}#histWeeklyChartSection{margin-bottom:0}.toast-container{position:fixed;bottom:calc(76px + .75rem);left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;width:calc(100% - 2rem);max-width:80vw}.toast{background:var(--surface-inset);border:1px solid var(--sep);border-radius:var(--r-full);padding:.65rem 1.25rem;font-size:.88rem;font-weight:500;color:var(--text);box-shadow:var(--shadow-lg);text-align:center;pointer-events:auto;animation:toastIn .22s cubic-bezier(.34,1.56,.64,1) forwards}.toast.toast-out{animation:toastOut .2s ease forwards}.toast.toast-confirm{border-radius:var(--r-md);display:flex;flex-direction:column;gap:.75rem;align-items:stretch;white-space:normal;padding:1rem 1.25rem}.toast-confirm-msg{font-size:.9rem;text-align:center}.toast-confirm-btns{display:flex;gap:.5rem}.toast-confirm-btns button{flex:1;padding:.6rem;border-radius:var(--r-sm);font:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.toast-btn-cancel{background:var(--surface-overlay);color:var(--text2);border:1px solid var(--sep)}.toast-btn-ok{background:var(--accent);color:var(--accentFg);border:1px solid var(--accentCTA)}.toast-btn-cancel:active,.toast-btn-ok:active{opacity:.75}.toast.toast-undo{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem .45rem .55rem}.toast-undo-msg{font-size:.88rem}.toast-undo-timer{position:relative;flex-shrink:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center}.toast-undo-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.toast-undo-ring-track{fill:none;stroke:var(--bg4);stroke-width:3}.toast-undo-ring-fill{fill:none;stroke:var(--accentText);stroke-width:3;stroke-linecap:round;stroke-dasharray:100.53;animation:undo-ring var(--undo-dur, 5s) linear forwards}@keyframes undo-ring{0%{stroke-dashoffset:0}to{stroke-dashoffset:100.53}}.toast-undo-count{position:relative;font-size:.66rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text2)}.toast-undo-btn{flex-shrink:0;background:var(--accentBG);color:var(--accentText);border:.5px solid var(--accent-track);font:inherit;font-size:.85rem;font-weight:500;padding:.3rem .85rem;border-radius:var(--r-full);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.toast-undo-btn:active{opacity:.7}@media (prefers-reduced-motion: reduce){.toast-undo-ring-fill{animation:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.96)}}.foods-empty-search{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;gap:.75rem;text-align:center}.foods-empty-msg{font-size:.9rem;color:var(--text3);font-weight:500}.foods-empty-add-btn{padding:.6rem 1.5rem;font-size:.9rem}.input-error{color:var(--red)!important;transition:color .2s}.profile-target-card{background:var(--surface-card);border:1px solid var(--sep);border-radius:var(--r-lg);padding:.85rem 1rem .95rem;margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;text-align:center;user-select:none;-webkit-user-select:none}.ptc-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3)}.ptc-main{display:flex;align-items:baseline;gap:.3rem}.ptc-value{font-size:2.1rem;font-weight:800;line-height:1.1;color:var(--accent);letter-spacing:-.5px;font-variant-numeric:tabular-nums;transition:color var(--duration-base) var(--ease-out)}.ptc-unit{font-size:.85rem;font-weight:600;color:color-mix(in srgb,var(--accent) 80%,transparent);text-transform:uppercase}.ptc-empty .ptc-value,.ptc-empty .ptc-unit{color:var(--text3)}.ptc-macros{display:flex;gap:.4rem;margin-top:.6rem}.ptc-macros.hidden{display:none}.ptc-macro{display:inline-flex;align-items:baseline;gap:.28rem;font-size:.74rem;font-weight:500;color:var(--text3);background:var(--surface-inset);border-radius:var(--r-full);padding:.22rem .65rem}.ptc-macro b{font-weight:700;font-variant-numeric:tabular-nums}.ptc-macro.protein b{color:var(--macro-protein)}.ptc-macro.fat b{color:var(--macro-fat)}.ptc-macro.carbs b{color:var(--macro-carbs)}.profile-section-label{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);margin:0 0 .4rem .3rem;user-select:none;-webkit-user-select:none}.profile-bottom .profile-section-label{margin-top:1.25rem}#tab-profile #notification-row{border-top:none}#tab-profile #monthly-review-row{padding:.538rem 1rem;gap:1rem;justify-content:space-between;border-top:1px solid var(--sep)}.profile-bottom{position:static;left:auto;transform:none;max-width:100%;width:auto;margin-top:.75rem}#tab-profile .form-row{background-color:var(--bg2)}#tab-history{display:flex;flex-direction:column;gap:.75rem}#tab-history .day-detail{flex-shrink:0}.history-spacer{display:none}#tab-history .cal-card{flex-shrink:0;margin-bottom:0}.profile-settings-row{display:flex;gap:.5rem;margin-top:.75rem}.lang-wrapper{position:relative;flex:1;min-width:0}.profile-toggle-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--surface-card);color:var(--text2);border-radius:var(--r-md);border:1px solid var(--sep);padding:.75rem .5rem;font-size:.88rem;font-weight:500;transition:opacity var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;min-width:0;box-sizing:border-box}.lang-wrapper .profile-toggle-btn{width:100%}#theme-btn{flex:1;min-width:0}.profile-toggle-btn:active{opacity:.6;background-color:var(--surface-inset)}.profile-toggle-icon-wrap{display:flex;align-items:center;flex-shrink:0}.profile-toggle-icon-wrap svg{width:16px;height:16px;display:block}.profile-toggle-label{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-dot-big{width:14px;height:14px;border-radius:50%;display:block;flex-shrink:0;margin-right:3px}.cs-dots-small{display:flex;flex-direction:row;gap:3px;flex-shrink:0;align-items:center;padding:2px 0}.cs-dot-sm{width:7px;height:7px;border-radius:50%;display:block}.foods-search-wrap{padding:0 0 .75rem}#tracking-mode-seg{border-top:1px solid var(--sep);border-bottom:none}#goal-percent-row{border-bottom:none}#addPWA{width:max-content;padding:.45rem .75rem;gap:.45rem;font-size:.85rem}#addPWA svg{flex-shrink:0;width:15px;height:17px}.pwa-ios-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center;padding:0 0 env(safe-area-inset-bottom,0);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.pwa-ios-overlay.hidden{display:none}.pwa-ios-sheet{background:var(--bg2);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0));width:100%;max-width:480px;box-shadow:0 -4px 32px #00000040}.pwa-ios-title{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:1rem;text-align:center}.pwa-ios-steps{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.65rem;counter-reset:pwa-step}.pwa-ios-step{display:flex;align-items:flex-start;gap:.5rem;font-size:.93rem;color:var(--text);counter-increment:pwa-step}.pwa-ios-step:before{content:counter(pwa-step);display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accentFg);font-size:.8rem;font-weight:700;margin-top:1px}.pwa-ios-subbullets{list-style:disc;padding-left:1.1rem;margin:.35rem 0 0;display:flex;flex-direction:column;gap:.25rem;font-size:.86rem;color:var(--text2)}.pwa-ios-step-body{display:flex;flex-direction:column;gap:0;flex:1}.pwa-ios-step-label{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.pwa-ios-share-icon{flex-shrink:0;width:18px;height:22px;color:var(--accent)}.pwa-android-inline-icon{flex-shrink:0;display:inline-block;vertical-align:middle;color:var(--accent);margin:0 .1rem}:root,[data-theme=dark]{--bmi-under: var(--bmi-under-scheme, #a78bfa);--bmi-normal: var(--rest-good, #34c759);--bmi-over: var(--rest-mid, #ff9f0a);--bmi-obese: var(--rest-high, #ff453a)}[data-theme=light]{--bmi-under: var(--bmi-under-scheme, #6d28d9);--bmi-normal: var(--rest-good, #248a3d);--bmi-over: var(--rest-mid, #b26b00);--bmi-obese: var(--rest-high, #d70015)}:root{--bmi-normal-wash: color-mix(in srgb, var(--bmi-normal) 15%, transparent);--bmi-obese-wash: color-mix(in srgb, var(--bmi-obese) 13%, transparent)}.bmi-row{padding:.7rem 1rem .85rem;border-bottom:1px solid var(--sep);background-color:var(--bg2)}.bmi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}.bmi-label{font-size:1rem;color:var(--text)}.bmi-value{display:inline-flex;align-items:center;gap:.45rem;font-size:.95rem;color:var(--text2);font-variant-numeric:tabular-nums}.bmi-value #bmiValue{font-weight:600;color:var(--text)}.bmi-cat-wrap{display:inline-flex;align-items:center;gap:.35rem}.bmi-dot{width:8px;height:8px;border-radius:50%;background:var(--text3)}.bmi-bar{position:relative;height:6px;border-radius:var(--r-full);background:linear-gradient(to right,var(--bmi-under) 0%,var(--bmi-under) 14%,var(--bmi-normal) 14%,var(--bmi-normal) 40%,var(--bmi-over) 40%,var(--bmi-over) 60%,var(--bmi-obese) 60%,var(--bmi-obese) 100%)}.bmi-marker{position:absolute;top:50%;width:4px;height:17px;border-radius:2px;background:var(--text);transform:translate(-50%,-50%)}.goal-slider-block{padding:.85rem 1rem 1rem;background-color:var(--bg2)}.goal-slider-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.goal-slider-type-wrap{display:inline-flex;align-items:center;gap:.35rem}.goal-slider-type{font-size:1rem;font-weight:600;color:var(--text)}.goal-slider-pct{font-size:.95rem;font-weight:600;color:var(--text2);font-variant-numeric:tabular-nums}.goal-slider-pct:empty{display:none}.goal-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;margin:0;background:transparent;cursor:pointer;pointer-events:none;--fill: 50%;--slider-accent: var(--bmi-normal)}.goal-slider.danger{--slider-accent: var(--bmi-obese)}.goal-slider::-webkit-slider-runnable-track{height:6px;border-radius:var(--r-full);background:linear-gradient(to right,var(--slider-accent) 0%,var(--slider-accent) var(--fill),var(--bg3) var(--fill),var(--bg3) 100%)}.goal-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:-7px;width:20px;height:20px;border-radius:50%;background:var(--slider-accent);border:3px solid var(--bg2);box-shadow:0 1px 4px #0000004d;transition:background-color var(--duration-fast) var(--ease-out)}.goal-slider::-moz-range-track{height:6px;border-radius:var(--r-full);background:var(--bg3)}.goal-slider::-moz-range-progress{height:6px;border-radius:var(--r-full);background:var(--slider-accent)}.goal-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--slider-accent);border:3px solid var(--bg2);box-shadow:0 1px 4px #0000004d}.goal-slider:focus{outline:none}.goal-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accentBG)}.goal-slider-drag{padding:.4rem 0;touch-action:pan-y;cursor:pointer}.goal-slider-scale{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.7rem;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.03em}.wp-block{border-top:1px solid var(--sep);background-color:var(--bg2);padding:.85rem 1rem 1rem}.wp-block.wp-empty{display:none}.wp-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.wp-title{font-size:1rem;font-weight:600;color:var(--text)}.wp-zone{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.2rem .5rem;border-radius:var(--r-full)}.wp-zone:empty{display:none}.wp-zone.safe{color:var(--bmi-normal);background:var(--bmi-normal-wash)}.wp-zone.danger{color:var(--bmi-obese);background:var(--bmi-obese-wash)}.wp-chart-wrap{padding:.25rem 0 .4rem}.wp-target{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding-top:.35rem}.wp-target-label{font-size:.9rem;color:var(--text2)}.wp-target-main{display:inline-flex;align-items:baseline;gap:.5rem}.wp-target-value{font-size:1.25rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;transition:filter var(--duration-fast) var(--ease-out)}.wp-target-value.blurred{filter:blur(7px);opacity:.7;-webkit-user-select:none;user-select:none}.wp-target-delta{font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums}.wp-target-delta:empty{display:none}.wp-target-delta.loss{color:var(--bmi-normal)}.wp-target-delta.gain{color:var(--bmi-under)}.wp-warn{margin-top:.65rem;padding:.6rem .7rem;border-radius:10px;font-size:.85rem;line-height:1.45;color:var(--text2);background:var(--bg3)}.wp-warn:empty,.wp-warn.hidden{display:none}.wp-warn.danger{color:var(--bmi-obese);background:var(--bmi-obese-wash);border-left:3px solid var(--bmi-obese)}.birthday-wrap{display:inline-flex;align-items:center;justify-content:flex-end;gap:.5rem;flex:1;min-width:0}.birthday-age{font-size:.9rem;color:var(--text2);white-space:nowrap}.birthday-age:empty{display:none}.birthday-row{padding:3px 4px 3px 1rem}.birthday-input{flex:0 1 auto;min-width:0;max-width:60%;display:inline-flex;align-items:center;justify-content:flex-end;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text2);background-color:var(--surface-field);border:1px solid var(--sep);border-radius:8px;padding:.55rem .5rem .5rem;font-size:.92rem;font-family:inherit;line-height:1.25;cursor:pointer;transition:background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.birthday-input.placeholder{color:var(--text3)}.birthday-input:focus-visible{outline:none;border-color:var(--accent)}.birthday-input:active{opacity:.6;background-color:var(--surface-field)}.birthday-input.input-error{border-color:var(--accent)}.builder-suggestions{background:var(--surface-inset);border-radius:var(--r-md);overflow:hidden;margin:0 0 .7rem}.builder-custom-form{margin:0 0 .5rem}.builder-suggestions>div,.builder-custom-form{background:var(--surface-inset);overflow:hidden}.builder-custom-form .field-chip{background:var(--bg4)}.builder-suggestion-row{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;cursor:pointer;border-bottom:1px solid var(--sep);font-size:.8rem;color:var(--text2);transition:background var(--duration-fast) var(--ease-out)}.builder-suggestion-row:last-child{border-bottom:none}.builder-suggestion-row:active{background:var(--surface-overlay)}.builder-suggestion-kcal{color:var(--text3);font-size:.8rem;white-space:nowrap;margin-left:.5rem}.builder-ing-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem;border-bottom:1px solid var(--sep);background-color:var(--surface-inset)}.builder-ing-row:last-of-type{border-bottom:none}.builder-ing-info{flex:1;min-width:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.builder-ing-nameRow{display:flex;align-items:center;gap:.2rem;min-width:0}.builder-ing-eye{flex-shrink:0}.builder-ing-name{font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;min-width:0;flex:1}.builder-ing-pills{display:flex;flex-wrap:nowrap;margin-top:7px}.builder-ing-pills-macros{margin-top:7px}.builder-ing-controls{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.builder-ing-subrow{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px}.builder-ing-subrow .builder-ing-pills{margin-top:0}.builder-weight-chip{display:inline-flex;align-items:center;gap:.3rem;width:84px;flex-shrink:0;min-height:2rem;padding:0 .5rem;background:var(--bg4);border:1px solid var(--sep);border-radius:var(--r-sm);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.builder-weight-chip:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-track)}.builder-weight-chip.is-invalid{border-color:var(--red)}.builder-ing-weight{flex:1;min-width:0;width:100%;padding:.28rem 0;background:transparent;color:var(--text);text-align:right;font:inherit;font-size:16px;border:none;outline:none}.builder-weight-unit{flex-shrink:0;font-size:13px;color:var(--text3);font-variant-numeric:tabular-nums;pointer-events:none}.builder-ing-stepper{display:flex;align-items:center;flex-shrink:0;width:78px;background:var(--surface-inset);border:1px solid var(--sep);border-radius:var(--r-sm);overflow:hidden}.builder-ing-stepper[aria-disabled=true]{opacity:.45}.builder-ing-step{flex:1;border:none;background:none;color:var(--accentText);font:inherit;font-size:.95rem;line-height:1;padding:.28rem 0;cursor:pointer}.builder-ing-step:disabled{color:var(--text3);cursor:default}.builder-ing-count{min-width:22px;text-align:center;font-size:.8rem;color:var(--text);font-variant-numeric:tabular-nums}.builder-ing-total{font-size:.8rem;color:var(--text3);white-space:nowrap;min-width:2.5rem;text-align:right}.builder-total-row{padding:.65rem;font-size:.85rem;font-weight:600;color:var(--text2);display:flex;justify-content:space-between;background-color:var(--surface-inset)}#builderWeightRow .row-label,#builderWeightRow .form-row input,#builderWeightRow .input-suffix{font-size:.85rem}.builder-top{margin-bottom:.7rem}#builderIngredients{border:1px solid var(--sep);border-radius:var(--r-md);overflow:hidden}#builderIngredients:empty{border:none}#builderWeightRow{background:var(--surface-inset)}#builderWeightRow .form-row{background-color:var(--surface-inset)}#builderWeightRow .field-chip{background:var(--bg4)}#builderWeightRow .field-chip input{font-size:16px}#builderWeightRow .seg-btn.active{background:var(--accentBG);color:var(--accent);border-color:var(--accent)}#builderIngredients .swipe-wrap{--swipe-bleed: 0;margin-bottom:0}#builderIngredients .swipe-wrap>.builder-ing-row{position:relative;z-index:1;margin-bottom:0;border-bottom:none;transition:transform var(--duration-base) var(--ease-out)}@media (prefers-reduced-motion: reduce){#builderIngredients .swipe-wrap>.builder-ing-row{transition:none}}#builderIngredients .swipe-wrap:not(:last-child){border-bottom:1px solid var(--bg4)}.builder-search-row{display:flex;align-items:center;gap:.5rem;padding:.32rem .32rem .32rem 1rem}.builder-search-row>input{flex:1;min-width:0}.builder-multi-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;background:var(--accentBG);color:var(--accentText);border:1px solid var(--accent-track);border-radius:var(--r-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.builder-multi-btn:active{color:var(--accent);border-color:var(--accent)}#builderMultiSheet .modal-body{padding:0}.builder-multi-row{display:flex;align-items:center;gap:.6rem;padding:.75rem;border-bottom:1px solid var(--sep);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid var(--sep);border-radius:var(--r-md);background:var(--surface-raised);margin-bottom:.4rem}.builder-multi-row:last-child{border-bottom:none}.builder-multi-cb{flex-shrink:0;width:20px;height:20px;margin:0;position:relative;border:2px solid var(--sep);border-radius:var(--r-xs);background:var(--surface-inset);cursor:pointer}.builder-multi-cb:checked{background:var(--accent);border-color:var(--accent)}.builder-multi-cb:checked:after{content:"";position:absolute;left:5px;top:2px;width:6px;height:10px;border:solid var(--accentFg);border-width:0 2px 2px 0;transform:rotate(45deg)}.builder-multi-text{flex:1;min-width:0}.builder-multi-name{font-size:.9rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.builder-multi-pills{display:flex;flex-wrap:nowrap;margin-top:5px}.builder-multi-kcal{flex-shrink:0;font-size:.8rem;color:var(--text3);white-space:nowrap}.builder-multi-row.is-added{cursor:default}.builder-multi-row.is-added .builder-multi-cb{opacity:.4}.builder-multi-row.is-added .builder-multi-name{opacity:.5}.builder-multi-row.is-added .builder-multi-kcal{color:var(--accent);opacity:.8}.builder-ing-row--excluded .builder-ing-info{opacity:.45}.builder-ing-row--excluded .builder-ing-name{text-decoration:line-through}.builder-ing-row--excluded .builder-weight-chip,.builder-ing-row--excluded .builder-ing-total{opacity:.45}#tab-recipes h2{margin-bottom:.75rem}.recipes-subtab-wrap{border-bottom:none;margin:0 0 .75rem}.recipes-filter-chips{display:flex;flex-wrap:wrap;gap:.5rem .35rem;padding:0 .15rem .75rem}.recipes-filter-chips .filter-chip{padding:5px 10px}.recipes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:0 0 1rem}.recipes-grid .list-scroll-sentinel{grid-column:1 / -1}.recipes-empty{grid-column:1 / -1;padding:2rem 1rem;text-align:center}.recipe-card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--sep);border-radius:var(--r-md);overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-spring),border-color var(--duration-base) var(--ease-out)}.recipe-card:active{transform:scale(.98);border-color:var(--accent)}.recipe-card-imgwrap{position:relative;width:100%}.recipe-card-imgwrap picture,.recipe-modal-imgwrap picture{display:block;width:100%}.recipe-card-img{width:100%;aspect-ratio:3 / 2;object-fit:cover;display:block;background:var(--surface-inset)}.recipe-card-img--fallback{background:linear-gradient(135deg,var(--surface-inset),var(--surface-raised))}.recipe-card-model{font-size:.68rem;font-weight:600;letter-spacing:.02em;color:var(--text3)}.recipe-card-body{display:flex;flex-direction:column;gap:.25rem;padding:.6rem .65rem .7rem;flex:1}.recipe-card-name{font-size:.9rem;font-weight:600;color:var(--text);line-height:1.25}.recipe-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:auto;padding-top:.35rem}.recipe-card-pill{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:var(--r-full);border:1px solid var(--sep);background:var(--surface-inset);color:var(--text2);white-space:nowrap}.recipe-card-pill.recipe-card-time{color:var(--accentText);background:var(--accentBG);border-color:var(--accent-track);font-variant-numeric:tabular-nums}#sousvideModal>.modal-sheet{padding:0 0 1.3rem}#sousvideModal .modal-body{padding:.75rem 1rem 0}.sousvide-modal-title{margin-bottom:.5rem}.sousvide-modal-note{font-size:.85rem;line-height:1.5;color:var(--text2);margin:0 0 .85rem}.sousvide-levels{border:1px solid var(--sep);border-radius:var(--r-md);overflow:hidden}.sousvide-levels-head,.sousvide-level-row{display:grid;grid-template-columns:1fr 4.25rem 5.25rem;align-items:center;gap:.5rem;padding:.65rem .7rem}.sousvide-levels-head{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text3);background:var(--surface-raised)}.sousvide-level-row{border-top:1px solid var(--sep);font-size:.9rem}.sousvide-level-name{font-weight:600;color:var(--text);line-height:1.25}.sousvide-level-temp{font-weight:700;color:var(--accentText);white-space:nowrap;font-variant-numeric:tabular-nums}.sousvide-level-time{color:var(--text2);white-space:nowrap;font-variant-numeric:tabular-nums}#recipeModal>.modal-sheet{padding:0 0 1.3rem}#recipeModal .modal-body{padding:.75rem 1rem 0}#recipeModal .modal-add-wrap{padding:.75rem 1rem .5rem}#recipeModal .modal-add-wrap .btn-cta{width:100%}.recipe-modal-imgwrap{position:relative;margin-bottom:.75rem}.recipe-modal-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--r-md);background:var(--surface-inset);display:block}.recipe-modal-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.recipe-modal-title{font-size:1.1rem;font-weight:700;color:var(--text);line-height:1.2}.recipe-modal-time-row{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.recipe-modal-time-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text3)}.recipe-modal-time{font-size:.9rem;font-weight:700;color:var(--accentText);white-space:nowrap;font-variant-numeric:tabular-nums}.recipe-modal-model{font-size:.68rem;font-weight:600;color:var(--text3);white-space:nowrap}.recipe-portion{margin:.25rem 0 .75rem}.recipe-portion-head{font-size:.85rem;font-weight:600;color:var(--text2);margin-bottom:.4rem}.recipe-slider{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;height:1.5rem;cursor:pointer}.recipe-slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--surface-inset);border:1px solid var(--sep)}.recipe-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:var(--accent);border:2px solid var(--accentCTA)}.recipe-slider::-moz-range-track{height:6px;border-radius:999px;background:var(--surface-inset);border:1px solid var(--sep)}.recipe-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);border:2px solid var(--accentCTA)}.recipe-portion-ticks{position:relative;height:1.1rem;margin:.1rem 10px 0}.recipe-tick{position:absolute;transform:translate(-50%);font-size:.68rem;color:var(--text3);font-variant-numeric:tabular-nums;white-space:nowrap}.recipe-tick:nth-child(1){left:0%}.recipe-tick:nth-child(2){left:25%}.recipe-tick:nth-child(3){left:50%}.recipe-tick:nth-child(4){left:75%}.recipe-tick:nth-child(5){left:100%}.recipe-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text2);margin:1.35rem 0 .6rem}.recipe-ing-list{border:1px solid var(--sep);border-radius:var(--r-md);overflow:hidden}.recipe-total-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .65rem;margin-top:.5rem;background:var(--surface-raised);border:1px solid var(--sep);border-radius:var(--r-md);font-size:.85rem;font-weight:700;color:var(--text)}.recipe-total-vals{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.recipe-total-kcal{color:var(--accentText);white-space:nowrap;font-variant-numeric:tabular-nums}.recipe-total-macros{display:inline-flex;gap:.25rem}.recipe-steps{padding-bottom:.5rem}.recipe-desc-p{font-size:.9rem;line-height:1.5;color:var(--text2);margin:0 0 .7rem}.recipe-desc-p:last-child{margin-bottom:0}.off-search-row{display:flex;align-items:center;gap:.35rem}.off-scan-btn{flex-shrink:0;width:44px;height:44px;border-radius:var(--r-md);background:transparent;border:.5px solid var(--sep);color:var(--icon);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--duration-base) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.off-scan-btn:active{border-color:var(--accent);background-color:var(--accentBG);opacity:.85}.scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000;display:flex;align-items:center;justify-content:center}.scanner-overlay.hidden{display:none}.scanner-inner{position:relative;width:100%;max-width:var(--app-max-width);height:100%;margin:0 auto}.scanner-video{width:100%;height:100%;overflow:hidden}.scanner-video video{width:100%!important;height:100%!important;object-fit:cover!important;display:block}.scanner-video img,.scanner-video #qr-shaded-region{display:none!important}.scanner-topbar{position:absolute;top:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:.25rem;padding:max(.3rem,env(safe-area-inset-top)) .4rem .3rem;background:var(--surface-card)}.scanner-hint{grid-column:2;margin:0;text-align:center;text-wrap:balance;font-size:.82rem;line-height:1.25;color:var(--text);pointer-events:none}.scanner-close-btn,.scanner-torch-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;color:var(--icon);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.scanner-torch-btn{grid-column:1;justify-self:start}.scanner-close-btn{grid-column:3;justify-self:end}.scanner-close-btn:active,.scanner-torch-btn:active{opacity:.55}.scanner-torch-btn #torchOff{display:block}.scanner-torch-btn #torchOn{display:none}.scanner-torch-btn.active{color:var(--accent)}.scanner-torch-btn.active #torchOff{display:none}.scanner-torch-btn.active #torchOn{display:block}.scanner-result{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;justify-content:flex-end}.scanner-result.hidden{display:none}.scanner-result-card{position:relative;isolation:isolate;width:100%;background:var(--surface-card);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:.35rem 1rem calc(1.1rem + env(safe-area-inset-bottom)) 1rem;box-shadow:var(--shadow-lg);animation:scanner-result-in var(--duration-slow) var(--ease-decelerate);margin-bottom:var(--keyboard-inset, 0px);transition:margin-bottom .2s}html:not(.is-desktop) body.kb-open .scanner-result-card{padding-bottom:.5rem}.scanner-result-card:after{content:"";position:absolute;left:0;right:0;top:calc(100% - 2px);height:100vh;background:var(--surface-card);z-index:-1;pointer-events:none}@keyframes scanner-result-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.scanner-result-card .modal-handle{margin:12px auto}#scannerResultBody{padding-top:.35rem}.scanner-result-empty{margin:.25rem 0 .85rem;font-size:.95rem;color:var(--text)}.scanner-result-card:has(.scanner-result-empty){padding-bottom:calc(.65rem + env(safe-area-inset-bottom))}.scanner-result-card:has(.scanner-result-empty) .scanner-result-empty{margin-bottom:.35rem}.scanner-result-name{display:block;font-weight:600;font-size:1.02rem;color:var(--text);margin-bottom:.5rem}.scanner-result-display{margin-bottom:.75rem}.scanner-result-display .list-row-sub-row{display:flex;flex-wrap:wrap;align-items:center}.scanner-result-edit,.scanner-result.editing .scanner-result-display,.scanner-result.editing .scanner-result-weight{display:none}.scanner-result.editing .scanner-result-edit{display:block}.scanner-result-edit .grouped-card,.scanner-result-weight{margin-bottom:0}.scanner-result-edit #scannerCal{padding-right:2.8rem}.scanner-result-actions{display:flex;gap:.6rem;align-items:stretch;margin-top:.85rem}.scanner-result-actions--edit,.scanner-result.editing .scanner-result-actions--display{display:none}.scanner-result.editing .scanner-result-actions--edit{display:flex}.scanner-result-actions .btn-cta,.scanner-result-actions .btn-cta-secondary{margin-top:0;display:flex;align-items:center;justify-content:center}.scanner-result-actions .scanner-result-add-btn,.scanner-result-actions .scanner-result-save-btn,.scanner-result-actions .scanner-result-cancel-btn{flex:1;min-width:0}.scanner-result-actions .scanner-result-edit-btn{flex-shrink:0;width:auto;padding-left:1.4rem;padding-right:1.4rem}.scanner-result-actions--savefoods{margin-top:.6rem}.scanner-result-actions .scanner-result-savefoods-btn{flex:1;min-width:0}body.is-busy{overflow:hidden;touch-action:none}.app-busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay);opacity:0;pointer-events:none;backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%)}.app-busy-overlay.initial{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.app-busy-overlay.open{opacity:1;pointer-events:auto}.app-busy-overlay.closing{opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.app-busy-card{width:min(280px,calc(100vw - 2rem));background:var(--surface-card);border:1px solid var(--sep);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.app-busy-spinner{width:42px;height:42px;border-radius:50%;border:4px solid var(--surface-overlay);border-top-color:var(--accent);animation:appBusySpin .8s linear infinite}.app-busy-title{font-size:.95rem;font-weight:600;color:var(--text)}.app-busy-subtitle{font-size:.82rem;color:var(--text3);line-height:1.35}@keyframes appBusySpin{to{transform:rotate(360deg)}}body.loading .page{opacity:.6;pointer-events:none}.form-row-with-action{display:flex;align-items:center;gap:0;padding:.1225rem .5rem .1225rem 1rem}.form-row-with-action input{flex:1;min-width:0}.ai-cam-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:var(--r-sm);border:none;background:transparent;color:var(--accent);cursor:pointer;padding:0;margin-left:.15rem;transition:opacity var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.ai-cam-btn:active{opacity:.55;background:var(--accentBG)}.ai-weight-sheet{padding-bottom:1.5rem}.ai-weight-title{font-size:1.05rem;font-weight:700;color:var(--text);text-align:center;margin-bottom:.5rem;padding:0 .25rem}.ai-weight-body{padding:0 0 .75rem}.ai-weight-hint{font-size:.83rem;color:var(--text3);text-align:center;margin-bottom:.75rem;line-height:1.4;padding:0 .25rem}.ai-busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay);opacity:0;pointer-events:none;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);transition:opacity var(--duration-base) var(--ease-out)}.ai-busy-overlay.open{opacity:1;pointer-events:auto}.ai-busy-card{width:min(260px,calc(100vw - 2rem));background:var(--surface-card);border:1px solid var(--sep);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:1.5rem 1rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.ai-busy-animation{width:72px;height:72px;position:relative;display:flex;align-items:center;justify-content:center}.three-body{--uib-size: 40px;--uib-speed: .8s;--uib-color: var(--accent);position:relative;display:inline-block;height:var(--uib-size);width:var(--uib-size);animation:spin78236 calc(var(--uib-speed) * 2.5) infinite linear}.three-body__dot{position:absolute;height:100%;width:30%}.three-body__dot:after{content:"";position:absolute;height:0%;width:100%;padding-bottom:100%;background-color:var(--uib-color);border-radius:50%}.three-body__dot:nth-child(1){bottom:5%;left:0;transform:rotate(60deg);transform-origin:50% 85%}.three-body__dot:nth-child(1):after{bottom:0;left:0;animation:wobble1 var(--uib-speed) infinite ease-in-out;animation-delay:calc(var(--uib-speed) * -.3)}.three-body__dot:nth-child(2){bottom:5%;right:0;transform:rotate(-60deg);transform-origin:50% 85%}.three-body__dot:nth-child(2):after{bottom:0;left:0;animation:wobble1 var(--uib-speed) infinite calc(var(--uib-speed) * -.15) ease-in-out}.three-body__dot:nth-child(3){bottom:-5%;left:0;transform:translate(116.666%)}.three-body__dot:nth-child(3):after{top:0;left:0;animation:wobble2 var(--uib-speed) infinite ease-in-out}@keyframes spin78236{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wobble1{0%,to{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-66%) scale(.65);opacity:.8}}@keyframes wobble2{0%,to{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(66%) scale(.65);opacity:.8}}.ai-busy-text{display:block;max-width:100%;min-height:1.4em;overflow:hidden;color:var(--text2);font-size:.88rem;font-weight:500;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;opacity:1;transition:opacity var(--duration-base) var(--ease-out);will-change:opacity;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased}.fab.fab-ai{background:var(--text);color:var(--bg)}.fab-ai svg{width:26px;height:26px}.ai-assistant-head{display:flex;flex-direction:column;gap:.6rem;padding:0 .25rem .5rem}.ai-assistant-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text)}.ai-assistant-tools{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ai-period-toggle{display:inline-flex;background:var(--surface-inset);border-radius:var(--r-full);padding:.2rem;gap:.15rem}.ai-period-btn{border:none;background:transparent;color:var(--text3);font-size:.82rem;font-weight:500;padding:.3rem .85rem;border-radius:var(--r-full);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.ai-period-btn.active{background:var(--surface-raised);color:var(--text)}.ai-insights-btn{border:none;background:var(--accent);color:var(--accentFg);font-size:.85rem;font-weight:500;padding:.45rem .95rem;border-radius:var(--r-full);cursor:pointer;white-space:nowrap;transition:opacity var(--duration-fast) var(--ease-out)}.ai-insights-btn:active{opacity:.8}.ai-insights-btn:disabled,.ai-assistant-send:disabled{opacity:.5;cursor:default}.ai-message-list{display:flex;flex-direction:column;gap:.55rem;min-height:30vh;padding:.25rem 0}.ai-bubble{max-width:85%;padding:.6rem .8rem;border-radius:var(--r-lg);font-size:.92rem;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.ai-bubble-bot{align-self:flex-start;background:var(--surface-inset);color:var(--text);border-bottom-left-radius:var(--r-xs)}.ai-bubble-user{align-self:flex-end;background:var(--accent);color:var(--accentFg);border-bottom-right-radius:var(--r-xs)}.ai-typing{display:inline-flex;gap:.3rem;align-items:center}.ai-typing span{width:7px;height:7px;border-radius:var(--r-full);background:var(--text3);animation:ai-typing-bounce 1.2s infinite ease-in-out}.ai-typing span:nth-child(2){animation-delay:.18s}.ai-typing span:nth-child(3){animation-delay:.36s}@keyframes ai-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.ai-assistant-input-row{display:flex;gap:.5rem;align-items:center}.ai-assistant-input{flex:1;min-width:0;border:1px solid var(--sep);background:var(--surface-inset);color:var(--text);border-radius:var(--r-full);padding:.65rem 1rem;font-size:.95rem;outline:none}.ai-assistant-input:focus{border-color:var(--accent)}.ai-assistant-send{flex-shrink:0;width:44px;height:44px;border:none;border-radius:var(--r-full);background:var(--accent);color:var(--accentFg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.ai-assistant-send:active{opacity:.8}.login-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2.5rem 1.5rem;background:var(--bg)}.pwa .login-gate{padding:2.5rem 1.5rem}.login-gate.hidden{display:none}.login-gate__icon{width:88px;height:88px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.login-gate__icon img{width:100%;height:100%;object-fit:cover}.login-gate__name{font-family:var(--font-display, "Inter", sans-serif);font-size:2rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin:0}.login-gate__tagline{font-size:1rem;color:var(--text2);text-align:center;max-width:260px;line-height:1.45;margin:0}.login-gate__btn{margin-top:.5rem;display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 2rem;border-radius:var(--r-full);border:none;cursor:pointer;font-size:1rem;font-weight:500;color:var(--accentFg);background:var(--accent);box-shadow:var(--shadow-md);transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.login-gate__btn:active{opacity:.8;transform:scale(.97)}.login-gate__btn svg{width:22px;height:22px;flex-shrink:0}.ptr-indicator{--ptr-progress: 0;position:fixed;top:calc(env(safe-area-inset-top,0px) + 18px);left:50%;width:28px;height:28px;margin-left:-14px;z-index:10000;color:var(--text3);opacity:0;transition:opacity var(--duration-base) var(--ease-out);pointer-events:none}.ptr-indicator.ptr-visible,.ptr-indicator.ptr-loading{opacity:1}.ptr-ticks{width:28px;height:28px;transform-origin:50% 50%}.ptr-ticks line{opacity:.12;transition:opacity .18s ease}.ptr-indicator.ptr-dragging .ptr-ticks line{opacity:clamp(.12,calc(var(--ptr-progress) * 8 - var(--i)),1)}.ptr-indicator.ptr-loading .ptr-ticks{animation:ptrSpin .8s steps(8) infinite}.ptr-indicator.ptr-loading .ptr-ticks line{opacity:calc((var(--i) + 1) / 8);transition:none}@keyframes ptrSpin{to{transform:rotate(360deg)}}.ptr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.foods-subtab-wrap{background:transparent;border-bottom:none;margin-bottom:.75rem;gap:.5rem;display:flex;padding:4px 0 0}.foods-subtab-wrap .seg-btn.active{border:1px solid var(--sep);background:var(--surface-card)}#tabwareModal .btn-cta{background:var(--accent);color:var(--accentFg);border-color:var(--accentCTA)}.tabware-weight-badge{display:inline-flex;align-items:center;margin-top:.6rem;padding:1px 6px;border-radius:var(--r-xs);font-size:.75rem;font-weight:600;background:var(--badge-off-bg);color:var(--badge-off-color)}.tabware-modal-title{font-size:1rem;font-weight:600;color:var(--text);padding:.6rem 0 .8rem;text-align:center}button.tabware-select-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--badge-off-bg);border:1px solid var(--badge-off-color);border-radius:var(--r-xs);color:var(--badge-off-color);font-size:.85rem;font-weight:600;font-family:inherit;padding:.5rem .9rem;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:opacity var(--duration-base) var(--ease-out);flex-shrink:0}button.tabware-select-btn:active{opacity:.7}span.tabware-select-btn{color:var(--accentText);font-size:.88rem;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:right;flex:1}.builder-netto-value{flex:1;min-width:0;font-weight:600;font-size:.85rem;color:var(--text2);text-align:right;padding-right:1.2rem;transition:color var(--duration-base) var(--ease-out)}.builder-netto-value.is-negative{color:var(--red)}#builderTareRow{justify-content:space-between;padding:3px 4px 3px 1rem}#builderTareRow button.tabware-select-btn{margin-left:auto}.tabware-picker-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer}.tabware-picker-row .list-row-name{flex:1}#tabwareModal .input-suffix,#cal-unit-label{right:1.2rem}#pwa-update-banner{position:fixed;top:0;left:0;right:0;z-index:500;padding-top:env(safe-area-inset-top,0px);transform:translateY(-110%);transition:transform .32s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:color-mix(in srgb,var(--surface-card) 88%,transparent);border-bottom:1px solid var(--sep);box-shadow:var(--shadow-md)}#pwa-update-banner.visible{transform:translateY(0)}.pwa-update-banner-inner{display:flex;align-items:center;gap:10px;padding:10px 16px 12px;flex-wrap:wrap}.pwa-update-msg{flex:1;min-width:0;font-size:.82rem;line-height:1.35;color:var(--text2)}.pwa-update-btn{flex-shrink:0;background:var(--accent);color:var(--accentFg);border:none;border-radius:var(--r-sm);padding:7px 14px;font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity var(--duration-base) var(--ease-out)}.pwa-update-btn:active{opacity:.75}.pwa-update-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-6px -6px -6px 0;border:none;background:transparent;color:var(--text3);border-radius:50%;cursor:pointer;transition:color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.pwa-update-dismiss:active{color:var(--text);background:var(--surface-inset)}#weight-reminder-banner{position:fixed;top:0;left:0;right:0;z-index:500;padding-top:env(safe-area-inset-top,0px);transform:translateY(-110%);transition:transform .32s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:color-mix(in srgb,var(--surface-card) 88%,transparent);border-bottom:1px solid var(--sep);box-shadow:var(--shadow-md)}#weight-reminder-banner.show{transform:translateY(0)}.weight-reminder-inner{display:flex;align-items:center;gap:10px;padding:10px 16px 12px;flex-wrap:wrap}.weight-reminder-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.weight-reminder-title{font-size:.9rem;font-weight:600;color:var(--text)}.weight-reminder-sub{font-size:.82rem;line-height:1.35;color:var(--text2)}.weight-reminder-actions{flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:8px}.weight-reminder-btn{background:var(--accent);color:var(--accentFg);border:none;border-radius:var(--r-sm);padding:7px 14px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity var(--duration-base) var(--ease-out)}.weight-reminder-dismiss{background:var(--surface-inset);color:var(--text2);border:none;border-radius:var(--r-sm);padding:7px 10px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity var(--duration-base) var(--ease-out)}.weight-reminder-btn:active,.weight-reminder-dismiss:active{opacity:.75}.btn-delete{display:flex;align-items:center;justify-content:center;color:var(--icon);flex-shrink:0;padding:4px;border-radius:50%;transition:color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.btn-delete:active{color:var(--red);background:var(--red-wash)}.btn-delete svg{width:20px;height:20px}.btn-log-edit{width:24px;display:flex;align-items:center;justify-content:center;color:var(--icon);flex-shrink:0;padding:4px;border-radius:50%;transition:color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.btn-log-edit:active{color:var(--accent);background:var(--accentBG)}.btn-log-edit svg{width:20px;height:20px}.log-actions{display:flex;align-items:center;flex-shrink:0;gap:.6rem}.btn-icon-action{width:24px;display:flex;align-items:center;justify-content:center;color:var(--icon);flex-shrink:0;padding:4px;border-radius:50%;transition:color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.btn-icon-action:active{color:var(--accent);background:var(--accentBG)}.btn-icon-action svg{width:16px;height:16px}.row-label-with-info{display:flex;align-items:center;gap:4px}.info-icon-btn{display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;color:var(--accentText);opacity:.85;transition:opacity var(--duration-base) var(--ease-out)}.info-icon-btn:active{opacity:1}.info-modal-sheet{padding-bottom:2rem;max-height:calc(var(--app-height, 100vh) * .82 - var(--keyboard-inset, 0px) - 24px);margin-bottom:var(--keyboard-inset, 0px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transition:margin-bottom .2s,max-height .2s}body.kb-open .info-modal-sheet{max-height:calc(var(--app-height, 100vh) - var(--keyboard-inset, 0px) - max(12px,env(safe-area-inset-top,0px)))}.info-modal-title{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:.85rem;padding:0 .25rem}.info-modal-body{font-size:.9rem;color:var(--text2);line-height:1.6;padding:0 .25rem}.info-ingredients-list{display:flex;flex-direction:column;gap:.5rem}.info-ingredient-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.info-ingredient-name{color:var(--text);font-weight:500}.info-ingredient-weight{color:var(--text3);font-size:.82rem;white-space:nowrap;margin-left:.5rem}.info-ingredient-row--excluded{opacity:.45}.info-ingredient-row--excluded .info-ingredient-name{text-decoration:line-through}.food-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.food-detail-header .info-modal-title{flex:1;min-width:0;overflow-wrap:break-word}.food-detail-share-btn{flex-shrink:0;width:40px;height:40px;border-radius:var(--r-full);background:var(--surface-inset);border:1.5px solid var(--sep);color:var(--icon);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.food-detail-share-btn:active{opacity:.85}.food-detail-share-btn.active{color:var(--accentText);border-color:var(--accent);background:var(--accentBG)}.food-detail-sub{margin-bottom:.35rem}.food-detail-badges{display:flex;gap:4px;margin-top:.5rem}.food-detail-ingredients-title{font-weight:700;color:var(--text);margin-top:.9rem;margin-bottom:.35rem}.food-share-qr-view{display:flex;flex-direction:column;align-items:center;padding:.5rem .25rem .25rem}.food-share-qr-view.hidden{display:none}.food-share-qr-card{width:min(78vw,300px);aspect-ratio:1;border-radius:24px;overflow:hidden}.food-share-qr-card svg{display:block;width:100%;height:100%}.food-share-qr-card.loading{background:var(--surface-inset);animation:qr-card-pulse 1.1s ease-in-out infinite}@keyframes qr-card-pulse{0%,to{opacity:1}50%{opacity:.55}}.food-share-qr-hint{margin-top:.85rem;font-size:.85rem;line-height:1.45;color:var(--text2);text-align:center;max-width:300px}.cal-day.has-workout{background:var(--accentBG);color:var(--accent);font-weight:700}.cal-day.has-workout.selected{outline-color:var(--accent);outline-style:solid}.tabs-training{display:none}body[data-mode]:not([data-mode=calories]) .tabs-calorie{display:none}body[data-mode=training] .tabs-training{display:flex;justify-content:center;width:284px;max-width:calc(100% - 2rem);margin:0 auto}.tabs-training .tab-btn{flex:0 0 90px}.tabs-training .tab-btn svg{display:block;flex:0 0 auto;width:24px;height:24px;min-width:24px;min-height:24px}.tabs-training .tab-btn[data-tab=tab-tr-today] svg{transform:scale(.938)}.tabs-training .tab-btn[data-tab=tab-tr-history] svg{transform:scale(.958)}.mode-switch-anchor{position:relative;height:0;z-index:60}.mode-switch{position:absolute;top:38px;right:1.15rem;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:var(--accent);cursor:pointer;pointer-events:auto;transition:transform .15s var(--ease-out)}.mode-switch svg{width:24px;height:24px}.mode-switch svg rect{fill:var(--icon)}.mode-switch:active{transform:scale(.88)}.mode-switch.hidden{display:none}.tr-header{padding:2.3rem 0 .4rem}.tr-title{font-size:1.7rem;font-weight:800;margin:0;color:var(--text)}.tr-gauge-wrap{margin-bottom:.4rem}.tr-heatmap-card{padding:.9rem}.tr-heatmap-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.tr-heatmap-title{font-size:.95rem;font-weight:700;color:var(--text2)}.hm{position:relative;display:flex;gap:6px;-webkit-text-size-adjust:100%;text-size-adjust:100%}.hm-weekdays{display:flex;flex-direction:column;gap:3px;padding-top:16px;flex:0 0 auto}.hm-day{height:13px;font-size:.58rem;line-height:13px;color:var(--text3);text-align:right}.hm-scroll{overflow:hidden;display:flex;flex-direction:column;align-items:center;flex:1 1 auto;min-width:0}.hm-months{position:relative;height:13px;margin-bottom:3px}.hm-month{position:absolute;top:0;line-height:13px;font-size:.58rem;color:var(--text3);white-space:nowrap}.hm-grid{display:flex;gap:3px}.hm-col{display:flex;flex-direction:column;gap:3px}.hm-cell{width:13px;height:13px;border-radius:3px;background:var(--hm-l0);animation:hm-pop .32s var(--ease-out) both}@keyframes hm-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.hm-future{background:transparent;cursor:default;animation:none}.hm-l0{background:var(--hm-l0);border:1px solid var(--bg4)}.hm-l1{background:var(--hm-l1)}.hm-l2{background:var(--hm-l2)}.hm-l3{background:var(--hm-l3)}.hm-l4{background:var(--hm-l4)}.hm-cell.hm-today{box-shadow:inset 0 0 0 1.5px var(--accent),inset 0 0 0 2.5px var(--bg2)}body[data-mode=training]{--hm-l0: var(--bg3)}.tr-day-detail{margin-top:.7rem;padding:.8rem .5rem;overflow:visible}.tr-detail-head{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text2);margin-bottom:.5rem;font-weight:600}.tr-detail-sum{color:var(--accent)}.tr-row{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem;background:var(--bg2);border:1px solid var(--sep);border-radius:13px;margin-bottom:.5rem}.tr-row-main{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.tr-row-name{font-weight:650;color:var(--text);font-size:.95rem}.tr-row-sub{font-size:.78rem;color:var(--text3)}.tr-row-actions{display:flex;gap:.1rem;flex:0 0 auto;margin-left:.4rem}.tr-row-btn{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text3);padding:7px;cursor:pointer;border-radius:9px;transition:background .15s,color .15s}.tr-row-btn svg{display:block}.tr-row-btn:active{background:var(--bg3)}.tr-row-del:active{color:var(--red)}.tr-empty{text-align:center;padding:1.6rem 1rem;color:var(--text3)}.tr-empty-title{font-weight:650;color:var(--text2);margin-bottom:.3rem}.tr-empty-sub{font-size:.82rem}.tr-history-list{display:flex;flex-direction:column;gap:.5rem}.tr-hist-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.75rem .9rem;background:var(--bg2);border:1px solid var(--sep);border-radius:13px;cursor:pointer;color:var(--text);font-family:inherit}.tr-hist-date{font-weight:600;font-size:.9rem}.tr-hist-sum{font-size:.78rem;color:var(--text3)}.wk-modal-title{font-size:1.15rem;font-weight:750;color:var(--text);margin:.2rem 0 .8rem;text-align:center}.wk-cat-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;overflow-x:auto;scrollbar-width:none}.wk-cat-tabs::-webkit-scrollbar{display:none}.wk-cat-tab{flex:0 0 auto;border:1px solid var(--sep);background:var(--bg2);color:var(--text2);padding:6px 14px;border-radius:999px;font-size:.82rem;font-weight:500;cursor:pointer}.wk-cat-tab.active{background:var(--accent);color:var(--accentFg);border-color:var(--accent)}.wk-activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;max-height:46vh;overflow-y:auto}.wk-activity{border:1px solid var(--sep);background:var(--bg2);color:var(--text);padding:.75rem .6rem;border-radius:12px;font-size:.88rem;font-weight:500;cursor:pointer;text-align:center}.wk-activity:active{border-color:var(--accent)}.wk-activity-custom{border-style:dashed;color:var(--text2)}#wk-step-duration{position:relative}.wk-back{position:absolute;left:.6rem;top:.6rem;border:none;background:transparent;color:var(--text2);font-size:1.6rem;line-height:1;cursor:pointer;padding:4px 10px}.wk-custom-name{width:100%;box-sizing:border-box;padding:.7rem .9rem;margin-bottom:.8rem;border:1px solid var(--sep);border-radius:12px;background:var(--bg2);color:var(--text);font-size:.95rem}.wk-dur-label{text-align:center;font-size:.8rem;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}.wk-readout{text-align:center;margin:.2rem 0 .6rem}.wk-readout #wk-scrub-readout{font-size:2.6rem;font-weight:800;color:var(--accent)}.wk-readout #wk-scrub-unit{font-size:1rem;color:var(--text3);margin-left:.3rem}.wk-scrubber{position:relative;overflow-x:scroll;scrollbar-width:none;padding:0 50%;height:56px;-webkit-overflow-scrolling:touch}.wk-scrubber::-webkit-scrollbar{display:none}.wk-scrub-track{display:flex;align-items:flex-end;height:100%}.wk-tick{flex:0 0 12px;width:12px;height:14px;border-left:1px solid var(--sep);position:relative}.wk-tick-major{height:24px;border-left:1px solid var(--text3)}.wk-tick-lbl{position:absolute;top:-16px;left:0;transform:translate(-50%);font-size:.62rem;color:var(--text3)}.wk-chips{display:flex;justify-content:center;gap:.5rem;margin:.8rem 0}.wk-chips button{border:1px solid var(--sep);background:var(--bg2);color:var(--text2);padding:6px 16px;border-radius:999px;font-size:.85rem;font-weight:500;cursor:pointer}.wk-chips button:active{background:var(--accentBG);border-color:var(--accent);color:var(--accent)}.wk-burn{text-align:center;font-size:.9rem;color:var(--text2);margin-bottom:.9rem}.wk-save{width:100%;padding:.85rem;border:none;border-radius:14px;background:var(--accent);color:var(--accentFg);font-size:1rem;font-weight:500;cursor:pointer}.ach-wrap{display:flex;flex-direction:column;gap:1.1rem}.ach-summary{font-size:.9rem;font-weight:650;color:var(--text2);text-align:center}.ach-group-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);margin:0 0 .6rem}.ach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.ach-badge{display:flex;flex-direction:column;align-items:center;gap:3px;padding:.75rem .4rem;background:var(--bg2);border:1px solid var(--sep);border-radius:14px;text-align:center}.ach-badge.locked{opacity:.85}.ach-badge.earned{border-color:var(--accent-track);background:var(--accentBG)}.ach-medal{font-size:1.4rem;line-height:1}.ach-medal svg{width:2.1rem;height:2.1rem;display:block}.ach-badge.locked .ach-medal{filter:grayscale(1);opacity:.4}.ach-title{font-size:.7rem;font-weight:600;color:var(--text);line-height:1.15}.ach-prog{font-size:.66rem;color:var(--text3)}.ach-done{font-size:.8rem;color:var(--accent);font-weight:800}.ach-bar{width:80%;height:3px;background:var(--bg4);border-radius:2px;overflow:hidden}.ach-bar span{display:block;height:100%;background:var(--accent)}.ach-loading{height:80px}.profile-achievements{margin:.8rem 0}.profile-ach-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--bg2);border:1px solid var(--sep);border-radius:14px;color:var(--text);font-size:.95rem;font-weight:650;cursor:pointer;font-family:inherit}.profile-ach-head{display:flex;align-items:center;gap:.6rem}.profile-ach-icon{display:flex;color:var(--accent)}.profile-ach-icon svg{display:block}.profile-ach-chevron{transition:transform .2s;color:var(--text3)}.profile-achievements.open .profile-ach-chevron{transform:rotate(90deg)}.profile-ach-body{display:none;padding-top:.9rem}.profile-achievements.open .profile-ach-body{display:flex}.mode-picker-title{font-size:1.15rem;font-weight:750;color:var(--text);text-align:center;margin:.2rem 0 .9rem}.mode-picker-list{display:flex;flex-direction:column;gap:.6rem;padding-bottom:.3rem;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.mode-card{display:flex;align-items:center;gap:.85rem;width:100%;padding:.8rem .95rem;background:var(--bg2);border:1px solid var(--sep);border-radius:16px;cursor:pointer;font-family:inherit;text-align:left;color:var(--text);transition:background .15s,border-color .15s}.mode-card:active{background:var(--bg3)}.mode-card.active{border-color:var(--mode-accent);background:color-mix(in srgb,var(--mode-accent) 15%,transparent)}.mode-card-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:var(--bg3);color:var(--text2)}.mode-card.active .mode-card-icon{color:var(--mode-accent);background:color-mix(in srgb,var(--mode-accent) 15%,transparent)}.mode-card-icon svg{display:block;width:22px;height:22px}.mode-card-body{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.mode-card-name{font-weight:650;font-size:1rem;color:var(--text)}.mode-card-status{font-size:.8rem;color:var(--text3)}.mode-card-check{display:flex;flex:0 0 auto;color:var(--mode-accent)}.mode-card-check svg{display:block}:root,[data-theme=dark]{--reminders-accent: #12b5c9}[data-theme=light]{--reminders-accent: #0b7185}.tabs-reminders{display:none}body[data-mode=reminders] .tabs-reminders{display:flex;justify-content:center;width:191px;max-width:calc(100% - 2rem);margin:0 auto}.tabs-reminders .tab-btn{flex:0 0 90px}.tabs-reminders .tab-btn svg{display:block;flex:0 0 auto;width:24px;height:24px;min-width:24px;min-height:24px}.rem-header{padding:2.3rem 0 .4rem}.rem-title{font-size:1.7rem;font-weight:800;margin:0;color:var(--text)}.rem-subtitle{font-size:.85rem;color:var(--text3);margin:.2rem 0 .9rem}.rem-section-title{font-size:.8rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.03em;margin:.3rem 0 .55rem}.rem-unacked-banner{background:var(--accentBG);border:1px solid var(--accent);border-radius:15px;padding:.75rem .85rem;margin-bottom:1rem}.rem-unacked-banner.hidden{display:none}.rem-unacked-title{font-size:.82rem;font-weight:700;color:var(--accent);margin-bottom:.55rem}.rem-unacked-row{display:flex;align-items:center;gap:.55rem;padding:.4rem 0}.rem-unacked-row+.rem-unacked-row{border-top:1px solid var(--sep)}.rem-unacked-main{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.rem-unacked-name{font-weight:650;font-size:.92rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rem-unacked-when{font-size:.75rem;color:var(--text3)}.rem-ack-btn{flex:0 0 auto;padding:.4rem .7rem;border-radius:10px;font-size:.8rem;font-weight:700;cursor:pointer;border:1px solid var(--sep)}.rem-ack-btn.done{background:var(--accent);color:var(--accentFg);border-color:var(--accent)}.rem-ack-btn.skip{background:var(--bg2);color:var(--text2)}.rem-ack-btn:active{opacity:.8}.rem-list{display:flex;flex-direction:column;gap:.55rem}.rem-card{display:flex;align-items:center;gap:.7rem;padding:.75rem .85rem;background:var(--bg2);border:1px solid var(--sep);border-radius:15px;cursor:pointer;transition:border-color .15s,background .15s}.rem-card.paused{opacity:.55}.rem-glyph{flex:0 0 auto;font-size:1.4rem;line-height:1}.rem-card-main{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.rem-card-top{display:flex;align-items:center;gap:.5rem;min-width:0}.rem-name{font-weight:650;font-size:.98rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rem-card-notes{font-size:.8rem;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rem-card-sub{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.78rem;color:var(--text3)}.rem-card-fire{font-weight:600;color:var(--accent);white-space:nowrap}.rem-doses-chip{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;background:var(--bg3);color:var(--text2);font-weight:600;white-space:nowrap}.rem-doses-chip.low{background:var(--accentBG);color:var(--red)}.rem-toggle{flex:0 0 auto;padding:.4rem .7rem;border-radius:10px;border:1px solid var(--sep);background:var(--bg2);color:var(--text2);font-size:.78rem;font-weight:700;cursor:pointer}.rem-toggle.on{color:var(--accent);border-color:var(--accent)}.rem-toggle:active{opacity:.8}.rem-empty{text-align:center;padding:2rem 1rem;color:var(--text3)}.rem-empty-title{font-weight:650;color:var(--text2);margin-bottom:.35rem}.rem-empty-sub{font-size:.85rem;margin-bottom:1rem}.rem-empty-cta{display:inline-block;padding:.7rem 1.4rem;border:none;border-radius:13px;background:var(--accent);color:var(--accentFg);font-size:.95rem;font-weight:700;cursor:pointer}.rem-empty-cta:active{opacity:.8}.rem-modal-title{font-size:1.15rem;font-weight:750;color:var(--text);margin:.2rem 0 1rem;text-align:center}.rem-field{margin-bottom:1rem}.rem-field.hidden{display:none}.rem-label{display:block;font-size:.8rem;font-weight:600;color:var(--text2);margin-bottom:.5rem}.rem-sublabel{display:block;font-size:.78rem;font-weight:600;color:var(--text3);margin:.6rem 0 .4rem}.rem-title-input,.rem-notes-input,.rem-doses-input,.rem-once-input{width:100%;box-sizing:border-box}.rem-cat-seg{display:flex;gap:.4rem}.rem-seg-btn{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--sep);background:var(--bg2);color:var(--text2);padding:8px 4px;border-radius:11px;font-size:.76rem;font-weight:600;cursor:pointer;text-align:center;line-height:1.15}.rem-seg-glyph{font-size:1.15rem;line-height:1}.rem-seg-btn.active{background:var(--accentBG);border-color:var(--accent);color:var(--accent)}.rem-sched-tabs{display:flex;gap:.35rem;margin-bottom:.7rem}.rem-sched-tab{flex:1 1 0;border:1px solid var(--sep);background:var(--bg2);color:var(--text2);padding:8px 4px;border-radius:11px;font-size:.8rem;font-weight:600;cursor:pointer}.rem-sched-tab.active{background:var(--accent);color:var(--accentFg);border-color:var(--accent)}.rem-weekdays{display:flex;gap:.35rem}.rem-weekdays.hidden{display:none}.rem-weekday{flex:1 1 0;padding:8px 0;border:1px solid var(--sep);background:var(--bg2);color:var(--text2);border-radius:10px;font-size:.78rem;font-weight:600;cursor:pointer;text-align:center}.rem-weekday.active{background:var(--accentBG);border-color:var(--accent);color:var(--accent)}.rem-interval{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:var(--text2)}.rem-interval.hidden{display:none}.rem-interval-n{width:4.5rem;text-align:center}.rem-times-block.hidden,.rem-once-block.hidden{display:none}.rem-times-list{display:flex;flex-direction:column;gap:.4rem}.rem-time-row{display:flex;align-items:center;gap:.5rem}.rem-time-input{flex:1 1 auto;box-sizing:border-box}.rem-time-remove{flex:0 0 auto;width:34px;height:34px;border-radius:10px;border:1px solid var(--sep);background:var(--bg2);color:var(--text3);font-size:.9rem;cursor:pointer}.rem-time-remove:active{background:var(--bg3)}.rem-add-time{margin-top:.5rem;padding:.5rem .9rem;border:1px dashed var(--sep);border-radius:11px;background:transparent;color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer}.rem-add-time:active{opacity:.7}.rem-once-input{margin-top:.2rem}.rem-time-input,.rem-once-input{cursor:pointer}.rem-save{width:100%;padding:.85rem;border:none;border-radius:14px;background:var(--accent);color:var(--accentFg);font-size:1rem;font-weight:700;cursor:pointer;margin-top:.3rem}.rem-save:active{opacity:.8}.rem-modal-actions{display:flex;gap:.5rem;margin-top:.7rem}.rem-modal-actions.hidden{display:none}.rem-pause,.rem-delete{flex:1 1 0;padding:.7rem;border-radius:12px;background:var(--bg2);border:1px solid var(--sep);color:var(--text2);font-size:.9rem;font-weight:600;cursor:pointer}.rem-delete{color:var(--red)}.rem-pause:active,.rem-delete:active{background:var(--bg3)}.tabs-admin{display:none}body[data-mode=admin] .tabs-admin{display:flex;justify-content:center;width:377px;max-width:calc(100% - 2rem);margin:0 auto}.tabs-admin .tab-btn{flex:1 1 90px;min-width:0}.tabs-admin .tab-btn svg{display:block;flex:0 0 auto;width:24px;height:24px;min-width:24px;min-height:24px}.adm-header{padding:2.3rem 0 .4rem}.adm-title{font-size:1.7rem;font-weight:800;margin:0;color:var(--text)}.adm-subtitle{font-size:.85rem;color:var(--text3);margin:.2rem 0 .9rem}.adm-section-title{font-size:.8rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.03em;margin:1.1rem 0 .55rem}.adm-card{background:var(--bg2);border:1px solid var(--sep);border-radius:15px;padding:.75rem .85rem}.adm-empty{color:var(--text3);font-size:.88rem;padding:.75rem .2rem}.adm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.adm-tile{background:var(--bg2);border:1px solid var(--sep);border-radius:15px;padding:.8rem .9rem;display:flex;flex-direction:column;gap:.1rem;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-tile:active{opacity:.6}.adm-tile b{font-size:1.45rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.adm-tile span{font-size:.78rem;color:var(--text3)}.adm-tile-top{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem}.adm-tile-delta{font-size:.72rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.adm-tile-delta.up{color:var(--green)}.adm-tile-delta.down{color:var(--red)}.adm-tile-delta.flat{color:var(--text3)}.adm-bars-card{margin-bottom:.55rem}.adm-bars{display:flex;align-items:flex-end;gap:3px;height:72px}.adm-bar-col{flex:1;display:flex;align-items:flex-end;height:100%}.adm-bar{width:100%;border-radius:3px 3px 0 0;background:var(--accent);opacity:.85}.adm-bars-axis{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text3);margin-top:.35rem}.adm-kv{display:flex;flex-direction:column}.adm-kv-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.3rem 0;font-size:.88rem}.adm-kv-row>span{color:var(--text2);min-width:0}.adm-kv-row>b{font-weight:600;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.adm-kv-row+.adm-kv-row{border-top:1px solid var(--sep)}.adm-ellipsis>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-chips{display:flex;flex-wrap:wrap;gap:.4rem}.adm-chip{display:inline-flex;align-items:baseline;gap:.35rem;background:var(--bg2);border:1px solid var(--sep);border-radius:var(--r-full);padding:.3rem .7rem;font-size:.82rem;color:var(--text3)}.adm-chip b{color:var(--text);font-weight:700}.adm-row-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.45rem .2rem;background:none;border:none;font:inherit;font-size:.88rem;color:var(--text2);cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-row-btn b{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}.adm-row-btn+.adm-row-btn{border-top:1px solid var(--sep)}.adm-row-btn:active{opacity:.6}.adm-search-row{display:flex;gap:.5rem;margin-bottom:.9rem}.adm-search-row input{flex:1;min-width:0;padding:.6rem .75rem;background:var(--bg2);border:1px solid var(--sep);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:.92rem}.adm-search-row input:focus-visible{outline:none;border-color:var(--accent)}.adm-search-btn{flex:0 0 auto;padding:.6rem 1.1rem;background:var(--accent);color:var(--accentFg);border:none;border-radius:var(--r-md);font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-search-btn:active{opacity:.7}.adm-table-wrap{padding:.25rem .5rem;overflow-x:auto}.adm-table{width:100%;border-collapse:collapse;font-size:.8rem}.adm-table th,.adm-table td{text-align:left;padding:.32rem .4rem;white-space:nowrap;max-width:10rem;overflow:hidden;text-overflow:ellipsis}.adm-table th{color:var(--text3);font-weight:600;border-bottom:1px solid var(--sep)}.adm-table tbody tr+tr td{border-top:1px solid var(--sep)}.adm-msg{display:flex;flex-direction:column;gap:.6rem}.adm-msg textarea{width:100%;box-sizing:border-box;padding:.55rem .6rem;background:var(--bg3);border:1px solid var(--sep);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:.9rem;resize:vertical}.adm-msg textarea:focus-visible{outline:none;border-color:var(--accent)}.adm-total{font-size:.8rem;color:var(--text3);margin-bottom:.55rem}.adm-product-row{margin-bottom:.55rem}.adm-product-info{flex:1;min-width:0}.adm-product-foot{display:flex;justify-content:space-between;gap:.75rem;margin-top:.3rem;font-size:.76rem;color:var(--text3)}.adm-product-edit{margin-bottom:.55rem}.adm-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.adm-user-list{padding:.25rem .85rem}.adm-user-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.55rem 0;background:none;border:none;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-user-row+.adm-user-row{border-top:1px solid var(--sep)}.adm-user-row:active{opacity:.6}.adm-user-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.adm-user-main b{font-size:.92rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.adm-user-meta{font-size:.78rem;color:var(--text3)}.adm-user-side{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;white-space:nowrap}.adm-user-side b{font-size:.88rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.adm-user-side span{font-size:.76rem;color:var(--text3)}.adm-back{display:inline-flex;align-items:center;margin-bottom:.7rem;padding:.35rem .2rem;background:none;border:none;font:inherit;font-size:.9rem;font-weight:600;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-back:active{opacity:.6}.adm-ann{margin-bottom:.6rem;display:flex;flex-direction:column;gap:.4rem}.adm-ann-head{display:flex;justify-content:space-between;align-items:baseline}.adm-ann-head b{font-size:.95rem;color:var(--text)}.adm-ann-head span{font-size:.78rem;color:var(--text3)}.adm-ann-text{font-size:.86rem;color:var(--text2);white-space:pre-line;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.adm-ann-status{font-size:.78rem;color:var(--text3)}.adm-scan-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:.6rem .7rem;background:var(--bg2);color:var(--text2);border:1px solid var(--sep);border-radius:var(--r-md);cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-scan-btn:active{opacity:.6}.adm-ghost-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;background:none;border:1px solid var(--sep);border-radius:var(--r-full);font:inherit;font-size:.8rem;color:var(--text2);cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-ghost-btn svg{width:15px;height:15px;flex:0 0 auto}.adm-ghost-btn:active{opacity:.6}.adm-danger-btn{flex:0 0 auto;padding:.35rem .7rem;background:none;border:1px solid var(--red);border-radius:var(--r-full);font:inherit;font-size:.8rem;color:var(--red);cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-danger-btn:active{opacity:.6}.adm-edit-name{width:100%;box-sizing:border-box;margin-bottom:.5rem;padding:.5rem .6rem;background:var(--bg3);border:1px solid var(--sep);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:.92rem}.adm-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.6rem}.adm-edit-field{display:flex;flex-direction:column;gap:.15rem}.adm-edit-field span{font-size:.72rem;color:var(--text3)}.adm-edit-field input{width:100%;box-sizing:border-box;padding:.45rem .55rem;background:var(--bg3);border:1px solid var(--sep);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:.9rem}.adm-edit-actions{display:flex;align-items:center;gap:.5rem}.adm-edit-actions .adm-search-btn{flex:1}.adm-chart-card{padding:.6rem .7rem}.adm-lang-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.adm-lang-legend .adm-chip{align-items:center}.adm-lang-legend .adm-chip i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.adm-flag{font-size:.68rem;font-weight:600;color:var(--red);border:1px solid var(--red);border-radius:var(--r-full);padding:.05rem .4rem;margin-left:.4rem;white-space:nowrap}.adm-ann-breakdown{display:flex;height:7px;border-radius:var(--r-full);overflow:hidden;background:var(--bg3)}.adm-ann-breakdown span{display:block;height:100%}.adm-debug-scroll{max-height:15rem;overflow-y:auto}.adm-debug-break td{color:var(--red);font-weight:600}.adm-debug-freeze td{color:var(--accent)}.adm-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.5rem;font-size:.82rem;color:var(--text3)}.adm-pager button{width:2rem;height:2rem;border-radius:50%;border:1px solid var(--sep);background:none;color:var(--text2);font-size:1.1rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-pager button:disabled{opacity:.35;cursor:default}.adm-pager button:not(:disabled):active{opacity:.6}.adm-loadmore{display:block;width:100%;margin-top:.6rem;padding:.6rem;background:none;border:1px solid var(--sep);border-radius:var(--r-md);font:inherit;font-size:.88rem;color:var(--text2);cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-loadmore:active{opacity:.6}.adm-compose{display:flex;flex-direction:column;gap:.6rem}.adm-compose textarea,.adm-lang-field textarea{width:100%;box-sizing:border-box;padding:.55rem .6rem;background:var(--bg3);border:1px solid var(--sep);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:.9rem;resize:vertical}.adm-compose textarea:focus-visible,.adm-lang-field textarea:focus-visible{outline:none;border-color:var(--accent)}.adm-compose-actions{display:flex;gap:.5rem;flex-wrap:wrap}.adm-improve-card{border:1px solid var(--accent);border-radius:var(--r-md);padding:.6rem .7rem;background:var(--accentBG)}.adm-improve-label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--accent);margin-bottom:.35rem}.adm-improve-text{font-size:.88rem;color:var(--text);white-space:pre-line;margin-bottom:.6rem}.adm-improve-actions{display:flex;gap:.5rem}.adm-improve-actions .adm-search-btn{flex:1}.adm-lang-fields{display:flex;flex-direction:column;gap:.5rem}.adm-lang-field{display:flex;flex-direction:column;gap:.15rem}.adm-lang-field>span{font-size:.74rem;color:var(--text3)}.adm-ann-actions{display:flex;gap:.5rem;margin-top:.2rem}.adm-ann-actions .adm-search-btn{flex:1}.adm-note{font-size:.76rem;color:var(--text3);margin:.45rem .1rem 0}.adm-section-title-row{display:flex;align-items:center;justify-content:space-between}.adm-section-tools{display:inline-flex}.adm-subhead{font-size:.78rem;color:var(--text3);margin:.6rem 0 .35rem}.adm-range{display:inline-flex;gap:.2rem;background:var(--bg2);border:1px solid var(--sep);border-radius:var(--r-full);padding:.15rem}.adm-range-btn{padding:.2rem .55rem;background:none;border:none;border-radius:var(--r-full);font:inherit;font-size:.74rem;color:var(--text3);cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-range-btn.active{background:var(--accent);color:var(--accentFg)}.adm-share{display:flex;flex-direction:column;gap:.6rem}.adm-share-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.84rem;color:var(--text2);margin-bottom:.25rem}.adm-share-head b{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.adm-share-track{height:7px;border-radius:var(--r-full);background:var(--bg3);overflow:hidden}.adm-share-fill{height:100%;border-radius:var(--r-full);background:var(--accent)}.adm-ret-wrap{overflow-x:auto}.adm-ret-table td,.adm-ret-table th{text-align:center;min-width:2.1rem}.adm-ret-table td:first-child,.adm-ret-table th:first-child{text-align:left}.adm-ret-cell{position:relative;padding:.3rem .2rem}.adm-ret-fill{position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:4px;background:var(--accent)}.adm-ret-val{position:relative;font-variant-numeric:tabular-nums;font-size:.74rem}.adm-ret-empty{background:none}.adm-segs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}.adm-seg{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;background:var(--bg2);border:1px solid var(--sep);border-radius:var(--r-full);font:inherit;font-size:.8rem;color:var(--text2);cursor:pointer;-webkit-tap-highlight-color:transparent}.adm-seg span{font-size:.72rem;font-weight:700;color:var(--text3);font-variant-numeric:tabular-nums}.adm-seg.active{background:var(--accent);border-color:var(--accent);color:var(--accentFg)}.adm-seg.active span{color:var(--accentFg)}.adm-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}.adm-lang-select{padding:.4rem .55rem;background:var(--bg2);border:1px solid var(--sep);border-radius:var(--r-sm);color:var(--text);font-family:inherit;font-size:.82rem}.adm-filter-row .adm-total{margin-bottom:0;margin-left:auto}.adm-filter-row>.adm-ghost-btn{margin-left:auto}.adm-ann-send-row{display:flex;gap:.5rem;align-items:center;margin-top:.2rem}.adm-ann-send-row .adm-lang-select{flex:1;min-width:0}.adm-ann-send-row .adm-search-btn{flex:0 0 auto}.adm-ann-langs-view{font-size:.82rem;color:var(--text2)}.adm-ann-langs-view summary{cursor:pointer;color:var(--text3);font-size:.78rem;padding:.2rem 0}.adm-ann-lang{padding:.35rem 0}.adm-ann-lang+.adm-ann-lang{border-top:1px solid var(--sep)}.adm-ann-lang>span{display:block;font-size:.72rem;color:var(--text3);margin-bottom:.1rem}.adm-ann-lang>div{white-space:pre-line}#tab-adm-stats,#tab-adm-user,#tab-adm-announce,#tab-adm-products{padding-bottom:5.5rem}:root,[data-theme=dark]{--frost: #b3d4e5;--frost-strong: #d0e5f0;--frost-bg: #b3d4e524;--frost-vignette: #b3d4e538}[data-theme=light]{--frost: #46748f;--frost-strong: #385d73;--frost-bg: #46748f1f;--frost-vignette: #46748f2b}#freezeCard{display:flex;flex-direction:column;gap:12px;padding:14px}.freeze-head{display:flex;align-items:center;gap:10px}.freeze-head-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.freeze-title{font-weight:600;font-size:15px}.freeze-sub{font-size:12.5px;color:var(--text3)}.freeze-stubs{display:flex;gap:8px}.freeze-stub{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid transparent;border-radius:var(--r-md);background:var(--frost-bg);color:var(--frost-strong);text-align:left;cursor:pointer}.freeze-stub-ico{width:26px;height:26px;flex:none;color:var(--frost)}.freeze-stub-ico svg{display:block;width:100%;height:100%}.freeze-stub-text{display:flex;flex-direction:column;gap:1px;min-width:0}.freeze-stub-title{font-size:13px;font-weight:600;white-space:nowrap}.freeze-stub-sub{font-size:11.5px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.freeze-stub.ghost{background:none;border:1px dashed color-mix(in srgb,var(--frost) 45%,transparent);color:var(--frost-strong);cursor:default}.freeze-stub.ghost .freeze-stub-ico{opacity:.55}.freeze-stub.quiet{flex:0 0 auto;justify-content:center;padding:11px 14px}.freeze-sched{display:flex;flex-direction:column;gap:8px}.freeze-sched-label{font-size:12px;color:var(--text3)}.freeze-chips{display:flex;flex-wrap:wrap;gap:6px}.freeze-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:none;border-radius:var(--r-full);background:var(--frost-bg);color:var(--frost-strong);font-size:12.5px;cursor:pointer}.freeze-chip-ico{display:inline-flex;width:14px;height:14px;flex:none;color:var(--frost)}.freeze-chip-ico svg{display:block;width:100%;height:100%}.freeze-chip-x{color:var(--icon);font-size:12px;line-height:1;margin-left:2px}.freeze-chooser-hint{margin-bottom:10px;font-size:13px;line-height:1.4;color:var(--text3)}.freeze-chooser-list{display:flex;flex-direction:column;gap:6px;max-height:45vh;overflow-y:auto;padding-bottom:4px}.freeze-choose-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--sep);border-radius:var(--r-md);background:var(--bg3);color:var(--text);text-align:left;cursor:pointer}.freeze-choose-row.selected{border-color:var(--frost);background:var(--frost-bg)}.freeze-choose-row.frozen{opacity:.5;cursor:default}.fc-dow{width:2.4em;flex:none;font-size:12.5px;color:var(--text3)}.fc-date{flex:1;min-width:0;font-size:14.5px}.fc-today{flex:none;padding:2px 8px;border-radius:var(--r-full);background:var(--accentBG);color:var(--accentText);font-size:11px}.fc-frost{display:inline-flex;align-items:center;width:16px;height:16px;flex:none;color:var(--frost)}.fc-frost svg{display:block;width:100%;height:100%}.wk-day,.cal-day{position:relative}.wk-day .wk-frost,.cal-day .wk-frost{position:absolute;top:2px;right:3px;width:9px;height:9px;color:var(--frost);pointer-events:none}.wk-day .wk-frost svg,.cal-day .wk-frost svg{display:block;width:100%;height:100%}.wk-day.frozen.out-of-range,.cal-day.frozen.out-of-range{opacity:.55}.wk-day.frozen .wk-num{color:var(--frost);font-weight:700}body[data-mode=calories].day-frozen #tab-today>*,body[data-mode=calories].day-frozen .tabs-wrapper,body[data-mode=calories].day-frozen .fab-wrapper,body[data-mode=calories].day-frozen .mode-switch-anchor{filter:saturate(.2);transition:filter var(--duration-slow) var(--ease-out)}body[data-mode=calories].day-frozen .gauge-wrap:before{animation:none;opacity:0}body[data-mode=calories].day-frozen #fab-add,body[data-mode=calories].day-frozen .ai-cam-btn,body[data-mode=calories].day-frozen .empty-today .ghost-row-cta{display:none}body[data-mode=calories].day-frozen:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,#00000000 52%,var(--frost-vignette) 100%)}@media (prefers-reduced-motion: no-preference){body[data-mode=calories].day-frozen:after{animation:freezeVignetteBreathe 6s cubic-bezier(.45,0,.55,1) infinite}}.app-bg-hidden body[data-mode=calories].day-frozen:after{animation-play-state:paused}@keyframes freezeVignetteBreathe{0%,to{opacity:.55}50%{opacity:1}}
