body{margin:0}#root{min-height:100svh}:root{--bg:#fff;--card:#fff;--surface:#eff0f2;--ink:#17181c;--ink-2:#52555d;--ink-3:#8a8d96;--line:#eff0f2;--accent:#17181c;--accent-ink:#000;--accent-soft:#eff0f2;--good:#1aa46b;--good-soft:#e4f5ec;--warn:#e0a526;--danger:#e0433b;--font-text:"Onest", system-ui, -apple-system, sans-serif;--font-display:"Unbounded", system-ui, sans-serif;--text:var(--ink-3);--text-h:var(--ink);--border:var(--line);--code-bg:var(--surface);--shadow-sm:0 1px 3px #14161c0f;--shadow:0 4px 12px #0000000d, 0 20px 48px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font:15px/1.4 var(--font-text)}#root:has(.onboarding--try-food-result){flex-direction:column;height:100dvh;max-height:100dvh;display:flex;overflow:hidden}#root{text-align:left;background:var(--bg);border-inline:none;width:100%;max-width:480px;min-height:100svh;margin:0 auto}body{background:#fff;margin:0}.app:has(.onboarding--try-food-result){height:100dvh;max-height:100dvh;overflow:hidden}.app{text-align:left;flex-direction:column;min-height:100svh;font-size:15px;display:flex;position:relative}.app-loading{min-height:100svh;color:var(--ink-3);justify-content:center;align-items:center;display:flex}.app-error{color:var(--danger);background:#e0433b1f;border-radius:8px;margin:8px 16px 0;padding:8px 12px;font-size:13px}.tap{transition:transform .12s}.tap:active{transform:scale(.955)}.scroll{padding:calc(env(safe-area-inset-top) + 32px) 20px calc(env(safe-area-inset-bottom) + 132px);flex-direction:column;flex:1;gap:22px;display:flex;overflow-y:auto}.scroll>*{flex-shrink:0}.scroll--locked{overflow:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scroll>*{animation:.42s cubic-bezier(.22,1,.36,1) backwards fadeInUp}.scroll>:first-child{animation-delay:0s}.scroll>:nth-child(2){animation-delay:40ms}.scroll>:nth-child(3){animation-delay:80ms}.scroll>:nth-child(4){animation-delay:.12s}.scroll>:nth-child(5){animation-delay:.16s}.scroll>:nth-child(6){animation-delay:.2s}.scroll>:nth-child(n+7){animation-delay:.24s}.card{background:var(--card);box-shadow:var(--shadow);border:none;border-radius:24px}.page-h{justify-content:space-between;align-items:center;margin-bottom:2px;padding:4px 2px 2px;display:flex}.page-h__brand{align-items:center;gap:8px;min-width:0;display:flex}.page-h__logo{object-fit:contain;flex-shrink:0;width:32px;height:32px;display:block}.page-h h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600}.page-h .sub{color:var(--ink-3);margin-top:2px;font-size:13.5px}.sect-h{letter-spacing:.05em;color:var(--ink-3);text-transform:uppercase;margin:6px 2px -4px;font-size:12px;font-weight:700}.goal-banner{background:var(--accent-soft);border-color:#0000;align-items:center;gap:14px;padding:16px 18px;display:flex}.goal-banner__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.goal-banner__text b{color:var(--ink);font-size:13.5px;font-weight:600}.goal-banner__text span{color:var(--ink-2);font-size:12px;line-height:1.3}.goal-banner__btn{background:var(--accent);color:#fff;font-family:var(--font-text);cursor:pointer;white-space:nowrap;border:none;border-radius:100px;flex-shrink:0;padding:10px 16px;font-size:13px;font-weight:600}.goal-banner__btn:disabled{opacity:.6}.goal-row{align-items:center;gap:12px;padding:18px;display:flex}.goal-row__item{text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex;position:relative}.goal-row__label{color:var(--ink-3);font-size:11.5px;font-weight:500}.goal-row__value{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;font-size:15px;font-weight:700}.goal-row__value i{color:var(--ink-3);font-size:12px;font-style:normal;font-weight:400}.goal-row__item .badge-g,.goal-row__item .badge-r{margin-top:1px}.goal-row__divider{background:var(--line);flex-shrink:0;width:1px;height:30px}.streak{box-shadow:var(--shadow);background:#fff;border:none;border-radius:100px;flex-shrink:0;align-items:center;gap:6px;padding:8px 13px;display:flex}.streak__icon{flex-shrink:0}.streak__label{font-family:var(--font-display);color:var(--ink);white-space:nowrap;font-size:13px}.week-cal{padding:16px 18px 18px}.week-cal__head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.week-cal__month{font-family:var(--font-display);color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600}.week-cal__nav{align-items:center;gap:6px;display:flex}.week-cal__navbtn{background:var(--code-bg);width:26px;height:26px;color:var(--ink-2);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.week-cal__navbtn svg{width:15px;height:15px;display:block}.week-cal__today{background:var(--accent-soft);color:var(--accent);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-text);border:none;border-radius:100px;padding:5px 10px}.week-cal__days-wrap{overflow:hidden}.week-cal__days{touch-action:pan-y;gap:4px;display:flex}.week-cal__days.slide-next{animation:.26s cubic-bezier(.22,1,.36,1) weekSlideNext}.week-cal__days.slide-prev{animation:.26s cubic-bezier(.22,1,.36,1) weekSlidePrev}@keyframes weekSlideNext{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes weekSlidePrev{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.week-cal__day{cursor:pointer;min-width:0;font-family:var(--font-text);background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:8px 0 10px;display:flex}.week-cal__day.today{background:var(--code-bg)}.week-cal__day.active{background:var(--accent)}.week-cal__wd{color:var(--ink-3);font-size:11px}.week-cal__day.active .week-cal__wd{color:#ffffffbf}.week-cal__num{font-family:var(--font-display);color:var(--ink);font-size:14px;font-weight:600}.week-cal__day.active .week-cal__num{color:#fff}.week-cal__dot{background:0 0;border-radius:50%;width:7px;height:7px}.week-cal__dot--good{background:var(--good)}.week-cal__dot--warn{background:#e0a526}.week-cal__dot--bad{background:var(--danger)}.week-cal__dot--logged{background:var(--ink-3)}.week-cal__dot--empty,.week-cal__dot--future{background:var(--line)}.week-cal__day.active .week-cal__dot--empty,.week-cal__day.active .week-cal__dot--future{background:#fff6}.nutri-summary{flex-direction:column;gap:14px;display:flex}.nutri-kcal{justify-content:space-between;align-items:center;gap:18px;padding:24px 26px;display:flex}.nutri-kcal__text b{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:36px;font-weight:700;line-height:1;display:block}.nutri-kcal__text span{color:var(--ink-2);margin-top:6px;font-size:15px;font-weight:500;display:block}.nutri-kcal__text small{color:var(--good);margin-top:8px;font-size:12px;font-weight:500;display:block}.nutri-kcal--over .nutri-kcal__text b,.nutri-budget--over.nutri-kcal .nutri-kcal__text b{color:var(--danger)}.nutri-kcal--warn .nutri-kcal__text b,.nutri-budget--warn.nutri-kcal .nutri-kcal__text b{color:var(--warn)}.nutri-summary__macros{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.nutri-macro{flex-direction:column;align-items:stretch;gap:12px;padding:16px 14px 14px;display:flex}.nutri-macro__text{text-align:left}.nutri-macro__text b{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:600;line-height:1.1;display:block}.nutri-macro__text span{color:var(--ink-2);margin-top:4px;font-size:12px;font-weight:500;line-height:1.25;display:block}.nutri-macro .nutri-ring{align-self:center}.nutri-macro--over .nutri-macro__text b,.nutri-budget--over.nutri-macro .nutri-macro__text b{color:var(--danger)}.nutri-macro--warn .nutri-macro__text b,.nutri-budget--warn.nutri-macro .nutri-macro__text b{color:var(--warn)}.nutri-ring{flex-shrink:0;position:relative}.nutri-ring svg{display:block}.nutri-ring svg circle:last-child{transition:stroke-dashoffset .7s cubic-bezier(.22,1,.36,1)}.nutri-ring__center{place-items:center;display:grid;position:absolute;inset:0}.cals{flex-direction:column;gap:16px;padding:20px 22px 18px;display:flex}.cals-top{border-bottom:1px solid var(--line);padding-bottom:16px}.cals-kcal__nums{align-items:baseline;gap:6px;margin-bottom:12px;display:flex}.cals-kcal__nums b{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:32px;font-weight:700;line-height:1}.cals-kcal__nums span{color:var(--ink-3);font-size:16px;font-weight:500}.cals-kcal__activity{color:var(--good);margin-bottom:10px;font-size:12px;font-weight:500}.cals-kcal.over .cals-kcal__nums b{color:#c44a44}.cals-macros{flex-direction:column;gap:12px;display:flex}.macro .mt{justify-content:space-between;margin-bottom:5px;font-size:13px;display:flex}.macro .mt .nm{color:var(--ink-2);font-weight:500}.macro .mt .vl{color:var(--ink-3)}.macro .mt .vl b{color:var(--ink);font-weight:700}.bar{background:var(--surface);border-radius:100px;height:7px;overflow:hidden}.bar i{border-radius:100px;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1);display:block}.bar.kcal i,.bar.p i{background:var(--accent)}.bar.c i{background:#7ab6ff}.bar.f i{background:#c9a2f0}.macro.over .mt .vl b{color:#c44a44}.macro.over .mt .vl{color:#d46a65}.bar.over i{background:#e89590}.row2{gap:12px;display:flex}.row2>.card{flex:1;min-width:0;padding:16px 17px 15px}.mini-h{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.mini-h .l{color:var(--ink-3);font-size:13px;font-weight:500}.badge-g{color:var(--good);background:var(--good-soft);border-radius:100px;padding:2px 8px;font-size:11.5px;font-weight:700}.badge-r{color:var(--danger);background:#e0433b1f;border-radius:100px;padding:2px 8px;font-size:11.5px;font-weight:700}.big-num{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:25px;font-weight:700;line-height:1}.big-num i{color:var(--ink-3);font-size:13px;font-style:normal;font-weight:400}.spark{width:100%;height:34px;margin-top:9px;display:block}.diary-list{flex-direction:column;gap:14px;display:flex}.meal{padding:18px 18px 10px}.meal .mh{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.meal .mh .nm{align-items:center;gap:9px;font-size:15px;font-weight:700;display:flex}.meal .mh .nm .ic{border-radius:9px;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.meal .mh .kc{font-family:var(--font-display);color:var(--ink-2);font-size:14px;font-weight:600}.food{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.food:first-of-type{border-top:none}.food .fn{flex:1;min-width:0;line-height:1.25}.food .fn b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;display:-webkit-box;overflow:hidden}.food .fn span{color:var(--ink-3);font-size:12px}.food .fk{color:var(--ink-2);flex-shrink:0;font-size:13.5px;font-weight:600}.add-food{color:var(--accent);cursor:pointer;align-items:center;gap:10px;padding:14px 0 16px;font-size:13.5px;font-weight:600;display:flex}.add-food .pl{border:1.5px dashed #d5d7dc;border-radius:8px;place-items:center;width:24px;height:24px;display:grid}.add-food .pl svg{width:13px;height:13px}.empty-meal{color:var(--ink-3);padding:12px 0 16px;font-size:13px}.recognition-loading-screen{z-index:100;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 20px) 32px calc(48px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.recognition-loading-screen__content{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;width:100%;min-height:280px;padding:24px;display:flex}.recognition-loading-screen__ring{justify-content:center;align-items:center;width:72px;height:72px;display:flex}.recognition-loading-screen__spinner{border:4px solid var(--line);border-top-color:var(--ink);border-radius:50%;width:56px;height:56px;animation:.9s linear infinite recognition-loading-spin}.recognition-loading-screen__line{font-family:var(--font-text);color:var(--ink);text-align:center;min-height:1.4em;margin:0;font-size:17px;font-weight:600;transition:opacity .25s}@keyframes recognition-loading-spin{to{transform:rotate(360deg)}}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{padding:15px 16px}.stat .sl{color:var(--ink-3);align-items:center;gap:7px;font-size:12.5px;font-weight:500;display:flex}.stat .sl .e{font-size:15px}.stat .sv{font-family:var(--font-display);letter-spacing:-.02em;margin-top:7px;font-size:22px;font-weight:700;line-height:1}.stat .sv i{color:var(--ink-3);font-size:12px;font-style:normal;font-weight:400}.weight-card{padding:18px 20px 8px}.weight-card .wh{justify-content:space-between;align-items:flex-end;margin-bottom:2px;display:flex}.weight-card .wh .now{font-family:var(--font-display);letter-spacing:-.02em;font-size:30px;font-weight:700;line-height:1}.weight-card .wh .now i{color:var(--ink-3);font-size:15px;font-style:normal;font-weight:400}.weight-card .wh .delta{text-align:right}.weight-card .wh .delta b{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:700;display:block}.weight-card .wh .delta b.good{color:var(--good)}.weight-card .wh .delta b.bad{color:var(--danger)}.weight-card .wh .delta span{color:var(--ink-3);font-size:11.5px}.chart{width:100%;height:130px;margin-top:6px;display:block}.chart-x{color:var(--ink-3);justify-content:space-between;padding:2px 2px 0;font-size:11px;display:flex}.macro-charts-card{padding:16px 18px 10px}.macro-charts-card h3{color:var(--ink-3);margin:0 0 14px;font-size:13px;font-weight:600}.daily-bar-chart+.daily-bar-chart{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.daily-bar-chart__head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.daily-bar-chart__title{color:var(--ink);font-size:14px;font-weight:600}.daily-bar-chart__goal{color:var(--ink-3);font-size:11.5px}.daily-bar-chart__goal b{color:var(--ink);font-weight:700}.daily-bar-chart__svg{width:100%;height:108px;display:block}.daily-bar-chart__empty{text-align:center;color:var(--ink-3);border-radius:14px;padding:18px 14px;font-size:13px}.ach{padding:16px 18px}.ach h3{color:var(--ink-3);margin:0 0 13px;font-size:13px;font-weight:600}.ach .list{gap:14px;display:flex}.ach .b{text-align:center;flex-direction:column;flex:1;align-items:center;gap:7px;display:flex}.ach .b .medal{border-radius:16px;place-items:center;width:50px;height:50px;font-size:24px;display:grid}.ach .b.lock .medal{filter:grayscale();opacity:.4}.ach .b small{color:var(--ink-2);font-size:10.5px;font-weight:600;line-height:1.2}.ach .b:not(.lock) .medal{animation:.5s cubic-bezier(.34,1.56,.64,1) backwards medalPop}@keyframes medalPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.goal-progress{margin-top:12px}.goal-progress .gp-top{color:var(--ink-3);justify-content:space-between;font-size:11px;display:flex}.prof{align-items:center;gap:14px;padding:18px 20px;display:flex}.prof .pava{background:linear-gradient(160deg, #3a3a3f, var(--accent));color:#fff;width:58px;height:58px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;font-size:22px;font-weight:700;display:grid}.prof .pi{flex:1;min-width:0;line-height:1.25}.prof .pi b{font-family:var(--font-display);font-size:18px;font-weight:600;display:block}.prof .pi .h{color:var(--ink-3);font-size:13px}.prof .pi .goal{color:var(--accent);background:var(--accent-soft);border-radius:100px;align-items:center;gap:4px;margin-top:7px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.sub-card{color:#fff;background:linear-gradient(150deg,#2b2b2f,#000);border:none;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 12px 30px #0000002e}.sub-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff29,#0000 64%);width:230px;height:230px;position:absolute;top:-40%;right:-15%}.sub-top{padding:18px 20px 4px;position:relative}.sub-top .st-row{justify-content:space-between;align-items:flex-start;display:flex}.sub-badge{font-family:var(--font-display);align-items:center;gap:8px;font-size:19px;font-weight:700;display:flex}.sub-badge .pro{color:var(--accent-ink);letter-spacing:.04em;background:#fff;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.sub-status{color:#ffffffd1;margin-top:5px;font-size:12.5px}.benefits{flex-direction:column;gap:10px;margin:14px 0 4px;padding:0;list-style:none;display:flex}.benefits li{align-items:center;gap:11px;font-size:13.5px;display:flex}.benefits li .bi{background:#ffffff29;border-radius:8px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:14px;display:grid}.sub-bottom{background:#ffffff1a;border-top:1px solid #ffffff24;margin-top:14px;padding:15px 16px 16px;position:relative}.plan-toggle{gap:9px;margin-bottom:13px;display:flex}.plan{cursor:pointer;color:#fff;background:#ffffff14;border:1.6px solid #ffffff38;border-radius:14px;flex:1;padding:11px 12px;transition:background .2s,border-color .2s,color .2s;position:relative}.plan.on{color:var(--accent-ink);background:#fff;border-color:#fff}.plan .pn{opacity:.85;font-size:12px}.plan .pp{font-family:var(--font-display);margin-top:3px;font-size:16px;font-weight:700}.plan .save{color:#06351f;background:#7cf0b0;border-radius:100px;padding:2px 7px;font-size:9.5px;font-weight:700;position:absolute;top:-9px;right:9px}.buy{width:100%;color:var(--accent-ink);cursor:pointer;font-size:15.5px;font-weight:700;font-family:var(--font-text);background:#fff;border:none;border-radius:13px;padding:15px;transition:background .25s,color .25s}.buy.done{color:#06351f;background:#7cf0b0}.cancel-sub-link{color:#fff;width:100%;font-size:14px;font-weight:400;font-family:var(--font-text);cursor:pointer;background:0 0;border:none;padding:15px;text-decoration:underline}.cal{padding:17px 18px}.cal .sr{align-items:center;gap:13px;margin-bottom:16px;display:flex}.cal .sr .fbig{background:#fff1db;border-radius:14px;place-items:center;width:48px;height:48px;font-size:24px;animation:2.4s ease-in-out infinite flame;display:grid}@keyframes flame{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.08)rotate(2deg)}}.cal .sr .si b{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1;display:block}.cal .sr .si span{max-width:220px;color:var(--ink-3);margin-top:4px;font-size:11.5px;line-height:1.35;display:block}.cal .sr .best{text-align:right;margin-left:auto}.cal .sr .best b{font-family:var(--font-display);color:var(--accent);font-size:16px;font-weight:700;display:block}.cal .sr .best span{color:var(--ink-3);font-size:10.5px}.cal .mname{text-align:center;margin-bottom:11px;font-size:14px;font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.cal-grid .wd{color:var(--ink-3);text-align:center;padding-bottom:3px;font-size:10px;font-weight:700}.dcell{aspect-ratio:1;color:var(--ink-2);border-radius:10px;place-items:center;font-size:12.5px;font-weight:600;display:grid;position:relative}.dcell.empty{visibility:hidden}.dcell.future{color:var(--ink-3);opacity:.4}.dcell.done{background:var(--accent);color:#fff}.dcell.today{font-weight:800;animation:2.2s ease-in-out infinite tpulse;box-shadow:0 0 0 2.5px #17181c38}@keyframes tpulse{0%,to{box-shadow:0 0 0 2.5px #17181c38}50%{box-shadow:0 0 0 6px #17181c14}}.settings{padding:4px}.srow{cursor:pointer;align-items:center;gap:13px;padding:13px 15px;display:flex}.srow+.srow{border-top:1px solid var(--line)}.srow .si{background:var(--surface);border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:16px;display:grid}.srow .sl{flex:1;font-size:14.5px;font-weight:500}.srow .sr{color:var(--ink-3);align-items:center;gap:7px;font-size:13px;display:flex}.srow .chev{color:var(--ink-3);display:flex}.srow .chev svg{width:16px;height:16px}.sw{cursor:pointer;background:#d7d6ce;border-radius:100px;flex-shrink:0;width:46px;height:28px;transition:background .22s;position:relative}.sw.on{background:var(--accent)}.sw i{background:#fff;border-radius:50%;width:22px;height:22px;transition:left .22s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000038}.sw.on i{left:21px}.modal-wrap{z-index:70;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.modal-bg{background:#14161c80;position:absolute;inset:0}.modal{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:380px;padding:24px 22px;position:relative}.modal .mi{background:#fdecea;border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 15px;font-size:27px;display:grid}.modal h3{font-family:var(--font-display);margin-bottom:8px;font-size:19px;font-weight:600}.modal p{color:var(--ink-2);margin-bottom:21px;font-size:13.5px;line-height:1.45}.modal .mbtns{gap:10px;display:flex}.modal .mbtns button{cursor:pointer;font-size:14.5px;font-weight:700;font-family:var(--font-text);border:none;border-radius:13px;flex:1;padding:14px}.mbtn-cancel{background:var(--surface);color:var(--ink)}.mbtn-del{background:var(--danger);color:#fff}.danger{text-align:center;width:100%;color:var(--danger);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border:none;border-radius:18px;padding:15px;font-size:14.5px;font-weight:600}.ver{text-align:center;color:var(--ink-3);padding:2px 0 6px;font-size:11.5px}.dock{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:30;pointer-events:none;align-items:center;gap:14px;width:calc(100% - 24px);max-width:456px;display:flex;position:fixed;transform:translate(-50%)}.dock__tabs{pointer-events:auto;-webkit-backdrop-filter:blur(22px)saturate(180%);min-width:0;box-shadow:var(--shadow);background:#ffffffeb;border:none;border-radius:28px;flex:1;justify-content:space-around;align-items:center;padding:8px;display:flex}.dock__item{min-width:0;color:var(--ink-3);cursor:pointer;font-size:10.5px;font-weight:600;font-family:var(--font-text);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:none;outline:none;flex-direction:column;align-items:center;gap:4px;padding:4px 6px;transition:color .18s,transform .12s;display:flex}.dock__item:active{transform:scale(.9)}.dock__item svg{width:22px;height:22px}.dock__item--active{color:var(--accent)}.dock__add{pointer-events:auto;background:var(--accent);color:#fff;cursor:pointer;width:50px;height:50px;box-shadow:var(--shadow);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dock__add:active{transform:scale(.92)}@keyframes sheetOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-overlay{z-index:60;background:#14161c6b;align-items:flex-end;animation:.22s ease-out sheetOverlayFadeIn;display:flex;position:fixed;inset:0;overflow:hidden}.sheet{width:100%;max-height:min(92dvh, calc(100% - env(safe-area-inset-top,0px)));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:10px 20px calc(26px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow);background:#fff;border-radius:26px 26px 0 0;flex-shrink:1;animation:.32s cubic-bezier(.32,.72,0,1) sheetSlideUp;overflow:hidden auto}.sheet__handle{background:var(--line);border-radius:100px;width:38px;height:4px;margin:0 auto 8px}.sheet__header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.sheet__header-left{align-items:center;gap:8px;min-width:0;display:flex}.sheet__header h2{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;font-weight:600;overflow:hidden}.sheet__close,.sheet__back{background:var(--code-bg);width:32px;height:32px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.sheet__back--inactive{opacity:.35;cursor:default}.sheet__info{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.sheet__info-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.sheet__info-row span:first-child{color:var(--ink-3)}.sheet__info-row span:last-child{color:var(--ink);font-weight:500}.sheet__actions{flex-direction:column;gap:10px;display:flex}.sheet__button{background:var(--surface);width:100%;color:var(--ink);cursor:pointer;font-size:14.5px;font-weight:600;font-family:var(--font-text);border:none;border-radius:13px;padding:14px}.sheet__button--primary{color:#fff;background:#000;border-color:#000}.sheet__button--danger{color:var(--danger);margin-top:10px}.add-product__fieldset{border:none;min-width:0;margin:0;padding:0}.add-product__fieldset:disabled .field__input,.add-product__fieldset:disabled .sheet__button--primary{opacity:.5}.add-product__photo-btn{margin-bottom:16px}.progress-bar{background:var(--code-bg);border-radius:2px;height:4px;margin:-8px 0 16px;overflow:hidden}.progress-bar__fill{background:var(--accent);border-radius:2px;width:40%;height:100%;animation:1.1s ease-in-out infinite progress-bar-slide}@keyframes progress-bar-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.add-actions{scrollbar-width:none;gap:10px;margin:2px 0 16px;padding-bottom:2px;display:flex;overflow-x:auto}.add-actions::-webkit-scrollbar{display:none}.add-actions__item{width:64px;color:var(--ink);cursor:pointer;font-family:var(--font-text);-webkit-tap-highlight-color:transparent;appearance:none;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.add-actions__icon{background:var(--code-bg);width:56px;height:56px;color:var(--ink);border:1.5px solid #0000;border-radius:16px;place-items:center;font-size:22px;transition:transform .1s,background .15s,border-color .15s;display:grid}.add-actions__icon svg{stroke:currentColor}.add-actions__item:active .add-actions__icon{transform:scale(.94)}.add-actions__item--active .add-actions__icon{background:var(--accent-soft);border-color:var(--accent)}.add-actions__label{color:var(--ink-3);white-space:nowrap;font-size:11.5px;font-weight:600}.add-actions__item--active .add-actions__label{color:var(--accent-ink)}.sheet--fixed-height{height:min(92dvh, calc(100% - env(safe-area-inset-top,0px)))}.search-list__heading{color:var(--ink-3);text-transform:uppercase;letter-spacing:.02em;margin:18px 0 4px;font-size:12px;font-weight:600}.search-list{opacity:1;flex-direction:column;transition:opacity .15s;display:flex}.search-list--loading{opacity:.5}.search-list--roomy{gap:2px;margin-top:6px}.search-list--roomy .search-list__main{padding:15px 0}.search-list__add-variant{margin-top:18px}.search-list__item{border-bottom:1px solid #17181c0f;align-items:center;gap:12px;display:flex}.search-list__item:last-child{border-bottom:none}.search-list__item--skeleton{padding:10px 0}.search-list__skeleton-line{background:var(--code-bg);border-radius:7px;flex:1;height:14px}.search-list__skeleton-dot{background:var(--code-bg);border-radius:50%;flex-shrink:0;width:30px;height:30px}.search-list__main{min-width:0;color:var(--ink);text-align:left;cursor:pointer;font-family:var(--font-text);-webkit-tap-highlight-color:transparent;appearance:none;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:11px 0;display:flex}.search-list__name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.search-list__meta{color:var(--ink-3);font-size:12px}.search-list__add{background:var(--code-bg);width:30px;height:30px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;appearance:none;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .1s,opacity .1s;display:flex}.search-list__add:active{transform:scale(.9)}.search-list__add:disabled{opacity:.5}.product-detail__macros{justify-content:space-between;gap:8px;margin:4px 0 20px;display:flex}.product-detail__macro{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.product-detail__macro b{color:var(--ink);font-size:18px;font-weight:700}.product-detail__macro span{color:var(--ink-3);font-size:11.5px}.product-detail__stepper{justify-content:center;align-items:center;gap:14px;margin-bottom:20px;display:flex}.product-detail__step-btn{background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .1s;display:flex}.product-detail__step-btn:active{transform:scale(.9)}.product-detail__weight-input{text-align:center;border:none;border-bottom:2px solid var(--line);background:0 0;width:80px;padding:4px 0;font-size:20px;font-weight:700}.product-detail__weight-input:focus{border-color:var(--accent);outline:none}.product-detail__unit{color:var(--ink-3);font-size:15px}.food-detail-sheet{padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:14px;display:flex}.food-detail-sheet--embedded{width:100%;min-height:0;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex:1;overflow-y:auto}.food-detail-sheet--floating-footer{max-height:min(92dvh, calc(100% - env(safe-area-inset-top,0px)));flex-direction:column;gap:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.food-detail-sheet__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;padding:10px 20px calc(96px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;flex:auto;gap:14px;display:flex;overflow:hidden auto}.food-detail-sheet__save{left:20px;right:20px;bottom:calc(26px + env(safe-area-inset-bottom,0px));z-index:2;pointer-events:auto;letter-spacing:.05em;box-sizing:border-box;background:var(--accent);color:#fff;width:auto;max-width:none;box-shadow:none;border:none;border-radius:14px;margin:0;padding:18px 24px;font-size:17px;font-weight:700;position:absolute}.food-detail-sheet__save:disabled{opacity:.4;cursor:not-allowed}.food-detail-sheet__back{margin-bottom:4px}.food-detail-sheet__head{flex-direction:column;display:flex}.food-detail-sheet__head-row{align-items:flex-start;gap:10px;display:flex}.food-detail-sheet__head-main{flex:1;min-width:0}.food-detail-sheet__head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.food-detail-sheet__delete{color:var(--danger)}.food-detail-sheet__edit--active{background:var(--ink);color:#fff}.food-detail-sheet__refine{flex-direction:column;gap:10px;margin-top:4px;display:flex}.food-detail-sheet__refine-input{background:var(--surface);resize:none;width:100%;min-height:88px;font-family:var(--font-text);color:var(--ink);box-sizing:border-box;border:none;border-radius:16px;padding:14px 16px;font-size:16px;line-height:1.45}.food-detail-sheet__refine-input:focus{outline:none}.food-detail-sheet__refine-input::placeholder{color:var(--ink-3)}.food-detail-sheet__refine-input:disabled{opacity:.6}.food-detail-sheet__refine-send{background:var(--ink);color:#fff;font-family:var(--font-text);cursor:pointer;border:none;border-radius:12px;align-self:flex-end;padding:10px 18px;font-size:15px;font-weight:600}.food-detail-sheet__refine-send:disabled{opacity:.45;cursor:not-allowed}.food-detail-sheet__refine-error{color:var(--danger);margin:0;font-size:13px;line-height:1.35}.food-detail-sheet__title{width:100%;font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);text-align:left;background:0 0;border:none;margin:0;padding:0;font-size:20px;font-weight:700;line-height:1.25}.food-detail-sheet__title--display{appearance:none;-webkit-line-clamp:2;cursor:text;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.food-detail-sheet__title--empty{color:var(--ink-3)}.food-detail-sheet__title--edit{resize:none;field-sizing:content;max-height:calc(2.5em + 4px);overflow:auto}.food-detail-sheet__title--edit:focus{outline:none;max-height:calc(5em + 4px)}.food-detail-sheet__title::placeholder{color:var(--ink-3)}.food-detail-sheet__meals{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.food-detail-sheet__meal{background:var(--surface);color:var(--ink-2);cursor:pointer;border:none;border-radius:100px;padding:6px 12px;font-size:12px;font-weight:600}.food-detail-sheet__meal--active{background:var(--accent);color:#fff}.food-detail-sheet__section{flex-direction:column;gap:8px;display:flex}.food-detail-sheet__section-title{color:var(--ink);letter-spacing:-.01em;margin:0;padding:0 2px;font-size:15px;font-weight:700;line-height:1.25}.food-detail-sheet__portion{flex-direction:column;padding:12px 14px 10px;display:flex}.food-detail-sheet .card{border-radius:14px}.food-detail-sheet__wheels{grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);gap:12px;padding:2px 0;display:grid}.food-detail-sheet__wheel-col{min-width:0}.food-detail-sheet .wheel-picker{width:100%}.food-detail-sheet .wheel-picker__highlight{border-radius:10px;width:calc(100% - 8px)}.food-detail-sheet .wheel-picker--compact .wheel-picker__item{gap:5px;font-size:14px}.food-detail-sheet .wheel-picker--compact .wheel-picker__item--center{color:var(--ink);font-size:14px;font-weight:700}.food-detail-sheet .wheel-picker--compact .wheel-picker__unit{font-size:11px}.food-detail-sheet .wheel-picker--options .wheel-picker__item--label{font-family:var(--font-text);letter-spacing:0;color:var(--ink-3);padding:0 4px;font-weight:500}.food-detail-sheet .wheel-picker--options .wheel-picker__item--label.wheel-picker__item--center{font-family:var(--font-text);color:var(--ink);font-weight:700}.food-detail-sheet .wheel-picker--options .wheel-picker__label{text-align:center;line-height:1.1}.food-detail-sheet .wheel-picker--options .wheel-picker__item--label .wheel-picker__unit{font-family:var(--font-text);color:var(--ink-3);flex-shrink:0;font-size:11px;font-weight:500}.food-detail-sheet .wheel-picker--options .wheel-picker__item--label.wheel-picker__item--center .wheel-picker__unit{color:var(--ink-2)}.food-detail-sheet .wheel-picker--compact .wheel-picker__list{-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.portion-wheels-section{margin-bottom:20px}.portion-wheels.food-detail-sheet__portion{padding-bottom:14px}.portion-wheels .wheel-picker{width:100%}.portion-wheels .wheel-picker__highlight{border-radius:10px;width:calc(100% - 8px)}.portion-wheels .wheel-picker--compact .wheel-picker__item{gap:5px;font-size:14px}.portion-wheels .wheel-picker--compact .wheel-picker__item--center{color:var(--ink);font-size:14px;font-weight:700}.portion-wheels .wheel-picker--compact .wheel-picker__unit{font-size:11px}.portion-wheels .wheel-picker--options .wheel-picker__item--label{font-family:var(--font-text);letter-spacing:0;color:var(--ink-3);padding:0 4px;font-weight:500}.portion-wheels .wheel-picker--options .wheel-picker__item--label.wheel-picker__item--center{font-family:var(--font-text);color:var(--ink);font-weight:700}.portion-wheels .wheel-picker--options .wheel-picker__label{text-align:center;line-height:1.1}.portion-wheels .wheel-picker--options .wheel-picker__item--label .wheel-picker__unit{font-family:var(--font-text);color:var(--ink-3);flex-shrink:0;font-size:11px;font-weight:500}.portion-wheels .wheel-picker--options .wheel-picker__item--label.wheel-picker__item--center .wheel-picker__unit{color:var(--ink-2)}.portion-wheels .wheel-picker--compact .wheel-picker__list{-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.food-detail-sheet__ingredients-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px;display:grid}.food-detail-sheet__ingredient{background:var(--surface);border-radius:12px;flex-direction:column;gap:3px;min-height:58px;padding:8px;display:flex}.food-detail-sheet__ingredient-name{color:var(--ink);font-size:12px;font-weight:600;line-height:1.25}.food-detail-sheet__ingredient-weight{color:var(--ink-3);margin-top:auto;font-size:12px;font-weight:500}.food-detail-sheet .nutri-summary--static{gap:10px}.food-detail-sheet .nutri-summary--static .nutri-kcal,.food-detail-sheet .nutri-summary--static .nutri-macro--static{min-height:64px;padding:14px 16px}.food-detail-sheet .nutri-summary--static .nutri-kcal{align-items:center}.food-detail-sheet .nutri-summary--static .nutri-kcal__text b{font-size:22px}.food-detail-sheet .nutri-summary--static .nutri-kcal__text span{margin-top:4px;font-size:12px}.food-detail-sheet .nutri-summary--static .nutri-macro--static{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px;min-height:0;padding:12px}.food-detail-sheet .nutri-summary--static .nutri-macro__text{text-align:left;flex:1;width:100%;min-width:0}.food-detail-sheet .nutri-summary--static .nutri-macro__text b,.food-detail-sheet .nutri-summary--static .nutri-macro__text span{text-align:left}.food-detail-sheet .nutri-summary--static .nutri-macro__text b{font-size:15px}.food-detail-sheet .nutri-summary--static .nutri-macro__text span{margin-top:3px;font-size:10px}.food-detail-sheet .nutri-static-icon:not(.nutri-static-icon--macro){background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:auto;height:100%;min-height:36px;margin-top:0;display:flex}.food-detail-sheet .nutri-static-icon--macro{background:0 0;border-radius:0;flex-shrink:0;justify-content:flex-start;align-self:flex-start;align-items:flex-start;width:auto;height:auto;min-height:0;margin:0;display:flex}.food-detail-sheet .nutri-static-icon--kcal{align-self:center;width:auto;height:auto;min-height:0;margin-left:auto;padding-right:2px}.nutri-summary--static{gap:12px}.nutri-summary--static .nutri-kcal{padding:20px 22px}.nutri-summary--static .nutri-kcal__text b{font-size:34px}.nutri-summary--static .nutri-macro--static{align-items:stretch;gap:10px;padding:14px 12px 12px}.nutri-static-icon{background:var(--surface);border-radius:50%;flex-shrink:0;align-self:center;place-items:center;width:52px;height:52px;margin-top:auto;display:grid}.nutri-static-icon--kcal{width:56px;height:56px}.meal-tabs{gap:6px;margin-bottom:14px;display:flex}.meal-tab{background:var(--surface);color:var(--ink-3);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-text);box-shadow:var(--shadow-sm);border:none;border-radius:10px;flex:1;padding:8px 0}.meal-tab--active{background:var(--accent);color:#fff;box-shadow:0 4px 12px #0000001f}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field__label{color:var(--ink-3);font-size:12px}.field__input{background:var(--surface);color:var(--ink);font-size:14px;font-family:var(--font-text);box-shadow:var(--shadow-sm);appearance:none;border:none;border-radius:10px;padding:10px 12px}.field__input:focus{outline:2px solid var(--ink);outline-offset:0}.field-grid{flex-direction:column;display:flex}.field__textarea{resize:vertical;font-family:var(--font-text);line-height:1.4}.sheet__hint{color:var(--ink-3);margin:0 0 14px;font-size:13px}.sheet__hint--alert{color:#a85e00;background:#e5901029;border-radius:12px;padding:10px 14px;font-size:13.5px;font-weight:600;line-height:1.4}.refine-box{gap:8px;margin-bottom:14px;display:flex}.refine-box .field__input{flex:1;min-width:0}.refine-box__btn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-text);border-radius:10px;flex-shrink:0;padding:0 16px}.refine-box__btn:disabled{opacity:.6}.recog-item{background:var(--card);box-shadow:var(--shadow-sm);border:none;border-radius:14px;margin-bottom:10px;padding:10px}.recog-item__head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.recog-item__head .field__input{flex:1;min-width:0}.recog-item__remove{background:var(--code-bg);width:30px;height:30px;color:var(--ink-3);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;font-size:16px}.recog-grid5{flex-direction:column;gap:10px;display:flex}.recog-field{flex-direction:column;gap:6px;min-width:0;display:flex}.recog-field label{color:var(--ink-3);text-align:left;font-size:12px}.recog-field .field__input{text-align:left;padding:10px 12px;font-size:14px}@media (width<=380px){.scroll{gap:18px;padding-left:16px;padding-right:16px}.nutri-kcal{padding:18px 16px}.nutri-kcal__text b{font-size:30px}.nutri-macro{padding:12px 8px 10px}.nutri-macro__text b{font-size:18px}.nutri-macro__text span{font-size:11px}.cals{padding:18px 16px 16px}.cals-kcal__nums b{font-size:28px}.date-chip{width:48px}.row2>.card{padding:13px 13px 12px}.big-num,.page-h h1{font-size:21px}.weight-card .wh .now{font-size:26px}.cal-grid{gap:4px}}.payment-sheet{flex-direction:column;max-height:90%;display:flex}.payment-sheet__widget{min-height:400px}.payment-sheet__error{text-align:center;color:var(--ink-3);padding:24px 0;font-size:14px}.barcode-scanner{z-index:70;background:#000;justify-content:center;align-items:center;animation:.22s ease-out sheetOverlayFadeIn;display:flex;position:fixed;inset:0}.barcode-scanner__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.barcode-scanner__overlay{flex-direction:column;align-items:center;gap:18px;padding:0 24px;display:flex;position:relative}.barcode-scanner__frame{border:3px solid #fff;border-radius:16px;width:78vw;max-width:320px;height:140px;box-shadow:0 0 0 2000px #00000059}.barcode-scanner__hint{color:#fff;text-align:center;margin:0;font-size:14.5px;font-weight:500}.barcode-scanner__error{position:absolute;bottom:100px;left:24px;right:24px}.barcode-scanner__close{bottom:max(28px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;height:44px;font-size:15px;font-weight:600;font-family:var(--font-text);cursor:pointer;background:#ffffff29;border:none;border-radius:22px;align-items:center;gap:6px;padding:0 18px;display:flex;position:absolute;left:18px}.paywall{-webkit-overflow-scrolling:touch;letter-spacing:.03em;box-sizing:border-box;background:#fff;flex-direction:column;flex:1;max-height:100svh;display:flex;overflow-y:auto}.paywall__inner{flex-direction:column;flex:1;width:100%;max-width:480px;min-height:0;margin:0 auto;display:flex}.paywall__hero-wrap{flex:1;min-height:140px;position:relative;overflow:hidden}.paywall__hero-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.paywall__hero{text-align:left;background:linear-gradient(#0000 0%,#0000008c 100%);padding:24px;position:absolute;bottom:0;left:0;right:0}.paywall__hero h1{font-family:var(--font-display);letter-spacing:.01em;color:#fff;text-align:left;margin:0;font-size:28px;font-weight:700;line-height:1.2}.paywall__lead{color:var(--ink-2);letter-spacing:.03em;margin:0;font-size:15px;line-height:1.45}.paywall__benefits{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.paywall__benefit{text-align:left;color:var(--ink);background:var(--card);letter-spacing:.03em;box-shadow:var(--shadow-sm);border:none;border-radius:16px;justify-content:flex-start;align-items:center;gap:12px;padding:14px 16px;font-size:14.5px;line-height:1.35;display:flex}.paywall__benefit-text{text-align:left}.paywall__benefit-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-ink);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.paywall__checkout{box-shadow:var(--shadow);background:var(--card);border-radius:24px;padding:24px}.paywall__checkout-label{color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:600}.paywall__plans{flex-direction:column;gap:10px;margin-bottom:32px;display:flex}.paywall__plan{background:var(--card);width:100%;color:var(--ink);cursor:pointer;text-align:left;font-family:var(--font-text);box-shadow:var(--shadow-sm);border:none;border-radius:16px;flex-direction:column;padding:0;transition:box-shadow .15s;display:flex;position:relative;overflow:hidden}.paywall__plan--selected{box-shadow:0 0 0 2px var(--ink), var(--shadow-sm)}.paywall__plan-badge{letter-spacing:.06em;text-transform:uppercase;text-align:center;color:#fff;background:var(--ink);box-sizing:border-box;width:100%;padding:7px 16px;font-size:12px;font-weight:700;display:block}.paywall__plan-body{box-sizing:border-box;align-items:center;gap:12px;width:100%;min-height:66px;padding:14px 16px;display:flex}.paywall__plan-check{background:var(--surface);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s,box-shadow .15s;display:flex;box-shadow:inset 0 0 0 2px #d5d7dc}.paywall__plan-check.on{background:var(--ink);box-shadow:none}.paywall__plan-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.paywall__plan-name{letter-spacing:.01em;font-size:17px;font-weight:700}.paywall__plan-note{color:var(--ink-3);letter-spacing:.02em;font-size:14px}.paywall__plan-price{font-size:16px;font-weight:500;font-family:var(--font-display);letter-spacing:.01em;flex-shrink:0;align-items:baseline;gap:4px;display:flex}.paywall__plan-price-was{color:var(--ink-3);font-size:13px;text-decoration:line-through}.paywall__plan-price-unit{color:var(--ink-3);font-size:14px;font-weight:500}.paywall__submit{letter-spacing:.05em;border-radius:14px;padding:18px 24px;font-size:17px}.paywall__footnotes{flex-direction:column;margin-top:12px;display:flex}.paywall__footnote{text-align:center;color:var(--ink-3);letter-spacing:.02em;margin:0;font-size:12.5px}.paywall__legal{text-align:center;color:var(--ink-3);letter-spacing:.02em;margin:6px 0 0;font-size:12px}.paywall__legal a{color:var(--ink-3);text-decoration:underline}.onboarding--trial-intro{max-height:100dvh;overflow:hidden}.onboarding--trial-intro .onboarding__heading{flex-shrink:0}.onboarding--trial-intro .onboarding__content--trial-intro{-webkit-overflow-scrolling:touch;flex:1;justify-content:center;min-height:0;overflow-y:auto}.trial-intro__timeline{text-align:left;flex-direction:column;gap:0;width:100%;margin:0;padding:0;list-style:none;display:flex}.trial-intro__step{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:14px;display:grid}.trial-intro__step--last{padding-bottom:4px}.trial-intro__rail{flex-direction:column;align-items:center;min-height:100%;padding-top:4px;display:flex}.trial-intro__dot{background:var(--ink);border-radius:50%;flex-shrink:0;width:14px;height:14px}.trial-intro__line{background:var(--ink);border-radius:999px;flex:1;width:4px;min-height:48px;margin:4px 0}.trial-intro__tail{background:var(--line);border-radius:999px;width:4px;height:28px;margin-top:4px;position:relative}.trial-intro__tail:after{content:"";border-right:3px solid var(--line);border-bottom:3px solid var(--line);width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.trial-intro__copy{padding-bottom:24px}.trial-intro__step--last .trial-intro__copy{padding-bottom:8px}.trial-intro__step-title{color:var(--ink);letter-spacing:normal;margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.25}.trial-intro__step-text{color:var(--ink-2);letter-spacing:normal;margin:0;font-size:14px;line-height:1.45}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.toast{color:#fff;white-space:nowrap;z-index:80;cursor:pointer;background:#1c1e26eb;border-radius:14px;padding:12px 20px;font-size:14px;font-weight:500;animation:.28s cubic-bezier(.32,.72,0,1) toastSlideUp;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000003d}.wheel-picker{width:200px;position:relative}.wheel-picker__highlight{z-index:0;background:var(--surface);pointer-events:none;border-radius:12px;width:224px;position:absolute;left:50%;transform:translate(-50%)}.wheel-picker__list{z-index:1;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;height:100%;position:relative;overflow:hidden scroll;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.wheel-picker__list::-webkit-scrollbar{display:none}.wheel-picker__item{scroll-snap-align:center;font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink-3);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;font-size:20px;font-weight:500;line-height:1;transition:color .15s,font-size .15s;display:flex}.wheel-picker__item--center{color:var(--ink);font-size:28px;font-weight:700}.wheel-picker__unit{font-family:var(--font-text);color:var(--ink-3);font-size:14px;font-weight:500}.onboarding{min-height:100svh;padding:calc(env(safe-area-inset-top) + 20px) 32px calc(140px + env(safe-area-inset-bottom,0px));letter-spacing:.03em;box-sizing:border-box;background:var(--card);flex-direction:column;flex:1;display:flex}.onboarding--fixed-height{max-height:100dvh;overflow:hidden}.onboarding__content{flex-direction:column;flex:1;justify-content:center;align-items:stretch;width:100%;min-height:0;display:flex}.onboarding__content--top{justify-content:flex-start}.onboarding__header{align-items:center;gap:12px;width:100%;margin-bottom:24px;display:flex}.onboarding__header-spacer{flex-shrink:0;width:32px}.onboarding__dots{border-radius:2px;flex:1;gap:0;display:flex;overflow:hidden}.onboarding__dot{background:var(--line);flex:1;height:4px;transition:background .2s}.onboarding__dot.on{background:#000}.onboarding__body{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.onboarding__body--stretch{flex:1;min-height:0}.onboarding__icon{color:var(--accent);margin-bottom:16px}.onboarding__heading{text-align:left;width:100%}.onboarding__heading h1{font-family:var(--font-display);letter-spacing:.02em;box-sizing:border-box;width:100%;margin:0 0 8px;font-size:28px}.onboarding__subtitle{font-family:var(--font-text);opacity:.6;letter-spacing:normal;width:100%;margin:0;font-size:14px}.onboarding__choices{flex-direction:column;gap:10px;width:100%;margin-top:12px;display:flex}.onboarding__choice{width:100%;color:var(--ink);font-family:var(--font-text);letter-spacing:normal;cursor:pointer;text-align:left;background:#f7f8f8;border:none;border-radius:20px;align-items:center;gap:16px;padding:20px 22px;font-size:16.5px;font-weight:600;transition:background .15s,color .15s;display:flex}.onboarding__choice.on{background:var(--ink);color:#fff}.onboarding__choice-emoji{font-size:26px;line-height:1}.onboarding__error{color:var(--danger);letter-spacing:.03em;width:100%;margin-top:16px;font-size:14px}.onboarding__social-proof-illustration-crop{background:#f7f8f8;border-radius:16px;padding:32px 16px;overflow:hidden}.onboarding__social-proof{text-align:center;width:100%}.onboarding__social-proof-illustration{width:100%;display:block}.onboarding__social-proof-caption{font-family:var(--font-text);color:var(--ink-2);text-align:center;letter-spacing:normal;margin:20px 0 0;font-size:14px;line-height:1.5}.onboarding__loading{text-align:center;letter-spacing:normal;flex-direction:column;align-items:center;width:100%;display:flex}.onboarding__loading-percent{font-family:var(--font-display);color:var(--ink);margin:0 0 8px;font-size:48px}.onboarding__loading-title{font-family:var(--font-display);opacity:.7;color:var(--ink);margin:0 0 24px;font-size:16px}.onboarding__loading-bar{background:var(--line);border-radius:4px;width:100%;height:8px;margin-bottom:12px;overflow:hidden}.onboarding__loading-bar-fill{background:#000;border-radius:4px;height:100%}.onboarding__loading-status{font-family:var(--font-text);color:var(--ink-3);margin:0 0 24px;font-size:14px}.onboarding__loading-card{background:var(--card);box-sizing:border-box;text-align:left;border-radius:20px;width:100%;padding:18px 20px}.onboarding__loading-card-title{font-family:var(--font-text);color:var(--ink);margin:0 0 10px;font-size:14px;font-weight:600}.onboarding__loading-card-list{font-family:var(--font-text);color:var(--ink-2);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:14px;display:flex}.onboarding__result{text-align:left;flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.onboarding__result-section{flex-direction:column;gap:16px;width:100%;display:flex}.onboarding__result-section-title{font-size:16px;font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin-top:24px;margin-bottom:0;padding:0 2px;font-weight:400;line-height:1.25}.onboarding__result .goal-row{box-sizing:border-box;width:100%;margin-bottom:0}.onboarding__result .nutri-summary{width:100%}.onboarding__log-ways{letter-spacing:normal;flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.onboarding__log-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;width:100%;min-height:0;display:flex;overflow-x:auto}.onboarding__log-carousel::-webkit-scrollbar{display:none}.onboarding__log-slide{scroll-snap-align:center;scroll-snap-stop:always;text-align:center;flex-direction:column;flex:0 0 100%;align-items:center;min-height:0;margin-top:20px;display:flex}.onboarding__log-slide-media{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;margin-bottom:16px;display:flex;overflow:hidden}.onboarding__log-slide-image{object-fit:contain;border-radius:20px;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.onboarding__log-slide-caption{font-family:var(--font-display);opacity:.8;letter-spacing:normal;color:var(--ink);margin:0;font-size:16px}.onboarding__log-dots{justify-content:center;gap:8px;margin-top:20px;display:flex}.onboarding__log-dot{background:var(--line);border-radius:50%;width:8px;height:8px;transition:background .2s}.onboarding__log-dot.on{background:var(--ink)}.onboarding__pace{text-align:center;letter-spacing:normal;flex-direction:column;align-items:center;width:100%;display:flex}.onboarding__pace-label{font-family:var(--font-text);color:var(--ink-2);margin:0 0 8px;font-size:15px}.onboarding__pace-value{font-family:var(--font-display);color:var(--ink);margin:0 0 32px;font-size:40px}.onboarding__pace-slider-wrap{box-sizing:border-box;width:100%;padding:0 8px}.onboarding__pace-icons{justify-content:space-between;width:100%;margin-bottom:16px;display:flex}.onboarding__pace-icon-col{flex-direction:column;align-items:center;gap:6px;display:flex}.onboarding__pace-icon{opacity:.4;font-size:44px;line-height:1;transition:opacity .2s}.onboarding__pace-icon.on{opacity:1}.onboarding__pace-icon-label{font-family:var(--font-text);letter-spacing:normal;font-size:12px;font-weight:600}.onboarding__pace-icon-label--neutral{color:#000000b3}.onboarding__pace-icon-label--good{color:var(--good)}.onboarding__pace-icon-label--danger{color:var(--danger)}.onboarding__pace-slider{appearance:none;background:linear-gradient(to right, var(--ink) 0%, var(--ink) calc((var(--pace-percent,50%))), var(--line) calc((var(--pace-percent,50%))), var(--line) 100%);cursor:pointer;border-radius:6px;width:100%;height:4px;margin:0 0 12px}.onboarding__pace-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:13px;width:42px;height:26px;box-shadow:0 2px 8px #0000002e}.onboarding__pace-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:13px;width:42px;height:26px;box-shadow:0 2px 8px #0000002e}.onboarding__pace-scale{width:100%;font-family:var(--font-text);color:var(--ink-3);justify-content:space-between;margin-top:20px;font-size:14px;display:flex}.onboarding__footer{width:min(480px,100vw);padding:14px 32px calc(48px + env(safe-area-inset-bottom,0px));box-sizing:border-box;z-index:20;background:0 0;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.onboarding__next{letter-spacing:.05em;box-sizing:border-box;color:#fff;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#17181ce0;border:1px solid #ffffff26;border-radius:14px;width:100%;max-width:none;margin:0;padding:18px 24px;font-size:17px;font-weight:700;display:block;box-shadow:0 8px 24px #00000040}.onboarding__next:disabled{opacity:.4;cursor:not-allowed}.onboarding .sheet__back{-webkit-backdrop-filter:blur(12px)saturate(180%);background:#f4f4f5a6}.onboarding .wheel-picker{margin-top:12px}.onboarding .wheel-picker__item{letter-spacing:.02em}.onboarding .wheel-picker__item--center{letter-spacing:.03em}.onboarding--try-food-input{-webkit-overflow-scrolling:touch;min-height:100svh;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow-y:auto}.onboarding--try-food-input .onboarding__content--try-food{box-sizing:border-box;flex:1;justify-content:center;min-height:0;padding-bottom:0}.onboarding--try-food-input .onboarding__body:not(.onboarding__body--try-food-result){justify-content:center}.onboarding--try-food-result{min-height:0;max-height:100dvh;padding-top:calc(env(safe-area-inset-top) + 20px);padding-bottom:calc(120px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;flex:1;padding-left:0;padding-right:0;display:flex;overflow:hidden}.onboarding--try-food-result .onboarding__header{background:var(--card);box-sizing:border-box;flex-shrink:0;margin-bottom:16px;padding:0 32px;position:static}.onboarding--try-food-result .onboarding__content--try-food,.onboarding__content--try-food-result{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex:1;justify-content:flex-start;min-height:0;padding:0 32px 24px;overflow:hidden auto}.onboarding--try-food-loading-screen{padding:calc(env(safe-area-inset-top) + 20px) 32px calc(140px + env(safe-area-inset-bottom,0px))}.onboarding--try-food-result .onboarding__body--try-food-result,.onboarding__body--try-food-result{text-align:left;flex-direction:column;flex:none;align-items:stretch;width:100%;padding-bottom:0;display:flex;overflow:visible}.onboarding--try-food-result .food-detail-sheet--embedded,.onboarding__try-food-results .food-detail-sheet--embedded{flex:none;width:100%;min-height:auto;padding:0;overflow:visible}.onboarding__try-food-results{flex-direction:column;width:100%;display:flex}.onboarding__try-food-results-divider{background:var(--line);flex-shrink:0;height:1px;margin:12px 0}.onboarding__try-food{background:var(--card);width:100%;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;flex:none;display:flex;overflow:hidden}.onboarding__try-food-section{box-sizing:border-box;flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex}.onboarding__try-food-section-title{color:var(--ink);letter-spacing:-.01em;text-align:left;margin:0;padding:0 2px;font-size:15px;font-weight:700;line-height:1.25}.onboarding__try-food-input{background:var(--surface);resize:none;width:100%;min-height:108px;font-family:var(--font-text);color:var(--ink);box-sizing:border-box;border:none;border-radius:16px;padding:14px 16px;font-size:16px;line-height:1.45}.onboarding__try-food-input:focus{outline:none}.onboarding__try-food-input::placeholder{color:var(--ink-3)}.onboarding__try-food-submit{margin-top:4px}.onboarding__try-food-divider{background:#0000000f;flex-shrink:0;height:10px}.onboarding__try-food-photo-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.onboarding__try-food-action{background:var(--surface);width:100%;color:var(--ink);font-family:var(--font-text);cursor:pointer;box-sizing:border-box;border:none;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;padding:12px;transition:transform .15s,background .15s;display:flex}.onboarding__try-food-action:active{background:#ececef;transform:scale(.98)}.onboarding__try-food-action-icon{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.onboarding__try-food-action-label{letter-spacing:-.01em;font-size:15px;font-weight:600}.onboarding__try-food-loading{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;width:100%;min-height:280px;padding:24px;display:flex}.onboarding__try-food-loading-ring{justify-content:center;align-items:center;width:72px;height:72px;display:flex}.onboarding__try-food-loading-spinner{border:4px solid var(--line);border-top-color:var(--ink);border-radius:50%;width:56px;height:56px;animation:.9s linear infinite onboarding-try-food-spin}.onboarding__try-food-loading-line{font-family:var(--font-text);color:var(--ink);text-align:center;min-height:1.4em;margin:0;font-size:17px;font-weight:600;transition:opacity .25s}@keyframes onboarding-try-food-spin{to{transform:rotate(360deg)}}
