.weekly-digest-sheet .digest-intro{display:flex;align-items:center;gap:14px;margin:0 0 24px}.digest-symbol{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:16px;background:var(--accent-soft);color:var(--accent)}.digest-intro p{margin:0;color:var(--muted);font-size:14px;line-height:1.5;text-wrap:pretty}.digest-setting{display:flex;align-items:center;gap:16px;padding:17px 16px;border-radius:18px;background:var(--card-2)}.digest-setting>div{flex:1;min-width:0}.digest-setting b{display:block;font-size:15px;font-weight:650;line-height:1.4}.digest-setting div>span{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}.digest-switch{flex:none;position:relative;width:52px;height:44px;padding:0;border:0;border-radius:24px;background:transparent;color:var(--accent);box-shadow:none}.digest-switch:before{content:"";position:absolute;top:7px;right:0;bottom:7px;left:0;background:var(--line-strong,var(--muted));border-radius:20px;transition:background .18s ease}.digest-switch>span{position:absolute;top:10px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px #0003;transition:transform .18s ease}.digest-switch[aria-checked=true]:before{background:var(--accent)}.digest-switch[aria-checked=true]>span{transform:translate(22px);background:var(--on-accent,#fff)}.digest-switch:disabled{opacity:.55;cursor:wait}.digest-switch:focus-visible{outline:2px solid var(--text);outline-offset:3px}.digest-timezone{margin:9px 4px 24px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.digest-preview-label{margin:0 4px 10px;color:var(--muted);font-size:12px;font-weight:550}.digest-preview{padding:18px 18px 0;border-radius:22px;background:var(--card);border:1px solid var(--line);box-shadow:var(--surface-shadow,none);overflow:hidden}.digest-preview-heading{display:flex;justify-content:space-between;align-items:center;color:var(--accent);font-size:12px;font-weight:650;margin-bottom:15px}.digest-preview h3{margin:0;color:var(--text);font-size:21px;letter-spacing:-.4px;font-weight:700}.digest-period{margin:4px 0 18px;color:var(--muted);font-size:12px}.digest-facts{margin:0 0 18px;display:grid;gap:13px}.digest-facts>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.digest-facts dt{display:flex;align-items:center;gap:9px;font-size:14px;min-width:0}.digest-facts dt svg{flex:none;color:var(--muted)}.digest-facts dd{margin:0;flex-shrink:0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.digest-preview-open{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% + 36px);margin:0 -18px;padding:15px 12px;min-height:48px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;font-size:14px;font-weight:600;color:var(--accent)}.digest-note{margin:16px 4px 0;color:var(--muted);font-size:12px;line-height:1.55;text-wrap:pretty}@media(max-width:350px){.digest-setting{gap:10px;padding:14px 12px}.digest-preview{padding:15px 14px 0}.digest-facts dt,.digest-facts dd{font-size:13px}.digest-facts dt{gap:6px}.digest-preview-open{width:calc(100% + 28px);margin:0 -14px}}@media(prefers-reduced-motion:reduce){.digest-switch:before,.digest-switch>span{transition:none}}:root{--bg: #0c1014;--bg-2: #12181f;--card: #171e27;--card-2: #1d2631;--line: #2a3442;--text: #f3f6f9;--muted: #8b96a7;--accent: #ff8a4c;--accent-2: #ffd2b3;--good: #6fce9a;--protein: #6db3f2;--fat: #e8c36a;--carbs: #6fce9a;--warn: #f0b35a;--danger: #ef7b7b;--radius: 18px;--tg-safe-top: 0px;--tg-safe-bottom: 0px;--tg-viewport-stable-height: 100dvh;--safe-bottom: max(16px, env(safe-area-inset-bottom), var(--tg-safe-bottom));--safe-top: max(env(safe-area-inset-top), var(--tg-safe-top))}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;min-height:var(--tg-viewport-stable-height, 100dvh)}html,body{overflow:hidden}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#1b2430 0%,var(--bg) 55%);color:var(--text);font-family:Manrope,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{max-width:430px;margin:0 auto;min-height:100%;height:100%;overflow:auto;padding:calc(16px + var(--safe-top)) 16px calc(88px + var(--safe-bottom))}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.eyebrow{color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{margin:0}h1{font-size:28px;letter-spacing:-.03em}h2{font-size:18px}.card{background:linear-gradient(180deg,var(--card) 0%,#141b23 100%);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.hero-kcal{text-align:center;padding:22px 12px 10px}.hero-kcal .big{font-size:42px;font-weight:800;letter-spacing:-.04em;line-height:1}.hero-kcal .unit{color:var(--muted);margin-top:6px}.bar{height:10px;background:#243040;border-radius:99px;overflow:hidden;margin:16px 0 8px}.bar>span{display:block;height:100%;background:linear-gradient(90deg,#ff7a3c,#ffc08a);border-radius:99px}.macro{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;margin:10px 0;color:var(--muted)}.dot{width:8px;height:8px;border-radius:99px}.dot.p{background:var(--protein)}.dot.f{background:var(--fat)}.dot.c{background:var(--carbs)}.macro b{color:var(--text);font-weight:700}.remain{text-align:center;color:var(--accent-2);font-weight:700;margin-top:8px}.remain.over{color:#f0c674}.item-btn{width:100%;display:flex;justify-content:space-between;gap:8px;background:none;border:0;border-top:1px solid var(--line);padding:12px 0;text-align:left}.item-btn .meta{display:block;color:var(--muted);font-size:13px}.search-row{display:grid;grid-template-columns:1fr 48px;gap:8px;align-items:stretch;margin-bottom:8px}.search-row .choice{margin:0}.plus{border:1px solid var(--line);background:var(--card-2);border-radius:14px;font-size:22px;font-weight:800}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;align-items:end;z-index:20}.sheet-card{background:#171e27;border-radius:20px 20px 0 0;padding:18px 16px calc(20px + var(--safe-bottom));display:grid;gap:8px}.btn{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;padding:14px 16px;background:linear-gradient(180deg,#ff9a5f,#ff7a3c);color:#2a1408;font-weight:800}.btn.secondary{background:var(--card-2);color:var(--text);border:1px solid var(--line);font-weight:600}.btn.ghost{background:transparent;color:var(--muted);border:1px dashed var(--line)}.area{width:100%;margin:8px 0 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;outline:none;resize:vertical}.area:focus{border-color:var(--accent)}.scanner{margin:8px 0 12px}.scanner-stage{position:relative;width:100%;aspect-ratio:3 / 4;max-height:58vh;overflow:hidden;border-radius:18px;background:#05070a}.scanner-video{width:100%;height:100%;object-fit:cover;display:block}.scanner-canvas{display:none}.scanner-mask{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 22%,transparent 78%,rgba(0,0,0,.4) 100%)}.scanner-roi{pointer-events:none;position:absolute;left:10%;top:30%;width:80%;height:36%;border:2px solid #ff8a4c;border-radius:14px;box-shadow:0 0 0 999px #00000061}.scanner-hint{text-align:center;color:var(--muted);margin:10px 0 6px}.scanner-tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}.scanner-chip{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:8px 12px}.scanner-chip.on{border-color:var(--accent);color:var(--accent)}.scanner-debug{font-size:11px;background:#0a0d12;border:1px solid var(--line);border-radius:10px;padding:8px;overflow:auto;color:#9ad}.btn.warn{background:#3a2c18;color:#ffd9a0;border:1px solid #5a4424}.row-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nav{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(430px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:#0c1014eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 8px max(8px,var(--safe-bottom))}.nav a{text-align:center;color:var(--muted);font-size:11px;font-weight:600;padding:8px 4px;border-radius:12px}.nav a.active{color:var(--accent);background:#24180f}.nav .ico{display:block;font-size:18px;margin-bottom:2px}.choice{width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:8px}.choice.active{border-color:var(--accent);background:#24180f}.choice small{display:block;color:var(--muted);margin-top:4px}label.field{display:block;margin:12px 0;color:var(--muted);font-size:13px}input[type=number],input[type=text],input[type=search]{width:100%;margin-top:6px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;outline:none}input:focus{border-color:var(--accent)}label.field input:not([type=checkbox]){display:block;width:100%;min-width:0;min-height:48px;margin-top:7px;padding:12px 14px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;outline:none}label.field input:focus{border-color:var(--accent)}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.btn:disabled{opacity:.46;cursor:not-allowed}.warn-box,.note{background:#2a2214;border:1px solid #5a4424;color:#f3d7a4;border-radius:14px;padding:12px;font-size:14px;margin:10px 0}.note{background:#151c24;border-color:var(--line);color:var(--muted)}.check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;color:var(--muted);font-size:14px}.meal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.item{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.item b{display:block}.item .meta{color:var(--muted);font-size:13px}.item .right{text-align:right;white-space:nowrap}.item .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.linkish{background:none;border:0;color:var(--accent);padding:0;font-size:13px}.search-result{width:100%;text-align:left}.stepper{display:flex;gap:8px;margin-bottom:16px}.stepper i{flex:1;height:4px;border-radius:99px;background:#2a3442}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px}.stat span{color:var(--muted);font-size:12px}.stat b{display:block;font-size:20px;margin-top:4px}.date-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.date-nav button{background:var(--card);border:1px solid var(--line);border-radius:12px;width:40px;height:40px}.pills{display:flex;gap:6px;overflow:auto;margin:8px 0 12px}.pills button{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:8px 12px;white-space:nowrap}.pills button.on{border-color:var(--accent);color:var(--accent)}.muted{color:var(--muted)}.error{color:var(--danger);font-size:14px;margin:8px 0}.empty{color:var(--muted);text-align:center;padding:20px 8px}.profile-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.profile-row span{color:var(--muted)}.qty{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:center}.qty button{height:48px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-size:22px}.loader{height:100%;display:grid;place-items:center;color:var(--muted)}.chart{width:100%;height:160px}.disclaimer{font-size:13px;color:var(--muted);text-align:center;margin-top:10px}.app:has(.photo-analysis){padding-bottom:calc(112px + var(--safe-bottom))}.app:has(.photo-analysis) .nav{display:none}.photo-analysis{min-width:0}.photo-top{display:flex;align-items:center;gap:12px;margin:0 0 22px}.photo-top h1{font-size:23px;line-height:1.2}.photo-eyebrow{display:block;color:var(--muted);font-size:12px;margin-bottom:2px}.photo-back{flex:none;width:42px;height:42px;border:0;border-radius:14px;background:var(--card);color:var(--text);font-size:32px;line-height:36px}.photo-thread{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.photo-message.mine{align-self:flex-end;width:min(62%,220px)}.photo-message.mine img{display:block;width:100%;max-height:210px;object-fit:cover;border-radius:18px 18px 5px}.photo-message.assistant{display:flex;align-items:flex-start;gap:8px;max-width:95%}.photo-ai-avatar{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#422819;color:var(--accent);font-size:17px}.photo-message.assistant p{margin:0;padding:11px 14px;border-radius:5px 16px 16px;background:var(--card);color:var(--text);font-size:14px;line-height:1.45}.photo-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.photo-section-title h2{font-size:19px}.photo-section-title span{color:var(--muted);font-size:12px}.photo-dishes{border-top:1px solid var(--line)}.photo-dish{padding:16px 0 17px;border-bottom:1px solid var(--line)}.photo-dish.is-unselected .photo-dish-copy,.photo-dish.is-unselected .photo-dish-meta{opacity:.67}.photo-dish-top{display:flex;align-items:flex-start;gap:11px;min-width:0}.photo-dish-copy{flex:1;min-width:0;padding-top:2px}.photo-dish-copy h3{font-size:16px;line-height:1.3;overflow-wrap:anywhere}.photo-dish-copy p{color:var(--muted);font-size:13px;line-height:1.4;margin:4px 0 0;overflow-wrap:anywhere}.photo-select{flex:none;width:31px;height:31px;border:1px solid #66707d;border-radius:11px;background:transparent;color:var(--text);font-size:19px;line-height:26px}.photo-select.is-selected{border-color:var(--accent);background:var(--accent);color:#241309;font-weight:800}.photo-remove{flex:none;width:36px;height:36px;margin:-4px -4px 0 0;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:25px;line-height:1}.photo-remove:active,.photo-ingredient-remove:active{color:var(--danger);background:#3b2529}.photo-dish-meta{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin:14px 0 11px;font-size:13px;color:var(--muted)}.photo-dish-meta strong{color:var(--text);font-size:15px;white-space:nowrap}.photo-unresolved{margin:0 0 10px;color:var(--warn);font-size:12px;line-height:1.4}.photo-dish-actions{display:flex;gap:8px}.photo-dish-actions button{min-height:40px;padding:8px 12px;border:0;border-radius:12px;background:#242d38;color:#e8edf3;font-size:12px;font-weight:700}.photo-dish-actions button:active{background:#344151}.photo-empty{margin:18px 0;color:var(--muted);font-size:14px}.photo-add{display:flex;align-items:center;gap:9px;width:100%;min-height:48px;margin:14px 0 24px;padding:8px 4px;border:0;background:transparent;color:var(--accent);text-align:left;font-size:14px;font-weight:800}.photo-add span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #6b4735;border-radius:10px;font-size:21px;font-weight:400}.photo-meal{margin-bottom:22px}.photo-meal>span{display:block;margin-bottom:10px;color:var(--muted);font-size:12px}.photo-meal-pills{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.photo-meal-pills::-webkit-scrollbar{display:none}.photo-meal-pills button{flex:none;min-height:37px;padding:7px 12px;border:1px solid var(--line);border-radius:99px;background:var(--card);color:var(--muted);font-size:12px}.photo-meal-pills button.active{border-color:#9f603c;background:#352116;color:var(--accent-2)}.photo-summary{padding:17px 0 0;border-top:1px solid var(--line)}.photo-summary div{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.photo-summary div span{font-size:15px;font-weight:800}.photo-summary strong{font-size:24px;letter-spacing:-.03em}.photo-summary p{margin:4px 0 0;color:var(--muted);font-size:13px}.photo-error{margin-top:12px}.photo-footer{position:fixed;z-index:9;left:50%;bottom:0;transform:translate(-50%);width:min(430px,100%);padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);background:#0c1014f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.photo-confirm,.photo-sheet-done{display:block;width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:15px;background:linear-gradient(180deg,#ff9a5f,#ff7a3c);color:#2a1408;font-weight:800}.photo-confirm:disabled{opacity:.45;cursor:default}.photo-overlay{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#020508ad}.photo-sheet{width:min(430px,100%);max-height:min(86dvh,740px);display:flex;flex-direction:column;padding:0 16px calc(16px + var(--safe-bottom));border-radius:24px 24px 0 0;background:#1a222c;box-shadow:0 -14px 50px #00000059;overflow-y:auto;overscroll-behavior:contain}.photo-sheet-handle{flex:none;align-self:center;width:34px;height:4px;margin:9px 0 16px;border-radius:9px;background:#596473}.photo-sheet-head{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.photo-sheet-head h2{font-size:20px}.photo-sheet-head button{width:36px;height:36px;border:0;border-radius:12px;background:#29323d;color:var(--muted);font-size:24px}.photo-portion-editor>p{margin:0 0 16px;color:var(--muted)}.photo-portion-controls{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:10px;align-items:stretch}.photo-portion-controls>button{border:0;border-radius:14px;background:#2b3643;font-size:27px}.photo-portion-controls label{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:0 8px;border:1px solid #526071;border-radius:14px;background:#111820}.photo-portion-controls input{width:min(100%,90px);margin:0;padding:12px 0;border:0;background:transparent;text-align:right;font-size:24px;font-weight:800;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.photo-portion-controls input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.photo-portion-controls label span{color:var(--muted)}.photo-portion-preview{margin:17px 0 23px;text-align:center;color:var(--accent-2);font-size:14px}.photo-sheet-done{position:sticky;bottom:0;flex:none;box-shadow:0 -8px #1a222c}.photo-rename{display:block;color:var(--muted);font-size:12px}.photo-rename input{width:100%;margin-top:7px;padding:12px 14px;border:1px solid #526071;border-radius:13px;outline:none;background:#111820;font-size:15px}.photo-sheet-hint{margin:22px 0 8px;font-size:13px;color:var(--muted)}.photo-ingredient{display:flex;align-items:center;gap:8px;min-height:48px;border-bottom:1px solid var(--line)}.photo-ingredient-name{flex:1;min-width:0;padding:12px 0;border:0;background:transparent;text-align:left;font-size:14px}.photo-ingredient-name span{display:block;overflow-wrap:anywhere}.photo-ingredient-name small{display:block;margin-top:2px;color:var(--warn)}.photo-ingredient-remove{flex:none;width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:23px}.photo-add.compact{margin:7px 0 13px}.photo-replace-all{width:100%;padding:13px;margin-bottom:20px;border:0;border-radius:13px;background:#2b3643;color:var(--text);font-size:13px}.photo-search{min-height:180px}.photo-search-field{display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid #526071;border-radius:14px;background:#111820}.photo-search-field span{color:var(--muted);font-size:24px}.photo-search-field input{width:100%;min-height:49px;margin:0;padding:0;border:0;outline:0;background:transparent;font-size:16px}.photo-search-results{margin-top:10px;overflow-y:auto}.photo-search-results>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;padding:10px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font-size:14px}.photo-search-results>button>span{flex:1;min-width:0;overflow-wrap:anywhere}.photo-search-results small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:400}.photo-search-results strong{flex:none;font-size:12px;white-space:nowrap}.photo-search-results strong small{display:inline}.photo-search-state{color:var(--muted);text-align:center;font-size:13px;padding:24px 8px}@media(max-width:350px){.photo-dish-actions button{padding:8px 9px;font-size:11px}.photo-dish-meta{font-size:12px}}:root{--bg: #0d1217;--bg-2: #151c24;--card: #18212b;--card-2: #222d39;--line: #303a46;--muted: #a0acb8}body{background:#0d1217}.app{padding:calc(22px + var(--safe-top)) 16px calc(105px + var(--safe-bottom));scrollbar-width:none}.app::-webkit-scrollbar{display:none}.page-head{margin:0 0 22px}.page-head .eyebrow{display:block;margin-bottom:5px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.1em}.page-head h1{font-size:clamp(25px,7vw,31px);line-height:1.15}.page-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.card{background:var(--card);border-color:transparent;border-radius:20px}.btn{min-height:50px;border-radius:15px}.btn.secondary{background:var(--card-2);border-color:transparent}.btn.ghost{border:0;color:var(--muted)}.choice{min-height:56px;border-color:transparent;background:var(--card)}.choice.active{border-color:#b66b40}.pills{gap:8px;scrollbar-width:none}.pills::-webkit-scrollbar{display:none}.pills button{min-height:42px;padding:9px 14px;border-color:transparent;background:var(--card);font-size:13px}.pills button.on{border-color:#a96741;background:#39251a;color:var(--accent-2)}input[type=number],input[type=text],input[type=search],.area{min-height:50px;border-color:#46515f;background:#151d26;font-size:16px}input:focus,.area:focus{border-color:var(--accent)}.sheet{z-index:25;align-items:end;justify-items:center;background:#020508b3}.sheet-card{width:min(430px,100%);max-height:88dvh;overflow:auto;border-radius:24px 24px 0 0;background:#1a222c;padding:18px 16px calc(20px + var(--safe-bottom))}.sheet-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.sheet-title h2{font-size:20px;overflow-wrap:anywhere}.sheet-title button{width:38px;height:38px;flex:none;border:0;border-radius:12px;background:#293542;color:var(--muted);font-size:24px}.nav{width:min(430px,100%);padding:7px 9px max(7px,var(--safe-bottom));background:#0f141af5;border-color:#303a46;z-index:8}.nav a{min-height:51px;display:grid;place-items:center;align-content:center;gap:2px;padding:4px;font-size:10px}.nav a svg{display:block}.nav a.active{background:#352319;color:#ffae7c}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 12px}.section-heading h2{font-size:19px}.section-heading span,.section-heading button{color:var(--muted);font-size:12px}.section-heading button{border:0;background:none;color:var(--accent)}.retry-line button{margin-left:8px;border:0;background:none;color:var(--accent);font-weight:700}.loader.inline{height:auto;min-height:100px}.form-intro{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.5}.form-label{display:block;margin:18px 0 10px;color:var(--muted);font-size:12px}.form-grid,.select-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .field{min-width:0}.select-grid button{min-height:54px;border:1px solid transparent;border-radius:15px;background:var(--card)}.select-grid button.active,.select-list button.active{border-color:#c17547;background:#352318;color:var(--accent-2)}.select-list{display:grid;gap:9px}.select-list button{width:100%;min-height:58px;padding:13px 14px;border:1px solid transparent;border-radius:16px;background:var(--card);text-align:left}.select-list small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}.calorie-hero{padding:22px 20px 18px;border-radius:24px;background:linear-gradient(155deg,#303029,#232a2e 47%,#19232b)}.hero-label{color:#d4d7d6;font-size:13px}.hero-amount{margin:5px 0 18px;font-size:clamp(41px,12vw,56px);font-weight:800;letter-spacing:-.055em;line-height:1.05}.hero-amount small{margin-left:7px;color:#c1c5c6;font-size:17px;font-weight:600;letter-spacing:0}.hero-track{height:8px;border-radius:99px;background:#39434b;overflow:hidden}.hero-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8a4c,#ffc08a);transition:width .45s ease}.hero-legend{display:flex;justify-content:space-between;gap:10px;margin:8px 0 18px;color:#bec4c8;font-size:11px}.hero-macros{display:flex;justify-content:space-between;gap:4px;padding-top:14px;border-top:1px solid #495058}.hero-macros span{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.hero-macros i{display:inline-block;flex:none}.today-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 25px}.today-actions button{min-height:70px;display:grid;place-items:center;align-content:center;gap:5px;padding:8px 2px;border:0;border-radius:17px;background:var(--card);font-size:11px;font-weight:700}.today-actions span{font-size:22px;line-height:1;color:var(--accent);font-weight:400}.day-meals{margin-top:28px}.meal-section{padding:14px 0 12px;border-top:1px solid var(--line)}.meal-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.meal-section-head h3{font-size:15px}.meal-section-head span{color:var(--muted);font-size:12px}.meal-food{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:56px;padding:9px 0;border:0;border-bottom:1px solid #27313b;background:none;text-align:left}.meal-food>span{min-width:0}.meal-food b{display:block;font-size:14px;overflow-wrap:anywhere}.meal-food small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3;overflow-wrap:anywhere}.meal-food strong{flex:none;font-size:12px;white-space:nowrap}.meal-add{min-height:44px;padding:8px 0;border:0;background:none;color:var(--accent);font-size:13px;font-weight:800}.food-sheet{gap:10px}.food-sheet-total{margin:0 0 8px;font-size:16px;font-weight:800}.food-sheet-total span{color:var(--muted);font-size:13px;font-weight:400}.food-sheet-ingredients{max-height:32dvh;overflow:auto}.food-sheet-ingredients button{width:100%;min-height:50px;display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:13px}.food-sheet-ingredients button span:last-child{color:var(--accent);white-space:nowrap}.food-sheet-ingredients small{display:block;margin-top:2px;color:var(--muted)}.food-sheet-move>span{color:var(--muted);font-size:12px}.food-sheet-move .pills{margin-bottom:0}.food-delete,.food-sheet-confirm button{min-height:44px;border:0;background:none;color:var(--danger);text-align:left;font-size:13px}.food-sheet-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--text);font-size:13px}.food-sheet-confirm button:last-child{color:var(--muted)}.water-panel{position:relative;overflow:hidden;padding:17px 17px 7px;border-radius:20px;background:linear-gradient(150deg,#1b2b36,#18242e)}.water-head,.water-head>div{display:flex;align-items:center;gap:11px}.water-head{justify-content:space-between}.water-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:14px;background:#294659;color:#9bd8fa;font-size:25px}.water-head h2{font-size:16px}.water-head p{margin:2px 0 0;color:#a7b8c4;font-size:12px}.water-head>strong{color:#9bd8fa;font-size:17px}.water-track{position:relative;height:9px;margin:17px 0 15px;overflow:hidden;border-radius:99px;background:#30404d}.water-track span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#48a8df,#9edffe);transition:width .55s cubic-bezier(.2,.8,.2,1)}.water-track span:after{content:"";position:absolute;top:0;right:0;bottom:50%;left:0;border-radius:99px;background:#ffffff2e}.water-actions{display:grid;grid-template-columns:1fr 1fr .9fr;gap:7px}.water-actions button{min-height:43px;padding:8px 5px;border:0;border-radius:12px;background:#2e5064;color:#d9f3ff;font-size:12px;font-weight:800;white-space:nowrap}.water-actions .water-other{background:#293c4a;color:#b6c9d5;font-weight:600}.water-details-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;margin-top:6px;padding:7px 2px 0;border:0;background:none;color:#9fb6c3;font-size:12px;text-align:left}.water-details-toggle span{font-size:18px}.water-details{border-top:1px solid #365064;padding-bottom:10px}.water-details>p{margin:15px 0;color:#9fb6c3;font-size:13px}.water-entry{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;border-bottom:1px solid #304554;font-size:13px}.water-entry>div{display:flex;gap:8px;align-items:center}.water-entry button{min-height:44px;border:0;background:none;color:#9bd8fa;font-size:12px}.water-entry .water-delete{min-width:44px;color:var(--muted);font-size:22px}.water-goal-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:8px 0;border:0;background:none;color:#c5d9e5;font-size:13px;text-align:left}.water-goal-button span{color:#9bd8fa;white-space:nowrap}.water-bump{position:absolute;top:9px;right:38px;color:#a6eaff;font-size:12px;font-weight:800;pointer-events:none;animation:water-bump .75s ease-out forwards}@keyframes water-bump{0%{opacity:0;transform:translateY(13px) scale(.8)}35%{opacity:1;transform:translateY(-4px) scale(1)}to{opacity:0;transform:translateY(-23px)}}.water-editor{gap:12px}.diary-date{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.diary-date button{flex:none;width:44px;height:44px;border:0;border-radius:14px;background:var(--card);font-size:26px}.diary-date div{text-align:center}.diary-date b,.diary-date small{display:block}.diary-date b{font-size:16px}.diary-date small{margin-top:2px;color:var(--muted);font-size:11px}.diary-overview{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:18px;padding:13px 0;border-top:1px solid var(--line)}.diary-overview strong{font-size:22px;white-space:nowrap}.diary-overview small{font-size:12px;font-weight:400}.diary-overview>span{color:var(--muted);font-size:11px;text-align:right}.diary-repeat{width:100%;min-height:46px;margin-top:16px;border:0;border-radius:14px;background:var(--card-2);color:var(--text);font-weight:700}.add-hub .meal-picker{margin:0 0 18px}.add-methods{display:grid;gap:8px}.add-method{display:flex;align-items:center;gap:12px;width:100%;min-height:70px;padding:11px 15px;border:0;border-radius:17px;background:var(--card);text-align:left}.add-method.featured{background:linear-gradient(110deg,#382820,#2b2a2a)}.method-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;background:#33404b;color:var(--accent);font-size:24px}.add-method.featured .method-icon{background:#5a3623}.add-method>span:nth-child(2){flex:1;min-width:0}.add-method b,.add-method small{display:block}.add-method b{font-size:14px}.add-method small{margin-top:2px;color:var(--muted);font-size:11px}.add-method i{color:var(--muted);font-style:normal;font-size:24px}.small-empty{font-size:13px}.text-action{width:100%;min-height:48px;margin-top:10px;border:0;background:none;color:var(--accent);text-align:left;font-weight:800}.photo-upload{display:grid;place-items:center;align-content:center;gap:7px;min-height:215px;margin:18px 0 14px;padding:20px;border:1px dashed #986a50;border-radius:22px;background:#241d1a;text-align:center;cursor:pointer}.photo-upload>span{display:grid;place-items:center;width:60px;height:60px;border-radius:19px;background:#50301e;color:var(--accent);font-size:32px}.photo-upload b{font-size:15px}.photo-upload small{color:var(--muted);font-size:12px}.photo-upload input{display:none}.upload-loading{color:var(--accent-2);font-size:13px}.flow-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.flow-head>div{min-width:0}.flow-head .eyebrow{display:block;margin:3px 0;color:var(--accent);font-size:11px;letter-spacing:.08em}.flow-head h1{font-size:24px;line-height:1.18;overflow-wrap:anywhere}.flow-head p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.flow-back{width:44px;height:44px;flex:none;border:0;border-radius:14px;background:var(--card);font-size:30px}.add-flow .area{min-height:125px}.food-search>input[type=search]{margin:4px 0 15px}.food-search .pills{margin-top:12px}.food-search .search-row .choice{border-radius:13px}.food-search .search-row .plus,.add-hub .search-row .plus{min-height:54px;border:0;border-radius:13px;background:var(--card-2);color:var(--accent)}.food-detail .favorite-toggle{min-height:40px;padding:5px 0;border:0;background:none;color:var(--accent);font-size:13px}.food-reference{margin:6px 0 23px;padding:13px;border-radius:13px;background:var(--card);color:var(--muted);font-size:12px;line-height:1.45}.food-detail .qty input{margin:0;text-align:center;font-size:18px;font-weight:800}.food-detail .qty button{border:0;background:var(--card-2)}.food-preview{display:grid;gap:4px;margin:25px 0 15px;padding:18px;border-radius:18px;background:#322a24}.food-preview span{color:var(--muted);font-size:12px}.food-preview strong{font-size:27px}.food-preview small{color:var(--muted);font-size:12px}.barcode-flow .flow-hint{font-size:12px}.barcode-flow .scanner-stage{aspect-ratio:4 / 3;max-height:min(250px,38dvh)}.barcode-flow .scanner{margin-top:18px}.recipe-choice{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:69px;padding:12px 14px;margin-bottom:8px;border:0;border-radius:16px;background:var(--card);text-align:left}.recipe-choice b,.recipe-choice small{display:block}.recipe-choice small{margin-top:3px;color:var(--muted);font-size:12px}.recipe-choice i{color:var(--muted);font-size:22px;font-style:normal}.add-outline{width:100%;min-height:50px;margin-top:10px;border:1px dashed #a66d4e;border-radius:15px;background:#2c241f;color:var(--accent-2);font-weight:800}.recipe-sheet{gap:10px}.recipe-delete-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px}.recipe-delete-confirm button{min-height:40px;border:0;background:none;color:var(--danger)}.recipe-delete-confirm button:last-child{color:var(--muted)}.recipe-ingredient{display:grid;grid-template-columns:minmax(0,1fr) 86px 44px;align-items:center;gap:8px;min-height:59px;border-bottom:1px solid var(--line)}.recipe-ingredient span{font-size:13px;overflow-wrap:anywhere}.recipe-ingredient label{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:12px}.recipe-ingredient input{width:61px;min-height:40px;margin:0;padding:7px;text-align:right;font-size:14px}.recipe-ingredient button{width:44px;height:44px;border:0;background:none;color:var(--muted);font-size:22px}.recipe-new-page .choice{margin:4px 0}.weight-hero,.profile-goal{display:flex;flex-direction:column;gap:9px;padding:21px;border-radius:22px;background:linear-gradient(140deg,#2a302f,#1b252d)}.weight-hero span,.profile-goal>span{color:var(--muted);font-size:13px}.weight-hero strong,.profile-goal strong{display:block;margin-top:2px;font-size:36px;line-height:1;letter-spacing:-.04em}.weight-hero strong small,.profile-goal strong small{font-size:16px;color:var(--muted);font-weight:500}.weight-hero p,.profile-goal p{margin:5px 0 0;color:var(--muted);font-size:12px}.weight-hero button{align-self:flex-start;min-height:42px;margin-top:8px;padding:8px 14px;border:0;border-radius:12px;background:#413025;color:var(--accent-2);font-size:13px;font-weight:800}.period-picker{margin:20px 0 15px}.trend-section,.water-history{margin:24px 0}.trend-section .section-heading,.water-history .section-heading{margin:0 0 15px}.trend-section .chart{height:180px;width:100%;border-radius:18px;background:var(--card)}.trend-caption{margin:8px 0 0;color:var(--muted);font-size:12px}.water-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;height:126px;padding:9px 8px;border-radius:17px;background:var(--card)}.water-bars>div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;height:100%}.water-bars span{height:16px;color:#a6cfe6;font-size:9px;white-space:nowrap}.water-bars i{width:15px;min-height:4px;border-radius:8px 8px 3px 3px;background:linear-gradient(#8bd4fa,#3d9ccd)}.water-bars small{margin-top:5px;color:var(--muted);font-size:9px}.progress-insight{padding:15px;border-radius:17px;background:var(--card)}.progress-insight summary{display:flex;justify-content:space-between;cursor:pointer;font-weight:700;font-size:13px}.progress-insight summary::-webkit-details-marker{display:none}.progress-insight p{margin:12px 0 0;white-space:pre-wrap;color:var(--muted);font-size:13px;line-height:1.5}.decision-panel{margin:15px 0;padding:16px;border-radius:17px;background:#302a22}.decision-panel p{color:#d7c7b7;font-size:13px;line-height:1.4}.decision-panel>div{display:flex;gap:8px}.decision-panel button{min-height:42px;padding:8px 12px;border:0;border-radius:12px;background:#5b3d2a;color:#ffdcbd}.decision-panel button:last-child{background:#3c3a37;color:var(--text)}.success-note{margin-bottom:12px;color:var(--good);font-size:13px}.profile-menu{margin-top:22px;border-top:1px solid var(--line)}.profile-menu button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:70px;padding:12px 2px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left}.profile-menu b,.profile-menu small{display:block}.profile-menu b{font-size:15px}.profile-menu small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.profile-menu i{color:var(--muted);font-style:normal;font-size:25px}.profile-footnote{margin:25px 0;color:var(--muted);font-size:12px;line-height:1.5}.edit-head{display:flex;align-items:center;gap:12px;margin-bottom:24px}.edit-head>button{width:42px;height:42px;flex:none;border:0;border-radius:14px;background:var(--card);font-size:30px}.edit-head .eyebrow{color:var(--accent);font-size:11px}.edit-head h1{font-size:24px}.profile-edit .form-submit{margin-top:25px}.onboarding-page{padding-bottom:calc(110px + var(--safe-bottom))!important}.onboarding-progress{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:10px}.onboarding-page .stepper{margin-bottom:34px}.onboarding-page h1{margin-bottom:10px}.onboarding-symbol{display:grid;place-items:center;width:64px;height:64px;margin-bottom:24px;border-radius:21px;background:#523422;color:var(--accent);font-size:31px}.onboarding-points{display:grid;gap:14px;margin:25px 0;font-size:14px}.onboarding-points span{padding-bottom:12px;border-bottom:1px solid var(--line)}.onboarding-disclaimer{color:var(--muted);font-size:12px;line-height:1.5}.onboarding-page .check{align-items:center;gap:12px;margin:16px 0;font-size:12px;line-height:1.4}.onboarding-page .check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;width:22px;height:22px;flex:none;margin:0;border:1px solid #738194;border-radius:7px;background:var(--card)}.onboarding-page .check input:checked{border-color:var(--accent);background:var(--accent)}.onboarding-page .check input:checked:after{content:"✓";color:#2a1408;font-size:16px;font-weight:900}.onboarding-page .check input:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.onboarding-footer{position:fixed;z-index:9;left:50%;bottom:0;transform:translate(-50%);width:min(430px,100%);padding:10px 16px calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:#0d1217f7}.onboarding-back{display:block;width:100%;min-height:42px;border:0;background:none;color:var(--muted)}.onboarding-result{padding:21px;border-radius:21px;background:linear-gradient(150deg,#382c23,#23282b)}.onboarding-result>span{color:var(--muted);font-size:13px}.onboarding-result strong{display:block;margin:8px 0 22px;font-size:42px;letter-spacing:-.04em}.onboarding-result strong small{font-size:16px;color:var(--muted)}.onboarding-result>div{display:flex;justify-content:space-between;gap:5px;font-size:12px}.onboarding-goal{color:var(--muted);font-size:13px}@media(prefers-reduced-motion:reduce){.water-track span,.hero-track span{transition:none}.water-bump{animation:none;display:none}}@media(max-width:350px){.hero-macros span{font-size:10px}.water-actions button{font-size:11px}.today-actions button{font-size:10px}.diary-overview{display:block}.diary-overview>span{display:block;margin-top:4px;text-align:left}.meal-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;overflow:visible}.meal-picker button{min-width:0;padding:10px 2px;font-size:11px}}:root{color-scheme:light;--bg:#f7f8f2;--bg-2:#e9ede4;--card:#fff;--card-2:#e7ede2;--line:#d3dccd;--text:#203329;--muted:#56665a;--accent:#315e44;--accent-2:#315e44;--good:#315e44;--protein:#6086a0;--fat:#c09951;--carbs:#6b9671;--warn:#966724;--danger:#b84743;--radius:20px}body{background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{transition:background .16s ease,transform .16s ease}button:active:not(:disabled),.btn:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #83a78d;outline-offset:3px}button,input,textarea,select{min-width:0}svg{flex-shrink:0}h1{font-size:29px;line-height:1.14;font-weight:720;letter-spacing:-.045em}h2{font-size:18px;letter-spacing:-.025em}.app{max-width:480px;padding:calc(18px + var(--safe-top)) 20px calc(100px + var(--safe-bottom));background:var(--bg)}.app.focused-flow{padding-bottom:calc(32px + var(--safe-bottom))}.app.focused-flow:has(.photo-analysis){padding-bottom:calc(112px + var(--safe-bottom))}.recipe-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;color:var(--muted);font-size:13px}.recipe-total strong{color:var(--text);font-size:22px;white-space:nowrap}.recipe-sheet>p,.recipe-sheet>.pills{margin:0}.recipe-sheet .field{margin:6px 0}.recipe-sheet .recipe-total{padding:12px 0}.app main{min-width:0}.page-head{margin-bottom:25px}.page-head h1{font-size:29px}.page-head p{font-size:14px;line-height:1.5;color:var(--muted)}.eyebrow{text-transform:none;letter-spacing:0;font-size:12px}.page-head .eyebrow{color:var(--muted);font-weight:500;letter-spacing:0}.section-heading{margin:24px 0 12px;align-items:center}.section-heading h2{font-size:18px}.section-heading button{min-height:44px;font-size:12px;padding:0}.section-heading button span{font-size:18px;color:var(--accent)}.btn,.photo-confirm,.photo-sheet-done{min-height:52px;background:var(--accent);color:#fff;border-radius:16px;font-weight:650;box-shadow:none}.btn.secondary{background:var(--card-2);border:0;color:var(--text)}.btn.ghost{background:transparent;border:0}.card{background:#fff;border:1px solid var(--line);padding:18px;box-shadow:none}.field{font-size:13px;color:var(--muted)}input:not([type=checkbox]):not([type=file]),select,textarea,.area{background:#fff;color:var(--text);border:1px solid #d6ded1;border-radius:13px;min-height:52px;padding:12px 14px;font-size:16px;box-shadow:none;max-width:100%}input::placeholder,textarea::placeholder{color:#69766d}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.form-grid{gap:12px}.form-label{font-size:13px;color:var(--muted);margin-top:22px}.pills{gap:6px;flex-wrap:wrap;overflow:visible}.pills button,.photo-meal-pills button{min-height:44px;padding:10px 13px;background:var(--card-2);border:1px solid transparent;border-radius:12px;color:var(--muted);font-size:12px}.pills button.on,.photo-meal-pills button.active{background:#dfeada;border-color:#b5c9ae;color:#294b34;font-weight:650}.meal-picker,.photo-meal-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.meal-picker button,.photo-meal-pills button{padding:10px 2px;font-size:12px;min-width:0}.select-list{gap:10px}.select-list button,.select-grid button{background:#fff;border:1px solid var(--line);border-radius:16px;min-height:58px}.select-list button{padding:16px 40px 16px 16px;position:relative}.select-list button:after{content:"";position:absolute;right:16px;top:20px;width:17px;height:17px;border:1.5px solid #c9d2c4;border-radius:50%}.select-list button.active,.select-grid button.active{border-color:#71986e;background:#e9f0e2;color:var(--text)}.select-list button.active:after{border:5px solid var(--accent);background:#fff}.select-list small{font-size:12px;line-height:1.5;margin-top:4px}.error{color:var(--danger);background:#fff0ed;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.5}.warn-box{color:#7b581f;background:#f6edda;border-color:#ead8b0;font-size:13px;line-height:1.5}.success-note{background:#e6f0df;padding:12px;border-radius:12px}.empty{background:#eff2eb;border-radius:18px;padding:24px 18px;font-size:14px;line-height:1.6}.loader{min-height:240px;text-align:center;font-size:14px}.loader>div{width:min(340px,calc(100% - 40px))}.loader h1{font-size:26px;color:var(--text)}.loading-brand{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 24px;border-radius:25px;color:var(--accent);background:#e3ecd7}.loading-skeleton{display:grid;gap:18px}.loading-skeleton i{height:160px;border-radius:24px;background:linear-gradient(100deg,#e8ede2 25%,#f2f5ee,#e8ede2 75%);background-size:200% 100%;animation:shimmer 1.8s ease infinite}.loading-skeleton i:nth-child(2){height:60px}@keyframes shimmer{to{background-position:-200% 0}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.login-page{min-height:70dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 8px 40px}.login-page h1{margin:0 0 8px}.login-page p{color:var(--muted);max-width:320px;line-height:1.5}.login-page .btn{width:min(320px,100%);margin-top:8px}.login-note{font-size:13px!important;margin-top:18px!important}.tg-login-slot{min-height:20px;margin-top:16px;display:grid;place-items:center}.nav{grid-template-columns:1fr 1fr 1.1fr 1fr 1fr;width:min(480px,100%);padding:6px 10px max(9px,var(--safe-bottom));background:#f7f8f2f7;border-color:var(--line)}.nav a{border-radius:13px;min-height:56px;font-size:10px;font-weight:550;gap:4px;background:transparent}.nav a.active{background:transparent;color:var(--accent)}.nav a.active svg{fill:#dfead6}.nav a.nav-add svg{width:42px;height:36px;padding:7px 10px;background:var(--accent);color:#fff;border-radius:12px}.nav a.nav-add{gap:1px;color:var(--accent)}.sheet,.photo-overlay{background:#17281e4d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet-card,.photo-sheet{width:min(480px,100%);background:var(--bg);border-radius:26px 26px 0 0;padding:22px 20px calc(20px + var(--safe-bottom));box-shadow:0 -10px 60px #263e2b18;max-height:88dvh}.sheet-title button,.photo-sheet-head button{width:44px;height:44px;border-radius:50%;background:#e8eee2;color:var(--muted)}.sheet-title h2,.photo-sheet-head h2{font-size:21px}.app:has(.sheet),.app:has(.photo-overlay){overflow:hidden}.flow-head{align-items:flex-start;gap:12px;margin-bottom:26px}.flow-back,.edit-head>button,.photo-back{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:50%}.flow-head h1{font-size:26px;padding-top:6px}.flow-head p{font-size:13px;line-height:1.5}.flow-head .eyebrow{font-size:11px;letter-spacing:0;color:var(--muted)}.flow-head .eyebrow+h1{padding-top:0}.home-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;min-height:44px}.brand-mark{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:16px;font-weight:750;letter-spacing:-.02em}.home-heading>button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--muted);font-size:12px;min-height:44px;padding:0}.daily-balance{--protein:#598099;--fat:#98753b;--carbs:#a66f81;border:1px solid #e0e5d8;border-radius:24px;padding:20px;background:#edf2e4}.balance-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.balance-title h1{font-size:21px;letter-spacing:-.035em}.balance-more{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-height:44px;flex-shrink:0;padding:0 0 0 8px;border:0;background:transparent;color:var(--muted);font-size:12px;border-radius:8px}.balance-title{margin-top:-8px;margin-bottom:-8px}.balance-body{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;column-gap:12px;row-gap:7px;padding:22px 0}.balance-calories{min-width:0}.balance-calories p{margin:0 0 4px;font-size:12px;color:#596a5b}.balance-body strong{display:block;font-size:clamp(34px,10vw,46px);line-height:1.16;font-weight:700;letter-spacing:-.065em;white-space:nowrap;font-variant-numeric:tabular-nums}.balance-body strong small{font-size:14px;font-weight:500;letter-spacing:0}.balance-eaten{grid-column:1;margin:0;font-size:11px;line-height:1.5;color:#596a5b}.balance-eaten b{color:var(--text);font-weight:600}.energy-ring{grid-column:2;grid-row:1 / span 2;width:82px;height:82px;position:relative;display:grid;place-items:center;color:#46623e}.energy-ring-copy{display:grid;justify-items:center;gap:2px}.energy-ring-copy b{font-size:21px;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.energy-ring-copy small{font-size:12px;font-weight:500}.energy-ring-copy span{font-size:10px;color:#53634c;line-height:1.2}.balance-long-value .balance-calories{grid-column:1 / -1}.balance-long-value .balance-calories strong{font-size:clamp(26px,8vw,40px);white-space:normal;overflow-wrap:anywhere}.balance-long-value .energy-ring{grid-row:2}.energy-ring>svg:first-child{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.energy-ring>svg:first-child circle{fill:none;stroke-width:7}.ring-track{stroke:#dbe4ce}.ring-fill{stroke:#6e925c;stroke-linecap:round;transition:stroke-dasharray .5s ease}.nutrition-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.nutrient>span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.nutrient>strong{display:block;font-size:20px;line-height:1.2;font-weight:650;letter-spacing:-.025em}.nutrient strong small{font-size:12px;font-weight:400;color:var(--muted)}.nutrient>small{font-size:10px;color:var(--muted)}.nutrient-track{height:4px;background:#dce3d5;margin:9px 0 3px;border-radius:4px;overflow:hidden}.nutrient-track i{display:block;height:100%;border-radius:inherit;background:var(--protein)}.nutrient.fat .nutrient-track i{background:var(--fat)}.nutrient.carbs .nutrient-track i{background:var(--carbs)}.daily-balance .nutrition-summary{border-top:1px solid #dce4d1;padding-top:16px}.daily-balance .nutrient>span,.daily-balance .nutrient>small,.daily-balance .nutrient strong small{color:#596a5b}.daily-balance .nutrient-focus>span{color:var(--text)}.balance-note{margin:16px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}.balance-note strong{display:block;font-size:13px;font-weight:650;color:var(--text);margin-bottom:3px}.balance-note span{display:block;text-wrap:pretty}.nutrient-focus>span{color:var(--text);font-weight:650}.nutrient-focus .nutrient-track{overflow:visible}.nutrient-focus .nutrient-track i{position:relative}.nutrient-focus .nutrient-track i:after{content:"";position:absolute;right:-2px;top:-2px;width:8px;height:8px;border-radius:50%;background:var(--text);box-shadow:0 0 0 2px #edf2e4}.balance-explanation{padding:5px 0 18px}.balance-explanation>p{margin:0 0 12px;font-size:14px;font-weight:650;line-height:1.45}.balance-ratios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:10px}.balance-ratios span{font-size:12px;color:var(--muted)}.balance-ratios b{display:block;color:var(--text);font-size:19px;margin-top:4px}.balance-explanation>small{display:block;color:var(--muted);font-size:12px;line-height:1.5}.sheet-card.balance-details{scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior:contain}.balance-details .sheet-title{position:sticky;top:-22px;z-index:1;padding:8px 0;background:var(--bg)}.balance-details{gap:0}.balance-details .sheet-title{margin-bottom:12px}.balance-details .sheet-title p{color:var(--muted);font-size:12px;margin:5px 0 0}.detail-list{display:block}.detail-row{padding:14px 0;border-top:1px solid var(--line)}.detail-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.detail-head b{font-size:14px}.detail-head strong{white-space:nowrap;font-size:14px;font-weight:650}.detail-row p{margin:5px 0 6px;color:var(--muted);font-size:11px;line-height:1.45}.detail-row small{color:#567365;font-size:11px}.detail-track{height:3px;background:#dce4d7;margin-top:9px;border-radius:3px}.detail-track i{display:block;height:100%;background:var(--accent);border-radius:inherit}.detail-footnote{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.custom-extras{margin:14px 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.custom-extras summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:600}.custom-extras>p{color:var(--muted);font-size:12px;line-height:1.5}.custom-extras .field{display:block}.daily-actions{margin:16px 0 22px}.add-food-primary{display:flex;align-items:center;gap:10px;width:100%;min-height:53px;padding:12px 16px;border:0;background:var(--accent);color:#fff;border-radius:16px;font-size:15px;font-weight:650}.add-food-primary span{flex:1;text-align:left}.capture-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.capture-shortcuts button{display:flex;align-items:center;gap:10px;min-height:64px;border:0;border-radius:16px;padding:11px 13px;text-align:left}.photo-shortcut{background:#f0e8dd;color:#93683c}.barcode-shortcut{background:#e9edf2;color:#536981}.capture-shortcuts b{display:block;font-size:12px;color:var(--text)}.capture-shortcuts small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.water-panel{margin-top:22px;background:#eaf3f7;border:1px solid #dbe9ee;border-radius:23px;padding:15px 17px 16px;overflow:visible}.water-topline,.water-topline h2{display:flex;align-items:center;gap:7px}.water-topline{justify-content:space-between}.water-topline h2{font-size:16px;color:#35576b}.water-topline>button{display:flex;align-items:center;gap:2px;min-height:44px;margin:-8px -4px -8px 0;padding:5px 4px;border:0;background:none;color:#557486;font-size:11px}.water-body{display:flex;align-items:center;gap:24px;padding:17px 10px 16px}.water-glass{width:67px;height:80px;flex:none;position:relative;overflow:hidden;background:#ffffffa8;border:2px solid #88b7c9;border-top:3px solid #88b7c9;border-radius:5px 5px 17px 17px;transform:perspective(170px) rotateX(-8deg);box-shadow:0 7px 0 -4px #aacdd933}.glass-liquid{position:absolute;bottom:0;width:100%;background:linear-gradient(#74b9d3,#4d9fbe);transition:height .7s cubic-bezier(.2,.8,.2,1)}.glass-liquid:before{content:"";position:absolute;top:-4px;left:-20%;width:140%;height:9px;border-radius:50%;background:#a9d5e5}.glass-shine{position:absolute;left:8px;top:8px;bottom:12px;width:4px;background:#ffffff6b;border-radius:8px}.glass-ripple{position:absolute;width:100%;height:100%;border:3px solid #c4e8f4;border-radius:50%;animation:glass-ripple .7s ease-out forwards}@keyframes glass-ripple{0%{transform:scale(.3);opacity:.9}to{transform:scale(1.6);opacity:0}}.water-amount strong{font-size:29px;letter-spacing:-.045em;color:#31576b;line-height:1.1}.water-amount strong small{font-size:13px;font-weight:500}.water-amount p{font-size:12px;margin:5px 0 0;color:#65808d}.water-amount .fluid-breakdown{color:#426d82;font-size:11px}.cup-size{min-height:44px;border:0;padding:7px 0 0;background:none;color:#426d82;font-size:11px}.cup-size span{padding-left:6px}.water-actions{grid-template-columns:1.3fr 1fr;gap:8px}.water-actions button{display:flex;justify-content:center;align-items:center;gap:6px;min-height:45px;background:#447e96;color:#fff;font-size:12px;font-weight:600;border-radius:12px}.water-actions .water-other{background:#dcebf1;color:#3f697b;font-size:11px}.water-details{margin-top:16px;border-top:1px solid #d0e0e7;padding-bottom:0}.water-entry{border-color:#d0e0e7}.water-entry button,.water-goal-button span{color:#3f7186}.water-goal-button{color:#3d5c6b}.water-details>p{color:#65808d}.cup-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cup-options button{display:flex;flex-direction:column;align-items:center;padding:18px 10px;border:1px solid var(--line);border-radius:18px;background:#fff;gap:5px}.cup-options button.active{border-color:#6392a2;background:#e7f2f7}.cup-options b{font-size:13px;font-weight:600}.cup-options span{font-size:12px;color:#668291}.mini-glass{position:relative;width:33px;height:42px;margin:4px 0 7px;border:2px solid #84b2c3;border-radius:3px 3px 8px 8px;overflow:hidden}.mini-glass i{position:absolute;bottom:0;left:0;width:100%;height:65%;background:#9ccdde}.mini-glass.size-200{width:30px;height:35px;margin-top:11px}.mini-glass.size-300{height:46px;margin-top:0}.mini-glass.size-500{width:27px;height:46px;margin-top:0;border-radius:10px 10px 6px 6px}.water-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr);gap:7px}.water-actions button{min-width:0;padding:8px 5px;white-space:nowrap;font-size:12px}.water-actions .water-other{font-size:12px}.water-secondary-actions{display:flex;justify-content:space-between;gap:8px;margin-top:4px}.water-secondary-actions button{min-height:40px;border:0;background:none;color:#557486;font-size:11px;text-align:left}.water-entry>span{min-width:0;flex:1}.water-entry>span b,.water-entry>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.water-entry>span b{font-size:12px;font-weight:600}.water-entry>span small{margin-top:3px;color:#65808d;font-size:11px}.water-entry>div{flex:none}.beverage-editor{display:flex;flex-direction:column;gap:10px;overflow:auto;overscroll-behavior:contain}.beverage-editor .sheet-title{margin-bottom:0}.beverage-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.beverage-volume{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:6px}.beverage-volume>span,.beverage-meal>span{color:var(--muted);font-size:13px}.beverage-volume strong{color:var(--text);font-size:28px;letter-spacing:-.035em}.beverage-volume small{font-size:13px;font-weight:500}.beverage-volumes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.beverage-volumes button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font-size:11px;font-weight:650;white-space:nowrap}.beverage-volumes button.active,.beverage-meal button.active{background:#dceae0;border-color:#82a58a;color:#28573c}.beverage-custom-volume{margin:0;font-size:12px}.beverage-custom-volume input{width:100%}.beverage-reveal{align-self:flex-start;min-height:35px;padding:0 1px;border:0;background:none;color:var(--accent);font-size:12px}.beverage-addons-title{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.beverage-addons-title b{font-size:15px}.beverage-addons-title span{color:var(--muted);font-size:11px}.beverage-addons{display:flex;flex-direction:column;gap:2px}.beverage-addon{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;border-bottom:1px solid var(--line)}.beverage-addon>div:first-child{min-width:0}.beverage-addon b,.beverage-addon small{display:block}.beverage-addon b{font-size:13px}.beverage-addon small{color:var(--muted);font-size:11px;margin-top:2px}.beverage-addon-add{min-height:44px;min-width:88px;padding:0 10px;border:0;border-radius:11px;background:var(--card-2);color:var(--accent);font-size:12px;font-weight:650}.beverage-stepper{display:flex;align-items:center;gap:2px;flex:none;border:1px solid var(--line);border-radius:12px;background:#fff}.beverage-stepper>button{width:40px;height:44px;border:0;background:none;color:var(--accent);font-size:20px}.beverage-stepper label{display:flex;align-items:center;gap:2px;color:var(--muted);font-size:11px}.beverage-stepper input{width:30px;padding:0;border:0;background:none;color:var(--text);text-align:right;font-size:13px;font-weight:600;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.beverage-stepper input::-webkit-outer-spin-button,.beverage-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.beverage-note{margin:0;color:var(--muted);font-size:11px;line-height:1.4}.beverage-meal{display:flex;flex-direction:column;gap:8px}.beverage-meal-toggle{display:flex;justify-content:space-between;align-items:center;min-height:40px;padding:0;border:0;background:none;color:var(--muted);font-size:12px;text-align:left}.beverage-meal-toggle span{font-size:17px}.beverage-meal>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.beverage-meal button{min-height:44px;min-width:0;padding:3px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font-size:11px}.beverage-save{position:sticky;bottom:0;z-index:1;flex:none;min-height:52px;width:100%;box-shadow:0 0 0 8px var(--bg)}@media(max-width:350px){.water-actions button{font-size:10px}.water-actions .water-other{font-size:11px}.beverage-volumes button{font-size:10px}.beverage-editor{padding-left:15px;padding-right:15px}}.day-meals{margin:20px 0 0}.day-meals .section-heading{margin:0 0 4px;min-height:44px}.meal-list{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.meal-section{border:0;padding:0}.meal-section+.meal-section{border-top:1px solid var(--line)}.meal-line{display:flex;align-items:center;gap:2px;padding-right:8px}.meal-expand{width:100%;flex:1;min-width:0;display:flex;align-items:center;gap:11px;min-height:70px;padding:12px;background:none;border:0;text-align:left}.meal-symbol{display:grid;place-items:center;width:35px;height:38px;flex-shrink:0;color:#947b50}.meal-symbol.lunch{color:#b4873d}.meal-symbol.dinner{color:#758297}.meal-symbol.snack{color:#789467}.meal-line-copy{flex:1;min-width:0}.meal-line-copy b{display:block;font-size:14px;font-weight:650}.meal-line-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--muted);margin-top:4px}.meal-line-total{font-size:14px;text-align:right;flex:none}.meal-line-total small{display:block;color:var(--muted);font-size:9px}.meal-inline-add{display:grid;place-items:center;border:0;background:transparent;color:var(--accent);width:44px;height:44px;flex-shrink:0}.meal-contents{padding:0 16px 10px 20px;background:#fbfcf9}.meal-food{border-color:var(--line);min-height:58px}.meal-food:last-child{border:0}.meal-food b{font-size:13px;font-weight:550}.meal-food strong{font-size:11px;font-weight:550}.food-sheet-total{line-height:1.5}.food-sheet-move{margin:8px 0}.diary-date{margin:0 0 12px}.diary-date>button{border-radius:50%;background:#edf1e6}.date-picker{position:relative;text-align:center;display:block;cursor:pointer;padding:4px 15px}.date-picker span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.date-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;cursor:pointer}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:12px 0 22px}.week-strip button{border:0;border-radius:14px;background:transparent;min-height:68px;padding:8px 1px 4px;display:grid;place-items:center;gap:3px}.week-strip span{font-size:10px;color:var(--muted)}.week-strip b{font-size:16px;font-weight:600}.week-strip i{width:4px;height:4px;border-radius:50%}.week-strip .today-dot{background:var(--accent)}.week-strip button.active{background:var(--accent);color:#fff}.week-strip button.active span{color:#d4e3d3}.week-strip button.active i{background:#d4e3d3}.diary-day-summary{padding:20px;background:#edf2e4;border-radius:21px}.diary-day-summary>div:first-child>span{font-size:12px;color:var(--muted)}.diary-day-summary>div:first-child>strong{display:block;font-size:32px;letter-spacing:-.04em;margin:3px 0}.diary-day-summary>div:first-child>strong small{font-size:14px;font-weight:500}.diary-day-summary p{font-size:11px;color:var(--muted);margin:0 0 17px}.diary-day-summary .nutrition-summary{border-top:1px solid #dce4d1;padding-top:14px}.diary-repeat{color:var(--accent)}.search-launch{display:flex;align-items:center;gap:10px;min-height:54px;width:100%;border:1px solid #d3dbcd;border-radius:15px;background:#fff;padding:12px 14px;color:var(--muted);font-size:13px;text-align:left}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.method-tile{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:20px 17px;border:0;border-radius:21px;text-align:left}.method-tile b{font-size:16px;font-weight:650;color:var(--text);margin-top:9px}.method-tile small{color:var(--muted);font-size:12px;line-height:1.45}.camera-tile{background:#efe5d7;color:#9c7445}.barcode-tile{background:#e5ebf0;color:#5c7790}.add-secondary{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.add-secondary button{display:flex;align-items:center;width:100%;gap:12px;min-height:54px;border:0;background:none;text-align:left;color:var(--muted)}.add-secondary button span{flex:1;font-size:13px;color:var(--text)}.add-secondary button+button{border-top:1px solid var(--line)}.choice,.food-search .search-row .choice{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.choice b{font-weight:600;font-size:14px}.choice small{font-size:11px;line-height:1.4}.search-row.result-only{grid-template-columns:1fr}.food-search .search-row .plus,.add-hub .search-row .plus{background:#e7eddf;color:var(--accent);border-radius:14px}.search-input{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #ced8c5;border-radius:15px;padding-left:14px;margin:4px 0 16px;color:var(--muted)}.search-input input[type=search]{border:0;background:none;margin:0;width:100%;padding-left:0}.search-input:focus-within,.photo-search-field:focus-within{border-color:#7d8980}.search-input input:focus-visible,.photo-search-field input:focus-visible{outline:none;box-shadow:none}.search-status{color:var(--muted);font-size:13px;padding:12px 0}.food-reference{padding:0;margin:8px 0 24px;background:none;font-size:13px}.food-preview{background:#eaf0e1;padding:20px;border-radius:21px;gap:6px}.food-preview .nutrition-summary{margin-top:15px;border-top:1px solid #d5e0c9;padding-top:14px}.food-detail .qty{grid-template-columns:52px minmax(0,1fr) 52px}.food-detail .qty input{font-size:25px;min-height:58px;border-radius:16px}.food-detail .qty button{background:#e5edda;color:var(--accent);height:58px;border-radius:16px}.photo-guide{text-align:center;padding:14px 16px 20px}.camera-frame{width:150px;height:140px;display:grid;place-items:center;margin:0 auto 23px;color:#8a9f73;border:2px solid #c9d7b6;border-radius:30px;background:#edf2e3}.photo-guide h2{font-size:20px}.photo-guide p{color:var(--muted);font-size:13px;line-height:1.6}.photo-upload{display:flex;min-height:55px;margin:8px 0;gap:10px;padding:14px;border:0;background:var(--accent);color:#fff;border-radius:16px}.photo-upload b{font-size:14px;font-weight:600}.photo-upload.is-busy{opacity:.55}.gallery-upload{display:grid;place-items:center;min-height:50px;border:1px solid var(--line);background:#fff;border-radius:15px;font-size:14px;cursor:pointer}.gallery-upload input{display:none}.photo-reassurance{display:flex;align-items:flex-start;justify-content:center;gap:6px;margin:20px 12px;font-size:11px;line-height:1.5;color:var(--muted)}.barcode-heading{display:flex;align-items:center;gap:17px;padding:17px;border-radius:18px;background:#e7edf2;color:#5a7488;margin-bottom:20px}.barcode-heading p{font-size:12px;line-height:1.5;margin:0}.scanner-roi{border-color:#a6c8dc}.scanner-hint{font-size:12px;line-height:1.5}.scanner-chip{min-height:44px}.recipe-choice{padding:18px;border:1px solid var(--line);background:#fff;border-radius:18px}.recipe-choice b{font-weight:600}.recipe-choice span{min-width:0;overflow-wrap:anywhere}.add-outline{background:#e9efdf;border:1px solid #c8d7bb;color:var(--accent)}.recipe-ingredient{grid-template-columns:minmax(0,1fr) 86px 44px;gap:5px}.recipe-ingredient input{min-height:44px;padding:8px}.recipe-new-page .btn{margin-top:20px}.photo-top{margin-bottom:19px}.photo-top h1{font-size:24px}.photo-thread{margin-bottom:22px}.photo-ai-avatar{background:#dfead2;color:var(--accent)}.photo-message.assistant p{background:#eaf0e1;border-radius:4px 18px 18px;font-size:13px}.photo-message.mine{width:45%}.photo-message.mine img{max-height:155px;border-radius:18px 18px 4px}.photo-dish{padding:17px 0}.photo-dish-copy h3{font-size:16px}.photo-dish-copy p{font-size:12px}.photo-select,.photo-remove,.photo-ingredient-remove{width:44px;height:44px;border-radius:13px}.photo-select.is-selected{background:var(--accent);color:#fff}.photo-dish-actions button{background:#e7eddf;color:var(--accent);min-height:44px;font-size:12px;padding:10px 12px}.photo-dish-meta{flex-wrap:wrap}.photo-add span{border-color:#b9c9ab}.photo-footer{width:min(480px,100%);background:#f7f8f2f5;padding:12px 20px calc(12px + var(--safe-bottom))}.photo-sheet-handle{background:#c5cebf;margin-top:0}.photo-sheet-done{box-shadow:0 -8px 0 var(--bg)}.photo-portion-controls>button,.photo-replace-all{background:#e6eddd;color:var(--accent)}.photo-portion-controls label,.photo-search-field{background:#fff;border-color:#d3ddca}.photo-portion-controls input{padding:12px 0!important;min-height:58px!important;background:none!important;border:0!important}.photo-rename input{background:#fff;border-color:#d3ddca}.photo-search-field input{background:none!important;border:0!important;padding:0!important}.photo-summary{background:#edf2e4;border:0;padding:18px;border-radius:18px}.photo-summary>.nutrition-summary{margin-top:16px;display:grid;align-items:start}.photo-summary .nutrition-summary strong{font-size:20px}.photo-summary .nutrition-summary span{font-size:12px;font-weight:400}.photo-summary .nutrient{display:block}.view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:#e9eee1;margin-bottom:22px}.view-tabs button{min-height:44px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:13px}.view-tabs button[aria-selected=true]{background:#fff;color:var(--accent);box-shadow:0 2px 5px #263e2b09;font-weight:650}.weight-hero,.profile-goal{background:#eaf0e1;padding:23px;border:1px solid #dfe7d4;border-radius:23px}.weight-hero strong,.profile-goal strong{font-size:43px;font-weight:650;margin:8px 0}.weight-hero button{display:flex;align-items:center;gap:7px;background:var(--accent);color:#fff;min-height:44px;border-radius:12px;padding:10px 15px;font-weight:600}.period-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.period-picker button{padding:10px 2px;font-size:11px}.trend-section .chart{background:#fff;border:1px solid var(--line);height:200px;padding:12px 0}.chart-dates{display:flex;justify-content:space-between;margin-top:7px;color:var(--muted);font-size:11px}.weight-log,.progress-insight{padding:17px;border-radius:17px;background:#fff;border:1px solid var(--line)}.weight-log summary{display:flex;justify-content:space-between;min-height:28px;font-size:13px;font-weight:600;cursor:pointer}.weight-log summary::-webkit-details-marker{display:none}.weight-log>div{display:flex;justify-content:space-between;align-items:center;min-height:45px;border-top:1px solid var(--line);font-size:12px}.weight-log>div:first-of-type{margin-top:12px}.habit-summary{padding:22px;background:#edf2e4;border-radius:21px}.habit-summary>span{font-size:12px;color:var(--muted)}.habit-summary strong{display:block;font-size:28px;margin-top:7px;font-weight:650;letter-spacing:-.04em}.habit-summary p{font-size:12px;color:var(--muted);line-height:1.5}.water-bars{background:#edf4f6;padding:18px 10px;height:156px}.water-bars span{color:#477288;font-size:10px}.water-bars i{flex-shrink:1;background:linear-gradient(#80b8c9,#5c97ad)}.water-bars small{font-size:11px}.decision-panel{background:#f3ecd9}.decision-panel p{color:#796b49}.decision-panel button{background:#516d44;color:#fff;min-height:44px}.decision-panel button:last-child{background:#e6e2d5}.profile-heading{display:flex;align-items:center;gap:13px}.profile-heading h1{font-size:26px}.profile-heading p{font-size:12px;margin-top:5px}.profile-avatar{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:19px;background:#e3ebd9;color:var(--accent)}.profile-goal .nutrition-summary{border-top:1px solid #d4dfc9;padding-top:17px;margin-top:8px}.profile-goal .nutrient strong{font-size:22px;margin:0}.profile-goal .nutrient>span{font-size:12px}.profile-menu{border:1px solid var(--line);border-radius:20px;background:#fff;margin-top:0;overflow:hidden}.profile-menu button{padding:18px;min-height:78px}.profile-menu button:last-child{border:0}.profile-menu b{font-weight:600}.profile-menu small{font-size:12px}.profile-footnote{font-size:11px;line-height:1.6;padding:0 7px}.edit-head h1{font-size:26px}.edit-head .eyebrow{color:var(--muted)}.onboarding-progress{font-size:12px}.stepper{gap:5px}.stepper i{background:#dfe6d7;height:4px}.stepper i.on{background:var(--accent)}.onboarding-symbol{background:#e2ebd6;color:var(--accent);width:80px;height:80px;border-radius:26px}.onboarding-page h1{font-size:33px;letter-spacing:-.05em}.onboarding-page .form-intro{font-size:14px;line-height:1.6}.onboarding-points{gap:0;background:#fff;border:1px solid var(--line);border-radius:19px;padding:5px 17px;margin:23px 0}.onboarding-points span{display:flex;align-items:center;gap:13px;min-height:60px;padding:12px 0;font-size:13px}.onboarding-points span:last-child{border:0}.onboarding-points svg{color:var(--accent)}.onboarding-page .check{font-size:12px;line-height:1.5;min-height:44px;align-items:flex-start}.onboarding-page .check input{border-color:#a9b99d;background:#fff;margin-top:2px}.onboarding-page .check input:checked:after{color:#fff}.onboarding-footer{width:min(480px,100%);background:#f7f8f2fa;border-color:var(--line);padding:12px 20px calc(12px + var(--safe-bottom))}.onboarding-result{background:#eaf0e1}.onboarding-result>.nutrition-summary{display:grid}.onboarding-result .nutrition-summary strong{font-size:23px;margin:5px 0}.onboarding-result .nutrition-summary strong small,.onboarding-result .nutrition-summary span{font-size:12px}.onboarding-disclaimer summary{min-height:44px;cursor:pointer;display:flex;align-items:center}.onboarding-disclaimer p{margin-top:0}.onboarding-topline{display:flex;align-items:center;gap:12px;margin-bottom:4px}.onboarding-topline .onboarding-progress{flex:1;display:flex;align-items:center;gap:12px;margin:0;min-width:0}.onboarding-topline .onboarding-progress span:last-child{margin-left:auto;white-space:nowrap}.language-compact{position:relative;flex-shrink:0}.language-trigger{min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--accent);font-size:12px;font-weight:600}.language-compact .language-picker{position:absolute;z-index:20;right:0;top:48px;width:164px;display:flex;flex-direction:column;padding:6px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 26px #19342915}.language-compact .language-picker button{min-height:44px}.onboarding-points small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.field-hint,.goal-editor .field small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin:8px 0 14px}.onboarding-suitability{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.onboarding-suitability h2{font-size:17px;margin:0 0 10px}.onboarding-suitability>p,.goal-period p,.goal-summary p,.onboarding-result>p{color:var(--muted);font-size:12px;line-height:1.6}.onboarding-suitability .select-list button{min-height:48px}.goal-editor{min-width:0}.goal-diary-choice{display:block;min-height:44px;max-width:100%;margin:8px 0 10px;padding:10px 0;border:0;font:inherit;text-align:left;background:transparent;color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:3px}.goal-diary-choice[aria-pressed=true]{font-weight:650}.goal-status{color:var(--muted);font-size:12px}.goal-period{margin:22px 0 16px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.goal-period label{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;font-size:13px}.goal-period label b{color:var(--accent)}.goal-period-controls{display:flex;gap:12px;align-items:center;margin-top:12px}.goal-period-controls button{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:14px;background:#e4ecd9;color:var(--accent);font-size:22px}.goal-period input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block;flex:1;min-width:0;width:100%;height:44px;margin:0;padding:0;accent-color:var(--accent);border:0;background:transparent;box-shadow:none}.goal-period input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:8px;background:linear-gradient(to right,var(--accent) var(--goal-progress),#dce5d3 var(--goal-progress))}.goal-period input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border:3px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 1px 5px #29463325}.goal-period input[type=range]::-moz-range-track{height:6px;border-radius:8px;background:#dce5d3}.goal-period input[type=range]::-moz-range-progress{height:6px;border-radius:8px;background:var(--accent)}.goal-period input[type=range]::-moz-range-thumb{width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:var(--accent)}.goal-period input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.goal-summary{display:grid;gap:6px;margin:18px 0;padding:16px 0;border-top:1px solid var(--line)}.goal-summary b{font-size:21px;letter-spacing:-.025em}.goal-summary>span{font-size:12px;color:var(--accent)}.goal-summary p{margin:0}.goal-progress-track{height:5px;width:100%;background:#dae3d1;overflow:hidden;border-radius:5px;margin:4px 0}.goal-progress-track i{display:block;height:100%;background:var(--accent);border-radius:5px}.goal-suitability{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 0}.goal-editor .onboarding-result{padding:20px;border-radius:20px}.goal-editor .onboarding-result>strong{display:block;font-size:36px;margin:9px 0 16px}.goal-editor .onboarding-result>strong small{font-size:13px}.goal-editor .onboarding-result>span{font-size:12px;color:var(--muted)}.balance-diary-only .balance-calories{margin:14px 0 20px}.balance-diary-only .balance-calories strong{font-size:40px}.balance-diary-only .balance-calories small{font-size:13px;margin-left:5px}@media(max-width:350px){.onboarding-page h1{font-size:29px}.onboarding-topline{gap:7px}.onboarding-topline .onboarding-progress{gap:7px;font-size:11px}}@media(max-width:350px){.app{padding-left:15px;padding-right:15px}.daily-balance{padding:17px}.balance-title h1{font-size:20px}.balance-body{grid-template-columns:minmax(0,1fr) 72px;column-gap:8px}.energy-ring{width:72px;height:72px}.balance-body strong{font-size:34px}.daily-balance .nutrition-summary{gap:10px}.daily-balance .nutrient>span{font-size:11px}.capture-shortcuts{gap:7px}.capture-shortcuts button{gap:7px;padding:10px}.capture-shortcuts svg{width:21px}.capture-shortcuts small{font-size:9px}.capture-shortcuts b{font-size:11px}.water-body{gap:21px;padding-left:6px}.water-actions button{font-size:11px}.water-actions .water-other{font-size:10px}.meal-picker button,.photo-meal-pills button{font-size:11px}.method-tile{padding:17px 14px}.method-tile b{font-size:15px}.nutrition-summary{gap:12px}.nutrient>span{font-size:11px}.flow-head h1{font-size:23px}.profile-heading h1{font-size:24px}.photo-dish-actions button{font-size:11px}.photo-dish-copy h3{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.daily-balance{background:linear-gradient(135deg,rgba(195,125,78,var(--balance-glow,0)),transparent 53%),#edf2e4;transition:background-color .25s ease}.balance-title{gap:5px}.balance-title h1{white-space:nowrap;font-size:20px}.balance-state{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-height:44px;max-width:65%;padding:0 0 0 5px;border:0;background:transparent;color:#637963;font-size:11px;font-weight:650;text-align:right;line-height:1.2;cursor:pointer}.balance-state>span:nth-child(2){max-width:105px}.balance-state svg{flex:none}.balance-state-mark{display:flex;align-items:flex-end;justify-content:center;gap:2px;width:26px;height:26px;flex:none;padding:4px 3px;border-radius:9px;background:#5c7f521a}.balance-state-mark i{width:5px;min-height:3px;max-height:17px;border-radius:5px;background:#71936c;transition:height .25s ease,background-color .25s ease}.balance-state-mark i:nth-child(2){opacity:.78}.balance-state-mark i:nth-child(3){opacity:.62}.balance-slight .balance-state,.balance-noticeable .balance-state,.balance-strong .balance-state{color:#795f48}.balance-slight .balance-state-mark,.balance-noticeable .balance-state-mark,.balance-strong .balance-state-mark{background:rgba(184,115,65,var(--balance-chip,.08))}.balance-slight .balance-state-mark i,.balance-noticeable .balance-state-mark i,.balance-strong .balance-state-mark i{background:#ab7950}.balance-strong .balance-state-mark i{background:#a65f48}.balance-note{margin:13px 0 0;font-size:12px;line-height:1.4;color:#745b4b;font-weight:600}.balance-nutrient-peek{display:flex;align-items:center;gap:7px;width:100%;min-height:44px;margin:5px 0 -9px;padding:3px 0;border:0;background:transparent;color:#766b58;font-size:11px;text-align:left;cursor:pointer}.balance-nutrient-peek>span{width:7px;height:7px;border-radius:50%;background:#bd9b6b;flex:none}.balance-nutrient-peek svg{margin-left:auto;flex:none}.detail-row .detail-signal{color:#856346;font-size:12px;font-weight:600}@media(max-width:350px){.balance-state{font-size:10px;gap:4px}.balance-state>span:nth-child(2){max-width:76px}}@media(prefers-reduced-motion:reduce){.balance-state-mark i,.daily-balance{transition:none}}.package-choices{margin:14px 0}.package-choices p,.portion-equivalent{margin:0 0 10px;color:var(--muted, #64706a);font-size:.91rem}.package-choices .pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.package-choices .pills button{min-height:46px;font-size:1.06rem}.quantity-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--green-dark, #265943);padding:10px 0;font:inherit;font-weight:650;text-align:left;min-height:44px}.language-picker{display:flex;flex-wrap:wrap;gap:5px;width:fit-content;max-width:100%;padding:4px;border:1px solid var(--line);border-radius:14px;background:#f0f2ec}.language-picker button{min-height:44px;padding:7px 11px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:600}.language-picker button.active{background:#fff;color:var(--text);box-shadow:0 1px 4px #182a1a17}.login-page>div:has(>.language-picker){margin:0 auto 28px}.onboarding-page>div:has(>.language-picker){margin:0 0 20px auto}.profile-language{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:22px}.profile-language>span{color:var(--muted);font-size:13px}.compact-meals{margin-top:14px}.compact-meals .section-heading{min-height:38px;margin:0 0 3px}.compact-meals .section-heading h2{font-size:16px}.compact-meals .section-heading button{min-height:44px;font-size:11px}.compact-meals .meal-list{background:none;border:0;border-radius:0;overflow:visible}.compact-meals .meal-line{padding-right:0;gap:4px}.compact-meals .meal-expand{min-height:52px;padding:5px 0;gap:8px}.compact-meals .meal-symbol{width:27px;height:32px}.compact-meals .meal-line-copy b{font-size:13px;font-weight:600}.compact-meals .is-empty .meal-line-copy b{color:#56645a}.compact-meals .has-food .meal-line-copy b{color:#24352d}.compact-meals .meal-section+.meal-section{border-top-color:#d0d9c9}.compact-meals .meal-line-copy small{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:11px}.compact-meals .meal-line-copy small,.compact-meals .meal-line-total small{color:#58675c}.compact-meals .is-empty .meal-line-copy small{color:#657264}.compact-meals .meal-symbol{color:#806a44}.compact-meals .meal-symbol.lunch{color:#987035}.compact-meals .meal-symbol.dinner{color:#626f86}.compact-meals .meal-symbol.snack{color:#5d7c4f}.compact-meals .meal-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-meals .meal-more-count{flex:none;color:var(--accent);font-size:10px}.compact-meals .meal-line-total{font-size:13px;min-width:39px;color:#263d2c;font-weight:600;font-variant-numeric:tabular-nums}.compact-meals .meal-line-total small{font-size:10px}.compact-meals .meal-inline-add{border-radius:12px;color:#274f35}.compact-meals .meal-inline-add:hover{background:#e6eddf}.meal-overview-sheet{display:flex;flex-direction:column;overflow:hidden}.meal-overview-sheet .sheet-title,.meal-sheet-summary,.meal-sheet-add{flex:none}.meal-sheet-summary{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;color:var(--text);font-size:19px;font-weight:650}.meal-sheet-summary span{color:var(--muted);font-size:12px;font-weight:400}.meal-sheet-foods{min-height:0;overflow-y:auto;overscroll-behavior:contain}.meal-sheet-foods .meal-food{padding:12px 0}.meal-sheet-foods .meal-food b{font-size:14px;line-height:1.35}.meal-sheet-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;font-size:14px}.food-sheet .sheet-title h2{min-width:0;overflow-wrap:anywhere}.water-compact{margin-top:16px;padding:12px;border:0;border-radius:18px;background:#edf4f6}.water-compact-summary{display:flex;align-items:center;gap:12px}.water-compact .water-glass{width:30px;height:41px;border-width:2px;border-radius:3px 3px 9px 9px;transform:none;box-shadow:none}.water-compact .glass-shine{left:5px;top:5px;bottom:6px;width:3px}.water-summary-link{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;min-height:46px;padding:0;border:0;background:none;color:#456b7c;text-align:left}.water-summary-link>span{min-width:0}.water-summary-link b{display:block;color:#55717f;font-size:12px;font-weight:500}.water-summary-link strong{display:block;font-size:20px;font-weight:650;line-height:1.25;font-variant-numeric:tabular-nums}.water-summary-link small{margin-left:3px;font-size:11px;font-weight:400}.water-compact .water-actions{grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr) minmax(0,.7fr);gap:6px;margin-top:8px}.water-compact .water-actions button{min-height:44px;font-size:12px;padding:7px 5px}.water-compact .water-actions .water-other{background:transparent;font-size:12px}.water-compact>.error{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:0;font-size:12px}.water-compact .error button{min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:#fff;color:inherit;font:inherit;font-weight:600}.fluid-sheet-total{margin:0;font-size:24px;font-weight:650;color:#31576b}.fluid-sheet-total small{display:block;margin-top:3px;font-size:12px;font-weight:400;color:var(--muted)}.fluid-sheet-breakdown{margin:10px 0 14px;color:var(--muted);font-size:12px}.fluid-cup-setting{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);font-size:13px;text-align:left}.fluid-cup-setting span{color:#3f7186;font-size:12px}.fluid-overview-sheet .water-secondary-actions{flex-direction:column;gap:0;margin-top:4px}.fluid-overview-sheet .water-secondary-actions button{min-height:44px;padding:0;font-size:13px}.fluid-overview-sheet .water-details{margin-top:10px}.meal-overview-sheet,.fluid-overview-sheet{animation:overview-rise .18s ease-out}@keyframes overview-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:350px){.water-compact .water-actions button{font-size:11px}}.meal-sets{margin:24px 0}.meal-sets>.muted{margin:0;font-size:13px;line-height:1.5}.saved-set{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line)}.saved-set-open{border:0;background:none;text-align:left;flex:1;min-width:0;padding:12px 0;min-height:58px;color:var(--text)}.saved-set-open b,.saved-set-open small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-set-open small{color:var(--muted);margin-top:4px;font-size:12px}.saved-set-add{width:44px;height:44px;flex-shrink:0;border:0;border-radius:14px;background:var(--accent-soft,#e7eedf);color:var(--accent,#356350);font-size:24px}.save-meal-set{min-height:44px;border:0;background:none;color:var(--accent,#356350);padding:8px 0;font:inherit;font-size:13px;text-align:left}.set-item{padding:12px 0;border-bottom:1px solid var(--line)}.set-item-line{display:flex;align-items:center;gap:8px}.set-item-line>b{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}.set-item-line>button{width:44px;height:44px;border:0;background:none;color:var(--muted);font-size:22px}.set-quantity{display:flex;align-items:center;gap:4px;background:#eef1e9;border-radius:10px;padding:0 8px;font-size:12px;flex-shrink:0}.set-quantity input{width:58px;min-width:0;height:44px;border:0;outline:none;background:none;color:var(--text);font:inherit;font-size:15px}.set-item details{margin-top:4px}.set-item summary{min-height:44px;padding:12px 0;color:var(--muted);font-size:13px}.set-additions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.set-additions .field{font-size:11px;min-width:0}.set-additions input{min-width:0;width:100%;padding:10px 8px}.meal-set-sheet>.btn{margin-top:16px}.draft-resume{padding:16px;margin-bottom:18px;border-radius:16px;background:#e9efdf}.pending-write{margin:0 0 18px;padding:16px;background:#f2eedf;border-radius:16px}.pending-write p{font-size:13px;line-height:1.5}.draft-resume p{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.draft-resume>div{display:flex;flex-wrap:wrap;gap:8px}.draft-resume .btn{flex:1;min-width:100px;padding:10px;font-size:13px}.draft-photo{margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.draft-photo img{width:100%;max-height:180px;object-fit:contain;border-radius:16px}.undo-bar{position:fixed;z-index:150;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:460px;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 14px;background:#234536;color:#fff;border-radius:16px;box-shadow:0 4px 20px #23382a26}.undo-bar span{flex:1;min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.undo-bar button{min-height:44px;border:0;background:none;padding:8px;color:#fff;font:inherit;font-size:13px}.undo-bar button:last-child{width:44px;flex-shrink:0;font-size:22px}.week-review{padding:16px 0}.week-review .section-heading{flex-wrap:wrap;gap:6px}.week-coverage{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin-inline:-14px}.week-coverage button{display:flex;align-items:center;flex-direction:column;gap:5px;border:0;background:none;color:var(--text);padding:8px 0;min-height:76px;border-radius:12px}.week-coverage button:active{background:#e7eedf}.week-coverage small{color:var(--muted);font-size:10px}.week-coverage button>span{display:flex;gap:4px}.week-coverage i,.week-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#dce2d7}.week-coverage .logged-food,.week-legend .logged-food{background:#4b7755}.week-coverage .logged-fluid,.week-legend .logged-fluid{background:#5793b4}.week-legend{display:flex;justify-content:center;gap:16px;font-size:11px;color:var(--muted);margin:6px 0 20px}.week-legend span{display:flex;align-items:center;gap:5px}.weekly-calories{display:flex;flex-direction:column;gap:6px}.weekly-calories>span{font-size:13px;color:var(--muted)}.weekly-calories strong{font-size:34px;font-weight:650}.weekly-calories small{font-size:14px;font-weight:400}.week-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0;gap:8px}.week-macros dt{color:var(--muted);font-size:12px}.week-macros dd{margin:5px 0 0;font-size:17px}.week-explanation{font-size:12px;color:var(--muted);line-height:1.6}.week-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.week-facts span,.week-facts small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.week-facts b{display:block;margin:5px 0;font-size:20px}.install-offer{display:flex;gap:12px;padding:18px 0 8px;margin-top:14px;border-top:1px solid var(--line)}.install-offer>svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.install-offer h2{font-size:15px;line-height:1.4;margin:0 0 5px}.install-offer p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.install-offer button{min-height:44px;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--accent);padding:8px 12px 8px 0}.install-offer button+button{color:var(--muted);padding-left:12px}.profile-install{display:flex;align-items:center;gap:12px;width:100%;margin-top:20px;padding:14px 0;min-height:64px;border:0;border-top:1px solid var(--line);background:none;text-align:left;color:var(--text);font:inherit}.profile-install>span:first-of-type{flex:1;min-width:0}.profile-install b{display:block;font-size:14px;line-height:1.5}.profile-install small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.home-screen-guide .select-grid{margin:18px 0}.install-steps{counter-reset:install-step;list-style:none;padding:0;margin:22px 0}.install-steps li{counter-increment:install-step;position:relative;padding-left:36px;margin-bottom:20px;line-height:1.5}.install-steps li:before{content:counter(install-step);position:absolute;top:0;left:0;display:grid;place-items:center;height:25px;width:25px;border-radius:50%;background:#e8eee1;color:var(--accent);font-size:12px;font-weight:600}.install-steps b{display:block;font-size:14px}.install-steps span{display:block;font-size:13px;color:var(--muted);margin-top:4px}.install-link{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:12px;color:var(--muted);text-align:center;margin:12px 0 20px}.home-screen-guide{display:block}.home-screen-guide .form-intro{margin:10px 0 0}.home-screen-guide .profile-footnote{margin:18px 0 0}.subscriptions-page,.ai-context{max-width:540px;margin:0 auto;padding:8px 0 28px;overflow-wrap:anywhere}.subscription-current{padding:20px 0 16px;border-bottom:1px solid var(--line)}.subscription-current h2{font-size:28px;margin:6px 0 8px;letter-spacing:-.7px}.subscription-current small{display:block;margin-top:8px}.subscriptions-page p,.ai-context p{line-height:1.55}.subscription-note,.subscription-current p,.subscription-usage small{color:var(--muted);font-size:13px}.subscription-options{display:grid;gap:14px;margin:22px 0}.subscription-option{padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 2px 6px #24352d04}.subscription-option.is-current{background:#edf3e8;border-color:#a9be9e}.subscription-option-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.subscription-option h2{font-size:22px;margin:0;line-height:1.25}.subscription-price{margin-left:auto;text-align:right}.subscription-price strong{display:block;font-size:22px;line-height:1.25;white-space:nowrap;letter-spacing:-.5px}.subscription-price small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.subscription-option>p{font-size:14px;margin:16px 0;color:#3e5244}.subscription-option>small{display:block;color:var(--muted);font-size:12px;margin-top:8px;line-height:1.5;text-align:center}.subscription-option .btn,.ai-context .btn{width:100%;min-height:46px;margin-top:10px}.subscription-option .subscription-limit{font-size:13px;color:#344e3c;background:#f0f4ed;border-radius:10px;padding:10px 12px;margin:0 0 6px}.subscription-badge{display:inline-flex;align-items:center;gap:6px;background:#dbe8d3;color:#2c4d34;border-radius:20px;padding:8px 12px;font-size:12px;font-weight:650}.subscription-usage{padding:16px;background:var(--card-2);border-radius:16px;margin-top:16px;color:#344a3c}.subscription-usage h3{margin:0 0 12px;font-size:14px}.subscription-usage-unlimited{font-weight:550;font-size:14px;line-height:1.65}.subscription-usage p{margin:10px 0 6px}.subscription-usage progress{display:block;width:100%;height:6px;accent-color:#729568;border:0;border-radius:12px;overflow:hidden}.subscription-usage progress::-webkit-progress-bar{background:#e1e7da}.subscription-usage progress::-webkit-progress-value{background:#729568}.subscription-management{padding:18px;background:#edf2e6;border:1px solid var(--line);border-radius:18px;margin:14px 0}.subscription-management h3{margin:0}.subscription-management p{font-size:13px;color:#415644}.subscription-management .btn{width:100%;min-height:44px;color:var(--accent);background:#fff;border:1px solid #cbd7c5}.subscription-terms,.subscription-history,.subscription-support{border-bottom:1px solid #dce3d5;padding:14px 0}.subscriptions-page summary{min-height:44px;display:flex;align-items:center;font-weight:600;cursor:pointer;gap:12px}.subscriptions-page summary:after{content:"+";margin-left:auto}.subscriptions-page details[open] summary:after{content:"−"}.subscription-terms p,.subscription-history p,.subscription-support p{font-size:13px;color:#526551}.subscription-agreement{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 0;font-size:13px;cursor:pointer}.subscription-agreement input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border:1.5px solid #9baa8d;border-radius:7px;background:#f9fbf5;flex:none;display:grid;place-content:center}.subscription-agreement input:checked{background:#729568;border-color:#729568}.subscription-agreement input:checked:after{content:"✓";color:#fff;font-size:17px}.subscription-agreement input:focus-visible{outline:2px solid #355d3b;outline-offset:3px}.subscription-support textarea{width:100%;min-height:100px;border:1px solid #c7d4bb;border-radius:14px;background:#fff;padding:12px;font:inherit;resize:vertical}.subscription-status{background:#e7eedf;border-radius:12px;padding:12px;font-size:14px}.subscription-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:#203d2a;padding:17px 16px;min-height:82px;margin:18px 0 24px;border:1px solid #c4d8b9;border-radius:20px;background:linear-gradient(115deg,#e0eed3,#eff5e7);box-shadow:0 4px 16px #536d3710}.subscription-link-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:13px;color:#3e693a;background:#cadfb7}.subscription-link-copy{flex:1;min-width:0}.subscription-link b,.subscription-link small{display:block}.subscription-link b{font-size:16px}.subscription-link small{margin-top:4px;color:#4f6753;font-size:12px;line-height:1.4}.subscription-link>svg{flex:none;color:#557747}.ai-context{padding-top:24px}.ai-context-icon{width:92px;height:92px;background:#e4eedc;border-radius:28px;display:grid;place-items:center;margin:8px 0 26px;color:#59844b}.ai-context h1{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:8px 0 18px}.ai-context .subscription-usage{margin-bottom:10px}.ai-context .flow-head h1{font-size:22px;margin:4px 0 0;letter-spacing:-.5px}.ai-context .flow-head{margin-bottom:22px}.ai-context h2{font-size:25px;line-height:1.2;letter-spacing:-.5px}.ai-locked{position:relative;isolation:isolate;overflow:hidden;border:1px solid #d8e1cf;border-radius:26px;background:#dce8d2}.ai-locked-preview{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;gap:15px;padding:34px 24px;color:#789967;background:radial-gradient(ellipse at 25% 25%,#ccdfb6,transparent 60%),linear-gradient(140deg,#eff3e7,#d9e7ce)}.ai-locked-preview span{width:70%;height:12px;border-radius:20px;background:#9bb68b}.ai-locked-preview span:last-child{width:44%}.ai-locked-glass{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 20px;background:#f8faf4db;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.ai-lock-badge{display:inline-flex;align-items:center;gap:7px;color:#506447;background:#e5eddc;border-radius:30px;padding:8px 12px;font-size:12px;font-weight:600}.ai-lock-symbol{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#dae8ce;color:#3f6938;margin:24px 0 5px}.ai-locked h2{margin:15px 0 0;max-width:290px}.ai-locked p{font-size:14px;color:#52634e;margin:14px 0 12px}.ai-locked small{color:#566b4e;font-size:12px;margin-top:13px}.ai-free-note{text-align:center;margin:20px 12px 4px}.subscription-checkout-dialog{position:fixed;inset:max(20px,var(--safe-top)) 0 max(20px,var(--safe-bottom));border:0;padding:0;width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - max(20px,var(--safe-top)) - max(20px,var(--safe-bottom)));overflow:auto;margin:auto;border-radius:25px;background:#f7f8f2;color:#20352a;box-shadow:0 20px 90px #213a2930}.subscription-checkout-dialog::backdrop{background:#17281e59;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.subscription-checkout{padding:22px}.subscription-checkout .sheet-title{margin-bottom:22px}.subscription-checkout .sheet-title button>svg{transform:rotate(45deg)}.checkout-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#dfedf1;color:#417988}.subscription-checkout h2{font-size:25px;margin:8px 0 14px;letter-spacing:-.5px}.subscription-checkout p{font-size:14px;line-height:1.55;margin:0 0 20px}.subscription-checkout .btn{width:100%;min-height:46px;margin-top:8px;text-align:center}.subscription-checkout small{display:block;color:#657261;font-size:12px;line-height:1.5;margin-top:16px}.subscription-checkout .checkout-feedback{font-size:12px;margin:10px 0 0;color:#4f6748}@media(prefers-reduced-motion:no-preference){.ai-context-icon{animation:ai-arrive .25s ease-out}@keyframes ai-arrive{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}}.onboarding-v2{display:flex;flex-direction:column;height:calc(100% - var(--keyboard-inset,0px));min-height:0;overflow:hidden;padding-bottom:0!important}.onboarding-content{flex:1;min-height:0;overflow:auto;padding-bottom:20px;scrollbar-width:none}.onboarding-v2 .onboarding-topline{align-items:center;margin-bottom:10px}.onboarding-v2 .onboarding-progress{flex-direction:column;align-items:flex-start;gap:4px}.onboarding-v2 .onboarding-progress span:last-child{margin-left:0;font-size:11px;color:var(--muted)}.onboarding-v2 .stepper{margin-bottom:28px;flex-shrink:0}.onboarding-v2 .onboarding-topline{flex-shrink:0}.onboarding-v2 .onboarding-symbol{width:64px;height:64px;border-radius:22px;margin:0 0 18px}.onboarding-welcome .eyebrow{display:block;color:var(--accent);font-size:13px;margin-bottom:8px}.onboarding-v2 h1{font-size:30px;line-height:1.15;max-width:360px;margin:0 0 20px}.onboarding-v2 .onboarding-points{padding:0;border:0;background:none;margin:22px 0 18px}.onboarding-v2 .onboarding-points span{border-bottom:1px solid var(--line);font-size:14px;min-height:66px}.onboarding-points small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:4px}.onboarding-v2 .onboarding-notice{font-size:12px;margin:16px 0 0;color:var(--muted)}.text-action{padding:10px 0;min-height:44px;background:none;border:0;color:var(--accent);font:inherit;font-size:12px;text-align:left;text-decoration:underline;text-underline-offset:3px}.onboarding-v2 .age-field{max-width:160px;margin:0 0 20px}.onboarding-v2 .onboarding-footer{position:static;transform:none;width:calc(100% + 40px);margin-left:-20px;margin-right:-20px;flex-shrink:0}.onboarding-v2 .onboarding-suitability{margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}.onboarding-v2 .onboarding-ack{margin:22px 0 0}.onboarding-v2 .onboarding-path button{padding:16px}.language-trigger{display:flex;align-items:center;gap:6px;border:0;background:#e7edde;min-width:78px;justify-content:center}.language-popover{width:176px;z-index:40;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 32px #19342920}.language-popover button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px;border:0;border-radius:10px;background:none;color:var(--text);font:inherit;font-size:14px}.language-popover button.active{background:#e7edde;color:var(--accent)}.language-popover small{font-size:11px;color:var(--accent)}.language-popover button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.calculation-info{border:1px solid var(--line);border-radius:24px;background:var(--bg);color:var(--text);padding:20px;width:calc(100% - 28px);max-width:430px;max-height:calc(100dvh - 40px);overflow:auto;margin:auto}.calculation-info::backdrop{background:#1d342b55;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.calculation-info header{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:14px}.calculation-info header h2{font-size:20px;line-height:1.3;margin:0}.calculation-info header button{width:44px;height:44px;flex-shrink:0;border:0;border-radius:14px;background:#e7edde;color:var(--accent);font-size:25px}.calculation-info h3{font-size:14px;margin:20px 0 6px}.calculation-info p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.calculation-info .btn{width:100%;margin-top:20px}.goal-direction{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 18px}.goal-direction button{border:1px solid var(--line);border-radius:14px;background:#fff;min-height:58px;padding:10px 6px;font:inherit;font-size:12px;line-height:1.4;color:var(--text)}.goal-direction button.active,.pace-choice button.active{background:#e2ebd8;color:var(--accent);border-color:#adbf9e;font-weight:600}.pace-choice{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:14px 0 0}.pace-choice>span{font-size:12px;margin-right:auto;color:var(--muted)}.pace-choice button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font:inherit;font-size:12px}.goal-guideline{background:#eaf0e1;border-radius:20px;padding:20px;margin:16px 0}.goal-guideline>span{font-size:13px;color:var(--accent)}.goal-guideline strong{display:block;font-size:34px;letter-spacing:-.035em;margin:8px 0 14px}.goal-guideline strong small{font-size:14px;letter-spacing:0;font-weight:400}.goal-guideline p{font-size:13px;margin:10px 0}.goal-guideline>small{display:block;color:var(--muted);font-size:12px;line-height:1.5}.goal-editor .goal-diary-choice{margin:10px 0 0;padding:8px 0;min-height:44px}.review-history{margin:20px 0;border-top:1px solid var(--line)}.review-history summary{min-height:48px;padding:14px 0;font-size:13px;cursor:pointer}.review-history>div{display:flex;gap:12px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.review-history small{display:block;color:var(--muted);margin-top:4px}@media(max-width:350px){.onboarding-v2 h1{font-size:27px}.goal-direction button{font-size:11px}.calculation-info{padding:16px}.onboarding-v2 .onboarding-points span{font-size:13px}.onboarding-v2 .onboarding-footer{width:calc(100% + 30px);margin-left:-15px;margin-right:-15px}}.onboarding-v3 .stepper{margin-bottom:24px}.onboarding-v3 h1{font-size:32px;line-height:1.12;letter-spacing:-.8px;margin-bottom:14px;outline:none}.onboarding-v3 .form-intro{font-size:14px;line-height:1.55;margin:0 0 24px;color:var(--muted)}.onboarding-v3 .onboarding-symbol{width:72px;height:72px;margin-top:10px;margin-bottom:26px}.onboarding-v3 .onboarding-welcome h1{max-width:290px;font-size:38px}.onboarding-v3 .onboarding-points{margin-top:24px}.registration-sex{padding:0;border:0;margin:0 0 18px;min-width:0}.registration-sex legend{font-size:13px;margin-bottom:9px;color:var(--muted)}.registration-sex .select-grid{margin:0}.registration-sex button{min-height:48px}.registration-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.registration-numbers .field{font-size:12px;min-width:0;margin:0}.registration-numbers input{padding:12px 10px;min-width:0;font-size:21px;font-weight:650;height:58px}.registration-suitability{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.registration-suitability h2{font-size:15px;margin:0 0 7px}.registration-suitability p{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 12px}.registration-suitability-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.registration-suitability-actions button{border:1px solid var(--line);padding:11px 9px;min-height:48px;background:var(--card,#fff);border-radius:14px;color:var(--text);font-size:12px;line-height:1.4;font-weight:600}.registration-suitability-actions button.active{border-color:var(--accent);background:var(--soft,#e8efdf);color:var(--accent)}.registration-goals{display:grid;gap:10px;margin:0 0 24px}.registration-goals button{display:grid;grid-template-columns:40px 1fr 20px;gap:12px;align-items:center;border:1px solid var(--line);background:var(--card,#fff);color:var(--text);border-radius:18px;padding:17px 15px;text-align:left;min-height:92px}.registration-goals button.active{background:#e7eedf;border-color:#8da783}.registration-goals b{display:block;font-size:16px;line-height:1.25;font-weight:650}.registration-goals small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}.registration-goal-icon{font-size:27px;width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#f1f4ec;color:var(--accent)}.active .registration-goal-icon{background:#d7e4ca}.registration-radio{display:grid;place-items:center;border:1px solid #b5c2ae;border-radius:50%;height:20px;width:20px}.active .registration-radio{background:var(--accent);border-color:var(--accent);color:#fff}.registration-target{padding-top:0}.registration-target .field{font-size:14px;font-weight:600;margin-bottom:8px}.registration-target-input{position:relative;margin-top:8px}.registration-target-input input{width:100%;height:68px;padding:14px 54px 14px 17px;font-size:30px;font-weight:650;background:#fff;border:1px solid var(--line);border-radius:16px}.registration-target-input>span{position:absolute;right:18px;top:24px;font-size:15px;font-weight:400;color:var(--muted);pointer-events:none}.registration-target .field-hint,.registration-maintain{font-size:12px;color:var(--muted);line-height:1.6}.registration-activity{gap:9px}.registration-activity button{display:grid;grid-template-columns:31px 1fr;gap:15px;align-items:center;padding:14px;min-height:79px}.registration-activity b{font-size:14px;line-height:1.3}.registration-activity small{font-size:12px;line-height:1.5}.activity-mark{display:flex;align-items:flex-end;gap:3px;height:25px}.activity-mark i{width:4px;background:#d8e1d2;border-radius:3px;height:9px}.activity-mark i:nth-child(2){height:13px}.activity-mark i:nth-child(3){height:17px}.activity-mark i:nth-child(4){height:21px}.activity-mark i:nth-child(5){height:25px}.activity-mark i.on{background:#789569}.registration-result{background:linear-gradient(130deg,#e6eddc,#eef2e8);border-radius:23px;padding:20px;margin:20px 0 14px}.registration-result-goal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #d4dfca}.registration-result-goal span{font-size:12px;color:var(--muted);display:block;margin-bottom:3px}.registration-result-goal b{font-size:19px;font-weight:650}.registration-result-goal button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#ffffffa6;color:var(--accent);flex-shrink:0}.registration-energy{padding-top:18px}.registration-energy>span{display:block;color:var(--muted);font-size:12px}.registration-energy strong{font-size:44px;letter-spacing:-1.7px;line-height:1.3;display:block;font-weight:650;font-variant-numeric:tabular-nums}.registration-energy small{font-size:14px;letter-spacing:0;font-weight:500}.registration-result>p{font-size:12px;line-height:1.5;color:var(--muted);margin:9px 0 0;max-width:290px}.registration-gentle{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:62px;margin:0 0 10px;padding:3px 0}.registration-gentle input{width:23px;height:23px;flex-shrink:0;accent-color:var(--accent)}.registration-gentle b{display:block;font-size:13px;font-weight:600}.registration-gentle small{display:block;font-size:11px;line-height:1.5;margin-top:3px;color:var(--muted)}.registration-recap{border-top:1px solid var(--line)}.registration-recap button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:12px 0;color:var(--text);min-height:56px;font-size:13px}.registration-recap small{display:block;margin-top:3px;font-size:11px;color:var(--muted);line-height:1.4}.registration-recap svg{color:var(--muted);flex-shrink:0}.registration-review{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.6;color:var(--muted);margin:15px 0 0}.registration-review svg{flex-shrink:0;color:#6b885e}.onboarding-v3 .onboarding-ack{margin-top:16px;font-size:11px;line-height:1.6}.onboarding-v3 .text-action{font-size:12px;min-height:44px}.registration-stop{padding:18px;background:#f0eee4;border:1px solid #e0dccb;border-radius:18px;margin:18px 0}.registration-stop h2{font-size:20px;margin:12px 0}.registration-stop p{font-size:13px;line-height:1.65;color:#625f50}.registration-stop .btn{margin-top:10px}.registration-loading{display:flex;align-items:center;gap:14px;min-height:150px;font-size:14px;color:var(--muted)}@media(max-width:350px){.onboarding-v3 h1{font-size:29px}.onboarding-v3 .onboarding-welcome h1{font-size:34px}.registration-numbers{gap:7px}.registration-numbers .field{font-size:11px}.registration-goals button{padding:14px 12px;grid-template-columns:34px 1fr 20px;gap:10px}.registration-goal-icon{width:34px;height:36px}.registration-goals b{font-size:15px}.registration-goals small{font-size:11px}.registration-activity button{padding:12px;gap:10px}.registration-energy strong{font-size:39px}.registration-result{padding:17px}.registration-suitability-actions button{font-size:11px}}.onboarding-v3 .registration-numbers .field input{font-size:21px;background:#fff}.onboarding-v3 .field .registration-target-input input{font-size:30px;background:#fff}.onboarding-v3 .registration-gentle{align-items:center}:is(html[data-design=flow],html[data-theme=dark]) body{background:radial-gradient(1200px 600px at 50% -10%,var(--water) 0%,var(--bg) 55%);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) button,:is(html[data-design=flow],html[data-theme=dark]) input,:is(html[data-design=flow],html[data-theme=dark]) select,:is(html[data-design=flow],html[data-theme=dark]) textarea{color:inherit}:is(html[data-design=flow],html[data-theme=dark]) a{color:inherit}:is(html[data-design=flow],html[data-theme=dark]) .eyebrow{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .card{background:linear-gradient(180deg,var(--card) 0%,var(--bg) 100%);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .hero-kcal .unit{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .bar{background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .bar>span{background:linear-gradient(90deg,var(--danger),var(--warm-soft))}:is(html[data-design=flow],html[data-theme=dark]) .macro{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .dot.p{background:var(--protein)}:is(html[data-design=flow],html[data-theme=dark]) .dot.f{background:var(--fat)}:is(html[data-design=flow],html[data-theme=dark]) .dot.c{background:var(--carbs)}:is(html[data-design=flow],html[data-theme=dark]) .macro b{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .remain{color:var(--accent-2)}:is(html[data-design=flow],html[data-theme=dark]) .remain.over{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .item-btn{background:none;border:0;border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .item-btn .meta{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .plus{border:1px solid var(--line);background:var(--card-2)}:is(html[data-design=flow],html[data-theme=dark]) .sheet{background:color-mix(in srgb,var(--bg) 55%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .btn{border:0;background:linear-gradient(180deg,var(--warn),var(--danger));color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .btn.secondary{background:var(--card-2);color:var(--text);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .btn.ghost{background:transparent;color:var(--muted);border:1px dashed var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .area{background:var(--bg-2);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .area:focus{border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .scanner-stage{background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .scanner-mask{background:linear-gradient(180deg,color-mix(in srgb,var(--overlay-ink) 35%,transparent) 0%,transparent 22%,transparent 78%,color-mix(in srgb,var(--overlay-ink) 40%,transparent) 100%)}:is(html[data-design=flow],html[data-theme=dark]) .scanner-roi{border:2px solid var(--danger);box-shadow:0 0 0 999px color-mix(in srgb,var(--shadow-ink) 38%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .scanner-hint{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .scanner-chip{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .scanner-chip.on{border-color:var(--accent);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .scanner-debug{background:var(--bg);border:1px solid var(--line);color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .btn.warn{background:var(--warn);color:var(--warn);border:1px solid var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .nav{background:color-mix(in srgb,var(--bg) 92%,transparent);border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .nav a{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .nav a.active{color:var(--accent);background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .choice{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .choice.active{border-color:var(--accent);background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .choice small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) label.field{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) input[type=number],:is(html[data-design=flow],html[data-theme=dark]) input[type=text],:is(html[data-design=flow],html[data-theme=dark]) input[type=search]{background:var(--bg-2);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) input:focus{border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) label.field input:not([type=checkbox]){background:var(--bg-2);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) label.field input:focus{border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .warn-box,:is(html[data-design=flow],html[data-theme=dark]) .note{background:var(--warn);border:1px solid var(--warn);color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .note{background:var(--bg);border-color:var(--line);color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .check{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .item{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .item .meta{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .linkish{background:none;border:0;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .stepper i{background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .stat{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .stat span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .date-nav button{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .pills button{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .pills button.on{border-color:var(--accent);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .muted{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .error{color:var(--danger)}:is(html[data-design=flow],html[data-theme=dark]) .empty{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .profile-row{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .profile-row span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .qty button{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .loader{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .disclaimer{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-eyebrow{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-back{border:0;background:var(--card);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .photo-ai-avatar{background:var(--danger);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-message.assistant p{background:var(--card);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .photo-section-title span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-dishes{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .photo-dish{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .photo-dish-copy p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-select{border:1px solid var(--water);background:transparent;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .photo-select.is-selected{border-color:var(--accent);background:var(--accent);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .photo-remove{border:0;background:transparent;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-remove:active,:is(html[data-design=flow],html[data-theme=dark]) .photo-ingredient-remove:active{color:var(--danger);background:var(--danger)}:is(html[data-design=flow],html[data-theme=dark]) .photo-dish-meta{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-dish-meta strong{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .photo-unresolved{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .photo-dish-actions button{border:0;background:var(--water);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-dish-actions button:active{background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .photo-empty{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-add{border:0;background:transparent;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-add span{border:1px solid var(--danger)}:is(html[data-design=flow],html[data-theme=dark]) .photo-meal>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-meal-pills button{border:1px solid var(--line);background:var(--card);color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-meal-pills button.active{border-color:var(--danger);background:var(--danger);color:var(--accent-2)}:is(html[data-design=flow],html[data-theme=dark]) .photo-summary{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .photo-summary p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-footer{border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 96%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-confirm,:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-done{border:0;background:linear-gradient(180deg,var(--warn),var(--danger));color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .photo-overlay{background:color-mix(in srgb,var(--bg) 68%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet{background:var(--water);box-shadow:0 -14px 50px color-mix(in srgb,var(--shadow-ink) 35%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-handle{background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-head button{border:0;background:var(--water);color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-editor>p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-controls>button{border:0;background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-controls label{border:1px solid var(--water);background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-controls input{border:0;background:transparent}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-controls label span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-preview{color:var(--accent-2)}:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-done{box-shadow:0 -8px 0 var(--shadow-ink)}:is(html[data-design=flow],html[data-theme=dark]) .photo-rename{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-rename input{border:1px solid var(--water);background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-hint{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-ingredient{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .photo-ingredient-name{border:0;background:transparent}:is(html[data-design=flow],html[data-theme=dark]) .photo-ingredient-name small{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .photo-ingredient-remove{border:0;background:transparent;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-replace-all{border:0;background:var(--water);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .photo-search-field{border:1px solid var(--water);background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .photo-search-field span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-search-field input{border:0;background:transparent}:is(html[data-design=flow],html[data-theme=dark]) .photo-search-results>button{border:0;border-bottom:1px solid var(--line);background:transparent}:is(html[data-design=flow],html[data-theme=dark]) .photo-search-results small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-search-state{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .page-head .eyebrow{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .card{background:var(--card);border-color:transparent}:is(html[data-design=flow],html[data-theme=dark]) .btn.secondary{background:var(--card-2);border-color:transparent}:is(html[data-design=flow],html[data-theme=dark]) .btn.ghost{border:0;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .choice{border-color:transparent;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .choice.active{border-color:var(--danger)}:is(html[data-design=flow],html[data-theme=dark]) .pills button{border-color:transparent;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .pills button.on{border-color:var(--danger);background:var(--danger);color:var(--accent-2)}:is(html[data-design=flow],html[data-theme=dark]) input[type=number],:is(html[data-design=flow],html[data-theme=dark]) input[type=text],:is(html[data-design=flow],html[data-theme=dark]) input[type=search],:is(html[data-design=flow],html[data-theme=dark]) .area{border-color:var(--water);background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) input:focus,:is(html[data-design=flow],html[data-theme=dark]) .area:focus{border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .sheet{background:color-mix(in srgb,var(--bg) 70%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .sheet-card{background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .sheet-title button{border:0;background:var(--water);color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .nav{background:color-mix(in srgb,var(--bg) 96%,transparent);border-color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .nav a.active{background:var(--danger);color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .section-heading span,:is(html[data-design=flow],html[data-theme=dark]) .section-heading button{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .section-heading button{border:0;background:none;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .retry-line button{border:0;background:none;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .form-intro{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .select-grid button{border:1px solid transparent;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .select-grid button.active,:is(html[data-design=flow],html[data-theme=dark]) .select-list button.active{border-color:var(--warn);background:var(--warn);color:var(--accent-2)}:is(html[data-design=flow],html[data-theme=dark]) .select-list button{border:1px solid transparent;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .select-list small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .calorie-hero{background:linear-gradient(155deg,var(--accent),var(--water) 47%,var(--water))}:is(html[data-design=flow],html[data-theme=dark]) .hero-label{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .hero-amount small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .hero-track{background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .hero-track span{background:linear-gradient(90deg,var(--danger),var(--warm-soft))}:is(html[data-design=flow],html[data-theme=dark]) .hero-legend{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .hero-macros{border-top:1px solid var(--line-strong)}:is(html[data-design=flow],html[data-theme=dark]) .today-actions button{border:0;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .today-actions span{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .meal-section{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .meal-section-head span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .meal-food{border:0;border-bottom:1px solid var(--water);background:none}:is(html[data-design=flow],html[data-theme=dark]) .meal-food small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .meal-add{border:0;background:none;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .food-sheet-total span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .food-sheet-ingredients button{border:0;border-bottom:1px solid var(--line);background:none}:is(html[data-design=flow],html[data-theme=dark]) .food-sheet-ingredients button span:last-child{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .food-sheet-ingredients small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .food-sheet-move>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .food-delete,:is(html[data-design=flow],html[data-theme=dark]) .food-sheet-confirm button{border:0;background:none;color:var(--danger)}:is(html[data-design=flow],html[data-theme=dark]) .food-sheet-confirm{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .food-sheet-confirm button:last-child{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .water-panel{background:linear-gradient(150deg,var(--water),var(--water))}:is(html[data-design=flow],html[data-theme=dark]) .water-icon{background:var(--water);color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-head p{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-head>strong{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-track{background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-track span{background:linear-gradient(90deg,var(--water),var(--blue-soft))}:is(html[data-design=flow],html[data-theme=dark]) .water-track span:after{background:color-mix(in srgb,var(--card) 18%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .water-actions button{border:0;background:var(--water);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .water-actions .water-other{background:var(--water);color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-details-toggle{border:0;background:none;color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-details{border-top:1px solid var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-entry{border-bottom:1px solid var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-entry button{border:0;background:none;color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-entry .water-delete{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .water-goal-button{border:0;background:none;color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-goal-button span{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-bump{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .diary-date button{border:0;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .diary-date small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .diary-overview{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .diary-overview>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .diary-repeat{border:0;background:var(--card-2);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .add-method{border:0;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .add-method.featured{background:linear-gradient(110deg,var(--danger),var(--accent))}:is(html[data-design=flow],html[data-theme=dark]) .method-icon{background:var(--water);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .add-method.featured .method-icon{background:var(--danger)}:is(html[data-design=flow],html[data-theme=dark]) .add-method small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .add-method i{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .text-action{border:0;background:none;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-upload{border:1px dashed var(--danger);background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-upload>span{background:var(--danger);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-upload small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .upload-loading{color:var(--accent-2)}:is(html[data-design=flow],html[data-theme=dark]) .flow-head .eyebrow{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .flow-head p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .flow-back{border:0;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .food-search .search-row .plus,:is(html[data-design=flow],html[data-theme=dark]) .add-hub .search-row .plus{border:0;background:var(--card-2);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .food-detail .favorite-toggle{border:0;background:none;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .food-reference{background:var(--card);color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .food-detail .qty button{border:0;background:var(--card-2)}:is(html[data-design=flow],html[data-theme=dark]) .food-preview{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .food-preview span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .food-preview small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-choice{border:0;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-choice small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-choice i{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .add-outline{border:1px dashed var(--danger);background:var(--accent);color:var(--accent-2)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-delete-confirm button{border:0;background:none;color:var(--danger)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-delete-confirm button:last-child{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-ingredient{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-ingredient label{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-ingredient button{border:0;background:none;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .weight-hero,:is(html[data-design=flow],html[data-theme=dark]) .profile-goal{background:linear-gradient(140deg,var(--water),var(--water))}:is(html[data-design=flow],html[data-theme=dark]) .weight-hero span,:is(html[data-design=flow],html[data-theme=dark]) .profile-goal>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .weight-hero strong small,:is(html[data-design=flow],html[data-theme=dark]) .profile-goal strong small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .weight-hero p,:is(html[data-design=flow],html[data-theme=dark]) .profile-goal p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .weight-hero button{border:0;background:var(--warn);color:var(--accent-2)}:is(html[data-design=flow],html[data-theme=dark]) .trend-section .chart{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .trend-caption{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .water-bars i{background:linear-gradient(var(--blue-soft),var(--water))}:is(html[data-design=flow],html[data-theme=dark]) .water-bars small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .progress-insight{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .progress-insight p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .decision-panel{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .decision-panel button{border:0;background:var(--warn);color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .decision-panel button:last-child{background:var(--accent);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .success-note{color:var(--good)}:is(html[data-design=flow],html[data-theme=dark]) .profile-menu{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .profile-menu button{border:0;border-bottom:1px solid var(--line);background:none}:is(html[data-design=flow],html[data-theme=dark]) .profile-menu small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .profile-menu i{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .profile-footnote{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .edit-head>button{border:0;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .edit-head .eyebrow{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-progress{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-symbol{background:var(--warn);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-points span{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-disclaimer{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-page .check input{border:1px solid var(--water);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-page .check input:checked{border-color:var(--accent);background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-page .check input:checked:after{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-footer{border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 97%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-back{border:0;background:none;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-result{background:linear-gradient(150deg,var(--warn),var(--water))}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-result>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-result strong small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-goal{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) body{background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) button:focus-visible,:is(html[data-design=flow],html[data-theme=dark]) a:focus-visible,:is(html[data-design=flow],html[data-theme=dark]) input:focus-visible,:is(html[data-design=flow],html[data-theme=dark]) textarea:focus-visible,:is(html[data-design=flow],html[data-theme=dark]) summary:focus-visible{outline:3px solid var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .app{background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-total{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-total strong{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .page-head p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .page-head .eyebrow{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .section-heading button span{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .btn,:is(html[data-design=flow],html[data-theme=dark]) .photo-confirm,:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-done{background:var(--accent);color:var(--on-accent);box-shadow:none}:is(html[data-design=flow],html[data-theme=dark]) .btn.secondary{background:var(--card-2);border:0;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .btn.ghost{background:transparent;border:0}:is(html[data-design=flow],html[data-theme=dark]) .card{background:var(--card);border:1px solid var(--line);box-shadow:none}:is(html[data-design=flow],html[data-theme=dark]) .field{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) input:not([type=checkbox]):not([type=file]),:is(html[data-design=flow],html[data-theme=dark]) select,:is(html[data-design=flow],html[data-theme=dark]) textarea,:is(html[data-design=flow],html[data-theme=dark]) .area{background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:none}:is(html[data-design=flow],html[data-theme=dark]) input::placeholder,:is(html[data-design=flow],html[data-theme=dark]) textarea::placeholder{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .form-label{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .pills button,:is(html[data-design=flow],html[data-theme=dark]) .photo-meal-pills button{background:var(--card-2);border:1px solid transparent;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .pills button.on,:is(html[data-design=flow],html[data-theme=dark]) .photo-meal-pills button.active{background:var(--accent-soft);border-color:var(--line);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .select-list button,:is(html[data-design=flow],html[data-theme=dark]) .select-grid button{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .select-list button:after{border:1.5px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .select-list button.active,:is(html[data-design=flow],html[data-theme=dark]) .select-grid button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .select-list button.active:after{border:5px solid var(--accent);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .error{color:var(--danger);background:var(--danger-soft)}:is(html[data-design=flow],html[data-theme=dark]) .warn-box{color:var(--warn);background:var(--warm-soft);border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .success-note{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .empty{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .loader h1{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .loading-brand{color:var(--accent);background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .loading-skeleton i{background:linear-gradient(100deg,var(--card) 25%,var(--card) 50%,var(--card) 75%)}:is(html[data-design=flow],html[data-theme=dark]) .login-page p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .nav{background:color-mix(in srgb,var(--card) 97%,transparent);border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .nav a{background:transparent}:is(html[data-design=flow],html[data-theme=dark]) .nav a.active{background:transparent;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .nav a.active svg{fill:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .nav a.nav-add svg{background:var(--accent);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .nav a.nav-add{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .sheet,:is(html[data-design=flow],html[data-theme=dark]) .photo-overlay{background:color-mix(in srgb,var(--overlay-ink) 30%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .sheet-card,:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet{background:var(--bg);box-shadow:0 -10px 60px color-mix(in srgb,var(--shadow-ink) 9%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .sheet-title button,:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-head button{background:var(--accent-soft);color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .flow-back,:is(html[data-design=flow],html[data-theme=dark]) .edit-head>button,:is(html[data-design=flow],html[data-theme=dark]) .photo-back{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .flow-head .eyebrow{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .brand-mark{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .home-heading>button{border:0;background:transparent;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .daily-balance{--protein:var(--tone-protein);--fat:var(--tone-fat);--carbs:var(--tone-carbs);border:1px solid var(--line);background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .balance-more{border:0;background:transparent;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .balance-calories p{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .balance-eaten{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .balance-eaten b{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .energy-ring{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .energy-ring-copy span{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .energy-ring>svg:first-child circle{fill:none}:is(html[data-design=flow],html[data-theme=dark]) .ring-track{stroke:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .ring-fill{stroke:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient strong small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient>small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient-track{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient-track i{background:var(--protein)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient.fat .nutrient-track i{background:var(--fat)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient.carbs .nutrient-track i{background:var(--carbs)}:is(html[data-design=flow],html[data-theme=dark]) .daily-balance .nutrition-summary{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .daily-balance .nutrient>span,:is(html[data-design=flow],html[data-theme=dark]) .daily-balance .nutrient>small,:is(html[data-design=flow],html[data-theme=dark]) .daily-balance .nutrient strong small{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .daily-balance .nutrient-focus>span{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .balance-note{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .balance-note strong{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient-focus>span{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .nutrient-focus .nutrient-track i:after{background:var(--text);box-shadow:0 0 0 2px var(--shadow-ink)}:is(html[data-design=flow],html[data-theme=dark]) .balance-ratios span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .balance-ratios b{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .balance-explanation>small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .balance-details .sheet-title{background:var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .balance-details .sheet-title p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .detail-row{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .detail-row p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .detail-row small{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .detail-track{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .detail-track i{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .detail-footnote{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .custom-extras{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .custom-extras>p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .add-food-primary{border:0;background:var(--accent);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .capture-shortcuts button{border:0}:is(html[data-design=flow],html[data-theme=dark]) .photo-shortcut{background:var(--warm-soft);color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .barcode-shortcut{background:var(--card);color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .capture-shortcuts b{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .capture-shortcuts small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .water-panel{background:var(--blue-soft);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .water-topline h2{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-topline>button{border:0;background:none;color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-glass{background:color-mix(in srgb,var(--card) 66%,transparent);border:2px solid var(--water);border-top:3px solid var(--water);box-shadow:0 7px 0 -4px color-mix(in srgb,var(--shadow-ink) 20%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .glass-liquid{background:linear-gradient(var(--water),var(--water))}:is(html[data-design=flow],html[data-theme=dark]) .glass-liquid:before{background:var(--blue-soft)}:is(html[data-design=flow],html[data-theme=dark]) .glass-shine{background:color-mix(in srgb,var(--card) 42%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .glass-ripple{border:3px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .water-amount strong{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-amount p{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-amount .fluid-breakdown{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .cup-size{border:0;background:none;color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-actions button{background:var(--water);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .water-actions .water-other{background:var(--blue-soft);color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-details{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .water-entry{border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .water-entry button,:is(html[data-design=flow],html[data-theme=dark]) .water-goal-button span{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-goal-button{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-details>p{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .cup-options button{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .cup-options button.active{border-color:var(--water);background:var(--blue-soft)}:is(html[data-design=flow],html[data-theme=dark]) .cup-options span{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .mini-glass{border:2px solid var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .mini-glass i{background:var(--blue-soft)}:is(html[data-design=flow],html[data-theme=dark]) .water-secondary-actions button{border:0;background:none;color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-entry>span small{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-hint{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-volume>span,:is(html[data-design=flow],html[data-theme=dark]) .beverage-meal>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-volume strong{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-volumes button{border:1px solid var(--line);background:var(--card);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-volumes button.active,:is(html[data-design=flow],html[data-theme=dark]) .beverage-meal button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-reveal{border:0;background:none;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-addons-title{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-addons-title span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-addon{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-addon small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-addon-add{border:0;background:var(--card-2);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-stepper{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-stepper>button{border:0;background:none;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-stepper label{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-stepper input{border:0;background:none;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-note{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-meal-toggle{border:0;background:none;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-meal button{border:1px solid var(--line);background:var(--card);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .beverage-save{box-shadow:0 0 0 8px var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .meal-list{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .meal-section{border:0}:is(html[data-design=flow],html[data-theme=dark]) .meal-section+.meal-section{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .meal-expand{background:none;border:0}:is(html[data-design=flow],html[data-theme=dark]) .meal-symbol{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .meal-symbol.lunch{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .meal-symbol.dinner{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .meal-symbol.snack{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .meal-line-copy small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .meal-line-total small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .meal-inline-add{border:0;background:transparent;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .meal-contents{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .meal-food{border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .meal-food:last-child{border:0}:is(html[data-design=flow],html[data-theme=dark]) .diary-date>button{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .date-picker span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .week-strip button{border:0;background:transparent}:is(html[data-design=flow],html[data-theme=dark]) .week-strip span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .week-strip .today-dot{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .week-strip button.active{background:var(--accent);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .week-strip button.active span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .week-strip button.active i{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .diary-day-summary{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .diary-day-summary>div:first-child>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .diary-day-summary p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .diary-day-summary .nutrition-summary{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .diary-repeat{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .search-launch{border:1px solid var(--line);background:var(--card);color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .method-tile{border:0}:is(html[data-design=flow],html[data-theme=dark]) .method-tile b{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .method-tile small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .camera-tile{background:var(--warm-soft);color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .barcode-tile{background:var(--card);color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .add-secondary{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .add-secondary button{border:0;background:none;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .add-secondary button span{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .add-secondary button+button{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .choice,:is(html[data-design=flow],html[data-theme=dark]) .food-search .search-row .choice{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .food-search .search-row .plus,:is(html[data-design=flow],html[data-theme=dark]) .add-hub .search-row .plus{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .search-input{background:var(--card);border:1px solid var(--line);color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .search-input input[type=search]{border:0;background:none}:is(html[data-design=flow],html[data-theme=dark]) .search-input:focus-within,:is(html[data-design=flow],html[data-theme=dark]) .photo-search-field:focus-within{border-color:var(--line-strong)}:is(html[data-design=flow],html[data-theme=dark]) .search-input input:focus-visible,:is(html[data-design=flow],html[data-theme=dark]) .photo-search-field input:focus-visible{box-shadow:none}:is(html[data-design=flow],html[data-theme=dark]) .search-status{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .food-reference{background:none}:is(html[data-design=flow],html[data-theme=dark]) .food-preview{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .food-preview .nutrition-summary{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .food-detail .qty button{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .camera-frame{color:var(--accent);border:2px solid var(--line);background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .photo-guide p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .photo-upload{border:0;background:var(--accent);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .gallery-upload{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .photo-reassurance{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .barcode-heading{background:var(--card);color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .scanner-roi{border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .recipe-choice{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .add-outline{background:var(--accent-soft);border:1px solid var(--line);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-ai-avatar{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-message.assistant p{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .photo-select.is-selected{background:var(--accent);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-dish-actions button{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-add span{border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .photo-footer{background:color-mix(in srgb,var(--card) 96%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-handle{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet-done{box-shadow:0 -8px 0 var(--bg)}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-controls>button,:is(html[data-design=flow],html[data-theme=dark]) .photo-replace-all{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-controls label,:is(html[data-design=flow],html[data-theme=dark]) .photo-search-field{background:var(--card);border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .photo-portion-controls input{background:none!important;border:0!important}:is(html[data-design=flow],html[data-theme=dark]) .photo-rename input{background:var(--card);border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .photo-search-field input{background:none!important;border:0!important}:is(html[data-design=flow],html[data-theme=dark]) .photo-summary{background:var(--accent-soft);border:0}:is(html[data-design=flow],html[data-theme=dark]) .view-tabs{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .view-tabs button{border:0;background:transparent;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .view-tabs button[aria-selected=true]{background:var(--card);color:var(--accent);box-shadow:0 2px 5px color-mix(in srgb,var(--shadow-ink) 4%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .weight-hero,:is(html[data-design=flow],html[data-theme=dark]) .profile-goal{background:var(--accent-soft);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .weight-hero button{background:var(--accent);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .trend-section .chart{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .chart-dates{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .weight-log,:is(html[data-design=flow],html[data-theme=dark]) .progress-insight{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .weight-log>div{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .habit-summary{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .habit-summary>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .habit-summary p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .water-bars{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .water-bars span{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-bars i{background:linear-gradient(var(--water),var(--water))}:is(html[data-design=flow],html[data-theme=dark]) .decision-panel{background:var(--warm-soft)}:is(html[data-design=flow],html[data-theme=dark]) .decision-panel p{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .decision-panel button{background:var(--accent);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .decision-panel button:last-child{background:var(--warm-soft)}:is(html[data-design=flow],html[data-theme=dark]) .profile-avatar{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .profile-goal .nutrition-summary{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .profile-menu{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .profile-menu button:last-child{border:0}:is(html[data-design=flow],html[data-theme=dark]) .edit-head .eyebrow{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .stepper i{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .stepper i.on{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-symbol{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-points{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-points span:last-child{border:0}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-points svg{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-page .check input{border-color:var(--accent);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-page .check input:checked:after{color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-footer{background:color-mix(in srgb,var(--card) 98%,transparent);border-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-result{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .language-trigger{border:1px solid var(--line);background:var(--card);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .language-compact .language-picker{border:1px solid var(--line);background:var(--card);box-shadow:0 8px 26px color-mix(in srgb,var(--shadow-ink) 8%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .field-hint,:is(html[data-design=flow],html[data-theme=dark]) .goal-editor .field small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-suitability{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-suitability>p,:is(html[data-design=flow],html[data-theme=dark]) .goal-period p,:is(html[data-design=flow],html[data-theme=dark]) .goal-summary p,:is(html[data-design=flow],html[data-theme=dark]) .onboarding-result>p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .goal-diary-choice{border:0;background:transparent;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-status{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .goal-period{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .goal-period label b{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-period-controls button{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-period input[type=range]{border:0;background:transparent;box-shadow:none}:is(html[data-design=flow],html[data-theme=dark]) .goal-period input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) var(--goal-progress),var(--accent-soft) var(--goal-progress))}:is(html[data-design=flow],html[data-theme=dark]) .goal-period input[type=range]::-webkit-slider-thumb{border:3px solid var(--line);background:var(--accent);box-shadow:0 1px 5px color-mix(in srgb,var(--shadow-ink) 15%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-period input[type=range]::-moz-range-track{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .goal-period input[type=range]::-moz-range-progress{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-period input[type=range]::-moz-range-thumb{border:3px solid var(--line);background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-summary{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .goal-summary>span{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-progress-track{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .goal-progress-track i{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-suitability{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .goal-editor .onboarding-result>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .daily-balance{background:linear-gradient(135deg,color-mix(in srgb,var(--warn) calc(var(--balance-glow,0) * 100%),transparent),transparent 53%),var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .balance-state{border:0;background:transparent;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .balance-state-mark{background:color-mix(in srgb,var(--accent) 10%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .balance-state-mark i{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .balance-slight .balance-state,:is(html[data-design=flow],html[data-theme=dark]) .balance-noticeable .balance-state,:is(html[data-design=flow],html[data-theme=dark]) .balance-strong .balance-state{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .balance-slight .balance-state-mark,:is(html[data-design=flow],html[data-theme=dark]) .balance-noticeable .balance-state-mark,:is(html[data-design=flow],html[data-theme=dark]) .balance-strong .balance-state-mark{background:color-mix(in srgb,var(--warn) calc(var(--balance-chip,.08) * 100%),transparent)}:is(html[data-design=flow],html[data-theme=dark]) .balance-slight .balance-state-mark i,:is(html[data-design=flow],html[data-theme=dark]) .balance-noticeable .balance-state-mark i,:is(html[data-design=flow],html[data-theme=dark]) .balance-strong .balance-state-mark i{background:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .balance-strong .balance-state-mark i{background:var(--danger)}:is(html[data-design=flow],html[data-theme=dark]) .balance-note{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .balance-nutrient-peek{border:0;background:transparent;color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .balance-nutrient-peek>span{background:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .detail-row .detail-signal{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .package-choices p,:is(html[data-design=flow],html[data-theme=dark]) .portion-equivalent{color:var(--muted, var(--muted))}:is(html[data-design=flow],html[data-theme=dark]) .quantity-switch{border:0;background:transparent;color:var(--green-dark, var(--text))}:is(html[data-design=flow],html[data-theme=dark]) .language-picker{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .language-picker button{border:0;background:transparent;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .language-picker button.active{background:var(--card);color:var(--text);box-shadow:0 1px 4px color-mix(in srgb,var(--shadow-ink) 9%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .profile-language>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-list{background:none;border:0}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .is-empty .meal-line-copy b{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .has-food .meal-line-copy b{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-section+.meal-section{border-top-color:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-line-copy small,:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-line-total small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .is-empty .meal-line-copy small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-symbol{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-symbol.lunch{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-symbol.dinner{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-symbol.snack{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-more-count{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-line-total{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-inline-add{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .compact-meals .meal-inline-add:hover{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .meal-sheet-summary{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .meal-sheet-summary span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .water-compact{border:0;background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .water-compact .water-glass{box-shadow:none}:is(html[data-design=flow],html[data-theme=dark]) .water-summary-link{border:0;background:none;color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-summary-link b{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .water-compact .water-actions .water-other{background:transparent}:is(html[data-design=flow],html[data-theme=dark]) .water-compact .error button{border:0;background:var(--card);color:inherit}:is(html[data-design=flow],html[data-theme=dark]) .fluid-sheet-total{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .fluid-sheet-total small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .fluid-sheet-breakdown{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .fluid-cup-setting{border:0;border-bottom:1px solid var(--line);background:none;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .fluid-cup-setting span{color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .saved-set{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .saved-set-open{border:0;background:none;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .saved-set-open small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .saved-set-add{border:0;background:var(--accent-soft,var(--accent-soft));color:var(--accent,var(--accent))}:is(html[data-design=flow],html[data-theme=dark]) .save-meal-set{border:0;background:none;color:var(--accent,var(--accent))}:is(html[data-design=flow],html[data-theme=dark]) .set-item{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .set-item-line>button{border:0;background:none;color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .set-quantity{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .set-quantity input{border:0;background:none;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .set-item summary{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .draft-resume{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .pending-write{background:var(--warm-soft)}:is(html[data-design=flow],html[data-theme=dark]) .undo-bar{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 20px color-mix(in srgb,var(--shadow-ink) 15%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .undo-bar button{border:0;background:none;color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .week-coverage button{border:0;background:none;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .week-coverage button:active{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .week-coverage small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .week-coverage i,:is(html[data-design=flow],html[data-theme=dark]) .week-legend i{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .week-coverage .logged-food,:is(html[data-design=flow],html[data-theme=dark]) .week-legend .logged-food{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .week-coverage .logged-fluid,:is(html[data-design=flow],html[data-theme=dark]) .week-legend .logged-fluid{background:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .week-legend{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .weekly-calories>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .week-macros dt{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .week-explanation{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .week-facts{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .week-facts span,:is(html[data-design=flow],html[data-theme=dark]) .week-facts small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .install-offer{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .install-offer>svg{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .install-offer p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .install-offer button{border:0;background:none;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .install-offer button+button{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .profile-install{border:0;border-top:1px solid var(--line);background:none;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .profile-install small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .install-steps li:before{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .install-steps span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .install-link{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-current{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-note,:is(html[data-design=flow],html[data-theme=dark]) .subscription-current p,:is(html[data-design=flow],html[data-theme=dark]) .subscription-usage small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-option{background:var(--card);border:1px solid var(--line);box-shadow:0 2px 6px color-mix(in srgb,var(--shadow-ink) 2%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-option.is-current{background:var(--card);border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-price small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-option>p{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-option>small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-option .subscription-limit{color:var(--text);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-badge{background:var(--accent-soft);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-usage{background:var(--card-2);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-usage progress{accent-color:var(--accent);border:0}:is(html[data-design=flow],html[data-theme=dark]) .subscription-usage progress::-webkit-progress-bar{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-usage progress::-webkit-progress-value{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-management{background:var(--accent-soft);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-management p{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-management .btn{color:var(--accent);background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-terms,:is(html[data-design=flow],html[data-theme=dark]) .subscription-history,:is(html[data-design=flow],html[data-theme=dark]) .subscription-support{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-terms p,:is(html[data-design=flow],html[data-theme=dark]) .subscription-history p,:is(html[data-design=flow],html[data-theme=dark]) .subscription-support p{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-agreement input{border:1.5px solid var(--accent);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-agreement input:checked{background:var(--accent);border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-agreement input:focus-visible{outline:2px solid var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-support textarea{border:1px solid var(--line);background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-status{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-link{color:var(--text);border:1px solid var(--line);background:linear-gradient(115deg,var(--accent-soft),var(--accent-soft));box-shadow:0 4px 16px color-mix(in srgb,var(--shadow-ink) 6%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-link-icon{color:var(--accent);background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-link small{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-link>svg{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .ai-context-icon{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .ai-locked{border:1px solid var(--line);background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .ai-locked-preview{color:var(--accent);background:radial-gradient(ellipse at 25% 25%,var(--accent-soft),transparent 60%),linear-gradient(140deg,var(--accent-soft),var(--accent-soft))}:is(html[data-design=flow],html[data-theme=dark]) .ai-locked-preview span{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .ai-locked-glass{background:color-mix(in srgb,var(--card) 86%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .ai-lock-badge{color:var(--accent);background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .ai-lock-symbol{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .ai-locked p{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .ai-locked small{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-checkout-dialog{border:0;background:var(--card);color:var(--text);box-shadow:0 20px 90px color-mix(in srgb,var(--shadow-ink) 19%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-checkout-dialog::backdrop{background:color-mix(in srgb,var(--overlay-ink) 35%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .checkout-icon{background:var(--blue-soft);color:var(--water)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-checkout small{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .subscription-checkout .checkout-feedback{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v2 .onboarding-progress span:last-child{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-welcome .eyebrow{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v2 .onboarding-points{border:0;background:none}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v2 .onboarding-points span{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-points small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v2 .onboarding-notice{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .text-action{background:none;border:0;color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v2 .onboarding-suitability{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .language-trigger{border:0;background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .language-popover{border:1px solid var(--line);background:var(--card);box-shadow:0 10px 32px color-mix(in srgb,var(--shadow-ink) 13%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .language-popover button{border:0;background:none;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .language-popover button.active{background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .language-popover small{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .calculation-info{border:1px solid var(--line);background:var(--bg);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .calculation-info::backdrop{background:color-mix(in srgb,var(--overlay-ink) 33%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .calculation-info header button{border:0;background:var(--accent-soft);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .calculation-info p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .goal-direction button{border:1px solid var(--line);background:var(--card);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .goal-direction button.active,:is(html[data-design=flow],html[data-theme=dark]) .pace-choice button.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .pace-choice>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .pace-choice button{border:1px solid var(--line);background:var(--card);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .goal-guideline{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .goal-guideline>span{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .goal-guideline>small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .review-history{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .review-history>div{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .review-history small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v3 .form-intro{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-sex{border:0}:is(html[data-design=flow],html[data-theme=dark]) .registration-sex legend{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-suitability{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .registration-suitability p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-suitability-actions button{border:1px solid var(--line);background:var(--card,var(--card));color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .registration-suitability-actions button.active{border-color:var(--accent);background:var(--soft,var(--accent-soft));color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .registration-goals button{border:1px solid var(--line);background:var(--card,var(--card));color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .registration-goals button.active{background:var(--accent-soft);border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .registration-goals small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-goal-icon{background:var(--card);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .active .registration-goal-icon{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .registration-radio{border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .active .registration-radio{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .registration-target-input input{background:var(--card);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .registration-target-input>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-target .field-hint,:is(html[data-design=flow],html[data-theme=dark]) .registration-maintain{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .activity-mark i{background:var(--accent-soft)}:is(html[data-design=flow],html[data-theme=dark]) .activity-mark i.on{background:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .registration-result{background:linear-gradient(130deg,var(--accent-soft),var(--card))}:is(html[data-design=flow],html[data-theme=dark]) .registration-result-goal{border-bottom:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .registration-result-goal span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-result-goal button{border:0;background:color-mix(in srgb,var(--card) 65%,transparent);color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .registration-energy>span{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-result>p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-gentle small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-recap{border-top:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .registration-recap button{border:0;border-bottom:1px solid var(--line);background:none;color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .registration-recap small{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-recap svg{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-review{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .registration-review svg{color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .registration-stop{background:var(--warm-soft);border:1px solid var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .registration-stop p{color:var(--warn)}:is(html[data-design=flow],html[data-theme=dark]) .registration-loading{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v3 .registration-numbers .field input{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v3 .field .registration-target-input input{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]){--bg:#eeede6;--bg-2:#e2e5da;--card:#fafaf5;--card-2:#e5e9df;--text:#24392f;--muted:#53665b;--line:#cbd4c8;--line-strong:#718976;--accent:#285b43;--accent-2:#285b43;--good:#285b43;--accent-soft:#e0e9da;--on-accent:#fff;--water:#356d87;--blue-soft:#e0eced;--warn:#815f24;--warm-soft:#eee5d4;--danger:#ad443d;--danger-soft:#f7e3dd;--shadow-ink:#20382b;--overlay-ink:#14251d;--tone-protein:#477995;--tone-fat:#956e2d;--tone-carbs:#4c805b;--protein:var(--tone-protein);--fat:var(--tone-fat);--carbs:var(--tone-carbs);--surface-shadow:0 6px 24px #31473308;--nav-bg:rgba(250,250,245,.95);--balance-signal-bg:#f3d4d1;--hero-top:#dce8cf;--hero-bottom:#e7eedf;--glass-top:#68a7b4;--glass-bottom:#357b94;--radius:24px;--chart-grid:var(--line);--chart-label:var(--muted);--chart-line:var(--accent);--chart-dot-border:var(--card);color-scheme:light}html[data-theme=dark]{--bg:#131d1a;--bg-2:#1c2923;--card:#1e2d26;--card-2:#293b30;--text:#edf3ed;--muted:#b0c2b4;--line:#3b5042;--line-strong:#738979;--accent:#a3ce8d;--accent-2:#a3ce8d;--good:#a3ce8d;--accent-soft:#2a3e2b;--on-accent:#16241b;--water:#95c7da;--blue-soft:#20363d;--warn:#e7bf78;--warm-soft:#3b3223;--danger:#f4a89e;--danger-soft:#432c2a;--shadow-ink:#000;--overlay-ink:#000;--tone-protein:#9bc5dc;--tone-fat:#e5c27f;--tone-carbs:#aacb97;--surface-shadow:0 10px 32px #00000020;--nav-bg:rgba(30,45,38,.96);--hero-top:#2c4430;--hero-bottom:#21382a;--glass-top:#81bdcf;--glass-bottom:#4988a0;color-scheme:dark}html[data-design=flow][data-theme=dark]{--bg:#191a1d;--bg-2:#202125;--card:#25262a;--card-2:#303136;--text:#efeee9;--muted:#b8b7b1;--line:#414348;--line-strong:#7c7f86;--accent:#b3c99b;--accent-2:#b3c99b;--good:#b3c99b;--accent-soft:#323b2e;--on-accent:#20251c;--water:#a1c5d9;--blue-soft:#29323c;--warn:#e5c18d;--warm-soft:#383128;--danger:#edaaa2;--danger-soft:#43302f;--tone-protein:#a7c2d9;--tone-fat:#d9c096;--tone-carbs:#b5c49c;--nav-bg:rgba(37,38,42,.96);--balance-signal-bg:#453130;--hero-top:#303530;--hero-bottom:#292e2b}:is(html[data-design=flow],html[data-theme=dark]) body{background:var(--bg);color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) :is(input,textarea,select){caret-color:var(--accent);accent-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) :is(button,a,input,textarea,select,summary):focus-visible{outline-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) :is(.btn,.photo-confirm,.photo-sheet-done){color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .check input:checked{color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .btn.secondary{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .btn.ghost{color:var(--text)}:is(html[data-design=flow],html[data-theme=dark]) .daily-balance{--protein:var(--tone-protein);--fat:var(--tone-fat);--carbs:var(--tone-carbs)}:is(html[data-design=flow],html[data-theme=dark]) .nav{background:var(--nav-bg)}:is(html[data-design=flow],html[data-theme=dark]) .nav a.nav-add svg{color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .loading-skeleton i{background:linear-gradient(100deg,var(--bg-2) 25%,var(--card-2) 50%,var(--bg-2) 75%);background-size:200% 100%}:is(html[data-design=flow],html[data-theme=dark]) .glass-liquid{background:linear-gradient(180deg,var(--glass-top),var(--glass-bottom))}:is(html[data-design=flow],html[data-theme=dark]) .subscription-agreement input:checked:after{color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .sheet,:is(html[data-design=flow],html[data-theme=dark]) .photo-overlay{background:color-mix(in srgb,var(--overlay-ink) 55%,transparent)}:is(html[data-design=flow],html[data-theme=dark]) .registration-result{background:linear-gradient(130deg,var(--hero-top),var(--hero-bottom))}:is(html[data-design=flow],html[data-theme=dark]) .registration-result-goal button{background:var(--card-2)}:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v3 .registration-numbers .field input,:is(html[data-design=flow],html[data-theme=dark]) .onboarding-v3 .field .registration-target-input input{background:var(--card)}:is(html[data-design=flow],html[data-theme=dark]) .registration-stop p{color:var(--muted)}:is(html[data-design=flow],html[data-theme=dark]) .energy-ring .ring-track{stroke:var(--line)}:is(html[data-design=flow],html[data-theme=dark]) .energy-ring .ring-fill{stroke:var(--accent)}html[data-design=flow] body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;letter-spacing:-.012em}html[data-design=flow] .app{padding-left:22px;padding-right:22px;padding-bottom:calc(115px + var(--safe-bottom));background:var(--bg)}html[data-design=flow] .app.focused-flow{padding-bottom:calc(32px + var(--safe-bottom))}html[data-design=flow] .app.focused-flow:has(.photo-analysis){padding-bottom:calc(112px + var(--safe-bottom))}html[data-design=flow] :is(h1,h2,h3){letter-spacing:-.04em}html[data-design=flow] .page-head h1{font-size:31px}html[data-design=flow] .page-head p{margin-top:8px;max-width:310px;line-height:1.6}html[data-design=flow] .home-heading{margin-bottom:22px}html[data-design=flow] .brand-mark{font-size:17px;gap:10px}html[data-design=flow] .brand-mark>svg{box-sizing:content-box;padding:9px;background:var(--accent-soft);border-radius:15px}html[data-design=flow] .home-heading>button{background:var(--card);padding:0 12px;border-radius:30px;color:var(--text);box-shadow:var(--surface-shadow)}html[data-design=flow] .daily-balance{position:relative;background:linear-gradient(145deg,color-mix(in srgb,var(--balance-signal-bg,var(--danger-soft)) min(100%,calc(var(--balance-glow,0) * 900%)),var(--hero-top)),color-mix(in srgb,var(--balance-signal-bg,var(--danger-soft)) min(100%,calc(var(--balance-glow,0) * 650%)),var(--hero-bottom)));border-color:transparent;border-radius:28px;padding:23px;box-shadow:var(--surface-shadow)}html[data-design=flow] .balance-title h1{font-size:21px;font-weight:700}html[data-design=flow] .balance-state{background:transparent;color:var(--accent);border:0;padding:0 0 0 5px;gap:5px}html[data-design=flow] .balance-strong .balance-state,html[data-design=flow] .balance-strong .balance-note{color:var(--danger)}html[data-design=flow] .balance-body{padding:26px 0 23px;grid-template-columns:minmax(0,1fr) 88px}html[data-design=flow] .balance-body strong{font-size:clamp(35px,11vw,49px);font-weight:740;letter-spacing:-.06em}html[data-design=flow] .balance-calories p{font-size:13px;color:var(--muted)}html[data-design=flow] .balance-eaten{color:var(--muted)}html[data-design=flow] .daily-balance .nutrient :is(span,small){color:var(--muted)}html[data-design=flow] .daily-balance .nutrient-focus>span{color:var(--text)}html[data-design=flow] .energy-ring{width:88px;height:88px}html[data-design=flow] .nutrients{padding-top:17px;border-color:var(--line)}html[data-design=flow] .nutrient-track{background:color-mix(in srgb,var(--line) 65%,transparent);height:5px}html[data-design=flow] .balance-note{padding-top:8px;color:var(--text)}html[data-design=flow] .nav{left:50%;transform:translate(-50%);bottom:max(10px,env(safe-area-inset-bottom),var(--tg-safe-bottom));width:min(440px,calc(100% - 28px));padding:7px 8px;border:1px solid var(--line);border-radius:24px;box-shadow:0 8px 32px color-mix(in srgb,var(--shadow-ink) 10%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}html[data-design=flow] .nav a{min-height:53px;border-radius:18px;color:var(--muted)}html[data-design=flow] .nav a.active{background:var(--accent-soft);color:var(--accent)}html[data-design=flow] .nav a.active svg{fill:none}html[data-design=flow] .nav a.nav-add svg{height:38px;width:44px;border-radius:15px}html[data-design=flow] :is(.btn,.photo-confirm,.photo-sheet-done){border-radius:18px;min-height:52px;font-weight:650}html[data-design=flow] :is(.card,.subscription-option,.goal-guideline,.profile-goal){border-radius:24px;box-shadow:var(--surface-shadow)}html[data-design=flow] :is(.section-heading h2,.day-meals h2){font-size:19px}html[data-design=flow] .home-meals{margin-top:23px}html[data-design=flow] .meal-preview-row{border-bottom-color:var(--line)}html[data-design=flow] .water-panel{padding:18px;border-radius:24px;background:var(--blue-soft);border-color:transparent;box-shadow:var(--surface-shadow)}html[data-design=flow] .water-heading h2{color:var(--text)}html[data-design=flow] .water-glass{border-color:var(--water);background:color-mix(in srgb,var(--card) 45%,transparent)}html[data-design=flow] .water-action{background:var(--card);border-color:var(--line);color:var(--text)}html[data-design=flow] .add-food-page .add-methods{gap:12px}html[data-design=flow] :is(.add-photo,.add-method-photo){background:var(--accent-soft)}html[data-design=flow] :is(.search-box,.barcode-form){background:var(--card);border-radius:18px}html[data-design=flow] .photo-assistant{border-radius:4px 20px 20px;background:var(--accent-soft);color:var(--text)}html[data-design=flow] .photo-dish{padding:19px 0}html[data-design=flow] :is(.photo-total,.photo-summary){background:var(--accent-soft);border-radius:23px}html[data-design=flow] :is(.sheet-card,.photo-sheet){border-radius:28px 28px 0 0;background:var(--bg)}html[data-design=flow] .profile-avatar{border-radius:20px;background:var(--accent-soft);color:var(--accent)}html[data-design=flow] .profile-goal{background:linear-gradient(145deg,var(--hero-top),var(--hero-bottom));padding:23px;border:0}html[data-design=flow] .profile-menu{background:var(--card);padding:0 16px;border-radius:23px;box-shadow:var(--surface-shadow)}html[data-design=flow] .profile-menu>button:last-child{border-bottom:0}html[data-design=flow] .subscription-link{background:var(--accent-soft);border-color:var(--line);border-radius:22px;box-shadow:none}html[data-design=flow] .subscription-option{padding:23px;border-color:var(--line);position:relative}html[data-design=flow] .subscription-option.is-current{border:2px solid var(--accent);padding:22px;background:var(--accent-soft)}html[data-design=flow] .subscription-current{padding-top:8px;padding-bottom:23px}html[data-design=flow] .subscription-option-header h2{font-size:24px}html[data-design=flow] :is(.progress-hero,.weight-panel,.week-summary){border-radius:24px;background:var(--card);border:1px solid var(--line)}html[data-design=flow] .water-bars i{background:var(--water)}html[data-design=flow] .onboarding-page{padding-bottom:var(--keyboard-inset)}html[data-design=flow] .onboarding-content{padding-top:7px}html[data-design=flow] .onboarding-symbol{border-radius:26px;background:var(--accent-soft)}html[data-design=flow] .onboarding-points{background:var(--card);border-color:var(--line);border-radius:24px;box-shadow:var(--surface-shadow)}html[data-design=flow] .registration-goals button{border-radius:21px;padding:19px 15px;box-shadow:var(--surface-shadow)}html[data-design=flow] .registration-goals button.active{border-color:var(--accent);background:var(--accent-soft)}html[data-design=flow] .registration-goal-icon{border-radius:14px;background:var(--card-2);color:var(--accent)}html[data-design=flow] .registration-result{padding:24px;border-radius:27px;box-shadow:var(--surface-shadow)}html[data-design=flow] .registration-energy strong{font-size:47px}html[data-design=flow] .onboarding-footer{background:var(--bg);border-top-color:var(--line)}html[data-design=flow] :is(.pills button.on,.photo-meal-pills button.active,.select-grid button.active,.select-list button.active){border-color:var(--accent);background:var(--accent-soft);color:var(--text)}html[data-design=flow] .empty{background:var(--card-2);border:1px dashed var(--line);border-radius:22px}.appearance-picker{margin:24px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.appearance-picker h2{font-size:16px;margin:0 0 14px}.appearance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.appearance-options button{min-height:78px;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:center;border:1px solid var(--line);border-radius:15px;background:var(--card);color:var(--text);padding:10px 5px;font:inherit}.appearance-options button>span{font-size:24px;line-height:1}.appearance-options button b{font-size:11px;font-weight:550;line-height:1.4;text-align:center}.appearance-options button[aria-pressed=true]{background:var(--card-2);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.appearance-picker>p{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0 0}.appearance-preview .preview-label{font-size:10px;color:var(--muted)}.preview-meal{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.preview-meal>svg{color:var(--accent)}.preview-meal>div{flex:1}.preview-meal small{display:block;margin-top:4px;color:var(--muted)}.appearance-preview .water-main{display:flex;gap:25px;align-items:center}.appearance-preview .water-main h2{font-size:16px}.appearance-preview .water-main strong{font-size:20px}.appearance-preview .water-main small,.appearance-preview .water-main p{font-size:11px;color:var(--muted)}.appearance-preview .nav>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;font-size:10px;color:var(--muted)}.appearance-preview .nav>.active{color:var(--accent)}.appearance-preview .nav>.nav-add>svg{box-sizing:content-box;padding:8px;background:var(--accent);color:var(--on-accent,#fff);border-radius:13px}@media(max-width:350px){html[data-design=flow] .app{padding-left:16px;padding-right:16px}html[data-design=flow] .daily-balance{padding:17px;border-radius:23px}html[data-design=flow] .balance-title h1{font-size:19px}html[data-design=flow] .balance-state{font-size:10px}html[data-design=flow] .balance-body{grid-template-columns:minmax(0,1fr) 75px;gap:8px}html[data-design=flow] .energy-ring{width:75px;height:75px}html[data-design=flow] .registration-result{padding:18px}html[data-design=flow] .registration-energy strong{font-size:40px}html[data-design=flow] .nav{width:calc(100% - 16px)}}@media(prefers-reduced-motion:reduce){:is(html[data-design=flow],html[data-theme=dark]) *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html[data-design=flow] .balance-body{padding:20px 0}html[data-design=flow] .compact-meals .meal-list{background:var(--card);border:1px solid var(--line);border-radius:21px;overflow:hidden;padding:0 13px}html[data-design=flow] .compact-meals .meal-expand{min-height:54px}html[data-design=flow] .water-compact{padding:14px}html[data-design=flow] .search-launch{min-height:58px;border-radius:20px;box-shadow:var(--surface-shadow)}html[data-design=flow] .method-tile{border:1px solid var(--line);border-radius:24px;min-height:177px}html[data-design=flow] .camera-tile{background:var(--warm-soft);color:var(--warn)}html[data-design=flow] .barcode-tile{background:var(--blue-soft);color:var(--water)}html[data-design=flow] .method-tile>svg{padding:0;background:transparent;color:inherit}html[data-design=flow] .add-secondary{background:var(--card);padding:0 15px;border:1px solid var(--line);border-radius:21px}html[data-design=flow] :is(.search-input,.choice,.food-preview,.barcode-entry,.recipe-ingredient){border-radius:19px}html[data-design=flow] .choice{padding:16px;box-shadow:var(--surface-shadow)}html[data-design=flow] .diary-day-summary{padding:23px;border-radius:25px;background:linear-gradient(145deg,var(--hero-top),var(--hero-bottom))}html[data-design=flow] .week-strip{background:var(--card);padding:6px;border:1px solid var(--line);border-radius:22px}html[data-design=flow] .week-strip button{border-radius:16px}html[data-design=flow] :is(.weight-hero,.habit-summary){background:linear-gradient(145deg,var(--hero-top),var(--hero-bottom));border:0;border-radius:25px;box-shadow:var(--surface-shadow)}html[data-design=flow] .weight-hero strong{font-size:48px}html[data-design=flow] .weight-hero button{border-radius:16px;min-height:48px;color:var(--on-accent)}html[data-design=flow] .trend-section .chart{border-radius:23px;box-shadow:var(--surface-shadow)}html[data-design=flow] :is(.weight-log,.progress-insight){border-radius:22px;padding:19px}:is(html[data-design=flow],html[data-theme=dark]) .week-strip button.active span{color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-upload{color:var(--on-accent)}:is(html[data-design=flow],html[data-theme=dark]) :is(.field input,.field textarea,.field select,.qty input,.search-input,.photo-search-field,.registration-numbers .field input,.registration-target-input input,.appearance-options button,.subscription-agreement input,.check input){border-color:var(--line-strong)}:is(html[data-design=flow],html[data-theme=dark]) .appearance-options button[aria-pressed=true]{border-color:var(--accent)}:is(html[data-design=flow],html[data-theme=dark]) .photo-sheet{scrollbar-width:thin;scrollbar-color:var(--line-strong) var(--bg)}.progress-page .progress-header{margin-bottom:22px}.progress-page .progress-header p{max-width:32ch;margin-top:8px;line-height:1.5}.progress-page .progress-tabs{display:grid;grid-template-columns:.8fr 1.2fr;gap:5px;padding:5px;margin-bottom:30px;background:var(--card2);border-radius:17px}.progress-page .progress-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 8px;border:0;border-radius:12px;color:var(--muted);background:transparent;font:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer}.progress-page .progress-tabs button[aria-selected=true]{background:var(--card);color:var(--text);box-shadow:0 2px 6px #00000008}.progress-page .progress-tabs button:focus-visible,.progress-page .week-coverage button:focus-visible,.progress-page .fluid-column:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.progress-page .progress-section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin:0 0 18px}.progress-page .progress-section-heading h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.25px;line-height:1.35}.progress-page .progress-section-heading>span{font-size:12px;color:var(--muted);line-height:1.4}.progress-page .progress-week{display:grid;gap:32px}.progress-page .week-review{padding:0;border:0;background:none;border-radius:0;box-shadow:none}.progress-page .week-coverage{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0}.progress-page .week-coverage button{min-width:0;min-height:82px;padding:9px 0;border:0;border-radius:12px;background:var(--card2);color:var(--text)}.progress-page .week-coverage button small{font-size:11px;color:var(--muted)}.progress-page .week-coverage button b{font-size:17px;line-height:1.4;margin:4px 0 7px}.progress-page .week-coverage button>span{display:flex;justify-content:center;gap:4px}.progress-page .week-coverage i,.progress-page .week-legend i{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--line)}.progress-page i.logged-food{background:var(--accent)}.progress-page i.logged-fluid{background:var(--water, #477288)}.progress-page .week-activity-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;color:var(--muted);font-size:11px}.progress-page .week-legend{display:flex;gap:12px;margin:0}.progress-page .week-legend>span{display:inline-flex;align-items:center;gap:5px}.progress-page .progress-averages{padding:20px 20px 8px;border-radius:22px;background:var(--card);border:1px solid var(--line)}.progress-page .progress-averages .progress-section-heading{margin-bottom:16px}.progress-page .weekly-calories{display:flex;flex-direction:column;gap:5px}.progress-page .weekly-calories>span{color:var(--muted);font-size:12px}.progress-page .weekly-calories strong{font-size:36px;line-height:1.15;font-weight:700;letter-spacing:-1.3px;font-variant-numeric:tabular-nums}.progress-page .weekly-calories small{font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted)}.progress-page .week-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0 0}.progress-page .week-macros dt{font-size:12px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.progress-page .week-macros dd{margin:5px 0 0;color:var(--text);font-size:18px;font-weight:600;line-height:1.35;font-variant-numeric:tabular-nums}.progress-page .week-macros>div:before{content:"";display:block;width:17px;height:3px;margin-bottom:8px;border-radius:2px;background:var(--protein)}.progress-page .week-macros>div:nth-child(2):before{background:var(--fat)}.progress-page .week-macros>div:nth-child(3):before{background:var(--carbs)}.progress-page .week-explanation{margin:13px 0 0;font-size:11px;color:var(--muted);line-height:1.5}.progress-page .week-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border-top:1px solid var(--line);margin-top:20px;padding-top:19px}.progress-page .week-facts>div{display:flex;flex-direction:column;gap:6px;min-width:0}.progress-page .week-facts span{font-size:12px;color:var(--muted);line-height:1.5}.progress-page .week-facts b{margin:0;font-size:21px;font-weight:600;letter-spacing:-.5px;line-height:1.25;font-variant-numeric:tabular-nums}.progress-page .week-facts small{font-size:11px;line-height:1.5;color:var(--muted)}.progress-page .week-weight-change{margin:15px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.progress-page .week-method{margin-top:14px;border-top:1px solid var(--line)}.progress-page .week-method summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;list-style:none;cursor:pointer;font-size:12px;color:var(--muted)}.progress-page summary::-webkit-details-marker{display:none}.progress-page .week-method summary span{font-size:19px;font-weight:400}.progress-page .week-method[open] summary span{transform:rotate(45deg)}.progress-page .week-method p{margin:0 0 12px;font-size:12px;line-height:1.6;color:var(--muted)}.progress-page .progress-fluid{margin-top:28px;padding-top:23px;border-top:1px solid var(--line)}.progress-page .fluid-week-total b{color:var(--text);font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}.progress-page .fluid-chart{--fluid-chart-height: 136px;position:relative;padding-top:26px}.progress-page .fluid-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.progress-page .fluid-column{display:flex;flex-direction:column;min-width:0;padding:0;border:0;color:var(--text);background:none;cursor:pointer}.progress-page .fluid-bar-space{position:relative;display:block;width:100%;height:var(--fluid-chart-height);background:color-mix(in srgb,var(--water, #477288) 5%,transparent);border-radius:8px 8px 0 0}.progress-page .fluid-bar-space>i{position:absolute;z-index:1;bottom:0;left:calc(50% - 9px);width:18px;border-radius:7px 7px 0 0;background:var(--water, #477288)}.progress-page .fluid-bar-space>b{position:absolute;top:-22px;left:0;width:100%;font-size:12px;line-height:18px;font-weight:600;font-variant-numeric:tabular-nums}.progress-page .fluid-column>small{height:28px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px}.progress-page .fluid-goal-line{position:absolute;z-index:2;bottom:calc(28px + var(--fluid-chart-height) * var(--goal-fraction));left:0;right:0;border-top:1px dashed var(--muted);opacity:.55;pointer-events:none}.progress-page .fluid-chart-key{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 12px;font-size:11px;line-height:1.5;color:var(--muted);margin:12px 0 0}.progress-page .fluid-chart-key>span{display:inline-flex;align-items:center;gap:5px}.progress-page .fluid-chart-key i{width:12px;border-top:1px dashed var(--muted)}.progress-page .progress-footnote{margin:18px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}.progress-page .progress-chart-loading{display:grid;place-items:center;min-height:164px;color:var(--muted);font-size:13px}.progress-page .progress-weight-pane .weight-hero{background:var(--card2);border:0;border-radius:22px;padding:22px;margin:0 0 22px;gap:18px}.progress-page .progress-weight-pane .weight-hero button{min-height:44px}.progress-page .period-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:28px 0 20px}.progress-page .period-picker button{min-width:0;min-height:44px;padding:7px 3px;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.4}.progress-page .progress-weight-pane .trend-section{padding:0;background:none;border:0}.progress-page .trend-section .section-heading{gap:10px;flex-wrap:wrap}.progress-page .trend-section .chart{margin-top:17px;background:var(--card);border:1px solid var(--line);border-radius:18px}.progress-page .weight-log,.progress-page .progress-insight,.progress-page .review-history{margin-top:22px;background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:5px 0 0}.progress-page .weight-log summary,.progress-page .progress-insight summary,.progress-page .review-history summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:13px;list-style:none;cursor:pointer}.progress-page .weight-log>div,.progress-page .review-history>div{min-height:48px}.progress-page .progress-insight p{font-size:13px;line-height:1.65}@media(max-width:350px){.progress-page .progress-tabs button{font-size:13px;gap:6px}.progress-page .progress-averages{padding:20px 16px 9px}.progress-page .week-facts{gap:12px}.progress-page .week-facts b{margin:0;font-size:19px}.progress-page .progress-weight-pane .weight-hero{padding:20px 16px}}@media(prefers-reduced-motion:reduce){.progress-page *,.progress-page *:before{transition:none!important;animation:none!important}}.progress-page .week-coverage button span i{background:var(--line)}.progress-page .week-coverage button span i.logged-food{background:var(--accent)}.progress-page .week-coverage button span i.logged-fluid{background:var(--water, #477288)}html[lang=de] .progress-page .week-facts span{min-height:36px;overflow-wrap:anywhere}@media(max-width:350px){.progress-page .week-macros dt{min-height:34px}.progress-page .week-facts span{min-height:36px;overflow-wrap:anywhere}}.progress-page .retry-line button{min-height:44px;padding:8px 10px}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-control:14px;--radius-panel:22px;--radius-sheet:26px;--control-height:48px;--page-padding:20px;--focus:#526b7a;--card2:var(--card-2);--surface-subtle:var(--card-2);--balance-base:#edf2e4;--balance-rose-top:#efdad3;--balance-rose-bottom:#f1e4dc}html[data-design=flow]{--balance-base:var(--hero-top);--balance-rose-top:#efd7d0;--balance-rose-bottom:#efe0d7}html[data-theme=dark]{--focus:#a3becd;--balance-base:var(--hero-bottom);--balance-rose-top:#453336;--balance-rose-bottom:#393034}html[data-design=flow][data-theme=dark]{--balance-base:#2b302d;--balance-rose-top:#453336;--balance-rose-bottom:#343035}html .app{padding-left:var(--page-padding);padding-right:var(--page-padding)}html .app :is(.btn,.photo-confirm,.photo-sheet-done),html .sheet .btn{min-height:52px;border-radius:var(--radius-control);font-size:15px;font-weight:650;line-height:1.4}html :is(button,a,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px}html .app :is(.field input,.field select,.field textarea,.area,.qty input,.registration-target-input input):focus{border-color:var(--focus);box-shadow:none}html .app :is(.field input,.field select,.field textarea,.area,.qty input,.registration-target-input input):focus-visible{outline:2px solid var(--focus);outline-offset:2px}html .app :is(.field input,.field select,.field textarea,.area),html .sheet :is(.field input,.field select,.field textarea){border-radius:var(--radius-control);font-size:16px;line-height:1.5}html .app :is(.field input,.field select),html .sheet :is(.field input,.field select){min-height:var(--control-height)}html .app .field,html .sheet .field{gap:8px;font-size:13px;line-height:1.5}html .app :is(.form-intro,.field-hint,.trend-caption,.profile-footnote,.small-empty),html .sheet :is(.field-hint,.form-intro,.muted){color:var(--muted);line-height:1.6;font-size:13px}html .app .form-intro{margin:0 0 24px}.screen-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:26px}.screen-header>div:not(.screen-header-action){flex:1;min-width:0}.screen-header h1{margin:0;color:var(--text);font-size:28px;line-height:1.17;font-weight:720;letter-spacing:-.045em;overflow-wrap:anywhere}.screen-header.has-back h1{font-size:25px}.screen-header p{color:var(--muted);font-size:14px;line-height:1.55;margin:8px 0 0}.screen-context{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.screen-back{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--text);padding:0}.screen-header-action{margin-left:auto}html .app :is(.section-heading h2,.day-meals h2,.water-topline h2){font-size:18px;font-weight:680;letter-spacing:-.3px;line-height:1.4}html .app .section-heading{margin:28px 0 12px;gap:10px}html .app .section-heading button{min-height:44px;padding:6px 0 6px 8px;font-size:12px}.screen-state{padding:32px 16px;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted);text-align:center}.screen-state p{margin:0;font-size:14px;line-height:1.6}.screen-state .btn{max-width:260px}.state-spinner{height:22px;width:22px;border:2px solid var(--line);border-top-color:var(--muted);border-radius:50%;animation:state-spin .8s linear infinite}@keyframes state-spin{to{transform:rotate(360deg)}}html .app .error,html .sheet .error{font-size:13px;line-height:1.6;overflow-wrap:anywhere}html .app .retry-line button{min-height:44px;padding:8px 12px}.search-control{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 13px;background:var(--card);border:1px solid var(--line-strong,var(--line));border-radius:var(--radius-control);color:var(--muted);transition:border-color .15s ease}html .search-control>svg{flex:none}html .app .search-control input,html .sheet .search-control input{width:100%;min-width:0;flex:1;margin:0;padding:13px 0;min-height:50px;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:16px;line-height:1.4;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none}html .app .search-control input:is(:focus,:focus-visible),html .sheet .search-control input:is(:focus,:focus-visible){border:0;outline:none;box-shadow:none;background:transparent}html .search-control:focus-within{border-color:var(--focus);box-shadow:inset 0 0 0 1px var(--focus)}html .search-control input::-webkit-search-cancel-button,html .search-control input::-webkit-search-decoration{-webkit-appearance:none}.search-control>button{flex:none;width:40px;min-height:44px;border:0;padding:0;background:none;color:var(--muted);font-size:24px}.search-control input::placeholder{color:var(--muted);opacity:.85}.segmented-control{display:flex;gap:4px;padding:4px;border:0;border-radius:16px;background:var(--surface-subtle);margin:16px 0}html .app .segmented-control>button{flex:1;min-width:0;min-height:44px;padding:8px 6px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;color:var(--muted);background:transparent;font:inherit;font-size:13px;font-weight:550;line-height:1.35;white-space:normal;overflow-wrap:anywhere}html .app .segmented-control>button[aria-pressed=true]{color:var(--text);background:var(--card);font-weight:650;box-shadow:0 1px 4px #00000008}.food-list-filter{margin-top:14px}html .app .pills{gap:6px}html .app .pills>button{min-height:44px;border-radius:12px;padding:8px 10px;line-height:1.4}html .app .progress-tabs{margin-bottom:28px;background:var(--surface-subtle);padding:4px;border-radius:16px}html .app .progress-tabs button{min-height:44px;border-radius:12px;font-size:14px}.quiet-details{margin:16px 0;border-block:1px solid var(--line)}.quiet-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;list-style:none;cursor:pointer;color:var(--muted);font-size:13px}.quiet-details>summary:after{content:"+";font-size:20px;font-weight:400}.quiet-details[open]>summary:after{content:"−"}.quiet-details summary::-webkit-details-marker{display:none}.quiet-details>p{margin:0 0 16px;font-size:13px;color:var(--muted);line-height:1.6}.action-group{border:1px solid var(--line);border-radius:var(--radius-panel);padding:0 16px;background:var(--card)}.action-row{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;border:0;border-bottom:1px solid var(--line);padding:13px 0;background:none;color:var(--text);font:inherit;text-align:left}.action-row>span{flex:1;min-width:0}.action-row b{display:block;font-size:14px;font-weight:600;line-height:1.4}.action-row small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.action-row>svg{flex:none;color:var(--muted)}.action-row:last-child{border:0}.settings-language{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.appearance-sheet .segmented-control{margin-top:4px;margin-bottom:24px}.appearance-sheet .btn{margin-top:24px}html .app .profile-goal{border-radius:var(--radius-panel);padding:20px;box-shadow:none}html .app .subscription-link{min-height:76px;margin:20px 0;border-radius:var(--radius-panel);box-shadow:none}html .app .profile-footnote{margin:24px 4px 0;font-size:12px}html .app .daily-balance{position:relative;isolation:isolate;overflow:hidden;padding:21px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--balance-base);box-shadow:none}html .app .daily-balance:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,var(--balance-rose-top),var(--balance-rose-bottom));opacity:var(--balance-intensity,0);transition:opacity .45s ease}html .app .balance-title h1{font-size:20px;line-height:1.3;font-weight:700}html .app .balance-state{background:transparent;padding:0 0 0 6px;border:0;border-radius:10px;min-height:40px;color:var(--text)}html .app .balance-state-mark{background:transparent}html .app .balance-strong .balance-state{color:var(--danger,#874a3e)}html .app .balance-note{font-size:12px;line-height:1.5;padding-top:4px}html .app .balance-body{padding:19px 0;grid-template-columns:minmax(0,1fr) 82px}html .app .balance-body strong{font-size:42px;line-height:1.12;font-weight:720;letter-spacing:-.055em}html .app .energy-ring{width:82px;height:82px}html .app .balance-eaten{color:var(--muted);font-size:12px}html .app .nutrients{padding-top:16px}html .app .home-heading{margin-bottom:18px}html .app .brand-mark{font-size:16px}html .app .home-heading>button{min-height:44px;box-shadow:none}html .app .water-panel{padding:16px;border-radius:var(--radius-panel);box-shadow:none}html .app .water-compact{padding:14px}html .app .water-actions button{min-height:46px;border-radius:12px}html .app .meal-preview-row,html .app .meal-expand{min-height:56px}html .app .water-details .water-entry button{min-height:44px}html .app .week-strip{padding:4px;border:0;border-radius:16px;background:var(--surface-subtle)}html .app .week-strip button{min-height:64px;border-radius:12px}html .app .diary-day-summary{padding:20px;border-radius:var(--radius-panel);margin:22px 0;background:var(--card);border:1px solid var(--line)}html .app .search-launch{min-height:56px;border-radius:var(--radius-control);box-shadow:none;font-size:15px}html .app .method-grid{gap:12px;margin:14px 0}html .app .method-tile{min-height:132px;padding:18px 16px;border-radius:var(--radius-panel);box-shadow:none}html .app .method-tile>svg{width:29px;height:29px;padding:0;color:inherit;background:none}html .app .method-tile b{font-size:16px;line-height:1.35;margin-top:11px}html .app .method-tile small{font-size:12px;line-height:1.4}html .app .add-secondary{background:var(--card);padding:0 16px;border:1px solid var(--line);border-radius:var(--radius-panel)}html .app .add-secondary button{min-height:56px}html .app .search-row{grid-template-columns:minmax(0,1fr) 44px;gap:8px;margin:0;border-bottom:1px solid var(--line);align-items:center}html .app .search-row.result-only{grid-template-columns:minmax(0,1fr)}html .app .search-row>.search-result{min-width:0;min-height:64px;width:100%;text-align:left;color:var(--text);overflow-wrap:anywhere;margin:0;padding:15px 4px;border:0;border-radius:0;box-shadow:none;background:none}html .app .search-row>.search-result b{display:block;font-size:15px;line-height:1.45;font-weight:600}html .app .search-row>.search-result small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:4px}html .app .search-row .plus{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:13px}html .app .food-search>.btn.secondary{margin-top:22px}html .app .food-preview{padding:20px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--card)}html .app .recipe-choice{min-height:72px;padding:15px 0;border-radius:0;background:none;border:0;border-bottom:1px solid var(--line)}html .app .recipe-choice i{font-style:normal}html .app .photo-guide{margin:20px 0}html .app .camera-frame{width:110px;height:110px}html .app .photo-guide p{max-width:34ch;margin:10px auto 0;font-size:14px;line-height:1.55}html .app :is(.photo-upload,.gallery-upload){position:relative;border-radius:var(--radius-control);min-height:50px}html .app :is(.photo-upload,.gallery-upload) input[type=file]{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0}html .app :is(.photo-upload,.gallery-upload):focus-within{outline:2px solid var(--focus);outline-offset:3px}html .app .photo-dish{padding:18px 0}html .app .photo-summary{padding:20px;border-radius:var(--radius-panel)}html .app .photo-dish-actions button{min-height:44px;border-radius:12px;font-size:12px}html .app .photo-search-results button{min-height:66px}html .app :is(.sheet-card,.photo-sheet),html .sheet-card{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:22px 20px calc(24px + var(--safe-bottom))}html .sheet-title{margin-bottom:22px;align-items:flex-start;gap:14px}html .sheet-title h2{font-size:23px;line-height:1.25;letter-spacing:-.6px;overflow-wrap:anywhere}html .sheet-title>button{flex:none;min-width:44px;min-height:44px;border-radius:50%}html .beverage-editor .beverage-hint{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 20px}html .beverage-editor .beverage-volumes button{font-size:12px;padding-inline:2px}html .beverage-editor .beverage-addon{min-height:68px}html .beverage-editor :is(.beverage-addon-add,.beverage-stepper button,.beverage-reveal,.beverage-meal-toggle){min-height:44px}html .beverage-editor .beverage-save{position:sticky;bottom:0;margin-top:20px}html .app .subscription-current{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:18px 20px;background:var(--surface-subtle);border-radius:var(--radius-panel);border:0;margin-bottom:20px}html .app .subscription-current>span{font-size:12px;color:var(--muted);align-self:center}html .app .subscription-current h2{font-size:22px;margin:0;line-height:1.2;grid-column:2;grid-row:1}html .app .subscription-current :is(p,small){grid-column:1/-1;font-size:12px;margin:2px 0;line-height:1.5;color:var(--muted)}html .app .subscription-option{padding:20px;border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:none}html .app .subscription-option.is-current{padding:20px;border:1px solid var(--accent);background:var(--card)}html .app .subscription-option-header h2{font-size:21px}html .app .subscription-option :is(p,small){line-height:1.6}html .app .subscription-option p{font-size:14px}html .app .subscription-option .btn{margin-top:16px}html .app .subscription-usage{border:0;padding:4px 0;background:transparent;border-radius:0}html .app .subscription-usage h3{font-size:15px}html .app .subscription-usage>p{font-size:13px;line-height:1.6}html .app :is(.subscription-terms,.subscription-history,.subscription-support)>summary{min-height:50px;display:flex;align-items:center;font-size:14px}html .app .subscription-note{font-size:12px;line-height:1.6}html .app.onboarding-page h1{font-size:30px;line-height:1.16;letter-spacing:-.045em}html .app .onboarding-content{padding-top:10px}html .app .onboarding-points{border-radius:var(--radius-panel);box-shadow:none}html .app .onboarding-symbol{border-radius:22px}html .app .registration-goals button{padding:17px 14px;border-radius:var(--radius-control);box-shadow:none;min-height:78px}html .app .registration-activity button{border-radius:var(--radius-control);min-height:72px}html .app .registration-result{border-radius:var(--radius-panel);padding:22px;box-shadow:none}html .app .onboarding-footer{background:var(--bg)}html .login-page{position:relative;max-width:400px;margin:auto;padding:72px 24px 32px}.login-language{position:absolute;top:20px;right:20px}html .login-page .loading-brand{margin-bottom:22px}html .login-page>p{font-size:15px;line-height:1.6}html .login-page .login-note{font-size:12px}@media(max-width:350px){:root{--page-padding:16px}.screen-header h1{font-size:26px}.screen-header.has-back h1{font-size:23px}html .app .daily-balance{padding:17px}html .app .balance-title h1{font-size:18px}html .app .balance-state{font-size:10px}html .app .balance-body{grid-template-columns:minmax(0,1fr) 72px;gap:8px}html .app .balance-body strong{font-size:37px}html .app .energy-ring{width:72px;height:72px}html .app .segmented-control>button{font-size:12px;padding-inline:4px}html .app .method-tile{padding:16px 13px;min-height:125px}html .app .method-tile small{font-size:11px}html .app :is(.sheet-card,.photo-sheet),html .sheet-card{padding-inline:16px}}@media(prefers-reduced-motion:reduce){html .app .daily-balance:before,.state-spinner{transition:none;animation:none}}html .beverage-editor .beverage-volumes{flex:none;margin:8px 0}html .beverage-editor .beverage-hint{margin:4px 0}html .beverage-editor .beverage-volume{margin:6px 0}html .sheet-card{scrollbar-width:thin;scrollbar-color:var(--line) transparent}html .app:has(.sheet) .undo-bar{z-index:1}html .app .beverage-stepper input{width:40px;min-width:40px;min-height:44px;padding:0;border:0;border-radius:4px;background:transparent;font-size:16px;line-height:1.4;text-align:center}html .app .beverage-stepper label{gap:2px}html .app .beverage-stepper>button{width:44px;flex:none;padding:0}html .app .beverage-stepper{padding-right:2px}html .app .beverage-meal-toggle{border:0;background:transparent;padding:6px 0;font-size:13px}html .app .beverage-reveal{min-height:44px}html .app .profile-goal>strong{font-size:34px;line-height:1.2;margin:8px 0}html .app .profile-goal>p{margin:8px 0}html .app .profile-goal .goal-summary{margin:12px 0 0;padding:14px 0 0}html .app .profile-goal .goal-summary b{font-size:18px}html .app .profile-nutrients{border-bottom:0;margin:14px 0 0}html .app .profile-nutrients .nutrition-summary{border:0;margin:0;padding:4px 0 10px}html .app .profile-nutrients .nutrient strong{font-size:22px}html .app .sheet-card.has-footer{display:flex;flex-direction:column;gap:0;overflow:hidden}html .app .sheet-card.has-footer>.sheet-title{flex:none;margin-bottom:12px}.sheet-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.sheet-footer{flex:none;padding-top:16px}html .app .beverage-editor .sheet-scroll{display:flex;flex-direction:column;gap:10px}html .app .sheet-footer .beverage-save{position:static;margin:0;box-shadow:none}html .app .beverage-stepper input:not(:focus){outline:0;box-shadow:none}html .app .profile-goal{gap:2px}html .app .barcode-flow .scanner{margin:0 0 24px}html .app .meal-picker>button{overflow-wrap:normal}@media(max-width:350px){html .app .meal-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}html[lang=de] .app .meal-picker>button{font-size:12px}html .app .sheet-card{max-height:min(88dvh,calc(var(--sheet-height,100dvh) - 16px))}html[data-design=flow]{--flow-dock-bottom:max(4px, calc(max(env(safe-area-inset-bottom),var(--tg-safe-bottom)) - 7px) )}html[data-design=flow] .nav{bottom:var(--flow-dock-bottom);background:var(--card)}@supports ((backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px))){html[data-design=flow] .nav{background:color-mix(in srgb,var(--card) 80%,transparent);backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}}html[data-design=flow] .app:not(.focused-flow){padding-bottom:calc(89px + var(--flow-dock-bottom));scroll-padding-bottom:calc(89px + var(--flow-dock-bottom))}.weight-control{padding:8px 0 12px;text-align:center}.weight-control>label{color:var(--muted);font-size:14px}.weight-stepper{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:10px;margin:14px auto;max-width:340px}html .app .weight-stepper input{width:100%;min-width:0;height:80px;border:0;border-bottom:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);text-align:center;padding:4px 0;font-size:clamp(36px,10vw,48px);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-1.5px;box-shadow:none}html .app .weight-stepper input:focus{border-color:var(--muted);outline:2px solid var(--muted);outline-offset:3px;box-shadow:none}html .app .weight-step{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--accent);font-size:28px;line-height:1;touch-action:manipulation;transition:transform .12s ease}html .app .weight-step:active:not(:disabled){transform:scale(.94)}html .app .weight-step:disabled{opacity:.35;cursor:default}.weight-control>p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}@media(prefers-reduced-motion:reduce){html .app .weight-step{transition:none}}html .app .daily-balance .balance-state-mark{background:transparent}
