.list-row{min-height:60px;padding:var(--space-3) 0;display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-line);color:var(--color-ink);font-weight:400;text-decoration:none}.list-row:last-child{border-bottom:0}.list-row:active{background:var(--color-surface-sunken)}.list-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.list-row-title{display:flex;align-items:flex-start}.list-row-name{min-width:0;overflow-wrap:anywhere;font-size:var(--font-size-body);font-weight:550;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.list-row-subtitle{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row-verified{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0 var(--space-1);color:var(--color-accent-text)}.list-row-hidden-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.list-row-calories{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;font-size:var(--font-size-body);font-weight:600;font-variant-numeric:tabular-nums}.list-row-calories-unit{font-size:var(--font-size-caption);font-weight:400;color:var(--color-muted)}.food-search-results-status{display:flex;flex-direction:column;gap:var(--space-3)}.food-search-results-message{margin:var(--space-6) 0;color:var(--color-muted)}.food-search-results-list{display:flex;flex-direction:column}.food-search-results-heading{margin:var(--space-2) 0 var(--space-1);color:var(--color-muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.food-search-results-retry{min-height:var(--tap-target);padding:0 var(--space-5);border:1px solid var(--color-line-strong);border-radius:22px;background:transparent;color:var(--color-ink);align-self:flex-start;font:inherit;font-weight:650;cursor:pointer}.form-alert{display:flex;gap:var(--space-2);align-items:flex-start;padding:10px var(--space-3);border-radius:10px;background:var(--color-warning-soft);color:var(--color-warning-text);font-size:14px;font-weight:500}.form-alert-icon{width:18px;height:18px;flex:0 0 auto;margin-top:1px}.search-field{height:var(--control-height);padding:0 var(--space-1) 0 14px;display:flex;align-items:center;gap:var(--space-2);border:1px solid transparent;border-radius:24px;background:var(--color-surface-sunken)}.search-field:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.search-field-icon{width:18px;height:18px;flex:0 0 auto;color:var(--color-muted)}.search-field-input:focus-visible{outline:none}.search-field-input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:var(--font-size-input)}.search-field-scan{width:var(--tap-target);height:var(--tap-target);flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-tab-bar);color:var(--color-tab-bar-action)}.search-field-scan:focus-visible{outline:3px solid var(--color-focus)}.search-field-scan-icon{width:22px;height:22px}.segmented-control{display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:26px;background:var(--color-surface-sunken)}.segmented-control-option{flex:1;min-height:var(--tap-target);padding:0 var(--space-1);border:0;border-radius:22px;background:transparent;color:var(--color-muted);font-size:14px;font-weight:600;cursor:pointer}.segmented-control-option-selected{background:var(--color-tab-bar);color:var(--color-tab-bar-text-active)}.snackbar{min-height:52px;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border-radius:var(--radius-card);background:var(--color-tab-bar);color:var(--color-tab-bar-text-active);display:flex;align-items:center;gap:var(--space-3);box-shadow:0 8px 20px var(--color-tab-bar-shadow)}.snackbar-above-tab-bar{position:fixed;left:calc(var(--tab-bar-inset) + env(safe-area-inset-left));right:calc(var(--tab-bar-inset) + env(safe-area-inset-right));bottom:calc(var(--tab-bar-height) + var(--tab-bar-inset) + var(--space-3) + env(safe-area-inset-bottom));z-index:3;max-width:calc(var(--content-max-width) - 2 * var(--tab-bar-inset));margin:0 auto}.snackbar-message{flex:1;min-width:0;font-size:var(--font-size-body);overflow-wrap:anywhere}.snackbar-action{min-width:64px;min-height:var(--tap-target);padding:0 var(--space-3);border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-tab-bar-action);font:inherit;font-weight:700;cursor:pointer}.snackbar-action:disabled{opacity:.6;cursor:default}.snackbar-action:focus-visible{outline:3px solid var(--color-tab-bar-action);outline-offset:-3px}@media (min-width: 768px){.snackbar-above-tab-bar{left:calc(var(--rail-width) + var(--space-4) + env(safe-area-inset-left));bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}}.stack-screen{max-width:var(--content-max-width);min-height:100vh;min-height:100dvh;margin:0 auto;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);display:flex;flex-direction:column}.stack-screen-header{position:sticky;top:0;z-index:1;min-height:calc(60px + env(safe-area-inset-top));padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-2) var(--space-2);padding-left:var(--space-4);padding-right:var(--space-4);background:var(--color-background);display:flex;align-items:center;gap:var(--space-3)}.stack-screen-back{width:var(--tap-target);height:var(--tap-target);flex:0 0 auto;border-radius:50%;background:var(--color-surface-sunken);display:flex;align-items:center;justify-content:center;color:var(--color-ink)}.stack-screen-back-icon{width:22px;height:22px}.stack-screen-heading{flex:1;min-width:0;display:flex;flex-direction:column}.stack-screen-subtitle{margin-top:2px;font-size:var(--font-size-caption);color:var(--color-muted)}.stack-screen-title{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-screen-spacer{flex:1}.stack-screen-content{flex:1;padding:var(--space-2) var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.stack-screen-footer{position:sticky;bottom:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-background)}.add-food-done{min-width:var(--tap-target);min-height:var(--tap-target);padding:0 var(--space-4);border-radius:22px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-sunken);color:var(--color-ink);font-weight:650;text-decoration:none}.add-food-done:active{background:var(--color-line)}.add-food-meal{display:flex;flex-direction:column;gap:var(--space-2)}.add-food-meal-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.add-food-create{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--button-height);border:1px solid var(--color-line-strong);border-radius:26px;color:var(--color-ink);text-decoration:none;font-weight:650}.add-food-create:active{background:var(--color-surface-sunken)}.add-food-create-icon{width:20px;height:20px}.add-food-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.button{min-height:var(--button-height);padding:0 var(--space-5);border-radius:26px;border:1px solid transparent;font-size:var(--font-size-title);font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.button:disabled{opacity:.5;cursor:default}.button-primary{background:var(--color-tab-bar);color:var(--color-tab-bar-text-active)}.button-primary:active:not(:disabled){background:var(--color-accent-pressed)}.button-secondary{background:var(--color-surface);border-color:var(--color-line-strong);color:var(--color-ink)}.button-secondary:active:not(:disabled){background:var(--color-surface-sunken)}.button-danger{background:var(--color-surface);border-color:var(--color-line-strong);color:var(--color-danger-text)}.button-danger:active:not(:disabled){background:var(--color-danger-soft)}.text-field{display:flex;flex-direction:column;gap:6px}.text-field-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.text-field-input{height:var(--control-height);width:100%;min-width:0;padding:0 14px;border:1px solid var(--color-line-strong);border-radius:var(--radius-control);background:var(--color-surface);font-size:var(--font-size-input)}.text-field-hint{font-size:var(--font-size-caption);color:var(--color-muted)}.quick-entry-fields{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.quick-entry-fields-more{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.quick-entry-fields-summary{min-height:var(--button-height);padding:var(--space-2) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);cursor:pointer}.quick-entry-fields-heading{display:flex;flex-direction:column;gap:var(--space-1)}.quick-entry-fields-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.quick-entry-fields-hint{font-size:var(--font-size-caption);color:var(--color-muted)}.quick-entry-fields-chevron{width:20px;height:20px;flex:0 0 auto}.quick-entry-fields-chevron-open{transform:rotate(90deg)}.quick-entry-fields-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);padding-bottom:var(--space-4)}.quick-entry-fields-meal{display:flex;flex-direction:column;gap:var(--space-2)}.quick-entry-description{margin:0;color:var(--color-muted)}.quick-entry-form{display:flex;flex-direction:column;gap:var(--space-4)}.tab-bar{position:fixed;left:calc(var(--tab-bar-inset) + env(safe-area-inset-left));right:calc(var(--tab-bar-inset) + env(safe-area-inset-right));bottom:calc(var(--tab-bar-inset) + env(safe-area-inset-bottom));z-index:2;max-width:calc(var(--content-max-width) - 2 * var(--tab-bar-inset));height:var(--tab-bar-height);margin:0 auto;padding:0 6px;border-radius:32px;display:flex;align-items:center;justify-content:space-around;background:var(--color-tab-bar);box-shadow:0 10px 24px var(--color-tab-bar-shadow)}.tab-bar-link{flex:1;max-width:96px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:24px;font-size:11px;font-weight:500;color:var(--color-tab-bar-text);text-decoration:none}.tab-bar-link:active{color:var(--color-tab-bar-text-active)}.tab-bar-link:focus-visible{outline:3px solid var(--color-tab-bar-action);outline-offset:-3px}.tab-bar-link-active{color:var(--color-tab-bar-text-active);font-weight:650}.tab-bar-add{flex:0 0 64px;min-height:48px;display:flex;align-items:center;justify-content:center}.tab-bar-add:focus-visible{outline:3px solid var(--color-tab-bar-action);outline-offset:2px;border-radius:28px}.tab-bar-add-circle{width:48px;height:48px;border-radius:24px;background:var(--color-tab-bar-action);color:var(--color-tab-bar-action-text);display:flex;align-items:center;justify-content:center}.tab-bar-add-circle:active{background:var(--color-tab-bar-action-pressed)}.tab-bar-add-icon{width:24px;height:24px}.tab-bar-icon{width:22px;height:22px}@media (min-width: 768px){.tab-bar{top:calc(var(--tab-bar-inset) + env(safe-area-inset-top));right:auto;width:calc(var(--rail-width) - var(--tab-bar-inset));max-width:none;height:auto;margin:0;padding:var(--space-4) 0;border-radius:32px;flex-direction:column;justify-content:flex-start;gap:var(--space-2)}.tab-bar-link{flex:0 0 auto;width:64px;min-height:64px}.tab-bar-add{flex:0 0 auto;min-height:64px}}.app-layout{min-height:100vh;min-height:100dvh;padding-top:env(safe-area-inset-top)}.app-layout-main{max-width:var(--content-max-width);margin:0 auto;padding:0 calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--tab-bar-height) + var(--tab-bar-inset) + env(safe-area-inset-bottom) + var(--space-8)) calc(var(--space-4) + env(safe-area-inset-left))}@media (min-width: 768px){.app-layout{padding-left:calc(var(--rail-width) + env(safe-area-inset-left))}.app-layout-main{padding-left:var(--space-4);padding-bottom:var(--space-12)}}.diary-date-navigator{padding:var(--space-3) 0 0 var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.diary-date-navigator-heading{margin:0;min-width:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-muted)}.diary-date-navigator-actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2)}.diary-date-navigator-step{width:var(--tap-target);height:var(--tap-target);border-radius:22px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-sunken);color:var(--color-ink)}.diary-date-navigator-step:active{background:var(--color-line)}.diary-date-navigator-icon{width:20px;height:20px}.diary-date-navigator-today{min-height:var(--tap-target);padding:0 var(--space-3);border-radius:22px;display:flex;align-items:center;background:var(--color-surface-sunken);color:var(--color-ink);font-size:14px;font-weight:650;text-decoration:none}.diary-entry-row{position:relative;margin:0 calc(-1 * var(--space-2));border-top:1px solid var(--color-line);overflow:hidden}.diary-entry-row-delete{position:absolute;top:0;right:0;bottom:0;width:104px;border:0;background:var(--color-danger);color:var(--color-on-accent);font:inherit;font-weight:650;cursor:pointer}.diary-entry-row-delete-hidden{visibility:hidden}.diary-entry-row-delete:focus-visible{outline:3px solid var(--color-focus);outline-offset:-5px}.diary-entry-row-link{position:relative;min-height:56px;padding:var(--space-2);display:flex;align-items:center;gap:var(--space-3);background:var(--color-background);color:inherit;font-weight:inherit;text-decoration:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform .18s ease}.diary-entry-row-link-dragging{transition:none}.diary-entry-row-link:active{background:var(--color-surface-sunken)}.diary-entry-row-link:focus-visible{outline-offset:-3px}.diary-entry-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.diary-entry-row-name{font-weight:550;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.diary-entry-row-detail{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diary-entry-row-calories{font-weight:600;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.diary-entry-row-link{transition:none}}.diary-meal{padding:0 var(--space-2)}.diary-meal-header{min-height:var(--tap-target);display:flex;align-items:center}.diary-meal-title{margin:0;display:flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.diary-meal-dot{width:8px;height:8px;margin-right:6px;border-radius:2px}.diary-meal-dot-breakfast{background:var(--color-meal-breakfast)}.diary-meal-dot-lunch{background:var(--color-meal-lunch)}.diary-meal-dot-dinner{background:var(--color-meal-dinner)}.diary-meal-dot-snacks{background:var(--color-meal-snacks)}.diary-meal-calories{margin-left:var(--space-2);font-size:12px;font-weight:600;color:var(--color-muted);font-variant-numeric:tabular-nums}.diary-meal-add{margin-left:auto;width:var(--tap-target);height:var(--tap-target);margin-right:-6px;display:flex;align-items:center;justify-content:center;color:var(--color-ink)}.diary-meal-add-ring{width:32px;height:32px;border-radius:16px;border:1.5px solid var(--color-line-strong);display:flex;align-items:center;justify-content:center}.diary-meal-add-ring:active{background:var(--color-surface-sunken)}.diary-meal-add-icon{width:16px;height:16px}.strava-sync-status{display:flex;flex-direction:column;gap:var(--space-2)}.strava-sync-message{margin:0;color:var(--color-muted);font-size:var(--font-size-caption);overflow-wrap:anywhere}.diary-summary{padding:var(--space-2) var(--space-2) var(--space-3);display:flex;flex-direction:column}.diary-summary-hero{display:flex;align-items:flex-end;gap:var(--space-3)}.diary-summary-number{font-family:var(--font-family-display);font-size:var(--font-size-display);font-weight:800;letter-spacing:-.05em;line-height:.9;font-variant-numeric:tabular-nums;color:var(--color-ink)}.diary-summary-number-long{font-size:var(--font-size-display-long)}.diary-summary-hero-text{padding-bottom:var(--space-2);display:flex;flex-direction:column}.diary-summary-hero-label{font-size:var(--font-size-body);font-weight:650}.diary-summary-hero-label-over{color:var(--color-danger-text);font-weight:700}.diary-summary-hero-goal{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums}.diary-summary-bar{position:relative;margin-top:var(--space-4)}.diary-summary-track{position:relative;height:14px;border-radius:7px;overflow:hidden;display:flex;gap:2px;background:var(--color-line)}.diary-summary-segment{position:relative;flex:0 1 auto;height:100%}.diary-summary-allowance{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--color-meal-snacks) 0 4px,var(--color-accent-soft) 4px 7px)}.diary-summary-legend-allowance{width:8px;height:8px;margin-right:6px;border-radius:2px;background:repeating-linear-gradient(135deg,var(--color-meal-snacks) 0 2px,var(--color-accent-soft) 2px 4px)}.diary-summary-burned{align-self:flex-start;min-height:var(--tap-target);margin-top:var(--space-2);display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-caption);font-weight:600;color:var(--color-ink);text-decoration:none;font-variant-numeric:tabular-nums}.diary-summary-burned-icon{width:18px;height:18px}.diary-summary-burned-chevron{width:16px;height:16px;color:var(--color-muted)}.diary-summary-meal-breakfast{background:var(--color-meal-breakfast)}.diary-summary-meal-lunch{background:var(--color-meal-lunch)}.diary-summary-meal-dinner{background:var(--color-meal-dinner)}.diary-summary-meal-snacks{background:var(--color-meal-snacks)}.diary-summary-overflow{position:absolute;top:0;right:0;bottom:0;background:repeating-linear-gradient(135deg,var(--color-danger) 0 4px,var(--color-danger-soft) 4px 7px)}.diary-summary-goal-tick{position:absolute;top:-5px;width:2px;height:24px;margin-left:-1px;border-radius:1px;background:var(--color-ink)}.diary-summary-legend{margin:var(--space-2) 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-1) 14px;font-size:12px;color:var(--color-muted);font-variant-numeric:tabular-nums}.diary-summary-legend-item{display:flex;align-items:center}.diary-summary-legend-dot{width:8px;height:8px;margin-right:6px;border-radius:2px}.diary-summary-legend-goal{margin-left:auto;font-weight:600;color:var(--color-ink)}.diary-summary-macros{margin-top:var(--space-5);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.diary-summary-macro{min-width:0;display:flex;flex-direction:column}.diary-summary-macro-label{font-size:12px;color:var(--color-muted)}.diary-summary-macro-over{margin-top:var(--space-1);font-size:12px;color:var(--color-danger-text);font-weight:650}.diary-summary-macro-grams{margin-top:2px;font-size:var(--font-size-body);font-weight:650;font-variant-numeric:tabular-nums}.diary-summary-macro-goal{color:var(--color-muted);font-weight:500}.diary-summary-meter{margin-top:var(--space-2);height:3px;border-radius:2px;background:var(--color-line);overflow:hidden}.diary-summary-fill{display:block;height:100%}.diary-summary-fill-carbs{background:var(--color-carbs)}.diary-summary-fill-protein{background:var(--color-protein)}.diary-summary-fill-fat{background:var(--color-fat)}.diary-summary-goal-status{margin-top:var(--space-4)}.bottom-sheet{width:100%;max-width:none;max-height:calc(100dvh - var(--space-8));margin:auto 0 0;padding:0;border:1px solid var(--color-line);overflow:hidden;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--color-surface);color:var(--color-ink)}.bottom-sheet::backdrop{background:var(--color-scrim)}.bottom-sheet-header{position:relative;height:48px}.bottom-sheet-body{position:relative;max-height:calc(100dvh - var(--space-8) - 48px);padding:var(--space-5) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-5);overflow-y:auto;overscroll-behavior:contain}.bottom-sheet-close{position:absolute;top:2px;right:var(--space-2);width:var(--tap-target);height:var(--tap-target);padding:0;border:0;border-radius:50%;background:var(--color-surface);z-index:1;color:var(--color-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.bottom-sheet-close:active{background:var(--color-surface-sunken)}.bottom-sheet-close-icon{width:20px;height:20px}@media (prefers-reduced-motion: no-preference){.bottom-sheet{animation:bottom-sheet-in .22s ease-out}.bottom-sheet::backdrop{animation:bottom-sheet-backdrop-in .22s ease-out}}@keyframes bottom-sheet-in{0%{transform:translateY(100%)}}@keyframes bottom-sheet-backdrop-in{0%{opacity:0}}@media (min-width: 768px){.bottom-sheet{max-width:440px;margin:auto;border-radius:var(--radius-sheet)}}.servings-stepper{display:flex;align-items:center;gap:var(--space-4)}.servings-stepper-button{width:var(--control-height);height:var(--control-height);flex:0 0 auto;border-radius:24px;border:1px solid var(--color-line-strong);background:var(--color-surface);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.servings-stepper-button:active{background:var(--color-surface-sunken)}.servings-stepper-icon{width:20px;height:20px}.servings-stepper-input{flex:1;min-width:0;height:var(--control-height);border:1px solid var(--color-line-strong);border-radius:24px;background:var(--color-surface);text-align:center;font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.diary-entry-sheet-heading{padding-right:var(--space-8);display:flex;flex-direction:column;gap:var(--space-1)}.diary-entry-sheet-name{margin:0;font-size:20px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.diary-entry-sheet-serving{margin:0;font-size:14px;color:var(--color-muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.diary-entry-sheet-controls{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-5)}.diary-entry-sheet-label{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.diary-entry-sheet-meal,.diary-entry-sheet-servings{display:flex;flex-direction:column;gap:var(--space-3)}.diary-entry-sheet-amount{text-align:center;font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums}.diary-entry-sheet-nutrition{display:flex;flex-direction:column;gap:var(--space-4)}.diary-entry-sheet-calories{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.diary-entry-sheet-calories-value{min-width:0;font-family:var(--font-family-display);font-size:56px;font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.diary-entry-sheet-calories-value-long{font-size:40px}.diary-entry-sheet-calories-label{font-size:12px;color:var(--color-muted)}.diary-entry-sheet-macros{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.diary-entry-sheet-macro{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.diary-entry-sheet-macro-value{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.diary-entry-sheet-confirm{display:flex;flex-direction:column;gap:var(--space-3)}.diary-entry-sheet-confirm-message{margin:0;font-weight:600;overflow-wrap:anywhere}.diary-entry-sheet-actions{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3)}.diary-entry-sheet-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.diary-quick-entry-sheet-title{margin:0;font-size:24px;line-height:1.2}.diary-quick-entry-sheet-description{margin:0;color:var(--color-muted)}.diary-quick-entry-sheet-confirm{margin:0}.diary-quick-entry-sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.diary{display:flex;flex-direction:column;gap:var(--space-1)}.diary-status{display:flex;flex-direction:column;gap:var(--space-3)}.diary-status-message{margin:var(--space-6) var(--space-4) 0;text-align:center;color:var(--color-muted)}.diary-empty-hint{margin:var(--space-2) var(--space-2) 0;font-size:var(--font-size-caption);color:var(--color-muted)}.diary-status-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.food-barcode{display:flex;flex-direction:column;gap:var(--space-4)}.food-barcode-description{margin:0;color:var(--color-muted);font-size:var(--font-size-body);line-height:1.5}.food-barcode-lookup-status{margin:0;color:var(--color-muted)}.food-barcode-lookup-heading{display:flex;flex-direction:column;gap:var(--space-1)}.food-barcode-lookup-source{margin:0;color:var(--color-accent-text);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.food-barcode-lookup-name{margin:0;font-size:26px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.food-barcode-lookup-serving{margin:0;color:var(--color-muted);overflow-wrap:anywhere}.food-barcode-lookup-calories{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.food-barcode-lookup-calories-value{font-family:var(--font-family-display);font-size:56px;font-weight:800;line-height:1;letter-spacing:-.04em;overflow-wrap:anywhere;min-width:0}.food-barcode-lookup-calories-value-long{font-size:40px}.food-barcode-lookup-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.food-barcode-lookup-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.food-barcode-lookup-macro{padding-top:var(--space-3);border-top:1px solid var(--color-line);display:flex;flex-direction:column;gap:var(--space-1)}.food-barcode-lookup-grams{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.food-barcode-lookup-description{margin:0;color:var(--color-muted);overflow-wrap:anywhere}.food-detail-status{margin:var(--space-8) 0;color:var(--color-muted)}.food-detail-edit{min-height:var(--tap-target);padding:0 var(--space-3);display:flex;align-items:center;font-size:var(--font-size-body);text-decoration:none;border-radius:22px;background:var(--color-surface-sunken);color:var(--color-ink)}.food-detail-heading{display:flex;flex-direction:column;gap:2px}.food-detail-verified{margin:0 0 var(--space-1);display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-text)}.food-detail-verified-icon{width:16px;height:16px}.food-detail-name{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.2;overflow-wrap:anywhere}.food-detail-serving{margin:0;color:var(--color-muted);overflow-wrap:anywhere}.food-detail-field{display:flex;flex-direction:column;gap:var(--space-2)}.food-detail-field-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.food-detail-servings-amount{text-align:center;font-size:14px;color:var(--color-muted);font-variant-numeric:tabular-nums}.food-detail-calories{display:flex;align-items:baseline;gap:var(--space-3)}.food-detail-calories-value{font-family:var(--font-family-display);font-size:var(--font-size-display);font-weight:800;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.food-detail-calories-value-long{font-size:clamp(32px,8vw,64px)}.food-detail-calories-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.food-detail-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.food-detail-macro{padding:var(--space-3) 0;border-top:1px solid var(--color-line-strong);display:flex;flex-direction:column;gap:var(--space-1)}.food-detail-macro-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.food-detail-macro-grams{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.food-detail-nutrients{margin:0}.food-detail-nutrient{min-height:var(--tap-target);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-line)}.food-detail-nutrient:last-child{border-bottom:0}.food-detail-nutrient-amount{margin:0;font-variant-numeric:tabular-nums}.food-detail-owner{margin:0;font-size:var(--font-size-caption);color:var(--color-muted)}.food-detail-add{min-height:var(--button-height);padding:0 var(--space-5);border:0;border-radius:26px;background:var(--color-tab-bar);color:var(--color-tab-bar-text-active);font:inherit;font-weight:650;cursor:pointer}.food-detail-add:disabled{opacity:.5;cursor:default}.food-detail-add:active:not(:disabled){background:var(--color-accent-pressed)}.food-scanner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;height:100dvh;overflow:hidden;background:var(--color-camera-background);color:var(--color-camera-text);display:flex;flex-direction:column}.food-scanner-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.food-scanner-scrim-top{position:absolute;top:0;left:0;right:0;height:calc(env(safe-area-inset-top) + 120px);background:linear-gradient(var(--color-camera-scrim),transparent);pointer-events:none}.food-scanner-scrim-bottom{position:absolute;bottom:0;left:0;right:0;height:calc(env(safe-area-inset-bottom) + 200px);background:linear-gradient(transparent,var(--color-camera-scrim));pointer-events:none}.food-scanner-header{position:relative;z-index:1;padding:calc(env(safe-area-inset-top) + var(--space-2)) calc(env(safe-area-inset-right) + var(--space-4)) 0 calc(env(safe-area-inset-left) + var(--space-4));display:flex;align-items:center;justify-content:space-between}.food-scanner-close{width:var(--tap-target);height:var(--tap-target);border-radius:22px;display:flex;align-items:center;justify-content:center;background:var(--color-camera-control);color:var(--color-camera-text)}.food-scanner-close:focus-visible{outline:3px solid var(--color-tab-bar-action)}.food-scanner-close-icon{width:20px;height:20px}.food-scanner-title{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 2px var(--color-camera-scrim)}.food-scanner-header-space{width:var(--tap-target)}.food-scanner-stage{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding-bottom:12vh}.food-scanner-reticle{position:relative;width:min(320px,100vw - 64px);height:160px;border-radius:var(--radius-card);box-shadow:0 0 0 200vmax var(--color-camera-dim);color:var(--color-camera-reticle);display:flex;align-items:center;justify-content:center}.food-scanner-reticle-found{color:var(--color-tab-bar-action);background:#7ee0a82e}.food-scanner-corner{position:absolute;width:40px;height:40px;border:0 solid currentColor}.food-scanner-corner-top-left{top:-2px;left:-2px;border-width:4px 0 0 4px;border-top-left-radius:var(--radius-card)}.food-scanner-corner-top-right{top:-2px;right:-2px;border-width:4px 4px 0 0;border-top-right-radius:var(--radius-card)}.food-scanner-corner-bottom-left{bottom:-2px;left:-2px;border-width:0 0 4px 4px;border-bottom-left-radius:var(--radius-card)}.food-scanner-corner-bottom-right{bottom:-2px;right:-2px;border-width:0 4px 4px 0;border-bottom-right-radius:var(--radius-card)}.food-scanner-check{width:56px;height:56px;border-radius:28px;display:flex;align-items:center;justify-content:center;background:var(--color-tab-bar-action);color:var(--color-tab-bar-action-text)}.food-scanner-check-icon{width:28px;height:28px}.food-scanner-hint{position:relative;margin:0;max-width:calc(100% - 48px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--color-camera-scrim);text-align:center;font-size:var(--font-size-body);text-shadow:0 1px 2px var(--color-camera-scrim)}.food-scanner-bottom{position:absolute;left:calc(env(safe-area-inset-left) + var(--space-4));right:calc(env(safe-area-inset-right) + var(--space-4));bottom:calc(env(safe-area-inset-bottom) + var(--space-4));max-width:var(--content-max-width);margin:0 auto}.food-scanner-controls{display:flex;align-items:center;gap:var(--space-3)}.food-scanner-torch{flex:0 0 auto;width:52px;height:52px;border:0;border-radius:26px;display:flex;align-items:center;justify-content:center;background:var(--color-camera-control);color:var(--color-camera-text);cursor:pointer}.food-scanner-torch-on{background:var(--color-tab-bar-action);color:var(--color-tab-bar-action-text)}.food-scanner-torch-icon{width:22px;height:22px}.food-scanner-manual{flex:1;min-height:52px;border-radius:26px;display:flex;align-items:center;justify-content:center;background:var(--color-tab-bar);color:var(--color-camera-text);font-weight:650;text-decoration:none;box-shadow:0 8px 20px var(--color-tab-bar-shadow),inset 0 0 0 1px #ffffff1a}.food-scanner-found{min-height:52px;padding:var(--space-3) var(--space-1) var(--space-3) var(--space-4);border-radius:var(--radius-card);display:flex;align-items:center;gap:var(--space-3);background:var(--color-tab-bar);box-shadow:0 8px 20px var(--color-tab-bar-shadow)}.food-scanner-found-icon{flex:0 0 auto;width:22px;height:22px;color:var(--color-tab-bar-action)}.food-scanner-found-text{flex:1;min-width:0;display:flex;flex-direction:column}.food-scanner-found-title{font-weight:650}.food-scanner-found-barcode{font-size:var(--font-size-caption);color:var(--color-tab-bar-text);font-variant-numeric:tabular-nums;letter-spacing:.04em}.food-scanner-found-action{min-width:var(--tap-target);min-height:var(--tap-target);padding:0 var(--space-3);border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-tab-bar-action);font:inherit;font-weight:700;cursor:pointer}.food-scanner-blocked{position:relative;flex:1;min-height:0;overflow-y:auto;padding:var(--space-12) calc(env(safe-area-inset-right) + var(--space-6)) calc(env(safe-area-inset-bottom) + var(--space-4)) calc(env(safe-area-inset-left) + var(--space-6));display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-camera-surface)}.food-scanner-blocked-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em}.food-scanner-blocked-text{margin:0;color:var(--color-camera-muted);line-height:1.5}.food-scanner-blocked-actions{margin-top:auto;padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}@media (max-height: 450px){.food-scanner-stage{padding-bottom:64px;gap:var(--space-2)}.food-scanner-reticle{height:100px}.food-scanner-blocked{padding-top:var(--space-4)}}.food-scanner-primary{min-height:52px;border:0;border-radius:26px;display:flex;align-items:center;justify-content:center;background:var(--color-tab-bar-action);color:var(--color-tab-bar-action-text);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.food-scanner-secondary{min-height:52px;border:1.5px solid var(--color-camera-line);border-radius:26px;display:flex;align-items:center;justify-content:center;color:var(--color-camera-text);font-weight:650;text-decoration:none}.food-form{display:flex;flex-direction:column;gap:var(--space-4)}.food-form-status{margin:var(--space-8) 0;color:var(--color-muted)}.food-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.food-form-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.food-form-section-title{margin:var(--space-2) 0 0;padding-top:var(--space-3);border-top:1px solid var(--color-line);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.food-form-more{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.food-form-more-summary{min-height:var(--button-height);padding:var(--space-2) 0;display:flex;align-items:center;font-weight:600;cursor:pointer;justify-content:space-between;gap:var(--space-3)}.food-form-more-fields{padding:0 0 var(--space-4);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.food-form-more-heading{display:flex;flex-direction:column;gap:var(--space-1)}.food-form-more-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.food-form-more-hint{color:var(--color-muted);font-size:var(--font-size-caption);font-weight:400}.food-form-more-icon{width:20px;height:20px;flex:0 0 auto}.food-form-more-icon-open{transform:rotate(90deg)}.activity-sheet{display:flex;flex-direction:column;gap:var(--space-5)}.activity-sheet-title{margin:0;padding-right:var(--space-8);font-family:var(--font-family-display);font-size:24px;font-weight:800;letter-spacing:-.03em}.activity-sheet-fields{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-5)}.activity-sheet-group{display:flex;flex-direction:column;gap:var(--space-2)}.activity-sheet-label{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.activity-sheet-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.activity-sheet-pill{min-height:var(--tap-target);padding:0 var(--space-4);border:1.5px solid var(--color-line-strong);border-radius:22px;background:transparent;color:var(--color-ink);font-size:var(--font-size-body);font-weight:550;cursor:pointer}.activity-sheet-pill-selected{border-color:var(--color-tab-bar);background:var(--color-tab-bar);color:var(--color-tab-bar-text-active)}.activity-sheet-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.activity-sheet-link{align-self:flex-start;min-height:var(--tap-target);margin-top:calc(-1 * var(--space-3));padding:0;border:0;background:transparent;color:var(--color-accent-text);font-size:var(--font-size-body);font-weight:600;text-decoration:underline;cursor:pointer}.activity-sheet-confirm{display:flex;flex-direction:column;gap:var(--space-3)}.activity-sheet-confirm-message{margin:0;font-weight:600}.activity-sheet-actions{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:var(--space-3)}@media (min-width: 480px){.activity-sheet-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.activity-week-chart{margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2)}.activity-week-chart-day{display:flex;flex-direction:column;gap:6px}.activity-week-chart-track{height:96px;border-bottom:1px solid var(--color-line-strong);display:flex;align-items:flex-end}.activity-week-chart-bar{width:100%;border-radius:4px 4px 2px 2px;background:var(--color-meal-dinner)}.activity-week-chart-bar-today{background:var(--color-accent)}.activity-week-chart-label{font-size:11px;text-align:center;color:var(--color-muted)}.activity-week-chart-label-today{color:var(--color-ink);font-weight:700}.activity-week-chart-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.activity{display:flex;flex-direction:column;gap:var(--space-6);padding-top:var(--space-5)}.activity-title{margin:0;font-size:var(--font-size-header);font-weight:750;letter-spacing:-.02em}.activity-error{display:flex;flex-direction:column;gap:var(--space-3)}.activity-label{margin:0;display:flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.activity-week{display:flex;flex-direction:column;gap:var(--space-2)}.activity-week-total{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.activity-week-calories{font-family:var(--font-family-display);font-size:var(--font-size-hero);font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.activity-week-caption{font-size:var(--font-size-body);color:var(--color-muted)}.activity-day{display:flex;flex-direction:column}.activity-day-header{min-height:var(--tap-target);display:flex;align-items:center}.activity-day-calories{margin-left:var(--space-2);font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums}.activity-add{margin-left:auto;margin-right:-6px;width:var(--tap-target);height:var(--tap-target);padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--color-ink);cursor:pointer}.activity-add-ring{width:32px;height:32px;border-radius:16px;border:1.5px solid var(--color-line-strong);display:flex;align-items:center;justify-content:center}.activity-add-ring:active{background:var(--color-surface-sunken)}.activity-add-icon{width:16px;height:16px}.activity-empty{margin:0;padding:var(--space-3) 0;border-top:1px solid var(--color-line);font-size:var(--font-size-body);color:var(--color-muted)}.activity-row{text-decoration:none;min-height:56px;margin:0 calc(-1 * var(--space-2));padding:var(--space-2);border:0;border-top:1px solid var(--color-line);background:transparent;display:flex;align-items:center;gap:var(--space-3);color:inherit;font:inherit;text-align:left;cursor:pointer}.activity-row:active{background:var(--color-surface-sunken)}.activity-row:focus-visible{outline-offset:-3px}.activity-row-text{min-width:0;display:flex;flex-direction:column;gap:2px}.activity-row-name{font-size:var(--font-size-body);font-weight:550;overflow-wrap:anywhere}.activity-row-detail{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums}.activity-row-calories{margin-left:auto;display:flex;align-items:baseline;gap:3px;font-size:var(--font-size-body);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.activity-row-unit{font-size:11px;font-weight:500;color:var(--color-muted)}.activity-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.goal-form{display:flex;flex-direction:column;gap:var(--space-6)}.goal-form-description{margin:0;color:var(--color-muted);font-size:14px;line-height:1.5}.goal-form-fields{padding:0;margin:0;border:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.goal-form-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.goal-form-total{margin:0;font-size:14px;font-variant-numeric:tabular-nums}.goal-form-history-list{padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.goal-form-history-title{margin:0;font-size:var(--font-size-title);line-height:var(--tap-target);cursor:pointer}.goal-form-history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--color-line);padding-top:var(--space-4)}.weight-form{display:flex;flex-direction:column;gap:var(--space-3);scroll-margin-bottom:calc(var(--tab-bar-height) + var(--space-8))}.weight-form-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.weight-form-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.weight-form-date-toggle{min-height:var(--tap-target);padding:0 var(--space-2);flex-shrink:0;border:0;background:transparent;color:var(--color-accent-text);font-size:13px;font-weight:650;cursor:pointer}.weight-form-date-toggle:disabled{opacity:.5;cursor:default}.weight-form-fields{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.weight-form-date{padding-bottom:var(--space-1)}.weight-form-today{min-height:var(--tap-target);border:0;background:transparent;color:var(--color-accent-text);font-size:13px;font-weight:650;cursor:pointer}.weight-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.weight-form-entry{position:relative;min-width:0}.weight-form-label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.weight-form-input{width:100%;height:var(--button-height);padding:0 48px 0 16px;border:1px solid var(--color-line-strong);border-radius:var(--radius-control);background:var(--color-surface);font-size:var(--font-size-input);scroll-margin-top:var(--space-5);scroll-margin-bottom:calc(var(--tab-bar-height) + var(--space-8))}.weight-form-unit{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-muted);pointer-events:none;font-size:var(--font-size-caption)}.weight-form-description{margin:0;font-size:var(--font-size-caption);color:var(--color-muted)}.weight-form-saved{margin:0;color:var(--color-accent-text);font-size:var(--font-size-caption)}.weight-goal-form{display:flex;flex-direction:column;gap:var(--space-4)}.weight-goal-form-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.weight-goal-form-fields{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.weight-goal-form-description{margin:0;color:var(--color-muted);font-size:var(--font-size-caption)}.weight-chart{display:flex;flex-direction:column;gap:var(--space-3)}.weight-chart-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.weight-chart-svg{width:100%;height:auto;overflow:visible}.weight-chart-axis{fill:var(--color-muted);font-size:21px}.weight-chart-grid{stroke:var(--color-line);stroke-width:1}.weight-chart-goal{stroke:var(--color-muted);stroke-width:1.5;stroke-dasharray:6 5}.weight-chart-line{fill:none;stroke:var(--color-accent-text);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.weight-chart-point{fill:var(--color-accent-text)}.weight-chart-legend{margin:0;color:var(--color-muted);font-size:var(--font-size-caption)}.weight-chart-empty{margin:0;color:var(--color-muted)}.weight-history{border-top:1px solid var(--color-line)}.weight-history-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-line-strong)}.weight-history-value{margin-left:auto;overflow-wrap:anywhere;min-width:0}.weight-history-empty{margin:0;color:var(--color-muted)}.weight-history-toggle{display:flex;gap:var(--space-3);align-items:center;min-height:56px;cursor:pointer;list-style:none;font-size:var(--font-size-body);font-weight:600}.weight-history-toggle::marker{content:""}.weight-history-toggle::-webkit-details-marker{display:none}.weight-history-count{margin-left:auto;font-size:var(--font-size-caption);font-weight:400;color:var(--color-muted)}.weight-history-chevron{width:20px;height:20px;color:var(--color-muted)}.weight-history-chevron-open{transform:rotate(90deg)}.weight-history-content{display:flex;flex-direction:column;gap:var(--space-3)}.weight{display:flex;flex-direction:column;gap:var(--space-5)}.weight-summary{display:flex;flex-direction:column;gap:var(--space-2)}.weight-label{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.weight-current{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3)}.weight-current-value{font-family:var(--font-family-display);font-size:72px;font-weight:800;line-height:1;letter-spacing:-.05em;overflow-wrap:anywhere;min-width:0}.weight-current-value-long{font-size:clamp(32px,8vw,64px)}.weight-unit{color:var(--color-muted);font-size:var(--font-size-input)}.weight-description{margin:0;color:var(--color-muted);font-size:var(--font-size-caption)}.weight-metrics{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.weight-metric{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.weight-metric-value{font-size:18px;overflow-wrap:anywhere}.weight-error{display:flex;flex-direction:column;gap:var(--space-3)}.weight-edit-goal{margin-left:auto;flex-shrink:0;min-height:var(--tap-target);padding:0 var(--space-2);border:0;background:transparent;color:var(--color-accent-text);font-size:13px;font-weight:650;cursor:pointer}.weight-edit-goal:disabled{opacity:.5;cursor:default}.weight-saved{margin:0;font-size:var(--font-size-caption);color:var(--color-accent-text)}.goals{display:flex;flex-direction:column;gap:var(--space-6);padding-top:var(--space-5)}.goals-title{margin:0;font-size:var(--font-size-header);font-weight:750;letter-spacing:-.02em}.goals-summary{display:flex;flex-direction:column;gap:var(--space-4)}.goals-label{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.goals-calories{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3)}.goals-calories-value{font-family:var(--font-family-display);font-size:var(--font-size-display);font-weight:800;line-height:1;letter-spacing:-.05em}.goals-calories-unit{font-size:var(--font-size-caption);color:var(--color-muted)}.goals-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.goals-macro{border-top:1px solid var(--color-line-strong);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.goals-macro-value{font-size:20px;font-weight:650;overflow-wrap:anywhere}.goals-macro-percent{font-size:var(--font-size-caption);color:var(--color-muted)}.goals-description{margin:0;color:var(--color-muted)}.goals-calories-value-long{font-size:clamp(32px,8vw,64px)}.server-unreachable{max-width:440px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(var(--space-8) + env(safe-area-inset-top)) calc(var(--space-6) + env(safe-area-inset-right)) calc(var(--space-8) + env(safe-area-inset-bottom)) calc(var(--space-6) + env(safe-area-inset-left));display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;text-align:left}.server-unreachable-brand{display:flex;align-items:center;gap:var(--space-3)}.server-unreachable-logo{width:var(--tap-target);height:var(--tap-target);flex:none}.server-unreachable-name{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.server-unreachable-title{margin:var(--space-4) 0 0;font-family:var(--font-family-display);font-size:40px;font-weight:800;letter-spacing:-.04em;line-height:1.1;overflow-wrap:anywhere}.server-unreachable-body{margin:0 0 var(--space-2);color:var(--color-muted);font-size:var(--font-size-input)}.server-unreachable-actions{display:flex;flex-direction:column;gap:var(--space-3)}@media (min-width: 768px){.server-unreachable{padding-top:var(--space-12)}}.settings-burned-calories-row{margin:0;width:100%;min-height:var(--button-height);padding:var(--space-3) var(--space-4);border:0;background:transparent;display:flex;align-items:center;gap:var(--space-3);text-align:left;font:inherit;color:var(--color-ink);cursor:pointer}.settings-burned-calories-row:active:not(:disabled){background:var(--color-surface-sunken)}.settings-burned-calories-row:disabled{cursor:default;opacity:.6}.settings-burned-calories-text{min-width:0;display:flex;flex-direction:column;gap:2px}.settings-burned-calories-label{font-weight:550}.settings-burned-calories-description{font-size:var(--font-size-caption);color:var(--color-muted)}.settings-burned-calories-switch{flex:none;margin-left:auto;width:51px;height:31px;padding:2px;border-radius:16px;background:var(--color-line-strong);display:flex;justify-content:flex-start;transition:background .15s ease}.settings-burned-calories-switch-on{background:var(--color-accent);justify-content:flex-end}.settings-burned-calories-knob{width:27px;height:27px;border-radius:14px;background:var(--color-surface);box-shadow:0 1px 3px #00000040}.settings-burned-calories-alert{padding:0 var(--space-4) var(--space-3)}@media (prefers-reduced-motion: reduce){.settings-burned-calories-switch{transition:none}}.settings-strava-row{margin:0;width:100%;min-height:var(--button-height);padding:var(--space-3) var(--space-4);border:0;background:transparent;display:flex;align-items:center;gap:var(--space-3);text-align:left;font:inherit;color:var(--color-ink);cursor:pointer}.settings-strava-row:disabled{opacity:.6;cursor:default}.settings-strava-row:active:not(:disabled){background:var(--color-surface-sunken)}.settings-strava-label{font-weight:550}.settings-strava-value{margin-left:auto;color:var(--color-accent-text);font-weight:650;font-size:14px}.settings-strava-alert{padding:0 var(--space-4) var(--space-3)}.settings-strava-sheet{display:flex;flex-direction:column;gap:var(--space-4)}.settings-strava-title{margin:0;font-size:22px;font-weight:700}.settings-strava-description{margin:0;color:var(--color-muted);font-size:14px;overflow-wrap:anywhere}.settings-strava-actions{display:flex;flex-direction:column;gap:var(--space-3)}.settings-strava-workout{display:flex;flex-direction:column;padding:var(--space-4) 0;gap:var(--space-1);border-bottom:1px solid var(--color-line)}.settings-strava-workout-name{font-weight:650;overflow-wrap:anywhere}.settings-strava-workout-link{min-height:var(--tap-target);display:flex;align-items:center;align-self:flex-start}.settings-google-row{margin:0;width:100%;min-height:var(--button-height);padding:var(--space-3) var(--space-4);border:0;background:transparent;display:flex;align-items:center;gap:var(--space-3);text-align:left;font:inherit;color:var(--color-ink);cursor:pointer}.settings-google-row:active:not(:disabled){background:var(--color-surface-sunken)}.settings-google-row:disabled{cursor:default;opacity:.6}.settings-google-label{flex:0 0 auto;font-weight:550}.settings-google-value{flex:1 1 auto;min-width:0;margin-left:auto;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--color-muted)}.settings-google-action{flex:0 0 auto;font-size:14px;font-weight:650;color:var(--color-accent-text)}.settings-google-alert{padding:0 var(--space-4) var(--space-3)}.settings-google-confirm{display:flex;flex-direction:column;gap:var(--space-4)}.settings-google-confirm-title{margin:0;font-size:22px;font-weight:700}.settings-google-confirm-description{margin:0;color:var(--color-muted)}.settings-google-confirm-actions{display:flex;flex-direction:column;gap:var(--space-3)}.settings{display:flex;flex-direction:column;gap:var(--space-6)}.settings-title{margin:0;padding-top:var(--space-5);font-size:var(--font-size-header);font-weight:750;letter-spacing:-.02em}.settings-profile{width:100%;min-height:80px;padding:var(--space-4);border:1px solid var(--color-line);border-radius:20px;background:var(--color-surface);display:flex;align-items:center;gap:14px;text-align:left;font:inherit;color:var(--color-ink);cursor:pointer}.settings-avatar{width:var(--control-height);height:var(--control-height);flex:0 0 auto;border-radius:24px;background:var(--color-accent-soft);color:var(--color-accent-text);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.settings-profile-text{flex:1;display:flex;flex-direction:column;min-width:0;gap:3px}.settings-profile-name{font-size:20px;font-weight:650;overflow-wrap:anywhere}.settings-profile-email{font-size:14px;color:var(--color-muted);overflow-wrap:anywhere}.settings-chevron{width:18px;height:18px;flex:0 0 auto;color:var(--color-muted)}.settings-section{display:flex;flex-direction:column;gap:var(--space-2)}.settings-section-title{margin:0;padding-left:var(--space-4);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.settings-group{border:1px solid var(--color-line);border-radius:18px;overflow:hidden;background:var(--color-surface)}.settings-row{margin:0;width:100%;min-height:var(--button-height);padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--color-line);background:transparent;display:flex;align-items:center;gap:var(--space-3);text-align:left;font:inherit;color:var(--color-ink);text-decoration:none}.settings-row:last-child{border-bottom:0}.settings-row-label{flex:0 0 auto;font-weight:550}.settings-row-value{margin-left:auto;min-width:0;text-align:right;font-size:14px;color:var(--color-muted);overflow-wrap:anywhere}.settings-row-action{cursor:pointer}.settings-row-action:active{background:var(--color-surface-sunken)}.settings-row-action:disabled{cursor:default;opacity:.6}.settings-row-danger{color:var(--color-danger-text);cursor:pointer;justify-content:center;font-weight:650}.settings-row-danger:disabled{opacity:.6;cursor:default}.settings-version{margin:0;text-align:center;font-size:var(--font-size-caption);color:var(--color-muted)}.settings-confirm{display:flex;flex-direction:column;gap:var(--space-4)}.settings-confirm-title{margin:0;font-size:22px;font-weight:700}.settings-confirm-description{margin:0;color:var(--color-muted)}.settings-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.settings-profile:disabled{cursor:default;opacity:.6}.settings-profile-form{display:flex;flex-direction:column;gap:var(--space-5)}.settings-profile-form-description{margin:0;color:var(--color-muted);overflow-wrap:anywhere}.settings-units{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 0}.settings-units-fields{margin:0;padding:0;border:0;min-width:0}.settings-units-description{margin:0;font-size:var(--font-size-caption);color:var(--color-muted)}.auth-layout{max-width:440px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(var(--space-8) + env(safe-area-inset-top)) calc(var(--space-6) + env(safe-area-inset-right)) calc(var(--space-8) + env(safe-area-inset-bottom)) calc(var(--space-6) + env(safe-area-inset-left));display:flex;flex-direction:column;gap:var(--space-4)}.auth-layout-brand{display:flex;align-items:center;gap:var(--space-3)}.auth-layout-logo{width:var(--tap-target);height:var(--tap-target);flex:none}.auth-layout-name{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.auth-layout-title{margin:var(--space-4) 0 0;font-family:var(--font-family-display);font-size:40px;font-weight:800;letter-spacing:-.04em;line-height:1.1;overflow-wrap:anywhere}.auth-layout-subtitle{margin:0 0 var(--space-2);font-size:var(--font-size-input);color:var(--color-muted)}.auth-layout-footer{margin:0;padding-top:var(--space-2);text-align:center;color:var(--color-muted)}.auth-layout-footer-link{display:inline-flex;align-items:center;min-height:var(--tap-target);padding:0 var(--space-1)}.auth-layout-footer-link-disabled{color:var(--color-muted);cursor:default}@media (min-width: 768px){.auth-layout{padding-top:var(--space-12)}}.verify-email-status{margin:0;font-size:var(--font-size-input);color:var(--color-muted)}.verify-email-actions,.google-sign-in-button{display:flex;flex-direction:column;gap:var(--space-4)}.google-sign-in-button-divider{display:flex;align-items:center;gap:var(--space-3);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.google-sign-in-button-divider:before,.google-sign-in-button-divider:after{content:"";flex:1;height:1px;background:var(--color-line)}.google-sign-in-button-mark{width:20px;height:20px;flex:0 0 auto}.google-callback-status{margin:0;font-size:var(--font-size-input);color:var(--color-muted)}.google-callback-actions,.forgot-password-form{display:flex;flex-direction:column;gap:var(--space-4)}.forgot-password-note{margin:0;color:var(--color-muted);line-height:1.5}.reset-password-form,.email-verification-resend{display:flex;flex-direction:column;gap:var(--space-4)}.email-verification-resend-note{margin:0;color:var(--color-muted);line-height:1.5}.sign-in-form{display:flex;flex-direction:column;gap:var(--space-4)}.sign-in-reset-link{display:inline-flex;align-items:center;min-height:var(--tap-target);align-self:flex-end}.sign-up-form{display:flex;flex-direction:column;gap:var(--space-4)}.sign-up-note{margin:0;color:var(--color-muted);line-height:1.5}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-800-normal-J50vIsBe.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-800-normal-Br4b-5gk.woff) format("woff")}:root{color-scheme:light;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-family-display: "Bricolage Grotesque", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-size-display: 88px;--font-size-display-long: 64px;--font-size-caption: 13px;--font-size-body: 15px;--font-size-input: 16px;--font-size-title: 17px;--font-size-header: 28px;--font-size-hero: 44px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-control: 12px;--radius-card: 16px;--radius-sheet: 22px;--tap-target: 44px;--control-height: 48px;--button-height: 52px;--tab-bar-height: 64px;--tab-bar-inset: 16px;--rail-width: 96px;--content-max-width: 640px;--color-background: #f4f5f2;--color-surface: #ffffff;--color-surface-sunken: #e8ebe6;--color-ink: #14171a;--color-muted: #5b635e;--color-line: #e3e6e1;--color-scrim: rgb(20 23 26 / .45);--color-line-strong: #858c87;--color-accent: #1e7f45;--color-accent-pressed: #155c32;--color-accent-text: #1e7f45;--color-accent-soft: #e3f1e8;--color-on-accent: #ffffff;--color-warning: #b4410b;--color-warning-soft: #fbede6;--color-warning-text: #8f3309;--color-danger: #d32f2f;--color-danger-soft: #fdecec;--color-danger-text: #b3261e;--color-meal-breakfast: #0b4a28;--color-meal-lunch: #1e7f45;--color-meal-dinner: #4fae74;--color-meal-snacks: #9fd3b2;--color-tab-bar: #11402a;--color-tab-bar-text: #a9cdb8;--color-tab-bar-text-active: #ffffff;--color-tab-bar-action: #7ee0a8;--color-tab-bar-action-pressed: #5fcf8f;--color-tab-bar-action-text: #0b2a1b;--color-tab-bar-shadow: rgb(17 64 42 / .28);--color-camera-background: #000000;--color-camera-surface: #0f1211;--color-camera-surface-raised: #222725;--color-camera-text: #ffffff;--color-camera-muted: #a3aba6;--color-camera-line: #6b726e;--color-camera-scrim: rgb(0 0 0 / .6);--color-camera-dim: rgb(0 0 0 / .45);--color-camera-reticle: rgb(255 255 255 / .9);--color-camera-control: rgb(0 0 0 / .45);--color-carbs: #d9930d;--color-carbs-text: #8a5a00;--color-protein: #2f66d0;--color-protein-text: #2457b8;--color-fat: #c93d74;--color-fat-text: #a8305f;--color-focus: #1e7f45}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--color-background: #0f1211;--color-surface: #181c1a;--color-surface-sunken: #222725;--color-ink: #eceeec;--color-muted: #a3aba6;--color-line: #2a302d;--color-scrim: rgb(0 0 0 / .6);--color-line-strong: #6b726e;--color-accent: #1e7f45;--color-accent-pressed: #186b3a;--color-accent-text: #5bd08c;--color-accent-soft: #17301f;--color-on-accent: #ffffff;--color-warning: #f08a5d;--color-warning-soft: #3a1f14;--color-warning-text: #f5a988;--color-danger: #ef5350;--color-danger-soft: #3b1715;--color-danger-text: #ff8a80;--color-meal-breakfast: #2a8a52;--color-meal-lunch: #4fbf7d;--color-meal-dinner: #8fdcb0;--color-meal-snacks: #c8eed8;--color-tab-bar: #154a31;--color-tab-bar-shadow: rgb(0 0 0 / .45);--color-carbs: #e8a928;--color-carbs-text: #f0c062;--color-protein: #6c9bea;--color-protein-text: #93b6f0;--color-fat: #e06a98;--color-fat-text: #ec95b7;--color-focus: #5bd08c}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--color-background);color:var(--color-ink);font-family:var(--font-family-sans);font-size:var(--font-size-body);line-height:1.4;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}a,button,input,label{touch-action:manipulation}a{color:var(--color-accent-text);font-weight:600}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
