@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prata-cyrillic-400-normal-CW5LVkdR.woff2) format("woff2"),url(/assets/prata-cyrillic-400-normal-DdkJ869o.woff) format("woff")}.overlay-panel.global-add-sheet{width:min(100%,520px);animation:global-add-sheet-in .26s var(--ease-drawer) both}.overlay-panel.global-add-sheet>.overlay-header{border-bottom-color:transparent;background:transparent}.overlay-panel.global-add-sheet .overlay-close{border-color:transparent;background:transparent}.overlay-panel.global-add-sheet .overlay-close:hover{background:transparent}.overlay-panel.global-add-sheet-actions>.overlay-header{min-height:66px;justify-content:flex-end;padding-block:16px 6px;border-bottom:0}.overlay-panel.global-add-sheet-actions>.overlay-header .overlay-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.overlay-panel.global-add-sheet-root>.overlay-header{min-height:64px;height:auto;align-items:center;justify-content:space-between;padding:16px 10px 4px 20px;overflow:visible}.overlay-panel.global-add-sheet-root>.overlay-header .overlay-heading{position:static;width:auto;height:auto;flex:1 1 auto;overflow:visible;clip:auto;clip-path:none;white-space:normal}.overlay-panel.global-add-sheet-root>.overlay-header .overlay-heading h2{font-size:1.05rem;font-weight:700;line-height:1.25;letter-spacing:-.015em;text-align:left}.overlay-panel.global-add-sheet .global-add-choices{padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.overlay-panel.global-add-sheet .global-add-choices>button{height:72px;min-height:72px}.overlay-panel.global-add-sheet-step>.overlay-header{position:relative;min-height:66px;align-items:center;justify-content:flex-end;padding:15px 12px 7px}.overlay-panel.global-add-sheet-step>.overlay-header .overlay-heading{position:absolute;inset-inline:64px;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;white-space:normal;text-align:left;pointer-events:none}.overlay-panel.global-add-sheet-step>.overlay-header .overlay-heading h2{font-size:clamp(1rem,4.4vw,1.18rem);line-height:1.18;text-align:left}.overlay-panel.global-add-sheet-step>.overlay-header .overlay-header-actions{width:100%;margin-right:0}.overlay-panel.global-add-sheet.overlay-flow-closing{pointer-events:none;animation:global-add-sheet-out .22s var(--ease-drawer) forwards}.overlay-backdrop:has(.global-add-sheet.overlay-flow-exiting){pointer-events:none;animation:global-add-backdrop-out .18s var(--ease-out) forwards}.global-add-back{display:inline-grid;width:44px;height:44px;flex:0 0 44px;place-items:center;margin:0 auto 0 0;padding:0;border:0;border-radius:50%;color:var(--color-text);background:transparent;cursor:pointer}.global-add-back svg{width:21px;height:21px}@media(hover:hover)and (pointer:fine){.global-add-back:hover{color:#fff}}.global-add-choices{display:grid;gap:8px;padding:8px 20px 22px}.global-add-choices>button{display:grid;width:100%;min-height:72px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--color-border);border-radius:16px;color:var(--color-text);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .18s ease,background-color .18s ease,transform .14s var(--ease-out)}@media(hover:hover)and (pointer:fine){.global-add-choices>button:hover{border-color:#c8d0ca;background:var(--color-background)}}.global-add-choices>button:active{transform:scale(.985)}.global-add-choices>button.global-add-ai-action{position:relative;isolation:isolate;color:#fff;border-color:#ffffff47;background:var(--ai-gradient);box-shadow:var(--ai-glow)}.global-add-choices>button.global-add-ai-action:before{position:absolute;z-index:-1;inset:-4px;border-radius:inherit;background:var(--ai-gradient-hover);content:"";opacity:.28;filter:blur(12px);pointer-events:none;animation:ai-glow-breathe 3s var(--ease-in-out) infinite alternate}.global-add-choices>button.global-add-ai-action .global-add-chevron{color:#ffffffd1}@media(hover:hover)and (pointer:fine){.global-add-choices>button.global-add-ai-action:hover{color:#fff;border-color:#ffffff6b;background:var(--ai-gradient-hover);box-shadow:var(--ai-glow-hover)}}.global-add-choices>button:focus-visible,.global-add-back:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.global-add-choices>button.global-add-ai-action:focus-visible{outline-color:#fff}.global-add-icon{display:inline-grid;width:44px;height:44px;place-items:center;border-radius:0;color:#111;background:transparent}.global-add-icon.is-ai{color:#fff;border:0;border-radius:0;background:transparent;box-shadow:none}.global-add-icon svg{width:21px;height:21px;stroke-width:1.9}.global-add-choices>button>span:not(.global-add-icon){display:grid;width:100%;min-width:0;gap:3px;justify-items:start;text-align:left}.global-add-choices strong,.global-add-choices small{display:block}.global-add-choices strong{font-size:.9rem;font-weight:650;line-height:1.28;text-align:left}.global-add-ai-mark{display:inline-block;margin-inline-start:.28em;font-size:.62em;font-weight:700;letter-spacing:.02em;line-height:1;text-transform:lowercase;transform:translateY(-.42em)}.global-add-choices small{color:var(--color-muted);font-size:.78rem;line-height:1.35}.global-add-chevron{width:18px;height:18px;color:var(--color-muted)}@keyframes global-add-sheet-in{0%{transform:translateY(100%)}}@keyframes global-add-sheet-out{to{transform:translateY(100%)}}@keyframes global-add-backdrop-out{to{opacity:0}}@media(max-width:520px){.global-add-choices{padding-inline:16px}.overlay-panel.global-add-sheet .global-add-choices{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.overlay-panel.global-add-sheet{animation:none}.overlay-panel.global-add-sheet.overlay-flow-closing,.overlay-backdrop:has(.global-add-sheet.overlay-flow-exiting){opacity:0;animation:none;transform:none}.global-add-choices>button{transition:none}}.notification-bell{position:relative;display:inline-grid;width:44px;height:44px;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:14px;color:var(--color-text);background:var(--color-surface);box-shadow:0 8px 22px #57312214;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.notification-bell:hover{border-color:#d3bdb1;background:#fbf5f1}.notification-bell:active{transform:scale(.97)}.notification-bell svg{width:21px;height:21px;stroke-width:1.8}.notification-unread-dot{position:absolute;top:7px;right:7px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#d43e35}.overlay-panel.notification-panel{width:min(100%,520px);padding:0}.notification-panel>.overlay-header{align-items:center}.notification-panel-content{min-height:180px;padding:8px 18px max(18px,env(safe-area-inset-bottom))}.notification-list{display:grid}.notification-clear-button{min-height:44px;padding:0 8px;border:0;color:#a43730;background:transparent;font:inherit;font-size:.84rem;font-weight:690;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}.notification-clear-button:hover{color:#7f2924;text-decoration:none}.notification-clear-button:focus-visible{border-radius:8px;outline:3px solid rgb(217 94 62 / 28%);outline-offset:-2px}.notification-clear-button:disabled{opacity:.55;cursor:wait}.notification-panel>.overlay-header .overlay-close{border:0;border-radius:0;background:transparent;box-shadow:none}.notification-panel>.overlay-header .overlay-close:hover{color:#7f2924;background:transparent}.notification-panel>.overlay-header .overlay-close:focus-visible{color:#a43730;outline:0}@media(max-width:390px){.notification-panel>.overlay-header{gap:6px;padding-inline:14px 8px}.notification-panel>.overlay-header .overlay-heading p{font-size:.78rem}.notification-clear-button{padding-inline:4px;font-size:.78rem}}.notification-item{position:relative;display:grid;min-width:0;gap:5px;padding:15px 8px 15px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none}.notification-item:last-child{border-bottom:0}.notification-item:before{position:absolute;top:21px;left:2px;width:6px;height:6px;border-radius:50%;background:transparent;content:""}.notification-item.is-unread:before{background:#d43e35}.notification-item:hover{background:#fbf6f3}.notification-item-meta{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;color:var(--color-muted);font-size:.75rem}.notification-item-meta time{flex:0 0 auto;font-variant-numeric:tabular-nums}.notification-item strong,.notification-item p{overflow-wrap:anywhere}.notification-item strong{font-size:.95rem;line-height:1.25}.notification-item p{margin:0;color:var(--color-muted);font-size:.85rem;line-height:1.42}.notification-state{display:flex;min-height:180px;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:22px;color:var(--color-muted);text-align:center}.notification-state>svg{width:28px;height:28px;color:var(--color-primary)}.notification-state strong,.notification-state p{margin:0}.notification-state button{min-height:44px;padding:0 14px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);background:var(--color-surface);font:inherit;font-weight:680}.notification-state.is-error>svg{color:#c63f35}.notification-skeleton-list{display:grid;gap:1px}.notification-skeleton-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px 2px;border-bottom:1px solid var(--color-border)}.notification-skeleton-item>div{display:grid;align-content:center;gap:8px}.notification-skeleton-icon{width:42px;height:42px;border-radius:12px}.notification-skeleton-title{width:46%;height:14px;border-radius:6px}.notification-skeleton-line{width:92%;height:11px;border-radius:6px}.notification-skeleton-line.is-short{width:64%}@media(prefers-reduced-motion:reduce){.notification-bell{transition:none}}.journal-streak-button{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:12px;color:inherit;background:transparent;font:inherit;cursor:pointer;transition:opacity .18s ease}.journal-streak-button:hover{opacity:.72}.journal-streak-button svg{width:21px;height:21px}.journal-streak-button span{min-width:1ch;font-family:var(--font-data);font-size:.82rem;font-weight:720;font-variant-numeric:tabular-nums}.weekly-summary-sheet .overlay-heading h2{letter-spacing:-.03em}.weekly-summary-sheet-content,.weekly-summary-history{display:grid;gap:18px;padding:0 18px calc(22px + env(safe-area-inset-bottom))}.weekly-summary-achievement{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--color-border)}.weekly-summary-achievement>svg{width:40px;height:40px;flex:0 0 auto;color:var(--color-text)}.weekly-summary-achievement>span{display:grid;gap:2px}.weekly-summary-achievement small{color:var(--color-muted);font-size:.72rem}.weekly-summary-achievement strong{font-size:1.12rem;letter-spacing:-.025em}.weekly-summary-period{display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}.weekly-summary-period svg{width:18px;height:18px}.weekly-summary-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weekly-summary-totals>span{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:3px 7px;padding:14px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.weekly-summary-totals small{grid-column:1 / -1;color:var(--color-muted);font-size:.7rem}.weekly-summary-totals strong{font-family:var(--font-data);font-size:clamp(1.28rem,6vw,1.75rem);font-variant-numeric:tabular-nums;letter-spacing:var(--font-data-tracking)}.weekly-summary-totals b{color:var(--color-muted);font-size:.7rem}.weekly-summary-result{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 9px}.weekly-summary-result svg{grid-row:1 / 3;width:24px;height:24px;color:var(--color-muted)}.weekly-summary-result strong{font-size:1rem;font-variant-numeric:tabular-nums}.weekly-summary-result span{color:var(--color-muted);font-size:.7rem}.weekly-summary-chart{display:grid;gap:12px;padding-top:4px}.weekly-summary-chart-legend{display:flex;gap:16px;color:var(--color-muted);font-size:.68rem}.weekly-summary-chart-legend span{display:inline-flex;align-items:center;gap:5px}.weekly-summary-chart-legend i{width:9px;height:9px;border-radius:3px}.weekly-summary-chart .is-plan{background:var(--color-border)}.weekly-summary-chart .is-eaten{background:var(--color-text)}.weekly-summary-chart-days{display:grid;height:130px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end}.weekly-summary-chart-day{display:grid;height:100%;grid-template-rows:1fr auto;gap:7px;min-width:0}.weekly-summary-chart-bars{display:flex;height:100%;align-items:flex-end;justify-content:center;gap:3px}.weekly-summary-chart-bars i{width:min(10px,38%);min-height:4px;border-radius:4px 4px 2px 2px;transform-origin:bottom;animation:weekly-summary-bar-in .42s ease-out both}.weekly-summary-chart-day time{color:var(--color-muted);font-size:.58rem;text-align:center;white-space:nowrap}.weekly-summary-missing-goal p{margin:0;color:var(--color-muted);font-size:.78rem;line-height:1.5}.weekly-summary-missing-goal{display:grid;gap:6px}.weekly-summary-missing-goal strong{font-size:.88rem}.weekly-summary-missing-goal a{justify-self:start;color:var(--color-text);font-size:.78rem;font-weight:700}.weekly-summary-cheat-meal{margin:0;color:var(--color-text);font-size:.82rem;font-weight:500;line-height:1.5;text-wrap:pretty}.weekly-summary-cheat-meal strong{font-weight:700}.weekly-summary-weight{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:12px;padding:15px 0;border-block:1px solid var(--color-border)}.weekly-summary-weight>svg{width:28px;height:28px;color:var(--color-text)}.weekly-summary-weight>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 10px}.weekly-summary-weight span{color:var(--color-muted);font-size:.72rem}.weekly-summary-weight strong{font-family:var(--font-data);font-size:1rem;font-variant-numeric:tabular-nums;letter-spacing:var(--font-data-tracking)}.weekly-summary-weight small{grid-column:1 / -1;color:var(--color-muted);font-size:.68rem;font-variant-numeric:tabular-nums}.weekly-summary-weight.is-empty>div{grid-template-columns:1fr}.weekly-summary-weight.is-empty strong{font-family:inherit;font-size:.86rem;letter-spacing:normal}.weekly-summary-weight.is-empty span{line-height:1.45}.weekly-summary-weight-chart{display:grid;gap:8px;margin-top:-10px}.weekly-summary-weight-chart>strong{font-size:.76rem;font-weight:650}.weekly-summary-weight-chart svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font-data);font-variant-numeric:tabular-nums}.weekly-summary-weight-grid{stroke:var(--color-border);stroke-width:1;vector-effect:non-scaling-stroke}.weekly-summary-weight-line{fill:none;stroke:var(--color-text);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5;vector-effect:non-scaling-stroke}.weekly-summary-weight-point{fill:var(--color-text);stroke:var(--color-surface);stroke-width:2.5;vector-effect:non-scaling-stroke}.weekly-summary-weight-chart text{fill:var(--color-muted);font-size:8px;font-weight:600;text-anchor:middle}.weekly-summary-weight-chart text.is-empty{opacity:.5}.weekly-summary-reward{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px 12px;padding-block:15px;border-block:1px solid var(--color-border);text-align:left}.weekly-summary-reward>svg{width:28px;height:28px;color:var(--color-text)}.weekly-summary-reward header{display:grid;gap:2px}.weekly-summary-reward header strong{font-size:.88rem}.weekly-summary-reward header small{color:var(--color-muted);font-size:.7rem}.weekly-summary-reward ul{display:grid;grid-column:2;gap:7px;margin:0;padding:0;list-style:none}.weekly-summary-reward li{display:flex;align-items:baseline;gap:7px}.weekly-summary-reward li b{min-width:1.5rem;font-family:var(--font-data);font-size:.78rem;font-variant-numeric:tabular-nums}.weekly-summary-reward li span{color:var(--color-muted);font-size:.76rem;line-height:1.35}.weekly-summary-claim,.weekly-summary-reward-confirmation{display:grid;gap:14px}.weekly-summary-claim>p{margin:0;color:var(--color-danger, #a53b2c);font-size:.76rem;line-height:1.4}.weekly-summary-reward-confirmation{padding:0 18px calc(22px + env(safe-area-inset-bottom))}.weekly-summary-claim .form-primary-action,.weekly-summary-reward-confirmation .form-primary-action{width:100%}.weekly-summary-history-link,.weekly-summary-back{display:inline-flex;min-height:44px;align-items:center;border:0;color:var(--color-text);background:transparent;font:inherit;font-size:.8rem;font-weight:680;cursor:pointer}.weekly-summary-history-link{justify-content:center;gap:3px}.weekly-summary-history-link svg,.weekly-summary-back svg{width:17px;height:17px}.weekly-summary-back{justify-self:start;gap:7px;padding:0}.weekly-summary-history-list{display:grid;border-block:1px solid var(--color-border)}.weekly-summary-history-list>button{display:grid;min-height:78px;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:12px 0;border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background-color .18s ease}.weekly-summary-history-list>button:last-child{border-bottom:0}.weekly-summary-history-list button>span:first-child{display:grid;gap:3px}.weekly-summary-history-list strong{font-size:.84rem}.weekly-summary-history-list small{color:var(--color-muted);font-size:.68rem}.weekly-summary-history-list button>span:nth-child(2){max-width:145px;color:var(--color-muted);font-size:.68rem;font-weight:650;text-align:right}.weekly-summary-history-list svg{width:17px;height:17px;color:var(--color-muted)}.weekly-summary-preparation{display:grid;justify-items:center;gap:10px;padding:6px 18px calc(24px + env(safe-area-inset-bottom));text-align:center}.weekly-summary-preparation-icon{display:grid;width:64px;height:64px;place-items:center;color:var(--color-text)}.weekly-summary-preparation-icon svg{width:42px;height:42px}.weekly-summary-preparation>strong{font-size:1.16rem;letter-spacing:-.025em}.weekly-summary-preparation>p{max-width:36ch;margin:0;color:var(--color-muted);font-size:.82rem;line-height:1.5}.weekly-summary-preparation>.weekly-summary-preparation-remaining{color:var(--color-text);font-weight:680}.weekly-summary-preparation>small{max-width:40ch;color:var(--color-muted);font-size:.7rem;line-height:1.45}.weekly-summary-preparation>.weekly-summary-reward{width:100%;margin-top:6px}.weekly-summary-preparation-progress{display:grid;width:100%;max-width:320px;grid-template-columns:repeat(7,1fr);gap:6px;margin-block:8px 2px}.weekly-summary-preparation-progress i{height:7px;border-radius:999px;background:var(--color-border)}.weekly-summary-preparation-progress i.is-complete{background:var(--color-text)}.weekly-summary-preparation-action{display:inline-flex;min-height:44px;align-items:center;gap:3px;margin-top:4px;color:var(--color-text);font-size:.8rem;font-weight:700}.weekly-summary-preparation-action svg{width:17px;height:17px}.weekly-summary-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}.weekly-summary-pagination button{min-height:44px;border:0;color:var(--color-text);background:transparent;font:inherit;font-size:.76rem;font-weight:680}.weekly-summary-pagination button:disabled{opacity:.4}.weekly-summary-pagination span{color:var(--color-muted);font-size:.7rem;font-variant-numeric:tabular-nums}@keyframes weekly-summary-bar-in{0%{opacity:0;transform:scaleY(.2)}}@media(hover:hover){.weekly-summary-history-list>button:hover{background:color-mix(in srgb,var(--color-text) 5%,transparent)}.weekly-summary-history-link:hover,.weekly-summary-back:hover,.weekly-summary-pagination button:not(:disabled):hover{opacity:.7}}@media(max-width:359px){.weekly-summary-totals{grid-template-columns:1fr}.weekly-summary-history-list>button{grid-template-columns:minmax(0,1fr) 18px}.weekly-summary-history-list button>span:nth-child(2){grid-column:1;grid-row:2;max-width:none;text-align:left}.weekly-summary-history-list button>svg{grid-column:2;grid-row:1 / 3}}@media(prefers-reduced-motion:reduce){.weekly-summary-chart-bars i{animation:none}}.app-frame.app-shell{position:relative;width:min(100%,1440px);min-height:100dvh;margin-inline:auto;overflow-x:clip;background:var(--color-background);box-shadow:none}.app-shell .app-shell-content{min-width:0}.app-shell .app-shell-content.page-with-nav{min-height:100dvh;padding-left:0}.app-shell .app-shell-content.page-with-nav>.page{padding-bottom:calc(92px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom)))}.app-shell .app-shell-content.page-with-nav>:is(.home-dashboard,.journal-page,.recipes-page,.fridge-page){padding-top:calc(96px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)))}.app-mobile-header{position:fixed;z-index:39;inset:0 0 auto;height:calc(84px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)));border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 8px 22px #57312214}.app-header-brand-group{position:fixed;z-index:40;top:22px;top:calc(22px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)));left:18px;left:max(18px,env(safe-area-inset-left));display:flex;height:46px;align-items:center;gap:2px}.app-header-brand{display:flex;height:46px;align-items:center;color:var(--color-text);font-size:clamp(1.2rem,5.6vw,1.45rem);font-weight:700;line-height:1;letter-spacing:-.03em;pointer-events:none;font-variation-settings:"wght" 700}.app-header-brand-group .journal-streak-button{color:var(--color-text)}.app-notification-slot{position:fixed;z-index:40;top:22px;top:calc(22px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)));right:16px;right:max(16px,env(safe-area-inset-right));display:flex;min-height:44px;align-items:stretch;overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow-soft);pointer-events:auto}.app-profile-shortcut{display:inline-grid;width:44px;height:44px;flex:0 0 44px;place-items:center;color:var(--color-primary-deep);border-right:1px solid var(--color-border);background:transparent;text-decoration:none;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease}.app-profile-shortcut:hover{color:var(--color-primary-deep);background:var(--color-sage-soft)}.app-profile-shortcut svg{width:22px;height:22px}.app-notification-slot .notification-bell{border:0;border-radius:0;box-shadow:none}body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .app-notification-slot{display:flex;width:96px;height:46px;align-items:stretch;padding:0 3px;border:1px solid rgb(255 255 255 / 54%);border-radius:15px;background:#ffffff24}body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .app-mobile-header{border-bottom:0;background:var(--color-primary-deep);box-shadow:0 8px 22px #48180d29}body:has(.profile-page) .app-mobile-header{border-bottom:0;background:var(--color-background);box-shadow:none}body:has(.profile-page) .app-header-brand{color:var(--color-text)}body:has(.profile-page) .app-notification-slot{border-color:transparent;background:transparent;box-shadow:none}body:has(.profile-page) .notification-bell,body:has(.profile-page) .notification-bell:hover{color:var(--color-text);background:transparent}body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .app-header-brand{color:#fff}body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .app-header-brand-group .journal-streak-button{color:#fff}body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .app-profile-shortcut{color:#fff;border-right-color:#ffffff4d}body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .app-profile-shortcut:hover{color:#fff;background:#ffffff24}body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .notification-bell{order:2;width:44px;height:44px;color:#fff;border:0;border-radius:0 14px 14px 0;background:transparent;box-shadow:none}body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .notification-bell:hover{color:#fff;background:#ffffff38}.app-shell .app-shell-content.page-with-nav>.page{--page-notification-reserved-space: 112px}.app-shell .app-shell-content.page-with-nav>.page>:is(.home-welcome,.journal-topbar,.profile-page-header){padding-right:var(--page-notification-reserved-space)}.app-shell .app-primary-nav.bottom-nav{position:fixed;z-index:30;inset:auto 0 0;display:block;width:100%;box-sizing:border-box;min-height:calc(80px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom)));padding:8px max(8px,var(--tg-safe-right, 0px),env(safe-area-inset-right)) calc(8px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom))) max(8px,var(--tg-safe-left, 0px),env(safe-area-inset-left));border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;animation:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell .app-primary-nav:before{display:none}.app-shell .app-brand{display:none}.app-shell .app-primary-links{display:flex;height:64px;align-items:center;gap:8px}.app-shell .app-primary-destinations{display:grid;min-width:0;height:64px;flex:1 1 auto;grid-template-columns:repeat(4,minmax(44px,1fr));align-items:stretch;padding-inline:2px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);box-shadow:0 12px 30px #5731221c}.app-shell .app-primary-destinations>a,.app-shell .app-desktop-profile-destination,.app-shell .app-primary-action{position:relative;display:flex;min-width:0;height:52px;min-height:44px;align-self:center;align-items:center;justify-content:center;flex-direction:column;gap:0;margin:0;padding:6px 2px;border:0;border-radius:14px;color:var(--color-muted);background:transparent;font:inherit;font-size:clamp(.58rem,2.6vw,.68rem);font-weight:620;line-height:1;text-decoration:none;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .16s ease}.app-shell .app-primary-destinations>a>svg,.app-shell .app-desktop-profile-destination>svg,.app-shell .app-primary-action>svg{width:22px;height:22px;flex:0 0 auto;stroke-width:1.85;filter:none}.app-shell .app-primary-destinations>a>span,.app-shell .app-desktop-profile-destination>span,.app-shell .app-primary-action>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell .app-primary-destinations>a.active{color:var(--color-muted);background:transparent}.app-shell .app-primary-destinations>a.active>svg{color:var(--color-text);filter:none}.app-shell .app-primary-destinations>a:active,.app-shell .app-primary-action:active{transform:scale(.96)}.app-shell .app-primary-destinations>a:focus-visible,.app-shell .app-desktop-profile-destination:focus-visible,.app-shell .app-primary-action:focus-visible{outline:3px solid rgb(217 94 62 / 30%);outline-offset:-3px}.app-shell .app-primary-destinations>a:focus:not(:focus-visible),.app-shell .app-desktop-profile-destination:focus:not(:focus-visible){outline:0}.app-shell .app-primary-action{width:56px;height:56px;min-height:56px;flex:0 0 56px;justify-self:center;border-radius:50%;color:#fff;background:#201b18;box-shadow:0 12px 26px #201b183d;transform:none}.app-shell .app-primary-action:active{transform:scale(.96)}.app-shell .app-primary-action>svg{width:25px;height:25px;stroke-width:2}.app-shell .app-desktop-profile-destination{display:none}@media(max-width:1023px){.app-frame.app-shell.has-primary-navigation:after{position:fixed;z-index:20;right:0;left:0;pointer-events:none;content:""}.app-frame.app-shell.has-primary-navigation:after{bottom:0;height:calc(112px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom)));background:#ffffff05;backdrop-filter:blur(14px) saturate(112%);-webkit-backdrop-filter:blur(14px) saturate(112%);mask-image:linear-gradient(0deg,#000 0%,rgb(0 0 0 / 72%) 48%,transparent 100%);-webkit-mask-image:linear-gradient(0deg,#000 0%,rgb(0 0 0 / 72%) 48%,transparent 100%)}.app-shell .app-primary-destinations{border-color:#ffffff8a;background:#ffffff94;box-shadow:inset 0 1px #ffffffbd,0 14px 34px #321f1721;backdrop-filter:blur(24px) saturate(115%);-webkit-backdrop-filter:blur(24px) saturate(115%)}.app-shell .app-primary-destinations>a.active{color:var(--color-muted)}.app-shell .app-primary-destinations>a.active>svg{color:var(--color-text);filter:none}.app-shell .app-primary-action{border:1px solid rgb(255 255 255 / 14%);background:#191614c2;box-shadow:inset 0 1px #ffffff21,0 14px 30px #1f15113d;backdrop-filter:blur(18px) saturate(90%);-webkit-backdrop-filter:blur(18px) saturate(90%)}}@media(min-width:1024px){.app-mobile-header{position:fixed;height:calc(84px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)))}.app-header-brand-group{left:max(28px,calc((100vw - 1440px)/2 + 28px))}.app-shell .app-shell-content.page-with-nav{padding-left:224px}.app-shell .app-shell-content.page-with-nav>.page{min-height:100dvh;padding-top:calc(108px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)));padding-bottom:max(40px,env(safe-area-inset-bottom))}.app-shell .app-primary-nav.bottom-nav{top:calc(108px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)));right:auto;bottom:24px;left:max(24px,calc((100vw - 1440px)/2 + 24px));width:184px;height:auto;padding:10px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:0 16px 42px #57312217;overflow:visible}.app-shell .app-primary-links{height:auto;flex-direction:column;gap:4px}.app-shell .app-primary-destinations{display:grid;width:100%;height:auto;flex:none;grid-template-columns:1fr;gap:4px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.app-shell .app-primary-destinations>a,.app-shell .app-desktop-profile-destination,.app-shell .app-primary-action{width:100%;height:auto;min-height:48px;justify-content:flex-start;flex-direction:row;gap:12px;margin:0;padding:0 12px;border-radius:12px;font-size:.86rem}.app-shell .app-primary-destinations>a>span,.app-shell .app-desktop-profile-destination>span,.app-shell .app-primary-action>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.app-shell .app-primary-destinations>a.active{color:var(--color-muted);background:transparent}.app-shell .app-primary-destinations>a.active>svg{color:var(--color-text)}.app-shell .app-primary-destinations>a.active:after{display:none}.app-shell .app-primary-action{flex:none;justify-self:stretch;color:#fff;background:#201b18;box-shadow:none;transform:none}.app-shell .app-primary-action:active{transform:scale(.98)}.app-shell .app-desktop-profile-destination{display:flex}.app-shell .app-desktop-profile-destination.active{color:var(--color-primary-deep);background:var(--color-sage-soft)}.app-notification-slot{top:22px;right:max(28px,calc((100vw - 1440px)/2 + 28px))}}@media(prefers-reduced-motion:reduce){.app-shell .app-primary-destinations>a,.app-shell .app-desktop-profile-destination,.app-shell .app-primary-action{transition:none}}.auth-login-actions{display:grid;width:min(100%,320px);gap:10px;margin-inline:auto;justify-items:stretch}.auth-login-actions .button{width:100%}.guest-login-button{justify-content:center;gap:9px}.guest-login-button svg{width:20px;height:20px}.guest-login-note{margin:0;color:var(--color-muted);font-size:.78rem;text-align:center}.guest-access-banner{position:fixed;z-index:38;top:calc(84px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)));left:50%;display:flex;width:min(calc(100% - 24px),760px);min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px 7px 13px;border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--color-border));border-radius:14px;color:var(--color-text);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-primary-soft));box-shadow:var(--shadow-soft);transform:translate(-50%)}.guest-access-banner span{display:flex;min-width:0;align-items:center;gap:5px;font-size:.78rem;font-variant-numeric:tabular-nums}.guest-access-banner span svg{width:17px;height:17px;flex:0 0 auto}.guest-access-banner button{min-height:36px;flex:0 0 auto;padding:0 10px;border:0;border-radius:10px;color:var(--color-on-primary);background:var(--color-primary-deep);font:inherit;font-size:.75rem;font-weight:650;cursor:pointer}.guest-access-banner.is-urgent{border-color:color-mix(in srgb,var(--color-danger) 58%,var(--color-border))}.guest-access-banner.is-urgent span svg{color:var(--color-danger)}body:has(.guest-access-banner) .app-shell .app-shell-content.page-with-nav>:is(.home-dashboard,.journal-page,.recipes-page,.fridge-page){padding-top:calc(150px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)))}body:has(.guest-access-banner) .profile-settings-page{padding-top:calc(154px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)))}body:has(.guest-access-banner) .onboarding-shell{padding-top:calc(82px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)))}body:not(:has(.app-mobile-header)) .guest-access-banner{top:calc(8px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)))}body:has(.guest-access-banner) .detail-page{padding-top:calc(60px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top)))}.guest-registration-copy{display:flex;gap:12px;align-items:flex-start;padding:6px 0;color:var(--color-muted)}.guest-registration-copy svg{width:24px;height:24px;flex:0 0 auto;color:var(--color-primary)}.guest-registration-copy p{margin:0;line-height:1.5}.guest-registration-dialog .overlay-footer .yandex-login-button{width:100%}.guest-expired-screen{display:grid;min-height:100dvh;place-content:center;justify-items:center;gap:16px;padding:28px;color:var(--color-text);background:var(--color-background);text-align:center}.guest-expired-screen h1,.guest-expired-screen p{margin:0}.guest-expired-screen p{max-width:440px;color:var(--color-muted);line-height:1.55}.guest-expired-icon{display:grid;width:64px;height:64px;place-items:center;border-radius:20px;color:var(--color-primary);background:var(--color-primary-soft)}.guest-expired-icon svg{width:32px;height:32px}@media(max-width:360px){.guest-access-banner strong{display:none}.guest-access-banner{width:calc(100% - 16px)}}@media(min-width:900px){.guest-access-banner{top:16px}}:root[data-theme=dark] .guest-access-banner{border-color:var(--color-border);background:color-mix(in srgb,var(--color-surface-raised) 96%,transparent)}:root[data-theme=dark] .guest-access-banner button{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface-muted)}@media(prefers-reduced-motion:reduce){.guest-access-banner,.guest-access-banner *{transition:none!important}}.app-launch-content.is-preparing{height:100dvh;overflow:hidden;visibility:hidden}.app-launch-screen{position:fixed;z-index:10000;inset:0;display:grid;width:100%;height:100dvh;min-width:320px;min-height:100dvh;grid-template-rows:auto 1fr;overflow:hidden;padding:calc(28px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top))) clamp(22px,6vw,56px) calc(34px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom)));color:#fff;background:#38241b;opacity:1;isolation:isolate;transition:opacity .24s var(--ease-out)}.app-launch-photo,.app-launch-photo-shade{position:absolute;inset:0;pointer-events:none}.app-launch-photo{z-index:-2;transform:scale(1.025);animation:app-launch-photo-breathe 3.7s cubic-bezier(.16,1,.3,1) both}.app-launch-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.app-launch-screen[data-period=morning] .app-launch-photo img{object-position:50% 52%}.app-launch-screen[data-period=evening] .app-launch-photo img,.app-launch-screen[data-period=night] .app-launch-photo img{object-position:50% 48%}.app-launch-photo-shade{z-index:-1;background:linear-gradient(180deg,rgb(17 12 8 / 38%) 0%,transparent 30%),linear-gradient(180deg,transparent 38%,rgb(18 10 6 / 18%) 57%,rgb(15 8 5 / 76%) 100%)}.app-launch-screen[data-period=night] .app-launch-photo-shade{background:linear-gradient(180deg,rgb(2 9 18 / 30%) 0%,transparent 34%),linear-gradient(180deg,transparent 42%,rgb(3 8 15 / 16%) 58%,rgb(2 6 12 / 78%) 100%)}.app-launch-screen.is-exiting{opacity:0;pointer-events:none}.app-launch-brand{position:relative;z-index:1;font-family:var(--font-ui);font-size:clamp(1.35rem,5vw,2rem);font-weight:760;letter-spacing:-.035em;text-shadow:0 2px 16px rgb(0 0 0 / 28%)}.app-launch-center{position:relative;z-index:1;display:flex;width:min(100%,620px);align-self:end;justify-self:center;align-items:center;flex-direction:column;padding-bottom:clamp(22px,5vh,52px);text-align:center}.app-launch-greeting,.app-launch-quote{text-wrap:balance;text-shadow:0 2px 22px rgb(0 0 0 / 42%)}.app-launch-greeting{max-width:18ch;margin:0;font-family:Prata,serif;font-size:clamp(1.9rem,8vw,3.4rem);font-weight:400;letter-spacing:-.025em;line-height:1.2;animation:app-launch-copy-in .56s cubic-bezier(.16,1,.3,1) both}.app-launch-quote{max-width:31ch;margin:14px 0 0;color:#ffffffe0;font-family:var(--font-ui);font-size:clamp(.96rem,3.8vw,1.15rem);font-weight:560;letter-spacing:-.012em;line-height:1.45;animation:app-launch-copy-in .56s 90ms cubic-bezier(.16,1,.3,1) both}.app-launch-spinner{width:22px;height:22px;margin-top:26px;border:2px solid rgb(255 255 255 / 30%);border-top-color:#fff;border-radius:50%;animation:app-launch-spin .76s linear infinite}@keyframes app-launch-photo-breathe{0%{transform:scale(1.025)}to{transform:scale(1.065)}}@keyframes app-launch-copy-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes app-launch-spin{to{transform:rotate(360deg)}}@media(min-width:768px){.app-launch-photo img{object-position:50% 50%}.app-launch-center{padding-bottom:clamp(44px,8vh,88px)}}@media(min-width:1100px){.app-launch-screen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;padding-inline:clamp(48px,6vw,112px)}.app-launch-brand{grid-column:1 / -1}.app-launch-center{width:min(42vw,660px);align-self:center;justify-self:start;align-items:flex-start;padding-bottom:0;text-align:left;transform:translateY(clamp(24px,6vh,72px))}.app-launch-greeting{max-width:13ch;font-size:clamp(3rem,4.4vw,5rem);line-height:1.08}.app-launch-quote{max-width:34ch;margin-top:20px;font-size:clamp(1.05rem,1.35vw,1.35rem)}.app-launch-spinner{margin-top:34px}.app-launch-photo-shade{background:linear-gradient(90deg,rgb(14 9 6 / 58%) 0%,rgb(14 9 6 / 20%) 46%,transparent 72%),linear-gradient(180deg,rgb(17 12 8 / 28%) 0%,transparent 32%,rgb(15 8 5 / 35%) 100%)}.app-launch-screen[data-period=night] .app-launch-photo-shade{background:linear-gradient(90deg,rgb(2 6 12 / 58%) 0%,rgb(2 6 12 / 20%) 48%,transparent 74%),linear-gradient(180deg,rgb(2 6 12 / 25%) 0%,transparent 38%,rgb(2 6 12 / 42%) 100%)}}@media(prefers-reduced-motion:reduce){.app-launch-screen{transition-duration:.16s}.app-launch-photo,.app-launch-greeting,.app-launch-quote,.app-launch-spinner{animation:none}}.premium-auth-background{--auth-background-duration: 28s;--auth-line-motion: 36px;--auth-glow-opacity: .24;--auth-particle-opacity: .56;--auth-scrim-opacity: .62;position:absolute;z-index:0;inset:0;min-height:100dvh;overflow:hidden;background:#02040a;contain:layout paint style;pointer-events:none}.premium-auth-background__image{position:absolute;inset:-4%;width:108%;height:108%;max-width:none;object-fit:cover;object-position:50% 50%;opacity:.82;transform:translate3d(-8px,-6px,0) scale(1.04);transform-origin:50% 50%;will-change:transform,opacity;animation:auth-premium-background-drift var(--auth-background-duration) cubic-bezier(.45,0,.55,1) infinite alternate}.premium-auth-background__glow,.premium-auth-background__particles,.premium-auth-background__scrim{position:absolute;inset:0}.premium-auth-background__glow{inset:-8%;background:radial-gradient(circle at 88% 30%,rgb(112 166 237 / 24%),transparent 29%),radial-gradient(circle at 14% 82%,rgb(210 230 255 / 13%),transparent 27%);opacity:var(--auth-glow-opacity);transform:translate3d(0,8px,0) scale(1.02);will-change:transform,opacity;animation:auth-premium-glow 29s cubic-bezier(.45,0,.55,1) infinite alternate}.premium-auth-background__particles{top:48%;left:50%;width:3px;height:3px;border-radius:50%;background:#ddebff52;opacity:var(--auth-particle-opacity);will-change:transform,opacity}.premium-auth-background__particles--near{box-shadow:-42vw -31vh 0 1px #e2efff9e,-34vw 8vh #8fbefa7a,-29vw 24vh 0 2px #85b5f46b,-18vw -39vh 0 1px #f0f7ff85,-12vw -18vh #f0f7ff8f,14vw -34vh 0 2px #7dadee6b,24vw 22vh #eef6ff8a,32vw -8vh 0 1px #e4f0ff94,41vw 31vh 0 2px #70a1e466,7vw 37vh 0 1px #edf6ff85;animation:auth-premium-particles-near 20s cubic-bezier(.45,0,.55,1) infinite alternate}.premium-auth-background__particles--far{width:2px;height:2px;box-shadow:-45vw 5vh #e3f0ff40,-35vw -39vh #6fa1e42e,-20vw 39vh 0 1px #ebf6ff29,3vw -28vh #e0efff3b,24vw 34vh #70a3e830,45vw -23vh #e8f3ff36;animation:auth-premium-particles-far 32s cubic-bezier(.45,0,.55,1) infinite alternate}.premium-auth-background__particles--bokeh{width:8px;height:8px;background:#d6e8ff3d;box-shadow:-45vw -18vh 12px 4px #b1d1fb4d,-36vw 34vh 9px 2px #e1f0ff42,-18vw -38vh 14px 5px #74a9ef3d,20vw 38vh 10px 3px #ddeeff3d,37vw -30vh 13px 4px #8bbbfa47,46vw 18vh 8px 2px #e8f4ff3d;opacity:calc(var(--auth-particle-opacity) * .72);animation:auth-premium-particles-bokeh 24s cubic-bezier(.45,0,.55,1) infinite alternate}.premium-auth-background__scrim{background:radial-gradient(ellipse at 50% 54%,rgb(5 5 4 / calc(var(--auth-scrim-opacity) - .12)) 0%,rgb(5 5 4 / 35%) 30%,transparent 61%),radial-gradient(ellipse at center,transparent 42%,rgb(0 0 0 / 56%) 100%),linear-gradient(180deg,rgb(0 0 0 / 30%) 0%,transparent 25%,transparent 70%,rgb(0 0 0 / 36%) 100%)}@keyframes auth-premium-background-drift{0%{opacity:.78;transform:translate3d(-8px,-6px,0) scale(1.04)}55%{opacity:.86;transform:translate3d(8px,8px,0) scale(1.055)}to{opacity:.8;transform:translate3d(var(--auth-line-motion),-10px,0) scale(1.07)}}@keyframes auth-premium-glow{0%{opacity:calc(var(--auth-glow-opacity) * .72);transform:translate3d(-10px,8px,0) scale(1.02)}to{opacity:var(--auth-glow-opacity);transform:translate3d(12px,-8px,0) scale(1.045)}}@keyframes auth-premium-particles-near{0%{opacity:calc(var(--auth-particle-opacity) * .7);transform:translate3d(-18px,28px,0) scale(.94)}to{opacity:var(--auth-particle-opacity);transform:translate3d(26px,-38px,0) scale(1.08)}}@keyframes auth-premium-particles-far{0%{opacity:calc(var(--auth-particle-opacity) * .48);transform:translate3d(14px,-18px,0)}to{opacity:calc(var(--auth-particle-opacity) * .76);transform:translate3d(-22px,30px,0)}}@keyframes auth-premium-particles-bokeh{0%{opacity:calc(var(--auth-particle-opacity) * .42);transform:translate3d(24px,-20px,0) scale(.9)}to{opacity:calc(var(--auth-particle-opacity) * .76);transform:translate3d(-30px,36px,0) scale(1.12)}}@media(min-width:900px){.premium-auth-background__image{object-position:50% 48%}}@media(prefers-reduced-motion:reduce){.premium-auth-background__image,.premium-auth-background__glow,.premium-auth-background__particles{animation:none}.premium-auth-background__image{opacity:.82;transform:scale(1.04)}.premium-auth-background__glow{opacity:var(--auth-glow-opacity);transform:none}.premium-auth-background__particles{opacity:calc(var(--auth-particle-opacity) * .7);transform:none}}:root[data-theme=light]{color-scheme:light;--eatbalance-app-icon: url(/eatbalance-icon-v3-192.png)}:root[data-theme=dark]{color-scheme:dark;--eatbalance-app-icon: url(/eatbalance-icon-v3-dark-192.png);--color-background: #111111;--color-surface: #1b1b1b;--color-surface-raised: #242424;--color-surface-muted: #2b2b2b;--color-text: #f4f4f4;--color-muted: #a8a8a8;--color-primary: #323232;--color-primary-deep: #f4f4f4;--color-primary-action: #f4f4f4;--color-primary-action-hover: #ffffff;--color-on-primary: #111111;--color-sage: #b8b8b8;--color-sage-soft: #292929;--color-apricot: #2d2d2d;--color-border: #3d3d3d;--color-danger: #f4f4f4;--color-warning: #d2d2d2;--color-success: #f4f4f4;--color-success-soft: #292929;--color-warning-soft: #2d2d2d;--color-info: #d2d2d2;--color-info-soft: #292929;--color-danger-soft: #2d2d2d;--color-carbohydrate: #c6c6c6;--color-protein: #e2e2e2;--color-fat: #b0b0b0;--gradient-summary: var(--color-background);--shadow-soft: 0 16px 40px rgb(0 0 0 / 28%);--shadow-nav: 0 -10px 34px rgb(0 0 0 / 34%);--glass-surface: linear-gradient(145deg, rgb(255 255 255 / 10%) 0%, rgb(255 255 255 / 4%) 100%);--glass-reading-surface: linear-gradient(145deg, rgb(10 10 10 / 54%) 0%, rgb(20 20 20 / 42%) 100%);--glass-reading-surface-hover: linear-gradient(145deg, rgb(10 10 10 / 66%) 0%, rgb(20 20 20 / 52%) 100%);--glass-border: rgb(255 255 255 / 17%);--glass-inner-border: rgb(255 255 255 / 13%);--glass-inner-surface: rgb(255 255 255 / 7%);--glass-shadow: inset 0 1px 0 rgb(255 255 255 / 14%), 0 16px 36px rgb(0 0 0 / 20%);--glass-control-surface: linear-gradient(145deg, rgb(46 46 46 / 96%) 0%, rgb(34 34 34 / 94%) 100%);--glass-control-border: rgb(255 255 255 / 15%);--glass-control-border-focus: #d0d0d0;--glass-control-shadow: inset 0 1px 0 rgb(255 255 255 / 9%), 0 8px 22px rgb(0 0 0 / 18%);--glass-control-shadow-focus: inset 0 1px 0 rgb(255 255 255 / 14%), 0 0 0 1px rgb(255 255 255 / 16%), 0 10px 26px rgb(0 0 0 / 24%);--glass-primary-surface: linear-gradient(145deg, #363636 0%, #252525 100%);--glass-primary-shadow: inset 0 1px 0 rgb(255 255 255 / 12%), 0 10px 26px rgb(0 0 0 / 28%);--glass-sheet-surface: var(--color-background);--glass-sheet-dense-surface: var(--color-background);--glass-sheet-border: rgb(255 255 255 / 13%);--glass-sheet-shadow: inset 0 1px 0 rgb(255 255 255 / 10%), 0 26px 70px rgb(0 0 0 / 52%);--glass-button-surface: rgb(255 255 255 / 9%);--glass-button-surface-hover: rgb(255 255 255 / 14%);--glass-button-border: rgb(255 255 255 / 14%);--glass-button-shadow: inset 0 1px 0 rgb(255 255 255 / 10%), 0 10px 24px rgb(0 0 0 / 22%)}.eatbalance-app-icon{content:var(--eatbalance-app-icon, url(/eatbalance-icon-v3-192.png))}:root[data-theme=dark],:root[data-theme=dark] body,:root[data-theme=dark] #root{background:var(--color-background)}:root[data-theme=dark] body{color:var(--color-text)}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select{color-scheme:dark}:root[data-theme=dark] select option{color:var(--color-text);background:var(--color-surface-raised)}:root[data-theme=dark] .overlay-backdrop{background:#000000ad}:root[data-theme=dark] .app-frame.app-shell,:root[data-theme=dark] .app-shell .app-shell-content,:root[data-theme=dark] .app-shell .app-shell-content:has(>:is(.home-dashboard,.journal-page,.recipes-page,.fridge-page)),:root[data-theme=dark] .overlay-panel,:root[data-theme=dark] .overlay-panel.overlay-matte-sheet,:root[data-theme=dark] .overlay-panel.overlay-matte-sheet>:is(.overlay-header,.overlay-footer){background:var(--color-background)}:root[data-theme=dark] body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .app-mobile-header{border-bottom:1px solid var(--color-border);background:var(--color-background);box-shadow:none}:root[data-theme=dark] body:has(:is(.journal-page,.home-dashboard,.recipes-page,.fridge-page,.route-page-skeleton--warm)) .app-notification-slot{border-color:var(--color-border);background:var(--color-surface)}:root[data-theme=dark] .app-shell .app-primary-destinations{border-color:var(--color-border);background:color-mix(in srgb,var(--color-surface) 94%,transparent);box-shadow:inset 0 1px #ffffff12,0 14px 34px #0000004d}:root[data-theme=dark] .app-shell .app-primary-destinations>a,:root[data-theme=dark] .app-shell .app-desktop-profile-destination{color:var(--color-muted)}:root[data-theme=dark] .app-shell .app-primary-destinations>a.active{color:var(--color-muted);background:transparent}:root[data-theme=dark] .app-shell .app-primary-destinations>a.active>svg{color:var(--color-text);filter:none}:root[data-theme=dark] .app-shell .app-primary-action{color:var(--color-text);border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:inset 0 1px #ffffff14,0 14px 30px #00000057}@media(max-width:1023px){:root[data-theme=dark] .app-frame.app-shell.has-primary-navigation:after{background:#111111b8}}:root[data-theme=dark] .recipes-page .recipe-category{color:var(--color-muted);border-color:var(--color-border);background:var(--color-surface);box-shadow:none}:root[data-theme=dark] .recipes-page .recipe-category:hover{color:var(--color-text);background:var(--color-surface-raised)}:root[data-theme=dark] .recipes-page .recipe-category.selected{color:var(--color-text);border-color:#5a5a5a;background:var(--color-surface-raised);box-shadow:inset 0 1px #ffffff14}:root[data-theme=dark] :is(.journal-page,.journal-modal){--journal-accent: var(--color-text);--journal-accent-deep: var(--color-text);--journal-accent-soft: var(--color-surface-muted);--journal-hero: var(--color-surface-raised);--journal-hero-mid: var(--color-surface);--journal-hero-soft: var(--color-surface-muted);--journal-surface: var(--color-surface);--journal-muted-surface: var(--color-surface-muted);--journal-text: var(--color-text);--journal-muted: var(--color-muted);--journal-border: var(--color-border);--journal-danger: var(--color-danger);--journal-carbohydrate: var(--color-carbohydrate);--journal-protein: var(--color-protein);--journal-fat: var(--color-fat)}:root[data-theme=dark] .fridge-page{--fridge-danger: var(--color-muted);--fridge-danger-soft: var(--color-surface-muted);--fridge-warning: var(--color-muted);--fridge-warning-soft: var(--color-surface-muted)}:root[data-theme=dark] :is(.journal-recipe-results,.product-picker-results) :is(button,strong){color:var(--color-text)}:root[data-theme=dark] :is(.journal-recipe-results,.product-picker-results) :is(small,.product-picker-select>span:last-child){color:var(--color-muted)}:root[data-theme=dark] :is(.journal-recipe-results,.product-picker-results) li+li,:root[data-theme=dark] .product-picker-results li{border-color:var(--color-border)}:root[data-theme=dark] .product-picker-compact .product-picker-results{border-color:var(--color-border);background:var(--color-surface)}:root[data-theme=dark] .product-picker-compact .product-picker-add-button{border-color:var(--color-primary-action);color:var(--color-on-primary);background:var(--color-primary-action)}:root[data-theme=dark] .journal-recipe-results li>button>span:last-child{color:var(--color-text)}:root[data-theme=dark] .global-add-icon,:root[data-theme=dark] .global-add-choices>button,:root[data-theme=dark] .global-add-chevron{color:var(--color-text)}:root[data-theme=dark] .global-add-choices>button{border-color:var(--color-border);background:var(--color-background)}:root[data-theme=dark] .global-add-choices>button:hover{border-color:#5a5a5a;background:var(--color-surface)}:root[data-theme=dark] .global-add-choices>button.global-add-ai-action,:root[data-theme=dark] .global-add-choices>button.global-add-ai-action .global-add-icon,:root[data-theme=dark] .global-add-choices>button.global-add-ai-action .global-add-chevron{color:#fff}:root[data-theme=dark] :is(.overlay-panel.fridge-item-editor,.overlay-panel.scanner-sheet,.overlay-panel.food-camera-dialog,.overlay-panel.story-viewer){color:var(--color-text);border-color:var(--color-border);background:var(--color-background);box-shadow:var(--glass-sheet-shadow)}:root[data-theme=dark] .fridge-item-editor :is(.fridge-item-form label,.fridge-field-heading,.fridge-field-heading>label,input,select,textarea){color:var(--color-text)}:root[data-theme=dark] .fridge-item-editor :is(.fridge-field-optional,small,.field-hint){color:var(--color-muted)}:root[data-theme=dark] .fridge-item-editor :is(.glass-date-input>input,input,select,textarea){border-color:var(--color-border);background:var(--color-surface-raised)}:root[data-theme=dark] .admin-page :is(.admin-command-center,.admin-data-section,.admin-demo-section,.admin-users-section,.admin-moderation-section,.admin-story-card,.admin-story-cover,.admin-openai-group,.admin-openai-costs,.admin-command-total,.admin-demo-metric,.admin-moderation-table tbody tr){color:var(--color-text);border-color:var(--color-border);background:var(--color-surface)}:root[data-theme=dark] .admin-page :is(h1,h2,h3,strong,b,dd,label,button,input,select,textarea){color:var(--color-text)}:root[data-theme=dark] .admin-page :is(p,small,dt,time){color:var(--color-muted)}:root[data-theme=dark] .admin-page :is([class*=-status],[class*=-badge],[class*=-state],.admin-openai-total,.admin-user-avatar,.admin-story-add-slide){color:var(--color-text)!important;border-color:var(--color-border);background:var(--color-surface-muted)}:root[data-theme=dark] .admin-page :is(input,select,textarea,.admin-search-field){border-color:var(--color-border);background:var(--color-surface-raised)}:root[data-theme=dark] .admin-page :is(.admin-activity-track,.admin-demo-grid){border-color:var(--color-border);background:var(--color-surface-muted)}:root[data-theme=dark] .admin-page .admin-activity-track>span{background:var(--color-text)}:root[data-theme=dark] .admin-page :is(.admin-activity-panel,.admin-openai-group>div,.admin-outcome-list>div,.admin-stat-list>div,.admin-publication-list,.admin-publication-row,.admin-user-row,.admin-moderation-table td,.admin-moderation-table th){border-color:var(--color-border)}:root[data-theme=dark] :is(.profile-page,.profile-settings-sheet,.profile-dialog){--profile-accent: var(--color-text);--profile-accent-soft: var(--color-surface-muted);--color-primary: var(--color-text);--color-primary-deep: var(--color-text);--color-sage-soft: var(--color-surface-muted);--color-surface-muted: #2b2b2b;--color-border: #3d3d3d}:root[data-theme=dark] :is(.profile-settings-user-card,.profile-settings-list){box-shadow:0 12px 34px #0003}:root[data-theme=dark] :is(.product-editor-sheet.product-editor-page,.recipe-editor-sheet,.recipe-detail-sheet){--color-text: #f4f4f4;--color-muted: #a8a8a8;--color-border: #3d3d3d;--recipe-destructive: #ff5a52;color:var(--color-text)}:root[data-theme=dark] .recipe-detail-sheet :is(.nutrition-panel,.notes-panel,.source-panel,.publication-notice){color:var(--color-text);border-color:var(--color-border);background:var(--color-surface)}:root[data-theme=dark] .recipe-detail-sheet :is(.nutrition-panel h2,.nutrition-grid strong,.source-panel .source-author,.source-panel a,.publication-notice strong){color:var(--color-text)}:root[data-theme=dark] .recipe-detail-sheet :is(.nutrition-source-label,.nutrition-grid span,.nutrition-grid small,.source-panel>span,.publication-notice p){color:var(--color-muted)}:root[data-theme=dark] .recipe-detail-sheet .detail-hero-actions .detail-action-button{color:var(--color-text);border:1px solid rgb(255 255 255 / 14%);background:#1b1b1be0;box-shadow:0 8px 22px #00000042;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root[data-theme=dark] .recipe-detail-sheet .detail-hero-actions .detail-action-delete,:root[data-theme=dark] .recipe-detail-sheet .detail-hero-actions .detail-action-delete:disabled{color:var(--recipe-destructive)}:root[data-theme=dark] .recipe-detail-sheet .detail-hero-actions .detail-action-delete:disabled{opacity:.62}:root[data-theme=dark] .product-editor-sheet.product-editor-page :is(.field>span,.nutrition-editor .section-heading h2,.field-label-row>label,.field>input,.field>textarea,.barcode-input-row>input,.glass-select>select,.barcode-input-row .icon-button,.product-editor-actions .button),:root[data-theme=dark] .recipe-editor-sheet :is(.field>span,.section-heading h2,.section-heading,.glass-number-input>input,.glass-text-input>input,.glass-textarea>textarea,.glass-select>select,.dynamic-item input,.dynamic-item textarea,.dynamic-item select,.photo-drop,.photo-preview){color:var(--color-text)}:root[data-theme=dark] .product-editor-sheet.product-editor-page :is(.glass-select>svg,.field>small:not(.field-error),.lookup-status),:root[data-theme=dark] .recipe-editor-sheet :is(.field>small:not(.field-error),.field-hint,.product-calculation-hint,.section-heading>span,.glass-number-input__clear,.glass-text-input__clear,.glass-textarea__clear,.glass-number-input__unit,.glass-select>svg){color:var(--color-muted)}:root[data-theme=dark] .recipe-editor-sheet :is(.glass-number-input,.glass-text-input,.glass-textarea,.glass-select,.dynamic-item input,.dynamic-item textarea,.dynamic-item select,.photo-drop,.photo-preview){border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:0 8px 24px #0003}:root[data-theme=dark] .recipe-editor-sheet :is(.glass-select>select option,.dynamic-item select option),:root[data-theme=dark] .product-editor-page .glass-select>select option{color:var(--color-text);background:var(--color-surface-raised)}:root[data-theme=dark] :is(.recipe-card,.product-card,.catalog-card,.profile-panel,.profile-community-panel,.profile-subscription-card,.web-push-panel,.inline-state){border-color:var(--color-border)}:root[data-theme=dark] .recipe-image-placeholder{color:var(--color-muted);background:var(--color-surface-muted)}:root[data-theme=dark] .profile-settings-sheet .profile-results{color:var(--color-text);border-color:var(--color-border);background:var(--color-surface)}:root[data-theme=dark] .profile-settings-sheet .profile-results :is(.profile-calorie-card,.profile-macro-grid>article,.profile-target-field,.profile-weight-plan,.profile-recommendation,.profile-results-empty){color:var(--color-text);border-color:var(--color-border);background:var(--color-surface-raised)}:root[data-theme=dark] .profile-settings-sheet .profile-results :is(h2,strong,input,.profile-metric-icon){color:var(--color-text)}:root[data-theme=dark] .profile-settings-sheet .profile-results :is(p,small,.profile-calorie-card>div>span,.profile-target-field>span:first-child,.profile-target-field .profile-input-with-unit>span,.profile-macro-grid article>div>span,.profile-macro-grid article>small){color:var(--color-muted)}:root[data-theme=dark] .profile-settings-sheet .profile-results .profile-metric-icon{background:var(--color-surface-muted)}:root[data-theme=dark] .notification-panel,:root[data-theme=dark] .notification-panel>.overlay-header,:root[data-theme=dark] .notification-panel-content{color:var(--color-text);border-color:var(--color-border);background:var(--color-background)}:root[data-theme=dark] .notification-panel :is(.notification-item,.notification-state){color:var(--color-text);border-color:var(--color-border);background:transparent}:root[data-theme=dark] .notification-panel .notification-item:hover{background:var(--color-surface)}:root[data-theme=dark] .notification-panel :is(.notification-item p,.notification-item-meta,.notification-state,.notification-state p){color:var(--color-muted)}:root[data-theme=dark] .notification-panel :is(.notification-item strong,.notification-state strong,.notification-panel>.overlay-header h2,.notification-panel>.overlay-header .overlay-close){color:var(--color-text)}:root[data-theme=dark] .notification-panel :is(.notification-clear-button,.notification-clear-button:hover){color:var(--color-text)}:root[data-theme=dark] .notification-unread-dot{border-color:var(--color-background);background:var(--color-text)}:root[data-theme=dark] .recipe-editor-sheet :is(.dynamic-item,.publication-editor-option,.ingredient-product-link button,.linked-product-badge){color:var(--color-text);border-color:var(--color-border);background:var(--color-surface)}:root[data-theme=dark] .recipe-editor-sheet :is(.step-number,.recipe-inline-icon-action,.step-drag-handle,.reorder-actions button,.add-row-button,.publication-editor-option strong){color:var(--color-text)}:root[data-theme=dark] .recipe-editor-sheet :is(.recipe-inline-icon-action:hover:not(:disabled),.step-drag-handle:hover:not(:disabled),.reorder-actions button:hover:not(:disabled),.add-row-button:hover:not(:disabled)){color:var(--color-text);background:var(--color-surface-muted)}:root[data-theme=dark] .recipe-editor-sheet :is(.publication-editor-option small,.section-count,.linked-product-badge){color:var(--color-muted)}:root[data-theme=dark] .photo-analysis-sheet .photo-calculated-nutrition{color:var(--color-text);border-color:var(--color-border);background:var(--color-surface-raised)}:root[data-theme=dark] .photo-analysis-sheet .photo-calculated-nutrition :is(h2,strong){color:var(--color-text)}:root[data-theme=dark] .photo-analysis-sheet .photo-calculated-nutrition .photo-nutrition-totals span{color:var(--color-muted)}:root[data-theme=dark] .profile-settings-sheet .profile-recalculate-button{color:var(--color-text);border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:none}:root[data-theme=dark] .profile-settings-sheet .profile-save-button{color:var(--color-on-primary);border-color:var(--color-primary-action);background:var(--color-primary-action);box-shadow:none}:root[data-theme=dark] .profile-settings-sheet .profile-actions button:disabled{color:var(--color-muted);border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:none;opacity:1}:root[data-theme=dark] .recipe-editor-sheet .form-primary-action{color:var(--color-text);border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:none}:root[data-theme=dark] .recipe-editor-sheet .form-primary-action:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text);background:var(--color-surface-muted)}:root[data-theme=dark] .recipe-editor-sheet .form-primary-action:disabled{color:var(--color-muted);border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:none;opacity:1}:root[data-theme=dark] .web-push-panel{color:var(--color-text);border-color:var(--color-border);background:var(--color-surface)}:root[data-theme=dark] .web-push-panel :is(.web-push-heading h2,strong){color:var(--color-text)}:root[data-theme=dark] .web-push-panel :is(.web-push-heading p,.web-push-switch-row small,.web-push-device-row>span){color:var(--color-muted)}:root[data-theme=dark] .web-push-panel .web-push-heading>span{color:var(--color-text);background:var(--color-surface-muted)}:root[data-theme=dark] .web-push-panel .web-push-switch-row{border-color:var(--color-border)}:root[data-theme=dark] .admin-page .button-primary,:root[data-theme=dark] .admin-page :is(.admin-story-create,.admin-story-actions,.admin-story-cover-actions) button:not(.is-danger){color:var(--color-on-primary);border-color:var(--color-primary-action);background:var(--color-primary-action);box-shadow:none}:root[data-theme=dark] .admin-page :is(button.is-danger,.button-danger){color:var(--color-text);border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:none}:root[data-theme=dark] .admin-page :is(.admin-story-create,.admin-story-actions,.admin-story-cover-actions) button:disabled{color:var(--color-muted);border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:none;opacity:1}@media(prefers-reduced-motion:reduce){:root[data-theme=dark] *,:root[data-theme=light] *{transition-duration:.01ms!important}}
