:root{color-scheme:light;--bg: #f7f7f5;--surface: #ffffff;--surface-soft: #edeeeb;--ink: #0a0b0a;--muted: #747770;--faint: #aaaca7;--line: #e2e3df;--accent: #0a0b0a;--accent-ink: #ffffff;--action: #b8ef45;--action-ink: #152000;--danger: #d94737;--success: #4fc978;--streak-fire: #ff8a2f;--streak-core: #ffd257;--protein: #ee6570;--carbs: #ed9d58;--fat: #65a3ed;--shadow: 0 16px 46px rgb(18 19 17 / 7%);-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;background:var(--bg);color:var(--ink)}:root[data-theme=dark]{color-scheme:dark;--bg: #29252e;--surface: #1d1922;--surface-soft: #363040;--ink: #fbfafc;--muted: #aaa4ae;--faint: #716b76;--line: #39333e;--accent: #ffffff;--accent-ink: #17141b;--danger: #ff7a7e;--success: #54d58a;--streak-fire: #ff963f;--streak-core: #ffd45c;--shadow: 0 18px 54px rgb(0 0 0 / 25%)}*{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:100vh;min-height:100dvh;background:var(--bg);color:var(--ink);overscroll-behavior:none}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(--accent) 72%,transparent);outline-offset:2px}.app-shell{width:min(100%,580px);min-height:100dvh;margin:0 auto;position:relative}.content{min-height:calc(100dvh - 72px - env(safe-area-inset-top));padding:0 18px calc(116px + env(safe-area-inset-bottom))}.topbar{height:calc(72px + env(safe-area-inset-top));padding:calc(14px + env(safe-area-inset-top)) 20px 10px;display:flex;align-items:center;justify-content:space-between}.topbar-actions{display:flex;align-items:center;gap:9px}.streak-badge{height:38px;min-width:61px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:19px;background:var(--ink);color:var(--bg)}.streak-badge svg{width:19px;height:19px;stroke-width:1.4;filter:drop-shadow(0 2px 5px color-mix(in srgb,var(--streak-fire) 42%,transparent))}.streak-badge svg path:first-child,.streak-count svg path:first-child{fill:var(--streak-fire);stroke:var(--streak-fire)}.streak-badge svg path:last-child,.streak-count svg path:last-child{fill:var(--streak-core);stroke:var(--streak-core)}.streak-badge strong{font-size:15px}.brand{display:inline-flex;align-items:center;gap:9px;font-size:18px;font-weight:760;letter-spacing:-.5px}.brand strong{font-weight:520;color:var(--muted)}.brand img{width:34px;height:34px;border-radius:11px;object-fit:cover}.brand--compact img{width:48px;height:48px;border-radius:15px}.avatar{width:38px;height:38px;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--ink);color:var(--bg);font-weight:750;font-size:15px}.avatar--large{width:58px;height:58px;font-size:22px}.avatar img{width:100%;height:100%;display:block;object-fit:cover}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 0 18px}.week-strip button{min-width:0;height:64px;padding:7px 1px;border:0;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--muted);cursor:pointer}.week-strip button span{text-transform:capitalize;font-size:10px}.week-strip button strong{width:34px;height:34px;position:relative;display:grid;place-items:center;border:0;border-radius:50%;color:var(--ink);font-size:13px}.week-strip button.is-active{background:var(--surface);box-shadow:var(--shadow);color:var(--ink)}.week-strip button.is-active strong{background:transparent;color:var(--ink)}.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.25;vector-effect:non-scaling-stroke}.week-day-ring__track{stroke:var(--line)}.week-day-ring__progress{stroke-linecap:round}.week-day-ring__progress--under{stroke:var(--success)}.week-day-ring__progress--over{stroke:var(--danger)}.week-day-ring__progress--current,.week-day-ring__progress--recorded{stroke:var(--ink)}.week-day-ring__value{position:relative;z-index:1}.week-strip button.week-day--empty strong{border:2px dashed var(--faint);color:var(--muted)}.week-strip button.week-day--empty .week-day-ring{display:none}.week-strip button:disabled{opacity:.35;cursor:default}.calorie-hero{padding:28px 24px 22px;border-radius:30px;background:var(--surface);box-shadow:var(--shadow)}.hero-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{display:block;margin-bottom:7px;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:760;color:var(--muted)}.calorie-hero h1,.screen-heading h1,.profile-head h1{margin:0;font-size:clamp(34px,10vw,49px);line-height:.98;letter-spacing:-.055em}.calorie-hero p{margin:8px 0 0;color:var(--muted);font-size:15px}.calorie-hero .hero-note{margin-top:22px;padding-top:15px;border-top:1px solid var(--line);font-size:13px}.calorie-ring{--progress: 0deg;width:93px;aspect-ratio:1;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--action) var(--progress),var(--surface-soft) 0)}.calorie-ring:before{content:"";position:absolute;inset:10px;border-radius:inherit;background:var(--surface)}.calorie-ring span{z-index:1;width:31px;aspect-ratio:1;display:grid;place-items:center;color:var(--ink)}.calorie-ring span svg{width:22px;height:22px}.calorie-ring span svg path:first-child{fill:currentColor;stroke:currentColor}.calorie-ring span svg path:last-child{fill:var(--surface);stroke:var(--surface)}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 4px}.macro-card{min-width:0;padding:14px 10px 12px;border-radius:20px;background:var(--surface);box-shadow:0 7px 22px #1213110a;text-align:left}.macro-card>strong{display:block;font-size:17px;white-space:nowrap;letter-spacing:-.025em}.macro-card>strong small{color:var(--muted);font-size:13px;font-weight:520}.macro-card>strong small.macro-unit-only{color:inherit;font-size:1em;font-weight:inherit}.macro-card>span{display:block;min-height:23px;margin-top:1px;color:var(--muted);font-size:10px;line-height:1.15}.macro-ring{--progress: 0deg;width:min(68px,100%);aspect-ratio:1;margin:11px auto 0;display:grid;place-items:center;position:relative;border-radius:50%;background:conic-gradient(var(--macro-color) var(--progress),var(--surface-soft) 0)}.macro-ring:before{content:"";position:absolute;inset:7px;border-radius:inherit;background:var(--surface)}.macro-ring b{z-index:1;width:29px;aspect-ratio:1;display:grid;place-items:center;color:var(--macro-color);font-style:normal}.macro-ring b svg{width:21px;height:21px}.macro-ring--protein{--macro-color: var(--protein)}.macro-ring--carbs{--macro-color: var(--carbs)}.macro-ring--fat{--macro-color: var(--fat)}.add-meal{width:100%;height:58px;border:0;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:9px;margin:14px 0 22px;background:var(--ink);color:var(--bg);font-size:17px;font-weight:720;cursor:pointer}.add-meal svg{width:21px}.add-meal:active,.button:active,.nav-add:active{transform:scale(.985)}.section{margin-top:24px}.section-title{display:flex;align-items:center;justify-content:space-between;padding:0 3px 10px}.section-title h2,.settings-card h2{margin:0;font-size:18px;letter-spacing:-.03em}.section-title span{color:var(--muted);font-size:13px}.meal-list{display:grid;gap:8px}.meal-row{width:100%;height:108px;border:0;border-radius:20px;padding:0 13px 0 0;overflow:hidden;display:grid;grid-template-columns:108px minmax(0,1fr);gap:13px;align-items:center;text-align:left;background:var(--surface);box-shadow:0 7px 22px #1213110a;cursor:pointer}.meal-photo{width:108px;height:108px;align-self:stretch;overflow:hidden;display:grid;place-items:center;border-radius:0;background:var(--surface-soft);color:var(--muted)}.meal-photo img{width:100%;height:100%;display:block;object-fit:cover}.meal-photo svg{width:22px}.meal-photo--empty{background:color-mix(in srgb,var(--surface-soft) 72%,var(--bg))}.meal-main{min-width:0}.meal-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.meal-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2;letter-spacing:-.015em;font-weight:620}.meal-title time{flex:0 0 auto;padding:0;background:transparent;color:var(--muted);font-size:10px;font-weight:560}.meal-calories{display:flex;align-items:center;gap:5px;margin-top:9px}.meal-calories svg{width:15px;height:15px;fill:currentColor;stroke-width:1.5}.meal-calories strong{font-size:18px;line-height:1;font-weight:760;letter-spacing:-.025em}.meal-macros{display:flex;align-items:center;gap:9px;margin-top:8px;overflow:hidden;white-space:nowrap;font-size:10px;font-weight:700}.meal-macros span{display:inline-flex;align-items:center;gap:2px}.meal-macros svg{width:11px;height:11px;flex:0 0 auto}.meal-macro--protein{color:var(--protein)}.meal-macro--carbs{color:var(--carbs)}.meal-macro--fat{color:var(--fat)}.empty-card{min-height:114px;display:flex;align-items:center;gap:14px;padding:17px;border-radius:24px;background:var(--surface)}.empty-card img{width:70px;height:70px;border-radius:20px;object-fit:cover}.empty-card strong{font-size:15px}.empty-card p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.job-list{display:grid;gap:8px;margin:18px 0 20px}.job{min-height:68px;display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:20px;background:var(--surface)}.job-dot{width:37px;height:37px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);font-weight:800}.job-dot:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);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:19px}.job-dot--photo{overflow:hidden;background:var(--surface-soft)}.job-dot--photo img{width:100%;height:100%;display:block;object-fit:cover}.job-dot--photo:after{right:2px;bottom:2px;box-shadow:0 0 0 2px var(--surface)}.job strong{font-size:14px}.job p{margin:3px 0 0;color:var(--muted);font-size:12px}.clarification-card{padding:17px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:24px;background:var(--surface);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 10%,transparent)}.clarification-head{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;align-items:center}.clarification-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:15px;background:var(--accent);color:var(--accent-ink)}.clarification-icon svg{width:22px;height:22px}.clarification-icon--photo{overflow:hidden;background:var(--surface-soft)}.clarification-icon--photo 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(--muted);font-size:10px;font-weight:720;text-transform:uppercase;letter-spacing:.055em}.clarification-head strong{margin-top:2px;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.clarification-head div>span{margin-top:3px;color:var(--muted);font-size:11px}.clarification-card h3{margin:18px 0 11px;font-size:18px;line-height:1.22;letter-spacing:-.025em}.clarification-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.clarification-options button,.clarification-other{min-height:46px;padding:9px 12px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:15px;background:var(--bg);color:var(--ink);font-size:12px;font-weight:680;cursor:pointer}.clarification-options button:disabled,.clarification-other:disabled,.clarification-dismiss:disabled{opacity:.48;cursor:default}.clarification-other{width:100%;margin-top:8px;border-style:dashed;background:transparent}.clarification-custom{margin-top:9px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.clarification-custom label span{display:block;margin:0 0 6px 3px;color:var(--muted);font-size:10px}.clarification-custom input{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:15px;background:var(--bg);color:var(--ink);outline:none}.clarification-custom .button{min-height:48px;padding-inline:18px}.clarification-dismiss{width:100%;min-height:46px;margin-top:8px;padding:9px 12px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:15px;background:transparent;color:var(--danger);font-size:12px;font-weight:680;cursor:pointer}@keyframes pulse{50%{opacity:.25;transform:scale(.72)}}.bottom-nav{position:fixed;z-index:30;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 24px),556px);height:70px;display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:10px;align-items:center}.bottom-nav-main{height:70px;padding:8px 10px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:35px;background:color-mix(in srgb,var(--surface) 91%,transparent);box-shadow:0 14px 42px #00000024;backdrop-filter:blur(22px) saturate(170%)}.bottom-nav button{min-width:0;height:50px;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;color:var(--muted);cursor:pointer}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button span{font-size:9px}.bottom-nav button.is-active{color:var(--ink)}.bottom-nav .nav-add{width:58px;height:58px;min-width:58px;min-height:58px;aspect-ratio:1;padding:0;justify-self:end;border-radius:50%;background:var(--action);color:var(--action-ink);box-shadow:0 10px 28px color-mix(in srgb,var(--action) 34%,transparent)}.bottom-nav .nav-add svg{width:25px}.screen-section{padding-top:20px}.screen-heading{padding:12px 4px 26px}.screen-heading h1{font-size:45px}.date-switcher{height:66px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:8px;border-radius:22px;background:var(--surface)}.date-switcher label{position:relative;text-align:center;font-weight:720;cursor:pointer}.date-switcher input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.icon-button{width:40px;height:40px;min-width:40px;min-height:40px;aspect-ratio:1;flex:0 0 40px;padding:0;border:0;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);cursor:pointer}.icon-button svg{width:20px}.date-switcher .icon-button svg{width:18px}.history-total{margin:12px 0 0;padding:20px;display:flex;justify-content:space-between;align-items:end;border-radius:23px;background:var(--ink);color:var(--bg)}.history-total strong{font-size:24px}.history-total span{font-size:11px;opacity:.7}.analytics-history{margin-top:30px}.analytics-title{padding-left:3px}.home-skeleton{height:330px}.skeleton-card{height:130px;margin-top:14px;border-radius:24px;background:linear-gradient(100deg,var(--surface) 20%,var(--surface-soft) 45%,var(--surface) 70%);background-size:240% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{to{background-position:-240% 0}}.progress-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.summary-card{min-height:178px;padding:20px 15px;border-radius:26px;background:var(--surface);box-shadow:var(--shadow)}.summary-card>span{color:var(--muted);font-size:12px}.summary-card>strong{display:block;margin-top:5px;font-size:28px;letter-spacing:-.04em}.weight-summary{display:flex;flex-direction:column}.weight-goal-line{margin-top:auto;padding-top:18px}.card-action{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;margin-top:12px;padding:0 8px 0 14px;border:0;border-radius:14px;background:var(--ink);color:var(--bg);font-size:13px;font-weight:700;cursor:pointer;transition:transform .12s}.card-action svg{width:16px;height:16px}.card-action:active{transform:scale(.98)}.weight-goal-line i{display:block;height:6px;margin-bottom:10px;border-radius:6px;background:var(--surface-soft);overflow:hidden}.weight-goal-line i:before{content:"";display:block;width:var(--fill, 0%);height:100%;border-radius:6px;background:var(--ink);transition:width .5s cubic-bezier(.2,.8,.3,1)}.weight-goal-line span{color:var(--muted);font-size:11px}.streak-card{display:flex;flex-direction:column}.streak-count{display:flex;align-items:center;gap:10px;margin-top:5px}.streak-count svg{width:34px;height:34px;flex:0 0 auto;stroke-width:1.5;filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--streak-fire) 30%,transparent))}.streak-count strong{color:var(--streak-fire);font-size:40px;line-height:1;letter-spacing:-.04em}.streak-unit{display:block;margin-top:7px;color:var(--streak-fire);font-size:11px;font-weight:720}.streak-week{width:100%;display:flex;justify-content:space-between;gap:2px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.streak-day{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px}.streak-day>span{font-size:10px;font-weight:760;color:var(--faint)}.streak-day>i{width:100%;max-width:17px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft)}.streak-day>i svg{width:10px;height:10px;stroke-width:3.2;color:var(--surface)}.streak-day.is-logged>span{color:var(--streak-fire)}.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(--streak-fire)}.streak-day.is-future>i{background:color-mix(in srgb,var(--surface-soft) 55%,transparent)}.progress-card{padding:22px 3px 4px}.progress-card h2{margin:0;font-size:20px;letter-spacing:-.03em}.progress-card>p{margin:5px 0 0;color:var(--muted);font-size:13px}.progress-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.goal-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:12px;white-space:nowrap}.goal-chip svg{width:13px;height:13px}.goal-chip b{color:var(--ink);font-weight:760}.metric-line{display:flex;align-items:baseline;gap:7px;margin-top:10px}.metric-line strong{font-size:36px;letter-spacing:-.045em;line-height:1}.metric-line em{color:var(--muted);font-size:13px;font-style:normal}.delta{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:740}.delta--up{color:var(--success)}.delta--down{color:var(--muted)}.chart-frame{position:relative;margin-top:16px}.chart-frame svg{display:block;width:100%;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.chart-axis{fill:var(--faint);font-size:9px;font-weight:640}.chart-target{stroke:var(--faint);stroke-width:1.4;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.chart-target-label{fill:var(--faint);font-size:9px;font-weight:700}.chart-line{fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-line--rest{stroke:color-mix(in srgb,var(--ink) 26%,transparent)}.chart-cursor{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;opacity:.45}.chart-dot{fill:var(--surface);stroke:var(--ink);stroke-width:3;vector-effect:non-scaling-stroke}.chart-bar{fill:var(--ink);opacity:.82;transition:opacity .15s}.chart-bar--over{fill:var(--danger)}.chart-bar.is-active{opacity:1}.chart-tooltip{position:absolute;top:2px;transform:translate(-50%);display:grid;gap:1px;padding:8px 11px;border-radius:13px;background:var(--ink);color:var(--bg);text-align:center;pointer-events:none;box-shadow:0 8px 22px #0000002e}.chart-tooltip strong{font-size:14px;letter-spacing:-.02em}.chart-tooltip span{opacity:.62;font-size:10px}.chart-frame--ghost{display:grid;place-items:center}.chart-frame--ghost svg{grid-area:1 / 1;opacity:.55}.chart-ghost-line{stroke:var(--line);stroke-width:2.4;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.chart-ghost-bar{fill:var(--surface-soft)}.chart-ghost-caption{grid-area:1 / 1;padding:7px 13px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;box-shadow:0 4px 14px #1213110f}.range-switch{display:flex;gap:3px;margin-top:12px;padding:3px;border-radius:15px;background:var(--surface-soft)}.range-switch button{flex:1;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:12px;font-weight:720;cursor:pointer;transition:background .18s,color .18s}.range-switch button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px #12131114}.praise{margin:12px 0 0;padding:11px 14px;border-radius:15px;font-size:12.5px;line-height:1.35}.praise--win{background:color-mix(in srgb,var(--success) 15%,transparent);color:color-mix(in srgb,var(--success) 78%,var(--ink));font-weight:660}.praise--hint{background:var(--surface-soft);color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.inline-form{margin-top:17px;padding:17px 3px 0;border-top:1px solid var(--line);scroll-margin-block-end:150px}.inline-form label>span{display:block;margin-bottom:8px;color:var(--muted);font-size:12px}.inline-form label>div{height:54px;display:flex;align-items:center;padding:0 15px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface)}.inline-form input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:19px;font-weight:700}.inline-form b{color:var(--muted);font-size:13px}.inline-form .button{margin-top:11px}.profile-head{display:flex;align-items:center;gap:15px;padding:8px 4px 25px}.profile-head h1{font-size:32px}.credit-row .settings-heading strong{font-size:34px;line-height:1;letter-spacing:-.05em}.credit-row p{margin:7px 0 0;color:var(--muted);font-size:12px}.settings-card{margin-top:22px;padding:20px 3px 0;border-top:1px solid var(--line)}.appearance-card h2{margin-bottom:15px}.segmented,.theme-picker{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}.segmented button,.theme-picker button{min-height:54px;min-width:0;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid var(--line);border-radius:17px;background:var(--surface-soft);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:background .16s,color .16s,border-color .16s,transform .12s}.segmented button span,.theme-picker button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented button svg,.theme-picker button svg{width:17px;height:17px;flex:0 0 auto;opacity:.75}.segmented button.is-active,.theme-picker button.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg);box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 14%,transparent)}.segmented button.is-active svg,.theme-picker button.is-active svg{opacity:1}.segmented button:active,.theme-picker button:active{transform:scale(.97)}.field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.metric-field{display:grid;gap:8px;text-align:center}.metric-field>span{color:var(--muted);font-size:11px}.metric-field input{width:100%;height:58px;padding:0 6px;border:1.5px solid var(--line);border-radius:17px;background:var(--surface);color:var(--ink);outline:0;text-align:center;font-size:20px;font-weight:760;letter-spacing:-.02em}.metric-field input:focus{border-color:var(--accent)}.estimate-note{margin-top:16px;padding:15px;border-radius:17px;background:var(--surface-soft);text-align:center}.estimate-note strong{display:block;font-size:22px;letter-spacing:-.03em}.estimate-note span{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.settings-heading{display:flex;justify-content:space-between;align-items:baseline}.settings-heading span{color:var(--muted);font-size:12px}.goal-input{display:flex;gap:9px;margin-top:14px}.goal-input input{min-width:0;flex:1;height:54px;padding:0 14px;border:1.5px solid var(--line);border-radius:15px;background:var(--surface);color:var(--ink);font-size:18px;font-weight:700}.goal-input button{width:104px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;border-radius:15px;background:var(--accent);color:var(--accent-ink);font-weight:700}.toggle-row{min-height:69px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);cursor:pointer}.toggle-row div{min-width:0}.toggle-row strong{display:block;font-size:14px}.toggle-row span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-row i{width:45px;height:27px;flex:0 0 auto;position:relative;border-radius:20px;background:var(--surface-soft);transition:.2s}.toggle-row i:after{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:var(--surface);box-shadow:0 2px 5px #00000026;transition:.2s}.toggle-row input:checked+i{background:var(--accent)}.toggle-row input:checked+i:after{transform:translate(18px);background:var(--accent-ink)}.field{display:block;margin-top:16px}.field>span{display:block;margin-bottom:8px;color:var(--muted);font-size:12px}.field input,.field textarea,.field select{width:100%;border:1.5px solid var(--line);border-radius:16px;padding:14px 15px;background:var(--surface);color:var(--ink);outline:0;resize:none}.field input,.field select{height:50px}.field textarea{line-height:1.45}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.picker-field>small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.35}.picker-trigger{width:100%;min-height:54px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.picker-trigger strong{min-width:0;font-size:14px;font-weight:620}.picker-trigger svg{width:17px;flex:0 0 auto;color:var(--faint)}.picker-sheet .sheet-head{align-items:center;margin-bottom:17px}.picker-list{overflow:hidden;border-radius:23px;background:var(--bg)}.picker-list button{width:100%;min-height:56px;padding:13px 16px;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:var(--ink);text-align:left;font-size:14px;cursor:pointer}.picker-list button:last-child{border-bottom:0}.picker-list button.is-active{font-weight:720}.picker-list button svg{width:18px;flex:0 0 auto}.settings-save{margin-top:18px}.notice{text-align:center;color:var(--muted);font-size:12px}.button{min-height:52px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:17px;font-weight:720;cursor:pointer;transition:transform .12s,opacity .12s}.button:disabled{opacity:.48;cursor:default}.button--dark{background:var(--ink);color:var(--bg)}.button--accent{background:var(--accent);color:var(--accent-ink)}.button--wide{width:100%;display:flex}.button--stop{background:var(--danger);color:#fff}.button--quiet{border:1.5px solid var(--line);background:var(--surface);color:var(--ink)}.text-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:var(--muted);cursor:pointer}.danger-button{width:100%;height:48px;border:0;display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:var(--danger);cursor:pointer}.danger-button svg{width:18px}.form-error{margin:12px 0 0;color:var(--danger);text-align:center;font-size:12px;line-height:1.4}@media(hover:hover)and (pointer:fine){.button:not(:disabled):hover,.add-meal:hover,.goal-input button:not(:disabled):hover{filter:brightness(1.08)}.bottom-nav .nav-add:hover{filter:brightness(1.08)}.icon-button:hover{background:color-mix(in srgb,var(--ink) 12%,var(--surface-soft))}.bottom-nav button:not(.nav-add):hover,.week-strip button:not(:disabled):hover{color:var(--ink)}.meal-row:hover,.add-options>button:not(:disabled):hover,.picker-list button:hover,.picker-trigger:hover{background:color-mix(in srgb,var(--ink) 4%,var(--surface))}.picker-trigger:hover{border-color:var(--line)}.toggle-row:hover strong{color:var(--ink)}.theme-picker button:not(.is-active):hover,.segmented button:not(.is-active):hover{color:var(--ink)}.clarification-options button:not(:disabled):hover,.clarification-other:not(:disabled):hover{border-color:var(--accent);background:color-mix(in srgb,var(--ink) 4%,var(--bg))}.clarification-dismiss:not(:disabled):hover{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.text-button:hover,.danger-button:hover{color:var(--ink)}.danger-button:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);border-radius:15px}.date-switcher label:hover{color:var(--muted)}}.overlay{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#00000061;backdrop-filter:blur(5px);animation:fadeIn .18s ease-out}.sheet{width:min(100%,580px);max-height:min(88dvh,760px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none;-ms-overflow-style:none;padding:9px 20px calc(22px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:var(--surface);box-shadow:0 -20px 60px #00000038;animation:slideUp .26s cubic-bezier(.2,.75,.25,1)}.sheet::-webkit-scrollbar{display:none;width:0;height:0}.sheet-handle{width:42px;height:5px;margin:0 auto 15px;border-radius:8px;background:var(--line)}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.sheet-head h2{margin:0;font-size:30px;line-height:1.05;letter-spacing:-.045em}.sheet-copy{margin:14px 0 19px;color:var(--muted);font-size:13px;line-height:1.45}.add-options{overflow:hidden;border-radius:23px;background:var(--bg)}.add-options>button{width:100%;min-height:78px;padding:12px;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:48px 1fr 18px;gap:12px;align-items:center;text-align:left;background:transparent;cursor:pointer}.add-options>button:last-child{border:0}.add-options>button>svg{width:18px;color:var(--faint)}.add-options strong,.add-options small{display:block}.add-options strong{font-size:15px}.add-options small{margin-top:4px;color:var(--muted);font-size:11px}.option-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--surface)}.option-icon--accent{background:var(--accent);color:var(--accent-ink)}.option-icon svg{width:23px}.caption-field{margin-top:13px}.uploading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;color:var(--muted);font-size:13px}.uploading .loader{width:21px;height:21px;border-width:2px;margin:0}.voice-recorder{padding:18px 0 0;text-align:center}.mic-orb{width:98px;height:98px;margin:6px auto 18px;display:grid;place-items:center;border-radius:35px;background:var(--bg);color:var(--ink)}.mic-orb svg{width:37px}.mic-orb.is-recording{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger);animation:recordPulse 1.4s infinite}.voice-recorder>strong{font-size:20px}.voice-recorder>p{margin:8px 0 22px;color:var(--muted);font-size:13px}.overlay--meal{align-items:stretch;background:var(--surface);backdrop-filter:none;animation:none}.meal-sheet{width:min(100%,580px);height:100dvh;max-height:none;padding:0;overflow-y:auto;border-radius:0;background:var(--surface);box-shadow:none;animation:none}.meal-detail-hero{height:clamp(320px,46dvh,440px);position:relative;display:grid;place-items:center;overflow:hidden;background:var(--surface-soft);color:var(--muted)}.meal-detail-hero:before{content:"";position:absolute;inset:-8%;background-image:var(--photo, none);background-size:cover;background-position:center;filter:blur(24px) saturate(1.25);opacity:.55}.meal-detail-hero>img{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:contain}.meal-detail-hero>svg{width:42px;height:42px}.meal-detail-hero .icon-button{position:absolute;z-index:2;top:18px;right:18px;background:#19161dad;color:#fff;backdrop-filter:blur(12px)}.meal-detail-content{position:relative;margin-top:-28px;padding:21px 20px calc(22px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:var(--surface)}.meal-detail-title time{display:inline-flex;padding:4px 8px;border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:10px}.meal-detail-title h2{margin:10px 0 0;font-size:26px;line-height:1.06;letter-spacing:-.04em}.detail-total{min-height:88px;margin-top:17px;padding:14px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center;border-radius:21px;background:var(--bg)}.detail-total-icon{width:52px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--ink) 7%,var(--surface))}.detail-total-icon svg{width:25px;height:25px;fill:currentColor}.detail-total span,.detail-total p{color:var(--muted);font-size:11px}.detail-total strong{display:block;margin-top:1px;font-size:29px;line-height:1;letter-spacing:-.035em}.detail-total p{margin:0;align-self:end}.detail-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.detail-macro{min-width:0;min-height:65px;padding:10px 8px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:16px}.detail-macro>svg{width:20px;height:20px;flex:0 0 auto}.detail-macro>span{min-width:0;color:var(--muted);font-size:9px}.detail-macro strong{display:block;margin-top:2px;color:var(--ink);font-size:14px;white-space:nowrap}.detail-macro--protein>svg{color:var(--protein)}.detail-macro--carbs>svg{color:var(--carbs)}.detail-macro--fat>svg{color:var(--fat)}.ingredient-heading{margin:25px 0 9px;font-size:18px;letter-spacing:-.025em}.ingredient-list{overflow:hidden;border-radius:18px;background:var(--bg)}.ingredient-list>div{padding:13px 14px;border-bottom:1px solid var(--line)}.ingredient-list>div:last-child{border-bottom:0}.ingredient-list>div>div{display:flex;justify-content:space-between;gap:15px}.ingredient-list strong{font-size:13px}.ingredient-list strong em{color:var(--muted);font-size:11px;font-style:normal;font-weight:520}.ingredient-list span,.ingredient-list small{color:var(--muted);font-size:11px}.ingredient-list small{display:block;margin-top:5px}.correction-form{margin-top:17px}.correction-form .field{margin-top:0}.correction-form .button{margin-top:12px}.meal-detail-error{margin:0;padding:0 20px 20px}.state-screen{width:min(100% - 40px,440px);min-height:100vh;min-height:100dvh;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 0}.state-screen .brand{margin-bottom:25px}.state-screen h1{margin:0 0 10px;font-size:28px;letter-spacing:-.04em}.state-screen p{margin:0 0 23px;color:var(--muted);line-height:1.45}.state-screen small{margin-top:15px;color:var(--faint)}.loader{width:32px;height:32px;margin-bottom:18px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(34px);opacity:.5}}@keyframes recordPulse{50%{transform:scale(.96);box-shadow:0 0 0 14px color-mix(in srgb,var(--danger) 6%,transparent)}}@media(max-width:390px){.content{padding-left:13px;padding-right:13px}.calorie-hero{padding:23px 19px 20px}.calorie-ring{width:82px}.macro-card{padding:12px 7px 10px}.macro-card strong{font-size:15px}.meal-row{height:104px;grid-template-columns:104px minmax(0,1fr);gap:10px;padding-right:10px}.meal-photo{width:104px;height:104px}.meal-macros{gap:7px;font-size:9px}.bottom-nav{width:calc(100% - 14px)}.bottom-nav button span{font-size:8px}.sheet:not(.meal-sheet){padding-left:16px;padding-right:16px}.meal-detail-content{padding-left:16px;padding-right:16px}.detail-macro{padding-left:6px;padding-right:6px;gap:5px}.detail-macro>svg{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.portion-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:20px}.portion-row button{min-height:46px;padding:0 6px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:15px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:620;cursor:pointer}.portion-row button:active{transform:scale(.97)}.portion-row button:disabled{opacity:.5}.ingredient-heading small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:0}.ingredient-list>div>div{align-items:center}.ingredient-list>div>div>strong{min-width:0}.gram-stepper{display:flex;align-items:center;gap:4px;flex:0 0 auto}.gram-stepper button{width:38px;height:38px;min-width:38px;padding:0;border:1.5px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink);cursor:pointer}.gram-stepper button svg{width:15px}.gram-stepper button:active{transform:scale(.94)}.gram-stepper button:disabled{opacity:.4}.gram-stepper b{min-width:52px;text-align:center;font-size:13px;font-weight:700}.gram-stepper .gram-remove{border-color:transparent;background:transparent;color:var(--faint)}.gram-stepper .gram-remove svg{width:16px}.template-button{width:100%;min-height:50px;margin-top:14px;padding:0 15px;display:flex;align-items:center;justify-content:center;gap:9px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:620;cursor:pointer}.template-button svg{width:17px;opacity:.7}.template-button:active{transform:scale(.98)}.template-saved{margin-top:14px;padding:13px 15px;display:flex;align-items:center;gap:9px;border-radius:16px;background:var(--surface-soft);color:var(--ink);font-size:12px;line-height:1.4}.template-saved svg{width:16px;flex:0 0 auto;color:var(--success)}.template-form{margin-top:6px}.template-form .button{margin-top:12px}.field>span em{margin-left:6px;color:var(--faint);font-style:normal;font-size:11px}.template-picker{margin-top:4px}.template-list{margin-top:14px;overflow:hidden;border-radius:20px;background:var(--bg)}.template-row{display:flex;align-items:center;gap:6px;padding-right:10px;border-bottom:1px solid var(--line)}.template-row:last-child{border-bottom:0}.template-row>button{flex:1;min-height:62px;padding:12px 6px 12px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.template-row>button:active{transform:scale(.99)}.template-row>button>div{min-width:0}.template-row strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-row span{display:block;margin-top:3px;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-row em{flex:0 0 auto;color:var(--faint);font-style:normal;font-size:11px}.template-row .icon-button{width:34px;height:34px;min-width:34px;min-height:34px;flex-basis:34px;background:transparent;color:var(--faint)}.template-row .icon-button svg{width:16px}.template-empty{margin-top:16px;color:var(--muted);font-size:13px;line-height:1.5}.product-flow{margin-top:4px}.product-summary{padding:15px 16px;border-radius:18px;background:var(--bg)}.product-summary strong{display:block;font-size:15px;letter-spacing:-.01em}.product-summary span{display:block;margin-top:5px;color:var(--muted);font-size:11px}.product-flow .portion-row{margin-top:12px}.portion-row button.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.product-total{margin:12px 0 14px;text-align:center;font-size:22px;font-weight:760;letter-spacing:-.03em}.scan-hint{display:flex;align-items:center;gap:13px;padding:16px;border-radius:18px;background:var(--bg)}.scan-hint p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.scan-hint .option-icon{flex:0 0 auto}.product-flow .button--wide{margin-top:14px}.catalog-note{margin-top:10px;color:var(--faint);font-size:11px;line-height:1.4}.card-note{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-style:normal}.projection-line{margin:4px 0 0;color:var(--muted);font-size:12px}.metric-switch{margin:10px 0 14px}.month-switcher{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 10px}.month-switcher span{font-size:13px;font-weight:620}.month-switcher .icon-button{width:34px;height:34px;min-width:34px;min-height:34px;flex-basis:34px}.month-switcher .icon-button svg{width:16px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.month-weekday{color:var(--faint);font-size:10px;text-align:center}.month-pad{aspect-ratio:1}.month-day{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;background:var(--bg);color:var(--muted);font-size:11px;font-weight:600}.month-day--under{background:color-mix(in srgb,var(--success) 22%,var(--bg));color:color-mix(in srgb,var(--success) 72%,var(--ink))}.month-day--over{background:color-mix(in srgb,var(--danger) 20%,var(--bg));color:color-mix(in srgb,var(--danger) 74%,var(--ink))}.month-day--recorded{background:var(--surface-soft);color:var(--ink)}.month-day--current{background:var(--ink);color:var(--bg)}.month-day--open{border:1.5px dashed var(--line);background:transparent}.month-day--empty{border:1.5px dashed var(--line);background:transparent;color:var(--faint)}.month-day--future{background:transparent;color:var(--faint);opacity:.5}.month-legend{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 0;color:var(--muted);font-size:11px}.month-legend span{display:inline-flex;align-items:center;gap:6px}.month-legend i{width:10px;height:10px;border-radius:3px}.month-legend .legend-under{background:color-mix(in srgb,var(--success) 45%,var(--bg))}.month-legend .legend-over{background:color-mix(in srgb,var(--danger) 40%,var(--bg))}.month-legend .legend-empty{border:1.5px dashed var(--line)}.meal-split{margin-top:14px}.meal-split-bar{display:flex;gap:3px;height:10px}.meal-split-bar i{border-radius:3px}.meal-split-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:9px;color:var(--muted);font-size:11px}.meal-split-legend span{display:inline-flex;align-items:center;gap:6px}.meal-split-legend i{width:9px;height:9px;border-radius:3px}.meal-split--breakfast{background:var(--ink)}.meal-split--lunch{background:color-mix(in srgb,var(--ink) 66%,var(--bg))}.meal-split--dinner{background:color-mix(in srgb,var(--ink) 42%,var(--bg))}.meal-split--snack{background:color-mix(in srgb,var(--ink) 26%,var(--bg))}.meal-split--meal{background:color-mix(in srgb,var(--ink) 16%,var(--bg))}.health-score{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 16px;border-radius:18px;background:var(--bg)}.health-score strong{flex:0 0 auto;font-size:26px;font-weight:780;letter-spacing:-.03em;line-height:1}.health-score strong small{margin-left:2px;font-size:13px;font-weight:620;color:var(--muted)}.health-score span{display:block;font-size:12px;font-weight:620}.health-score p{margin:3px 0 0;color:var(--muted);font-size:11.5px;line-height:1.4}.health-score--good strong{color:var(--success)}.health-score--fair strong{color:var(--streak-fire)}.health-score--poor strong{color:var(--danger)}.health-score--none strong{color:var(--faint)}.entry-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:18px}.entry-time{flex:0 0 auto;display:block}.entry-time span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}.entry-time input{height:42px;padding:0 10px;border:1.5px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:620}.entry-time input:focus{border-color:var(--accent);outline:0}.entry-types{flex:1 1 190px;min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:5px}.entry-types button{min-width:0;min-height:42px;padding:0 4px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:620;cursor:pointer}.entry-types button.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.entry-types button:active{transform:scale(.96)}.entry-types button:disabled{opacity:.5}.export-hint{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.export-button{margin-top:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink)}button.month-day{border:0;cursor:pointer;transition:transform .12s,box-shadow .12s}button.month-day:active{transform:scale(.88);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ink) 45%,transparent)}.plan-card{margin-top:16px;padding:17px 16px;border:1.5px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:22px;background:var(--surface)}.plan-card h3{margin:0;font-size:15px;letter-spacing:-.02em}.plan-card p{margin:8px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45}.plan-card p strong{color:var(--ink);font-weight:700}.plan-value{display:flex;align-items:baseline;gap:9px;margin-top:12px}.plan-value b{font-size:27px;line-height:1;letter-spacing:-.035em}.plan-value em{color:var(--faint);font-size:12px;font-style:normal;text-decoration:line-through}.plan-actions{display:grid;gap:8px;margin-top:14px}.plan-actions .button{min-height:46px}.camera{position:fixed;z-index:200;inset:0;display:flex;flex-direction:column;background:#000}.camera video{flex:1;min-height:0;width:100%;object-fit:cover;background:#000}.camera-bar{flex:0 0 auto;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;padding:18px 20px calc(22px + env(safe-area-inset-bottom));background:#000}.camera-shutter{width:72px;height:72px;justify-self:center;padding:0;border:4px solid rgb(255 255 255 / 80%);border-radius:50%;background:#fff;cursor:pointer;transition:transform .12s}.camera-shutter:active{transform:scale(.93)}.camera-shutter:disabled{opacity:.45;cursor:default}.camera .icon-button{background:#ffffff29;color:#fff}.camera-gallery{justify-self:end}.camera-hint{position:absolute;left:0;right:0;top:calc(16px + env(safe-area-inset-top));display:flex;justify-content:center;padding:0 20px;pointer-events:none}.camera-hint span{padding:7px 14px;border-radius:999px;background:#00000085;color:#fff;font-size:12px;text-align:center}.camera-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px 26px;color:#fff;text-align:center}.camera-error p{margin:0;font-size:14px;line-height:1.5;opacity:.82}.confirm-sheet h2{margin:0;font-size:23px;line-height:1.1;letter-spacing:-.035em}.confirm-sheet p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.confirm-actions{display:grid;gap:8px;margin-top:22px}.button--danger{background:var(--danger);color:#fff}.reminder-hour{margin-top:12px}.icon-flip{transform:rotate(180deg)}.estimate-capped{color:var(--ink);font-weight:620}.meal-row:active,.add-options>button:not(:disabled):active,.picker-list button:active,.picker-trigger:active,.clarification-options button:not(:disabled):active,.clarification-other:not(:disabled):active{background:color-mix(in srgb,var(--ink) 8%,var(--surface))}.clarification-dismiss:not(:disabled):active{background:color-mix(in srgb,var(--danger) 10%,transparent)}.icon-button:active,.week-strip button:not(:disabled):active,.bottom-nav button:active,.range-switch button:active{transform:scale(.94)}.text-button:active{opacity:.55}.danger-button:active{background:color-mix(in srgb,var(--danger) 10%,transparent);border-radius:15px}
