:root{--bg:#f7f8f5;--surface:#fff;--surface-alt:#eef2ed;--ink:#1c231f;--ink-soft:#4a544d;--ink-faint:#5f6b61;--graphic-soft:#6c7a70;--graphic-faint:#808f83;--decor-faint:#9aa69c;--line:#e2e6df;--a:#2f6f5e;--a-tint:#e3eeea;--a-soft:#9ccbb9;--b:#c98a3e;--b-tint:#f7ebd9;--on-a:#fff;--on-b:#1c231f;--clay:#b85c4a;--clay-tint:#f5e4e0;--page-glow-1:#eff3ed;--page-glow-2:#eff0ea;--emphasis-bg:#1f4a3e;--emphasis-text:#fff;--on-emphasis-soft:#ffffffb8;--b-ink:#8f5310;--clay-ink:#a35040;--m-protein-ink:#316ba2;--m-carbs-ink:#84621b;--m-fat-ink:#b34430;--on-clay-ink:#fff;--control-line:#808f83;--selected-line:var(--a);--selected-fill:#1f4a3e;--on-selected-fill:#fff;--star:#b87700;--m-protein:#3b82c4;--m-carbs:#cf9a2a;--m-fat:#cf5f4b;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--shadow:0 10px 30px #1c231f14;--scrim:#18211c73;--font-display:var(--font-sora), sans-serif;--font-body:var(--font-inter), sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171c17;--surface:#20261f;--surface-alt:#262d24;--ink:#edefe9;--ink-soft:#9ba79b;--ink-faint:#929b91;--graphic-soft:#9ba79b;--graphic-faint:#929b91;--decor-faint:#929b91;--line:#2e362c;--a:#4fa98f;--a-tint:#1e362e;--a-soft:#3d8770;--b:#e3a15d;--b-tint:#3a2c18;--on-a:#1c231f;--on-b:#1c231f;--clay:#d97d68;--clay-tint:#3a231e;--page-glow-1:#1d231c;--page-glow-2:#1b211a;--m-protein:#6fb3ff;--m-carbs:#f2c14e;--m-fat:#e2735f;--b-ink:#e3a15d;--clay-ink:#da816c;--m-protein-ink:#6fb3ff;--m-carbs-ink:#f2c14e;--m-fat-ink:#e47b68;--on-clay-ink:#1c231f;--control-line:#6e786d;--selected-fill:#4fa98f;--on-selected-fill:#1c231f;--star:#f5a623;--danger:#da816c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171c17;--surface:#20261f;--surface-alt:#262d24;--ink:#edefe9;--ink-soft:#9ba79b;--ink-faint:#929b91;--graphic-soft:#9ba79b;--graphic-faint:#929b91;--decor-faint:#929b91;--line:#2e362c;--a:#4fa98f;--a-tint:#1e362e;--a-soft:#3d8770;--b:#e3a15d;--b-tint:#3a2c18;--on-a:#1c231f;--on-b:#1c231f;--clay:#d97d68;--clay-tint:#3a231e;--page-glow-1:#1d231c;--page-glow-2:#1b211a;--m-protein:#6fb3ff;--m-carbs:#f2c14e;--m-fat:#e2735f;--b-ink:#e3a15d;--clay-ink:#da816c;--m-protein-ink:#6fb3ff;--m-carbs-ink:#f2c14e;--m-fat-ink:#e47b68;--on-clay-ink:#1c231f;--control-line:#6e786d;--selected-fill:#4fa98f;--on-selected-fill:#1c231f;--star:#f5a623;--danger:#da816c}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{background-color:var(--bg);transition:background-color .2s}body{font-family:var(--font-body);color:var(--ink);min-height:100dvh;transition:color .2s}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 20% 10%, var(--page-glow-1) 0%, transparent 45%), radial-gradient(circle at 85% 90%, var(--page-glow-2) 0%, transparent 40%);height:100lvh;position:fixed;top:0;left:0;right:0}a{color:inherit}button,input,select{color:inherit;font-family:inherit}.app-shell{flex-direction:column;max-width:460px;min-height:100dvh;margin:0 auto;padding-bottom:90px;display:flex;position:relative}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{justify-content:space-between;align-items:center;padding:28px 22px 8px;display:flex}.brand{align-items:center;gap:8px;display:flex}.brand .mark{flex-shrink:0;width:18px;height:18px;display:block}.brand span{font-family:var(--font-display);letter-spacing:.02em;font-size:14px;font-weight:600}.date{color:var(--ink-faint);font-size:12px;font-weight:500}.topbar-actions{align-items:center;gap:14px;display:flex}.icon-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.menu-list{flex-direction:column;gap:10px;padding:8px 22px;display:flex}.menu-row{background:var(--surface);border-radius:var(--radius-md);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:16px;text-decoration:none;display:flex;box-shadow:0 2px 10px #1c231f0d}.menu-title{font-family:var(--font-display);font-size:15px;font-weight:600}.menu-sub{color:var(--ink-faint);margin-top:2px;font-size:12px;font-style:normal}.menu-row .chev{color:var(--decor-faint);flex-shrink:0}.settings-logout{border-top:1px solid var(--line);margin:24px 22px 16px;padding-top:16px}.settings-guest-actions{gap:10px;display:flex}.settings-guest-actions>a,.settings-guest-actions>button{text-align:center;box-sizing:border-box;flex:1;justify-content:center;align-items:center;width:auto;margin:0;padding:14px;text-decoration:none;display:flex}.settings-shell,.settings-columns,.settings-pane,.settings-menu{flex-direction:column;min-width:0;display:flex}.settings-shell{flex:1}.settings-head,.settings-menu-group,.menu-icon,.settings-logout-icon,.settings-index-pane,.settings-shell:not(.at-index) .settings-menu{display:none}.menu-text{min-width:0}.settings-screen-anim{animation:.22s settingsSlideIn}@keyframes settingsSlideIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.settings-screen-exit{animation:.18s forwards settingsSlideOut}@keyframes settingsSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(14px)}}@media (prefers-reduced-motion:reduce){.settings-screen-anim,.settings-screen-exit{animation:none}}.backrow{align-items:center;gap:12px;padding:28px 22px 4px;display:flex}.backbtn{background:var(--surface);cursor:pointer;width:44px;height:44px;color:var(--ink);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;text-decoration:none;display:flex;box-shadow:0 2px 8px #1c231f14}.screen-title{font-family:var(--font-display);font-size:19px;font-weight:600}.screen-sub{color:var(--ink-soft);margin-top:2px;font-size:12px;font-style:normal}h1.hero{font-family:var(--font-display);letter-spacing:-.01em;padding:6px 22px 18px;font-size:30px;font-weight:700}.dash-columns,.dash-main,.dash-side{flex-direction:column;min-width:0;display:flex}.rings{gap:12px;padding:4px 22px 10px;transition:all .2s;display:flex}.rings.solo{justify-content:center}.ring-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center;flex:1;padding:16px;transition:all .2s}.rings.solo .ring-card{max-width:200px}.ring-wrap{width:92px;height:92px;margin:0 auto 10px;position:relative}.donut{border-radius:50%;width:100%;height:100%}.donut-hole{background:var(--surface);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:9px}.donut-hole b{font-family:var(--font-display);font-size:16px;line-height:1}.donut-hole small{color:var(--ink-faint);margin-top:2px;font-size:9px}.ring-name{font-size:13px;font-weight:600}.ring-goal{color:var(--ink-soft);margin-top:1px;font-size:11px}.ring-card.sealed{border:1px dashed var(--line);box-shadow:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.ring-sealed-hint{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.4}.meal-list{flex-direction:column;gap:10px;padding:0 22px;display:flex}.meal-backfill{color:var(--a);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:5px;margin:0 0 2px 4px;padding:2px 4px;font-size:11.5px;font-weight:600;display:inline-flex}.meal-backfill:disabled{opacity:.6;cursor:default}.meal-confirm-eaten{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;display:flex}.meal-confirm-eaten-button{border:1px solid var(--a);color:var(--a);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:5px;padding:6px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.meal-confirm-eaten-button:disabled{opacity:.6;cursor:default}.meal-confirm-eaten-hint{color:var(--ink-faint);font-size:11.5px}.meal-unconfirm-eaten-button{border-color:var(--line);color:var(--ink-soft)}.meal-unconfirm-eaten-button:hover:not(:disabled){border-color:var(--a);color:var(--a)}.empty{text-align:center;background:var(--surface-alt);border-radius:var(--radius-lg);color:var(--ink-soft);margin:6px 22px;padding:28px 18px;font-size:13px;line-height:1.5}.load-error{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink-faint);flex-direction:column;align-items:center;gap:8px;margin:6px 22px;padding:22px 18px;display:flex}.load-error-title{color:var(--ink);margin:0;font-size:15px;font-weight:700}.load-error-body{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.load-error-retry{background:var(--emphasis-bg);color:var(--emphasis-text);font-family:var(--font-body);cursor:pointer;border:none;border-radius:16px;margin-top:6px;padding:12px 22px;font-size:14px;font-weight:700}.load-error-retry:active{transform:scale(.98)}.center-loading .load-error{max-width:420px}.day-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px;padding:6px 22px 14px;display:flex}.day-head-title{min-width:0}.day-head-date{color:var(--ink-faint);font-size:12.5px;font-weight:500}.day-head h1.hero{padding:2px 0 0}.day-modes{padding:0}.day-modes .chip{background:var(--surface);border-radius:999px;padding:8px 15px;font-size:12.5px}.day-modes .chip.on{background:var(--a-tint)}.date-strip-wrap{align-items:stretch;gap:clamp(4px,5.71429vw - 14.2857px,8px);padding:0 22px 8px;display:flex;position:relative}.date-strip{flex:1;gap:clamp(3px,4.28571vw - 10.7143px,6px);min-width:0;padding:4px 0;display:flex}.date-chip{background:var(--surface);min-width:0;color:var(--ink-soft);cursor:pointer;border:1px solid #0000;border-radius:14px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:9px clamp(1px,1.42857vw - 3.57143px,2px);display:flex;overflow:hidden;box-shadow:0 1px 4px #1c231f0d}.dc-dow{text-transform:uppercase;white-space:nowrap;font-size:9.5px}.dc-dow-probe{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}.date-chip .dc-day{font-family:var(--font-display);font-size:clamp(14px,2.85714vw + 4.85714px,16px);font-weight:600}.date-chip.today{border-color:var(--a)}.date-chip.sel{background:var(--selected-fill);color:var(--on-selected-fill);border-color:var(--selected-fill)}.date-page-btn,.date-cal-btn{border:1px solid var(--line);background:var(--surface);color:var(--graphic-soft);cursor:pointer;border-radius:14px;flex:none;justify-content:center;align-items:center;margin:4px 0;display:flex}.date-page-btn{border-color:#0000;width:clamp(24px,8.57143vw - 3.42857px,30px);box-shadow:0 1px 4px #1c231f0d}.date-cal-btn{width:clamp(32px,11.4286vw - 4.57143px,40px);color:var(--ink)}.date-page-btn:disabled{opacity:.35;cursor:default}.date-hidden-input{opacity:0;pointer-events:none;width:38px;height:38px;position:absolute;bottom:8px;right:22px}.slot-section{margin-bottom:4px}.slot-head{justify-content:space-between;align-items:center;padding:16px 22px 8px;display:flex}.slot-head-left{align-items:baseline;gap:8px;display:flex}.slot-head-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.slot-head h3{font-family:var(--font-display);font-size:14px;font-weight:600}.slot-kcal{color:var(--ink-soft);font-size:14px;font-weight:600}.slot-kcal-mine:before{content:"·";color:var(--ink-faint);margin-right:6px;font-weight:400}.slot-macros{flex-wrap:wrap;gap:10px;margin:0 22px 8px;padding-left:26px;display:flex}.slot-macros span{color:var(--ink-soft);align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:flex}.dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.slot-macros .dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.slot-add-btn{background:var(--emphasis-bg);width:26px;height:26px;color:var(--emphasis-text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;text-decoration:none;display:flex}.slot-empty{border-radius:var(--radius-md);background:var(--surface-alt);color:var(--ink-faint);margin:0 22px;padding:12px 16px;font-size:12px}.slot-collapse-btn{cursor:pointer;color:var(--graphic-soft);background:0 0;border:none;flex-shrink:0;align-items:center;margin:0;padding:0 6px 0 0;display:flex}.slot-collapse-btn .chev{transition:transform .15s}.slot-collapse-btn.collapsed .chev{transform:rotate(-90deg)}.slot-summary{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin:0 22px 8px;font-size:12px;overflow:hidden}.navbar{background:var(--surface);border-top:1px solid var(--line);z-index:10;justify-content:space-around;align-items:center;width:100%;max-width:460px;height:76px;padding-bottom:14px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.navitem{color:var(--graphic-faint);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:44px;font-size:10px;font-weight:600;text-decoration:none;display:flex}.navitem.active{color:var(--a)}.navdot{background:0 0;border-radius:50%;width:6px;height:6px}.navitem.active .navdot{background:var(--a)}.sidebar-only{display:none}.nav-items{flex:1;justify-content:space-around;align-items:center;display:flex}.navbar.sidebar-only-nav{display:none}.segmented{background:var(--surface-alt);border-radius:14px;gap:4px;margin:10px 22px 4px;padding:4px;display:flex}.segmented button{font-family:var(--font-body);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:11px;flex:1;padding:10px 0;font-size:13px;font-weight:600;transition:all .15s}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--selected-line), 0 2px 8px #1c231f14}.hint{color:var(--ink-soft);padding:10px 22px 4px;font-size:12px;line-height:1.5}.field{flex-direction:column;gap:6px;padding:8px 22px;display:flex}.field label{color:var(--ink-soft);font-size:12px;font-weight:600}.field input,.field select{border:1px solid var(--control-line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);min-height:44px;padding:12px 14px;font-size:14px}.field input:focus,.field select:focus{outline:2px solid var(--a);outline-offset:1px}.field-input{border:1px solid var(--control-line);border-radius:var(--radius-sm);width:100%;min-height:44px;font-family:var(--font-body);background:var(--surface);color:var(--ink);padding:10px 14px;font-size:14px}.field-input:focus{outline:2px solid var(--a);outline-offset:1px}.field textarea{border:1px solid var(--control-line);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--surface);color:var(--ink);resize:vertical;padding:12px 14px;font-size:14px;line-height:1.5}.field textarea:focus{outline:2px solid var(--a);outline-offset:1px}.field-error{color:var(--clay-ink);font-size:12px;line-height:1.4}body :is(input,textarea,select)[aria-invalid=true]{border-color:var(--clay-ink);box-shadow:inset 0 0 0 1px var(--clay-ink)}body .product-search-box:has(input[aria-invalid=true]){border-color:var(--clay-ink);box-shadow:inset 0 0 0 1px var(--clay-ink)}body .segmented.is-invalid{box-shadow:inset 0 0 0 1.5px var(--clay-ink)}.required-summary{color:var(--clay-ink);font-size:12.5px;font-weight:600;line-height:1.45}.required-summary p{margin:8px 0 0}.muted{color:var(--ink-soft);font-size:12px;line-height:1.5}.notice{background:var(--surface-alt);color:var(--ink-soft);border-radius:12px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.45}.notice-warn{background:var(--b-tint);color:var(--b-ink)}.ing-list{flex-direction:column;gap:8px;padding:8px 22px;display:flex}.ing-row{background:var(--surface);border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 2px 10px #1c231f0d}.copy-row{width:calc(100% - 44px);font:inherit;color:inherit;text-align:left;cursor:pointer;border:0}.copy-row:hover{background:var(--surface-alt)}.copy-row:active{transform:scale(.995)}.copy-row-icon{color:var(--decor-faint);flex-shrink:0}.copy-row-icon.is-copied{color:var(--a)}.copy-row .r{transition:color .15s}.copy-row .r.is-copied{color:var(--a)}.ing-info{flex:1;min-width:0}.ing-info .n{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.ing-info .r{color:var(--ink-faint);margin-top:1px;font-size:10.5px}.qty-box{flex-shrink:0;align-items:center;gap:6px;display:flex}.qty-box input{text-align:center;border:1px solid var(--control-line);width:56px;font-family:var(--font-body);color:var(--ink);background:var(--surface);border-radius:8px;padding:6px 2px;font-size:13px;font-weight:600}.qty-box span{color:var(--ink-faint);font-size:11px}.remove-btn{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:16px;line-height:1}.primary-btn{background:var(--emphasis-bg);color:var(--emphasis-text);font-family:var(--font-body);cursor:pointer;border:none;border-radius:16px;width:calc(100% - 44px);margin:16px 22px;padding:16px;font-size:14px;font-weight:700}.primary-btn:active{transform:scale(.98)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:var(--font-body);cursor:pointer;border-radius:16px;width:calc(100% - 44px);margin:0 22px 16px;padding:14px;font-size:14px;font-weight:600}.danger-btn{border:1px solid var(--clay);background:var(--clay-tint);color:var(--clay-ink);font-family:var(--font-body);cursor:pointer;border-radius:16px;width:calc(100% - 44px);margin:0 22px 16px;padding:14px;font-size:14px;font-weight:700}.danger-btn:active{transform:scale(.98)}.danger-btn:disabled{opacity:.5;cursor:not-allowed}.badge{border-radius:20px;margin-top:8px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.badge.ok{background:var(--a-tint);color:var(--a)}.badge.warn{background:var(--b-tint);color:var(--b-ink)}.badge.base{background:var(--surface-alt);color:var(--ink-soft)}.slot-manager{flex-direction:column;gap:8px;margin:0 22px;display:flex}.slot-manager-item{flex-direction:column;gap:4px;display:flex}.slot-manager-row{background:var(--surface);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;display:flex;box-shadow:0 2px 10px #1c231f0d}.slot-manager-order{flex-shrink:0;gap:4px;display:flex}.slot-manager-label{min-width:0;min-height:44px;font-family:var(--font-body);color:var(--ink);text-align:left;cursor:text;background:0 0;border:none;flex:calc(100% - 104px);padding:4px 0;font-size:13px;font-weight:600}.slot-manager-row input[type=text],.slot-add-row input{border:1px solid var(--control-line);border-radius:var(--radius-sm);min-width:0;font-size:13px;font-family:var(--font-body);background:var(--bg);color:var(--ink);flex:1;min-height:44px;padding:6px 10px}.slot-manager-row>input[type=text]{flex:calc(100% - 104px)}.slot-manager-row .slot-remove-btn{flex-shrink:0;margin-left:auto}.slot-add-row{align-items:stretch;gap:8px;margin-top:2px;display:flex}.slot-add-row input,.slot-add-row .secondary-btn{min-height:44px}.slot-add-row .secondary-btn{border-radius:var(--radius-sm);flex-shrink:0;width:auto;margin:0;padding:0 16px}.slot-time{flex-shrink:0;align-items:center;display:flex}.slot-time input{text-align:center;border:1px solid var(--control-line);width:58px;font-size:13px;font-family:var(--font-body);background:var(--bg);color:var(--ink);border-radius:8px;min-height:44px;padding:6px 4px}.slot-pct{flex-shrink:0;align-items:center;gap:3px;display:flex}.slot-pct input{text-align:center;border:1px solid var(--control-line);width:46px;font-size:13px;font-family:var(--font-body);background:var(--bg);color:var(--ink);border-radius:8px;padding:6px 4px}.slot-pct span{color:var(--ink-faint);font-size:12px}.settings-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:18px 22px 6px;font-size:11px;font-weight:700}.settings-logout-btn{width:100%;margin:0}.auth-brand{align-items:center;gap:10px;margin-bottom:28px;display:flex}.auth-brand .mark{flex-shrink:0;width:26px;height:26px;display:block}.auth-brand span{font-family:var(--font-display);font-size:20px;font-weight:700}.auth-title{font-family:var(--font-display);margin-bottom:4px;font-size:22px;font-weight:700}.auth-sub{color:var(--ink-soft);margin-bottom:20px;font-size:13px}.auth-error{background:var(--clay-tint);color:var(--clay-ink);border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:12px;font-weight:600}.age-requirement-notice{align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;display:flex}.age-requirement-notice p{margin:0 0 4px}.age-requirement-notice a{color:inherit;text-underline-offset:2px;text-decoration:underline}.age-requirement-icon{flex:none;margin-top:2px}.auth-note{background:var(--a-tint);color:var(--a);border-radius:var(--radius-sm);padding:10px 14px;font-size:12.5px;font-weight:600;line-height:1.5}.storage-notice{background:var(--b-tint);border-left:3px solid var(--b);color:var(--ink);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 12px 10px 14px;font-size:13px;line-height:1.5;display:flex}.storage-notice-text{flex:1;min-width:0;margin:0}.storage-notice-close{width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-6px -6px -6px 0;display:flex}.app-main>.storage-notice{margin:12px 22px 4px}.entry-eyebrow{font-family:var(--font-display);letter-spacing:.08em;color:var(--ink-soft);margin:0;font-size:13px;font-weight:700}.center-loading{min-height:100dvh;color:var(--ink-faint);justify-content:center;align-items:center;font-size:13px;display:flex}.flash-banner{z-index:100;background:var(--a-tint);width:calc(100% - 44px);max-width:416px;color:var(--a);border:1px solid var(--a);border-radius:var(--radius-sm);box-shadow:var(--shadow);align-items:center;gap:10px;padding:11px 12px 11px 14px;font-size:12.5px;font-weight:600;line-height:1.4;animation:.22s flashSlideIn;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}@keyframes flashSlideIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.flash-banner-icon{flex-shrink:0;font-weight:700}.flash-banner-text{flex:1}.flash-banner-close{color:var(--a);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.flash-banner-close:hover{opacity:1}@media (prefers-reduced-motion:reduce){.flash-banner{animation:none}}.toast{z-index:200;max-width:min(100% - 44px,416px);font-family:var(--font-body);text-align:center;box-shadow:var(--shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12.5px;font-weight:600;line-height:1.4;animation:.18s toastRise;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}.toast-success{background:var(--a);color:var(--on-a)}.toast-error{background:var(--clay-ink);color:var(--on-clay-ink)}@keyframes toastRise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.icon-btn{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--graphic-soft);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--ink);border-color:var(--decor-faint)}.icon-btn.danger:hover{color:var(--clay);border-color:var(--clay)}.icon-btn:disabled{opacity:.4;cursor:default}.reasons-toggle{text-align:left;color:var(--clay-ink);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:11.5px;font-weight:600;line-height:1.35;display:inline-block}.reasons-list{background:var(--clay-tint);border-radius:10px;margin-top:6px;padding:8px 10px}.reason-item{color:var(--clay-ink);font-size:12px;line-height:1.5}.badge.clay{background:var(--clay-tint);color:var(--clay-ink)}.macro-warn{background:var(--b-tint);color:var(--b-ink);border-radius:12px;margin:8px 0 0;padding:10px 12px;font-size:12px;line-height:1.45}.macro-warn.error{background:var(--clay-tint);color:var(--clay-ink)}.macro-warn ul{margin:4px 0 0;padding-left:16px}.macro-hint{color:var(--ink-faint);margin-top:4px;font-size:11.5px}.picker-add-btn,.picker-plus{color:var(--a);font-size:20px;line-height:1}.dup-row-chevron{color:var(--a);font-size:18px;line-height:1}.picker-add-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0}.report-btn{color:var(--clay-ink);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px;font-weight:600}.share-toggle{cursor:pointer;align-items:flex-start;gap:12px;padding:14px 0 4px;display:flex}.share-toggle input{width:18px;height:18px;accent-color:var(--a);flex:none;margin-top:2px}.share-toggle .share-copy .t{font-size:13px;font-weight:600}.share-toggle .share-copy .d{color:var(--ink-soft);margin-top:2px;font-size:11.5px;line-height:1.4}.dialog-card.dialog-simple{padding:20px 20px calc(20px + env(safe-area-inset-bottom));display:block;overflow-y:auto}.dialog-card.dialog-simple.is-alert{padding:20px}.dialog-simple h3{margin:0 0 4px;font-size:16px}.dialog-simple p{color:var(--ink-soft);white-space:pre-line;margin:0 0 12px;font-size:12.5px}.dialog-simple textarea{resize:vertical;width:100%;min-height:84px}.modal-actions{gap:10px;margin-top:14px;display:flex}.modal-actions button{flex:1}.myprod-screen{flex-direction:column;min-width:0;display:flex}.myprod-head{display:contents}.myprod-actions{flex-direction:column;order:9;gap:10px;margin-top:16px;display:flex}.myprod-actions .secondary-btn,.myprod-actions .primary-btn{justify-content:center;align-items:center;gap:8px;width:calc(100% - 44px);margin:0 22px;display:inline-flex}.myprod-error{margin:0 22px 8px}.myprod-card{flex-direction:column;gap:12px;margin:4px 22px;display:flex}.myprod-tools{flex-direction:column;gap:10px;display:flex}.myprod-search{box-sizing:border-box;border:1px solid var(--control-line);background:var(--surface);height:42px;color:var(--ink-soft);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.myprod-search:focus-within{outline:2px solid var(--a);outline-offset:1px}.myprod-search input{min-width:0;font-family:var(--font-body);color:var(--ink);background:0 0;border:none;outline:none;flex-grow:1;font-size:14px}.myprod-filters{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.myprod-filters::-webkit-scrollbar{display:none}.myprod-filter{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font-family:var(--font-body);cursor:pointer;border-radius:99px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.myprod-filter .n{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-weight:500}.myprod-filter.on{background:var(--a-tint);border-color:var(--a);color:var(--a)}.myprod-filter.on .n{color:var(--a)}.myprod-empty{margin:0}.myprod-table{flex-direction:column;display:flex}.myprod-thead{display:none}.myprod-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"product product""macros macros""community actions";align-items:center;gap:10px 12px;padding:12px 0;display:grid}.myprod-row+.myprod-row{border-top:1px solid var(--line)}.myprod-product{grid-area:product;align-items:center;gap:12px;min-width:0;display:flex}.myprod-icon{background:var(--a-tint);width:40px;height:40px;color:var(--a);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.myprod-names{flex-direction:column;gap:3px;min-width:0;display:flex}.myprod-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.myprod-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.myprod-brand{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.myprod-status{border-radius:99px;flex-shrink:0;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.myprod-status.public{background:var(--a-tint);color:var(--a)}.myprod-status.pending{background:var(--b-tint);color:var(--b-ink)}.myprod-status.private{background:var(--surface-alt);color:var(--ink-soft)}.myprod-macros{flex-wrap:wrap;grid-area:macros;gap:14px;display:flex}.myprod-stat{flex-direction:column;gap:1px;min-width:52px;display:flex}.myprod-stat .v{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.myprod-stat .k{color:var(--ink-soft);align-items:center;gap:4px;font-size:11px;display:inline-flex}.myprod-community{flex-direction:column;grid-area:community;gap:4px;min-width:0;display:flex}.myprod-usage{color:var(--ink-faint);font-size:11px}.myprod-switch{cursor:pointer;color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.myprod-switch input{opacity:0;width:1px;height:1px;position:absolute}.myprod-track{background:var(--graphic-faint);border-radius:99px;flex-shrink:0;width:38px;height:22px;transition:background .15s;position:relative}.myprod-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.myprod-switch input:checked+.myprod-track{background:var(--a)}.myprod-switch input:checked+.myprod-track:after{transform:translate(16px)}.myprod-switch input:focus-visible+.myprod-track{outline:2px solid var(--a);outline-offset:2px}.myprod-switch.off{cursor:default;opacity:.55}.myprod-rowactions{grid-area:actions;justify-content:flex-end;gap:4px;display:flex}.myprod-note{background:var(--a-tint);color:var(--ink-soft);border-radius:14px;margin:12px 22px 0;padding:12px 14px;font-size:12px;line-height:1.5}.myprod-note strong{color:var(--ink)}.notif{align-items:center;display:flex;position:relative}.notif-bell{position:relative}.notif-badge{background:var(--clay-ink);min-width:16px;height:16px;color:var(--on-clay-ink);text-align:center;box-shadow:0 0 0 2px var(--bg);border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-6px;right:-6px}.notif-sidebar{display:block}.notif-navitem{width:100%;font-family:var(--font-body)}.notif-navitem .notif-badge{box-shadow:none;margin-left:auto;position:static}.notif-panel{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:min(360px,100vw - 44px);box-shadow:var(--shadow);position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notif-panel-flyout{width:min(340px,100vw - 32px);position:fixed;top:auto;right:auto}.notif-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:44px;padding:0 14px;display:flex}.notif-title{font-family:var(--font-display);color:var(--ink);font-size:14px;font-weight:600}.notif-markall{cursor:pointer;color:var(--a);background:0 0;border:none;min-height:44px;padding:0;font-size:12px;font-weight:500}.notif-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:min(60vh,420px);overflow-y:auto}.notif-empty{text-align:center;color:var(--ink-faint);padding:28px 14px;font-size:13px}.notif-item{text-align:left;border:none;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;gap:10px;width:100%;padding:12px 14px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item.unread{background:var(--clay-tint)}.notif-item:hover{background:var(--surface-alt)}.notif-dot{background:0 0;border-radius:999px;flex-shrink:0;width:8px;height:8px;margin-top:5px}.notif-item.unread .notif-dot{background:var(--clay)}.notif-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-item-title{color:var(--ink);font-size:13px;font-weight:600}.notif-item-text{color:var(--ink-soft);font-size:12.5px;line-height:1.35}.notif-time{color:var(--ink-faint);margin-top:2px;font-size:11px}.notif-more{border:none;border-top:1px solid var(--line);cursor:pointer;width:100%;color:var(--a);background:0 0;padding:12px;font-size:12px;font-weight:500}.myprod-row.highlight{border-radius:var(--radius-sm);animation:2.2s ease-out myprod-flash}@keyframes myprod-flash{0%,30%{background:var(--clay-tint)}to{background:0 0}}.ring-card.clickable{cursor:pointer;text-align:left;border:1px solid var(--line);flex-direction:column;align-items:center;transition:transform .15s,background .15s;display:flex}.ring-card.clickable:hover{background:var(--surface-alt);transform:translateY(-2px)}.ring-card.clickable:active{transform:translateY(0)scale(.99)}.macro-bars{flex-direction:column;gap:8px;width:100%;margin-top:12px;display:flex}.macro-row{flex-direction:column;gap:3px;display:flex}.macro-label-line{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:1px 8px;font-size:10.5px;font-weight:600;display:flex}.macro-label-name{flex-shrink:0;align-items:center;display:inline-flex}.macro-label-value{white-space:nowrap;flex-shrink:0;margin-left:auto}.supplement-list{flex-direction:column;gap:2px;margin:0 22px 6px;display:flex}.supplement-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:baseline;gap:10px;padding:7px 12px;font-size:12.5px;display:flex}.supplement-name{color:var(--ink);font-weight:600}.supplement-qty{white-space:nowrap;color:var(--ink-soft);flex-shrink:0;margin-left:auto}.macro-label-note{color:var(--ink-soft);opacity:.75;font-weight:500}.macro-label-line .dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.macro-track{background:var(--surface-alt);border-radius:4px;height:5px;overflow:hidden}.macro-fill{border-radius:4px;height:100%}.goal-cta{color:var(--a);align-self:flex-start;align-items:center;gap:3px;margin-top:12px;font-size:11.5px;font-weight:700;display:flex}.ring-card.clickable.b .goal-cta{color:var(--b-ink)}.dish{background:var(--surface);border-radius:var(--radius-md);padding:14px 16px 12px;overflow:hidden;box-shadow:0 2px 10px #1c231f0d;container-type:inline-size}.dish.planned{border:1px dashed var(--line);box-shadow:none}.planned-badge{background:var(--surface-alt);color:var(--ink-soft);font-family:var(--font-body);letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border-radius:8px;padding:3px 8px;font-size:10px;font-weight:600}.dish-header{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatars title chevron""portions portions portions";align-items:center;gap:10px;padding:0;display:grid}.dish-header.clickable{cursor:pointer}.dish-chevron{color:var(--decor-faint);transition:transform .18s}.dish.collapsed .dish-chevron{transform:rotate(-90deg)}.initial-stack{flex-shrink:0;align-items:center;display:inline-flex}.initial-disc{box-sizing:border-box;border:2px solid var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9.5px;font-weight:700;display:inline-flex}.initial-disc+.initial-disc{margin-left:-8px}.initial-disc.a{background:var(--a);color:var(--on-a)}.initial-disc.b{background:var(--b);color:var(--on-b)}.nav-account .initial-disc{border-color:var(--surface-alt);width:26px;height:26px;font-size:10px}.dish-panel{visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.2,.7,.2,1),visibility .26s;display:grid}.dish:not(.collapsed) .dish-panel{visibility:visible;grid-template-rows:1fr}.dish-panel-inner{min-height:0;overflow:clip}@media (prefers-reduced-motion:reduce){.dish-panel{transition:none}}.lang-list{background:var(--surface);border-radius:var(--radius-md);flex-direction:column;margin:4px 22px 0;display:flex;overflow:hidden}.lang-row{width:100%;font:inherit;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:14px 16px;font-size:14px;display:flex}.lang-row+.lang-row{border-top:1px solid var(--line)}.lang-row:hover:not(:disabled){background:var(--surface-alt)}.lang-row:disabled{cursor:default}.lang-row.on{color:var(--ink);font-weight:600}.lang-row-name{flex:1}.lang-row-check{color:var(--a);flex-shrink:0}@container (min-width:520px){.dish-header{grid-template-columns:auto minmax(0,1fr) max-content auto;grid-template-areas:"avatars title portions chevron"}}.dish-avatars{grid-area:avatars}.dish-title{grid-area:title}.dish-portions{grid-area:portions}.dish-chevron{grid-area:chevron}.dish-title{flex-direction:column;gap:2px;min-width:0;display:flex}.dish-name-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.dish-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.dish-sub{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.dish-portions{flex-direction:column;gap:5px;min-width:0;display:flex}.dish-portions .portion-row{margin-bottom:0}.dish-split{height:4px;margin:12px -16px -12px;display:flex}.dish-split-part{height:100%;display:block}.dish-split-part.a{background:var(--a)}.dish-split-part.b{background:var(--b)}.dish-edit{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:5px;padding:6px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.dish-edit:hover{border-color:var(--a);color:var(--a)}.portion-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.portion-row:last-of-type{margin-bottom:0}.pill{white-space:nowrap;text-overflow:ellipsis;border-radius:20px;flex-shrink:1;min-width:0;padding:5px 10px;font-size:12px;font-weight:700;overflow:hidden}.pill.a{background:var(--a-tint);color:var(--a)}.pill.b{background:var(--b-tint);color:var(--b-ink)}.portion-macros{flex-shrink:0;gap:10px;display:flex}.portion-macro-text{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:5px;font-size:11.5px;font-weight:500;display:inline-flex}.portion-macro-text .dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dish-author{color:var(--ink-faint);margin-top:9px;font-size:11.5px}.ingredients-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;margin:12px 0 9px;padding-left:14px;font-size:10.5px;font-weight:700}.ingredient-list{border-left:2px solid var(--line);flex-direction:column;gap:10px;margin-bottom:2px;padding-left:14px;display:flex}.ingredient-row>.ingredient-text{flex:1;min-width:0}.ingredient-row{align-items:baseline;gap:10px;min-height:34px;display:flex}.ingredient-cols,.ingredients-split .ingredient-row{grid-template-columns:minmax(0, 1fr) repeat(var(--portion-cols), 72px) 22px;align-items:baseline;gap:10px;max-width:560px;display:grid}.ingredients-split .ingredient-text{flex-direction:column;gap:3px;display:flex}.ingredients-split .ingredient-macro{white-space:normal}.ingredient-cols{margin-bottom:6px;margin-left:16px}.ingredient-col-head{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:10.5px;font-weight:700;display:flex;overflow:hidden}.ingredient-col-head .initial-disc{flex-shrink:0;width:14px;height:14px;font-size:8px}.ingredient-portions{display:contents}.ingredient-portion{flex-direction:column;gap:4px;min-width:0;display:flex}.ingredient-qty{color:var(--ink-soft);white-space:nowrap;font-size:11.5px;font-weight:600}.ingredient-bar{background:var(--line);border-radius:2px;height:3px;display:block;overflow:hidden}.ingredient-bar-fill{background:currentColor;border-radius:2px;height:100%;display:block}.ingredient-bar.a{color:var(--a)}.ingredient-bar.b{color:var(--b)}.portion-boxes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0 2px;display:grid}.portion-box{border-radius:var(--radius-md);background:var(--surface-alt);border:1px solid var(--line);padding:9px 11px}.portion-box.a{background:var(--a-tint);border-color:#0000}.portion-box.b{background:var(--b-tint);border-color:#0000}.portion-box-head{flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.portion-box-head .initial-disc{flex-shrink:0;width:16px;height:16px;font-size:8.5px}.portion-box>.badge{margin-top:5px}.portion-box-kcal{color:var(--ink-soft);margin-top:6px;font-size:11.5px}.portion-box-kcal b{color:var(--ink);margin-right:3px;font-size:17px}.portion-box-macros{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.portion-box-macros span{color:var(--ink-faint);align-items:center;gap:4px;font-size:10.5px;font-weight:600;display:flex}.portion-box-macros .dot{border-radius:50%;width:5px;height:5px}.dish-delete{border:1px solid var(--line);color:var(--danger,#c0392b);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:5px;padding:6px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.dish-delete:hover{border-color:currentColor}.ingredient-actions{flex:none;justify-content:flex-end;align-items:center;gap:20px;min-width:24px;display:flex}.ingredient-name{color:var(--ink);font-size:12.5px;font-weight:600}.ingredient-grams{color:var(--ink-faint);margin-left:6px;font-size:11px;font-weight:500}.ingredient-macro{color:var(--ink-soft);white-space:nowrap;flex:none;font-size:11px;font-weight:500}.day-modal{background:var(--bg);border-top:1px solid var(--line);border-radius:26px 26px 0 0;width:100%;max-width:460px;max-height:90vh;padding:22px 22px 28px;animation:.25s dayModalUp;overflow-y:auto}@keyframes dayModalUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.day-modal{animation:none}}.day-modal-handle{background:var(--surface-alt);border-radius:4px;width:36px;height:4px;margin:0 auto 18px}.day-modal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.day-modal-heading{flex:auto;min-width:0}.day-modal-title{font-family:var(--font-display);font-size:20px;font-weight:700}.day-modal-sub{color:var(--ink-soft);margin-top:3px;font-size:13px}.day-people{background:var(--surface-alt);border-radius:16px;flex:100%;order:3;gap:4px;padding:4px;display:flex}.day-person{min-height:44px;color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.day-person.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1c231f1f}.day-person .initial-disc{border-color:#0000}.day-modal-close{background:var(--surface-alt);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.day-modal-body{flex-direction:column;gap:16px;display:flex}.day-grid,.day-col{display:contents}.day-card{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.day-card-tint{background:var(--accent-tint,var(--a-tint))}.day-card-head{align-items:center;gap:8px;display:flex}.day-card-note{color:var(--ink-faint);margin-left:auto;font-size:11px;font-weight:600}.score-wrap{align-items:center;gap:18px;display:flex}.score-wrap .ring-wrap{flex:none;margin:0}.score-num{font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1}.score-max{color:var(--ink-faint);font-size:10px;font-weight:600}.score-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.score-copy .label{font-size:13px;font-weight:700}.score-copy .desc{color:var(--ink-soft);font-size:12.5px;line-height:1.45}.score-forecast-note{color:var(--ink-faint);font-size:11.5px;line-height:1.45}.day-section-title{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.stat-list{flex-direction:column;gap:14px;display:flex}.day-pct-only{color:var(--ink-soft);font-size:12.5px;line-height:1.5}.day-score-card .stat-list{border-top:1px solid var(--line);padding-top:14px}.day-weight-card{flex-direction:row;align-items:center;gap:12px}.day-weight-icon{background:var(--accent-tint,var(--a-tint));width:40px;height:40px;color:var(--accent,var(--a));border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.day-weight-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.day-weight-main{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.day-weight-value{color:var(--ink);white-space:nowrap;font-size:17px;font-weight:700}.day-weight-trend{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:3px;font-size:12.5px;font-weight:600;display:inline-flex}.day-weight-sub{color:var(--ink-faint);font-size:11.5px}.day-weight-link{min-height:44px;color:var(--accent,var(--a));cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.stat-top{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.stat-name{align-items:center;gap:7px;font-size:13.5px;font-weight:700;display:flex}.stat-name .dot{border-radius:50%;width:8px;height:8px}.stat-values{color:var(--ink-soft);font-size:13px;font-weight:600}.stat-values b{color:var(--ink);font-weight:700}.stat-pct{color:var(--ink-faint);margin-left:6px;font-size:11.5px;font-weight:600}.stat-track{background:var(--surface-alt);border-radius:5px;height:7px;overflow:hidden}.stat-fill{border-radius:5px;height:100%}.day-modal-foot{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.day-foot-info{flex-wrap:wrap;flex:100%;align-items:center;gap:8px;display:flex}.day-foot-note{color:var(--ink-faint);font-size:11.5px}.day-foot-link{min-height:44px;font-family:var(--font-body);color:var(--accent,var(--a));cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:12px;font-weight:700;display:inline-flex}.day-foot-actions{flex:100%;justify-content:flex-end;align-items:center;gap:10px;display:flex}.day-foot-close{background:var(--emphasis-bg);min-height:44px;color:var(--emphasis-text);font-family:var(--font-body);cursor:pointer;border:none;border-radius:99px;flex:none;padding:11px 22px;font-size:13px;font-weight:700}.premium-teaser{background:var(--surface-alt);border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:var(--ink);border-radius:16px;align-items:center;gap:12px;padding:14px 16px;display:flex}.premium-teaser .lock{background:var(--accent-tint,var(--a-tint));width:34px;height:34px;color:var(--accent,var(--a));border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.premium-teaser .txt,.pair-cta .txt{flex-direction:column;flex:1;display:flex}.premium-teaser .t1{margin-bottom:2px;font-size:12.5px;font-weight:700}.premium-teaser .t2{color:var(--ink-faint);font-size:11.5px}.premium-teaser.trial-banner{cursor:default;margin-bottom:12px}.premium-teaser .arrow{color:var(--decor-faint)}.premium-teaser.guest-reminder{cursor:default;background:var(--b-tint);border-color:var(--b);gap:8px;width:auto;margin:0 22px 12px}.guest-reminder-main{min-width:0;color:inherit;cursor:pointer;flex:1;align-items:center;gap:12px;text-decoration:none;display:flex}.premium-teaser.guest-reminder .lock{background:var(--b-tint);color:var(--b-ink)}.premium-teaser.email-verification{cursor:default;background:var(--a-tint);border-color:var(--a);gap:8px;width:auto;margin:0 22px 12px}.premium-teaser.email-verification .lock{background:var(--surface);color:var(--a)}.email-verification-resend{border:1px solid var(--a);background:var(--surface);color:var(--a);font-family:var(--font-body);cursor:pointer;border-radius:10px;flex:none;padding:8px 12px;font-size:11.5px;font-weight:700}.email-verification-resend:disabled{opacity:.5;cursor:not-allowed}.email-verification-ok{color:var(--a);margin-top:2px;font-weight:600}.email-verification-error{color:var(--clay-ink);margin-top:2px;font-weight:600}.guest-reminder-close{width:32px;height:32px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.guest-reminder-close:hover{background:var(--surface-alt)}.trend-chart{align-items:flex-end;gap:8px;height:70px;display:flex}.trend-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.trend-bar{background:var(--surface-alt);border-radius:5px 5px 3px 3px;width:100%;min-height:4px}.trend-bar.filled{background:var(--accent,var(--a));opacity:.55}.trend-bar.today{background:var(--accent,var(--a));opacity:1;box-shadow:0 0 0 2px var(--accent-tint,var(--a-tint))}.trend-label{color:var(--ink-faint);font-size:10px;font-weight:700}.trend-label.today{color:var(--accent,var(--a))}.forecast-status{background:var(--surface-alt);color:var(--ink);border-radius:99px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.forecast-status b{font-weight:700}.forecast-status.under{background:var(--b-tint)}.forecast-status.over{background:var(--clay-tint)}.forecast-status.on_track{background:var(--a-tint)}.daypart-chart{align-items:flex-end;gap:14px;height:64px;display:flex}.daypart-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.daypart-bar{background:var(--surface-alt);border-radius:5px 5px 3px 3px;width:60%;min-height:4px}.daypart-bar.has-value{background:var(--accent,var(--a))}.daypart-kcal{color:var(--ink-soft);font-size:10px;font-weight:700}.daypart-label{color:var(--ink-faint);font-size:10px;font-weight:700}.daypart-note{color:var(--ink-soft);font-size:12px;line-height:1.5}.insight-card{flex-direction:row;align-items:flex-start;gap:12px}.insight-icon{background:var(--surface);width:36px;height:36px;color:var(--accent,var(--a));border-radius:11px;flex:none;justify-content:center;align-items:center;display:flex}.insight-body{flex-direction:column;gap:4px;min-width:0;display:flex}.insight-body p{color:var(--ink-soft);margin:0;font-size:12.5px;line-height:1.5}.balance-row{flex-direction:column;gap:5px;display:flex}.balance-label{color:var(--ink-faint);font-size:11px;font-weight:700}.balance-bar{background:var(--surface-alt);border-radius:6px;height:10px;display:flex;overflow:hidden}.balance-legend{flex-wrap:wrap;gap:14px;display:flex}.balance-legend span{color:var(--ink-faint);align-items:center;gap:4px;font-size:10.5px;font-weight:600;display:flex}.balance-legend .dot{border-radius:50%;width:6px;height:6px}.heatmap-grid{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.heatmap-cell{aspect-ratio:1;border-radius:5px}.heatmap-cell.today{box-shadow:0 0 0 1.5px var(--accent,var(--a))}.heatmap-legend{color:var(--ink-faint);align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.heatmap-swatch{border-radius:3px;width:10px;height:10px}.heatmap-caption{color:var(--ink-faint);font-size:11px}.pair-compare{flex-direction:column;gap:10px;display:flex}.pair-compare-row{align-items:center;gap:10px;display:flex}.pair-compare-name{text-overflow:ellipsis;white-space:nowrap;flex:none;width:64px;font-size:12px;font-weight:700;overflow:hidden}.pair-compare-track{background:var(--surface-alt);border-radius:5px;flex:1;height:9px;overflow:hidden}.pair-compare-fill{border-radius:5px;height:100%}.pair-compare-pct{text-align:right;flex:none;width:38px;font-size:12px;font-weight:700}.pair-winner{color:var(--ink-soft);border-top:1px solid var(--line);padding-top:12px;font-size:11.5px}.pair-winner b{color:var(--ink)}.streak-pair-row{gap:10px;display:flex}.streak-chip{background:var(--surface-alt);border-radius:12px;flex:1;padding:11px 13px}.streak-chip .chip-num{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1}.streak-chip .chip-label{color:var(--ink-faint);margin-top:4px;font-size:10.5px;font-weight:600}.pair-cta{background:var(--surface-alt);border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:var(--ink);border-radius:16px;align-items:center;gap:12px;padding:14px 16px;display:flex}.pair-cta .t1{margin-bottom:2px;font-size:12.5px;font-weight:700}.pair-cta .t2{color:var(--ink-faint);font-size:11.5px}.streak-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:12px 16px;display:flex}.streak-row .flame{background:var(--accent-tint,var(--a-tint));width:32px;height:32px;color:var(--accent,var(--a));border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.streak-row .streak-text{font-size:12.5px;font-weight:700}.streak-row .streak-sub{color:var(--ink-faint);margin-top:1px;font-size:11px;font-weight:500}.report-action-btn{border:1px solid var(--line);background:var(--surface);color:var(--decor-faint);font-size:12px;font-weight:700;font-family:var(--font-body);cursor:not-allowed;border-radius:99px;flex:auto;justify-content:center;align-items:center;gap:6px;padding:11px 16px;display:inline-flex}.day-modal-loading{text-align:center;color:var(--ink-faint);padding:40px 0;font-size:13px}.dev-premium-toggle{border:1px dashed var(--b);background:var(--b-tint);color:var(--b-ink);cursor:pointer;border-radius:10px;align-items:center;gap:8px;width:100%;margin:0 0 16px;padding:8px 12px;font-size:11px;font-weight:700;display:flex}.scanner-icon-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:44px;height:44px;color:var(--a);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.scanner-icon-btn:hover{background:var(--a-tint)}.scanner-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.scanner-close{background:var(--surface-alt);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.scanner-frame{aspect-ratio:4/3;border-radius:var(--radius-md);background:#000;width:100%;position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%;display:block}.scanner-reticle{color:#ffffffd9;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scanner-reticle:before{content:"";border:2px solid #ffffffe6;border-radius:12px;width:72%;height:46%;position:absolute;box-shadow:0 0 0 100vmax #00000059}.scanner-hint{text-align:center;color:#fff;text-shadow:0 1px 3px #0009;font-size:12px;font-weight:600;position:absolute;bottom:10px;left:0;right:0}.scanner-msg{font-weight:600;color:var(--clay-ink)!important;margin:12px 0 4px!important}.scanner-manual-link{color:var(--a);cursor:pointer;background:0 0;border:none;margin-top:12px;padding:0;font-size:12.5px;font-weight:600}.scanner-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.scanner-actions .scanner-photo-btn{justify-content:center;align-items:center;gap:8px;width:auto;min-height:44px;margin:0;padding:10px 16px;display:inline-flex}.scanner-actions .scanner-manual-link{margin-top:0}.scanner-slow{background:var(--b-tint);color:var(--b-ink);border-radius:12px;margin-top:12px;padding:10px 12px;font-size:12.5px;line-height:1.45}.scanner-slow p{margin:4px 0 0}.scanner-status{color:var(--ink-soft);margin:12px 0 4px;font-size:12.5px;font-weight:600}.shopping-banner{background:var(--surface-alt);color:var(--ink-soft);font-family:var(--font-body);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:0 22px 10px;padding:9px 12px;font-size:12px;display:flex}.shopping-banner.offline{background:var(--clay-tint);color:var(--clay-ink)}.shopping-empty{color:var(--ink-faint);text-align:center;flex-direction:column;align-items:center;gap:10px;margin:30px 22px;display:flex}.shopping-empty-title{font-family:var(--font-display);color:var(--ink);font-size:16px}.shopping-empty-body{font-family:var(--font-body);max-width:320px;font-size:13px}.shopping-hint{font-family:var(--font-body);color:var(--ink-faint);padding:0 22px 8px;font-size:12px}.shopping-filter-empty{padding:18px 22px 8px}.shopping-filter-empty-title{font-family:var(--font-body);color:var(--ink);margin:0 0 6px;font-size:14px;font-weight:600}.shopping-filter-empty-body{font-family:var(--font-body);color:var(--ink-soft);margin:0 0 12px;font-size:12.5px;line-height:1.45}.shopping-filter-empty .secondary-btn{width:auto;margin:0;padding:0 16px}.shop-card .shopping-filter-empty .secondary-btn{width:auto;min-height:44px;padding:0 16px}.shop-head{align-items:flex-end;gap:12px;padding:28px 22px 4px;display:flex}.shop-head-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.shop-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:24px;font-weight:700}.shop-new-btn{background:var(--emphasis-bg);min-height:44px;color:var(--emphasis-text);font-family:var(--font-body);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;margin-left:auto;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.shop-columns{flex-direction:column;gap:14px;padding-top:12px;display:flex}.shop-main,.shop-side{display:contents}.shop-active-card{order:1}.shop-list-card,.shop-empty-card{order:2}.shop-sources-card{order:3}.shop-history-card{order:4}.shop-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;margin:0 22px;padding:16px;display:flex}.shop-card h2{font-family:var(--font-display);margin:0;font-size:15px;font-weight:600}.shop-card-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.shop-card-sub{color:var(--ink-soft);font-size:12px}.shop-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.shop-card-head .shop-card-titles{flex:auto}.shop-card .primary-btn,.shop-card .secondary-btn{width:100%;margin:0}.shop-card .shopping-filter-empty{padding:0}.shop-filters{flex:none;margin:0}.shop-filters .scope-tab{flex:none;min-width:44px;min-height:44px;padding:6px 10px;font-size:12px}.shop-hint{font-family:var(--font-body);color:var(--ink-faint);margin:0;font-size:12px}.shop-groups{flex-direction:column;gap:10px;display:flex}.shop-group{break-inside:avoid;flex-direction:column;gap:2px;display:flex}.shop-group-head{align-items:center;gap:6px;padding:6px 8px 4px;display:flex}.shop-group-name{font-family:var(--font-body);letter-spacing:.8px;text-transform:uppercase;color:var(--ink-soft);font-size:10.5px;font-weight:700}.shop-group-count{font-family:var(--font-body);color:var(--ink-faint);font-size:11px}.shop-row{border-radius:12px;align-items:center;gap:10px;min-height:46px;padding:4px 0 4px 8px;display:flex}.shop-check{border:1.5px solid var(--line);width:22px;height:22px;color:var(--surface);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:flex}.shop-row.checked .shop-check{background:var(--a);border-color:var(--a)}.shop-row-body{flex:1;min-width:0}.shop-row-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shop-item-name{font-family:var(--font-body);color:var(--ink);font-size:13.5px;font-weight:600}.shop-row.checked .shop-item-name{color:var(--ink-soft);text-decoration:line-through}.shop-row.checked .shop-item-qty{color:var(--ink-faint)}.shop-row-meta{font-family:var(--font-body);color:var(--ink-faint);margin-top:1px;font-size:11px}.shop-item-qty{font-family:var(--font-body);color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:12.5px}.shop-tag{font-family:var(--font-body);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.shop-tag.a{background:var(--a-tint);color:var(--a)}.shop-tag.b{background:var(--b-tint);color:var(--b-ink)}.shop-row-remove{width:34px;height:34px;color:var(--graphic-faint);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.shop-row-remove:hover{color:var(--clay)}.shop-add{align-items:center;gap:8px;display:flex}.shop-add-field{border:1.5px solid var(--control-line);background:var(--surface);min-width:0;height:44px;color:var(--ink-faint);border-radius:14px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.shop-add-field input{min-width:0;color:var(--ink);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.shop-add-field:focus-within{outline:2px solid var(--a);outline-offset:1px}.shop-add-btn{background:var(--emphasis-bg);min-height:44px;color:var(--emphasis-text);font-family:var(--font-body);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;padding:0 18px;font-size:13px;font-weight:700}.shop-add-btn:disabled{opacity:.5;cursor:default}.shop-empty-card{text-align:center;align-items:center;gap:10px;padding:32px 22px}.shop-empty-icon{background:var(--a-tint);width:64px;height:64px;color:var(--a);border-radius:20px;justify-content:center;align-items:center;display:inline-flex}.shop-empty-card h2{margin:4px 0 0;font-size:18px}.shop-empty-card p{max-width:380px;font-family:var(--font-body);color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.5}.shop-empty-actions{flex-direction:column;gap:8px;width:100%;max-width:320px;margin-top:6px;display:flex}.shop-empty-actions .primary-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.shop-active-head{flex-direction:column;gap:4px;display:flex}.shop-eyebrow{font-family:var(--font-body);letter-spacing:.8px;text-transform:uppercase;color:var(--ink-soft);font-size:10.5px;font-weight:700}.shop-range{font-family:var(--font-display);font-size:18px;font-weight:600}.shop-origin{font-family:var(--font-body);color:var(--ink-soft);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.shop-progress-track{background:var(--surface-alt);border-radius:999px;height:8px;overflow:hidden}.shop-progress-fill{background:var(--a);border-radius:999px;height:100%;transition:width .25s}.shop-progress-legend{font-family:var(--font-body);color:var(--ink-soft);justify-content:space-between;gap:10px;font-size:12.5px;display:flex}.shop-progress-legend strong{color:var(--ink)}.shop-actions{flex-direction:column;gap:8px;display:flex}.shop-split-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.shop-split-btn.on{background:var(--a-tint);color:var(--a)}.shop-actions-pair{gap:8px;display:flex}.shop-actions-pair .secondary-btn{flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:11px;font-size:13px;display:inline-flex}.shop-note{font-family:var(--font-body);color:var(--ink-soft);margin:2px 0 0;font-size:12px;line-height:1.45}.shop-rows{flex-direction:column;display:flex}.shop-source,.shop-past{border-top:1px solid var(--line);min-height:44px;font-family:var(--font-body);color:var(--ink);align-items:center;gap:10px;font-size:13px;text-decoration:none;display:flex}.shop-source-icon{background:var(--a-tint);width:28px;height:28px;color:var(--a);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.shop-source-name{flex:1;min-width:0;font-weight:600}.shop-source-count,.shop-past-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-shrink:0}.shop-past-range{min-width:0;color:var(--ink-soft);flex:1}.shop-past-count{color:var(--ink);font-weight:600}.shop-refresh{min-height:44px;color:var(--a);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0 4px;font-size:13px;font-weight:700;display:inline-flex}.shop-refresh:disabled{opacity:.5;cursor:default}.chip{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:600}.chip.on{border-color:var(--a);background:var(--a-tint);color:var(--a)}.chip:disabled{opacity:.5;cursor:default}.link-btn{color:var(--a);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.collision-list{color:var(--ink-soft);font-family:var(--font-body);margin:4px 0 14px;padding-left:18px;font-size:12.5px}.range-presets{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.range-custom{gap:10px;margin-bottom:14px;display:flex}.range-custom label{font-family:var(--font-body);color:var(--ink-faint);flex-direction:column;flex:1;gap:4px;font-size:11px;display:flex}.range-custom input{border:1px solid var(--control-line);background:var(--bg);color:var(--ink);font-family:var(--font-body);border-radius:8px;padding:7px 8px;font-size:13px}.slot-basket-btn{width:26px;height:26px;color:var(--graphic-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.slot-basket-btn:hover{color:var(--a)}.slot-basket-btn:disabled{color:var(--decor-faint);cursor:default}.modal-actions-stack{flex-direction:column;gap:8px;margin-top:14px;display:flex}.modal-actions-stack button{text-align:center;width:100%;margin:0}.ghost-btn{color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:12px;min-height:44px;padding:11px 14px;font-size:14px;font-weight:600}.ghost-btn:disabled{opacity:.5;cursor:default}.solo-toggle{padding:4px 22px 0}.solo-toggle label{cursor:pointer;font-family:var(--font-body);color:var(--ink);align-items:center;gap:9px;font-size:13.5px;display:flex}.solo-toggle input{width:18px;height:18px;accent-color:var(--a);cursor:pointer}.solo-toggle .hint{margin-top:4px;padding-left:0;padding-right:0}.eaten-by{padding:8px 22px 0}.eaten-by .settings-label{margin:0 0 6px}.eaten-by-tabs{background:var(--surface-alt);border-radius:16px;gap:4px;padding:4px;display:flex}.eaten-by-tab{min-width:0;min-height:48px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;flex:1 1 0;justify-content:center;align-items:center;gap:9px;font-size:14px;font-weight:700;display:flex}.eaten-by-tab.on{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--selected-line), 0 1px 3px #1c231f1f}.eaten-by-tab .initial-disc{border-color:var(--surface-alt)}.eaten-by-tab.on .initial-disc{border-color:var(--surface)}.eaten-by .hint,.copy-modal .eaten-by{padding-left:0;padding-right:0}.advanced-options{padding:0 22px}.advanced-toggle{cursor:pointer;font-family:var(--font-body);color:var(--ink-soft);background:0 0;border:none;align-items:center;gap:6px;min-height:44px;padding:0;font-size:13px;font-weight:600;display:flex}.advanced-options .settings-label{margin-left:0;margin-right:0}.advanced-options .mode-choices{padding:0}.advanced-options .hint{padding-left:0;padding-right:0}.mode-choices{flex-direction:column;gap:6px;padding:0 22px;display:flex}.mode-choice{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border-radius:12px;min-height:44px;padding:11px 14px;font-size:13.5px;font-weight:600}.mode-choice.on{border-color:var(--a);background:var(--a-tint);color:var(--a)}.mode-choice:disabled{opacity:.6;cursor:default}.slot-mode{border:1px solid var(--control-line);background:var(--bg);min-width:0;max-width:116px;color:var(--ink);font-family:var(--font-body);border-radius:8px;flex:0 116px;min-height:44px;padding:6px 4px;font-size:12px}.percent-summary{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 22px 0;padding:10px 12px;display:flex}.percent-total{font-family:var(--font-body);color:var(--a);font-size:14px;font-weight:700}.percent-total.bad{color:var(--clay-ink)}.percent-summary .hint{flex:1;min-width:180px}.percent-save{width:auto;margin:0;padding:0 16px}.help-section{margin-top:14px}.help-h{font-family:var(--font-display);color:var(--ink);margin-bottom:4px;font-size:13.5px;font-weight:600}.help-p{font-family:var(--font-body);color:var(--ink-soft);margin:0 0 6px;font-size:12.5px;line-height:18px}.help-p.muted{color:var(--ink-faint)}.help-example{border-left:2px solid var(--a);background:var(--surface-alt);font-family:var(--font-body);color:var(--ink);border-radius:0 8px 8px 0;margin:0 0 6px;padding:8px 10px;font-size:12px;line-height:17px}.help-list{font-family:var(--font-body);color:var(--ink-soft);margin:0;padding-left:18px;font-size:12.5px;line-height:18px}.help-btn{border:1px solid var(--line);color:var(--ink-faint);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;line-height:17px}.help-btn:hover{border-color:var(--a);color:var(--a)}.copy-modal .settings-label,.copy-modal .mode-choices,.copy-modal .solo-toggle,.copy-modal .hint{padding-left:0;padding-right:0}.copy-modal .settings-label{margin:12px 0 6px;display:block}.copy-modal input[type=date],.copy-modal input[type=number]{border:1px solid var(--control-line);border-radius:var(--radius-sm);width:100%;min-height:44px;font-family:var(--font-body);background:var(--surface);color:var(--ink);padding:12px 14px;font-size:14px}.copy-modal input[type=date]:focus,.copy-modal input[type=number]:focus{outline:2px solid var(--a);outline-offset:1px}.dish-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.dish-actions .dish-author{margin-top:0;margin-right:auto}.dish-copy{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.dish-copy:hover{border-color:var(--a);color:var(--a)}.dish-actions .dish-edit,.dish-actions .dish-copy,.dish-actions .dish-delete{min-height:44px;padding:0 14px}.day-meals-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 22px 4px;display:flex}.day-meals-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:11px;font-weight:700}.day-meals-head .day-select-bar{margin-left:auto;padding:0}.day-meals-head .chip{background:var(--surface);border-radius:999px;padding:8px 14px}.day-meals-head .chip.on{background:var(--a-tint)}.day-select-bar{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 22px 8px;display:flex}.day-select-bar .chip{align-items:center;gap:5px;display:inline-flex}.day-select-cta{width:auto;margin:0 0 0 auto;padding:9px 16px;font-size:13px}.day-select-cta:disabled{opacity:.5;cursor:not-allowed}.dish-select{cursor:pointer;align-items:center;gap:9px;padding-bottom:6px;display:flex}.dish-select input{width:18px;height:18px;accent-color:var(--a);cursor:pointer;flex-shrink:0}.dish-select-name{color:var(--ink-soft);font-size:12.5px;font-weight:600}.ai-scan-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ai-scan-head h3{margin:0}.ai-consent p{line-height:1.5}.ai-consent a{color:var(--a);font-weight:600}.ai-consent .ai-consent-statement{border:1px solid var(--a);border-radius:var(--radius-sm);background:var(--a-tint);color:var(--ink);padding:12px 14px;font-size:13px;font-weight:600}.ai-consent .ai-consent-draft{border-radius:var(--radius-sm);border-left:3px solid var(--b);background:var(--b-tint);color:var(--ink);padding:8px 12px}.ai-scan-close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:4px}.ai-scan-file{display:none}.ai-scan-dropzone{border:1px dashed var(--line);background:var(--surface-alt);width:100%;min-height:180px;color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.ai-scan-preview{object-fit:contain;background:#000;border-radius:14px;width:100%;max-height:260px}.ai-scan-stage{font-family:var(--font-body);color:var(--ink-soft);margin-top:12px;font-size:13px}.ai-scan-bar{background:var(--surface-alt);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.ai-scan-bar-fill{background:var(--a);height:100%;transition:width .12s linear}.ai-scan-note{margin-top:12px}.ai-scan-note textarea{resize:vertical;width:100%}.ai-scan-note-toggle{color:var(--a);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.scan-review-list{flex-direction:column;gap:10px;margin:0;padding:0 22px;list-style:none;display:flex}.scan-card{background:var(--surface);border-radius:var(--radius-md);border-left:3px solid var(--line);padding:12px 14px}.scan-card.matched{border-left-color:var(--a)}.scan-card.suggested{border-left-color:var(--b)}.scan-card.unmatched{border-left-color:var(--clay)}.scan-card-head{align-items:center;gap:10px;display:flex}.scan-card-name{min-width:0;color:var(--ink);font-family:var(--font-body);background:0 0;border:none;border-radius:4px;flex:1;padding:0;font-size:14px;font-weight:500}.scan-card-name:focus{outline:2px solid var(--a);outline-offset:1px}.scan-card-grams{flex-shrink:0;align-items:center;gap:4px;display:flex}.scan-card-grams input{border:1px solid var(--control-line);border-radius:var(--radius-sm);background:var(--bg);width:58px;color:var(--ink);text-align:right;margin:0;padding:3px 7px;font-size:14px;font-weight:500}.scan-card-remove{color:var(--graphic-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px}.scan-card-status{font-family:var(--font-body);justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px;font-size:12.5px;display:flex}.scan-card-status-text{min-width:0;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:flex}.scan-card-status-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scan-card.matched .scan-card-status-text{color:var(--a);cursor:pointer}.scan-card.suggested .scan-card-status-text{color:var(--b-ink)}.scan-card.unmatched .scan-card-status-text{color:var(--clay-ink)}.scan-card-kcal{color:var(--ink-faint);flex-shrink:0;font-size:12px}.scan-card .ing-macros{margin-top:6px}.scan-card-actions{flex-wrap:wrap;gap:15px 8px;margin-top:10px;display:flex}.scan-chip{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex}.scan-chip.primary{border-color:var(--a);background:var(--a-tint);color:var(--a)}.scan-card-search{margin-top:10px}.scan-card-search input{width:100%}.scan-card-search ul{margin:6px 0 0;padding:0;list-style:none}.scan-card-search li button{text-align:left;width:100%;color:var(--ink);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:13.5px}.meal-summary{background:var(--surface-alt);border-radius:var(--radius-md);margin:14px 22px 0;padding:14px 16px}.meal-summary-label{color:var(--ink-soft);font-family:var(--font-body);font-size:12px}.meal-summary-kcal{flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:4px;display:flex}.meal-summary-kcal b{font-family:var(--font-display);color:var(--a);font-size:22px;font-weight:500}.meal-summary-kcal .unit{font-family:var(--font-body);color:var(--ink-soft);font-size:12.5px}.meal-summary-hint{font-family:var(--font-body);color:var(--ink-faint);font-size:12px}.meal-summary-macros{gap:8px;margin-top:12px;display:flex}.meal-summary-macros div{flex:1}.meal-summary-macros span{font-family:var(--font-body);font-size:11px;font-weight:600;display:block}.meal-summary-macros b{font-family:var(--font-display);color:var(--ink);margin-top:2px;font-size:14px;font-weight:500;display:block}.ing-macros{font-family:var(--font-body);flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:11px;display:flex}.meal-summary-macros span.protein,.ing-macros .protein{color:var(--m-protein-ink)}.meal-summary-macros span.carbs,.ing-macros .carbs{color:var(--m-carbs-ink)}.meal-summary-macros span.fat,.ing-macros .fat{color:var(--m-fat-ink)}.scan-add-ingredient{border:1px dashed var(--line);border-radius:var(--radius-md);width:calc(100% - 44px);color:var(--a);font-family:var(--font-body);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;margin:14px 22px 0;padding:10px;font-size:13px;font-weight:600;display:flex}.slot-scan-btn{cursor:pointer;color:var(--graphic-soft);background:0 0;border:none;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.slot-scan-btn:hover{color:var(--a)}.premium-offer{text-align:center}.premium-offer-icon{background:var(--a-tint);width:44px;height:44px;color:var(--a);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.premium-offer h3{margin:0 0 6px;font-size:15px;line-height:1.35}.premium-offer>p{margin:0 0 14px}.premium-offer-benefits{border:1px solid var(--line);background:var(--surface-alt);text-align:left;border-radius:14px;padding:12px 14px}.premium-offer-benefits-title{color:var(--ink-soft);margin-bottom:6px;font-size:11.5px;font-weight:700}.premium-offer-benefits ul{color:var(--ink-soft);margin:0;padding-left:18px;font-size:12.5px}.premium-offer-benefits li{margin-bottom:3px}.premium-offer-note{color:var(--ink-faint);margin-top:8px;font-size:11px}.recipes-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;display:flex}.recipes-new-btn{flex-shrink:0;align-items:center;gap:6px;width:auto;min-height:44px;margin:0;padding:10px 14px;font-size:13px;text-decoration:none;display:inline-flex}.recipes-head{flex-wrap:wrap}.recipes-head .recipes-title{flex:1;order:1;min-width:0;padding:0;font-size:24px}.recipes-new-btn{order:2}.recipes-search{border:1px solid var(--control-line);background:var(--surface);min-height:44px;color:var(--ink-faint);border-radius:999px;flex-basis:100%;order:3;align-items:center;gap:10px;padding:0 14px;display:flex}.recipes-search>svg,.product-search-box>svg,.shop-add-field>svg{color:var(--decor-faint)}.recipes-search input{min-width:0;font-family:var(--font-body);color:var(--ink);background:0 0;border:none;flex:1;padding:11px 0;font-size:14px}.recipes-search input:focus{outline:none}.recipes-search:focus-within{outline:2px solid var(--a);outline-offset:1px}.recipes-toolbar,.recipes-columns,.recipes-filters,.recipes-main{flex-direction:column;min-width:0;display:flex}.recipes-error{margin:8px 22px}.recipe-new-tile{display:none}.tag-chips{flex-wrap:wrap;gap:13px 6px;padding:0 22px;display:flex}.tag-chip{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:600}.tag-chip.on{border-color:var(--a);background:var(--a-tint);color:var(--a)}.tag-chip.small{cursor:default;padding:4px 9px;font-size:11px}.recipe-list{flex-direction:column;gap:8px;padding:8px 22px;display:flex}.recipe-card{background:var(--surface);border-radius:var(--radius-md);color:inherit;align-items:center;gap:12px;padding:10px;text-decoration:none;display:flex;box-shadow:0 2px 10px #1c231f0d}.recipe-thumb{object-fit:cover;background:var(--surface-alt);border-radius:10px;flex-shrink:0;width:56px;height:56px}.recipe-thumb.placeholder,.recipe-hero-photo.placeholder{color:var(--decor-faint);background:var(--surface-alt);justify-content:center;align-items:center;display:flex}.recipe-photo-preview{object-fit:cover;background:var(--surface-alt);border-radius:12px;width:100%;max-height:200px;margin-bottom:8px}.recipe-card-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.recipe-card-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:700;overflow:hidden}.recipe-card-sub{color:var(--ink-faint);font-size:11.5px}.recipe-card-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.recipe-hero-photo{border-radius:var(--radius-lg);object-fit:cover;background:var(--surface-alt);width:calc(100% - 44px);height:180px;margin:6px 22px;display:block}.recipe-head{flex-direction:column;gap:6px;padding:28px 22px 4px;display:flex}.recipe-back{min-height:32px;color:var(--a);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.recipe-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700;line-height:1.15}.recipe-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.recipe-meta .rating-summary{margin:0;font-size:13px}.recipe-meta-dot{color:var(--ink-faint)}.recipe-meta .public-badge{margin-left:0}.recipe-columns{flex-direction:column;min-width:0;display:flex}.recipe-main,.recipe-side{display:contents}.recipe-main>*{order:2}.recipe-side>*{order:3}.recipe-hero-photo{order:0}.recipe-figures{order:1}.recipe-section,.recipe-figures,.recipe-actions{min-width:0}.recipe-steps{padding-left:0;list-style:none}.recipe-steps li{align-items:flex-start;gap:10px;display:flex}.recipe-step-num{background:var(--a-tint);width:24px;height:24px;color:var(--a);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.recipe-step-body{flex:1;min-width:0}.recipe-figures,.recipe-actions,.recipe-action-pair{flex-direction:column;display:flex}.recipe-total{border-radius:var(--radius-md);background:var(--a-tint);margin:10px 22px 0;padding:12px 14px}.recipe-total-head{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.recipe-total-label{color:var(--ink-soft);font-weight:600}.recipe-total-head strong{font-variant-numeric:tabular-nums}.recipe-actions .auth-error{margin:0 22px 8px}.recipe-share-hint{color:var(--ink-soft);align-items:center;gap:10px;margin:0 22px 12px;font-size:12.5px;line-height:1.45;display:flex}.recipe-publish-hint{color:var(--ink-soft);margin:0 22px 12px;font-size:12.5px;line-height:1.5}.recipe-delete-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.rating-form-who,.rating-form-comment{flex-direction:column;gap:8px;min-width:0;display:flex}.rating-form-who .hint{padding:0}.recipes-empty{color:var(--ink-soft);flex-direction:column;align-items:center;gap:10px;display:flex}.recipes-empty strong{color:var(--ink);font-size:14.5px}.recipe-steps{color:var(--ink-soft);flex-direction:column;gap:8px;margin:4px 22px;padding-left:20px;font-size:13.5px;line-height:1.55;display:flex}.step-actions{flex-direction:row;justify-content:flex-end;gap:8px;display:flex}.step-actions button{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;font-size:15px;line-height:1;display:inline-flex}.step-actions button:hover:not(:disabled){background:var(--surface-alt)}.step-actions button:disabled{opacity:.3;cursor:default}.qty-box.static strong{color:var(--ink);font-size:13px;font-weight:700}.rating-summary{color:var(--ink);align-items:center;gap:8px;margin:0 22px 10px;font-size:13.5px;display:flex}.rating-summary.card{gap:6px;margin:2px 0 0;font-size:11.5px}.stars{gap:2px;line-height:0;display:inline-flex}.stars .star{color:var(--control-line)}.stars .star.on{color:var(--star);fill:var(--star)}.rating-form{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;gap:8px;margin:0 22px 14px;padding:14px;display:flex}.rating-form-title{font-size:14px;font-weight:600}.rating-form label{color:var(--ink-soft);font-size:12.5px}.rating-form textarea{border:1px solid var(--control-line);width:100%;font-family:var(--font-body);color:var(--ink);background:var(--bg);resize:vertical;border-radius:10px;padding:10px 12px;font-size:13.5px}.rating-form .primary-btn,.rating-form .secondary-btn{width:100%;margin:0}.star-picker{gap:4px;display:flex}.star-btn{min-width:44px;min-height:44px;color:var(--control-line);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.star-btn.on{color:var(--star)}.star-btn.on svg{fill:var(--star)}.rating-list{flex-direction:column;gap:10px;margin:0 22px;display:flex}.rating-row{border-bottom:1px solid var(--line);padding-bottom:10px}.rating-row:last-child{border-bottom:none}.rating-row-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.rating-author{font-size:13.5px;font-weight:600}.rating-comment{color:var(--ink);white-space:pre-wrap;margin-top:4px;font-size:13.5px}.public-badge{background:var(--surface-alt);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:10.5px;font-weight:700;display:inline-block}.recipe-moderation-banner{flex-direction:column;gap:2px;margin:8px 22px 4px;display:flex}.publish-blocked{border:1px solid var(--clay,#b4553f);background:var(--surface);color:var(--ink);border-radius:12px;margin:0 22px 8px;padding:12px 14px;font-size:13px}.publish-blocked ul{margin:8px 0 0;padding-left:18px}.publish-blocked li{font-weight:600}.scope-tabs{background:var(--surface-alt);border-radius:999px;gap:4px;margin:4px 22px 0;padding:3px;display:flex}.scope-tab{min-height:44px;font-family:var(--font-body);color:var(--ink-soft);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:999px;flex:1;padding:8px 12px;font-size:13px;font-weight:600;overflow:hidden}.scope-tab.on{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--selected-line)}.cb-person{margin:0 22px 8px}.cb-person-name{color:var(--ink-soft);margin-bottom:4px;font-size:12px;font-weight:600}.cb-cells{flex-wrap:wrap;gap:6px;display:flex}.cb-cell{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;border-radius:10px;flex-direction:column;flex:90px;justify-content:center;align-items:center;gap:1px;display:flex}.cb-cell.on{border-color:var(--a);background:var(--a-tint,var(--surface-alt));color:var(--ink)}.cb-cell.weak{border-color:var(--clay,#b4553f);background:var(--clay-tint,var(--surface-alt))}.cb-cell-slot{font-size:12px;font-weight:600}.cb-cell-pct{font-size:11px}.cb-weak-note{background:var(--clay-tint);color:var(--ink)}.cb-entries{flex-direction:column;gap:8px;margin:0 22px;display:flex}.cb-entry{background:var(--surface);border:1px solid var(--line);color:inherit;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;text-decoration:none;display:flex}.cb-entry-day{font-size:13.5px;font-weight:600}.cb-entry-sub{color:var(--ink-soft);margin-top:2px;font-size:12px}.cb-entry-open{color:var(--a);font-size:12px}.cook-batch-badge{color:var(--a);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.subst-list{flex-direction:column;gap:8px;max-height:46vh;display:flex;overflow-y:auto}.subst-row{text-align:left;border:1px solid var(--line);width:100%;color:inherit;cursor:pointer;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.subst-row:hover:not(:disabled){background:var(--surface-alt)}.subst-row.selected{border-color:var(--a);background:var(--surface-alt)}.subst-row:disabled{cursor:default;opacity:.6}.subst-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.subst-row-name{font-size:13px;font-weight:600}.subst-badge{color:var(--ink-faint);font-size:10.5px}.subst-row-amounts{flex-direction:column;flex:none;align-items:flex-end;display:flex}.subst-row-qty{font-size:13px;font-weight:700}.subst-row-kcal{color:var(--ink-faint);font-size:11px}.subst-error{color:var(--clay-ink);font-size:11.5px}.subst-hint{color:var(--ink-faint);margin:8px 0 0;font-size:11px;line-height:1.45}.subst-warning{color:var(--ink);background:var(--surface-alt);border-left:2px solid var(--clay);border-radius:0 8px 8px 0;margin:10px 0 0;padding:8px 10px;font-size:11.5px;line-height:1.45}.subst-action{cursor:pointer;min-width:24px;height:24px;color:var(--ink-faint);background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-self:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.subst-action:hover{color:var(--a);background:var(--surface-alt)}.cooked-split-btn{cursor:pointer;min-width:24px;height:24px;color:var(--ink-faint);background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-self:center;align-items:center;padding:0;display:inline-flex}.cooked-split-btn:hover{color:var(--a);background:var(--surface-alt)}.meal-view{max-width:280px;margin:12px 0 0}.meal-view button{padding:7px 0;font-size:12px}.ingredients-hint{color:var(--ink-soft);margin:-4px 0 6px;padding-left:14px;font-size:11.5px}.combined-share{color:var(--ink-faint);margin-bottom:8px;padding-left:14px;font-size:11.5px}.cooked-split-action{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:8px;margin-bottom:10px;padding:9px 12px;font-size:12px;font-weight:600;display:inline-flex}.cooked-split-action:hover{color:var(--a);border-color:var(--a);background:var(--a-tint)}.dialog-simple.cooked-split{flex-direction:column;gap:12px;display:flex}.cooked-split-field{padding:0}.cooked-split-result{background:var(--surface-alt);border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.cooked-split-heading{color:var(--ink-soft);font-size:11.5px;font-weight:700}.cooked-split-row{align-items:center;gap:8px;display:flex}.cooked-split-name{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;min-width:0;font-size:13px;overflow:hidden}.cooked-split-amount{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.cooked-split-note{color:var(--ink-faint);align-items:flex-start;gap:8px;margin:0;font-size:11.5px;line-height:1.45;display:flex}.cooked-split-note svg{flex-shrink:0;margin-top:1px}.subst-search{border:1px solid var(--control-line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:10px 12px;font-size:13px}.subst-section{letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 6px;font-size:10px;font-weight:700}.subst-badge-warn{color:var(--clay-ink)}.subst-manual{flex-direction:column;gap:6px;margin-top:10px;display:flex}.subst-manual-label{color:var(--ink-soft);font-size:12px;font-weight:600}.label-field{border-top:1px solid var(--line);padding:10px 0}.label-field:first-child{border-top:0}.label-field-name{color:var(--ink-faint);font-size:11px;font-weight:600}.label-field-value{margin-top:2px;font-size:14px}.label-field-value.empty{color:var(--ink-faint)}.label-field-confidence{color:var(--ink-faint);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.label-field-confidence.unsure{color:var(--clay-ink)}.label-macros{flex-direction:column;gap:3px;display:flex}.label-macro-row{justify-content:space-between;font-size:12.5px;display:flex}.label-conversion{margin-top:14px}.label-conversion p{margin:3px 0 0;font-size:12px;line-height:17px}.label-front-photo{flex-direction:column;gap:8px;display:flex}.label-front-title{align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.label-front-photo .secondary-btn{margin:0}.weight-chart{--chart-h:160px;gap:8px;padding:0 22px;display:flex}.weight-chart-axis{height:var(--chart-h);color:var(--ink-faint);flex-direction:column;justify-content:space-between;font-size:10px;display:flex}.weight-chart-plot{flex:1;min-width:0}.weight-chart-plot svg{width:100%;height:var(--chart-h);display:block;overflow:visible}.weight-chart-grid{stroke:var(--line);stroke-width:1px}.weight-chart-line{fill:none;stroke:var(--a);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.weight-chart-dot{fill:var(--a)}.weight-chart-area{fill:var(--a-tint);opacity:.65;stroke:none}.weight-chart-caption{color:var(--ink-soft);margin-top:6px;font-size:12.5px}.weight-chart-note{color:var(--ink-faint);margin-top:2px;font-size:11.5px}.report-message{min-height:132px}.report-counter{color:var(--ink-faint);font-variant-numeric:tabular-nums;align-self:flex-end;font-size:11px}.report-shot-field .macro-hint{margin-top:0}.report-drop{border:1.5px dashed var(--line);background:var(--surface);width:100%;font-family:var(--font-body);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:14px;transition:border-color .15s,background .15s;display:flex}.report-drop:hover,.report-drop.over{border-color:var(--a);background:var(--a-tint)}.report-drop-icon{background:var(--a-tint);width:40px;height:40px;color:var(--a);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.report-drop-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.report-drop-copy .t{color:var(--ink);font-size:14px;font-weight:600}.report-drop-copy .d{color:var(--ink-soft);font-size:12px;line-height:1.4}@media (hover:none) and (pointer:coarse){.report-drop-copy .d{display:none}}.report-shot{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.report-thumb{object-fit:cover;background:var(--surface-alt);border-radius:10px;flex-shrink:0;width:56px;height:56px}.report-shot-meta{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.report-shot-meta .n{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.report-shot-meta .s{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11.5px}.report-shot .report-shot-change{border-radius:10px;flex-shrink:0;width:auto;min-height:38px;margin:0;padding:0 14px;font-size:13px}.report-context{background:var(--surface-alt);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.report-context-title{color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.report-chips{flex-wrap:wrap;gap:6px;display:flex}.report-chip{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);overflow-wrap:anywhere;border-radius:99px;padding:4px 10px;font-size:11.5px}.report-thanks{align-items:flex-start}.report-thanks-icon{background:var(--a-tint);width:44px;height:44px;color:var(--a);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.report-thanks-body{margin:0;font-size:14px;line-height:1.5}.switch-list{flex-direction:column;margin:4px 22px 0;display:flex}.switch-row{cursor:pointer;align-items:center;gap:16px;padding:12px 0;display:flex}.switch-row+.switch-row{border-top:1px solid var(--line)}.switch-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.switch-title{color:var(--ink);font-size:14px;font-weight:600}.switch-sub{color:var(--ink-soft);font-size:12px;line-height:1.45}.switch-req{background:var(--surface-alt);color:var(--ink-soft);border-radius:999px;align-self:flex-start;margin-top:4px;padding:2px 8px;font-size:11px;font-weight:700}.switch-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--a);cursor:pointer;flex:none;margin:0}.switch-row.off{cursor:default;opacity:.55}.switch-row.off input[type=checkbox]{cursor:default}.linklike{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.measure-head{align-items:flex-end;gap:12px;padding:28px 22px 4px;display:flex}.measure-head-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.measure-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:24px;font-weight:700}.measure-owner{color:var(--ink-soft);flex-shrink:0;align-items:center;gap:7px;margin-left:auto;font-size:12px;display:inline-flex}.measure-columns{flex-direction:column;gap:14px;padding-top:12px;display:flex}.measure-main,.measure-side{display:contents}.measure-tiles{order:1}.measure-form-weight{order:2}.measure-trend{order:3}.measure-form-tapes{order:4}.measure-tapes{order:5}.measure-history-card{order:6}.measure-data-card{order:7}.measure-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 22px;display:grid}.measure-tiles .measure-tile:last-child{grid-column:1/-1}.measure-tile{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.measure-tile-label{color:var(--ink-soft);font-size:11.5px}.measure-tile-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;font-size:24px;font-weight:600;line-height:1.1;display:flex}.measure-tile-unit{color:var(--ink-soft);font-size:12.5px;font-weight:500}.measure-tile-note{color:var(--ink-soft);font-size:11.5px}.measure-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;margin:0 22px;padding:16px;display:flex}.measure-card h2{font-family:var(--font-display);margin:0;font-size:15px;font-weight:600}.measure-card-titles{flex-direction:column;gap:2px;display:flex}.measure-card-sub{color:var(--ink-soft);font-size:12px;line-height:1.45}.measure-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.measure-card-head .measure-card-titles{flex:auto;min-width:0}.measure-card .field{padding:6px 0}.measure-card .hint{padding:0}.measure-card .empty,.measure-card .auth-error{margin:0}.measure-card .weight-chart{padding:0}.measure-card .primary-btn,.measure-card .secondary-btn{width:100%;margin:4px 0 0}.measure-ranges{flex:none;margin:0}.measure-ranges .scope-tab{flex:none;min-width:44px;min-height:44px;padding:6px 10px;font-size:12px}.measure-chart{--chart-h:180px}.measure-chart-canvas{position:relative}.measure-chart-values{pointer-events:none;position:absolute;inset:0}.measure-chart-dot{background:var(--a);width:7px;height:7px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin:-3.5px 0 0 -3.5px;position:absolute}.measure-chart-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-150%)}.measure-chart-value.start{transform:translateY(-150%)}.measure-chart-value.end{transform:translate(-100%,-150%)}.measure-chart-xaxis{height:16px;margin-top:6px;position:relative}.measure-chart-day{color:var(--ink-faint);white-space:nowrap;font-size:10.5px;position:absolute;top:0;transform:translate(-50%)}.measure-chart-day.start{transform:translate(0)}.measure-chart-day.end{transform:translate(-100%)}.measure-legend{color:var(--ink-soft);gap:14px;font-size:12px;display:flex}.measure-legend-item{align-items:center;gap:7px;display:inline-flex}.measure-legend-swatch{background:var(--a);border-radius:2px;width:16px;height:2px}.measure-tapes{container-type:inline-size}.measure-table{flex-direction:column;display:flex;overflow-x:auto}.measure-table-head,.measure-table-row{grid-template-columns:minmax(92px, 1fr) repeat(var(--tape-cols), minmax(44px, 54px)) minmax(70px, 84px);align-items:center;gap:8px;min-width:100%;display:grid}.measure-table-head{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);padding-bottom:6px;font-size:10.5px;font-weight:700}.measure-table-row{border-top:1px solid var(--line);padding:9px 0;font-size:12.5px}.measure-table .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-soft)}.measure-table-row .num.latest{color:var(--ink);font-weight:700}.measure-table-name{font-weight:600}.measure-table-change{color:var(--ink);font-weight:700}.measure-table-change.faint{color:var(--ink-faint);font-weight:600}@container (max-width:420px){.measure-table-head,.measure-table-row{grid-template-columns:minmax(0,1fr) repeat(2,minmax(44px,56px)) minmax(66px,86px)}.measure-table-head>:nth-last-child(n+4):not(:first-child),.measure-table-row>:nth-last-child(n+4):not(:first-child){display:none}}.measure-history{flex-direction:column;display:flex}.measure-history-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date value""tapes actions";align-items:center;gap:2px 10px;padding:9px 0;font-size:12.5px;display:grid}.measure-history-date{color:var(--ink-soft);grid-area:date}.measure-history-value{text-align:right;font-variant-numeric:tabular-nums;grid-area:value;font-weight:700}.measure-history-tapes{color:var(--ink-faint);grid-area:tapes;font-size:11.5px}.measure-history-actions{grid-area:actions;justify-self:end;gap:2px;display:inline-flex}.measure-history-btn{border-radius:var(--radius-sm);width:44px;height:44px;font:inherit;color:var(--graphic-soft);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.measure-history-btn:hover{background:var(--surface-alt);color:var(--ink)}.measure-history-btn.danger{color:var(--clay)}.measure-more{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-self:center;padding:0 16px;font-size:12.5px;font-weight:700}.measure-fields{flex-direction:column;display:flex}.measure-export{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.measure-export:disabled{opacity:.6;cursor:progress}.measure-edit-card .field{padding:0}.measure-edit-card .measure-fields{gap:16px}.measure-edit-tapes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.measure-edit-tapes-group{flex-direction:column;gap:10px;display:flex}.measure-edit-main{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.measure-edit-spacer{flex-grow:1}.dialog-foot .primary-btn,.dialog-foot .secondary-btn,.measure-wipe-foot .secondary-btn,.measure-wipe-foot .danger-btn{border-radius:999px;width:auto;min-height:46px;margin:0;padding:0 20px}.measure-wipe-foot .danger-btn{background:var(--clay-ink);color:var(--on-clay-ink);border:none}.dialog-foot .measure-foot-link,.measure-wipe-foot .measure-foot-link{flex:1 0 100%}.dialog-foot .measure-edit-spacer,.measure-wipe-foot .measure-edit-spacer{display:none}.dialog-foot .primary-btn,.dialog-foot .secondary-btn,.measure-wipe-foot .secondary-btn,.measure-wipe-foot .danger-btn{flex:1 1 0}.dialog-foot .required-summary,.measure-wipe-foot .required-summary{flex:1 0 100%}.dialog-foot .required-summary:empty,.measure-wipe-foot .required-summary:empty{display:none}.measure-wipe-card{--dialog-max-width:640px}.measure-wipe-head{align-items:flex-start;gap:16px;padding:22px 20px 8px;display:flex}.measure-wipe-icon{background:var(--clay-tint);width:48px;height:48px;color:var(--clay-ink);border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.measure-wipe-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.measure-wipe-copy h2{font-family:var(--font-display);letter-spacing:-.3px;margin:0;font-size:20px;font-weight:700}.measure-wipe-copy p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.55}.measure-wipe-note{font-size:13px!important}.measure-wipe-field{padding:12px 20px 8px}.measure-wipe-field input{letter-spacing:.08em;max-width:220px;font-weight:700}.measure-wipe-hint{color:var(--ink-soft);margin:0;font-size:12.5px;line-height:1.45}.measure-wipe-foot{flex-wrap:wrap;align-items:center;gap:10px;padding:16px 20px 22px;display:flex}.danger-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.measure-foot-link{min-height:44px;color:var(--a);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 4px;font-size:14px;font-weight:700;display:inline-flex}.measure-foot-link.danger{color:var(--clay-ink)}.measure-wipe-link{min-height:44px;color:var(--clay-ink);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.measure-note{color:var(--ink-soft);margin:0;font-size:11.5px;line-height:1.5}.daytype-swatch{border-radius:5px;flex-shrink:0;width:14px;height:14px;display:inline-block}.daytype-swatch.tiny{vertical-align:middle;border-radius:3px;width:8px;height:8px;margin-right:6px}.daytype-swatch.pickable{cursor:pointer;border:2px solid #0000;border-radius:9px;width:36px;height:36px;padding:0}.daytype-swatch.pickable.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface) inset}.daytype-colors{flex-wrap:wrap;gap:8px;display:flex}.daytype-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.daytype-row:last-of-type{border-bottom:0}.daytype-info{flex:1;min-width:0}.daytype-name{color:var(--ink);font-size:14px;font-weight:600}.daytype-target{color:var(--ink-soft);margin-top:2px;font-size:12px}.daytype-week-row{border-bottom:1px solid var(--line);padding:10px 0}.daytype-week-row:last-of-type{border-bottom:0}.daytype-week-day{color:var(--ink);text-transform:capitalize;margin-bottom:6px;font-size:13px;font-weight:600}.daytype-week-pills{flex-wrap:wrap;gap:13px 6px;display:flex}.daytype-choice{cursor:pointer;align-items:center;gap:10px;padding:9px 0;display:flex}.daytype-choice input{flex-shrink:0;margin:0}.daytype-choice.locked{cursor:default;opacity:.65}.daytype-choice-name{color:var(--ink);font-size:13.5px}.daytype-choice-sub{color:var(--ink-soft);font-size:12px}.daytype-preview{color:var(--ink-soft);padding:8px 0 2px;font-size:12px;line-height:1.5}.daytype-past-note{color:var(--ink-soft);padding:6px 0 2px;font-size:12px;line-height:1.5}.calibration-chart-expected{fill:none;stroke:var(--graphic-faint);stroke-width:1.5px;stroke-dasharray:4 3;stroke-linejoin:round}.calibration-legend{flex-wrap:wrap;gap:14px;margin-top:8px;font-size:11.5px;display:flex}.calibration-legend span{color:var(--ink-soft);align-items:center;gap:5px;display:inline-flex}.calibration-legend span:before{content:"";border-top-style:solid;border-top-width:2px;width:14px;height:0}.calibration-legend-actual:before{border-top-color:var(--a)}.calibration-legend-expected:before{border-top-color:var(--graphic-faint);border-top-style:dashed}.calibration-headline{margin:10px 0 6px;font-size:15px;font-weight:600}.calibration-reason{color:var(--ink-soft);font-size:12.5px;line-height:1.45}.calibration-note{color:var(--ink-faint);margin-top:6px;font-size:11.5px;line-height:1.4}.calibration-actions{gap:8px;margin-top:12px;display:flex}.calibration-actions button{flex:1;margin:0}.peri-workout{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin:4px 22px 0;padding:14px 16px}.peri-workout-head{margin-bottom:10px}.peri-workout-title{font-size:14px;font-weight:600}.peri-workout-time{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.peri-workout-note{color:var(--ink-soft);margin-top:4px;font-size:12.5px;line-height:1.35}.peri-workout-window+.peri-workout-window{margin-top:4px}.peri-workout-macros{color:var(--ink-faint);margin-top:2px;font-size:11.5px}.peri-workout-planned{color:var(--a)}.peri-window-picker{margin:0 22px 12px}.peri-window-select{border:1px solid var(--control-line);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;padding:10px 12px;font-size:14px}.peri-window-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.peri-window-cell{color:var(--ink-soft);flex-direction:column;justify-content:space-between;gap:4px;font-size:11.5px;display:flex}.peri-window-cell input{width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.onboarding-screen{flex-direction:column;max-width:460px;min-height:100dvh;margin:0 auto;padding:0 0 40px;display:flex}.onb-shell{background:var(--bg);min-height:100dvh;display:flex}.onb-main{flex-direction:column;flex:1;min-width:0;display:flex}.onb-col{flex-direction:column;flex:1;width:100%;max-width:460px;min-height:0;margin:0 auto;display:flex}.onb-brand{align-items:center;gap:8px;margin:0;padding:14px 16px 4px;display:flex}.onb-brand .mark{flex-shrink:0;width:30px;height:30px;display:block}.onb-brand span{font-family:var(--font-display);font-size:19px;font-weight:600}.onboarding-progress{align-items:center;gap:12px;padding:10px 16px 6px;display:flex}.onb-back{min-height:44px;color:var(--a);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.onboarding-progress-spacer{flex-shrink:0;width:40px}.onboarding-dots{flex:1;gap:5px;display:flex}.onboarding-dots .dot{background:var(--surface-alt);border-radius:99px;flex:1;height:4px;transition:background .2s}.onboarding-dots .dot.on{background:var(--a)}.onb-stepcount{color:var(--ink-soft);white-space:nowrap;font-size:12px;font-weight:700}.onboarding-step{flex-direction:column;flex:1;gap:18px;padding:6px 16px 0;display:flex}.entry-body{padding:24px 16px calc(32px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;gap:18px;display:flex}.onb-head{flex-direction:column;gap:8px;display:flex}.onboarding-step .screen-title,.entry-body .screen-title{letter-spacing:-.5px;margin:0;font-size:28px;font-weight:700;line-height:1.1}.onb-lead{color:var(--ink-soft);margin:0;font-size:16px;line-height:1.55}.onb-note{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.onboarding-step .field,.entry-body .field{gap:6px;padding:0}.onboarding-step .field label,.entry-body .field label{font-size:13px}.onboarding-step .field input,.onboarding-step .field select,.entry-body .field input:not([type=checkbox]):not([type=radio]),.entry-body .field select{border-width:1.5px;border-radius:12px;min-height:48px;font-size:16px;font-weight:600}.onb-fields{flex-direction:column;gap:12px;display:flex}.onb-field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.onb-input-unit{display:flex;position:relative}.onb-input-unit input{width:100%;padding-right:48px}.onb-input-unit>span{height:100%;color:var(--ink-soft);pointer-events:none;align-items:center;font-size:14px;display:inline-flex;position:absolute;top:0;right:14px}.onb-features{flex-direction:column;gap:10px;display:flex}.onb-feature{background:var(--surface);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.onb-feature-icon{background:var(--a-tint);width:36px;height:36px;color:var(--a);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.onb-choices{flex-direction:column;gap:10px;display:flex}.onb-choice{background:var(--surface);border:1.5px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;border-radius:18px;align-items:center;gap:14px;padding:16px 18px;font-family:inherit;display:flex}.onb-choice.is-picked{background:var(--a-tint);border-color:var(--a)}.onb-choice-icon{background:var(--a-tint);width:44px;height:44px;color:var(--a);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.onb-choice.is-picked .onb-choice-icon{background:var(--surface)}.onb-choice-texts{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.onb-choice-title{font-family:var(--font-display);font-size:17px;font-weight:600}.onb-choice-sub{color:var(--ink-soft);font-size:13px}.onb-choice-tick{border:2px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.onb-choice.is-picked .onb-choice-tick{background:var(--a);border-color:var(--a);color:var(--on-a)}.onb-chips{flex-wrap:wrap;gap:8px;display:flex}.onb-chip{background:var(--surface);border:1.5px solid var(--line);min-height:44px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:99px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:600}.onb-chip.is-picked{background:var(--a-tint);border-color:var(--a);color:var(--a)}.onb-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;flex-direction:column;gap:16px;padding:20px;display:flex}.onb-card .segmented{margin:0}.onb-pace-headline{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.onb-pace-kg{font-family:var(--font-display);letter-spacing:-.5px;color:var(--a);font-size:34px;font-weight:700}.onb-pace-unit{color:var(--ink-soft);font-size:15px}.onb-pace-scale{flex-direction:column;gap:8px;display:flex}.onb-pace-track{background:linear-gradient(90deg, var(--a-tint), var(--a) 50%, var(--b));border-radius:99px;height:8px;position:relative}.onb-pace-knob{background:var(--surface);border:3px solid var(--a);border-radius:50%;width:22px;height:22px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0003}.onb-pace-ticks{color:var(--ink-soft);justify-content:space-between;gap:8px;font-size:12px;display:flex}.onb-pace-foot{border-top:1px solid var(--line);color:var(--ink-soft);align-items:center;gap:6px;padding-top:14px;font-size:13px;display:flex}.onb-plan-top{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.onb-plan .donut-hole{inset:15px}.onb-plan .donut-hole b{font-size:30px;font-weight:600}.onb-plan .donut-hole small{color:var(--ink-soft);font-size:12px}.onb-plan-stats{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:14px;display:flex}.onb-plan-stats strong{color:var(--ink)}.onb-plan-badge{background:var(--a-tint);color:var(--a);border-radius:99px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:700}.onb-plan-macros{flex-direction:column;gap:12px;display:flex}.onb-macro{flex-direction:column;gap:6px;display:flex}.onb-macro-line{justify-content:space-between;gap:10px;font-size:14px;display:flex}.onb-macro-name{color:var(--ink-soft);align-items:center;gap:8px;font-weight:600;display:inline-flex}.onb-macro-line strong{font-variant-numeric:tabular-nums}.onb-macro-track{background:var(--surface-alt);border-radius:99px;height:6px;overflow:hidden}.onb-macro-fill{border-radius:99px;height:100%}.offer-tabs{margin:0}.onb-offer-card{background:var(--surface);border:1.5px solid var(--line);border-radius:22px;flex-direction:column;gap:10px;padding:18px;display:flex;position:relative}.onb-offer-card.is-featured{border-color:var(--a);box-shadow:var(--shadow)}.onb-offer-badge{background:var(--emphasis-bg);color:var(--emphasis-text);border-radius:99px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:-12px;left:16px}.onb-offer-card h4{font-family:var(--font-display);margin:0;font-size:20px;font-weight:600}.onb-offer-card p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.onb-offer-benefits{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.onb-offer-benefits li{align-items:flex-start;gap:8px;font-size:14px;line-height:1.4;display:flex}.onb-offer-benefits svg{color:var(--a);flex-shrink:0;margin-top:2px}.onb-pair-visual{background:var(--surface);border:1px solid var(--line);border-radius:22px;justify-content:center;align-items:center;gap:14px;padding:22px;display:flex}.onb-pair-disc{border:2px solid var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:18px;font-weight:700;display:inline-flex}.onb-pair-disc.a{background:var(--a);color:var(--on-a)}.onb-pair-disc.b{background:var(--b);color:var(--on-b)}.onb-pair-link{color:var(--a);flex-direction:column;align-items:center;gap:4px;display:flex}.onb-pair-link span{letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:700}.onb-actions{padding:10px 16px calc(18px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);flex-direction:column;gap:8px;margin:auto -16px 0;display:flex;position:sticky;bottom:0}.onb-actions .primary-btn,.onb-actions .secondary-btn,.onb-offer-card .primary-btn,.onb-offer-card .secondary-btn{justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;margin:0;text-decoration:none;display:inline-flex}.onb-actions .secondary-btn,.onb-offer-card .secondary-btn{min-height:48px}.onb-textlink{min-height:44px;color:var(--a);cursor:pointer;background:0 0;border:none;align-self:center;align-items:center;padding:0;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.entry-form{flex-direction:column;gap:14px;display:flex}.entry-actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.entry-actions .primary-btn,.entry-actions .secondary-btn{text-align:center;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;margin:0;text-decoration:none;display:inline-flex}.entry-actions .secondary-btn{min-height:48px}.entry-actions .required-summary p{margin:0}.entry-links{flex-direction:column;align-items:center;display:flex}.entry-link{min-height:44px;color:var(--a);align-items:center;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.entry-link:hover{text-decoration:underline}button.entry-link{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.entry-field-link{align-self:flex-start;margin-top:-8px}.entry-switch{color:var(--ink-soft);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:6px;margin:0;font-size:14px;display:flex}.entry-note{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.entry-divider{color:var(--ink-faint);text-transform:lowercase;align-items:center;gap:12px;font-size:12px;display:flex}.entry-divider:before,.entry-divider:after{content:"";background:var(--line);flex:1;height:1px}.onb-aside{background:var(--emphasis-bg);width:480px;color:var(--emphasis-text);flex-direction:column;flex-shrink:0;gap:40px;padding:40px 44px;display:none}.onb-aside-brand{align-items:center;gap:10px;display:flex}.onb-aside-brand .mark{flex-shrink:0;width:36px;height:36px;display:block}.onb-aside-brand span{font-family:var(--font-display);font-size:22px;font-weight:600}.onb-pitch h2{font-family:var(--font-display);letter-spacing:-.5px;margin:0;font-size:40px;font-weight:700;line-height:1.08}.onb-pitch p{color:#ffffffc7;margin:18px 0 0;font-size:15px;line-height:1.55}.onb-stepper{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.onb-stepper li{color:#fff9;align-items:center;gap:12px;min-height:40px;font-size:15px;font-weight:500;display:flex}.onb-stepper li.is-current{color:var(--emphasis-text);font-weight:700}.onb-stepper-num{border:1.5px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}.onb-stepper li.is-current .onb-stepper-num{background:var(--emphasis-text);color:var(--emphasis-bg);border-color:var(--emphasis-text)}.onb-stepper li.is-done .onb-stepper-num{background:#fff3;border-color:#0000}.onb-sample{background:#ffffff14;border-radius:20px;flex-direction:column;gap:10px;margin-top:auto;padding:18px 20px;display:flex}.onb-sample-caption{letter-spacing:.5px;text-transform:uppercase;color:var(--on-emphasis-soft);font-size:11px;font-weight:700}.onb-sample-head{color:#ffffffc7;align-items:center;gap:10px;font-size:13px;display:flex}.onb-sample-disc{border:2px solid var(--emphasis-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:inline-flex}.onb-sample-disc.a{background:var(--a);color:var(--on-a)}.onb-sample-disc.b{background:var(--b);color:var(--on-b);margin-left:-14px}.onb-sample-pills{flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.onb-sample-pills span{border-radius:99px;padding:6px 10px;font-weight:700}.onb-sample-pills .a{color:var(--emphasis-bg);background:#fff}.onb-sample-pills .b{background:var(--b-tint);color:var(--b-ink)}.onb-sample-note{color:var(--on-emphasis-soft);font-size:12px}.meal-tabs{margin-bottom:10px}.quick-add,.recipe-picker{margin:0 22px 10px}.recipe-picker .primary-btn,.recipe-picker .secondary-btn{width:100%;margin:10px 0 0}.quick-add .hint{margin:0 0 10px}.quick-add-row{gap:8px;margin-bottom:8px;display:flex}.quick-add-field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.quick-add-field label{color:var(--ink-soft);font-size:11px;font-weight:600}.quick-add-field input{box-sizing:border-box;border:1px solid var(--control-line);width:100%;min-height:40px;font-family:var(--font-body);color:var(--ink);background:var(--surface);border-radius:10px;padding:9px 10px;font-size:14px}.quick-add-warning{color:var(--danger,#b3261e);margin:0 0 8px;font-size:12px}.delete-flow{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:12px 22px 24px;padding:16px}.delete-flow .screen-title,.delete-flow .hint,.delete-flow .settings-label,.delete-flow .field{margin-left:0;margin-right:0}.flow-heading{margin:0}.delete-flow-list{color:var(--ink-soft);margin:4px 0 8px;padding-left:20px;font-size:13px}.delete-flow-list li{margin:2px 0}.delete-flow-partner{background:var(--surface-alt);border-radius:12px;margin-top:12px;padding:12px}.delete-flow-actions{gap:10px;margin-top:16px;display:flex}.delete-flow-actions button{flex:1;width:auto;margin:0}.reauth-switch{margin-top:12px;display:block}.match-reason{color:var(--ink-faint);margin:6px 0 0;font-size:11px;line-height:1.45}.plan-badge{letter-spacing:.02em;background:var(--surface-alt);color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.plan-badge[data-tier=PREMIUM],.plan-badge[data-tier=PRO]{background:var(--a-tint);color:var(--a);border-color:#0000}.plan-current-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-current-until{font-family:var(--font-display);color:var(--ink);font-size:15px}.plan-source{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.plan-source-label{color:var(--ink-faint);margin-bottom:4px;font-size:11.5px;font-weight:700}.plan-source-text{color:var(--ink-soft);font-size:12.5px;line-height:1.5}.plan-cards{flex-direction:column;gap:12px;margin:0 22px;display:flex}.plan-card{background:var(--surface);border:1.5px solid var(--line);border-radius:22px;padding:18px}.plan-card.is-picked{border-color:var(--a)}.plan-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-card-head h3{font-family:var(--font-display);font-size:16px;font-weight:600}.plan-card-scope{color:var(--ink-faint);margin:0 0 8px;font-size:11px}.plan-price{flex-direction:column;gap:2px;margin:12px 0 0;display:flex}.plan-price-main{font-family:var(--font-display);color:var(--ink);font-size:18px}.plan-price-alt{color:var(--ink-faint);font-size:11.5px}.plan-features{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.plan-features li{color:var(--ink-soft);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.45;display:flex}.plan-features svg{color:var(--a);flex:none;margin-top:2px}.plan-buy{width:100%;margin:12px 0 0}.plan-soon-note{color:var(--ink-faint);text-align:center;margin-top:6px;font-size:11px}.menu-row .plan-badge{flex:none}.service-banner{background:var(--b-tint);border-bottom:1px solid var(--b);color:var(--ink);align-items:center;gap:8px;padding:10px 16px;font-size:14px;line-height:1.4;display:flex}.service-banner-text{overflow-wrap:anywhere;flex:1;min-width:0}.service-banner-close{width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.service-banner-close:hover{background:var(--surface)}.dialog-overlay.is-blocking.app-blocked-overlay{z-index:1000}.app-blocked-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow);margin:auto 0;padding:32px 24px}.app-blocked-icon{background:var(--clay-tint);width:56px;height:56px;color:var(--clay);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.app-blocked-title{font-family:var(--font-display);color:var(--ink);margin:0 0 12px;font-size:22px}.app-blocked-message{color:var(--ink);overflow-wrap:anywhere;margin:0 0 8px;font-size:15px;line-height:1.5}.app-blocked-hint{color:var(--ink-soft);margin:0 0 20px;font-size:14px}.app-blocked-footer{color:var(--ink-faint);margin-top:16px;font-size:13px}.turnstile-widget{justify-content:center;min-height:24px;padding:8px 22px 0;display:flex}.google-signin-btn{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:4px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:320px;height:40px;margin:0 auto;padding:0 12px;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:500;display:flex}.google-signin-btn:hover{background:#f8f9fa}.google-signin-btn:focus-visible{outline:2px solid var(--brand,#1f4a3e);outline-offset:2px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .google-signin-btn{color:#e3e3e3;outline-color:var(--a);background:#131314;border-color:#8e918f}:root:not([data-theme=light]) .google-signin-btn:hover{background:#1f1f20}}:root[data-theme=dark] .google-signin-btn{color:#e3e3e3;outline-color:var(--a);background:#131314;border-color:#8e918f}:root[data-theme=dark] .google-signin-btn:hover{background:#1f1f20}.google-terms-gate{border-radius:var(--radius-sm);background:var(--surface-alt);margin-top:14px;padding:14px}.identity-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.identity-row .t{font-size:14px;font-weight:600}.identity-row .d{color:var(--ink-soft);margin-top:2px;font-size:12px}.meal-head,.meal-columns,.meal-main,.meal-build,.meal-side{flex-direction:column;min-width:0;display:flex}.meal-head-title{flex:1;min-width:0}.ing-list-label{margin-top:10px;margin-bottom:2px}.meal-build-error{margin:0 22px 8px}.meal-build-empty{border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--ink-soft);text-align:center;margin:10px 22px 2px;padding:16px;font-size:13px;line-height:1.5}.meal-build-hint{margin:0}.product-search-row{align-items:center;gap:8px;display:flex}.product-search-box{border:1px solid var(--control-line);border-radius:var(--radius-md);background:var(--surface);min-width:0;color:var(--ink-faint);flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.field .product-search-box input{background:0 0;border:none;border-radius:0;flex:1;min-width:0;min-height:44px;padding:13px 0}.field .product-search-box input:focus{outline:none}.product-search-box:focus-within{outline:2px solid var(--a);outline-offset:1px}.product-search-status{color:var(--ink-faint);flex-shrink:0;font-size:12px}.recipe-pick-list{flex-direction:column;gap:8px;padding:10px 0 0;display:flex}.recipe-pick-row{border:1px solid var(--line);background:var(--surface);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:18px;align-items:center;gap:12px;padding:10px 12px;display:flex}.recipe-pick-row:hover{border-color:var(--a)}.recipe-pick-row.is-selected{border-color:var(--a);background:var(--a-tint);cursor:default;margin-bottom:10px}.recipe-pick-thumb{object-fit:cover;background:var(--surface-alt);border-radius:14px;flex-shrink:0;width:52px;height:52px}.recipe-pick-thumb.placeholder{background:var(--a-tint);color:var(--a);justify-content:center;align-items:center;display:inline-flex}.recipe-pick-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.recipe-pick-title{font-family:var(--font-display);font-size:15px;font-weight:600}.recipe-pick-sub{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12.5px}.recipe-pick-macros{color:var(--ink-faint);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:10px;font-size:11.5px;display:flex}.recipe-pick-macros>span{align-items:center;gap:4px;display:inline-flex}.recipe-pick-macros .dot{border-radius:50%;width:6px;height:6px}.recipe-pick-macros strong{color:var(--ink)}.recipe-pick-add{border:1px solid var(--line);width:36px;height:36px;color:var(--a);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.meal-side-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:14px;margin:14px 22px 0;padding:16px;display:flex}.meal-side-head{align-items:center;gap:10px;display:flex}.meal-side-head h2{min-width:0;font-family:var(--font-display);flex:1;margin:0;font-size:17px;font-weight:600}.meal-side-head .initial-disc{width:26px;height:26px;font-size:11px}.meal-side-empty{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.meal-side-ring-row{align-items:center;gap:16px;display:flex}.meal-side-legend{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.meal-side-legend .settings-label{margin:0 0 1px}.meal-side-legend-row{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.meal-side-legend-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.meal-side-legend-row .badge{margin-top:0}.meal-side-legend-item{color:var(--ink-soft);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:13px;display:flex}.meal-side-legend-item .sw{border-radius:3px;flex-shrink:0;width:10px;height:10px}.meal-side-legend-left{color:var(--ink);font-weight:600}.meal-side-pending{color:var(--ink-soft);margin:7px 0 0;font-size:11.5px;line-height:1.45}.meal-side-day{flex-direction:column;gap:8px;display:flex}.meal-side-day .settings-label,.meal-side .portion-boxes{margin:0}.meal-side .portion-box{padding:12px 14px}.meal-side .portion-box-kcal b{font-size:19px}.meal-side-card .primary-btn,.meal-side-card .secondary-btn,.meal-side-card .danger-btn{width:100%;margin:0}.prod-head{align-items:flex-start;gap:12px;padding:28px 22px 4px;display:flex}.prod-head-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.prod-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:19px;font-weight:700}.prod-req{color:var(--ink-faint);font-size:12px}.prod-columns{flex-direction:column;gap:14px;padding-top:12px;display:flex}.prod-main,.prod-side{display:contents}.prod-scan{order:1}.prod-basics{order:2}.prod-nutrition{order:3}.prod-details{order:4}.prod-share{order:5}.prod-preview{order:6}.prod-actions{order:7}.prod-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;margin:0 22px;padding:16px;display:flex}.prod-card h2{font-family:var(--font-display);margin:0;font-size:15px;font-weight:600}.prod-card-titles{flex-direction:column;gap:2px;display:flex}.prod-card-sub{color:var(--ink-soft);font-size:12px;line-height:1.45}.prod-card-head{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.prod-card-head .prod-card-titles{flex:auto;min-width:0}.prod-card .field{padding:0}.prod-card .field .prod-group-label{color:var(--ink-soft);font-size:12px;font-weight:600}.prod-card .hint{padding:0}.prod-card .segmented,.prod-card .settings-label,.prod-card .auth-error{margin:0}.prod-card .field textarea{min-height:64px}.prod-row{flex-direction:column;gap:12px;display:flex}.prod-badge{background:var(--a-tint);color:var(--a);border-radius:99px;flex-shrink:0;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.prod-macros{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.prod-macro label{align-items:center;gap:6px;display:inline-flex}.prod-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.prod-dot.protein{background:var(--m-protein)}.prod-dot.carbs{background:var(--m-carbs)}.prod-dot.fat{background:var(--m-fat)}.prod-computed{background:var(--a-tint);color:var(--ink-soft);border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.45}.prod-input-wrap{display:flex;position:relative}.prod-input-wrap input{width:100%}.prod-scan-btn{background:var(--a-tint);width:34px;height:34px;color:var(--a);cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.prod-share .share-toggle{padding:0}.prod-preview-row{border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:14px;display:flex}.prod-preview-head{align-items:center;gap:12px;display:flex}.prod-preview-icon{background:var(--a-tint);width:42px;height:42px;color:var(--a);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.prod-preview-names{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.prod-preview-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.prod-preview-meta{color:var(--ink-soft);font-size:12px}.prod-preview-status{background:var(--surface-alt);color:var(--ink-soft);border-radius:99px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700}.prod-preview-macros{border-top:1px dashed var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:10px;display:grid}.prod-preview-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.prod-preview-stat .v{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.prod-preview-stat .k{letter-spacing:.04em;text-transform:uppercase;min-width:0;color:var(--ink-soft);align-items:center;gap:4px;font-size:10px;font-weight:700;display:inline-flex}.prod-preview-stat .k .t{overflow-wrap:anywhere;min-width:0}.prod-preview-basis{color:var(--ink-soft);font-size:11.5px}.prod-preview-note{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.prod-scan-head{align-items:center;gap:12px;display:flex}.prod-scan-icon{background:var(--b-tint);width:42px;height:42px;color:var(--b-ink);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.prod-scan-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.prod-scan-copy .t{font-size:13px;font-weight:700}.prod-scan-copy .d{color:var(--ink-soft);font-size:11.5px;line-height:1.4}.prod-card .primary-btn,.prod-card .secondary-btn{width:100%;margin:0}.prod-cancel{font-family:var(--font-body);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-self:center;padding:6px 8px;font-size:13px;font-weight:600}.dialog-overlay{z-index:60;background:var(--scrim);justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.dialog-overlay.is-alert{align-items:center;padding:22px}.dialog-overlay.is-blocking{z-index:900;background:var(--bg);align-items:stretch;padding:32px 16px;overflow-y:auto}.dialog-root:focus{outline:none}.dialog-card{background:var(--surface);width:100%;max-width:460px;max-height:94dvh;color:var(--ink);border-radius:28px 28px 0 0;flex-direction:column;animation:.18s ease-out dialog-in;display:flex;overflow:hidden;box-shadow:0 30px 80px #18211c59}.dialog-card.is-alert{max-width:var(--dialog-max-width,420px);border-radius:28px;max-height:calc(100dvh - 44px)}.dialog-head{flex-shrink:0;align-items:flex-start;gap:16px;padding:20px 20px 14px;display:flex}.dialog-head-texts{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.dialog-title{font-family:var(--font-display);letter-spacing:-.3px;overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700}.dialog-sub{color:var(--ink-soft);margin:0;font-size:14px}.dialog-body{flex-direction:column;flex:auto;gap:20px;min-height:0;padding:0 20px 20px;display:flex;overflow-y:auto}.dialog-foot{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dialog-card{animation:none}}.dialog-close{border:1.5px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dialog-close:hover{border-color:var(--control-line)}.qty-dialog{max-width:760px}.qty-head{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;padding:14px 16px 12px;display:flex}.qty-head-icon{background:var(--a-tint);width:44px;height:44px;color:var(--a);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.qty-head-texts{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.qty-title{font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:600;line-height:1.15}.qty-sub{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.4}.qty-sub strong{color:var(--ink)}.qty-form{flex-direction:column;flex:auto;min-height:0;display:flex}.qty-body{flex:auto;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));align-items:start;gap:18px;min-height:0;padding:16px;display:grid;overflow-y:auto}.qty-col{flex-direction:column;gap:18px;min-width:0;display:flex}.qty-preview{gap:10px}.qty-group{flex-direction:column;gap:8px;display:flex}.qty-group-label{letter-spacing:.8px;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:700}.qty-units{border-radius:16px;margin:0;padding:4px}.qty-units .scope-tab{border-radius:12px;min-height:44px;font-size:14px;font-weight:700}.qty-unit-static{color:var(--ink);margin:0;font-size:14px;font-weight:600}.quick-amount-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.quick-amount{border:1.5px solid var(--line);background:var(--surface);min-width:0;min-height:58px;color:var(--ink);font-family:var(--font-body);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 6px;display:flex}.quick-amount:hover{border-color:var(--control-line)}.quick-amount.on{background:var(--a-tint);box-shadow:inset 0 0 0 2px var(--selected-line);border-color:#0000}.quick-amount-badge{letter-spacing:.4px;text-transform:uppercase;color:var(--m-protein-ink);font-size:9px;font-weight:700}.quick-amount-label{white-space:nowrap;font-size:15px;font-weight:700}.quick-amount-detail,.quick-amount-kcal{color:var(--ink-soft);white-space:nowrap;font-size:12px}.qty-stepper{flex-direction:column;gap:8px;display:flex}.qty-stepper-label{color:var(--ink-soft);font-size:12px;font-weight:600}.qty-stepper-row{align-items:center;gap:10px;display:flex}.qty-step-btn{border:1.5px solid var(--control-line);background:var(--surface);width:48px;height:48px;color:var(--ink);cursor:pointer;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.qty-step-btn:disabled{border-color:var(--line);color:var(--decor-faint);cursor:not-allowed}.qty-stepper-field{flex:auto;min-width:0;display:flex;position:relative}.qty-stepper-field input{border:1.5px solid var(--control-line);background:var(--surface);width:100%;height:64px;color:var(--ink);font-family:var(--font-display);text-align:center;border-radius:16px;padding:0 52px 0 16px;font-size:32px;font-weight:600}.qty-stepper-field input:focus:not([aria-invalid=true]){border-color:var(--a);box-shadow:inset 0 0 0 1px var(--a)}.qty-stepper-unit{height:64px;color:var(--ink-soft);pointer-events:none;align-items:center;font-size:16px;font-weight:600;display:inline-flex;position:absolute;top:0;right:18px}.qty-in-meal{color:var(--ink-soft);margin:0;font-size:12.5px}.qty-preview-head{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.qty-engine-note{color:var(--ink-soft);align-items:center;gap:5px;margin-left:auto;font-size:12px;display:inline-flex}.qty-cards{gap:10px;display:flex}.portion-preview{border-radius:18px;flex-direction:column;flex:1 1 0;gap:10px;min-width:0;padding:14px;display:flex}.portion-preview.a{background:var(--a-tint)}.portion-preview.b{background:var(--b-tint)}.portion-preview-head{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.portion-preview-name{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:700}.portion-preview.b .portion-preview-name{color:var(--b-ink)}.portion-preview-amount{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:15px;font-weight:700}.portion-preview .portion-preview-badge{background:var(--surface);white-space:nowrap;align-self:flex-start;margin:0}.portion-preview-caption,.portion-preview-kcal{color:var(--ink-soft);font-size:12px}.portion-preview-kcal b{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1}.portion-preview-bars{flex-direction:column;gap:8px;display:flex}.portion-preview-bars .macro-label-line{column-gap:6px;font-size:12px}.portion-preview-bars .macro-label-value{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.portion-preview-pending{color:var(--ink);margin:0;font-size:13px;line-height:1.5}.qty-foot{padding:10px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);flex-direction:column;flex-shrink:0;gap:10px;display:flex}.qty-foot-summary{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.qty-foot-person{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.qty-foot-person.b{color:var(--ink-soft)}.qty-foot-person .initial-disc{width:24px;height:24px}.qty-foot-meal{text-align:center;min-width:0;color:var(--ink-soft);flex:auto;font-size:12.5px;font-weight:500}.qty-foot-meal strong{color:var(--ink)}.qty-foot-actions{justify-content:flex-end;gap:10px;display:flex}.qty-foot-actions .primary-btn,.qty-foot-actions .secondary-btn{justify-content:center;align-items:center;gap:8px;width:auto;margin:0;padding:0 22px;display:inline-flex}.qty-foot-actions .primary-btn{border-radius:16px;flex:auto;min-height:54px}.qty-foot-actions .secondary-btn,.qty-foot-meal-prefix{display:none}.qty-foot .required-summary p{text-align:left;margin:0}@media (min-width:1180px){.app-shell{grid-template-columns:248px minmax(0,1fr);max-width:none;padding-bottom:0;display:grid}.navbar{grid-area:1/1}.app-main{grid-area:1/2}.app-shell:not(.wide) .app-main{width:100%;max-width:460px;margin:0 auto;padding:28px 0 48px}.app-shell.wide .app-main{width:100%;max-width:1240px;margin:0 auto;padding:36px 18px 48px}.navbar{border-top:none;border-right:1px solid var(--line);flex-direction:column;justify-content:flex-start;align-self:start;align-items:stretch;gap:28px;width:auto;max-width:none;height:100dvh;padding:28px 16px 20px;position:sticky;top:0;bottom:auto;left:auto;overflow-y:auto;transform:none}.navbar.sidebar-only-nav{display:flex}.nav-items{flex-direction:column;flex:none;justify-content:flex-start;align-items:stretch;gap:4px}.navitem{min-height:46px;color:var(--ink-faint);border-radius:14px;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:0 14px;font-size:15px}.navitem.active{background:var(--a-tint);box-shadow:inset 4px 0 0 var(--selected-line)}.navdot{display:none}.navitem-label.sidebar-only{display:inline}.nav-brand.sidebar-only{color:var(--ink);font-family:var(--font-display);letter-spacing:.02em;flex:none;align-items:center;gap:10px;padding:0 10px;font-size:19px;font-weight:600;text-decoration:none;display:flex}.nav-brand .mark{flex-shrink:0;width:22px;height:22px;display:block}.nav-foot.sidebar-only{flex-direction:column;gap:4px;margin-top:auto;display:flex}.nav-account{background:var(--surface-alt);border-radius:16px;align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex}.nav-avatars{flex-shrink:0;align-items:center;display:inline-flex}.nav-account-text{flex-direction:column;gap:1px;min-width:0;display:flex}.nav-account-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.nav-account-goal{color:var(--ink-soft);font-size:11.5px}.topbar{display:none}.date-chip{padding:12px 4px}.dc-dow{letter-spacing:.02em;font-size:10px}.date-chip .dc-day{font-size:17px}.date-page-btn,.date-cal-btn{width:44px}.dash-columns{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px;display:grid}.dash-main{grid-area:1/1}.dash-side{grid-area:1/2;padding-right:22px;position:sticky;top:24px}.dash-side .rings{flex-direction:column;gap:20px;padding:0}.dash-side .peri-workout{margin-left:0;margin-right:0}.dash-side .rings.solo .ring-card{max-width:none}.app-shell.wide h1.hero{font-size:34px}.flash-banner,.toast{left:calc(50% + 124px)}.toast{bottom:24px}.meal-columns{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:32px;padding:0 22px;display:grid}.meal-main{grid-column:1;gap:12px}.meal-side{grid-column:2;position:sticky;top:24px}.meal-head{flex-direction:row;align-items:flex-end;gap:24px;padding:0 22px}.meal-head .backrow{padding:0 0 4px}.meal-head .screen-title{letter-spacing:-.01em;font-size:30px;line-height:1.1}.meal-head .screen-sub{font-size:14px}.meal-head-aside{flex:none;width:340px;padding-bottom:4px}.meal-head-aside .advanced-options{position:relative}.meal-head-aside .advanced-panel{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:10px 14px 14px;position:absolute;top:calc(100% + 6px);left:0;right:0}.meal-head-aside .eaten-by,.meal-head-aside .advanced-options{padding-left:0;padding-right:0}.meal-head-aside .eaten-by{padding-top:0}.meal-build{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);gap:6px;padding:22px}.meal-build>.field,.meal-build .hint,.meal-build .ing-list,.meal-build .settings-label,.meal-build .quick-add,.meal-build .recipe-picker,.meal-build .scope-tabs,.meal-build .meal-build-error,.meal-build .meal-build-empty,.meal-build .auth-error{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.meal-build .scope-tabs{margin-top:0}.meal-build .ing-row{box-shadow:none;border:1px solid var(--line)}.meal-side-card{gap:16px;margin:0;padding:20px}.meal-side-head h2{font-size:19px}.field .product-search-box input{padding:15px 0;font-size:15px}.recipes-head{align-items:center;gap:16px;padding:0 22px}.recipes-search{flex:0 0 320px;order:2;min-height:48px}.recipes-search input{padding:13px 0;font-size:15px}.recipes-new-btn{border-radius:999px;order:3;min-height:48px;padding:0 20px;font-size:15px}.recipes-toolbar{flex-direction:row;align-items:center;gap:16px;padding:12px 22px 16px}.recipes-toolbar .scope-tabs{border-radius:16px;flex:0 0 320px;margin:0}.recipes-toolbar .scope-tab{border-radius:12px;min-height:44px;font-size:15px}.recipes-count{margin:0 0 0 auto}.recipes-columns{grid-template-columns:248px minmax(0,1fr);align-items:start;gap:32px;padding:0 22px;display:grid}.recipes-filters{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);grid-column:1;gap:14px;padding:20px}.recipes-filters .settings-label{margin:0}.recipes-filters .tag-chips{padding:0}.recipes-main{grid-column:2;gap:24px}.recipes-main .recipe-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;padding:0;display:grid}.recipes-main .recipe-card{box-shadow:var(--shadow);border-radius:22px;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.recipes-main .recipe-thumb{border-radius:0;width:100%;height:150px}.recipes-main .recipe-card-body{gap:8px;padding:16px 18px 18px}.recipes-main .recipe-card-title{font-family:var(--font-display);white-space:normal;font-size:17px;font-weight:600;line-height:1.25;overflow:visible}.recipes-main .recipe-card-sub{font-size:13px}.recipe-new-tile{border:1.5px dashed var(--line);min-height:230px;color:var(--a);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.recipe-new-tile:hover{border-color:var(--a);background:var(--a-tint)}.recipes-main .recipes-error,.recipes-main .empty{margin:0}.recipes-more{border-radius:999px;align-self:center;width:auto;margin:0;padding:12px 22px}.recipe-head{gap:8px;padding:0 22px}.recipe-title{font-size:34px}.recipe-meta{gap:10px;font-size:15px}.recipe-meta .rating-summary{font-size:15px}.recipe-columns{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px;padding:20px 22px 0;display:grid}.recipe-main,.recipe-side{flex-direction:column;gap:20px;display:flex}.recipe-main{grid-column:1}.recipe-side{grid-column:2}.recipe-hero-photo{border-radius:28px;width:100%;height:300px;margin:0}.recipe-section,.recipe-figures,.recipe-actions{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:22px 24px}.recipe-figures,.recipe-actions{gap:12px;padding:24px}.recipe-section .settings-label,.recipe-section .cb-entries,.recipe-section .rating-form,.recipe-section .rating-list,.recipe-section .recipe-steps,.recipe-figures .meal-summary,.recipe-actions .auth-error,.recipe-actions .publish-blocked,.recipe-actions .recipe-share-hint,.recipe-actions .recipe-publish-hint,.recipe-total{margin-left:0;margin-right:0}.recipe-section>.settings-label:first-child{margin-top:0;margin-bottom:10px}.recipe-section .hint,.recipe-section .ing-list{padding-left:0;padding-right:0}.recipe-actions .primary-btn,.recipe-actions .secondary-btn,.recipe-actions .danger-btn,.recipe-section .primary-btn,.recipe-section .secondary-btn{width:100%;margin:0}.recipe-section .ing-list{gap:0}.recipe-section .ing-row{border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:12px 0}.recipe-section .ing-info .n,.recipe-section .qty-box.static strong{font-size:15px}.recipe-section .recipe-steps li{gap:14px;font-size:15px}.recipe-section .recipe-step-num{width:28px;height:28px;font-size:13px}.recipe-figures .meal-summary{background:0 0;padding:0}.recipe-figures .meal-summary-label{font-size:14px}.recipe-figures .meal-summary-kcal b{font-size:40px}.recipe-figures .meal-summary-kcal .unit{font-size:16px}.recipe-figures .meal-summary-macros{margin-top:16px}.recipe-figures .meal-summary-macros span{align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.recipe-figures .meal-summary-macros span:before{content:"";border-radius:50%;flex-shrink:0;width:7px;height:7px}.recipe-figures .meal-summary-macros span.protein{color:var(--ink-soft)}.recipe-figures .meal-summary-macros span.protein:before{background:var(--m-protein)}.recipe-figures .meal-summary-macros span.carbs{color:var(--ink-soft)}.recipe-figures .meal-summary-macros span.carbs:before{background:var(--m-carbs)}.recipe-figures .meal-summary-macros span.fat{color:var(--ink-soft)}.recipe-figures .meal-summary-macros span.fat:before{background:var(--m-fat)}.recipe-figures .meal-summary-macros b{font-size:20px}.recipe-total{margin-top:4px;padding:14px 16px;font-size:14px}.recipe-add-btn{border-radius:20px;min-height:60px;font-size:17px}.recipe-action-pair{flex-direction:row;gap:8px}.recipe-action-pair .secondary-btn{flex:1 1 0}.recipe-delete-btn{width:auto;color:var(--clay-ink);background:0 0;border:none;align-self:flex-start;margin:0;padding:10px 0}.recipe-section .rating-form{background:0 0;border:none;flex-direction:row;gap:32px;padding:0}.rating-form-who{flex:0 0 250px}.rating-form-comment{flex:1;min-width:0}.rating-form-comment .primary-btn{align-self:flex-end;width:auto;min-width:180px}.rating-form-comment .secondary-btn{align-self:flex-end;width:auto}.recipe-section .rating-list{border-top:1px solid var(--line);padding-top:14px}.settings-shell{gap:20px}.settings-head{align-items:center;gap:16px;padding:0 22px;display:flex}.settings-head h1{min-width:0;font-family:var(--font-display);letter-spacing:-.01em;flex:1;font-size:34px;font-weight:700}.settings-head-account{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;flex-shrink:0;align-items:center;gap:12px;padding:8px 18px 8px 8px;display:flex}.settings-head-account-text{flex-direction:column;gap:1px;min-width:0;display:flex}.settings-head-account-name{font-size:14px;font-weight:700}.settings-head-account-sub{color:var(--ink-soft);font-size:12px}.settings-columns{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:32px;padding:0 22px;display:grid}.settings-shell:not(.at-index) .settings-menu{display:flex}.settings-menu{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);grid-column:1;padding:12px}.settings-menu .backrow{display:none}.settings-menu .menu-list{gap:2px;padding:0}.settings-menu-group{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:14px 14px 6px;font-size:11px;font-weight:700;display:block}.settings-menu .menu-list>.settings-menu-group:first-child{padding-top:4px}.settings-menu .menu-row{border-radius:var(--radius-md);min-height:56px;box-shadow:none;background:0 0;padding:8px 14px}.settings-menu .menu-row:hover{background:var(--surface-alt)}.settings-menu .menu-row.active{background:var(--a-tint);box-shadow:inset 4px 0 0 var(--selected-line)}.settings-menu .menu-row.active .menu-title{color:var(--a)}.menu-icon{background:var(--a-tint);width:36px;height:36px;color:var(--a);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-menu .menu-row.active .menu-icon{background:var(--surface)}.menu-text{flex:1}.settings-menu .menu-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.settings-menu .settings-logout{margin:10px 4px 4px;padding-top:10px}.settings-menu .settings-logout-btn{border-radius:var(--radius-md);color:var(--clay-ink);text-align:left;background:0 0;border:none;align-items:center;gap:12px;min-height:44px;padding:12px 10px;font-weight:700;display:flex}.settings-menu .settings-logout-btn:hover{background:var(--clay-tint)}.settings-logout-icon{display:inline-block}.settings-pane>.settings-screen-anim{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:22px 0 24px}.settings-pane .backrow{border-bottom:1px solid var(--line);margin-bottom:6px;padding:0 22px 16px}.settings-pane .screen-title{letter-spacing:-.01em;font-size:26px;line-height:1.15}.settings-pane .screen-sub{margin-top:4px;font-size:14px}.settings-pane .backbtn{display:none}.settings-pane .settings-section{background:0 0;border:none;border-radius:0;gap:16px;margin:0;padding:20px 22px}.settings-pane .settings-section+.settings-section,.settings-pane .settings-section+.settings-actions{border-top:1px solid var(--line)}.settings-pane .settings-section.is-danger{border-top:1px solid var(--clay)}.settings-pane .settings-section-title{font-size:19px}.settings-pane .settings-section-sub{font-size:14px}.settings-pane .settings-actions{margin:0;padding:18px 22px 0}.settings-pane .settings-section .settings-actions{padding:0}.settings-pane .settings-actions.is-sticky{background:0 0;padding:18px 22px 0;position:static}.slot-manager-row{flex-wrap:nowrap}.slot-manager-label,.slot-manager-row>input[type=text]{flex:1 1 0}.settings-pane .settings-actions-row{flex-flow:wrap;align-items:center}.settings-pane .settings-actions-row>:is(.primary-btn,.secondary-btn,.danger-btn){width:auto;min-width:200px;min-height:48px}.settings-pane .settings-state{margin:20px 22px}.settings-pane .plan-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.settings-index-pane{min-height:240px;color:var(--decor-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 22px;display:flex}.settings-index-title{font-family:var(--font-display);color:var(--ink);font-size:19px;font-weight:600}.settings-index-hint{max-width:320px;color:var(--ink-soft);font-size:14px;line-height:1.5}.measure-head{padding:0 22px}.measure-head .screen-sub{font-size:15px}.measure-title{font-size:34px}.measure-owner{font-size:14px}.measure-columns{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px;padding:24px 22px 0;display:grid}.measure-main,.measure-side{flex-direction:column;gap:20px;display:flex}.measure-main{grid-column:1}.measure-side{grid-column:2}.measure-card,.measure-tiles{margin:0}.measure-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.measure-tiles .measure-tile:last-child{grid-column:auto}.measure-tile{box-shadow:var(--shadow);border:none;border-radius:22px;gap:6px;padding:18px 20px}.measure-tile-label{font-size:13px}.measure-tile-value{font-size:32px}.measure-tile-unit{font-size:16px}.measure-tile-note{font-size:13px}.measure-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);border:none;gap:16px;padding:22px 24px}.measure-card h2{font-size:19px}.measure-card-sub{font-size:14px}.measure-card .field{padding:0}.measure-card .field input{padding:13px 14px;font-size:15px}.measure-card .primary-btn,.measure-card .secondary-btn{border-radius:16px;min-height:52px;font-size:15px}.measure-fields{gap:14px}.measure-form-tapes .measure-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.measure-ranges .scope-tab{min-height:44px;padding:0 14px;font-size:13px}.measure-chart{--chart-h:220px}.measure-chart-value{font-size:13px}.measure-chart-day{font-size:11px}.measure-legend{font-size:13px}.measure-table-head,.measure-table-row{grid-template-columns:minmax(0, 1fr) repeat(var(--tape-cols), 80px) 96px;gap:12px}.measure-table-head{font-size:12px}.measure-table-row{padding:11px 0;font-size:14px}.measure-history-row{grid-template-columns:max-content 80px minmax(0,1fr) auto;grid-template-areas:"date value tapes actions";gap:12px;padding:10px 0;font-size:14px}.measure-history-value{text-align:left}.measure-history-tapes{font-size:13px}.measure-history-btn{width:44px;height:44px}.measure-more{min-height:44px;padding:0 18px;font-size:14px}.measure-export{min-height:44px;padding:0 14px;font-size:13px}.measure-note{font-size:13px}.measure-edit-tapes{grid-template-columns:repeat(5,minmax(0,1fr))}.shop-head{padding:0 22px}.shop-head .screen-sub{font-size:15px}.shop-title{font-size:34px}.shop-new-btn{min-height:48px;padding:0 22px;font-size:15px}.shop-columns{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px;padding:24px 22px 0;display:grid}.shop-main,.shop-side{flex-direction:column;gap:20px;display:flex}.shop-main{grid-column:1}.shop-side{grid-column:2}.shop-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);border:none;gap:16px;margin:0;padding:22px 24px}.shop-card h2{font-size:19px}.shop-card-sub{font-size:14px}.shop-card .primary-btn,.shop-card .secondary-btn{border-radius:14px;min-height:48px;font-size:14px}.shop-filters .scope-tab{min-height:44px;padding:0 16px;font-size:13px}.shop-groups{columns:2;column-gap:32px;display:block}.shop-group{margin-bottom:10px;display:block}.shop-group-head{padding:6px 10px}.shop-group-name,.shop-group-count{font-size:12px}.shop-row{gap:12px;min-height:48px;padding:0 4px 0 10px}.shop-check{width:24px;height:24px}.shop-item-name{font-size:15px}.shop-item-qty{font-size:14px}.shop-tag{font-size:11px}.shop-row-remove{width:40px;height:40px}.shop-add-field{height:48px;padding:0 16px}.shop-add-field input{font-size:15px}.shop-add-btn{min-height:48px;padding:0 20px;font-size:14px}.shop-empty-card{gap:14px;padding:56px 40px}.shop-empty-icon{border-radius:22px;width:72px;height:72px}.shop-empty-card h2{margin:8px 0 0;font-size:24px}.shop-empty-card p{max-width:420px;font-size:15px}.shop-empty-actions{flex-direction:row;justify-content:center;max-width:none;margin-top:10px}.shop-empty-actions .primary-btn,.shop-empty-actions .secondary-btn{border-radius:16px;width:auto;min-height:52px;padding:0 24px;font-size:15px}.shop-range{font-size:22px}.shop-origin{font-size:14px}.shop-progress-legend,.shop-note{font-size:13px}.shop-source,.shop-past{min-height:46px;font-size:14px}.shop-source-icon{width:30px;height:30px}.shop-refresh{min-height:44px;font-size:14px}.prod-head{padding:0 22px}.prod-head .screen-sub,.prod-req{font-size:15px}.prod-title{font-size:34px}.prod-columns{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px;padding:24px 22px 0;display:grid}.prod-main,.prod-side{flex-direction:column;gap:20px;display:flex}.prod-main{grid-column:1}.prod-side{grid-column:2}.prod-main>*,.prod-side>*{order:0}.prod-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);border:none;gap:16px;margin:0;padding:22px 24px}.prod-card h2{font-size:19px}.prod-card-sub{font-size:14px}.prod-card .field label,.prod-card .field .prod-group-label{font-size:13px}.prod-card .field input,.prod-card .field textarea{padding:13px 14px;font-size:15px}.prod-card .primary-btn{border-radius:16px;min-height:52px;font-size:15px}.prod-cancel{font-size:14px}.prod-row{flex-direction:row;gap:16px}.prod-row>*{flex:1 1 0;min-width:0}.prod-row-details .prod-serving{flex:0 0 200px}.prod-row-details .prod-ingredients{flex:auto}.prod-piece,.prod-category{width:calc(50% - 8px)}.prod-macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.prod-badge{font-size:12px}.prod-computed{font-size:13px}.prod-preview-row{border-radius:18px;padding:14px 16px}.prod-preview-name{font-size:15px}.prod-preview-stat .v{font-size:18px}.prod-preview-basis,.prod-preview-note{font-size:13px}.prod-scan-copy .t{font-size:15px}.prod-scan-copy .d{font-size:13px}.prod-card .secondary-btn{border-radius:14px;min-height:46px}.myprod-head{border-bottom:1px solid var(--line);align-items:flex-end;gap:16px;margin-bottom:6px;padding:0 22px 16px;display:flex}.myprod-head .backrow{border-bottom:none;flex:auto;min-width:0;margin:0;padding:0}.myprod-actions{flex-direction:row;flex-shrink:0;order:0;align-items:center;gap:10px}.myprod-actions .secondary-btn,.myprod-actions .primary-btn{border-radius:99px;width:auto;min-height:44px;margin:0;padding:0 18px;font-size:14px}.myprod-card{gap:14px;margin:0 22px}.myprod-tools{gap:12px}.myprod-search{width:320px;max-width:100%}.myprod-filters{flex-wrap:wrap;overflow:visible}.myprod-filter{min-height:44px;padding:0 14px;font-size:13px}.myprod-thead,.myprod-row{grid-template-columns:minmax(0,1fr) 240px 132px 76px;grid-template-areas:"product macros community actions";gap:14px}.myprod-thead{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:0 4px 8px;font-size:11px;font-weight:700;display:grid}.myprod-row{padding:14px 4px}.myprod-row+.myprod-row,.myprod-thead+.myprod-row{border-top:1px solid var(--line)}.myprod-icon{width:44px;height:44px}.myprod-name{white-space:normal;overflow-wrap:anywhere;font-size:15px;overflow:visible}.myprod-meta{font-size:13px}.myprod-brand{white-space:normal;overflow:visible}.myprod-stat{min-width:46px}.myprod-macros{gap:12px}.myprod-stat .v{font-size:15px}.myprod-community{gap:5px}.myprod-note{border-radius:18px;margin:16px 22px 0;padding:14px 18px;font-size:13px}.dialog-overlay.day-modal-overlay{padding:32px 24px}.day-modal{border-top:none;border-radius:24px;max-height:100%}.day-modal-wide{flex-direction:column;max-width:1160px;padding:0;display:flex;overflow:hidden;box-shadow:0 30px 80px #00000059}.day-modal-handle{display:none}.day-modal-wide .day-modal-header{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:nowrap;flex:none;align-items:center;gap:16px;margin:0;padding:18px 24px}.day-modal-wide .day-modal-title{font-size:24px}.day-modal-wide .day-people{flex:none;order:0;margin-left:auto}.day-modal-wide .day-person{flex:none;min-height:44px}.day-modal-wide .day-modal-close{background:var(--surface);border:1.5px solid var(--line);width:44px;height:44px;color:var(--ink)}.day-modal-wide .dev-premium-toggle{flex:none;width:auto;margin:14px 24px 0}.day-modal-wide .day-modal-body{flex:auto;padding:20px 24px;overflow-y:auto}.day-modal-wide .day-modal-loading{flex:auto}.day-modal-wide .day-grid{grid-template-columns:380px minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.day-modal-wide .day-col{flex-direction:column;gap:16px;min-width:0;display:flex}.day-modal-wide .day-card{border-radius:20px;padding:18px 20px}.day-modal-wide .daypart-bar{width:100%}.day-modal-wide .day-modal-foot{background:var(--surface);border-top:1px solid var(--line);flex-wrap:nowrap;flex:none;margin:0;padding:14px 24px}.day-modal-wide .day-foot-info{flex:0 auto}.day-modal-wide .day-foot-actions{flex:none;margin-left:auto}.day-modal-wide .report-action-btn{flex:none;min-height:44px}.day-modal-wide .day-foot-close{min-height:44px}.onb-aside{display:flex}.onb-brand{display:none}.onb-main{justify-content:center;align-items:center;padding:48px}.onb-col{flex:none;max-width:520px}.onboarding-progress{justify-content:space-between;padding:0}.onboarding-dots{display:none}.onboarding-step,.entry-body{gap:22px;padding:0}.onboarding-step .screen-title,.entry-body .screen-title{font-size:34px}.onb-actions{background:0 0;border-top:none;margin:auto 0 0;padding:6px 0 0;position:static}.dialog-overlay{align-items:center;padding:40px}.dialog-card{border-radius:28px;max-height:calc(100dvh - 80px)}.dialog-card.dialog-simple{max-width:420px;padding:20px}.dialog-card.help-card{max-width:520px}.dialog-card.scanner-card{max-width:380px}.dialog-card.premium-offer{max-width:400px}.dialog-card.ai-scan-card,.dialog-card.subst-card{max-width:460px}.dialog-card.measure-edit-card{max-width:720px}.measure-edit-main{grid-template-columns:repeat(2,200px);gap:16px}.measure-wipe-head{gap:18px;padding:28px 28px 8px}.measure-wipe-copy h2{font-size:24px}.measure-wipe-copy p{font-size:15px}.measure-wipe-note{font-size:14px!important}.measure-wipe-field{padding:12px 28px 8px 94px}.measure-wipe-foot{padding:20px 28px 24px}.dialog-foot .measure-foot-link,.measure-wipe-foot .measure-foot-link,.dialog-foot .primary-btn,.dialog-foot .secondary-btn,.measure-wipe-foot .secondary-btn,.measure-wipe-foot .danger-btn{flex:none}.dialog-foot .measure-edit-spacer,.measure-wipe-foot .measure-edit-spacer{display:block}.dialog-head{padding:24px 28px 18px}.dialog-title{font-size:24px}.dialog-body{padding:0 28px 24px}.dialog-foot{padding:16px 28px}.qty-head{gap:14px;padding:22px 28px 18px}.qty-head-icon{width:52px;height:52px}.qty-title{font-size:22px}.qty-body{gap:28px;padding:22px 28px}.qty-col{gap:20px}.quick-amount-grid{gap:8px}.qty-foot{padding:14px 28px 16px}.qty-foot-actions .primary-btn,.qty-foot-actions .secondary-btn{border-radius:999px;flex:none;min-height:46px}.qty-foot-actions .secondary-btn{display:inline-flex}.qty-foot-meal-prefix{display:inline}.qty-foot .required-summary p{text-align:right}.form-header{padding:0 22px}.form-header .screen-title{letter-spacing:-.01em;font-size:34px;line-height:1.1}.form-header .screen-sub{font-size:15px}.form-columns{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px;padding:24px 22px 0;display:grid}.form-main,.form-side{flex-direction:column;gap:20px;display:flex}.form-main{grid-column:1}.form-side{grid-column:2;position:sticky;top:24px}.form-section.settings-section{border-radius:var(--radius-lg);box-shadow:var(--shadow);border:none;gap:16px;margin:0;padding:22px 24px}.form-section.settings-section.is-flush{box-shadow:none;background:0 0;padding:0}.form-section .settings-section-title{font-size:19px}.form-section .settings-section-sub{font-size:14px}.form-section :is(.primary-btn,.secondary-btn){min-height:48px}.form-state,.form-side>.settings-actions{margin:0}.form-side>.settings-actions .primary-btn{border-radius:16px;min-height:52px;font-size:15px}.app-shell.wide-result .app-main{max-width:820px}.app-shell.wide-result .form-columns{grid-template-columns:minmax(0,1fr)}.app-shell.wide-result .result-macros{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell.wide-result .form-main>.settings-actions{margin:0}.app-shell.wide-result .form-main>.settings-actions .primary-btn{border-radius:16px;align-self:flex-start;width:auto;min-width:280px;min-height:52px}}.consent-gate-host{display:contents}.consent-gate-card{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow);flex-direction:column;margin:auto 0;padding:24px;display:flex}.consent-gate-logout{margin-top:8px}.settings-export{flex-direction:column;gap:6px;display:flex}.settings-export .secondary-btn{width:100%;margin:0}.consent-gate-actions{flex-direction:column;gap:12px;display:flex}.consent-gate-section{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.consent-gate-section .settings-label{margin:0 0 8px}.consent-gate-confirm{flex-direction:column;gap:12px;display:flex}.consent-gate-card .field,.consent-gate-card .hint,.consent-form .hint,.birth-date-form .field,.birth-date-form .hint{padding-left:0;padding-right:0}.consent-gate-card .primary-btn,.consent-gate-card .secondary-btn,.consent-gate-card .danger-btn,.consent-form .primary-btn,.consent-form .secondary-btn,.birth-date-form .primary-btn{width:100%;margin-left:0;margin-right:0}.consent-gate-actions .primary-btn,.consent-gate-actions .danger-btn,.consent-gate-actions .delete-flow{margin:0}.consent-form{flex-direction:column;display:flex}.consent-row .share-copy .d a{color:var(--a);font-weight:600}.consent-version,.consent-placeholder{color:var(--ink-faint)}.consent-health{border:1px solid var(--a);border-radius:var(--radius-sm);background:var(--a-tint);margin:16px 0 4px;padding:14px 16px 4px}.consent-health-title{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:15px}.consent-health-text,.consent-health-meta{color:var(--ink-soft);margin:6px 0;font-size:12.5px;line-height:1.5}.consent-health-meta a{color:var(--a);font-weight:600}.consent-health-list{color:var(--ink);margin:4px 0 6px;padding-left:20px;font-size:12.5px;line-height:1.5}.consent-notice,.consent-error{margin:12px 0 0}.consent-submit{margin-top:16px}.consent-decline{margin-bottom:0}.consent-hint{text-align:center}.onb-form{flex-direction:column;display:flex}.onb-form .field,.onb-form .hint{padding-left:0;padding-right:0}.partner-visibility{color:var(--ink-soft);margin:12px 22px 0;font-size:12.5px;line-height:1.5}.partner-visibility.is-compact{margin:4px 22px 12px}.partner-visibility-short{margin:0 0 4px}.partner-visibility summary{cursor:pointer;color:var(--a);align-items:center;min-height:32px;font-weight:700;display:flex}.partner-visibility ul{margin:4px 0 8px;padding-left:20px}.partner-visibility p{margin:6px 0}.privacy-docs{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:0 22px;padding:0;list-style:none}.privacy-doc{grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;display:grid}.privacy-doc+.privacy-doc{border-top:1px solid var(--line)}.privacy-doc-name{color:var(--ink);font-weight:700}.privacy-doc-status{color:var(--ink-soft);grid-column:1;font-size:12.5px}.privacy-doc-status[data-status=outdated],.privacy-doc-status[data-status=missing],.privacy-doc-status[data-status=withdrawn]{color:var(--clay-ink)}.privacy-doc-link{color:var(--a);grid-area:1/2/span 2;align-self:center;align-items:center;min-height:32px;font-weight:600;display:flex}.legal-page{max-width:780px;margin:0 auto;padding:28px 22px 56px}.legal-header{margin-bottom:28px}.legal-brand{align-items:center;gap:10px;min-height:44px;text-decoration:none;display:inline-flex}.legal-brand .mark{flex-shrink:0;width:26px;height:26px;display:block}.legal-brand span{font-family:var(--font-display);font-size:20px;font-weight:700}.legal-title{font-family:var(--font-display);margin-bottom:8px;font-size:30px;font-weight:700;line-height:1.2}.legal-lead{color:var(--ink-soft);margin-bottom:10px;font-size:16px;line-height:1.55}.legal-meta{color:var(--ink-faint);margin-bottom:16px;font-size:13px}.legal-draft,.legal-lang-note{border-radius:var(--radius-sm);margin-bottom:14px;padding:12px 14px;font-size:14px;line-height:1.55}.legal-draft{background:var(--b-tint);border-left:3px solid var(--b)}.legal-lang-note{background:var(--a-tint);color:var(--a);font-weight:600}.legal-toc{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow);margin:22px 0 8px;padding:18px 22px}.legal-toc-title{font-family:var(--font-display);margin-bottom:8px;font-size:15px;font-weight:700}.legal-toc ol{columns:2 220px;column-gap:28px;list-style:none}.legal-toc li{break-inside:avoid;font-size:14px;line-height:1.5}.legal-toc a,.legal-body a:not(.primary-btn),.legal-footer a{color:var(--a)}.legal-toc a,.legal-footer a{align-items:center;min-height:44px;display:inline-flex}.legal-body h2{font-family:var(--font-display);margin:34px 0 12px;scroll-margin-top:16px;font-size:21px;font-weight:700;line-height:1.3}.legal-body h3{font-family:var(--font-display);margin:18px 0 8px;scroll-margin-top:16px;font-size:16px;font-weight:700}.legal-body p,.legal-body li{font-size:15px;line-height:1.65}.legal-body p{margin-bottom:12px}.legal-body ul,.legal-body ol{margin-bottom:12px;padding-left:22px}.legal-body li{margin-bottom:6px}.legal-table-wrap{margin:8px 0 16px;overflow-x:auto}.legal-body table{border-collapse:collapse;background:var(--surface);width:100%;font-size:14px;line-height:1.5}.legal-body th,.legal-body td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:9px 11px}.legal-body th{background:var(--surface-alt);font-weight:600}.legal-note{background:var(--surface-alt);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px 14px;font-size:14px;line-height:1.55}.legal-todo{background:var(--clay-tint);color:var(--clay-ink);border-radius:4px;padding:0 3px;font-weight:600}.legal-consent{background:var(--surface);border-left:3px solid var(--a);border-radius:var(--radius-sm);margin:8px 0 16px;padding:14px 18px 4px}.legal-consent h3{margin-top:0}.legal-consent-label{font-weight:600}.legal-footer{border-top:1px solid var(--line);margin-top:40px;padding-top:18px}.legal-footer nav{flex-wrap:wrap;gap:0 20px;font-size:14px;display:flex}.legal-form,.legal-form-result{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow);margin:8px 0 16px;padding:18px 20px}.legal-field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.legal-field label{color:var(--ink-soft);font-size:13px;font-weight:600}.legal-field input{border:1px solid var(--control-line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);padding:12px 14px;font-size:15px}.legal-form-submit,.legal-signed-in-link{width:auto;margin:12px 0 0;padding-left:22px;padding-right:22px;text-decoration:none;display:inline-block}.legal-form-error{color:var(--clay-ink);margin:10px 0 0;font-size:14px}.legal-signed-in{border-left:3px solid var(--a)}.legal-confirm-check{align-items:flex-start;gap:10px;margin:16px 0 4px;font-size:15px;font-weight:600;display:flex}.legal-confirm-check input{margin-top:4px}.legal-main{container:legal/inline-size}@container legal (max-width:600px){.legal-title{font-size:25px}.legal-body table,.legal-body tbody,.legal-body tr,.legal-body td{width:100%;display:block}.legal-body thead{display:none}.legal-body tr{border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden}.legal-body td{border:none;border-top:1px solid var(--line)}.legal-body td:first-child{border-top:none;font-weight:600}.legal-body td:before{content:attr(data-label);color:var(--ink-faint);margin-bottom:2px;font-size:12px;font-weight:600;display:block}}.target-floor{border-radius:var(--radius-sm);background:var(--clay-tint);color:var(--ink);margin:8px 22px;padding:12px 14px;font-size:12px;line-height:1.5}.target-floor-title{color:var(--clay-ink);margin-bottom:4px;font-weight:700}.target-floor p{margin:0 0 8px}.target-floor-confirm{cursor:pointer;align-items:flex-start;gap:8px;font-weight:600;display:flex}.target-floor-confirm input{margin-top:2px}.policy-notice{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:8px 16px 0;padding:10px 14px;font-size:13px;display:flex}.policy-notice-actions{align-items:center;gap:12px;display:flex}.consent-policy-info{color:var(--ink-soft);margin:4px 0 12px;font-size:13px}.about-notice,.about-scope{color:var(--ink);font-size:13px;line-height:1.55}.about-scope{color:var(--ink-soft)}.about-notice a,.about-links a{color:var(--a);text-underline-offset:2px;text-decoration:underline}.about-links{flex-direction:column;gap:8px;margin:0 22px;padding:0;font-size:13px;list-style:none;display:flex}.about-links li{min-height:24px}.about-version{color:var(--ink-soft);margin:0 22px;font-size:13px}.product-source{color:var(--ink-soft);text-underline-offset:2px;font-size:inherit;text-decoration:underline}.chip,.tag-chip,.scan-chip,.segmented button,.shop-check,.shop-row-remove,.daytype-swatch.pickable,.privacy-doc-link,.slot-collapse-btn,.cooked-split-btn,.subst-action,.slot-basket-btn,.slot-scan-btn,.slot-add-btn,.remove-btn,.link-btn,.recipe-back,.flash-banner-close,.storage-notice-close,.guest-reminder-close,.service-banner-close,.ai-scan-close,.help-btn,.prod-cancel,.partner-visibility summary,.ing-info[role=button],.dish-header.clickable,.nav-brand,.picker-add-btn,.date-cal-btn,.scan-card-remove,.report-btn,.google-signin-btn{position:relative}.chip:after,.tag-chip:after,.scan-chip:after,.segmented button:after,.shop-check:after,.shop-row-remove:after,.daytype-swatch.pickable:after,.privacy-doc-link:after,.slot-collapse-btn:after,.remove-btn:after,.link-btn:after,.recipe-back:after,.flash-banner-close:after,.storage-notice-close:after,.guest-reminder-close:after,.service-banner-close:after,.ai-scan-close:after,.prod-cancel:after,.ing-info[role=button]:after,.dish-header.clickable:after,.nav-brand:after,.prod-scan-btn:after,.report-btn:after,.google-signin-btn:after{content:"";position:absolute;inset:min(0px,50% - 22px)}.ing-info[role=button] .report-btn,.ing-info[role=button] .product-source{z-index:1;position:relative}.date-cal-btn:after{content:"";position:absolute;inset:min(0px,50% - 22px) min(0px,100% - 44px) min(0px,50% - 22px) 0}.scan-card-remove:after,.picker-add-btn:after{content:"";position:absolute;inset:min(0px,50% - 22px) min(0px,100% - 36px) min(0px,50% - 22px) -8px}.help-btn:after{content:"";position:absolute;inset:min(0px,100% - 35px) min(0px,50% - 22px) -9px}.partner-visibility summary:after{content:"";position:absolute;inset:min(0px,100% - 44px) 0 0}.cooked-split-btn:after,.subst-action:after{content:"";position:absolute;inset:min(0px,50% - 22px) 0 min(0px,50% - 22px) min(0px,100% - 44px)}.slot-basket-btn:after,.slot-scan-btn:after,.slot-add-btn:after{content:"";position:absolute;inset:-9px}.slot-basket-btn:after{left:-17px;right:-1px}.slot-add-btn:after{left:-1px;right:-17px}.invite-tile{margin:0 22px}.invite-feedback{margin:0 22px 8px}.invite-rotate{margin-top:10px}.settings-inline-field{gap:8px;display:flex}.settings-inline-field>input{flex:1;min-width:0}.settings-inline-field>.secondary-btn{width:auto;margin:0;padding:0 16px}.settings-screen-titles{flex:1;min-width:0}.settings-section{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;min-width:0;margin:12px 22px;padding:16px;display:flex}.settings-section.is-flush{background:0 0;border:none;border-radius:0;padding:0}.settings-section.is-danger{border-color:var(--clay)}.settings-section.is-danger .settings-section-title{color:var(--clay-ink)}.settings-section-head{align-items:flex-start;gap:10px;display:flex}.settings-section-titles{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-section-title{font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1.3}.settings-section-sub{color:var(--ink-soft);font-size:12.5px;line-height:1.45}.settings-section>*{margin:0}.settings-section .field,.settings-section .hint,.settings-section .mode-choices{padding:0}.settings-section>:is(.primary-btn,.secondary-btn,.danger-btn),.settings-actions-row>:is(.primary-btn,.secondary-btn,.danger-btn){text-align:center;width:100%;margin:0;text-decoration:none;display:block}.settings-field>label,.settings-choice-label{color:var(--ink-soft);font-size:13px;font-weight:600}.settings-field>:is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-width:1.5px;border-radius:12px;min-height:46px;font-size:16px}.settings-field .segmented{margin:0}.field-hint{color:var(--ink-soft);font-size:12px;line-height:1.45}.settings-fields-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.settings-fields-grid>.field{padding:0}.settings-fields-grid.is-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-actions{flex-direction:column;gap:10px;margin:16px 22px;display:flex}.settings-section .settings-actions{margin:4px 0 0}.settings-actions.is-sticky{z-index:2;padding:12px 22px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line);margin:16px 0 0;position:sticky;bottom:0}.settings-form{flex-direction:column;gap:12px;display:flex}.settings-actions-row{flex-direction:column;gap:10px;display:flex}.settings-actions .required-summary p{margin:0}.settings-saved{color:var(--a);font-size:12.5px;font-weight:600}.form-alert{border-radius:var(--radius-sm);background:var(--clay-tint);color:var(--clay-ink);padding:10px 14px;font-size:12.5px;font-weight:600;line-height:1.45}.form-alert.is-note{background:var(--a-tint);color:var(--a)}.settings-state{color:var(--ink-soft);margin:16px 22px;font-size:13px}.settings-list{flex-direction:column;padding:0;list-style:none;display:flex}.settings-list>li{padding:12px 0}.settings-list>li+li{border-top:1px solid var(--line)}.settings-list-title{color:var(--ink);font-size:14px;font-weight:600}.settings-list-sub{color:var(--ink-soft);margin-top:2px;font-size:12px;line-height:1.45}.settings-link-row{background:var(--surface-alt);min-height:56px;color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.settings-link-row:hover{background:var(--a-tint)}.settings-link-copy{flex-direction:column;min-width:0;display:flex}.settings-section .delete-flow{background:0 0;border:none;border-radius:0;padding:0}.settings-section :is(.copy-row,.ing-row){background:var(--surface-alt);width:100%;box-shadow:none;margin:0}.settings-section .copy-row:hover{background:var(--a-tint)}.settings-section .slot-manager-row{background:var(--surface-alt);box-shadow:none;gap:8px;padding:10px 8px}.settings-section .percent-summary{background:var(--surface-alt);border:none}.settings-section .privacy-docs{background:0 0;border:none;border-radius:0}.settings-section .privacy-doc{padding:12px 0}.settings-section .identity-row{background:0 0;border:none;border-radius:0;padding:12px 0}.settings-section .identity-row+.identity-row{border-top:1px solid var(--line)}.settings-section .report-shot{background:var(--surface-alt);border:none}.settings-section .lang-list{background:0 0}.settings-budget{background:var(--a-tint);border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.settings-budget-label{color:var(--ink-soft);font-size:12.5px}.settings-budget-value{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1.1}.settings-budget-unit{color:var(--ink-soft);font-size:15px;font-weight:500}.daytype-retire{align-self:flex-start}.form-screen{padding-bottom:32px}.form-titles{flex:1;min-width:0}.form-columns,.form-main,.form-side{min-width:0}.form-ing-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.form-ing-row{align-items:center;gap:10px;padding:10px 0;display:flex}.form-ing-row+.form-ing-row{border-top:1px solid var(--line)}.form-ing-info{flex:1;min-width:0}.form-ing-name{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.35}.form-ing-kcal{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-top:1px;font-size:12px}.form-ing-info .ing-macros{margin-top:4px}.form-ing-amount{border:1.5px solid var(--control-line);background:var(--surface);min-width:64px;min-height:44px;color:var(--ink);font-family:var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:12px;flex-shrink:0;padding:0 12px;font-size:14px;font-weight:600}.form-ing-amount:hover{border-color:var(--a)}.form-ing-row .remove-btn{min-width:44px;min-height:44px;font-size:20px}.settings-section .tag-chips{padding:0}.form-choice-stack .mode-choice{min-height:44px}.form-step{flex-direction:column;gap:4px;display:flex}.form-step textarea{resize:vertical}.form-file-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-file-input:focus-visible+.form-file-btn{outline:2px solid var(--a);outline-offset:2px}.settings-section .form-file-btn{cursor:pointer;justify-content:center;align-items:center;width:100%;margin:0;display:flex}.form-file-input:disabled+.form-file-btn{opacity:.6;cursor:default}.settings-section .recipe-photo-preview,.settings-section .meal-summary,.settings-section .notice{margin:0}.form-state-message{color:var(--ink);margin:0;font-size:14px;line-height:1.5}.form-day+.form-day{border-top:1px solid var(--line);padding-top:12px}.form-day-title{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:600}.settings-section .cb-person{margin:0 0 8px}.form-grid.is-invalid .cb-cell{border-color:var(--clay-ink)}.settings-section .cb-entries{gap:0;margin:0}.settings-section .cb-entry{background:0 0;border:none;border-radius:0;min-height:52px;padding:10px 0}.settings-section .cb-entry+.cb-entry{border-top:1px solid var(--line)}.settings-section .ingredient-list{border-left:none;gap:0;padding-left:0}.settings-section .ingredient-list .ingredient-row{align-items:center;min-height:48px}.settings-section .ingredient-list .ingredient-row+.ingredient-row{border-top:1px solid var(--line)}.form-section.is-flush .scan-review-list{padding:0}.form-section .scan-add-ingredient{width:100%;margin:0}.scan-card.needs-work{box-shadow:inset 0 0 0 1.5px var(--clay-ink)}.scan-card-error{margin-top:8px}.form-section .scan-card-name,.form-section .scan-card-grams input,.form-section button.scan-card-status-text,.form-section .scan-add-ingredient{min-height:44px}.label-field-value.missing{color:var(--clay-ink);font-weight:600}.label-macros-head{color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;font-weight:600;display:flex}.label-macros-basis{color:var(--ink-soft);font-size:12px;font-weight:400}.settings-section .ing-list{padding:0}.form-section .settings-label{margin-left:0;margin-right:0}.form-disclosure{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.form-disclosure svg{color:var(--ink-soft);flex-shrink:0}.form-section .label-front-title{font-size:inherit}.form-section .macro-warn{margin:0}.form-section .label-conversion{margin-top:4px}.settings-section .advanced-options{padding:0}.result-split{flex-wrap:wrap;align-items:center;gap:16px 20px;display:flex}.result-ring{flex:none}.result-ring-label{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;max-width:84px;font-family:var(--font-display);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:12px;line-height:1.25}.result-legend{flex-direction:column;flex:160px;gap:10px;min-width:0;max-width:260px;margin:0;padding:0;list-style:none;display:flex}.result-legend li{align-items:center;gap:10px;font-size:15px;display:flex}.result-legend-name{overflow-wrap:anywhere;flex:1;min-width:0}.result-legend-kcal{font-family:var(--font-display);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.result-portions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.result-portion{border-radius:18px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.result-portion.a{background:var(--a-tint)}.result-portion.b{background:var(--b-tint)}.result-portion-head{align-items:center;gap:8px;min-width:0;display:flex}.result-portion-head .initial-disc{width:28px;height:28px;font-size:11px}.result-portion-name{min-width:0;font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:600}.result-portion.b .result-portion-name{color:var(--b-ink)}.result-portion>.badge{background:var(--surface);border-radius:12px;align-self:flex-start;margin:0;font-size:11px;line-height:1.35}.result-ings{margin:0;padding:0;list-style:none}.result-ing{justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;font-size:14px;line-height:1.35;display:flex}.result-ing+.result-ing{border-top:1px solid var(--line)}.result-ing-name{overflow-wrap:anywhere;min-width:0}.result-ing-fixed{color:var(--ink-soft);font-size:12px;display:block}.result-ing-qty{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.result-macros{border-top:1px dashed var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;padding:10px 0 0;list-style:none;display:grid}.result-macros li{flex-direction:column;min-width:0;display:flex}.result-macros b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.result-macros span{color:var(--ink-soft);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;font-size:12px}.result-notice{background:var(--clay-tint);color:var(--clay-ink);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.result-notice svg{flex:none;margin-top:1px}.result-notice p{margin:0}
