@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/geologica-cyrillic-ext-shrp-normal-D70qZr28.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/geologica-cyrillic-shrp-normal-4zI1yfsv.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/geologica-greek-shrp-normal-CGp0KAf0.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/geologica-vietnamese-shrp-normal-DEug3QZK.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/geologica-latin-ext-shrp-normal-NLeVcVFm.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/geologica-latin-shrp-normal-OfWH8DQM.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--backdrop: #e8e9e4;--bg: #f6f7f4;--surface-1: #ffffff;--surface-2: #eff0ec;--surface-3: #ffffff;--border: #dfe0dc;--switch-off: #cbccc6;--switch-thumb: #ffffff;--text-1: #161713;--text-2: #62645d;--text-3: #888a83;--fill-primary: #161713;--on-primary: #ffffff;--fill-secondary: var(--surface-2);--on-secondary: var(--text-1);--scrim: rgb(14 15 13 / 38%);--on-scrim: #ffffff;--lime: #bdf44b;--on-lime: #1a2600;--lime-graphic: #77ac00;--lime-text: #4d7002;--protein: #d24c50;--carbs: #c7700b;--fat: #317dca;--fiber: #7a52c7;--sugar: #c23d7c;--sodium: #8a7400;--success: #2a904b;--danger: #cc3430;--on-danger: #ffffff;--streak-fire: #df6100;--streak-core: #ffc53d;--day-under: #6f8499;--badge-streak-a: #ffb13d;--badge-streak-b: #e2531f;--badge-meals-a: #b08cff;--badge-meals-b: #6c3fd6;--badge-goal-a: #5fe0c4;--badge-goal-b: #13917c;--badge-water-a: #7cc8ff;--badge-water-b: #2f76d8;--badge-daily-a: #9be36a;--badge-daily-b: #3a9a2f;--badge-weight-a: #ff9ec4;--badge-weight-b: #d8457f;--badge-quality-a: #d8f76b;--badge-quality-b: #7aa81a;--badge-special-a: #8e9cff;--badge-special-b: #3a45b8;--badge-invites-a: #ffd36b;--badge-invites-b: #d89118;--on-badge: #ffffff;--camera-bg: #000000;--camera-ink: #ffffff;--camera-control: rgb(255 255 255 / 16%);--camera-veil: rgb(0 0 0 / 55%);--share-ink: #161713;--share-ink-2: #62645d;--share-plate: #ffffff;--share-tile: #ffffff;--share-tile-flat: #f3f4ef;--share-track: #e6e7e2;--share-empty: #eef5dc;--share-protein: #d24c50;--share-carbs: #c7700b;--share-fat: #317dca;--brand-instagram: #e1306c;--brand-tiktok: #000000;--brand-telegram: #26a5e4;--glow-a: #ffd6e7;--glow-b: #d9dcff;--glow-c: #d4f3ff;--slate: #000000;--on-slate: #ffffff;--shadow-card: 0 1px 2px rgb(22 23 19 / 4%), 0 6px 20px rgb(22 23 19 / 5%);--shadow-float: 0 10px 30px rgb(22 23 19 / 12%);--shadow-tile: 0 1px 3px rgb(22 23 19 / 10%);--shadow-frame: 0 0 0 1px rgb(22 23 19 / 18%), 0 40px 100px rgb(22 23 19 / 22%);--font-ui: "Geologica Variable", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, sans-serif;--font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", Roboto, "Segoe UI", system-ui, sans-serif;--font-sharpness: 0;--weight-regular: 400;--weight-medium: 500;--weight-bold: 700;--font-display: var(--weight-bold) 44px/44px var(--font-ui);--tracking-display: -.03em;--font-title-1: var(--weight-bold) 28px/32px var(--font-ui);--tracking-title-1: -.025em;--font-title-2: var(--weight-bold) 22px/26px var(--font-ui);--tracking-title-2: -.02em;--font-headline: var(--weight-medium) 17px/22px var(--font-ui);--tracking-headline: -.01em;--font-body: var(--weight-regular) 15px/20px var(--font-ui);--font-body-strong: var(--weight-medium) 15px/20px var(--font-ui);--font-footnote: var(--weight-regular) 13px/18px var(--font-ui);--font-caption: var(--weight-medium) 12px/16px var(--font-ui);--tracking-caption: .01em;--font-tab: var(--weight-medium) 11px/13px var(--font-ui);--font-size-hero: 56px;--font-size-site-1: clamp(40px, 6.2vw, 68px);--font-size-site-2: clamp(30px, 4.2vw, 46px);--font-size-display: 44px;--font-size-title-1: 28px;--font-size-title-2: 22px;--font-size-headline: 17px;--font-size-body: 15px;--font-size-footnote: 13px;--font-size-caption: 12px;--weight-semibold: 600;--font-onb-title: var(--weight-medium) 25px/30px var(--font-ui);--tracking-onb-title: -.02em;--font-onb-subtitle: var(--weight-medium) 20px/25px var(--font-ui);--font-onb-lede: var(--weight-regular) 13px/18px var(--font-ui);--font-onb-option: var(--weight-medium) 15px/20px var(--font-ui);--font-onb-option-note: var(--weight-regular) 12px/16px var(--font-ui);--font-onb-button: var(--weight-medium) 14px/18px var(--font-ui);--font-onb-value: var(--weight-semibold) 30px/34px var(--font-ui);--font-onb-percent: var(--weight-semibold) 48px/52px var(--font-ui);--font-onb-small: var(--weight-regular) 12px/16px var(--font-ui);--font-onb-small-strong: var(--weight-semibold) 12px/16px var(--font-ui);--font-onb-tiny: var(--weight-semibold) 10px/12px var(--font-ui);--font-onb-mini: var(--weight-regular) 11px/14px var(--font-ui);--onb-fill: #f4f4f8;--onb-fill-strong: #e7e7ee;--onb-card: #f7f7fb;--onb-dialog: #cbcbd0;--onb-dialog-ink: #3a3a3e;--onb-orange: #e8833a;--onb-seal: #f6d9e3;--onb-track: #e2f7b0;--device-metal-a: #c9c6c0;--device-metal-b: #7d7a74;--device-glass: #0b0b0c;--onb-scale-1a: #eeeef1;--onb-scale-1b: #e4e4e7;--onb-scale-2a: #edece9;--onb-scale-2b: #dcd5d0;--onb-scale-3a: #e5e3e1;--onb-scale-3b: #f0e1d6;--onb-control: 48px;--onb-option-height: 54px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--radius-round: 50%;--control-sm: 36px;--control-md: 44px;--control-lg: 52px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--gutter: var(--space-4);--app-width: 430px;--app-height: 100vh;--radius-device: 48px;--device-bezel: 4px;--ease: cubic-bezier(.2, .8, .2, 1);--duration-fast: .12s;--duration-base: .2s}:root[data-theme=dark]{color-scheme:dark;--backdrop: #060705;--bg: #0e0f0d;--surface-1: #191a17;--surface-2: #222320;--surface-3: #2d2e2a;--border: #30312d;--switch-off: #4a4b45;--switch-thumb: #eeefeb;--text-1: #eeefeb;--text-2: #a1a29b;--text-3: #797a74;--fill-primary: #eeefeb;--on-primary: #0e0f0d;--scrim: rgb(0 0 0 / 45%);--lime-graphic: #b7ee42;--lime-text: #bff457;--protein: #f47a79;--carbs: #f3ae58;--fat: #67aaed;--fiber: #b09af0;--sugar: #f07fb2;--sodium: #d8bb45;--success: #61cb7c;--danger: #f97772;--on-danger: #0e0f0d;--streak-fire: #fc984c;--streak-core: #ffd45c;--day-under: #8aa6bd;--shadow-card: inset 0 0 0 1px rgb(255 255 255 / 3%);--shadow-float: 0 10px 30px rgb(0 0 0 / 50%);--shadow-tile: none;--shadow-frame: 0 0 0 1px rgb(255 255 255 / 12%), 0 40px 100px rgb(0 0 0 / 70%)}:root{-webkit-tap-highlight-color:transparent;font-family:var(--font-ui);font-variation-settings:"SHRP" var(--font-sharpness);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text-1)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none;width:0;height:0}body{min-width:320px;min-height:var(--app-height);background:var(--bg);color:var(--text-1);overscroll-behavior:none}@supports (height: 100dvh){:root{--app-height: 100dvh}}.app-scroll{display:contents}*{scrollbar-width:none}*::-webkit-scrollbar{display:none;width:0;height:0}@media(min-width:600px)and (hover:hover)and (pointer:fine){:root{--app-height: min(900px, calc(100vh - 2 * var(--space-8)));--app-width: clamp(360px, calc(var(--app-height) * .4615), 430px)}:root,body{height:100%;overflow:hidden;background:var(--backdrop)}body{display:grid;place-items:center}#root{position:relative;width:calc(var(--app-width) + 2 * var(--device-bezel));height:calc(var(--app-height) + 2 * var(--device-bezel));min-height:0;overflow:hidden;border:var(--device-bezel) solid var(--slate);border-radius:var(--radius-device);background:var(--slate);box-shadow:var(--shadow-frame);transform:translateZ(0);z-index:0}body:after{content:"";position:fixed;z-index:1;left:50%;top:50%;width:calc(var(--app-width) + 2 * var(--device-bezel));height:calc(var(--app-height) + 2 * var(--device-bezel));transform:translate(-50%,-50%);border-radius:var(--radius-device);box-shadow:inset 0 0 0 calc(var(--device-bezel) + 1.5px) var(--slate);pointer-events:none}.app-scroll{display:block;height:100%;overflow-y:auto;background:var(--bg);overscroll-behavior:contain;scrollbar-width:none}.app-scroll::-webkit-scrollbar{display:none;width:0;height:0}}button,input,textarea{font:inherit}button{padding:0;color:inherit}svg{display:block}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--text-1) 60%,transparent);outline-offset:2px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.icon-flip{transform:rotate(180deg)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.25;transform:scale(.72)}}@keyframes shimmer{to{background-position:-240% 0}}@keyframes fadeIn{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(34px);opacity:.5}}@keyframes scrimIn{0%{background-color:transparent}}@keyframes sheetIn{0%{transform:translateY(100%)}}@keyframes recordPulse{50%{transform:scale(.96);box-shadow:0 0 0 14px color-mix(in srgb,var(--danger) 6%,transparent)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.type-display{font:var(--font-display);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.type-title-1{font:var(--font-title-1);letter-spacing:var(--tracking-title-1)}.type-title-2{font:var(--font-title-2);letter-spacing:var(--tracking-title-2)}.type-headline{font:var(--font-headline);letter-spacing:var(--tracking-headline)}.type-body{font:var(--font-body)}.type-body-strong{font:var(--font-body-strong)}.type-footnote{font:var(--font-footnote)}.type-caption{font:var(--font-caption);letter-spacing:var(--tracking-caption)}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.num{font-variant-numeric:tabular-nums}.btn{min-height:var(--control-lg);padding:0 var(--space-6);border:0;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:var(--font-body-strong);text-align:center;cursor:pointer;transition:transform var(--duration-fast) var(--ease),opacity var(--duration-fast)}.btn svg{width:18px;height:18px;flex:0 0 auto}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:default}.btn--primary:disabled,.btn--secondary:disabled,.btn--danger:disabled,.btn--lime:disabled{background:var(--surface-2);color:var(--text-3)}.btn--tertiary:disabled,.btn--danger-text:disabled{color:var(--text-3)}.btn--primary{background:var(--fill-primary);color:var(--on-primary)}.btn--secondary{background:var(--fill-secondary);color:var(--on-secondary)}.btn--tertiary{background:transparent;color:var(--text-1);padding:0 var(--space-3)}.btn--danger{background:var(--danger);color:var(--on-danger)}.btn--danger-text{background:transparent;color:var(--danger);padding:0 var(--space-3)}.btn--lime{background:var(--lime);color:var(--on-lime)}.btn--sm{min-height:var(--control-sm);padding:0 var(--space-4);font:var(--font-footnote);font-weight:var(--weight-medium)}.btn--md{min-height:var(--control-md);padding:0 var(--space-5)}.btn--wide{width:100%;display:flex}.icon-btn{width:var(--control-md);height:var(--control-md);flex:0 0 var(--control-md);padding:0;border:0;border-radius:var(--radius-round);display:grid;place-items:center;background:var(--fill-secondary);color:var(--text-1);cursor:pointer;transition:transform var(--duration-fast) var(--ease),opacity var(--duration-fast)}.icon-btn svg{width:20px;height:20px}.icon-btn--sm{width:var(--control-sm);height:var(--control-sm);flex-basis:var(--control-sm)}.icon-btn--sm svg{width:18px;height:18px}.icon-btn--plain{background:transparent;color:var(--text-2)}.icon-btn--scrim{background:var(--scrim);color:var(--on-scrim);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:disabled{opacity:.45;cursor:default}.seg{display:flex;gap:2px;padding:3px;border-radius:var(--radius-pill);background:var(--surface-2)}.seg__item{flex:1 1 0;min-height:calc(var(--control-sm) - 2px);padding:0 var(--space-2);border:0;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--text-2);font:var(--font-footnote);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-base) var(--ease),color var(--duration-base)}.seg__item span{white-space:nowrap}.seg__item svg{width:16px;height:16px;flex:0 0 auto}.seg__item.is-active{background:var(--surface-3);color:var(--text-1);box-shadow:var(--shadow-tile)}.seg__item:active:not(:disabled){transform:scale(.97)}.seg__item:disabled{cursor:default}.seg:has(.seg__item:disabled){opacity:.6}.seg--lg .seg__item{min-height:calc(var(--control-md) - 2px);font:var(--font-body-strong)}.seg[data-fit=plain] .seg__item svg{display:none}.seg[data-fit=stack]{flex-direction:column;border-radius:var(--radius-md)}.seg[data-fit=stack] .seg__item{flex:0 0 auto;border-radius:calc(var(--radius-md) - 3px)}.card{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-card)}.card--lg{padding:var(--space-5)}.list{border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-card);overflow:hidden}.list-row{position:relative;min-height:var(--control-lg);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--text-1);font:var(--font-body)}.list-row+.list-row:before{content:"";position:absolute;top:0;left:var(--space-4);right:var(--space-4);height:1px;background:var(--border)}.list-row__main{min-width:0;flex:1}.list-row__main small{display:block;margin-top:2px;color:var(--text-2);font:var(--font-footnote)}.list-row__value{color:var(--text-2);font-variant-numeric:tabular-nums}.list-row__chevron{width:16px;height:16px;color:var(--text-3);flex:0 0 auto}button.list-row,a.list-row,label.list-row{width:100%;border:0;background:transparent;text-align:left;text-decoration:none;cursor:pointer}button.list-row:active,a.list-row:active,label.list-row:active{background:var(--surface-2)}.list-row--stack{display:block}.list-row--danger,.list-row--danger .list-row__icon{color:var(--danger)}.section-label{margin:var(--space-6) var(--space-1) var(--space-2);color:var(--text-2);font:var(--font-footnote)}.switch-input{position:absolute;opacity:0;pointer-events:none}.switch{position:relative;width:48px;height:28px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--switch-off);transition:background var(--duration-base) var(--ease)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:var(--radius-round);background:var(--switch-thumb);box-shadow:var(--shadow-tile);transition:transform var(--duration-base) var(--ease)}.switch-input:checked+.switch{background:var(--lime-graphic)}.switch-input:checked+.switch:after{transform:translate(20px)}.switch-input:focus-visible+.switch{outline:3px solid var(--lime-graphic);outline-offset:2px}.chip{min-height:32px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--text-1);font:var(--font-footnote);font-weight:var(--weight-medium);white-space:nowrap}.chip svg{width:16px;height:16px;flex:0 0 auto}.chip--raised{background:var(--surface-1);box-shadow:var(--shadow-card)}button.chip{cursor:pointer}button.chip:active{transform:scale(.97)}.input{width:100%;min-height:var(--control-lg);padding:0 var(--space-4);border:1.5px solid transparent;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);font:var(--font-headline);outline:0}.input:focus{border-color:var(--text-1)}.input:focus-visible{outline:none}.input::placeholder{color:var(--text-3);font-weight:var(--weight-regular)}textarea.input{min-height:96px;padding:var(--space-3) var(--space-4);font:var(--font-body);resize:none}.field{display:block}.field+.field{margin-top:var(--space-4)}.field>span{display:block;margin:0 0 var(--space-2) var(--space-1);color:var(--text-2);font:var(--font-footnote)}.field>span em{margin-left:6px;color:var(--text-2);font-style:normal}.field input,.field textarea,.field select{width:100%;min-height:var(--control-lg);padding:0 var(--space-4);border:1.5px solid transparent;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);font:var(--font-body);outline:0}.field textarea{min-height:96px;padding:var(--space-3) var(--space-4);resize:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--text-1)}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none}.field input::placeholder,.field textarea::placeholder{color:var(--text-3)}.hint{margin:var(--space-3) var(--space-1) 0;color:var(--text-2);font:var(--font-footnote)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip.is-active{box-shadow:inset 0 0 0 1.5px var(--text-1)}button.chip:disabled{opacity:.5;cursor:default}.sheet .list{background:var(--surface-2);box-shadow:none}.list-row__button{min-width:0;flex:1;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.list-row__button:disabled{cursor:default}.list-row__icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-1);color:var(--text-1)}.list-row__icon svg{width:20px;height:20px}.list-row__icon--lime{background:var(--lime);color:var(--on-lime)}.list-row__main strong{display:block;overflow:hidden;font:var(--font-body-strong);text-overflow:ellipsis;white-space:nowrap}.macro-value{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-1);font:var(--font-footnote);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.macro-value svg{width:13px;height:13px;flex:0 0 auto}.macro-value--protein svg{color:var(--protein)}.macro-value--carbs svg{color:var(--carbs)}.macro-value--fat svg{color:var(--fat)}.overlay{position:fixed;z-index:100;inset:0;width:min(100%,var(--app-width));margin:0 auto;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);animation:scrimIn var(--duration-base) var(--ease)}.sheet{width:100%;max-height:min(calc(var(--app-height) * .88),760px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none;padding:var(--space-2) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow-float);animation:sheetIn .28s var(--ease)}.sheet::-webkit-scrollbar{display:none;width:0;height:0}.sheet-handle{width:40px;height:5px;margin:0 auto var(--space-4);border-radius:var(--radius-pill);background:var(--border)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.sheet-head h2,.sheet-title{margin:0;font:var(--font-title-2);letter-spacing:var(--tracking-title-2)}.sheet-copy{margin:var(--space-3) 0 var(--space-5);color:var(--text-2);font:var(--font-footnote)}.sheet-actions{display:grid;gap:var(--space-2);margin-top:var(--space-6)}.btn,.icon-btn,.seg__item,button.chip,.input,.field input,.field textarea{transition:transform var(--duration-fast) var(--ease),background var(--duration-fast),color var(--duration-fast),box-shadow var(--duration-fast)}.wheels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2);margin-top:var(--space-4)}.wheel-box{position:relative}.wheel-box:before{content:"";position:absolute;inset:88px 0 auto;height:44px;border-radius:var(--radius-sm);background:var(--surface-2);pointer-events:none}.wheel{position:relative;height:220px;overflow:hidden;outline:none;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.wheel-box:after{content:"";position:absolute;inset:0;background:linear-gradient(var(--wheel-fade, var(--surface-1)),transparent 35%,transparent 65%,var(--wheel-fade, var(--surface-1)));pointer-events:none}.wheel:focus-visible{box-shadow:inset 0 0 0 2px var(--text-1);border-radius:var(--radius-sm)}.wheel__row{position:absolute;left:0;right:0;height:44px;display:grid;place-items:center;color:var(--text-3);font:var(--font-onb-option);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:color var(--duration-fast)}.wheel__row.is-picked{color:var(--text-1);font-weight:var(--weight-semibold)}.wheel__row.is-muted{color:color-mix(in srgb,var(--text-3) 45%,transparent)}@media(hover:hover)and (pointer:fine){.wheel__row:not(.is-picked):not(.is-muted):hover{color:var(--text-2)}.btn--primary:not(:disabled):hover{background:color-mix(in srgb,var(--fill-primary) 84%,var(--bg))}.btn--secondary:not(:disabled):hover{background:color-mix(in srgb,var(--text-1) 9%,var(--surface-2))}.btn--tertiary:not(:disabled):hover,.btn--danger-text:not(:disabled):hover{background:var(--surface-2)}.btn--lime:not(:disabled):hover{background:color-mix(in srgb,var(--lime) 86%,var(--on-lime))}.btn--danger:not(:disabled):hover{background:color-mix(in srgb,var(--danger) 86%,var(--text-1))}.icon-btn:not(:disabled):hover{background:color-mix(in srgb,var(--text-1) 10%,var(--surface-2))}.icon-btn--plain:not(:disabled):hover{background:var(--surface-2);color:var(--text-1)}.icon-btn--scrim:not(:disabled):hover{background:color-mix(in srgb,var(--on-scrim) 22%,var(--scrim))}.seg__item:not(.is-active):not(:disabled):hover{background:color-mix(in srgb,var(--text-1) 6%,transparent);color:var(--text-1)}button.list-row:hover,a.list-row:hover,label.list-row:hover{background:color-mix(in srgb,var(--text-1) 5%,transparent)}.list-row:has(>.list-row__button:not(:disabled):hover){background:color-mix(in srgb,var(--text-1) 5%,transparent)}button.chip:not(:disabled):hover{background:color-mix(in srgb,var(--text-1) 9%,var(--surface-2))}.input:not(:focus):hover,.field input:not(:focus):hover,.field textarea:not(:focus):hover{background:color-mix(in srgb,var(--text-1) 5%,var(--surface-2))}.switch-input:not(:checked)+.switch:hover,label:hover>.switch-input:not(:checked)+.switch{background:color-mix(in srgb,var(--text-1) 12%,var(--switch-off))}}.coachmark{position:fixed;z-index:120;width:max-content;max-width:calc(100vw - 32px);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--fill-primary);color:var(--on-primary);font:var(--font-caption);font-weight:var(--weight-bold);text-align:center;white-space:pre-line;box-shadow:var(--shadow-float);animation:fadeIn var(--duration-base) var(--ease);-webkit-tap-highlight-color:transparent}.coachmark:after{content:"";position:absolute;left:var(--coach-arrow, 50%);bottom:-4px;width:9px;height:9px;background:inherit;transform:translate(-50%) rotate(45deg)}.coachmark--below:after{top:-4px;bottom:auto}.app-shell{width:100%;min-height:var(--app-height);margin:0 auto;position:relative}.content{min-height:calc(var(--app-height) - 72px - env(safe-area-inset-top));padding:0 var(--gutter) calc(112px + env(safe-area-inset-bottom))}.topbar{height:calc(64px + env(safe-area-inset-top));padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--gutter) var(--space-2);display:flex;align-items:center;justify-content:space-between}.topbar-actions{display:flex;align-items:center;gap:var(--space-2)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--font-headline);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title-2)}.brand strong{font-weight:var(--weight-regular);color:var(--text-2)}.brand img{width:32px;height:32px;object-fit:contain}.brand--compact img{width:48px;height:48px}.streak-chip{min-height:var(--control-sm);border:0;font:var(--font-body-strong);cursor:pointer}.streak-chip.is-lit svg{animation:flame-lit 1.4s var(--ease)}@keyframes flame-lit{0%,to{transform:scale(1)}35%{transform:scale(1.45) rotate(-6deg);filter:drop-shadow(0 0 8px var(--streak-fire))}70%{transform:scale(.92)}}.streak-hero{display:grid;justify-items:center;gap:var(--space-1);padding:var(--space-2) 0 var(--space-5);text-align:center}.streak-flame svg{width:56px;height:56px;stroke-width:1.2}.streak-flame svg path:first-child{fill:var(--streak-fire);stroke:var(--streak-fire)}.streak-flame svg path:last-child{fill:var(--streak-core);stroke:var(--streak-core)}.streak-hero .type-display{margin:0}.streak-hero__label{color:var(--text-2);font:var(--font-headline)}.streak-sheet .streak-week{padding-top:0}.streak-note{text-align:center}.streak-chip svg{width:18px;height:18px;stroke-width:1.4}.streak-chip svg path:first-child{fill:var(--streak-fire);stroke:var(--streak-fire)}.streak-chip svg path:last-child{fill:var(--streak-core);stroke:var(--streak-core)}.avatar{position:relative;width:var(--control-sm);height:var(--control-sm);overflow:hidden;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-round);background:var(--surface-2);color:var(--text-1);font:var(--font-body-strong);font-weight:var(--weight-bold)}.avatar--large{width:56px;height:56px;font:var(--font-title-2)}.avatar img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;opacity:0;transition:opacity var(--duration-base) var(--ease)}.avatar img.is-loaded{opacity:1}.state-screen{width:min(100% - 2 * var(--space-5),440px);min-height:var(--app-height);margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8) 0;text-align:center}.state-screen .brand{margin-bottom:var(--space-3)}.splash{min-height:var(--app-height);display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.splash b{display:inline-flex;align-items:center;gap:10px;font:var(--font-onb-value);letter-spacing:var(--tracking-onb-title)}.splash img{width:40px;height:40px}.state-screen h1{margin:0;font:var(--font-title-1);letter-spacing:var(--tracking-title-1)}.state-screen p{margin:0 0 var(--space-3);color:var(--text-2);font:var(--font-body)}.state-screen small{color:var(--text-2);font:var(--font-footnote)}.loader{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--text-1);border-radius:var(--radius-round);animation:spin .8s linear infinite}.skeleton-card{height:130px;margin-top:var(--space-3);border-radius:var(--radius-lg);background:linear-gradient(100deg,var(--surface-1) 20%,var(--surface-2) 45%,var(--surface-1) 70%);background-size:240% 100%;animation:shimmer 1.3s infinite}.home-skeleton{height:330px}.form-error{margin:var(--space-3) 0 0;color:var(--danger);text-align:center;font:var(--font-footnote)}.bottom-nav{position:fixed;z-index:30;left:50%;bottom:max(var(--space-3),env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 2 * var(--space-3)),calc(var(--app-width) - 2 * var(--space-3)));height:64px;display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:var(--space-2);align-items:center}.bottom-nav-main{height:64px;padding:0 var(--space-2);display:grid;grid-template-columns:repeat(3,1fr);align-items:center;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-1) 92%,transparent);box-shadow:var(--shadow-float),var(--shadow-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bottom-nav button{min-width:0;height:52px;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;color:var(--text-2);cursor:pointer;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast),color var(--duration-fast)}.bottom-nav button svg{width:22px;height:22px}.bottom-nav button span{font:var(--font-tab)}.bottom-nav button.is-active{color:var(--text-1)}.bottom-nav .nav-add{width:60px;height:60px;padding:0;justify-self:end;border-radius:var(--radius-round);background:var(--lime);color:var(--on-lime);box-shadow:var(--shadow-float);transition:transform var(--duration-fast) var(--ease),background var(--duration-fast),color var(--duration-fast)}.bottom-nav .nav-add svg{width:26px;height:26px;stroke-width:2.2}.bottom-nav button:active,.bottom-nav .nav-add:active{transform:scale(.94)}.week-pager{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--space-4);margin:calc(-1 * var(--space-1)) calc(-1 * var(--gutter)) var(--space-2);padding:var(--space-1) var(--gutter);scroll-padding:0 var(--gutter);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.week-pager::-webkit-scrollbar{display:none}.week-pager.is-dragging{scroll-snap-type:none;cursor:grabbing}.week-strip{min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;scroll-snap-align:start;scroll-snap-stop:always}.week-strip button{min-width:0;padding:var(--space-2) 0;border:0;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);background:transparent;color:var(--text-2);cursor:pointer;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast),color var(--duration-fast)}.week-strip button span{font:var(--font-caption);text-transform:capitalize}.week-strip button strong{width:34px;height:34px;position:relative;display:grid;place-items:center;border-radius:var(--radius-round);color:var(--text-1);font:var(--font-footnote);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.week-strip button.is-active{background:var(--surface-1);box-shadow:var(--shadow-card);color:var(--text-1)}.week-strip button:disabled{cursor:default}.week-strip button:disabled,.week-strip button:disabled strong{color:var(--text-3)}.week-strip button:not(:disabled):active{transform:scale(.94)}.week-day-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.week-day-ring circle{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}.week-day-ring__track{stroke:var(--border)}.week-day-ring__progress{stroke-linecap:round}.week-day-ring__progress--goal{stroke:var(--lime-graphic)}.week-day-ring__progress--over,.week-day-ring__progress--over-far{stroke:var(--danger)}.week-day-ring__progress--under,.week-day-ring__progress--under-far{stroke:var(--day-under)}.week-day-ring__progress--recorded{stroke:var(--text-1)}.week-day-ring__value{position:relative;z-index:1}.week-strip button.week-day--empty strong{border:1.5px dashed var(--text-3)}.week-strip button.week-day--empty .week-day-ring{display:none}.calorie-hero .hero-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.hero-label{margin:0 0 var(--space-1);color:var(--text-2);font:var(--font-footnote)}.calorie-hero h1{margin:0}.hero-sub{margin:var(--space-1) 0 0;color:var(--text-2);font:var(--font-footnote);font-variant-numeric:tabular-nums}.hero-note{margin:var(--space-4) 0 0;color:var(--text-2);font:var(--font-footnote)}.hero-setup .btn{margin-top:var(--space-3)}.calorie-ring{--progress: 0deg;width:92px;aspect-ratio:1;flex:0 0 auto;border-radius:var(--radius-round);display:grid;place-items:center;position:relative;background:conic-gradient(var(--ring-color, var(--lime-graphic)) var(--progress),var(--surface-2) 0)}.calorie-ring--over{--ring-color: var(--danger)}.calorie-ring:before{content:"";position:absolute;inset:8px;border-radius:inherit;background:var(--surface-1)}.calorie-ring span{z-index:1;display:grid;place-items:center;color:var(--text-1)}.calorie-ring span svg{width:24px;height:24px}.calorie-ring span svg path:first-child{fill:currentColor;stroke:currentColor}.calorie-ring span svg path:last-child{fill:var(--surface-1);stroke:var(--surface-1)}.day-pager__row{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--space-4);margin:0 calc(-1 * var(--gutter));padding:var(--space-1) var(--gutter) var(--space-2);scroll-padding:0 var(--gutter);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.day-pager__row::-webkit-scrollbar{display:none}.day-pager__page{min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always}.day-pager__page>*{flex:1 1 auto}.day-pager__page .card--lg{display:flex;flex-direction:column;justify-content:center}.day-pager__page .macro-card>strong{margin-top:auto}.day-pager__nav{display:flex;justify-content:center;align-items:center;margin:var(--space-1) 0 var(--space-2)}.day-pager__dots{display:flex;align-items:center;height:6px}.day-pager__dots button{width:12px;height:20px;margin:-7px 0;display:grid;place-items:center;border:0;background:none;cursor:pointer;transition:width var(--duration-fast) var(--ease)}.day-pager__dots button:before{content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:var(--text-3);transition:width var(--duration-fast) var(--ease),background var(--duration-fast)}.day-pager__dots button.is-active{width:24px}.day-pager__dots button.is-active:before{width:18px;background:var(--text-1)}.day-pager__dots button:active:before{background:var(--text-2)}.day-pager__dots button:focus-visible{border-radius:var(--radius-pill);outline-offset:-4px}@media(hover:hover)and (pointer:fine){.day-pager__dots button:hover:before{background:var(--text-2)}.day-pager__dots button.is-active:hover:before{background:var(--text-1)}}.water-card .hero-heading,.day-score .hero-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.water-card h2,.day-score h2{margin:0}.water-ring{--progress: 0deg;width:92px;aspect-ratio:1;flex:0 0 auto;border-radius:var(--radius-round);display:grid;place-items:center;position:relative;background:conic-gradient(var(--lime-graphic) var(--progress),var(--surface-2) 0)}.water-ring:before{content:"";position:absolute;inset:8px;border-radius:inherit;background:var(--surface-1)}.water-ring span{z-index:1;display:grid;place-items:center;color:var(--text-1)}.water-ring span svg{width:24px;height:24px}.water-ring span svg path{fill:currentColor}.water-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.water-actions .btn{flex:1}.burned-card{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-card)}.burned-card__icon{width:var(--control-sm);height:var(--control-sm);flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-2);color:var(--streak-fire)}.burned-card__icon svg{width:18px;height:18px}.burned-card strong{font:var(--font-body-strong);font-variant-numeric:tabular-nums}.macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}.macro-card{min-width:0;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-card)}.macro-card>strong{display:block;white-space:nowrap;font:var(--font-body-strong);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.macro-card>strong small{color:var(--text-2);font:var(--font-footnote)}.macro-card>span{margin-top:calc(-1 * var(--space-2));overflow:hidden;color:var(--text-2);font:var(--font-caption);letter-spacing:var(--tracking-caption);text-overflow:ellipsis;white-space:nowrap}.macro-ring{--progress: 0deg;width:48px;aspect-ratio:1;order:-1;display:grid;place-items:center;position:relative;border-radius:var(--radius-round);background:conic-gradient(var(--macro-color) var(--progress),var(--surface-2) 0)}.macro-ring:before{content:"";position:absolute;inset:5px;border-radius:inherit;background:var(--surface-1)}.macro-ring b{z-index:1;display:grid;place-items:center;color:var(--macro-color)}.macro-ring b svg{width:18px;height:18px}.macro-ring--protein{--macro-color: var(--protein)}.macro-ring--carbs{--macro-color: var(--carbs)}.macro-ring--fat{--macro-color: var(--fat)}.macro-ring--fiber{--macro-color: var(--fiber)}.macro-ring--sugar{--macro-color: var(--sugar)}.macro-ring--sodium{--macro-color: var(--sodium)}.macro-ring--over{--macro-color: var(--danger)}.meal-split{margin-top:var(--space-4);padding:0 var(--space-1)}.meal-split-bar{display:flex;gap:3px;height:8px}.meal-split-bar i{border-radius:var(--radius-pill)}.meal-split-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);color:var(--text-2);font:var(--font-caption);font-variant-numeric:tabular-nums}.meal-split-legend span{display:inline-flex;align-items:center;gap:6px}.meal-split-legend i{width:8px;height:8px;border-radius:var(--radius-round)}.meal-split--breakfast{background:var(--text-1)}.meal-split--lunch{background:color-mix(in srgb,var(--text-1) 60%,var(--surface-2))}.meal-split--dinner{background:color-mix(in srgb,var(--text-1) 36%,var(--surface-2))}.meal-split--snack{background:color-mix(in srgb,var(--text-1) 20%,var(--surface-2))}.meal-split--meal{background:var(--border)}.section{margin-top:var(--space-6)}.section-title{display:flex;align-items:baseline;justify-content:space-between;padding:0 var(--space-1) var(--space-3)}.section-title h2{margin:0;font:var(--font-headline);letter-spacing:var(--tracking-headline)}.section-title span{color:var(--text-2);font:var(--font-footnote)}.meal-list{display:grid;gap:var(--space-2)}.meal-row{width:100%;min-height:96px;padding:0 var(--space-4) 0 0;border:0;border-radius:var(--radius-lg);overflow:hidden;display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-3);align-items:center;text-align:left;background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow-card);cursor:pointer;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast),color var(--duration-fast)}.meal-row:active{transform:scale(.985)}.meal-photo{position:relative;width:96px;min-height:96px;align-self:stretch;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);color:var(--text-3)}.meal-photo img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}.meal-photo svg{width:22px;height:22px}.meal-main{min-width:0;padding:var(--space-3) 0}.meal-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.meal-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--font-body-strong)}.meal-title time{flex:0 0 auto;color:var(--text-2);font:var(--font-caption);font-variant-numeric:tabular-nums}.meal-calories{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1)}.meal-calories svg{width:16px;height:16px;fill:currentColor;stroke-width:1.5}.meal-calories strong{font:var(--font-headline);font-weight:var(--weight-bold);letter-spacing:var(--tracking-headline);font-variant-numeric:tabular-nums}.meal-macros{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);overflow:hidden;white-space:nowrap}.empty-card{display:flex;align-items:center;gap:var(--space-4)}.empty-card img{width:64px;height:64px;object-fit:contain;flex:0 0 auto}.empty-card strong{font:var(--font-body-strong)}.empty-card p{margin:var(--space-1) 0 0;color:var(--text-2);font:var(--font-footnote)}.job-list{display:grid;gap:var(--space-2);margin:var(--space-4) 0 0}.job{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3)}.job-action{margin-top:var(--space-2)}.job-main{flex:1 1 auto;min-width:0}.job-dot{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-2);color:var(--text-1);font:var(--font-body-strong)}.job-dot:after{content:"";width:8px;height:8px;border-radius:var(--radius-round);background:var(--lime-graphic);animation:pulse 1.2s infinite}.job--failed .job-dot,.job--completed .job-dot{color:var(--danger)}.job--failed .job-dot:after,.job--completed .job-dot:after{display:none}.job-dot svg{width:20px;height:20px}.job-dot--photo{position:relative;overflow:hidden}.job-dot--photo img{width:100%;height:100%;display:block;object-fit:cover}.job-dot--photo:after{position:absolute;right:3px;bottom:3px;box-shadow:0 0 0 2px var(--surface-1)}.job strong{font:var(--font-body-strong)}.job p{margin:2px 0 0;color:var(--text-2);font:var(--font-footnote)}.clarification-head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-3);align-items:center}.clarification-icon{width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-1)}.clarification-icon svg{width:22px;height:22px}.clarification-icon img{width:100%;height:100%;display:block;object-fit:cover}.clarification-head small,.clarification-head strong,.clarification-head span{display:block}.clarification-head small{color:var(--text-2);font:var(--font-caption);letter-spacing:var(--tracking-caption)}.clarification-head strong{overflow:hidden;font:var(--font-body-strong);text-overflow:ellipsis;white-space:nowrap}.clarification-head div>span{color:var(--text-2);font:var(--font-footnote);font-variant-numeric:tabular-nums}.clarification-card h3{margin:var(--space-4) 0 var(--space-3);font:var(--font-headline);letter-spacing:var(--tracking-headline)}.clarification-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.clarification-options .btn{min-width:0;padding:var(--space-2) var(--space-3)}.clarification-more{margin-top:var(--space-2)}.clarification-custom{margin-top:var(--space-3);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:end}.clarification-custom label span{display:block;margin:0 0 var(--space-2) var(--space-1);color:var(--text-2);font:var(--font-footnote)}@media(hover:hover)and (pointer:fine){.bottom-nav .nav-add:hover{background:color-mix(in srgb,var(--lime) 86%,var(--on-lime));transform:scale(1.04)}.bottom-nav button:not(.nav-add):not(.is-active):hover{color:var(--text-1);background:color-mix(in srgb,var(--text-1) 6%,transparent)}.week-strip button:not(:disabled):not(.is-active):hover{color:var(--text-1);background:color-mix(in srgb,var(--text-1) 6%,transparent)}.meal-row:hover{background:color-mix(in srgb,var(--text-1) 5%,var(--surface-1))}}@media(max-width:360px){.calorie-ring,.water-ring{width:80px}.macro-card{padding:var(--space-3) var(--space-2)}}.exercise-calories{flex:0 0 auto;color:var(--text-1);font:var(--font-body-strong);font-variant-numeric:tabular-nums}.meal-row.meal-row--pending{pointer-events:none}.pending-photo{--pending-ring: var(--text-1)}.pending-photo:has(img){--pending-ring: var(--on-scrim)}.pending-photo:has(img):after{content:"";position:absolute;inset:0;background:var(--scrim)}.pending-photo>svg{display:none}.pending-ring{position:absolute;z-index:1;inset:0;width:56px;height:56px;margin:auto;border-radius:var(--radius-round);display:grid;place-items:center}.pending-ring:before{content:"";position:absolute;inset:0;border-radius:inherit;background:conic-gradient(var(--pending-ring) var(--progress),color-mix(in srgb,var(--pending-ring) 25%,transparent) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),var(--on-scrim) calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),var(--on-scrim) calc(100% - 4px));transition:background var(--duration-base)}.pending-ring b{position:relative;color:var(--pending-ring);font:var(--font-caption);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.pending-main{display:grid;gap:var(--space-2)}.pending-main strong{font:var(--font-body-strong)}.pending-line{height:10px;border-radius:var(--radius-pill);background:linear-gradient(100deg,var(--surface-2) 20%,color-mix(in srgb,var(--text-1) 8%,var(--surface-2)) 45%,var(--surface-2) 70%);background-size:240% 100%;animation:shimmer 1.3s infinite}.pending-line--short{width:60%}.pending-main small{color:var(--text-2);font:var(--font-caption)}.notify-banner{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--surface-1);box-shadow:var(--shadow-card)}.notify-banner__icon{width:18px;height:18px;flex:0 0 auto;color:var(--text-2)}.notify-banner p{flex:1 1 auto;min-width:0;margin:0;color:var(--text-2);font:var(--font-caption)}.notify-banner p small{display:block;margin-top:2px;color:var(--danger);font:var(--font-caption)}.notify-banner__action{flex:0 0 auto;padding:0;border:0;background:none;color:var(--text-1);font:var(--font-footnote);font-weight:var(--weight-bold);text-decoration:underline;cursor:pointer}.notify-banner__action:disabled{color:var(--text-3)}.overlay--meal{align-items:stretch;background:var(--surface-1);animation:none}.meal-sheet{width:100%;height:var(--app-height);max-height:none;position:relative;padding:0;overflow-y:auto;border-radius:0;background:var(--surface-1);box-shadow:none;animation:none}.meal-detail-hero{width:100%;aspect-ratio:1;max-height:calc(var(--app-height) * .56);padding-bottom:var(--space-6);position:relative;display:grid;place-items:center;overflow:hidden;background:var(--surface-2);color:var(--text-3)}.meal-detail-hero>img{width:100%;height:100%;display:block;object-fit:cover}.meal-detail-hero>svg{width:40px;height:40px}.meal-detail-hero--empty{aspect-ratio:auto;height:calc(var(--app-height) * .26);min-height:160px}.meal-hero-tools{position:absolute;z-index:2;top:calc(var(--space-4) + env(safe-area-inset-top));right:var(--space-4);display:flex;gap:var(--space-2)}.meal-detail-watermark{position:absolute;z-index:2;top:calc(var(--space-4) + env(safe-area-inset-top));left:var(--space-4);height:var(--control-sm);display:flex;align-items:center;gap:var(--space-2);color:var(--on-scrim);font:var(--font-body-strong);font-weight:var(--weight-bold);text-shadow:0 1px 6px var(--scrim)}.meal-detail-watermark img{width:26px;height:26px;object-fit:contain}.meal-detail-content{position:relative;z-index:2;margin-top:calc(-1 * var(--space-6));padding:var(--space-5) var(--gutter) calc(120px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface-1)}.meal-sheet.has-correction .meal-detail-content{padding-bottom:calc(220px + env(safe-area-inset-bottom))}.meal-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.meal-save-chip.is-saved{color:var(--lime-text)}.meal-save-chip svg{fill:none}.meal-save-chip.is-saved svg{fill:currentColor}.meal-time-trigger{font-variant-numeric:tabular-nums}.meal-time-trigger:disabled{opacity:.5;cursor:default}.meal-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3)}.meal-detail-title h2{min-width:0;margin:0}.meal-detail-tools{display:flex;gap:var(--space-2)}.meal-portion-trigger svg{width:14px;height:14px;color:var(--text-2)}.meal-portion-trigger:disabled{opacity:.5;cursor:default}.meal-detail-name{margin:var(--space-3) 0 0;overflow-wrap:break-word;cursor:pointer;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.meal-detail-name.is-open{display:block}.portion-stepper{margin-top:var(--space-2);display:flex;align-items:center;justify-content:center;gap:var(--space-6)}.portion-stepper b{min-width:64px;text-align:center;font:var(--font-title-1);font-variant-numeric:tabular-nums}.portion-sheet .form-error{margin:var(--space-3) 0 0;text-align:center}.portion-sheet .btn{margin-top:var(--space-6)}.share-notice{margin:var(--space-3) 0 0;display:flex;justify-content:center;align-items:center;gap:6px;color:var(--text-2);font:var(--font-footnote)}.share-notice svg{width:16px;height:16px;color:var(--success)}.meal-detail-content .day-pager{margin-top:var(--space-3)}.detail-nutrition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.detail-nutrient--calories{grid-column:1 / -1}.detail-nutrient.detail-nutrient--calories strong{font:var(--font-title-1);letter-spacing:var(--tracking-title-1)}.detail-nutrient:not(.detail-nutrient--calories){flex-direction:column;align-items:flex-start;gap:var(--space-2)}.detail-nutrient:not(.detail-nutrient--calories) .detail-nutrient-icon{width:32px;height:32px}.detail-nutrient{min-width:0;padding:var(--space-3);display:flex;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2)}.detail-nutrient-icon{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-1)}.detail-nutrient-icon svg{width:18px;height:18px}.detail-nutrient>span{min-width:0;color:var(--text-2);font:var(--font-caption);letter-spacing:var(--tracking-caption)}.detail-nutrient strong{display:block;color:var(--text-1);font:var(--font-headline);font-weight:var(--weight-bold);letter-spacing:var(--tracking-headline);font-variant-numeric:tabular-nums;white-space:nowrap}.detail-nutrient small{display:block;overflow:hidden;color:var(--text-2);font:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.detail-nutrient--calories .detail-nutrient-icon{color:var(--text-1)}.detail-nutrient--calories .detail-nutrient-icon svg{fill:currentColor}.detail-nutrient--protein .detail-nutrient-icon{color:var(--protein)}.detail-nutrient--carbs .detail-nutrient-icon{color:var(--carbs)}.detail-nutrient--fat .detail-nutrient-icon{color:var(--fat)}.detail-nutrient--fiber .detail-nutrient-icon{color:var(--fiber)}.detail-nutrient--sugar .detail-nutrient-icon{color:var(--sugar)}.detail-nutrient--sodium .detail-nutrient-icon{color:var(--sodium)}button.detail-nutrient{width:100%;border:0;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast)}button.detail-nutrient:active:not(:disabled){transform:scale(.97)}button.detail-nutrient:disabled{cursor:default}button.detail-nutrient:focus-visible{outline:2px solid var(--text-1);outline-offset:2px}.total-field{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);border:1.5px solid transparent;border-radius:var(--radius-md);background:var(--surface-2);cursor:text}.total-field:focus-within{border-color:var(--text-1)}.total-field input{min-width:0;flex:1;padding:0;border:0;background:transparent;color:var(--text-1);font:var(--font-display);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;outline:0}.total-field input::placeholder{color:var(--text-3)}.total-field b{color:var(--text-2);font:var(--font-headline)}.total-sheet .form-error{margin:var(--space-2) 0 0}.total-subject{margin:var(--space-1) 0 0;color:var(--text-2);font:var(--font-footnote)}.total-actions{margin-top:var(--space-5);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.health-score{grid-column:1 / -1;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2)}.health-score-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-1)}.health-score-icon svg{width:18px;height:18px}.health-score-copy{min-width:0}.health-score-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.health-score-head span{font:var(--font-body-strong)}.health-score strong{color:var(--text-1);font:var(--font-headline);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.health-score strong small{margin-left:2px;color:var(--text-2);font:var(--font-caption)}.health-score-track{height:6px;margin-top:var(--space-2);overflow:hidden;border-radius:var(--radius-pill);background:var(--border)}.health-score-track i{height:100%;display:block;border-radius:inherit;background:var(--text-3);transition:width var(--duration-base) var(--ease)}.health-score--good .health-score-icon{color:var(--success)}.health-score--good .health-score-track i{background:var(--success)}.health-score--fair .health-score-icon{color:var(--streak-fire)}.health-score--fair .health-score-track i{background:var(--streak-fire)}.health-score--poor .health-score-icon{color:var(--danger)}.health-score--poor .health-score-track i{background:var(--danger)}.health-score--none .health-score-icon{color:var(--text-3)}.ingredient-heading{margin:var(--space-6) 0 var(--space-1);font:var(--font-headline);letter-spacing:var(--tracking-headline)}.ingredient-list{display:grid}.ingredient-item{position:relative;padding:var(--space-3) 0}.ingredient-item+.ingredient-item:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--border)}.ingredient-row{display:flex;align-items:center;gap:var(--space-2)}.ingredient-toggle{min-width:0;flex:1;padding:0;border:0;display:block;background:transparent;color:var(--text-1);text-align:left;cursor:pointer;transition:opacity var(--duration-fast)}.ingredient-toggle>span{display:block;min-width:0}.ingredient-toggle strong{font:var(--font-body)}.ingredient-toggle svg{display:inline-block;width:14px;height:14px;margin-left:var(--space-1);color:var(--text-3);vertical-align:-2px;transition:transform var(--duration-base) var(--ease)}.ingredient-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.ingredient-toggle small{display:block;margin-top:2px;color:var(--text-2);font:var(--font-footnote);font-variant-numeric:tabular-nums}.ingredient-toggle:active{opacity:.6}.gram-stepper{display:flex;align-items:center;gap:var(--space-1);flex:0 0 auto}.gram-stepper b{min-width:48px;text-align:center;font:var(--font-footnote);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.ingredient-breakdown{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-2) 0 0 calc(-1 * var(--space-2))}.ingredient-value{padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-pill);background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast)}.ingredient-value:active:not(:disabled){transform:scale(.95);background:var(--surface-2)}.ingredient-value:disabled{cursor:default}.ingredient-value:focus-visible{outline:2px solid var(--text-1);outline-offset:1px}.macro-value--calories svg{color:var(--text-1);fill:currentColor}.meal-rating{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2)}.meal-rating>span{flex:1 1 auto;min-width:0;color:var(--text-1);font:var(--font-body-strong)}.meal-rating-btn{background:var(--surface-1);color:var(--text-2)}.meal-rating .meal-rating-btn.is-active:not(:disabled){background:var(--fill-primary);color:var(--on-primary)}.meal-entry-type{margin-top:var(--space-6)}.meal-entry-type .section-label{margin-top:0}.meal-detail-content .meal-delete{margin-top:var(--space-4)}.meal-detail-error{margin:0;padding:0 var(--gutter) var(--space-5)}.meal-action-dock{position:fixed;z-index:5;left:50%;bottom:0;width:min(100%,var(--app-width));padding:var(--space-6) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));transform:translate(-50%);background:linear-gradient(to top,var(--surface-1) 72%,transparent)}.meal-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.correction-composer{margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2)}.correction-composer label{display:block;margin:0 0 var(--space-2) var(--space-1);font:var(--font-footnote);font-weight:var(--weight-medium)}.correction-composer .input{background:var(--surface-1)}.time-wheels{grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,1fr))}.time-sheet .btn{margin-top:var(--space-4)}.share-preview{display:flex;justify-content:center;margin-bottom:var(--space-5)}.share-preview img{display:block;width:auto;max-width:100%;height:min(calc(var(--app-height) * .5),460px);aspect-ratio:3 / 4;object-fit:contain;border-radius:var(--radius-lg)}.share-preview img{box-shadow:var(--shadow-card)}.share-channels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2)}.share-channel{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-1) 0;border:0;background:transparent;color:var(--text-1);font:var(--font-caption);cursor:pointer}.share-channel__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-2);transition:transform var(--duration-fast) var(--ease),background var(--duration-fast)}.share-channel__icon svg{width:24px;height:24px}.share-channel:active .share-channel__icon{transform:scale(.94)}.share-channel:disabled{cursor:default;color:var(--text-3)}.share-channel:disabled .share-channel__icon{transform:none}.share-channel[aria-busy=true]{color:var(--text-1)}.share-channel[aria-busy=true] .share-channel__icon{position:relative}.share-channel[aria-busy=true] .share-channel__icon:after{content:"";position:absolute;inset:-3px;border:2px solid transparent;border-top-color:var(--text-1);border-radius:var(--radius-round);animation:spin .8s linear infinite}@media(hover:hover)and (pointer:fine){.ingredient-toggle:hover strong{color:var(--text-2)}.ingredient-value:not(:disabled):hover{background:var(--surface-2)}button.detail-nutrient:not(:disabled):hover{background:color-mix(in srgb,var(--text-1) 6%,var(--surface-2))}.share-channel:hover:not(:disabled) .share-channel__icon{background:color-mix(in srgb,var(--text-1) 9%,var(--surface-2))}}.reminder-time-sheet .btn--tertiary{margin-top:var(--space-2)}.add-options{margin-top:var(--space-1)}.add-options .list-row{min-height:68px}.list-row__button:not(:disabled):active{opacity:.6}.uploading{min-height:64px;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-2);font:var(--font-footnote)}.uploading .loader{width:24px;height:24px}.form-error.add-error{margin:0 0 var(--space-3)}.add-form .btn,.product-flow .btn--primary{margin-top:var(--space-4)}.add-back{margin-top:var(--space-2)}.voice-recorder{padding-top:var(--space-4);text-align:center}.mic-orb{width:96px;height:96px;margin:0 auto var(--space-4);display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-2);color:var(--text-1)}.mic-orb svg{width:36px;height:36px}.mic-orb.is-recording{background:color-mix(in srgb,var(--danger) 14%,var(--surface-1));color:var(--danger);animation:recordPulse 1.4s infinite}.voice-recorder>strong{display:block;font:var(--font-title-2);letter-spacing:var(--tracking-title-2);font-variant-numeric:tabular-nums}.voice-recorder>p{margin:var(--space-2) 0 var(--space-5);color:var(--text-2);font:var(--font-footnote)}.template-picker,.product-flow{margin-top:var(--space-1)}.template-list{margin-top:var(--space-4)}.template-row .list-row__main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.product-summary{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2)}.product-summary strong{display:block;font:var(--font-body-strong)}.product-summary span{display:block;margin-top:2px;color:var(--text-2);font:var(--font-footnote);font-variant-numeric:tabular-nums}.portion-row{margin-top:var(--space-3)}.product-flow .field{margin-top:var(--space-4)}.product-total{margin:var(--space-4) 0 0;text-align:center;font:var(--font-title-1);letter-spacing:var(--tracking-title-1);font-variant-numeric:tabular-nums}.camera{--frame-top: calc(env(safe-area-inset-top) + 31.25cqw) ;--frame-h: min(97.5cqw, 100cqh - var(--frame-top) - 192px - env(safe-area-inset-bottom));position:fixed;z-index:200;inset:0;width:min(100%,var(--app-width));margin:0 auto;display:flex;flex-direction:column;container-type:size;background:var(--camera-bg);color:var(--camera-ink)}.camera video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--camera-bg)}.camera-controls{position:absolute;z-index:2;left:0;right:0;bottom:0;padding-top:var(--space-8);background:linear-gradient(to top,var(--camera-veil),transparent)}.camera-top{position:absolute;z-index:2;left:0;right:0;top:0;display:grid;grid-template-columns:var(--control-md) 1fr var(--control-md);align-items:center;gap:var(--space-3);padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-3)}.camera-title{display:flex;align-items:center;justify-content:center;gap:6px;font:var(--font-body-strong)}.camera-logo{width:15px;height:20px;flex:0 0 auto;background:currentColor;-webkit-mask:url(/app/pear-mask.png) center / contain no-repeat;mask:url(/app/pear-mask.png) center / contain no-repeat}.camera-round{width:var(--control-md);height:var(--control-md);padding:0;border:0;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--camera-control);color:var(--camera-ink);cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform var(--duration-fast) var(--ease)}.camera-round svg{width:20px;height:20px}.camera-round:active{transform:scale(.94)}.camera-round.is-on{background:var(--lime);color:var(--on-lime)}.camera-round--empty{background:none;pointer-events:none}.camera-hint{position:absolute;left:0;right:0;top:calc(72px + env(safe-area-inset-top));display:flex;justify-content:center;padding:0 var(--space-5);pointer-events:none}.camera-hint span{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--camera-veil);font:var(--font-footnote);text-align:center}.camera-found{position:absolute;z-index:3;left:50%;top:calc(var(--frame-top) + var(--frame-h) - var(--control-sm) - var(--space-4));transform:translate(-50%);max-width:calc(100% - 2 * var(--space-4));min-height:var(--control-sm);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--lime);color:var(--on-lime);font:var(--font-footnote);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer}.camera-found svg{width:16px;height:16px;flex:0 0 auto}.camera-found:active{transform:translate(-50%) scale(.97)}.camera-frame{position:absolute;left:50%;top:var(--frame-top);width:calc(var(--frame-h) / 1.3);height:var(--frame-h);transform:translate(-50%);pointer-events:none}.camera-frame--barcode{top:calc(env(safe-area-inset-top) + 42cqh);width:min(77cqw,300px);height:auto;aspect-ratio:3 / 2;transform:translate(-50%,-50%)}.frame-corners{--corner: 36px;--corner-line: 4px;--corner-radius: var(--radius-lg)}.frame-corners i{position:absolute;width:var(--corner);height:var(--corner);border:var(--corner-line) solid var(--camera-ink)}.frame-corners i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:var(--corner-radius) 0 0 0}.frame-corners i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 var(--corner-radius) 0 0}.frame-corners i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 var(--corner-radius)}.frame-corners i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 var(--corner-radius) 0}.camera-error{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);text-align:center}.camera-error p{margin:0 0 var(--space-3);font:var(--font-body)}.camera-error .btn--tertiary{color:var(--camera-ink)}.camera-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);padding:0 var(--space-3) var(--space-3)}.camera-modes button{min-width:0;padding:var(--space-3) var(--space-1) var(--space-2);border:0;border-radius:var(--radius-md);display:grid;justify-items:center;gap:var(--space-1);background:var(--camera-control);color:var(--camera-ink);font:var(--font-caption);cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform var(--duration-fast) var(--ease)}.camera-modes button svg{width:22px;height:22px}.camera-modes button span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-modes button.is-active{background:var(--camera-ink);color:var(--camera-bg)}.camera-modes button:active{transform:scale(.94)}.camera-bar{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) calc(var(--space-5) + env(safe-area-inset-bottom))}.camera-bar>:first-child{grid-column:1;justify-self:center}.camera-bar>:last-child{grid-column:4;justify-self:center}.camera-shutter{grid-column:2 / 4;width:72px;height:72px;justify-self:center;padding:0;border:4px solid var(--camera-control);border-radius:var(--radius-round);background:var(--camera-ink);background-clip:padding-box;cursor:pointer;transition:transform var(--duration-fast) var(--ease)}.camera-shutter:active{transform:scale(.93)}.camera-shutter:disabled{opacity:.45;cursor:default}.scan-tips__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.scan-tip{margin:0}.scan-tip figcaption{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font:var(--font-body-strong)}.scan-tip__mark{width:22px;height:22px;display:grid;place-items:center;border-radius:var(--radius-round);color:var(--on-primary)}.scan-tip__mark svg{width:14px;height:14px;stroke-width:3}.scan-tip__mark--do{background:var(--success)}.scan-tip__mark--dont{background:var(--danger)}.scan-tip__shot{position:relative;overflow:hidden;aspect-ratio:400 / 419;border-radius:var(--radius-md);background:var(--surface-2)}.scan-tip__shot img{display:block;width:100%;height:100%;object-fit:cover}.scan-tip__shot .frame-corners{position:absolute;inset:12%;--corner: 18px;--corner-line: 3px;--corner-radius: var(--radius-sm)}.scan-tip__shot .frame-corners i{border-color:var(--camera-ink)}.scan-tips__subtitle{margin:var(--space-5) 0 var(--space-2);font:var(--font-body-strong)}.scan-tips__list{margin:0 0 var(--space-5);padding-left:var(--space-5);color:var(--text-2);font:var(--font-body)}.scan-tips__list li+li{margin-top:var(--space-1)}@media(hover:hover)and (pointer:fine){.camera-round:not(.is-on):hover,.camera-modes button:not(.is-active):hover{background:color-mix(in srgb,var(--camera-ink) 26%,transparent)}.camera-found:hover{background:color-mix(in srgb,var(--lime) 86%,var(--on-lime))}.camera-shutter:not(:disabled):hover{transform:scale(1.04)}}.add-menu{width:100%;padding:0 var(--space-3) calc(max(var(--space-3),env(safe-area-inset-bottom)) + 64px + var(--space-4));animation:sheetIn .28s var(--ease)}.add-menu,.add-grid{pointer-events:none}.add-menu__note{margin:0 0 var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-1);color:var(--danger);font:var(--font-footnote);pointer-events:auto}.add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.add-tile{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-1);border:0;border-radius:var(--radius-md);background:var(--surface-1);box-shadow:var(--shadow-card);color:var(--text-1);text-align:center;cursor:pointer;pointer-events:auto;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast)}.add-tile strong{font:var(--font-body-strong)}.add-tile__icon{width:50px;height:50px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-1)}.add-tile__icon--lime{background:var(--lime);color:var(--on-lime)}.add-tile__icon svg{width:26px;height:26px}.add-tile:active{transform:scale(.97)}.add-note{margin:0 var(--space-1) var(--space-3);text-align:center}.product-flow .product-voice{margin-top:var(--space-4)}@media(hover:hover)and (pointer:fine){.add-tile:hover{background:color-mix(in srgb,var(--text-1) 6%,var(--surface-1))}}.screen-section{padding-top:var(--space-2)}.screen-heading{padding:var(--space-2) var(--space-1) var(--space-5)}.screen-heading h1{margin:0;font:var(--font-title-1);letter-spacing:var(--tracking-title-1)}.progress-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.summary-card{min-width:0;display:flex;flex-direction:column}.summary-card>strong{display:block;margin-top:var(--space-2);font:var(--font-title-1);letter-spacing:var(--tracking-title-1);font-variant-numeric:tabular-nums}.streak-count{display:flex;align-items:center;gap:var(--space-2)}.streak-count svg{width:30px;height:30px;flex:0 0 auto;stroke-width:1.5}.streak-count svg path:first-child{fill:var(--streak-fire);stroke:var(--streak-fire)}.streak-count svg path:last-child{fill:var(--streak-core);stroke:var(--streak-core)}.streak-count strong{font:var(--font-title-1);letter-spacing:var(--tracking-title-1);font-variant-numeric:tabular-nums}.streak-unit{display:block;margin-top:2px;color:var(--text-2);font:var(--font-footnote)}.streak-week{width:100%;display:flex;justify-content:space-between;gap:2px;margin-top:auto;padding-top:var(--space-4)}.streak-day{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.streak-day>span{color:var(--text-2);font:var(--font-caption);text-transform:capitalize}.streak-day>i{width:100%;max-width:18px;aspect-ratio:1;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-2)}.streak-day>i svg{width:10px;height:10px;stroke-width:3.2;color:var(--surface-1)}.streak-day.is-logged>i{background:var(--streak-fire)}.streak-day.is-today>i{background:transparent;box-shadow:inset 0 0 0 2px var(--streak-fire)}.streak-day.is-today>span{color:var(--text-1)}.streak-day.is-future>span{color:var(--text-3)}.badges-card{border:0;color:var(--text-1);font:inherit;text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease)}.badges-card:active{transform:scale(.98)}.badges-card__row{display:flex;min-height:30px}.badges-card__row>*{flex:0 0 auto}.badges-card__row>*+*{margin-left:-8px}.badges-card>.streak-unit{margin-top:2px}.progress-card{margin-top:var(--space-3)}.progress-card h2{margin:0;font:var(--font-headline);letter-spacing:var(--tracking-headline)}.progress-card>p{margin:var(--space-1) 0 0;color:var(--text-2);font:var(--font-footnote)}.progress-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.goal-chip{min-height:28px;display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-2);font:var(--font-caption);white-space:nowrap;font-variant-numeric:tabular-nums}.goal-chip svg{width:14px;height:14px}.goal-chip b{color:var(--text-1);font-weight:var(--weight-bold)}.metric-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.metric-line strong{font:var(--font-title-1);letter-spacing:var(--tracking-title-1);font-variant-numeric:tabular-nums}.metric-line em{color:var(--text-2);font:var(--font-footnote);font-style:normal}.delta{display:inline-flex;align-items:center;gap:2px;font:var(--font-footnote);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.delta svg{width:14px;height:14px}.delta--up{color:var(--lime-text)}.delta--down{color:var(--text-2)}.projection-line{margin:var(--space-3) 0 0;color:var(--text-2);font:var(--font-footnote)}.progress-card .seg{margin-top:var(--space-3)}.weight-message{margin:var(--space-3) 0 0;color:var(--lime-text);font:var(--font-footnote);font-weight:var(--weight-medium);text-align:center}.current-weight__label{display:block;color:var(--text-2);font:var(--font-footnote)}.current-weight__value{display:block;margin-top:var(--space-1);font:var(--font-title-1);letter-spacing:var(--tracking-title-1);font-variant-numeric:tabular-nums}.current-weight .progress-card__head{align-items:flex-start}.current-weight__bar{height:8px;margin-top:var(--space-4);overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-2)}.current-weight__bar i{display:block;width:var(--fill, 0%);height:100%;border-radius:inherit;background:var(--text-1);transition:width .5s var(--ease)}.current-weight__ends{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2);color:var(--text-2);font:var(--font-caption)}.current-weight__ends span{display:grid;gap:2px}.current-weight__ends span:last-child{text-align:right}.current-weight__ends b{color:var(--text-1);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.current-weight .btn{margin-top:var(--space-4)}.change-rows{margin:var(--space-2) 0 0;padding:0;list-style:none}.change-rows li{min-height:44px;display:grid;grid-template-columns:minmax(64px,1fr) 56px minmax(72px,auto) minmax(92px,auto);align-items:center;gap:var(--space-2);border-top:1px solid var(--border);font:var(--font-footnote);font-variant-numeric:tabular-nums}.change-rows li:first-child{border-top:0}.change-rows span{color:var(--text-1)}.change-rows b{font-weight:var(--weight-medium);text-align:right;white-space:nowrap}.change-trend{color:var(--text-2);font-style:normal;text-align:right;white-space:nowrap}.sparkline{width:56px;height:20px;display:block}.sparkline path,.sparkline line{fill:none;stroke:var(--text-2);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.sparkline line{stroke:var(--border);stroke-dasharray:3 3}.chart-frame{position:relative;margin-top:var(--space-4)}.chart-frame svg{display:block;width:100%;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.chart-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.chart-axis{fill:var(--text-2);font:var(--font-caption);font-variant-numeric:tabular-nums}.chart-target{stroke:var(--text-3);stroke-width:1.4;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.chart-target-label{fill:var(--text-2);font:var(--font-caption)}.chart-area{fill:var(--text-1);opacity:.06}.chart-line{fill:none;stroke:var(--text-1);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-line--rest{stroke:var(--border)}.chart-cursor{stroke:var(--text-3);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.chart-dot{fill:var(--surface-1);stroke:var(--text-1);stroke-width:3;vector-effect:non-scaling-stroke}.chart-bar{fill:var(--text-1);transition:fill var(--duration-fast)}.chart-bar--over{fill:var(--danger)}.chart-bar.is-active{fill:var(--lime-graphic)}.chart-tooltip{position:absolute;top:2px;transform:translate(-50%);display:grid;gap:1px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--fill-primary);color:var(--on-primary);text-align:center;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-float)}.chart-tooltip strong{font:var(--font-body-strong);font-variant-numeric:tabular-nums}.chart-tooltip span{color:color-mix(in srgb,var(--on-primary) 72%,var(--fill-primary));font:var(--font-caption)}.stack-tooltip em{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px;color:color-mix(in srgb,var(--on-primary) 80%,var(--fill-primary));font:var(--font-caption);font-style:normal}.chart-frame--ghost{display:grid;place-items:center}.chart-frame--ghost svg{grid-area:1 / 1}.chart-ghost-line{stroke:var(--border);stroke-width:2.4;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.chart-ghost-bar{fill:var(--surface-2)}.chart-ghost-caption{grid-area:1 / 1;max-width:80%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-1);color:var(--text-2);font:var(--font-footnote);text-align:center;box-shadow:var(--shadow-card)}.stack-part--protein{fill:var(--protein)}.stack-part--fat{fill:var(--fat)}.stack-part--carbs{fill:var(--carbs)}.chart-frame g.is-active .stack-part{filter:brightness(1.08)}.stack-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 0;padding:0;list-style:none;color:var(--text-2);font:var(--font-footnote);font-variant-numeric:tabular-nums}.stack-legend li{display:flex;align-items:center;gap:6px}.stack-legend b{color:var(--text-1);font-weight:var(--weight-medium)}.stack-dot{width:8px;height:8px;flex:0 0 auto;border-radius:var(--radius-round)}.stack-dot--protein{background:var(--protein)}.stack-dot--fat{background:var(--fat)}.stack-dot--carbs{background:var(--carbs)}.energy-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:var(--space-3) 0 0}.energy-stats div{min-width:0}.energy-stats dt{display:flex;align-items:center;gap:6px;color:var(--text-2);font:var(--font-caption)}.energy-stats dd{margin:2px 0 0;font:var(--font-title-2);letter-spacing:var(--tracking-title-2);font-variant-numeric:tabular-nums}.energy-dot{width:8px;height:8px;flex:0 0 auto;display:inline-block;border-radius:var(--radius-round)}.energy-dot--consumed{background:var(--streak-fire)}.energy-dot--burned{background:var(--fat)}.energy-bar--consumed{fill:var(--streak-fire)}.energy-bar--burned{fill:var(--fat)}.chart-frame g.is-active .energy-bar{filter:brightness(1.08)}.bmi-verdict{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-2);font:var(--font-footnote)}.bmi-chip{padding:2px var(--space-2);border-radius:var(--radius-pill);color:var(--text-1);font:var(--font-caption);font-weight:var(--weight-bold)}.bmi-chip--under{background:color-mix(in srgb,var(--fat) 22%,var(--surface-1))}.bmi-chip--healthy{background:color-mix(in srgb,var(--lime-graphic) 26%,var(--surface-1))}.bmi-chip--over{background:color-mix(in srgb,var(--carbs) 24%,var(--surface-1))}.bmi-chip--obese{background:color-mix(in srgb,var(--danger) 22%,var(--surface-1))}.bmi-scale{position:relative;height:10px;margin:var(--space-5) 0 0;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--fat) 0 28.3%,var(--lime-graphic) 28.3% 50%,var(--carbs) 50% 66.7%,var(--danger) 66.7% 100%)}.bmi-scale i{position:absolute;top:-6px;width:4px;height:22px;margin-left:-2px;border-radius:var(--radius-pill);background:var(--text-1);box-shadow:0 0 0 2px var(--surface-1)}.bmi-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 0;padding:0;list-style:none;color:var(--text-2);font:var(--font-caption)}.bmi-legend li{display:flex;align-items:center;gap:6px}.bmi-dot{width:8px;height:8px;border-radius:var(--radius-round)}.bmi-dot--under{background:var(--fat)}.bmi-dot--healthy{background:var(--lime-graphic)}.bmi-dot--over{background:var(--carbs)}.bmi-dot--obese{background:var(--danger)}.sheet-copy a{color:inherit;text-decoration:underline}.plan-card{margin-bottom:var(--space-3)}.plan-card h3{margin:0;font:var(--font-headline);letter-spacing:var(--tracking-headline)}.plan-card p{margin:var(--space-2) 0 0;color:var(--text-2);font:var(--font-footnote)}.plan-card p strong{color:var(--text-1);font-weight:var(--weight-medium)}.plan-value{display:flex;align-items:baseline;gap:var(--space-2);margin-top:var(--space-3);font-variant-numeric:tabular-nums}.plan-value b{font:var(--font-title-1);letter-spacing:var(--tracking-title-1)}.plan-value em{color:var(--text-2);font:var(--font-footnote);font-style:normal;text-decoration:line-through}.plan-actions{display:grid;gap:var(--space-2);margin-top:var(--space-4)}@media(hover:hover)and (pointer:fine){.badges-card:hover{box-shadow:var(--shadow-float)}.progress-photo-thumb:hover,.photo-grid__cell:hover img{filter:brightness(.94)}}.weight-sheet .btn{margin-top:var(--space-6)}.progress-photos .btn{margin-top:var(--space-3)}.progress-photos__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}.progress-photo-thumb{aspect-ratio:3 / 4;padding:0;overflow:hidden;border:0;border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;transition:transform var(--duration-fast) var(--ease)}.progress-photo-thumb:active{transform:scale(.96)}.progress-photo-thumb img,.photo-grid__cell img,.photo-detail img{width:100%;height:100%;display:block;object-fit:cover}.progress-photo-preview{width:100%;max-height:240px;display:block;margin-bottom:var(--space-4);border-radius:var(--radius-md);object-fit:cover}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.photo-grid__cell{display:grid;gap:var(--space-1);padding:0;border:0;background:none;color:var(--text-2);font:var(--font-caption);text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease)}.photo-grid__cell:active{transform:scale(.96)}.photo-grid__cell img{aspect-ratio:3 / 4;height:auto;border-radius:var(--radius-sm);background:var(--surface-2)}.photo-detail{display:grid;gap:var(--space-4)}.photo-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.photo-compare figure,.photo-single figure{margin:0;display:grid;align-content:start;gap:var(--space-2)}.photo-compare img,.photo-single img{aspect-ratio:3 / 4;height:auto;border-radius:var(--radius-md);background:var(--surface-2)}.photo-compare figcaption,.photo-single figcaption{color:var(--text-2);font:var(--font-footnote)}.profile-screen{padding-bottom:var(--space-4)}.profile-card{margin-top:var(--space-2)}.profile-card-main{display:flex;align-items:center;gap:var(--space-4)}.profile-card-text{min-width:0;display:grid;gap:var(--space-2)}.profile-card-text h1{margin:0;font:var(--font-title-2);letter-spacing:var(--tracking-title-2);overflow-wrap:anywhere}.profile-card-text p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.profile-card-text small{color:var(--text-2);font:var(--font-footnote)}.plan-badge{min-height:26px;display:inline-flex;align-items:center;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-1);font:var(--font-footnote);font-weight:var(--weight-medium)}.profile-card--unlimited .plan-badge{background:var(--lime);color:var(--on-lime)}.profile-card--expired .plan-badge{background:color-mix(in srgb,var(--danger) 16%,var(--surface-1));color:var(--danger)}.profile-card-note{margin:var(--space-4) 0 0;color:var(--text-2);font:var(--font-footnote)}.profile-card-action{margin-top:var(--space-4)}.body-card .field+.field,.body-card .field-row,.body-card .picker-field{margin-top:var(--space-4)}.field-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.field-row .field+.field{margin-top:0}.metric-field input{text-align:center;font:var(--font-title-2);font-variant-numeric:tabular-nums}.body-card .hint{margin-top:var(--space-2)}.settings-save{margin-top:var(--space-5)}.metric-note{display:block;margin-top:var(--space-1);color:var(--text-2);font:var(--font-footnote);font-variant-numeric:tabular-nums;text-align:center}.goal-hint{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2)}.goal-hint .hint{flex:0 1 auto;margin:0 0 0 var(--space-1)}.goal-hint .goal-problem{color:var(--danger)}.metric-field input[aria-invalid=true]{border-color:var(--danger);color:var(--danger)}.goal-hint .icon-btn{flex:0 0 auto;color:var(--text-3)}.macro-math{margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.macro-math li{display:flex;justify-content:space-between;font:var(--font-body);font-variant-numeric:tabular-nums}.macro-math li span{color:var(--text-2)}.macro-math-example{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);font:var(--font-footnote);font-variant-numeric:tabular-nums;text-align:center}.goal-fixes{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.estimate-note{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);text-align:center}.estimate-note strong{display:block;font:var(--font-title-2);letter-spacing:var(--tracking-title-2);font-variant-numeric:tabular-nums}.estimate-note span{display:block;margin-top:var(--space-1);color:var(--text-2);font:var(--font-footnote);font-variant-numeric:tabular-nums}.estimate-note .estimate-capped{color:var(--text-1)}.picker-field>small{display:block;margin:var(--space-2) var(--space-1) 0;color:var(--text-2);font:var(--font-footnote)}.picker-trigger{width:100%;min-height:var(--control-lg);padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);text-align:left;cursor:pointer;transition:background var(--duration-fast)}.picker-trigger strong{min-width:0;font:var(--font-body)}.picker-trigger svg{width:16px;height:16px;flex:0 0 auto;color:var(--text-3)}.picker-trigger:active{background:color-mix(in srgb,var(--text-1) 8%,var(--surface-2))}.picker-list{max-height:calc(var(--app-height) * .6);overflow-y:auto}.picker-list .list-row.is-active{font-weight:var(--weight-medium)}.picker-check{width:18px;height:18px;flex:0 0 auto;color:var(--lime-text)}.picker-row .list-row__value{white-space:nowrap}.notice{margin-top:var(--space-4);text-align:center}@media(hover:hover)and (pointer:fine){.picker-trigger:hover{background:color-mix(in srgb,var(--text-1) 6%,var(--surface-2))}}.profile-name{min-width:0;padding:0;border:0;display:flex;align-items:center;gap:var(--space-2);background:none;color:var(--text-1);text-align:left;cursor:pointer}.profile-name svg{width:16px;height:16px;flex:0 0 auto;color:var(--text-3)}.plan-badge svg{width:14px;height:14px;margin-right:var(--space-1)}.profile-screen .list-row__icon{background:var(--surface-2)}.overlay--page{align-items:stretch;background:var(--bg);animation:none}.page-sheet{width:100%;height:var(--app-height);overflow-y:auto;background:var(--bg);animation:slideUp var(--duration-base) var(--ease)}.page-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:var(--space-3);padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--gutter) var(--space-3);background:var(--bg)}.page-head h2{margin:0;font:var(--font-headline)}.page-body{padding:0 var(--gutter) calc(var(--space-6) + env(safe-area-inset-bottom))}.page-body>.card:first-child,.page-body>.hint:first-child{margin-top:var(--space-2)}.plan-status{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-2)}.plan-status__icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-2);color:var(--text-1)}.plan-status--unlimited .plan-status__icon{background:var(--lime);color:var(--on-lime)}.plan-status__icon svg{width:20px;height:20px}.plan-status strong{font:var(--font-body-strong)}.plan-status p{margin:var(--space-1) 0 0;color:var(--text-2);font:var(--font-footnote)}.plan-action{margin-top:var(--space-4)}.weight-row{flex:1 1 auto}.weight-edit{gap:var(--space-2)}.weight-edit__input{width:88px;flex:0 0 auto;text-align:center;font-variant-numeric:tabular-nums}.ring-swatch{width:28px;height:28px;flex:0 0 auto;border:3px solid var(--border);border-radius:var(--radius-round)}.ring-swatch--goal{border-color:var(--lime-graphic)}.ring-swatch--over{border-color:var(--danger)}.ring-swatch--under{border-color:var(--day-under)}.ring-swatch--recorded{border-color:var(--text-1)}.ring-swatch--empty{border:1.5px dashed var(--text-3)}.invite-hero{display:grid;justify-items:start;gap:var(--space-2);margin-top:var(--space-2)}.invite-hero__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--lime);color:var(--on-lime)}.invite-hero__icon svg{width:22px;height:22px}.invite-hero h3{margin:0}.invite-hero p{margin:0;color:var(--text-2);font:var(--font-footnote)}.invite-link{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.invite-link__label{color:var(--text-2);font:var(--font-caption)}.invite-link strong{font:var(--font-body-strong);overflow-wrap:anywhere}.invite-link__actions{display:flex;align-items:center;gap:var(--space-2)}.invite-link__actions .btn{flex:1 1 auto}.invite-link__actions .btn svg{width:18px;height:18px}.invite-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}.invite-stats .card{display:grid;gap:var(--space-1);padding:var(--space-3)}.invite-stats strong{font:var(--font-title-2)}.invite-stats small{color:var(--text-2);font:var(--font-caption)}.invite-steps{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-2);color:var(--text-1);font:var(--font-body)}.report-range{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-3)}.report-range .field+.field{margin-top:0}.report-contents{margin:var(--space-2) 0 0;padding-left:var(--space-5);display:grid;gap:var(--space-2);color:var(--text-1);font:var(--font-body)}.report-contents li strong{display:block}.report-contents li span{color:var(--text-2);font:var(--font-caption)}.report-actions{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.report-email,.meal-reminders-end{margin-top:var(--space-3)}.onb{position:fixed;z-index:220;inset:0;width:min(100%,var(--app-width));margin:0 auto;display:flex;flex-direction:column;background:var(--surface-1);color:var(--text-1)}.onb-progress i{display:block;height:100%;border-radius:inherit;background:var(--fill-primary);transition:width var(--duration-base) var(--ease)}.onb-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:var(--space-5) var(--gutter) var(--space-4)}.onb-control--middle{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;padding-bottom:var(--space-6)}.onb-option:active{transform:scale(.985)}.onb-option.is-picked{background:var(--fill-primary);color:var(--on-primary)}.onb-option.is-picked .onb-option__text>span{color:color-mix(in srgb,var(--on-primary) 72%,var(--fill-primary))}.onb-choice--centered .onb-option{justify-items:center;text-align:center;text-wrap:balance}.onb-number{display:flex;align-items:baseline;justify-content:center;gap:var(--space-2);padding:var(--space-4) 0}.onb-number input{width:4.2em;min-width:0;padding:0;border:0;background:none;color:var(--text-1);font:var(--font-display);font-size:var(--font-size-hero);line-height:1;letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;text-align:right}.onb-number input:focus,.onb-number input:focus-visible{outline:none}.onb-number input::placeholder{color:var(--text-3)}.onb-number span{color:var(--text-2);font:var(--font-title-2)}.onb-foot{position:relative;flex:0 0 auto;display:grid;gap:var(--space-1);padding:var(--space-3) var(--gutter) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--surface-1)}.onb-error{margin:0 0 var(--space-2);color:var(--danger);font:var(--font-footnote);text-align:center;text-wrap:balance}.onb-signin{margin:var(--space-2) 0 0;color:var(--text-1);font:var(--font-onb-small);text-align:center;text-wrap:balance}.onb-signin button{padding:0;border:0;background:none;color:var(--text-1);font:var(--font-onb-small-strong);cursor:pointer}.onb-welcome{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--gutter) var(--space-4);text-align:center;text-wrap:balance}.onb-welcome h1{margin:0;font:var(--font-title-1);letter-spacing:var(--tracking-title-1);text-wrap:balance}.onb-body--plan{display:flex;flex-direction:column;justify-content:center;text-align:center;text-wrap:balance}.onb-plan{margin-top:var(--space-6)}.onb-plan strong{display:block;font:var(--font-display);font-size:var(--font-size-hero);line-height:1;letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.onb-plan span{display:block;margin-top:var(--space-2);color:var(--text-2);font:var(--font-body)}.onb-macros{margin:var(--space-6) 0 0;padding:0;list-style:none;text-align:left}.onb-macros li{gap:var(--space-3)}.onb-macros b{margin-left:auto;font:var(--font-body-strong);font-variant-numeric:tabular-nums}.onb-dot{width:10px;height:10px;flex:0 0 auto;border-radius:var(--radius-round)}.onb-dot--protein{background:var(--protein)}.onb-dot--carbs{background:var(--carbs)}.onb-dot--fat{background:var(--fat)}.onb-note{margin:var(--space-4) 0 0;color:var(--text-2);font:var(--font-footnote);text-wrap:pretty}.onb-problem{margin:var(--space-2) 0 0;color:var(--danger);font:var(--font-footnote);text-align:center;text-wrap:balance}.onb-number input[aria-invalid=true]{color:var(--danger)}.onb-later{margin-top:var(--space-4)}.onb-body--middle{justify-content:center}.onb-body--center{display:flex;flex-direction:column;justify-content:center;text-align:center;text-wrap:balance}.onb-body--center .onb-lede{margin-inline:auto;max-width:32ch}.onb-center{text-align:center;text-wrap:balance}.onb-body>.onb-body--center{flex:1 0 auto}.onb-statement h1 em{font-style:normal;color:var(--onb-orange)}.onb-thanks{flex:1 0 auto;display:flex;flex-direction:column}.onb-thanks .onb-body--center{flex:1 0 auto}.onb-note--center{text-align:center;text-wrap:balance}.onb-foot--pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2)}.onb-foot:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:48px;background:linear-gradient(transparent,color-mix(in srgb,var(--text-1) 5%,transparent));pointer-events:none}.onb-option__icon{display:grid;place-items:center;color:inherit}.onb-choice--centered .onb-option:has(.onb-option__icon){display:flex;justify-content:center}.onb-option.is-picked .brand{color:inherit}.onb-option__text{display:grid;gap:2px}.brand--instagram{color:var(--brand-instagram)}.brand--tiktok{color:var(--brand-tiktok)}.brand--telegram{color:var(--brand-telegram)}.scheme{margin:0;padding:var(--space-5) var(--space-4) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-card)}.scheme__title{margin-bottom:var(--space-3);font:var(--font-headline)}.scheme__plot{position:relative}.scheme__chart{display:block;width:100%;height:auto;overflow:visible}.scheme__grid{fill:none;stroke:var(--text-3);stroke-width:1;stroke-dasharray:2 3}.scheme__line{fill:none;stroke-linecap:round}.scheme__line--ours{stroke:var(--text-1);stroke-width:2.2}.scheme__line--other{stroke:var(--danger);stroke-width:2}.scheme__dot{fill:var(--surface-1);stroke:var(--text-1);stroke-width:2}.scheme__fill{fill:color-mix(in srgb,var(--text-1) 9%,var(--onb-fill))}.scheme__wash{fill:color-mix(in srgb,var(--danger) 16%,var(--onb-fill))}.scheme__trophy{opacity:0;animation:scheme-in .5s var(--ease) 1.4s forwards}.scheme__tag{position:absolute;white-space:nowrap}.scheme__tag--ours{left:calc(1.25% + 5px);bottom:calc(10 / 180 * 100% + 5px);display:inline-flex;align-items:center;gap:3px;color:var(--text-1);font:var(--font-onb-small-strong)}.scheme__tag--ours em{margin-left:3px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--fill-primary);color:var(--on-primary);font:var(--font-onb-tiny);font-style:normal}.scheme__pear{width:10px;height:13px;flex:0 0 auto;background:currentColor;-webkit-mask:no-repeat center / contain;mask:no-repeat center / contain}.scheme__tag--other{right:1.25%;top:calc(56 / 180 * 100%);color:var(--text-1);font:var(--font-onb-mini)}.scheme__line{stroke-dasharray:1;stroke-dashoffset:1;animation:scheme-draw 1.4s var(--ease) .2s forwards}.scheme__line--ours{animation-delay:.35s}.scheme__fill,.scheme__wash,.scheme__tag,.scheme__dot--end{opacity:0;animation:scheme-in .5s var(--ease) 1.3s forwards}.scheme__tag--ours{animation-delay:1.6s}@keyframes scheme-draw{to{stroke-dashoffset:0}}@keyframes scheme-in{to{opacity:1}}.scheme__axis{display:flex;justify-content:space-between;margin:var(--space-2) 1.25% 0;color:var(--text-1);font:var(--font-onb-small)}.scheme__note{margin:var(--space-4) 0 0;color:var(--text-2);font:var(--font-footnote);text-align:center;text-wrap:balance}.twice{width:min(100%,372px);margin:0 auto;padding:32px var(--space-6) 32px;border-radius:var(--radius-lg)}.twice__bars{display:grid;grid-template-columns:116px 116px;justify-content:center;gap:var(--space-4);height:196px}.twice__col{display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding-top:var(--space-4);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-1);font:var(--font-onb-button);font-weight:var(--weight-bold);text-align:center;text-wrap:balance}.twice__bar{display:flex;align-items:flex-end;justify-content:center;padding-bottom:14px;border-radius:var(--radius-md)}.twice__bar b{font:var(--font-onb-button)}.twice__bar--other{height:34%;background:var(--onb-fill-strong);color:var(--text-1)}.twice__bar--ours{height:68%;background:var(--fill-primary);color:var(--on-primary)}.twice__bar{transform-origin:bottom;transform:scaleY(0);animation:twice-grow .8s var(--ease) .25s forwards}.twice__bar--ours{animation-delay:.6s}.twice__bar b{opacity:0;animation:scheme-in .4s var(--ease) 1.2s forwards}@keyframes twice-grow{to{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.scheme__line,.scheme__fill,.scheme__wash,.scheme__tag,.scheme__dot--end,.scheme__trophy,.twice__bar,.twice__bar b{animation:none;opacity:1;stroke-dashoffset:0;transform:none}}.twice__axis{margin:0 0 var(--space-3);color:var(--text-2);font:var(--font-footnote);text-align:center;text-wrap:balance}.twice__note{max-width:280px;margin:var(--space-5) auto 0;color:var(--text-2);font:var(--font-footnote);text-align:center;text-wrap:balance}.twice__source,.scheme__source{display:block;margin:var(--space-2) auto 0}.onb-source{padding:0;border:0;background:none;color:var(--text-2);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.onb-source:active{color:var(--text-1)}.burned-demo__label{color:var(--text-2);font:var(--font-caption)}.burned-demo__card strong{display:flex;align-items:center;gap:var(--space-1);font:var(--font-title-2);font-variant-numeric:tabular-nums}.burned-demo__card strong svg{width:22px;height:22px}.burned-demo__row{display:flex;align-items:center;gap:var(--space-2);font:var(--font-footnote)}.burned-demo__row i{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-2)}.burned-demo__row i svg{width:16px;height:16px}.onb-loading__card ul{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.onb-loading__card li{display:flex;align-items:center;justify-content:space-between;color:var(--text-3);font:var(--font-body);transition:color var(--duration-base)}.onb-loading__card li.is-done{color:var(--text-1)}.onb-loading__card li svg{width:18px;height:18px;padding:3px;border-radius:var(--radius-round);background:var(--fill-primary);color:var(--on-primary);stroke-width:3}.onb-loading__wait{width:18px;height:18px;border-radius:var(--radius-round);box-shadow:inset 0 0 0 2px var(--surface-3)}@media(hover:hover)and (pointer:fine){.ruler__track:hover .ruler__mark{box-shadow:0 0 0 2px color-mix(in srgb,var(--text-1) 12%,transparent)}.onb-back:hover{background:var(--onb-fill-strong)}.onb-code__submit:not(:disabled):hover{background:color-mix(in srgb,var(--text-1) 85%,var(--onb-fill))}.notify-mock__actions button:hover{background:color-mix(in srgb,var(--text-1) 8%,var(--onb-dialog))}.notify-mock__actions button.is-allow:hover{background:color-mix(in srgb,var(--surface-1) 12%,var(--fill-primary))}.onb-option:not(.is-picked):hover{background:var(--onb-fill-strong)}.onb-source:hover{color:var(--text-1)}.onb-signin button:hover{color:var(--text-2)}}.onb-top{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-3);padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--gutter) var(--space-2)}.onb-back{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-round);background:var(--onb-fill);color:var(--text-1);cursor:pointer;transition:background var(--duration-fast)}.onb-back svg{width:18px;height:18px;stroke-width:2.2}.onb-back:active{background:var(--onb-fill-strong)}.onb-progress{flex:1;height:3px;overflow:hidden;border-radius:var(--radius-pill);background:var(--onb-fill-strong)}.onb-body h1{margin:0;font:var(--font-onb-title);letter-spacing:var(--tracking-onb-title);text-wrap:balance}.onb-lede{margin:var(--space-2) 0 0;color:var(--text-2);font:var(--font-onb-lede)}.onb-statement .onb-lede,.onb-body--center .onb-lede{margin:var(--space-4) auto 0;max-width:30ch;color:var(--text-1)}.onb-thanks .onb-lede{color:var(--text-2)}.onb-control{margin-top:var(--space-6)}.onb-note{font:var(--font-onb-small)}.onb .btn,.pw .btn{min-height:var(--onb-control);font:var(--font-onb-button)}.onb-choice{display:grid;gap:10px}.onb-option{display:grid;gap:1px;min-height:var(--onb-option-height);padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-md);background:var(--onb-fill);color:var(--text-1);text-align:left;align-content:center;cursor:pointer;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast),color var(--duration-fast)}.onb-option b{font:var(--font-onb-option)}.onb-option__text>span{color:var(--text-2);font:var(--font-onb-option-note)}.onb-option:has(.onb-option__icon){grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--space-3)}.onb-option__icon svg{width:18px;height:18px}.glow{width:176px;height:176px;margin:0 auto var(--space-6);display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-round);background:conic-gradient(from 200deg,var(--glow-a),var(--glow-b),var(--glow-c),var(--glow-a))}.glow__core{position:relative;width:140px;height:140px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-1);color:var(--text-1)}.glow__core img{width:92px;height:92px}.glow__ticks{position:absolute;inset:0;width:100%;height:100%;stroke:var(--text-1);stroke-width:1.6;stroke-linecap:round}.onb-kicker{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0 0 var(--space-2);color:var(--text-1);font:var(--font-onb-small-strong)}.onb-kicker svg{width:16px;height:16px;padding:2px;border-radius:var(--radius-round);background:var(--onb-orange);color:var(--on-primary);stroke-width:3.2}.onb-statement h1{font:var(--font-onb-title)}.onb-privacy{display:grid;justify-items:center;gap:2px;margin:var(--space-6) auto 0;padding:var(--space-3) var(--space-4);max-width:300px;border-radius:var(--radius-md);background:var(--onb-fill);text-align:center;text-wrap:balance}.onb-privacy__icon{width:28px;height:28px;margin-bottom:2px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-1);color:var(--text-1)}.onb-privacy__icon svg{width:14px;height:14px}.onb-privacy span{color:var(--text-2);font:var(--font-onb-small)}.onb-badge{flex:0 0 auto;width:30px;height:30px;margin:0 auto var(--space-3);display:grid;place-items:center;border-radius:var(--radius-round);background:var(--fill-primary);color:var(--on-primary)}.onb-badge svg{width:16px;height:16px;stroke-width:2.8}.onb .wheel-box:before{background:var(--onb-fill)}.wheels--named{gap:var(--space-4)}.wheel-col{display:grid}.wheel-col__name{height:28px;display:grid;place-items:center;font:var(--font-onb-small-strong)}.pace{display:grid;justify-items:center;text-align:center;text-wrap:balance}.pace__label{margin:0;color:var(--text-2);font:var(--font-onb-small)}.pace__value{margin-top:var(--space-1);font:var(--font-onb-value);font-variant-numeric:tabular-nums}.pace__animals{display:flex;justify-content:space-between;width:100%;margin-top:var(--space-5)}.pace__animal{width:40px;display:grid;place-items:center;font:var(--font-onb-subtitle);filter:grayscale(1);opacity:.5;transition:filter var(--duration-base),opacity var(--duration-base),transform var(--duration-base) var(--ease)}.pace__animal.is-picked{filter:none;opacity:1;transform:scale(1.18)}.pace__range{--pace-fill: 50%;width:100%;height:30px;margin:var(--space-2) 0 0;background:none;cursor:pointer;-webkit-appearance:none;appearance:none}.pace__range::-webkit-slider-runnable-track{height:3px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--text-1) var(--pace-fill),var(--onb-fill-strong) var(--pace-fill))}.pace__range::-moz-range-track{height:3px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--text-1) var(--pace-fill),var(--onb-fill-strong) var(--pace-fill))}.pace__range::-webkit-slider-thumb{width:26px;height:26px;margin-top:-11.5px;border:0;border-radius:var(--radius-round);background:var(--surface-1);box-shadow:0 0 0 .5px color-mix(in srgb,var(--text-1) 14%,transparent),0 3px 10px color-mix(in srgb,var(--text-1) 22%,transparent);-webkit-appearance:none;appearance:none}.pace__range::-moz-range-thumb{width:26px;height:26px;border:0;border-radius:var(--radius-round);background:var(--surface-1);box-shadow:0 0 0 .5px color-mix(in srgb,var(--text-1) 14%,transparent),0 3px 10px color-mix(in srgb,var(--text-1) 22%,transparent)}.pace__range:focus-visible{outline:2px solid var(--text-1);outline-offset:4px;border-radius:var(--radius-sm)}.pace__stops{display:flex;justify-content:space-between;width:100%;margin-top:2px;color:var(--text-1);font:var(--font-onb-small);font-variant-numeric:tabular-nums}.pace__chip{width:100%;margin-top:var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--onb-fill);font:var(--font-onb-option)}.burned-demo{position:relative;width:min(64%,240px);margin:0 auto}.burned-demo__photo{display:block;width:100%;aspect-ratio:3 / 4;max-height:calc(var(--app-height) - 360px);border-radius:var(--radius-md);object-fit:cover;object-position:50% 30%;background:var(--onb-fill)}.burned-demo__card{position:absolute;left:calc(-1 * var(--space-4));bottom:var(--space-3);display:grid;gap:2px;min-width:132px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-1);box-shadow:var(--shadow-float)}.burned-demo__label{color:var(--text-2);font:var(--font-onb-tiny)}.burned-demo__card strong{display:flex;align-items:center;gap:4px;font:var(--font-onb-subtitle);font-variant-numeric:tabular-nums}.burned-demo__card strong svg{width:18px;height:18px}.burned-demo__row{font:var(--font-onb-small)}.onb-rollover-chip{display:inline-flex;gap:4px;margin-top:var(--space-2);padding:3px var(--space-2);border-radius:var(--radius-pill);background:var(--onb-fill);font:var(--font-onb-small-strong)}.onb-rollover-chip em{font-style:normal;color:var(--fat)}.onb-notify{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);text-align:center;text-wrap:balance}.onb-notify h1{font:var(--font-onb-subtitle)}.notify-mock{width:min(100%,270px)}.notify-mock__box{overflow:hidden;border-radius:var(--radius-md);background:var(--onb-dialog);text-align:center;text-wrap:balance}.notify-mock p{margin:0;padding:var(--space-4) var(--space-4) var(--space-3);color:var(--onb-dialog-ink);font:var(--font-onb-option);font-weight:var(--weight-semibold)}.notify-mock__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid color-mix(in srgb,var(--onb-dialog-ink) 22%,transparent)}.notify-mock__actions button{min-height:44px;border:0;background:none;color:var(--onb-dialog-ink);font:var(--font-onb-option);font-weight:var(--weight-regular);cursor:pointer}.notify-mock__actions button.is-allow{background:var(--fill-primary);color:var(--on-primary)}.notify-mock__hand{display:block;margin-top:var(--space-2);padding-left:64%;font:var(--font-onb-subtitle)}.onb-referral{gap:var(--space-2)}.onb-code{display:flex;align-items:center;gap:var(--space-2);min-height:var(--onb-option-height);padding:0 var(--space-2) 0 var(--space-4);border-radius:var(--radius-md);background:var(--onb-fill)}.onb-code input{flex:1;min-width:0;padding:0;border:0;background:none;color:var(--text-1);font:var(--font-onb-option);outline:none}.onb-code input::placeholder{color:var(--text-3)}.onb-code:focus-within{box-shadow:inset 0 0 0 1.5px var(--text-1)}.onb-code__submit{flex:0 0 auto;min-height:34px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--fill-primary);color:var(--on-primary);font:var(--font-onb-small-strong);cursor:pointer}.onb-code__submit:disabled{background:var(--onb-fill-strong);color:var(--text-3);cursor:default}.onb-code__done{display:inline-flex;align-items:center;gap:4px;padding-right:var(--space-2);color:var(--success);font:var(--font-onb-small-strong)}.onb-code__done svg{width:14px;height:14px;stroke-width:3}.onb-loading__percent{display:block;font:var(--font-onb-percent);font-variant-numeric:tabular-nums}.onb-loading h1{margin-top:var(--space-3);font:var(--font-onb-subtitle)}.onb-loading .onb-lede{max-width:none;height:18px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.onb-loading__card{margin:var(--space-6) auto 0;width:min(100%,300px);padding:var(--space-4);border-radius:var(--radius-md);background:var(--onb-card);box-shadow:none;text-align:left}.onb-loading__title{margin:0 0 var(--space-2);font:var(--font-onb-small-strong)}.onb-plan-screen{padding-top:var(--space-2);padding-bottom:var(--space-6)}.onb-plan-screen h1{font:var(--font-onb-subtitle)}.onb-target{margin-top:var(--space-3);text-align:center;text-wrap:balance}.onb-target p{margin:0 0 6px;font:var(--font-onb-small-strong)}.onb-target__chip{display:inline-block;padding:6px var(--space-4);border-radius:var(--radius-pill);background:var(--onb-fill);font:var(--font-onb-small-strong)}.onb-daily{margin-top:var(--space-5);padding:var(--space-4) var(--space-3) var(--space-3);border-radius:var(--radius-lg);background:var(--onb-card)}.onb-daily__title{margin:0 var(--space-1);font:var(--font-onb-option);font-weight:var(--weight-semibold)}.onb-daily__hint{margin:2px var(--space-1) var(--space-3);color:var(--text-3);font:var(--font-onb-small)}.onb-daily__math{margin:var(--space-3) var(--space-1) 0;color:var(--text-2);font:var(--font-onb-small)}.onb-daily__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.onb-daily__item{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-1);box-shadow:var(--shadow-tile)}.onb-daily__name{justify-self:start;display:inline-flex;align-items:center;gap:6px;font:var(--font-onb-small)}.onb-daily__name svg{width:13px;height:13px}.onb-ring-dot{width:8px;height:8px;border-radius:var(--radius-round)}.onb-ring-dot--carbs{background:var(--carbs)}.onb-ring-dot--protein{background:var(--protein)}.onb-ring-dot--fat{background:var(--fat)}.onb-howto ul{display:grid;gap:var(--space-2);margin:var(--space-2) var(--space-1) 0;padding:0;list-style:none}.onb-howto li{display:flex;align-items:center;gap:var(--space-2);font:var(--font-onb-lede)}.onb-howto li svg{width:16px;height:16px;flex:0 0 auto;color:var(--text-1)}.onb-sources{margin-top:var(--space-5);color:var(--text-2);font:var(--font-onb-small)}.onb-sources p{margin:0}.onb-sources .onb-note{margin-top:var(--space-3)}.onb-sources ul{display:grid;gap:2px;margin:var(--space-2) 0 0;padding-left:var(--space-5)}.onb-loading__bar{display:block;flex:0 0 auto;width:min(100%,260px);height:6px;margin:var(--space-4) auto 0}.onb-loading__bar i{background:linear-gradient(90deg,var(--protein),var(--carbs),var(--fat));transition:width var(--duration-fast) linear}.ruler{text-align:center;text-wrap:balance}.ruler__label{margin:0;color:var(--text-1);font:var(--font-onb-small)}.ruler__value{margin:var(--space-1) 0 var(--space-5);font:var(--font-onb-value);font-variant-numeric:tabular-nums}.ruler__track{position:relative;height:52px;margin:0 calc(-1 * var(--gutter));overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;outline:none}.ruler__track:active{cursor:grabbing}.ruler__track:focus-visible{box-shadow:inset 0 0 0 2px var(--text-1)}.ruler__way{position:absolute;top:0;bottom:0;background:var(--onb-fill-strong);pointer-events:none}.ruler__tick{position:absolute;left:0;bottom:0;width:7px;height:100%;background:linear-gradient(color-mix(in srgb,var(--text-1) 32%,transparent),color-mix(in srgb,var(--text-1) 32%,transparent)) center bottom / 1.5px 23px no-repeat;will-change:transform}.ruler__tick.is-whole{background-image:linear-gradient(color-mix(in srgb,var(--text-1) 72%,transparent),color-mix(in srgb,var(--text-1) 72%,transparent));background-size:1.5px 37px}.ruler__mark{position:absolute;left:calc(50% - 1px);bottom:0;width:2px;height:100%;background:var(--text-1);pointer-events:none}.scheme,.twice{background:var(--onb-fill);box-shadow:none}.scheme__title{font:var(--font-onb-option)}.scheme__note{color:var(--text-1);font:var(--font-onb-small)}.scheme__section{opacity:0;animation:scheme-in .5s var(--ease) .5s forwards}.scheme__section--2{animation-delay:.8s}.scheme__section--3{animation-delay:1.1s}.scheme__dash{fill:none;stroke:var(--text-3);stroke-width:1;stroke-dasharray:2 3}.scheme__axis-line{fill:none;stroke:var(--text-2);stroke-width:1}.scheme__line--thin{fill:none;stroke-width:1.6}.scheme--potential .scheme__dot{stroke-width:1.6}.scheme__trophy circle{fill:var(--onb-orange)}.scheme__trophy path{fill:none;stroke:var(--on-primary);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.scheme__sections{display:grid;grid-template-columns:81fr 58fr 134fr;margin:var(--space-1) calc(16 / 300 * 100%) 0 calc(11 / 300 * 100%);color:var(--text-1);font:var(--font-onb-small);text-align:center;text-wrap:balance}.onb-foot{padding-inline:calc(var(--gutter) + var(--space-1))}@media(prefers-reduced-motion:reduce){.scheme__section{animation:none;opacity:1}}.glow__ticks{stroke:none;fill:var(--text-1)}.glow__core img{width:104px;height:104px}.onb-thanks .onb-lede{margin-top:var(--space-1);color:var(--text-2)}.onb-privacy{position:relative;display:grid;justify-items:center;gap:2px;width:min(76%,270px);margin:var(--space-8) auto 0;padding:var(--space-5) var(--space-3) var(--space-3);border-radius:var(--radius-sm);background:var(--onb-card);text-align:center;text-wrap:balance}.onb-privacy__seal{position:absolute;top:-15px;left:50%;width:30px;height:30px;display:grid;place-items:center;transform:translate(-50%);color:var(--text-1)}.onb-privacy__shape{position:absolute;inset:0;width:100%;height:100%;fill:var(--onb-seal)}.onb-privacy__seal>svg:last-child{position:relative;width:12px;height:12px}.onb-privacy b{font:var(--font-onb-small-strong)}.onb-privacy span:not(.onb-privacy__seal){color:var(--text-2);font:var(--font-onb-tiny);font-weight:var(--weight-regular)}.burned-demo{width:min(58%,230px)}.burned-demo__photo{aspect-ratio:640 / 670;max-height:none;border-radius:var(--radius-md);object-position:50% 40%}.burned-demo__card{left:var(--space-2);bottom:var(--space-2);min-width:0;width:56%;padding:var(--space-2);gap:3px}.burned-demo__label{color:var(--text-1);font:var(--font-onb-tiny);font-weight:var(--weight-regular)}.burned-demo__card strong{font:var(--font-onb-option);font-weight:var(--weight-semibold)}.burned-demo__card strong svg{width:14px;height:14px}.burned-demo__row{display:flex;align-items:center;gap:5px;font:var(--font-onb-tiny);font-weight:var(--weight-regular)}.burned-demo__row i{width:16px;height:16px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--fill-primary);color:var(--on-primary)}.burned-demo__row i svg{width:10px;height:10px}.burned-demo__pill{justify-self:start;padding:2px 6px;border-radius:var(--radius-pill);background:var(--onb-fill);font:var(--font-onb-tiny);font-style:normal}.ring{display:block;width:100%;height:100%}.ring__track{fill:none;stroke:var(--onb-fill-strong);stroke-width:4}.ring__value{fill:none;stroke:var(--ring-color, var(--text-1));stroke-width:4;stroke-linecap:round}.onb-ring{position:relative;width:72px;height:72px;display:grid;place-items:center}.onb-ring .ring{position:absolute;inset:0}.onb-ring--carbs{--ring-color: var(--carbs)}.onb-ring--protein{--ring-color: var(--protein)}.onb-ring--fat{--ring-color: var(--fat)}.onb-ring b{position:relative;font:var(--font-onb-option);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.onb-ring b small{font:var(--font-onb-tiny)}.rollover-demo{position:relative;height:230px;width:min(100%,320px);margin:var(--space-8) auto 0}.rollover-card{position:absolute;display:grid;align-content:start;justify-items:center;gap:var(--space-1);width:140px;height:168px;overflow:visible;border-radius:var(--radius-md);background:var(--surface-1);box-shadow:var(--shadow-float)}.rollover-card--yesterday{left:0;top:0}.rollover-card--today{right:0;top:60px}.rollover-card__head{position:relative;display:grid;place-items:center;width:100%;padding:6px var(--space-3);border-radius:var(--radius-md) var(--radius-md) 0 0;font:var(--font-onb-small-strong)}.rollover-card__head svg{position:absolute;left:var(--space-3);top:50%;width:12px;height:12px;transform:translateY(-50%)}.rollover-card--yesterday .rollover-card__head{background:color-mix(in srgb,var(--protein) 12%,var(--surface-1));color:var(--protein)}.rollover-card--today .rollover-card__head{background:var(--onb-fill);color:var(--text-1)}.rollover-card strong{margin-top:var(--space-2);font:var(--font-onb-value);font-variant-numeric:tabular-nums}.rollover-card__value{display:grid;justify-items:start;gap:2px}.rollover-card strong small{color:var(--text-2);font:var(--font-onb-option)}.rollover-card__carry{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--fat) 14%,var(--surface-1));color:var(--fat);font:var(--font-onb-tiny)}.rollover-card__carry svg{width:10px;height:10px;stroke-width:2.4}.rollover-card__dial{position:relative;width:60px;height:60px;margin-top:var(--space-2)}.rollover-card__core{position:absolute;inset:10px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--onb-fill)}.rollover-card__core svg{width:16px;height:16px}.rollover-card__tag{position:absolute;right:38px;top:-4px;display:grid;justify-items:center;padding:4px 7px;white-space:nowrap;border-radius:calc(var(--radius-sm) / 2);background:var(--fill-primary);color:var(--on-primary);font:var(--font-onb-tiny);font-weight:var(--weight-regular)}.rollover-card__tag b{font-weight:var(--weight-semibold)}.rollover-card__tag em{font-style:normal;color:color-mix(in srgb,var(--fat) 70%,var(--on-primary))}.onb{--onb-inset: calc(var(--gutter) + var(--space-1))}.onb-top,.onb-body,.onb-foot{padding-inline:var(--onb-inset)}.ruler__track{margin-inline:calc(-1 * var(--onb-inset))}.glow{position:relative;background:none}.glow__ring{position:absolute;inset:0;width:100%;height:100%}.glow__ring circle{fill:var(--surface-1);stroke:url(#glow-ring);stroke-width:18}.glow__core{background:none}.onb-health{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--space-3);row-gap:6px;margin-top:10px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-1);box-shadow:var(--shadow-tile)}.onb-health__icon{grid-row:span 2;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--protein) 12%,var(--surface-1));color:var(--protein)}.onb-health__icon svg{width:18px;height:18px}.onb-health__text{display:flex;justify-content:space-between;font:var(--font-onb-small)}.onb-health__text b{font-weight:var(--weight-semibold)}.onb-health__bar{height:5px;overflow:hidden;border-radius:var(--radius-pill);background:var(--onb-fill-strong)}.onb-health__bar i{display:block;width:70%;height:100%;border-radius:inherit;background:var(--success)}.iphone{--h: 440px;--pt: calc(var(--h) / 986.2);position:relative;flex:0 0 auto;width:calc(470.8 * var(--pt));height:var(--h);padding:calc(4 * var(--pt));border-radius:calc(77 * var(--pt));background:linear-gradient(135deg,var(--device-metal-a),var(--device-metal-b) 45%,var(--device-metal-a) 80%);box-shadow:var(--shadow-float)}.iphone:before{content:"";position:absolute;inset:calc(4 * var(--pt));border-radius:calc(73 * var(--pt));background:var(--device-glass)}.iphone__screen{position:absolute;inset:calc(15.4 * var(--pt));overflow:hidden;border-radius:calc(62 * var(--pt));background:var(--device-glass)}.iphone__screen img{display:block;width:100%;height:100%;object-fit:cover}.iphone__island{position:absolute;top:calc(11 * var(--pt));left:50%;width:calc(126 * var(--pt));height:calc(37.33 * var(--pt));transform:translate(-50%);border-radius:var(--radius-pill);background:var(--device-glass)}.iphone__status{position:absolute;inset:0 0 auto;height:calc(54 * var(--pt));display:flex;align-items:center;justify-content:space-between;padding:calc(4 * var(--pt)) calc(34 * var(--pt)) 0 calc(54 * var(--pt));color:var(--text-1)}.iphone__status.is-light{color:var(--on-slate)}.iphone__status b{font-family:var(--font-ui);font-weight:var(--weight-semibold);font-size:calc(17 * var(--pt));line-height:1}.iphone__icons{display:flex;align-items:center;gap:calc(6 * var(--pt))}.iphone__icons svg{height:calc(12 * var(--pt));width:auto;fill:currentColor}.iphone__icons svg:last-child{height:calc(13 * var(--pt))}.iphone__home{position:absolute;bottom:calc(8 * var(--pt));left:50%;width:calc(134 * var(--pt));height:calc(5 * var(--pt));transform:translate(-50%);border-radius:var(--radius-pill);background:var(--on-slate)}.iphone__home.is-dark{background:var(--device-glass)}.iphone__key{position:absolute;width:calc(3 * var(--pt));border-radius:calc(1.5 * var(--pt));background:var(--device-metal-b)}.iphone__key--action{left:calc(-2.4 * var(--pt));top:calc(199 * var(--pt));height:calc(48 * var(--pt))}.iphone__key--up{left:calc(-2.4 * var(--pt));top:calc(300 * var(--pt));height:calc(78 * var(--pt))}.iphone__key--down{left:calc(-2.4 * var(--pt));top:calc(392 * var(--pt));height:calc(78 * var(--pt))}.iphone__key--side{right:calc(-2.4 * var(--pt));top:calc(326 * var(--pt));height:calc(121 * var(--pt))}.iphone__key--camera{right:calc(-1.2 * var(--pt));top:calc(676 * var(--pt));height:calc(109 * var(--pt));background:var(--device-metal-a)}.onb-welcome .iphone{--h: min(calc(var(--app-height) - 290px), 560px)}.onb-daily__name i{width:22px;height:22px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--onb-fill)}.onb-daily__name i svg{width:11px;height:11px}.onb-daily__name--carbs i{color:var(--carbs)}.onb-daily__name--protein i{color:var(--protein)}.onb-daily__name--fat i{color:var(--fat)}.burned-demo{width:min(70%,280px)}.burned-demo__photo{aspect-ratio:4 / 5;max-height:calc(var(--app-height) - 340px);object-position:50% 30%}.burned-demo__card{width:58%}.paywall-lede{margin:0;color:var(--text-2);font:var(--font-body)}.paywall-plans{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.paywall-plan{width:100%;min-height:72px;padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast),color var(--duration-fast)}.paywall-plan:active{transform:scale(.985)}.paywall-plan.is-active{background:var(--surface-1);box-shadow:inset 0 0 0 2px var(--text-1),var(--shadow-card)}.paywall-plan-mark{width:24px;height:24px;display:grid;place-items:center;border-radius:var(--radius-round);box-shadow:inset 0 0 0 1.5px var(--text-3)}.paywall-plan.is-active .paywall-plan-mark{background:var(--text-1);color:var(--surface-1);box-shadow:none}.paywall-plan-mark svg{width:14px;height:14px;stroke-width:2.6}.paywall-plan-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font:var(--font-headline);letter-spacing:var(--tracking-headline)}.paywall-plan-title em{min-height:22px;display:inline-flex;align-items:center;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--lime);color:var(--on-lime);font:var(--font-caption);font-style:normal}.paywall-plan-price{display:grid;justify-items:end;gap:2px}.paywall-plan-price strong{font:var(--font-headline);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.paywall-plan-price small{color:var(--text-2);font:var(--font-caption);font-variant-numeric:tabular-nums}.paywall-timeline{display:grid;gap:var(--space-3);margin:var(--space-5) 0 0;padding:0;list-style:none}.paywall-timeline li{position:relative;display:grid;gap:2px;padding-left:var(--space-6)}.paywall-timeline li:before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:var(--radius-round);background:var(--lime);box-shadow:inset 0 0 0 2px var(--text-1)}.paywall-timeline li:not(:last-child):after{content:"";position:absolute;left:5px;top:20px;bottom:calc(-1 * var(--space-3));width:2px;background:var(--surface-2)}.paywall-timeline strong{font:var(--font-body-strong)}.paywall-timeline span{color:var(--text-2);font:var(--font-footnote)}.paywall-now{margin-top:var(--space-2)}.paywall-methods{margin-top:var(--space-5)}.pw-foot .paywall-methods{margin-top:0}.paywall-contact{margin-top:var(--space-4)}.paywall-cta{margin-top:var(--space-5)}.paywall-fine{margin:var(--space-3) var(--space-1) 0;color:var(--text-2);font:var(--font-footnote);text-align:center;text-wrap:balance}.paywall-fine a{color:inherit}.paywall-waiting{display:grid;justify-items:center;gap:var(--space-3);padding-top:var(--space-2);text-align:center;text-wrap:balance}.paywall-waiting .loader{margin-bottom:var(--space-2)}.paywall .notice{margin-top:var(--space-3)}.pw{position:fixed;z-index:230;inset:0;width:min(100%,var(--app-width));margin:0 auto;display:flex;flex-direction:column;background:var(--surface-1);color:var(--text-1)}.pw-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--gutter) 0}.pw-top--end{justify-content:flex-end}.pw-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5) var(--gutter) var(--space-4)}.pw-body h1{margin:0;font:var(--font-title-1);letter-spacing:var(--tracking-title-1);text-wrap:balance}.pw-body--center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-wrap:balance}.pw-body--hook{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding-top:calc(var(--space-8) + env(safe-area-inset-top));padding-bottom:0;overflow:hidden}.pw-center{text-align:center;text-wrap:balance}.pw-lede{margin:var(--space-2) 0 0;color:var(--text-2);font:var(--font-body)}.pw-foot{position:relative;flex:0 0 auto;display:grid;gap:var(--space-2);padding:var(--space-3) var(--gutter) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--surface-1)}.pw-fine{margin:0;color:var(--text-2);font:var(--font-footnote);text-align:center;text-wrap:balance}.pw-nopay{display:flex;align-items:center;justify-content:center;gap:var(--space-1);margin:0;font:var(--font-body-strong)}.pw-nopay svg{width:18px;height:18px;stroke-width:2.6}.pw-notice{margin:0;color:var(--danger);font:var(--font-footnote);text-align:center;text-wrap:balance}.pw-contact{margin-bottom:var(--space-1)}.pw .loader{margin-bottom:var(--space-5)}.pw-timeline{display:grid;gap:var(--space-5);margin:var(--space-6) 0 0;padding:0;list-style:none}.pw-timeline li{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--space-3)}.pw-timeline__icon{position:relative;z-index:1;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--lime);color:var(--on-lime)}.pw-timeline div{display:grid;gap:2px;padding-top:var(--space-1)}.pw-timeline b{font:var(--font-body-strong)}.pw-timeline span{color:var(--text-2);font:var(--font-footnote)}.pw-plans{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);margin-top:var(--space-8)}.pw-plan{position:relative;display:grid;gap:2px;min-height:84px;padding:var(--space-4);border:0;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast)}.pw-plan:active{transform:scale(.98)}.pw-plan.is-active{background:var(--surface-1);box-shadow:inset 0 0 0 2px var(--text-1),var(--shadow-card)}.pw-plan__title{color:var(--text-2);font:var(--font-footnote)}.pw-plan strong{font:var(--font-headline);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.pw-plan strong small{color:var(--text-2);font:var(--font-footnote)}.pw-plan__badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--fill-primary);color:var(--on-primary);font:var(--font-caption);font-style:normal;white-space:nowrap}.pw-plan__mark{position:absolute;right:var(--space-3);top:50%;width:24px;height:24px;transform:translateY(-50%);display:grid;place-items:center;border-radius:var(--radius-round);box-shadow:inset 0 0 0 1.5px var(--text-3)}.pw-plan.is-active .pw-plan__mark{background:var(--text-1);color:var(--surface-1);box-shadow:none}.pw-plan__mark svg{width:14px;height:14px;stroke-width:2.6}.pw-deal{position:relative;display:grid;place-items:center;width:min(100%,340px);height:200px;margin-top:var(--space-6)}.pw-deal__plaque{padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);background:linear-gradient(145deg,color-mix(in srgb,var(--fill-primary) 75%,var(--on-primary)),var(--fill-primary) 70%);box-shadow:var(--shadow-float);color:var(--on-primary);font:var(--font-title-1);text-align:center;text-wrap:balance;text-transform:uppercase}.pw-spark{position:absolute;color:var(--text-1);animation:pw-twinkle 2.4s var(--ease) infinite}.pw-spark--1{left:2%;top:10%;width:24px;height:24px}.pw-spark--2{left:-2%;top:46%;width:34px;height:34px;animation-delay:-.6s}.pw-spark--3{left:8%;bottom:2%;width:16px;height:16px;animation-delay:-1.2s}.pw-spark--4{right:-2%;top:4%;width:40px;height:40px;animation-delay:-.3s}.pw-spark--5{right:2%;bottom:8%;width:22px;height:22px;animation-delay:-1.6s}@keyframes pw-twinkle{50%{transform:scale(.7);opacity:.55}}@media(prefers-reduced-motion:reduce){.pw-spark{animation:none}}.pw-deal__price{margin:var(--space-4) 0 0;font:var(--font-title-2);font-variant-numeric:tabular-nums}.pw-deal__price s{margin-right:var(--space-1);font-weight:var(--weight-bold)}.pw-deal-plan{display:grid;overflow:hidden;border-radius:var(--radius-md);box-shadow:inset 0 0 0 2px var(--text-1)}.pw-deal-plan__strip{padding:3px var(--space-3);background:var(--fill-primary);color:var(--on-primary);font:var(--font-caption);letter-spacing:var(--tracking-caption);text-align:center;text-wrap:balance;text-transform:uppercase}.pw-deal-plan__row{display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4) 0;font:var(--font-headline);font-variant-numeric:tabular-nums}.pw-deal-plan__note{padding:2px var(--space-4) var(--space-3);color:var(--text-2);font:var(--font-footnote)}.fortune{position:relative;width:min(100%,316px);aspect-ratio:1}.fortune__wheel,.fortune__still{position:absolute;inset:0;width:100%;height:100%}.fortune__wheel{transition-property:transform;transition-timing-function:cubic-bezier(.12,.8,.18,1)}.fortune__rim{fill:var(--fill-primary)}.fortune__line{fill:none;stroke:var(--surface-1);stroke-width:1.6}.fortune__sector{fill:var(--surface-1)}.fortune__sector--dark{fill:var(--fill-primary)}.fortune__label{fill:var(--fill-primary);font:var(--font-onb-subtitle);font-weight:var(--weight-bold)}.fortune__label--dark{fill:var(--on-primary)}.fortune__hub{fill:var(--fill-primary)}.fortune__pointer{fill:var(--fill-primary);stroke:var(--fill-primary);stroke-width:6;stroke-linejoin:round}.fortune__pointer-edge{fill:none;stroke:var(--surface-1);stroke-width:11;stroke-linejoin:round}.fortune__shadow{position:absolute;left:-10%;right:-10%;bottom:-8%;height:22%;border-radius:var(--radius-round);background:radial-gradient(closest-side,color-mix(in srgb,var(--fill-primary) 22%,transparent),transparent)}@media(prefers-reduced-motion:reduce){.fortune__wheel{transition-duration:1ms!important}}@media(hover:hover)and (pointer:fine){.paywall-plan:not(.is-active):hover{background:color-mix(in srgb,var(--text-1) 7%,var(--surface-2))}.paywall-fine a:hover{color:var(--text-1)}.pw-plan:not(.is-active):hover{background:color-mix(in srgb,var(--text-1) 7%,var(--surface-2))}}.pw-body h1{font:var(--font-onb-title);letter-spacing:var(--tracking-onb-title)}.pw-body{padding-top:var(--space-3)}.pw-lede{font:var(--font-onb-lede)}.pw-foot{background:none;padding-top:var(--space-2)}.pw-fine{font:var(--font-onb-small)}.pw-nopay{font:var(--font-onb-option);font-weight:var(--weight-semibold)}.pw-nopay svg{width:16px;height:16px}.pw-body--hook{gap:var(--space-5);padding-top:calc(var(--space-6) + env(safe-area-inset-top));padding-bottom:var(--space-2);overflow:hidden}.pw-timeline{gap:var(--space-4);margin-top:var(--space-5)}.pw-timeline li{grid-template-columns:30px minmax(0,1fr);gap:var(--space-3)}.pw-timeline__icon{width:30px;height:30px}.pw-timeline__icon svg{width:15px;height:15px}.pw-timeline div{padding-top:2px}.pw-timeline b{font:var(--font-onb-option);font-weight:var(--weight-semibold)}.pw-plans{margin-top:var(--space-6);gap:10px}.pw-plan{min-height:64px;padding:var(--space-3) var(--space-4);background:var(--onb-fill)}.pw-plan__title{font:var(--font-onb-small)}.pw-plan strong small{font:var(--font-onb-small)}.pw-plan__badge{font:var(--font-onb-tiny)}.pw-deal__plaque{font:var(--font-onb-title)}.pw-deal__price{font:var(--font-onb-subtitle)}.pw-body--hook .iphone{--h: min(calc(var(--app-height) - 340px), 560px)}.pw-top{min-height:calc(var(--control-md) + var(--space-3) + env(safe-area-inset-top))}.pw-restore{padding:var(--space-2) 0;border:0;background:none;color:var(--text-2);font:var(--font-onb-lede);cursor:pointer}.pw-restore:disabled{color:var(--text-3);cursor:default}.pw-body--spread{display:flex;flex-direction:column;justify-content:space-evenly;gap:var(--space-5)}.pw-body h1 em{font-style:normal}.pw-body--spread h1{font:var(--font-title-1);letter-spacing:var(--tracking-title-1)}.pw-timeline{--icon: 40px;gap:var(--space-6);margin:0}.pw-timeline li{grid-template-columns:var(--icon) minmax(0,1fr);gap:var(--space-4)}.pw-timeline li:after{content:"";position:absolute;z-index:0;left:calc(var(--icon) / 2 - 6px);top:calc(var(--icon) / 2);width:12px;bottom:calc(-1 * var(--space-6) - var(--icon) / 2);border-radius:0;background:var(--onb-track)}.pw-timeline li:nth-last-child(2):after{background:var(--onb-track)}.pw-timeline li:last-child:after{bottom:calc(-1 * var(--space-6));border-radius:0 0 6px 6px;background:var(--onb-fill-strong)}.pw-timeline__icon{width:var(--icon);height:var(--icon);background:var(--lime);color:var(--on-lime)}.pw-timeline__icon svg{width:20px;height:20px}.pw-timeline li:last-child .pw-timeline__icon{background:var(--fill-primary);color:var(--on-primary)}.pw-timeline div{gap:4px;padding-top:8px}.pw-timeline b{font:var(--font-onb-subtitle);font-weight:var(--weight-medium)}.pw-timeline span{color:var(--text-2);font:var(--font-onb-lede)}.pw-plans{margin-top:0;gap:var(--space-3)}.pw-plan{min-height:76px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-1);box-shadow:inset 0 0 0 2px var(--onb-fill-strong)}.pw-plan.is-active{background:var(--onb-fill);box-shadow:inset 0 0 0 3px var(--text-1)}.pw-plan__title{color:var(--text-1);font:var(--font-onb-option)}.pw-plan strong{font:var(--font-onb-subtitle);font-weight:var(--weight-semibold)}.pw-plan strong small{color:var(--text-1);font:var(--font-onb-option)}.pw-plan__badge{padding:4px var(--space-3);font:var(--font-onb-small-strong);text-transform:uppercase;letter-spacing:var(--tracking-caption)}.pw-plan__mark{width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--onb-fill-strong)}.pw-plan.is-active .pw-plan__mark{background:var(--text-1);color:var(--surface-1)}.pw-plan__mark svg{width:18px;height:18px}.pw-nopay svg{width:18px;height:18px}.pw-methods{display:grid;gap:10px;margin-top:var(--space-4)}.pw-method{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-md);background:var(--surface-1);box-shadow:inset 0 0 0 2px var(--onb-fill-strong);color:var(--text-1);text-align:left;cursor:pointer;transition:box-shadow var(--duration-fast)}.pw-method:active{background:var(--onb-fill)}.pw-method:disabled{cursor:default;opacity:.6}.pw-method__main{display:grid;gap:2px;flex:1;min-width:0}.pw-method b{font:var(--font-onb-option);font-weight:var(--weight-semibold)}.pw-method small{color:var(--text-2);font:var(--font-onb-small)}.pw-method__chevron{width:16px;height:16px;flex:0 0 auto;color:var(--text-3)}@media(hover:hover)and (pointer:fine){.pw-method:not(:disabled):hover{box-shadow:inset 0 0 0 2px var(--text-1)}}.pw-bell{width:min(52%,206px);height:auto;margin:0 auto}.pw-bell__shape{fill:var(--onb-fill-strong)}.pw-bell__badge{fill:var(--danger)}.pw-bell__count{fill:var(--on-danger);font-family:var(--font-system);font-weight:var(--weight-medium)}@media(hover:hover)and (pointer:fine){.pw-restore:not(:disabled):hover{color:var(--text-1)}}.pw-body--spread{justify-content:space-between;gap:var(--space-4);padding-top:var(--space-2);padding-bottom:var(--space-3)}.pw-body--spread h1{font:var(--font-onb-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-onb-title)}.pw-timeline{--icon: 36px;gap:var(--space-5);grid-auto-rows:1fr;padding-bottom:calc(var(--space-5) + var(--icon) / 2)}.pw-timeline li:after{bottom:calc(-1 * var(--space-5) - var(--icon) / 2);width:10px;left:calc(var(--icon) / 2 - 5px)}.pw-timeline li:last-child:after{bottom:calc(-1 * var(--space-5) - var(--icon) / 2)}.pw-timeline__icon svg{width:18px;height:18px}.pw-timeline div{align-content:start;padding-top:6px}.pw-timeline b{font:var(--font-onb-option);font-weight:var(--weight-medium)}.pw-timeline span{font:var(--font-onb-small)}.pw-plans{margin-top:var(--space-3)}.pw-plan{min-height:68px;padding:var(--space-3) var(--space-4)}.pw-plan strong{font:var(--font-onb-option);font-weight:var(--weight-semibold)}.pw-body--wheel{display:flex;flex-direction:column;align-items:center;padding-top:calc(var(--space-8) + env(safe-area-inset-top));padding-bottom:calc(var(--app-height, 100vh) * .16);text-align:center;text-wrap:balance;overflow:hidden}.pw-body--wheel .fortune{margin:auto 0}.pw-body--offer{display:flex;flex-direction:column;align-items:center;text-align:center;text-wrap:balance}.pw-body--offer h1{margin-top:var(--space-2);font:var(--font-onb-title);font-weight:var(--weight-bold)}.pw-deal__note{margin:auto 0 0;color:var(--text-2);font:var(--font-onb-small)}.pw-trial-switch{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) 0;font:var(--font-onb-option);cursor:pointer}.pw-nopay--small{font:var(--font-onb-small-strong)}.pw-nopay--small svg{width:14px;height:14px}.login{min-height:var(--app-height);display:flex;flex-direction:column;padding:calc(var(--space-6) + env(safe-area-inset-top)) calc(var(--gutter) + var(--space-1)) calc(var(--space-5) + env(safe-area-inset-bottom));background:var(--surface-1)}.login__head{display:grid;justify-items:start;gap:var(--space-2)}.login__head h1{margin:0;font:var(--font-onb-title);letter-spacing:var(--tracking-onb-title)}.login__head p{margin:0;color:var(--text-2);font:var(--font-onb-lede)}.login__head strong{color:var(--text-1);font-weight:var(--weight-medium);overflow-wrap:anywhere}.login__middle{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);padding:var(--space-6) 0}.login__buttons{display:grid;gap:var(--space-3)}.login-pill{min-height:var(--onb-control);display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);background:var(--surface-1);box-shadow:inset 0 0 0 1.5px var(--text-1);color:var(--text-1);font:var(--font-onb-button);cursor:pointer;transition:transform var(--duration-fast) var(--ease)}.login-pill svg{width:18px;height:18px}.login-pill--dark{background:var(--fill-primary);box-shadow:none;color:var(--on-primary)}.login-pill:active{transform:scale(.98)}.login__foot{display:grid;gap:var(--space-3)}.login-legal{color:var(--text-2);font:var(--font-onb-small);text-align:center;text-wrap:balance}.login-legal a{color:inherit}.login-form{width:100%;display:grid;gap:var(--space-3);text-align:left}.login-form .login-sent{margin:0;color:var(--text-2);font:var(--font-footnote)}.login-sent strong{color:var(--text-1);font-weight:var(--weight-medium);overflow-wrap:anywhere}.login-secondary{display:grid;gap:var(--space-1)}.login-waiting{width:100%;display:grid;justify-items:center;gap:var(--space-3);margin-top:var(--space-3);text-align:center;text-wrap:balance}.login-waiting p{margin:0;color:var(--text-2);font:var(--font-body)}.field>.code-cells{position:relative;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2)}.code-cells>.code-cells__cell{height:calc(var(--control-lg) + var(--space-2));display:grid;place-items:center;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);font:var(--font-title-2);font-variant-numeric:tabular-nums;transition:box-shadow var(--duration-fast) var(--ease)}.code-cells:focus-within .code-cells__cell.is-current{box-shadow:inset 0 0 0 1.5px var(--text-1)}.code-cells .code-cells__input{position:absolute;z-index:1;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;font-size:var(--font-size-headline);cursor:text}.code-cells .code-cells__input::selection{background:transparent}.sheet .login-form{margin-top:var(--space-2)}.state-screen .sheet{text-align:left}.account-actions{margin-top:var(--space-6)}.profile-install{margin-top:var(--space-3)}.install-steps{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-3);counter-reset:install}.install-steps li{display:grid;grid-template-columns:var(--control-sm) minmax(0,1fr);align-items:center;gap:var(--space-3);color:var(--text-1);font:var(--font-body);counter-increment:install}.install-steps li:before{content:counter(install);width:var(--control-sm);height:var(--control-sm);display:grid;place-items:center;border-radius:var(--radius-round);background:var(--surface-2);color:var(--text-1);font:var(--font-body-strong)}.install-steps svg{display:inline-block;width:18px;height:18px;vertical-align:-3px}.push-settings{display:grid;gap:var(--space-3);margin-bottom:var(--space-3)}.push-settings .hint{margin-top:0}@media(hover:hover)and (pointer:fine){.login-legal a:hover{color:var(--text-1)}.login-pill:hover{background:var(--onb-fill)}.login-pill--dark:hover{background:color-mix(in srgb,var(--surface-1) 12%,var(--fill-primary))}.code-cells:hover>.code-cells__cell{background:color-mix(in srgb,var(--text-1) 5%,var(--surface-2))}}.login .input{background:var(--onb-fill)}.medal{display:block;flex:0 0 auto;object-fit:contain}.medal__shape{stroke:color-mix(in srgb,var(--on-badge) 45%,transparent);stroke-width:3}.medal__glyph{color:var(--on-badge)}.medal__glyph svg{stroke-width:1.7}.medal__mark{fill:var(--on-badge);font:var(--font-headline);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.medal--locked{filter:grayscale(1);opacity:.38}.achievements-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}.achievements-stat{display:grid;justify-items:start;align-content:start;gap:var(--space-1);padding:var(--space-4)}.achievements-stat strong{font:var(--font-title-1)}.achievements-stat small{color:var(--text-2);font:var(--font-caption)}.achievements-stat__icon svg{width:28px;height:28px}.achievements-stat__icon--streak svg path:first-child{fill:var(--streak-fire);stroke:var(--streak-fire)}.achievements-stat__icon--streak svg path:last-child{fill:var(--streak-core);stroke:var(--streak-core)}.achievements-bar{width:100%;height:6px;margin-top:var(--space-1);overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-2)}.achievements-bar i{display:block;height:100%;border-radius:inherit;background:var(--lime-graphic)}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.badge-cell{min-width:0;padding:var(--space-3) var(--space-1);border:0;border-radius:var(--radius-md);display:grid;justify-items:center;align-content:start;gap:var(--space-1);background:var(--surface-1);color:var(--text-1);text-align:center;box-shadow:var(--shadow-card);cursor:pointer}.badge-cell strong{font:var(--font-footnote);font-weight:var(--weight-bold)}.badge-cell small{color:var(--text-2);font:var(--font-caption)}.badge-sheet{display:grid;justify-items:center;gap:var(--space-2);text-align:center}.badge-sheet__head{width:100%}.badge-sheet h2{margin:0}.badge-sheet__kicker{margin:var(--space-2) 0 0;color:var(--text-2);font:var(--font-footnote)}.badge-sheet__condition{margin:0;color:var(--text-2);font:var(--font-body)}.badge-sheet__date{margin:var(--space-2) 0 0;display:flex;align-items:center;gap:var(--space-1);color:var(--text-2);font:var(--font-footnote)}.badge-sheet__date svg{width:14px;height:14px;color:var(--success)}.badge-sheet__comment{margin:0 0 var(--space-3);color:var(--text-1);font:var(--font-body)}.celebration{position:fixed;z-index:110;inset:0;width:min(100%,var(--app-width));margin:0 auto;display:grid;grid-template-rows:1fr auto;overflow:hidden;background:var(--bg);animation:fadeIn var(--duration-base) var(--ease)}.celebration__glow{position:absolute;inset:0 0 45%;background:linear-gradient(160deg,var(--glow-a),var(--glow-b));opacity:.9;mask-image:linear-gradient(to bottom,var(--on-badge) 55%,transparent);-webkit-mask-image:linear-gradient(to bottom,var(--on-badge) 55%,transparent)}.celebration--streak{--glow-a: var(--badge-streak-a);--glow-b: var(--badge-streak-b)}.celebration--meals{--glow-a: var(--badge-meals-a);--glow-b: var(--badge-meals-b)}.celebration--goal{--glow-a: var(--badge-goal-a);--glow-b: var(--badge-goal-b)}.celebration--water{--glow-a: var(--badge-water-a);--glow-b: var(--badge-water-b)}.celebration--daily{--glow-a: var(--badge-daily-a);--glow-b: var(--badge-daily-b)}.celebration--weight{--glow-a: var(--badge-weight-a);--glow-b: var(--badge-weight-b)}.celebration--quality{--glow-a: var(--badge-quality-a);--glow-b: var(--badge-quality-b)}.celebration--special{--glow-a: var(--badge-special-a);--glow-b: var(--badge-special-b)}.celebration--invites{--glow-a: var(--badge-invites-a);--glow-b: var(--badge-invites-b)}.celebration__close{position:absolute;z-index:2;top:calc(var(--space-4) + env(safe-area-inset-top));left:var(--gutter)}.celebration__body{position:relative;z-index:1;display:grid;justify-items:center;align-content:center;gap:var(--space-2);padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--gutter) 0;text-align:center}.celebration__body .medal{margin-bottom:var(--space-4);animation:slideUp .5s var(--ease)}.celebration__body h2{margin:0}.celebration__kicker{margin:0;color:var(--text-2);font:var(--font-footnote)}.celebration__condition{margin:0;color:var(--text-2);font:var(--font-body)}.celebration__comment{max-width:300px;margin:var(--space-3) 0 0;color:var(--text-1);font:var(--font-body)}.celebration__actions{position:relative;z-index:1;display:grid;gap:var(--space-2);padding:var(--space-4) var(--gutter) calc(var(--space-5) + env(safe-area-inset-bottom))}.celebration__off{justify-self:center;padding:var(--space-2);border:0;background:none;color:var(--text-2);font:var(--font-footnote);text-decoration:underline;cursor:pointer}.streak-all{margin-bottom:var(--space-2)}.streak-all svg{width:18px;height:18px}.streak-lost{display:grid;justify-items:center;text-align:center}.streak-lost__flame svg{width:48px;height:48px;color:var(--text-3)}
