:root{--bg:#f6f7f5;--surface:#fff;--text:#16201b;--muted:#64716a;--line:#e2e6e3;--accent:#1f7a4d;--accent-ink:#fff;--track:#e6ebe8;--radius:16px;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1412;--surface:#18201c;--text:#e8eee9;--muted:#93a39a;--line:#26302b;--accent:#3fb47a;--accent-ink:#06130c;--track:#26302b}}:root[data-theme=dark]{--bg:#0f1412;--surface:#18201c;--text:#e8eee9;--muted:#93a39a;--line:#26302b;--accent:#3fb47a;--accent-ink:#06130c;--track:#26302b}:root{--sc-bg:#f4f5f8;--sc-card:#fff;--sc-divider:#edeef3;--sc-text:#15171c;--sc-text-2:#5b6070;--sc-text-3:#3d4252;--sc-text-muted:#8a8f9c;--sc-accent:#3b4cca;--sc-selected-bg:#15171c;--sc-selected-text:#fff;--sc-protein-bg:#e6eaff;--sc-protein-fg:#2a389a;--sc-carbs-bg:#fff0dd;--sc-carbs-fg:#8a4a00;--sc-fat-bg:#e3f6ec;--sc-fat-fg:#1b6b42;--sc-ok:#2f9e66;--sc-warn:#e8913a;--sc-warn-bg:#fff8ee;--sc-warn-border:#f5c98a;--sc-warn-text:#6b4a1e;--sc-radius-card:24px;--sc-radius-item:20px;--sc-radius-tile:14px;--sc-radius-pill:999px;--sc-gutter:20px;--sc-gap:10px;--sc-tap:44px;--sc-font:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sc-type-greeting:clamp(1.15rem, 5.2vw, 1.5rem);--sc-type-hero:clamp(2rem, 9vw, 2.4rem);--sc-type-card-title:.94rem;--sc-type-body:.9rem;--sc-type-secondary:.8rem;--sc-type-label:.75rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sc-bg:#0f1115;--sc-card:#1a1d23;--sc-divider:#2a2e36;--sc-text:#f2f3f5;--sc-text-2:#a3a8b5;--sc-text-3:#c3c6d0;--sc-text-muted:#8a8f9c;--sc-selected-bg:#f2f3f5;--sc-selected-text:#15171c;--sc-protein-bg:#212855;--sc-protein-fg:#c3cbff;--sc-carbs-bg:#452e16;--sc-carbs-fg:#ffd39e;--sc-fat-bg:#1a3b2f;--sc-fat-fg:#a8e8c1;--sc-warn:#f1b66f;--sc-warn-bg:#33291e;--sc-warn-border:#72552f;--sc-warn-text:#f2d6ad}}:root[data-theme=dark]{--sc-bg:#0f1115;--sc-card:#1a1d23;--sc-divider:#2a2e36;--sc-text:#f2f3f5;--sc-text-2:#a3a8b5;--sc-text-3:#c3c6d0;--sc-text-muted:#8a8f9c;--sc-selected-bg:#f2f3f5;--sc-selected-text:#15171c;--sc-protein-bg:#212855;--sc-protein-fg:#c3cbff;--sc-carbs-bg:#452e16;--sc-carbs-fg:#ffd39e;--sc-fat-bg:#1a3b2f;--sc-fat-fg:#a8e8c1;--sc-warn:#f1b66f;--sc-warn-bg:#33291e;--sc-warn-border:#72552f;--sc-warn-text:#f2d6ad}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);overscroll-behavior:none}button{font:inherit;color:inherit}.app{flex-direction:column;max-width:560px;height:100%;margin:0 auto;display:flex}.screen{padding:calc(env(safe-area-inset-top) + 8px) 16px 96px;flex:1;overflow-y:auto}.screen.soft-home-screen{background:var(--sc-bg);color:var(--sc-text)}.first-run-screen{width:min(100%,520px);min-height:calc(100% - 32px);color:var(--sc-text);font-family:var(--sc-font);flex-direction:column;gap:16px;margin:0 auto;padding:16px 0;display:flex}.first-run-mark{background:var(--sc-selected-bg);width:52px;height:52px;color:var(--sc-selected-text);border-radius:18px;place-items:center;font-size:1.6rem;font-weight:800;display:grid}.first-run-eyebrow{color:var(--sc-text-muted);font-size:var(--sc-type-label);letter-spacing:.1em;margin:4px 0 -12px;font-weight:800}.first-run-screen h1{font-size:var(--sc-type-hero);letter-spacing:-.035em;margin:0;line-height:1.12}.first-run-description{color:var(--sc-text-2);margin:0;font-size:1rem;line-height:1.55}.first-run-card{border-radius:var(--sc-radius-card);background:var(--sc-card);padding:18px}.first-run-card h2{font-size:var(--sc-type-card-title);margin:0 0 8px}.first-run-card p{margin:8px 0 0;line-height:1.5}.first-run-actions{gap:10px;margin-top:auto;display:grid}.first-run-actions button,.first-run-screen>.wide{min-height:48px}.first-run-screen>.card{border-radius:var(--sc-radius-card);background:var(--sc-card);color:var(--sc-text);border:0}.first-run-screen .top-bar{color:var(--sc-text)}.date-bar,.title-bar{justify-content:space-between;align-items:center;min-height:56px;display:flex}.date-bar h1,.title-bar h1{margin:0;font-size:1.25rem}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;width:48px;height:48px;font-size:1.75rem;line-height:1}.icon-btn:active{background:var(--track)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:16px}.card.empty p{margin:0 0 8px}.energy-row{text-align:center;justify-content:space-between;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.stat-label{color:var(--muted);font-size:.8rem}.bar{background:var(--track);border-radius:5px;height:10px;margin-top:14px;overflow:hidden}.bar-fill{background:var(--accent);height:100%}.meal{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:48px;display:flex}.meal:last-child{border-bottom:0}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.fab{right:max(16px,50% - 264px);bottom:calc(env(safe-area-inset-bottom) + 84px);background:var(--accent);width:64px;height:64px;color:var(--accent-ink);border:0;border-radius:50%;font-size:2rem;position:fixed;box-shadow:0 6px 16px #00000040}.fab:disabled{opacity:.45}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{max-width:140px;min-height:64px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tab.active{color:var(--accent)}:root{--badge-usda:#1f6f8b;--badge-label:#7a5a12;--badge-unverified:#b3261e;--danger:#b3261e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--badge-usda:#6cc3e0;--badge-label:#e3b95a;--badge-unverified:#ff8a80;--danger:#ff8a80}}:root[data-theme=dark]{--badge-usda:#6cc3e0;--badge-label:#e3b95a;--badge-unverified:#ff8a80;--danger:#ff8a80}.screen.no-tabs{padding-bottom:24px}.splash{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.splash h1{font-size:1.2rem}.error{color:var(--danger);overflow-wrap:anywhere}.top-bar{align-items:center;gap:4px;min-height:56px;display:flex}.top-bar h1{flex:1;margin:0;font-size:1.2rem}.incomplete{color:var(--badge-label);margin-left:2px;font-weight:700}.meal-block{border-bottom:1px solid var(--line)}.meal-block:last-child,.meal-block .meal{border-bottom:0}.meal-name{font-weight:600}.entry{align-items:center;gap:12px;padding:6px 0 10px 12px;display:flex}.entry-main{flex:1;min-width:0}.entry-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-kcal{font-variant-numeric:tabular-nums}.search-box{background:var(--bg);z-index:1;padding-bottom:8px;position:sticky;top:0}.search-box input,.grams-input{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:1.05rem}.search-box input:focus,.grams-input:focus{outline:2px solid var(--accent);outline-offset:0}.tabs{gap:8px;margin-bottom:8px;display:flex}.tab-pill,.chip{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;min-height:40px;padding:8px 14px}.tab-pill.active,.chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip.active .muted{color:inherit;opacity:.8}.results{margin:0;padding:0;list-style:none}.result{text-align:left;width:100%;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:12px;min-height:56px;padding:12px 4px;display:flex}.result:active{background:var(--track)}.result-main{flex:1;min-width:0}.result-name{overflow-wrap:anywhere}.empty-note{margin-top:32px}.badge{letter-spacing:.02em;border:1px solid;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:.7rem;font-weight:700}.badge-usda{color:var(--badge-usda)}.badge-label{color:var(--badge-label)}.badge-unverified{color:var(--badge-unverified)}.food-screen{padding-bottom:88px}.food-head h2{overflow-wrap:anywhere;margin:4px 0 6px;font-size:1.15rem}.food-source{align-items:center;gap:8px;margin-bottom:12px;display:flex}.grams-row{align-items:center;gap:10px;font-weight:600;display:flex}.grams-row .grams-input{text-align:right;font-variant-numeric:tabular-nums;flex:1;font-size:1.4rem}.grams-input[aria-invalid=true]{border-color:var(--danger)}.chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.qty-row{align-items:center;gap:10px;margin-top:12px;display:flex}.qty-btn{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);border-radius:50%;font-size:1.3rem}.qty-btn:disabled{opacity:.4}.qty{text-align:center;font-variant-numeric:tabular-nums;min-width:2.5ch;font-weight:700}.preview-kcal{text-align:center}.preview-kcal .big{font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700}.macro-row{text-align:center;font-variant-numeric:tabular-nums;justify-content:space-around;margin-top:8px;display:flex}.macro-row b{font-size:1.15rem}.meal-picker{flex-wrap:wrap;gap:8px;display:flex}.link-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:8px 0;font-weight:600}.nutrient-group h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 4px;font-size:.9rem}.nutrient-row{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.add-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.primary{width:100%;max-width:528px;min-height:52px;font:inherit;background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:14px;font-size:1.05rem;font-weight:700}.primary:disabled{opacity:.5}:root{--warn:#b26a00;--ok:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--warn:#f0b04a}}:root[data-theme=dark]{--warn:#f0b04a}.date-title{cursor:pointer;flex:1;justify-content:center;display:flex;position:relative}.date-overlay{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.date-overlay::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.center-block{margin:-8px auto 4px;display:block}.stat-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.over-text{color:var(--danger)}.bar-fill.over,.bar-fill.status-over{background:var(--danger)}.bar-fill.status-under{background:var(--warn)}.bar-fill.status-ok{background:var(--ok)}.bar-fill.status-no_target,.bar-fill.status-no_data{background:var(--muted)}.bar.thin{height:6px;margin-top:6px}.rings{justify-content:space-around;align-items:flex-end;gap:8px;display:flex}.ring{flex-direction:column;align-items:center;display:flex;position:relative}.ring svg{display:block}.ring-track{stroke:var(--track)}.ring-fill{stroke:var(--accent);transition:stroke-dashoffset .3s}.ring-fill.over{stroke:var(--danger)}.ring-text{aspect-ratio:1;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;top:0;left:0;right:0}.ring-amount{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.ring:first-child .ring-amount{font-size:1.35rem}.ring-target{color:var(--muted);font-size:.7rem}.ring-label{margin-top:4px;font-size:.85rem;font-weight:600}.entry-wrap{position:relative;overflow:hidden}.entry-delete-bg{background:var(--danger);color:#fff;border-radius:8px;justify-content:flex-end;align-items:center;padding-right:16px;font-weight:700;display:flex;position:absolute;inset:0}.entry{background:var(--surface);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:pointer;transition:transform .15s;position:relative}.meal{-webkit-user-select:none;user-select:none;touch-action:pan-y}.weight-row{justify-content:space-between;align-items:center;padding-top:6px;padding-bottom:6px;display:flex}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:88vh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-head h2{overflow-wrap:anywhere;margin:8px 0;font-size:1.1rem}.sheet .meal-picker{margin:12px 0}.sheet-actions{gap:10px;margin-top:16px;display:flex}.sheet-actions .primary{flex:1}.danger-btn,.secondary-btn{font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);min-height:52px;color:var(--text);border-radius:14px;padding:0 16px;font-weight:600}.danger-btn{color:var(--danger);border-color:currentColor}.secondary-btn.wide{width:100%;margin:8px 0}.secondary-btn:disabled{opacity:.5}.quick-dates{gap:8px;margin:8px 0;display:flex}.toast{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 84px);z-index:30;background:var(--text);max-width:528px;color:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:12px 16px;display:flex;position:fixed;box-shadow:0 6px 16px #00000040}.toast-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;min-height:40px;padding:0 8px;font-weight:700}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .toast-btn{color:#1f7a4d}}.group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:.85rem}.nutrient-card{padding-top:12px;padding-bottom:8px}.nbar{text-align:left;width:100%;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;padding:8px 0;display:block}.nbar:last-child{border-bottom:0}.nbar-top{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.nbar-name{min-width:0}.nbar-value{text-align:right;white-space:nowrap;font-size:.9rem}.top-foods{margin:8px 0 16px;padding:0;list-style:none}.top-foods li{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.top-foods.missing li{color:var(--muted)}.tf-name{overflow-wrap:anywhere;min-width:0}.tf-value{white-space:nowrap}.targets-screen{padding-bottom:24px}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field-label{margin:0;font-weight:600}.field-input{align-items:center;gap:8px;display:flex}.field-input input,.target-row input,.field input[type=date]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.field-input input{max-width:140px}.field-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.chip-row .chips{margin-top:4px}.chip-row.compact .chips{margin-top:0}.chip:disabled{opacity:.5}.activity-list{flex-direction:column;gap:8px;display:flex}.option{font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;min-height:48px;padding:12px 14px}.option.active{border-color:var(--accent);outline:2px solid var(--accent)}.warning{color:var(--warn)}.section-title{margin:20px 0 4px;font-size:1.1rem}.online-results{margin-top:20px}.online-results .result:disabled{opacity:.55}.target-head,.target-row{grid-template-columns:1fr 84px 84px;align-items:center;gap:8px;display:grid}.target-head span{text-align:center}.target-row{padding:4px 0}.target-name{overflow-wrap:anywhere;min-width:0}.target-row input{text-align:right;min-height:40px;padding:8px}.edited{color:var(--badge-label);font-size:.75rem;font-weight:700}.settings-link{width:100%;min-height:48px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;font-weight:600;display:flex}.tabs.scroll-x{scrollbar-width:none;padding-bottom:2px;overflow-x:auto}.tabs.scroll-x::-webkit-scrollbar{display:none}.tabs.scroll-x .tab-pill{flex-shrink:0}.meal-template{border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex}.meal-template .result{border-bottom:0}.log-btn{font:inherit;background:var(--accent);min-height:44px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;padding:0 18px;font-weight:700}.text-input,.add-nutrient select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.text-input:focus,.field-input input:focus{outline:2px solid var(--accent);outline-offset:0}[aria-invalid=true]{border-color:var(--danger)!important}.danger-btn.wide{width:100%;margin:8px 0}.edit-link{margin-left:auto;padding:8px 4px}.nutrition-label{border:2px solid var(--text)}.nl-title{letter-spacing:-.01em;margin:0 0 6px;font-size:1.5rem;font-weight:800}.serving-row{border-bottom:6px solid var(--text);grid-template-columns:auto 1fr 110px;align-items:center;gap:8px;margin-bottom:4px;padding-bottom:8px;display:grid}.serving-row .field-input input{max-width:none}.label-row{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.label-row>span:first-child{font-weight:600}.label-row.indent>span:first-child{padding-left:16px;font-weight:400}.label-row .field-input input{text-align:right;width:96px}.unit{min-width:2.5ch}.add-nutrient{margin-top:10px}.portion-row,.ingredient-row{grid-template-columns:1fr 120px 44px;align-items:center;gap:8px;padding:4px 0;display:grid}.portion-row .field-input input,.ingredient-row .field-input input{text-align:right;max-width:none}.ing-name{overflow-wrap:anywhere;min-width:0}.stack-actions{flex-direction:column;gap:10px;margin-top:12px;display:flex}.stack-actions .secondary-btn{width:100%}.save-meal{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.save-meal .field-input input{flex:1;max-width:none}.scan-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;min-width:48px;min-height:48px;font-size:.7rem;display:flex}.scan-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:26px;height:26px}.smart-log-top-btn{border:1px solid var(--accent);background:var(--surface);min-height:44px;color:var(--accent);cursor:pointer;border-radius:12px;padding:0 10px;font-weight:700}.smart-log-launch{right:max(88px,50% - 190px);bottom:calc(env(safe-area-inset-bottom) + 94px);border:1px solid var(--accent);background:var(--surface);min-height:52px;color:var(--accent);cursor:pointer;border-radius:16px;padding:0 16px;font-weight:700;position:fixed;box-shadow:0 4px 12px #00000026}.smart-log-screen{padding-bottom:104px}.smart-log-text{resize:vertical;min-height:120px}.smart-voice-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.smart-review-title{margin:0 0 6px;font-size:1.1rem}.smart-log-items{flex-direction:column;display:flex}.smart-log-item{border-top:1px solid var(--line);padding:12px 0}.smart-item-heading,.smart-match{justify-content:space-between;align-items:center;gap:8px;display:flex}.smart-item-heading strong{overflow-wrap:anywhere}.smart-match{justify-content:flex-start;margin:4px 0;font-size:.92rem}.smart-quantity{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.smart-quantity .field-input{min-width:0}.smart-quantity .field-input input{min-width:0;max-width:none}.smart-quantity select,.smart-log-screen .field select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:10px;padding:8px 10px}.smart-macros{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:.82rem;display:flex}.smart-macros span{white-space:nowrap}.smart-macros.totals{font-size:.95rem;font-weight:700}.smart-search-results{margin:8px 0 0;padding:0;list-style:none}.smart-log-actions{gap:10px}.smart-log-actions .secondary-btn,.smart-log-actions .primary{flex:1;min-width:0}.smart-log-actions .primary{padding:0 10px}@media (max-width:380px){.smart-quantity{grid-template-columns:1fr 1fr}.smart-quantity .field:last-child{grid-column:1/-1}.smart-log-launch{padding:0 10px;font-size:.9rem;right:88px}.smart-log-top-btn{padding:0 7px;font-size:.9rem}}.unverified-banner{text-align:left;width:100%;font:inherit;color:var(--text);background:color-mix(in srgb, var(--badge-unverified) 12%, var(--surface));border:1px solid var(--badge-unverified);cursor:pointer;border-radius:12px;margin-bottom:8px;padding:12px;display:block}.unverified-banner b{color:var(--badge-unverified)}.found-name{overflow-wrap:anywhere;margin:6px 0 2px;font-size:1.15rem}.check-row{align-items:center;gap:12px;min-height:48px;font-weight:600;display:flex}.check-row input{width:24px;height:24px;accent-color:var(--accent)}.app-updates h2{margin:0 0 8px;font-size:1.05rem}.app-updates h3{margin:12px 0 6px;font-size:.9rem}.app-updates p{overflow-wrap:anywhere}.update-release{border-top:1px solid var(--line);margin-top:12px;padding-top:4px}.update-notes{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;font:inherit;color:var(--muted);font-size:.85rem;overflow-y:auto}.update-progress{align-items:center;gap:10px;margin:8px 0;font-size:.85rem;display:flex}.update-progress progress{accent-color:var(--accent);flex:1;min-width:80px}.update-message{overflow-wrap:anywhere}.update-notice{border:1px solid var(--accent);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;display:flex}:root{--viz-1:#1f7a4d;--viz-2:#8a7fd9;--viz-grid:#e9ecea;--viz-ref:#64716a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--viz-1:#36a56e;--viz-2:#9085e9;--viz-grid:#26302b;--viz-ref:#93a39a}}:root[data-theme=dark]{--viz-1:#36a56e;--viz-2:#9085e9;--viz-grid:#26302b;--viz-ref:#93a39a}.range-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.range-row input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;min-height:44px;padding:8px}.refetching{opacity:.55;transition:opacity .2s}.tiles{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:4px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:10px}.tile-label{color:var(--muted);font-size:.75rem}.tile-value{margin:2px 0;font-size:1.15rem;font-weight:650}.tile-delta{color:var(--muted);font-size:.72rem}.chart-card{padding:12px}.chart-title{margin:0 0 6px;font-size:1rem}.chart-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.chart-head select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;max-width:60%;min-height:40px;padding:6px 8px}.chart{margin:0;position:relative}.chart svg{touch-action:pan-y;display:block}.chart .grid{stroke:var(--viz-grid);stroke-width:1px}.chart .axis{stroke:var(--line);stroke-width:1px}.chart .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart .col{fill:var(--viz-1)}.chart .col.partial{fill-opacity:.45}.chart .col.hot{fill-opacity:.8}.chart .hover-band{fill:var(--text);opacity:.05;pointer-events:none}.chart .refline{stroke:var(--viz-ref);stroke-width:1px}.chart .reflabel{fill:var(--muted);font-size:11px}.chart .trend-line{fill:none;stroke:var(--viz-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .weigh-dot{fill:var(--viz-2);stroke:var(--surface);stroke-width:2px}.chart .crosshair{stroke:var(--muted);stroke-width:1px}.chart .endlabel{fill:var(--text);font-size:12px;font-weight:600}.legend{color:var(--muted);gap:16px;margin-bottom:4px;font-size:.8rem;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.key-dot{background:var(--viz-2);border-radius:50%;width:8px;height:8px;display:inline-block}.key-line{background:var(--viz-1);border-radius:1px;width:14px;height:2px;display:inline-block}.chart-tip{pointer-events:none;background:var(--surface);border:1px solid var(--line);z-index:2;border-radius:8px;width:140px;padding:6px 8px;font-size:.8rem;position:absolute;box-shadow:0 4px 12px #00000026}.tip-value{color:var(--text);font-weight:700}.tip-label{color:var(--muted);font-size:.75rem}.tip-row{align-items:center;gap:6px;display:flex}.chart-table summary{cursor:pointer;color:var(--accent);min-height:32px;padding:6px 0;font-size:.85rem;font-weight:600}.chart-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.chart-table th,.chart-table td{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px;font-weight:400}.chart-table thead th{color:var(--muted);font-weight:600}.chart-table td{text-align:right}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.check-list{flex-direction:column;display:flex}.check-list .check-row{min-height:44px;font-weight:400}.soft-home{min-width:0;padding:4px calc(var(--sc-gutter) - 16px) 148px;color:var(--sc-text);font-family:var(--sc-font);flex-direction:column;display:flex}.soft-home-header{justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin-bottom:8px;display:flex}.soft-home-header h1{min-width:0;font-size:var(--sc-type-greeting);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.2}.soft-icon-button{flex:0 0 var(--sc-tap);width:var(--sc-tap);height:var(--sc-tap);background:var(--sc-card);color:var(--sc-text);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.soft-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.soft-icon-button:focus-visible,.soft-day:focus-visible,.soft-date-picker:focus-within{outline:2px solid var(--sc-accent);outline-offset:2px}.soft-day-strip{align-items:stretch;gap:4px;min-width:0;margin:4px 0 12px;display:flex}.soft-day{border-radius:var(--sc-radius-tile);min-width:0;min-height:50px;color:var(--sc-text-2);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:.7rem;display:flex}.soft-day strong{color:var(--sc-text);font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.soft-day.selected{background:var(--sc-selected-bg);color:var(--sc-text-2)}.soft-day.selected strong{color:var(--sc-selected-text)}.soft-day.future:not(.selected),.soft-day.future:not(.selected) strong{color:var(--sc-text-muted)}.soft-date-picker{flex:0 0 var(--sc-tap);width:var(--sc-tap);min-height:var(--sc-tap);background:var(--sc-card);color:var(--sc-text-2);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.soft-date-picker svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.soft-date-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.soft-today-link{min-height:var(--sc-tap);color:var(--sc-accent);font:inherit;font-size:var(--sc-type-secondary);cursor:pointer;background:0 0;border:0;align-self:center;margin:-8px 0 4px;font-weight:700}.soft-card{min-width:0;margin:0 0 var(--sc-gap);border-radius:var(--sc-radius-card);background:var(--sc-card);border:0;padding:14px}.soft-calorie-card{align-items:center;gap:14px;padding:16px;display:flex;position:relative}.soft-calorie-ring{aspect-ratio:1;flex:0 0 clamp(76px,25vw,96px);width:clamp(76px,25vw,96px);position:relative}.soft-calorie-ring svg{width:100%;height:100%;display:block;overflow:visible}.soft-calorie-ring circle{fill:none;stroke-width:10px}.soft-ring-track{stroke:var(--sc-divider)}.soft-ring-progress{stroke:var(--sc-accent);stroke-linecap:round;transition:stroke-dashoffset .25s}.soft-calorie-ring>span{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:flex;position:absolute;inset:0}.soft-calorie-copy{flex:1;min-width:0;padding-right:44px}.soft-secondary{color:var(--sc-text-2);font-size:var(--sc-type-secondary);font-weight:600;line-height:1.4}.soft-calorie-value{color:var(--sc-text);font-size:var(--sc-type-hero);letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-weight:800;line-height:1.08;overflow:hidden}.soft-calorie-value.over{color:var(--sc-warn)}.soft-target-edit{width:var(--sc-tap);height:var(--sc-tap);color:var(--sc-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:4px;right:4px}.soft-target-edit svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.soft-target-edit:focus-visible,.soft-target-link:focus-visible,.soft-nutrients-link:focus-visible,.soft-inline-action:focus-visible{outline:2px solid var(--sc-accent);outline-offset:2px}.soft-target-link,.soft-nutrients-link,.soft-inline-action{min-height:44px;color:var(--sc-accent);font:inherit;font-size:var(--sc-type-secondary);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.soft-macro-grid{gap:var(--sc-gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:4px;display:grid}.soft-macro-tile{border-radius:var(--sc-radius-item);min-width:0;padding:12px 10px}.soft-macro-tile.protein{background:var(--sc-protein-bg);color:var(--sc-protein-fg)}.soft-macro-tile.carbs{background:var(--sc-carbs-bg);color:var(--sc-carbs-fg)}.soft-macro-tile.fat{background:var(--sc-fat-bg);color:var(--sc-fat-fg)}.soft-macro-label{font-size:var(--sc-type-label);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.soft-macro-value{color:var(--sc-text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:clamp(1rem,5.6vw,1.38rem);font-weight:800;line-height:1.2;overflow:hidden}.soft-macro-remaining{color:var(--sc-text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.68rem;font-weight:600;overflow:hidden}.soft-macro-tile .incomplete{color:var(--sc-warn-text)}.soft-section-heading{justify-content:space-between;align-items:center;gap:8px;margin:12px 0 4px;display:flex}.soft-section-heading h2,.soft-workouts-card h2{color:var(--sc-text);font-size:var(--sc-type-card-title);margin:0;font-weight:800}.soft-nutrients-link{min-height:var(--sc-tap);align-items:center;gap:4px;display:inline-flex}.soft-meal-card{border-radius:var(--sc-radius-item);padding:10px 12px}.soft-meal-card.empty{background:0 0;border:2px dashed #d3d6df}:root[data-theme=dark] .soft-meal-card.empty{border-color:#444956}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .soft-meal-card.empty{border-color:#444956}}.soft-meal-header{-webkit-user-select:none;user-select:none;touch-action:pan-y;align-items:center;gap:12px;min-height:44px;display:flex}.soft-meal-icon{border-radius:var(--sc-radius-tile);flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.soft-meal-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.soft-meal-icon.breakfast{background:var(--sc-carbs-bg);color:var(--sc-carbs-fg)}.soft-meal-icon.lunch{background:var(--sc-fat-bg);color:var(--sc-fat-fg)}.soft-meal-icon.dinner{background:var(--sc-protein-bg);color:var(--sc-protein-fg)}.soft-meal-icon.snacks{background:var(--sc-divider);color:var(--sc-text-2)}.soft-meal-copy{flex:1;min-width:0}.soft-meal-name{color:var(--sc-text);font-size:var(--sc-type-body);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.soft-meal-summary{color:var(--sc-text-2);font-size:var(--sc-type-secondary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.soft-home .incomplete{color:var(--sc-warn)}.soft-home .entry-wrap{border-top:1px solid var(--sc-divider);margin-left:56px}.soft-home .entry{color:var(--sc-text);background:0 0;border-radius:4px;gap:8px;padding:9px 0}.soft-home .entry-name{color:var(--sc-text);font-size:var(--sc-type-body);font-weight:600}.soft-home .entry .muted{color:var(--sc-text-2)}.soft-home .entry-kcal{color:var(--sc-text-2);font-size:var(--sc-type-secondary);font-variant-numeric:tabular-nums;flex:none}.soft-home .entry-delete-bg{border-radius:4px}.soft-footnote{color:var(--sc-text-2);font-size:var(--sc-type-label);margin:2px 0 10px;line-height:1.5}.soft-weight-card{border-radius:var(--sc-radius-item);min-height:60px;color:var(--sc-text);font-size:var(--sc-type-body);justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;font-weight:700;display:flex}.soft-inline-action{text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.soft-workouts-card{border-radius:var(--sc-radius-item);color:var(--sc-text);padding:14px 16px}.soft-workouts-card h2{margin-bottom:6px}.soft-workouts-card .meal{border-color:var(--sc-divider);min-height:44px;color:var(--sc-text);font-size:var(--sc-type-body)}.soft-workouts-card .muted{color:var(--sc-text-2);font-size:var(--sc-type-secondary)}.soft-fab{z-index:10;background:var(--sc-accent);color:#fff;box-shadow:0 8px 24px #3b4cca59}.soft-smart-log-launch{z-index:10;border-color:var(--sc-accent);background:var(--sc-card);color:var(--sc-accent);font-family:var(--sc-font)}@media (max-width:380px){:root{--sc-gutter:18px}.soft-home-header h1{font-size:1.12rem}.soft-calorie-card{gap:10px;padding:12px}.soft-calorie-copy{padding-right:40px}.soft-calorie-ring{flex-basis:78px;width:78px}.soft-macro-grid{gap:6px}.soft-macro-tile{border-radius:16px;padding:10px 7px}.soft-macro-label{font-size:.68rem}.soft-macro-value{font-size:1rem}.soft-macro-remaining{font-size:.62rem}}.screen.soft-add-page{padding:calc(env(safe-area-inset-top) + 12px) var(--sc-gutter) calc(env(safe-area-inset-bottom) + 24px);background:var(--sc-bg);color:var(--sc-text)}.soft-add-screen{min-height:100%;font-family:var(--sc-font)}.soft-add-screen .top-bar{gap:8px;min-height:52px}.soft-add-screen .top-bar h1{color:var(--sc-text);letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.soft-add-screen .icon-btn{background:var(--sc-card);width:44px;height:44px;color:var(--sc-text);border-radius:50%;flex:0 0 44px;font-size:1.6rem}.soft-add-screen .smart-log-top-btn{border-radius:var(--sc-radius-tile);background:var(--sc-card);min-height:44px;color:var(--sc-accent);border:0;padding:0 10px;font-size:.8rem;font-weight:800}.soft-search-row{background:0 0;align-items:center;gap:10px;padding:12px 0 0;display:flex;position:static}.soft-search-field{background:var(--sc-card);border-radius:18px;flex:1;align-items:center;gap:10px;min-width:0;height:52px;padding:0 14px;display:flex}.soft-search-field svg{fill:none;width:20px;height:20px;stroke:var(--sc-text-2);stroke-width:2px;stroke-linecap:round;flex:0 0 20px}.soft-search-field input{width:100%;min-width:0;height:100%;color:var(--sc-text);font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:1rem}.soft-search-field:focus-within{outline:2px solid var(--sc-accent);outline-offset:2px}.soft-search-field input:focus{outline:0}.soft-scan-button,.soft-quick-add{background:var(--sc-protein-bg);width:52px;height:52px;color:var(--sc-protein-fg);cursor:pointer;border:0;border-radius:18px;flex:0 0 52px;justify-content:center;align-items:center;padding:0;display:inline-flex}.soft-scan-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.soft-smart-log-cta{background:var(--sc-card);width:100%;min-height:48px;color:var(--sc-protein-fg);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:10px;margin:12px 0;padding:0 16px;font-size:.9rem;font-weight:700;display:flex}.soft-smart-log-cta span:nth-child(2){flex:1}.soft-smart-log-icon{justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.soft-smart-log-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.soft-smart-log-arrow{color:var(--sc-text-muted);font-size:1.35rem;line-height:1}.soft-add-screen .tabs{gap:8px;margin:0 -2px 6px}.soft-add-screen .tab-pill{min-height:var(--sc-tap);border-radius:var(--sc-radius-pill);background:var(--sc-card);color:var(--sc-text-3);border:0;padding:0 14px;font-size:.8rem;font-weight:600}.soft-add-screen .tab-pill.active{background:var(--sc-selected-bg);color:var(--sc-selected-text);font-weight:700}.soft-add-screen .secondary-btn.wide{background:var(--sc-card);min-height:48px;color:var(--sc-accent);border:0;border-radius:16px;margin:8px 0}.soft-add-section-title{color:var(--sc-text-2);font-size:var(--sc-type-secondary);margin:16px 0 8px;font-weight:700}.soft-food-results{flex-direction:column;gap:8px;display:flex}.soft-food-row{border-radius:var(--sc-radius-item);background:var(--sc-card);align-items:center;gap:8px;min-width:0;padding:4px 8px 4px 14px;display:flex}.soft-food-row .result{min-width:0;min-height:64px;color:var(--sc-text);background:0 0;border:0;flex:1;gap:10px;padding:8px 0}.soft-food-row .result:active{background:0 0}.soft-food-row .result-name{font-size:.9rem;font-weight:700}.soft-food-row .result .muted{color:var(--sc-text-2);font-size:.78rem}.soft-add-screen .badge{border:0;border-radius:8px;padding:4px 8px;font-size:.68rem;font-weight:800}.soft-add-screen .badge-usda{color:var(--sc-protein-fg);background:var(--sc-protein-bg)}.soft-add-screen .badge-label{color:var(--sc-fat-fg);background:var(--sc-fat-bg)}.soft-add-screen .badge-unverified{color:var(--sc-carbs-fg);background:var(--sc-carbs-bg)}.soft-quick-add{background:var(--sc-accent);color:#fff;border-radius:50%;flex-basis:44px;width:44px;height:44px;font-size:1.5rem;font-weight:500}.soft-quick-add:disabled{opacity:.55}.soft-add-screen .meal-template{border-radius:var(--sc-radius-item);background:var(--sc-card);border:0;gap:8px;padding:4px 8px 4px 14px}.soft-add-screen .meal-template .result{min-height:64px;padding:8px 0}.soft-add-screen .meal-template .log-btn{background:var(--sc-accent);color:#fff;min-height:44px}.soft-add-screen .online-results{margin-top:16px;padding-top:2px}.soft-add-screen .online-results .section-title{color:var(--sc-text-2);font-size:var(--sc-type-secondary)}.soft-add-screen .empty-note{color:var(--sc-text-2);padding:12px 14px}.soft-add-screen :is(button,input):focus-visible{outline:2px solid var(--sc-accent);outline-offset:2px}@media (max-width:380px){.screen.soft-add-page{padding-left:14px;padding-right:14px}.soft-add-screen .top-bar{gap:6px}.soft-add-screen .top-bar h1{font-size:1.05rem}.soft-add-screen .smart-log-top-btn{padding:0 7px;font-size:.72rem}.soft-add-screen .tabs{gap:6px}.soft-add-screen .tab-pill{padding:0 11px}}.screen.soft-design-screen,.screen.soft-content-page{color:var(--sc-text);background:var(--sc-bg);font-family:var(--sc-font)}.screen.soft-design-screen{padding:calc(env(safe-area-inset-top) + 12px) var(--sc-gutter) calc(env(safe-area-inset-bottom) + 96px)}.screen.soft-content-page{padding:calc(env(safe-area-inset-top) + 12px) var(--sc-gutter) calc(env(safe-area-inset-bottom) + 24px)}.soft-design-screen .top-bar,.soft-content-page .top-bar{gap:8px;min-height:52px}.soft-design-screen .top-bar h1,.soft-content-page .top-bar h1{color:var(--sc-text);letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.soft-design-screen .icon-btn,.soft-content-page .icon-btn{background:var(--sc-card);width:44px;height:44px;color:var(--sc-text);border-radius:50%;flex:0 0 44px}.soft-design-screen .card,.soft-content-page .card{border-radius:var(--sc-radius-card);background:var(--sc-card);color:var(--sc-text);border:0}.soft-design-screen .tabs{gap:8px}.soft-design-screen .tab-pill,.soft-content-page .chip{min-height:var(--sc-tap);border-radius:var(--sc-radius-pill);background:var(--sc-card);color:var(--sc-text-3);border:0;font-size:.8rem;font-weight:600}.soft-design-screen .tab-pill.active,.soft-content-page .chip.active{background:var(--sc-selected-bg);color:var(--sc-selected-text);font-weight:700}.soft-design-screen .muted,.soft-content-page .muted{color:var(--sc-text-2)}.soft-design-screen .link-btn,.soft-content-page .link-btn{min-height:var(--sc-tap);color:var(--sc-accent);align-items:center;display:inline-flex}.soft-design-screen .text-input,.soft-design-screen select,.soft-content-page .text-input,.soft-content-page select,.soft-content-page .grams-input,.soft-design-screen .range-row input{border-color:var(--sc-divider);border-radius:var(--sc-radius-tile);background:var(--sc-card);color:var(--sc-text)}.soft-design-screen :is(button,input,select):focus-visible,.soft-content-page :is(button,input,select,textarea):focus-visible{outline:2px solid var(--sc-accent);outline-offset:2px}.soft-design-screen .tile,.soft-design-screen .chart-card{border-radius:var(--sc-radius-card);background:var(--sc-card);color:var(--sc-text);border:0}.soft-design-screen .tile-label,.soft-design-screen .tile-delta{color:var(--sc-text-2)}.soft-design-screen .chart-title{color:var(--sc-text);font-size:var(--sc-type-card-title);font-weight:800}.soft-design-screen .chart .grid,.soft-design-screen .chart .axis{stroke:var(--sc-divider)}.soft-design-screen .chart .tick,.soft-design-screen .chart .reflabel{fill:var(--sc-text-2)}.soft-design-screen .chart .col{fill:var(--sc-accent)}.soft-design-screen .chart .trend-line{stroke:var(--sc-accent)}.soft-design-screen .chart .weigh-dot{stroke:var(--sc-card)}.soft-design-screen .chart .endlabel{fill:var(--sc-text)}.soft-design-screen .chart-tip{border-radius:var(--sc-radius-tile);background:var(--sc-card);border:0}.soft-design-screen .chart-table summary{color:var(--sc-accent)}.soft-design-screen .chart-table th,.soft-design-screen .chart-table td{border-color:var(--sc-divider)}.soft-design-screen .chart-head select{border-color:var(--sc-divider);border-radius:var(--sc-radius-tile);background:var(--sc-card);color:var(--sc-text)}.soft-design-screen .app-updates,.soft-design-screen .update-notice{border-color:var(--sc-divider);border-radius:var(--sc-radius-card);background:var(--sc-card)}.soft-design-screen .update-notes{color:var(--sc-text-2)}.soft-design-screen .settings-link{width:100%;min-height:48px;color:var(--sc-text);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;font-weight:700;display:flex}.soft-design-screen .meal{border-color:var(--sc-divider);min-height:48px}.soft-design-screen .meal .muted{color:var(--sc-text-2)}.soft-design-screen .app-updates h2,.soft-design-screen .app-updates h3,.soft-design-screen .check-row{color:var(--sc-text)}.food-screen.soft-content-screen{padding-bottom:88px}.soft-content-page .food-screen.soft-content-screen{font-family:var(--sc-font)}.soft-content-page .food-screen.soft-content-screen .field-label,.soft-content-page .food-screen.soft-content-screen .field>span:first-child{color:var(--sc-text-2)}.soft-content-page .food-screen.soft-content-screen .field-input input,.soft-content-page .food-screen.soft-content-screen .portion-row>input,.soft-content-page .food-screen.soft-content-screen .ingredient-row input{border-color:var(--sc-divider);background:var(--sc-card);color:var(--sc-text);border-radius:12px}.soft-content-page .food-screen.soft-content-screen .nutrition-label{border:2px solid var(--sc-text)}.soft-content-page .food-screen.soft-content-screen .nutrition-label .nl-title,.soft-content-page .food-screen.soft-content-screen .nutrition-label .serving-row{border-color:var(--sc-text);color:var(--sc-text)}.soft-content-page .food-screen.soft-content-screen .label-row,.soft-content-page .food-screen.soft-content-screen .ingredient-row{border-color:var(--sc-divider)}.soft-content-page .food-screen.soft-content-screen .add-bar{background:var(--sc-bg);padding:10px 20px calc(12px + env(safe-area-inset-bottom));border:0}.soft-content-page .food-screen.soft-content-screen .add-bar .primary{background:var(--sc-accent);color:#fff;border-radius:20px;min-height:58px;font-weight:800}.soft-content-page .danger-btn.wide{border-radius:16px}.food-screen.soft-content-screen .food-head{padding:14px 0 4px}.food-screen.soft-content-screen .food-head h2{color:var(--sc-text);letter-spacing:-.02em;margin:0 0 6px;font-size:1.6rem;font-weight:800;line-height:1.18}.food-screen.soft-content-screen .food-source{color:var(--sc-text-2);margin-bottom:4px}.food-screen.soft-content-screen .card{margin-bottom:12px;padding:16px}.soft-amount-card{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 6px;display:grid}.soft-amount-card>span:first-child{color:var(--sc-text-2);font-size:var(--sc-type-secondary);grid-column:1/-1;font-weight:700}.soft-amount-card .grams-input{width:100%;min-width:0;color:var(--sc-text);letter-spacing:-.03em;text-align:left;background:0 0;border:0;border-radius:0;padding:0;font-size:clamp(2.4rem,11vw,3rem);font-weight:800;line-height:1.15}.soft-amount-card>span:last-child{color:var(--sc-text-2);font-size:1.1rem;font-weight:700}.food-screen.soft-content-screen .chips{gap:8px}.food-screen.soft-content-screen .chip{background:var(--sc-bg);color:var(--sc-text-3)}.food-screen.soft-content-screen .chip.active{background:var(--sc-selected-bg);color:var(--sc-selected-text)}.soft-detail-preview{background:0 0!important;padding:0!important}.soft-detail-macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.soft-detail-kcal,.soft-detail-macro{text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:82px;padding:10px 4px;display:flex}.soft-detail-kcal{background:var(--sc-card);color:var(--sc-text)}.soft-detail-macro.protein{background:var(--sc-protein-bg);color:var(--sc-protein-fg)}.soft-detail-macro.carbs{background:var(--sc-carbs-bg);color:var(--sc-carbs-fg)}.soft-detail-macro.fat{background:var(--sc-fat-bg);color:var(--sc-fat-fg)}.soft-detail-kcal .big,.soft-detail-macro b{max-width:100%;color:var(--sc-text);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,5vw,1.3rem);font-weight:800;overflow:hidden}.soft-detail-macro small{font-size:.72em}.soft-detail-metric-label,.soft-detail-macro>span{font-size:.68rem;font-weight:700}.soft-detail-metric-label{color:var(--sc-text-2)}.soft-detail-preview>p{padding:0 4px}.soft-meal-picker-card .meal-picker{gap:6px}.soft-meal-picker-card .chip{min-height:var(--sc-tap);text-align:center;border-radius:14px;flex:72px;padding:0 8px}.soft-meal-picker-card .chip.active{outline:2px solid var(--sc-selected-bg);outline-offset:-2px}.soft-food-nutrients{padding:16px 18px!important}.soft-food-nutrients-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.soft-food-nutrients-head h3{color:var(--sc-text-2);font-size:var(--sc-type-secondary);margin:0}.soft-food-nutrients .link-btn{min-height:44px}.soft-food-nutrient-preview .nutrient-row,.soft-food-nutrients .nutrient-row{border-color:var(--sc-divider)}.food-screen.soft-content-screen .add-bar{background:var(--sc-bg);padding:10px 20px calc(12px + env(safe-area-inset-bottom));border:0}.food-screen.soft-content-screen .primary{background:var(--sc-accent);color:#fff;border-radius:20px;min-height:58px;font-size:1.05rem;font-weight:800}.soft-nutrients-screen .top-bar{margin-bottom:6px}.soft-nutrients-screen .soft-range-tabs{border-radius:var(--sc-radius-tile);background:var(--sc-card);width:-moz-fit-content;width:fit-content;padding:3px}.soft-nutrients-screen .soft-range-tabs .tab-pill{min-height:var(--sc-tap);border-radius:11px;padding:0 12px}.soft-nutrients-screen .soft-nutrient-summary{border-radius:var(--sc-radius-card);background:var(--sc-fat-bg);color:var(--sc-fat-fg);align-items:center;gap:14px;margin:14px 0;padding:16px 18px;display:flex}.soft-nutrient-summary strong{color:var(--sc-text);letter-spacing:-.03em;flex:none;font-size:2.2rem;font-weight:800}.soft-nutrient-summary strong span{color:var(--sc-fat-fg);font-size:1.15rem}.soft-nutrient-summary p{margin:0;font-size:.9rem;font-weight:700}.soft-insights-card{padding:16px 18px!important}.soft-insights-card h2{color:var(--sc-text);font-size:var(--sc-type-card-title);margin:0;font-weight:800}.soft-insights-caption{color:var(--sc-text-2);margin:3px 0 8px;font-size:.74rem;line-height:1.4}.soft-insights-card ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.soft-insight-item{color:var(--sc-text-2);align-items:flex-start;gap:8px;font-size:.82rem;line-height:1.45;display:flex}.soft-insight-item strong{color:var(--sc-text)}.soft-insight-mark{background:var(--sc-protein-bg);width:20px;height:20px;color:var(--sc-protein-fg);border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:inline-flex}.soft-insight-item.missing_data .soft-insight-mark{background:var(--sc-warn-bg);color:var(--sc-warn-text)}.soft-insight-item.above_target .soft-insight-mark{background:var(--sc-carbs-bg);color:var(--sc-carbs-fg)}.soft-nutrients-screen .soft-category-filters{margin:12px 0}.soft-nutrients-screen .nutrient-card{margin-bottom:10px;padding:8px 18px}.soft-nutrients-screen .group-title{color:var(--sc-text-2);font-size:var(--sc-type-secondary);padding:8px 0 2px}.soft-nutrient-line{border-bottom:1px solid var(--sc-divider)}.soft-nutrient-line:last-child{border-bottom:0}.soft-nutrients-screen .nbar{color:var(--sc-text);border:0;padding:12px 0}.soft-nutrients-screen .nbar-top{align-items:center;gap:8px;font-size:.86rem}.soft-nutrients-screen .nbar-name{flex-wrap:wrap;align-items:center;gap:4px;font-weight:700;display:flex}.soft-nutrients-screen .nbar-value{color:var(--sc-text-2);font-size:.78rem}.soft-nutrients-screen .bar.thin{background:var(--sc-divider);height:8px;margin-top:8px}.soft-nutrients-screen .bar-fill.status-ok{background:var(--sc-ok)}.soft-nutrients-screen .bar-fill.status-under{background:var(--sc-accent)}.soft-nutrients-screen .bar-fill.status-over{background:var(--sc-warn)}.soft-nutrients-screen .bar-fill.status-no_target,.soft-nutrients-screen .bar-fill.status-no_data{background:var(--sc-text-muted)}.soft-missing-badge{background:var(--sc-carbs-bg);color:var(--sc-carbs-fg);border-radius:7px;padding:3px 6px;font-size:.6rem;font-weight:800}.soft-data-warning{color:var(--sc-warn-text);margin:-4px 0 12px;font-size:.74rem;line-height:1.4}.soft-nutrients-screen .incomplete{color:var(--sc-warn)}.soft-nutrients-screen .nutrient-card :is(button,input):focus-visible{outline:2px solid var(--sc-accent);outline-offset:2px}.soft-content-page .smart-log-screen{padding-bottom:92px}.smart-log-screen .smart-review-title{color:var(--sc-text);font-size:var(--sc-type-card-title);font-weight:800}.smart-log-screen .soft-review-quote{border-radius:var(--sc-radius-item);background:var(--sc-text);color:var(--sc-bg);margin-bottom:14px;padding:14px 16px}.soft-review-quote>span{color:var(--sc-text-muted);letter-spacing:.04em;font-size:.68rem;font-weight:800}.soft-review-quote p{overflow-wrap:anywhere;margin:5px 0 0;font-size:.95rem;font-weight:600;line-height:1.45}.smart-log-screen .smart-log-item{border-radius:var(--sc-radius-item);background:var(--sc-card);border:0;margin:8px 0;padding:14px}.smart-log-screen .smart-item-heading{min-height:44px}.smart-log-screen .smart-item-heading strong{color:var(--sc-text)}.smart-log-screen .smart-match,.smart-log-screen .smart-macros{color:var(--sc-text-2)}.soft-design-screen .soft-warning-text,.soft-content-page .soft-warning-text{color:var(--sc-warn-text);align-items:flex-start;gap:6px;display:flex}.soft-warning-text>span{background:var(--sc-warn-bg);border-radius:50%;flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;font-size:.72rem;font-weight:800;display:inline-flex}.soft-voice-button{background:var(--sc-card);color:var(--sc-accent);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.soft-voice-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.smart-log-screen .add-bar{background:var(--sc-bg);border:0}.smart-log-screen .add-bar .primary{background:var(--sc-accent);color:#fff;border-radius:20px;min-height:58px}@media (max-width:380px){.screen.soft-design-screen,.screen.soft-content-page{padding-left:14px;padding-right:14px}.soft-detail-macros{gap:6px}.soft-detail-kcal,.soft-detail-macro{min-height:74px}.soft-nutrients-screen .nbar-value{white-space:normal;max-width:48%}}.ai-settings-card h2{color:var(--sc-text);font-size:var(--sc-type-card-title);margin:0}.ai-settings-card .field{min-width:0}.ai-consent-row{align-items:flex-start;line-height:1.4}.ai-consent-row input{flex:none;margin-top:4px}.ai-usage{border-radius:var(--sc-radius-item);background:var(--sc-bg);color:var(--sc-text-2);flex-direction:column;gap:4px;padding:12px;font-size:.85rem;display:flex}.soft-settings-screen,.soft-trends-screen,.scan-screen,.targets-screen{color:var(--sc-text);font-family:var(--sc-font)}.scan-screen .top-bar,.targets-screen .top-bar{margin-bottom:8px}.scan-screen .card,.targets-screen .card{border-radius:var(--sc-radius-card);background:var(--sc-card);color:var(--sc-text);border:0;margin-bottom:10px;padding:16px 18px}.scan-screen .field-label,.targets-screen .field-label,.targets-screen .field>span:first-child{color:var(--sc-text-2);font-weight:700}.scan-screen .field-input input,.targets-screen .field-input input,.targets-screen .field-input select,.targets-screen .text-input{min-height:var(--sc-tap);border:1px solid var(--sc-divider);border-radius:var(--sc-radius-tile);background:var(--sc-card);color:var(--sc-text)}.scan-screen .primary,.targets-screen .primary{background:var(--sc-accent);color:#fff;border-radius:18px;min-height:54px;font-weight:800}.scan-screen .found-name{color:var(--sc-text);overflow-wrap:anywhere;font-size:1.25rem;font-weight:800}.scan-screen .warning,.targets-screen .warning{color:var(--sc-warn-text)}.targets-screen .card .field{gap:8px}.targets-screen .card .field-row{gap:10px}.targets-screen .card .chips{gap:8px}.targets-screen .card .chip{min-height:var(--sc-tap);border-radius:var(--sc-radius-pill);background:var(--sc-bg);color:var(--sc-text-3);border:0}.targets-screen .card .chip.active{background:var(--sc-selected-bg);color:var(--sc-selected-text)}.targets-screen .card :is(input,select,button):focus-visible,.scan-screen :is(input,select,button):focus-visible{outline:2px solid var(--sc-accent);outline-offset:2px}.soft-settings-screen>.card,.soft-settings-screen>.app-updates,.soft-settings-screen>.health-card,.soft-trends-screen .chart-card{margin-bottom:10px}.soft-settings-screen .card.form{padding:16px 18px}.soft-settings-screen .field-label,.soft-content-page .food-screen .field-label{color:var(--sc-text-2);font-size:var(--sc-type-secondary);font-weight:700}.soft-settings-screen .field,.soft-content-page .food-screen .field,.soft-settings-screen .field-input,.soft-content-page .food-screen .field-input{gap:8px}.soft-settings-screen .field-input .secondary-btn,.soft-content-page .food-screen .secondary-btn,.soft-content-page .food-screen .danger-btn{min-height:var(--sc-tap);border-radius:var(--sc-radius-tile)}.soft-settings-screen .settings-link,.soft-settings-screen .meal{min-height:52px}.soft-settings-screen .card>.field-label:first-child{margin-top:0}.soft-settings-screen .ai-settings-card{padding:18px}.soft-settings-screen .ai-settings-card .text-input,.soft-settings-screen .card select,.soft-settings-screen .card input:not([type=checkbox]){min-height:var(--sc-tap)}.soft-settings-screen .card input[type=checkbox]{accent-color:var(--sc-accent)}.soft-settings-screen .ai-usage{background:var(--sc-bg);color:var(--sc-text-2)}.soft-settings-screen :is(button,input,select):focus-visible,.soft-trends-screen :is(button,input,select):focus-visible{outline:2px solid var(--sc-accent);outline-offset:2px}.soft-trends-screen .tabs{gap:8px}.soft-trends-screen .tab-pill{min-height:var(--sc-tap);border-radius:var(--sc-radius-pill);background:var(--sc-card);color:var(--sc-text-3);border:0;font-size:.8rem;font-weight:600}.soft-trends-screen .tab-pill.active{background:var(--sc-selected-bg);color:var(--sc-selected-text);font-weight:700}.soft-trends-screen .range-row{align-items:center;gap:8px}.soft-trends-screen .range-row input{min-width:0;min-height:var(--sc-tap);border:1px solid var(--sc-divider);border-radius:var(--sc-radius-tile);background:var(--sc-card);color:var(--sc-text)}.soft-trends-screen .tiles{gap:8px}.soft-trends-screen .tile{min-width:0;padding:14px}.soft-trends-screen .tile-value{overflow-wrap:anywhere;font-weight:800}.soft-trends-screen .card.chart-card{padding:16px}.soft-trends-screen .chart-head{gap:8px}.soft-trends-screen .chart-head select{min-height:var(--sc-tap);max-width:56%;padding:0 10px}.soft-trends-screen .warning{color:var(--sc-warn-text)}.soft-trends-screen .error{overflow-wrap:anywhere}.soft-content-page .food-screen.soft-content-screen .top-bar{margin-bottom:8px}.soft-content-page .food-screen.soft-content-screen .form>.field+.field{border-top:1px solid var(--sc-divider);margin-top:14px;padding-top:14px}.soft-content-page .food-screen.soft-content-screen .nutrition-label{background:var(--sc-card);border-radius:18px;padding:16px 18px}.soft-content-page .food-screen.soft-content-screen .nutrition-label .nl-title{margin:0 0 8px;padding-bottom:8px;font-size:1.3rem;font-weight:800}.soft-content-page .food-screen.soft-content-screen .nutrition-label .serving-row{gap:8px;padding:10px 0}.soft-content-page .food-screen.soft-content-screen .label-row{min-height:44px;padding:8px 0}.soft-content-page .food-screen.soft-content-screen .label-row .field-input input{min-height:40px}.soft-content-page .food-screen.soft-content-screen .ingredient-row,.soft-content-page .food-screen.soft-content-screen .portion-row{grid-template-columns:minmax(0,1fr) minmax(86px,112px) 44px;gap:6px;min-height:56px}.soft-content-page .food-screen.soft-content-screen .unverified-banner{border:2px solid var(--sc-warn-border);border-radius:var(--sc-radius-item);background:var(--sc-warn-bg);color:var(--sc-warn-text);line-height:1.45}.soft-content-page .food-screen.soft-content-screen .card .link-btn{min-height:var(--sc-tap)}.smart-log-screen{color:var(--sc-text);font-family:var(--sc-font)}.smart-log-screen .smart-log-text{border:1px solid var(--sc-divider);border-radius:var(--sc-radius-tile);background:var(--sc-card);min-height:112px;color:var(--sc-text);padding:12px}.smart-log-screen .smart-log-item :is(input,select){min-height:var(--sc-tap);border:1px solid var(--sc-divider);background:var(--sc-card);color:var(--sc-text);border-radius:12px}.smart-log-screen .smart-quantity{border-top:1px solid var(--sc-divider);margin-top:12px;padding-top:10px}.smart-log-screen .smart-macros.totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.smart-log-screen .smart-macros.totals>span{border-radius:var(--sc-radius-tile);background:var(--sc-bg);color:var(--sc-text);padding:10px;font-size:.8rem;font-weight:700}.smart-log-screen .smart-search-results .result{border-bottom-color:var(--sc-divider);min-height:52px}.smart-log-screen .smart-voice-row{gap:10px}.sheet{background:var(--sc-bg);color:var(--sc-text);font-family:var(--sc-font);border:0;border-radius:24px 24px 0 0}.sheet .sheet-head h2{color:var(--sc-text);font-size:1.05rem;font-weight:800}.sheet .icon-btn{background:var(--sc-card);color:var(--sc-text)}.sheet .grams-input,.sheet .field-input input,.sheet input[type=date]{min-height:var(--sc-tap);border:1px solid var(--sc-divider);border-radius:var(--sc-radius-tile);background:var(--sc-card);color:var(--sc-text)}.sheet .grams-input{text-align:right;padding:0 10px;font-size:1.2rem;font-weight:800}.sheet .chip{min-height:var(--sc-tap);background:var(--sc-card);color:var(--sc-text-3)}.sheet .chip.active{background:var(--sc-selected-bg);color:var(--sc-selected-text)}.sheet .primary{background:var(--sc-accent);color:#fff;border-radius:16px;min-height:52px;font-weight:800}.sheet .secondary-btn,.sheet .danger-btn{min-height:var(--sc-tap);border-radius:14px}.sheet :is(button,input,select):focus-visible{outline:2px solid var(--sc-accent);outline-offset:2px}@media (max-width:380px){.soft-settings-screen .card.form,.soft-trends-screen .card.chart-card,.soft-content-page .food-screen.soft-content-screen .nutrition-label{padding:14px}.soft-content-page .food-screen.soft-content-screen .ingredient-row,.soft-content-page .food-screen.soft-content-screen .portion-row{grid-template-columns:minmax(0,1fr) 84px 40px;gap:4px}.soft-trends-screen .tile{padding:10px}}.ai-usage strong{color:var(--sc-text)}.ai-photo-button{justify-content:center;align-items:center;min-height:44px;margin:4px 0;display:inline-flex}.ai-insight-explanation{border-radius:var(--sc-radius-item);background:var(--sc-bg);color:var(--sc-text-2);margin-top:12px;padding:12px;line-height:1.5}
