/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-variable.woff2)format("woff2")}:root,[data-preview-theme]{--font-sans:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--type-display:clamp(2.75rem, 4vw, 3.5rem);--type-title:clamp(1.5rem, 2.5vw, 1.875rem);--type-section:1rem;--type-body:.9375rem;--type-label:.8125rem;--type-caption:.75rem;--line-ui:1.5rem;--line-caption:1.25rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-control:999px;--radius-input:16px;--radius-card:22px;--radius-badge:999px;--radius-tile:10px;--control-height:44px;--z-base:0;--z-sticky:5;--z-navigation:10;--z-feedback:20;--z-overlay:50;--scrim:#0000008c;--scrim-strong:#000000a6;--transparent:transparent;--motion-fast:.14s;--motion-normal:.18s;--content-width:1440px;--pwa-theme:#0b0c11;--pwa-background:#0b0c11;font-family:var(--font-sans);font-synthesis:none;font-variant-numeric:tabular-nums;font-size:16px}:root,[data-preview-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e7edf4;--bg-glow-1:#cfdcea;--bg-glow-2:#f3f1ea;--surface:#fff;--surface-2:#f2f4f8;--surface-hover:#e6e9f1;--line:#e3e7ee;--control-line:#767f90;--ink:#0f1a2e;--muted:#586074;--primary:#14213d;--on-primary:#fff;--accent:#5b4bd6;--accent-soft:#ecebfc;--on-accent:#fff;--focus-ring:#5b4bd6;--track:#e8ebf1;--carbs:#2c9756;--protein:#d6406f;--fat:#2f7fd6;--fibre:#b17b10;--good:#2c9756;--near:#997000;--over:#d6406f;--none:#e6e9ef;--good-text:#237642;--good-soft:#e7f5ed;--near-text:#886008;--near-soft:#fff3d6;--danger:#b32e51;--danger-soft:#fceaf0;--info-text:#255d9a;--info-soft:#e9f1fb;--shadow:0 1px 2px #0f1a2e0d, 0 8px 24px #0f1a2e0f}:is(:root,[data-preview-theme=dark]):where([data-theme=dark],[data-preview-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c11;--bg-glow-1:#1b1830;--bg-glow-2:#0b0c11;--surface:#15161d;--surface-2:#1d1f28;--surface-hover:#2c2a3d;--line:#23252f;--control-line:#777c8d;--ink:#f2f3f7;--muted:#9a9fb1;--accent:#a99bf6;--accent-soft:#262141;--on-accent:#14102c;--primary:var(--accent);--on-primary:var(--on-accent);--focus-ring:#a99bf6;--track:#262833;--carbs:#5fd38a;--protein:#f0668e;--fat:#4ea4f5;--fibre:#f4c25b;--good:#5fd38a;--near:#f4c25b;--over:#f0668e;--none:#22242d;--good-text:#5fd38a;--good-soft:#162a21;--near-text:#f4c25b;--near-soft:#302719;--danger:#f0668e;--danger-soft:#341e2a;--info-text:#9ac4ff;--info-soft:#202c40;--shadow:none}@media (prefers-color-scheme:dark){:is(:root,[data-preview-theme=dark]):where(:not([data-theme=light]):not([data-theme=dark]):not([data-preview-theme])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c11;--bg-glow-1:#1b1830;--bg-glow-2:#0b0c11;--surface:#15161d;--surface-2:#1d1f28;--surface-hover:#2c2a3d;--line:#23252f;--control-line:#777c8d;--ink:#f2f3f7;--muted:#9a9fb1;--accent:#a99bf6;--accent-soft:#262141;--on-accent:#14102c;--primary:var(--accent);--on-primary:var(--on-accent);--focus-ring:#a99bf6;--track:#262833;--carbs:#5fd38a;--protein:#f0668e;--fat:#4ea4f5;--fibre:#f4c25b;--good:#5fd38a;--near:#f4c25b;--over:#f0668e;--none:#22242d;--good-text:#5fd38a;--good-soft:#162a21;--near-text:#f4c25b;--near-soft:#302719;--danger:#f0668e;--danger-soft:#341e2a;--info-text:#9ac4ff;--info-soft:#202c40;--shadow:none}}h1 span{color:var(--muted)}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px;display:grid}.notice{align-items:center;gap:var(--space-3);margin:var(--space-4) var(--space-6) 0;padding:var(--space-3) var(--space-4);background:var(--surface);display:flex}.notice p{flex:1;margin:0;font-size:14px}.notice button{margin-right:var(--space-2)}.error{padding:var(--space-4);border:1px solid var(--danger);border-radius:8px;margin-top:20px}.skip-link{clip-path:inset(50%);padding:var(--space-3);z-index:var(--z-feedback);background:var(--surface);position:fixed;top:10px;left:20px}.skip-link:focus{clip-path:none}.record-list{margin:var(--space-4) 0 0;padding:0;list-style:none}.record-list li{border-top:1px solid var(--line);padding:20px 0}.record-list li:last-child{padding-bottom:0}.record-list article{align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.record-list article>div:first-child{flex:280px;min-width:0}.record-list p{margin:var(--space-2) 0 0}.record-list button{padding:var(--space-2) var(--space-3);font-size:13px}.table-scroll table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-2);vertical-align:top}.table-scroll tbody th{white-space:nowrap;font-weight:500}.table-scroll button{padding:var(--space-2) var(--space-3);font-size:12px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.heading-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.heading-actions p{margin:var(--space-2) 0 0}fieldset{margin:0 0 var(--space-4);border:0;min-width:0;padding:0}.text-link{padding:var(--space-3) 0}.saved-food-list .heading-actions{margin-bottom:var(--space-3)}.carbohydrate-info{overflow-wrap:anywhere;font-size:14px}.carbohydrate-note{margin-top:var(--space-2);font-size:14px;display:block}.checkbox-label{align-items:center;gap:10px;font-weight:400;display:flex}.checkbox-label input{width:20px;min-height:20px;accent-color:var(--accent)}.table-scroll{max-width:100%;margin-block:20px;overflow-x:auto}[hidden]{display:none!important}.heading-actions{gap:var(--space-4)}.card h2,.card h3{overflow-wrap:anywhere;min-width:0}@media (max-width:760px){.two-column{grid-template-columns:1fr}.notice{margin:var(--space-3) var(--space-4) 0;flex-wrap:wrap}.picker-body .two-column{display:block}}@media (max-width:480px){.table-scroll th,.table-scroll td{padding:var(--space-3) var(--space-1);font-size:12px}.table-scroll .actions{align-items:stretch;gap:var(--space-2);flex-direction:column}}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--shell-height,96px) + var(--space-4));scroll-padding-bottom:96px}body{color:var(--ink);font:var(--type-body) / 1.5 var(--font-sans);font-variant-numeric:tabular-nums;margin:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1,h2,h3,h4{color:var(--ink);font-family:inherit;font-weight:600;line-height:1.3}h1{font-size:var(--type-title);letter-spacing:-.035em}h2,.card h2{font-size:var(--type-section)}h3,.card h3{font-size:var(--type-body)}p,.card p{color:var(--muted);font-size:var(--type-body);margin:var(--space-3) 0;line-height:1.6}small,.source-note,.food-choice small,.csv-export small{font-size:var(--type-label);color:var(--muted);line-height:1.5}.food-choice small{margin-top:var(--space-1);display:block}button,.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);min-width:var(--control-height);padding:9px var(--space-4);border:1px solid var(--transparent);border-radius:var(--radius-control);background:var(--surface-2);color:var(--ink);font:550 var(--type-body) / 1.4 var(--font-sans);font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);text-decoration:none;display:inline-flex}button.primary,.button.primary,button.primary-add,.button.primary-add{background:var(--primary);color:var(--on-primary)}button.quiet,button.secondary,.button.quiet,.button.secondary{border-color:var(--transparent);color:var(--ink);background:var(--surface-2)}button.ghost,.button.ghost{color:var(--ink);background:var(--transparent)}button.danger,.button.danger{color:var(--danger);border-color:var(--transparent);background:var(--danger-soft)}button:hover,.button:hover{filter:none;text-decoration:none}@media (hover:hover){button:not(.primary):not(.primary-add):not(.danger):not([aria-pressed=true]):hover,.button:not(.primary):not(.primary-add):not(.danger):not([aria-pressed=true]):hover,button.quiet:not([aria-pressed=true]):hover,button.secondary:not([aria-pressed=true]):hover,button.ghost:not([aria-pressed=true]):hover,.button.quiet:not([aria-pressed=true]):hover,.button.secondary:not([aria-pressed=true]):hover,.button.ghost:not([aria-pressed=true]):hover{background:var(--surface-hover)}button.primary:hover,button.primary-add:hover,.button.primary:hover{box-shadow:inset 0 0 0 1px var(--on-accent)}}button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);box-shadow:none}button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:default}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}input,select,textarea{min-height:var(--control-height);max-width:100%;padding:9px var(--space-3);border:1px solid var(--control-line);border-radius:var(--radius-input);background:var(--surface);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;transition:border-color var(--motion-fast);font-size:16px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--accent)}select{appearance:none;background-image:linear-gradient(45deg, var(--transparent) 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, var(--transparent) 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}select[multiple],select[size]{background-image:none}label,summary{font-size:var(--type-body)}summary{cursor:pointer;min-height:var(--control-height);padding:var(--space-3) 0}label{font-weight:500}.card{overflow-wrap:anywhere;min-width:0;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow)}.card-title{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card-title h2{font-size:var(--type-section);margin:0}.tag,.badge{align-items:center;gap:var(--space-1);padding:3px var(--space-2);border-radius:var(--radius-badge);background:var(--surface-2);color:var(--muted);font-size:var(--type-caption);letter-spacing:0;font-weight:500;line-height:1.5;display:inline-flex}.badge-success{color:var(--good-text);background:var(--good-soft)}.badge-warning{color:var(--near-text);background:var(--near-soft)}.badge-error{color:var(--danger);background:var(--danger-soft)}.badge-info{color:var(--info-text);background:var(--info-soft)}.source-tabs,.collections,.segmented-control{align-items:center;gap:var(--space-1);overscroll-behavior-inline:contain;min-width:0;max-width:100%;margin:0 0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-2);scrollbar-width:thin;flex-wrap:nowrap;padding:6px;scroll-padding-inline:6px;display:flex;overflow-x:auto}.source-tabs>button,.collections>button,.segmented-control>button{min-height:var(--control-height);padding:var(--space-2) var(--space-3);background:var(--transparent);border-color:var(--transparent);color:var(--muted);font-size:var(--type-label);white-space:nowrap;flex:none;margin:0}.source-tabs [aria-pressed=true],.collections [aria-pressed=true],.segmented-control [aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--transparent);box-shadow:none}.banner{padding:var(--space-3) var(--space-4);border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface-2);color:var(--ink)}.banner-error,[role=alert],.error{color:var(--danger)}.banner-error{border-color:var(--danger);background:var(--danger-soft)}.banner-success{color:var(--good-text);background:var(--good-soft)}.banner-warning{color:var(--near-text);background:var(--near-soft)}.text-link,.source-note a,.picker-library-link a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.diary-date>button,.date-choice{border:1px solid var(--control-line)}.date-choice{background:var(--surface);border-radius:var(--radius-control)}.ui-icon{flex:none;width:20px;height:20px}progress{accent-color:var(--accent)}.data-table{border-collapse:collapse;width:100%;font-size:var(--type-label)}.data-table caption{text-align:left;margin-bottom:var(--space-3);font-weight:500}.data-table th,.data-table td{padding:var(--space-3);border-bottom:1px solid var(--line);text-align:left}.data-table th{background:var(--surface);color:var(--muted);font-weight:500}.data-table thead th{z-index:var(--z-sticky);position:sticky;top:0}.data-table .numeric{font-variant-numeric:tabular-nums}.skeleton{background:var(--surface-2);border-radius:var(--radius-control)}@media (max-width:760px){.card{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}}input,select,textarea,[tabindex="-1"]{scroll-margin-block:var(--space-4)}.text-link{min-height:var(--control-height);align-items:center;display:inline-flex}.log-food-form .amount-shortcuts>button{padding-inline:var(--space-3);margin:0}.log-food-form .amount-shortcuts{gap:var(--space-2);margin-block:var(--space-3) var(--space-4)}.food-detail .food-reference{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;margin:var(--space-3) 0;border-block:1px solid var(--line);font-size:var(--type-label);flex-wrap:wrap;display:flex}.food-reference strong{color:var(--ink);font-size:1.125rem;font-weight:600}.food-detail .log-food-form{margin-top:var(--space-3);padding-top:var(--space-3)}.food-detail .favourite-control>button{font-size:var(--type-label)}@media (max-width:900px){html{scroll-padding-top:calc(var(--shell-height,116px) + var(--space-4));scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}.log-food-form .amount-shortcuts>button{padding-inline:var(--space-2);flex:none}}dt,dd,small,strong{overflow-wrap:anywhere}.food-results .food-choice>strong{white-space:normal;min-width:0}.energy-value span{color:var(--muted)}.macro-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:23px;padding-top:20px;display:grid}.macro-grid>div{border-right:1px solid var(--line);flex-direction:column;gap:7px;padding-left:20px;display:flex}.macro-grid>div:first-child{padding-left:0}.macro-grid>div:last-child{border:0}.macro-grid span{color:var(--muted)}.macro-grid strong{font-weight:500}.goal-progress,.weight-overview{margin-top:20px}.goal-progress-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px;display:grid}.goal-metric{border:1px solid var(--line);border-radius:8px}.goal-metric progress{width:100%;height:10px;accent-color:var(--accent);border-radius:var(--radius-control);background:var(--surface-2);border:0;overflow:hidden}.goal-metric progress::-webkit-progress-bar{background:var(--surface-2)}.goal-metric progress::-webkit-progress-value{background:var(--accent)}.goal-metric progress::-moz-progress-bar{background:var(--accent)}.energy-value,.macro-grid,.goal-metric{overflow-wrap:anywhere;min-width:0}.macro-grid span{font-size:14px}.macro-grid strong{font-size:20px}.energy-card .goal-progress{border:0;border-top:1px solid var(--line);margin:var(--space-5) 0 0;background:var(--transparent);padding:20px 0 0}.goal-progress-grid{gap:var(--space-3)}.goal-metric{padding:var(--space-3)}.goal-metric p{font-size:14px}@media (max-width:1100px){.goal-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.macro-grid>div:nth-child(3){padding-left:0}.macro-grid>div:nth-child(2){border:0}.macro-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.macro-grid>div{border:0;padding:0}.goal-progress-grid{grid-template-columns:1fr}}@media (max-width:480px){.goal-progress-grid{grid-template-columns:1fr}}.dashboard-skeleton{min-height:160px}.dashboard-skeleton span{width:45%;height:24px;margin:20px;display:block}.habits-grid{align-items:start}.status{color:var(--ink);font-size:12px}.diary-edit-panel{overflow-wrap:anywhere}.diary-date{flex-wrap:wrap;align-items:center;display:flex}.diary-date label{margin:0}.diary-date input{width:auto;max-width:100%}.log-food-form{border-top:1px solid var(--line);margin-top:var(--space-5);padding-top:var(--space-5)}.log-food-form fieldset{border:0;margin:0;padding:0}.log-food-form .two-column{display:block}.log-food-form .button,.log-food-form button{margin:var(--space-2) var(--space-3) 0 0}button.theme-toggle{min-height:var(--control-height);padding:var(--space-2) var(--space-3);gap:var(--space-2);font-size:12px}.food-results{margin:0;padding:0;list-style:none}button.food-choice{text-align:left;width:100%;margin-top:var(--space-2);justify-content:space-between;gap:var(--space-4);font-weight:500}.nutrient-details{margin:20px 0}.nutrient-details>div{justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--line);padding:10px 0;display:flex}.food-detail a{text-decoration:underline}.diary-tools,.copy-preview,.save-meal-form{margin-top:20px}.save-meal-form,.copy-preview{border-top:1px solid var(--line);padding-top:20px}.copy-preview ul{color:var(--muted);padding-left:20px;font-size:14px;line-height:1.8}.diary-tools fieldset>button,.save-meal-form fieldset>button{margin-top:var(--space-4)}.page-heading>p:last-child{max-width:650px;margin-top:18px;font-size:14px}.meal header{gap:var(--space-4);align-items:center;display:flex}.empty-meal{margin-left:34px}.confirm-record{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--line)}.undo-notice{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.entry-editor{background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;padding:20px}.editor-fields{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.undo-notice{border:1px solid var(--line);padding:var(--space-3);background:var(--surface);border-radius:8px;margin:20px 0}.undo-notice span{flex:1}.favourite-control{margin:var(--space-4) 0}.favourite-control [aria-pressed=true]{background:var(--surface-2);border-color:var(--muted)}.custom-food-form,.custom-food-actions,.recent-log{margin-top:20px}.custom-nutrients{gap:var(--space-1);margin-top:var(--space-4);display:grid}.nutrient-input{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.nutrient-input input:disabled{opacity:.6}.recent-log .entry-editor{margin-top:var(--space-4)}input[type=file]{padding:10px;font-size:13px}.food-choice span{overflow-wrap:anywhere;min-width:0}.barcode-scanner{margin-block:1.25rem}.barcode-scanner>button{margin:0 .5rem .5rem 0}.barcode-scanner video{background:var(--bg);object-fit:contain;border-radius:9px;width:100%;max-height:28rem;display:block}.barcode-scanner video[hidden]{display:none}.amount-shortcuts{flex-wrap:wrap;gap:.5rem;margin-block:.75rem 1.25rem;display:flex}.amount-shortcuts button{min-height:var(--control-height)}.saved-servings{border-top:1px solid var(--line)}.saved-servings form{margin-block:var(--space-4)}.saved-servings fieldset{border:0;margin:0;padding:0}.serving-list{padding:0;list-style:none}.serving-list li{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.eyebrow{display:none}.page-heading{margin:var(--space-3) 0 var(--space-5)}.page-heading h1{letter-spacing:-.6px;font-size:30px}.page-heading p{margin:var(--space-2) 0 0}.diary-date{margin:0 0 var(--space-5);gap:var(--space-2)}.diary-date>button{min-width:46px;padding:10px 14px}.date-choice{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-width:190px;min-height:56px;margin:0;padding:6px 14px;display:flex;position:relative}.date-choice time{white-space:nowrap;font-size:16px;font-weight:600}.date-choice input{opacity:0;cursor:pointer;width:100%;max-width:none;height:100%;margin:0;position:absolute;inset:0}.date-choice:focus-within{outline:3px solid var(--focus-ring);outline-offset:3px}.meal-list .empty-meal{padding:var(--space-2) 0;margin:var(--space-2) 0}.meal-add-food{margin:var(--space-2) 0}.diary-tools>summary{font-weight:600}.food-actions{margin-bottom:var(--space-4);flex-wrap:wrap;gap:10px;display:flex}.food-options{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:20px;font-weight:400;display:flex}.food-options select{width:auto;max-width:100%;margin:0}.local-search>.food-actions{margin-top:var(--space-4)}.food-choice{gap:var(--space-3);padding:14px}.nutrition-source{border-top:1px solid var(--line);padding-top:var(--space-4);margin-top:20px}.nutrition-source>summary{font-weight:600}.saved-servings{padding-top:var(--space-3);margin-block:var(--space-4)}.saved-servings h4{margin:var(--space-2) 0;font-size:16px}.log-food-form>small{font-size:14px}.calendar-caption{color:var(--muted);margin-top:6px;display:block}.serving-shortcuts{margin-top:var(--space-4)}.food-picker::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.food-choice{overflow-wrap:anywhere;min-width:0}.food-picker[open]{flex-direction:column;display:flex}.food-picker::backdrop{background:var(--scrim)}.picker-heading p{margin:var(--space-1) 0 0;font-size:14px}.picker-body .local-search,.picker-body .food-detail{background:var(--transparent);border:0;margin:0;padding:0}.picker-body .food-results{max-height:none}.picker-footer,.picker-discard{border-top:1px solid var(--line);gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.picker-discard p{width:100%}.picker-message{padding:0 var(--space-5);margin:var(--space-2) 0;font-size:14px}.picker-library-link{margin-top:var(--space-5);font-size:14px}.search-field-row input{flex:1;min-width:0;margin:0}.search-field-row .scan-food{flex:0 0 48px;justify-content:center;align-items:center;width:48px;min-height:48px;margin:0;padding:10px;display:inline-flex}.day-heading{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.day-heading .diary-date{margin:0}.day-title>div{min-width:0}.mobile-day-add{flex-shrink:0}.empty-diary-action{margin-top:var(--space-4)}.diary-nutrition{gap:var(--space-2);margin-block:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.diary-nutrition>div{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);min-width:0}.diary-nutrition dt{color:var(--muted);font-size:14px}.diary-nutrition dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}@media (max-width:760px){.food-choice{flex-wrap:wrap}.theme-toggle{width:46px;padding:var(--space-2);flex:0 0 46px}.editor-fields{grid-template-columns:1fr}.diary-date label{width:100%}.diary-date input{flex:1;min-width:130px}.diary-date button{padding:var(--space-2) var(--space-3)}.entry-editor{padding:var(--space-4)}.page-heading h1{font-size:26px}.page-heading p{font-size:14px}.diary-date{gap:6px;margin-bottom:20px}.diary-date>button{min-width:44px;padding:var(--space-2) 10px}.date-choice{flex:1;min-width:0;padding:6px}.date-choice time{font-size:14px}.diary-date>button:last-child{flex-basis:100%}.food-options select{width:100%}.picker-heading p{font-size:13px}}@media (max-width:480px){.nutrient-input{gap:10px}.nutrient-input label{font-size:12px}}@media (min-width:901px){.day-heading{gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto}.mobile-day-add{display:none}}.online-product-search{padding-top:var(--space-4);border-top:1px solid var(--line);margin-top:20px}.online-filters select{width:100%}.online-search-controls>button{flex-shrink:0;max-width:100%}.online-results .food-choice{width:100%}.online-product-search form{min-width:0}.day-title{margin:0}.status .status-label{color:var(--muted);font-size:var(--type-caption)}.status .status-icon{color:var(--muted);font-size:14px}.date-choice-hint{color:var(--muted);font-size:12px}.meal-list{gap:var(--space-4);margin-top:var(--space-4);display:grid}.meal{gap:var(--space-3);padding:var(--space-4) var(--space-5);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.meal>header{align-items:center;gap:var(--space-3);min-width:0}.meal>header h2{font-size:var(--type-body);margin:0}.meal-total{overflow-wrap:anywhere;min-width:0;color:var(--muted);font-size:var(--type-label);text-align:right;margin-left:auto}.meal .meal-add-food{padding:var(--space-2) var(--space-3);margin:0;position:static}.meal>.empty-meal{font-size:var(--type-label);grid-column:1/-1;margin:0;padding:0}.diary-row{overflow-wrap:anywhere;border-top:1px solid var(--line);justify-content:space-between;align-items:start;gap:var(--space-3);min-width:0;padding:var(--space-4) 0 0;flex-wrap:wrap;grid-column:1/-1;grid-template-columns:minmax(0,1fr) 44px;margin:0;display:grid;position:relative}.diary-row>div:first-child{overflow-wrap:anywhere;gap:var(--space-1) var(--space-4);flex:280px;grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.diary-row h3{margin:0;font-weight:500}.diary-row p{font-size:var(--type-label);grid-column:1;margin:0}.diary-row .entry-energy{color:var(--ink);text-align:right;white-space:nowrap;grid-area:1/2/span 2;font-weight:550}.diary-row>div>details{margin-top:var(--space-1);grid-column:1/-1}.diary-row>div>details>summary{color:var(--muted);font-size:var(--type-label);padding-block:var(--space-3)}.entry-actions{margin:0;position:relative}.entry-actions>summary{padding:var(--space-2);width:44px;min-height:var(--control-height);border-radius:var(--radius-control);color:var(--ink);background:var(--surface-2);place-items:center;list-style:none;display:grid}.entry-actions>summary::-webkit-details-marker{display:none}.entry-actions[open]>summary{color:var(--accent);background:var(--accent-soft)}.entry-actions-panel{min-width:160px;padding:var(--space-2);background:var(--surface);border:1px solid var(--control-line);box-shadow:var(--shadow);z-index:var(--z-feedback);gap:var(--space-1);display:grid;position:absolute;top:calc(100% + 6px);right:0}.entry-actions-panel>button{justify-content:flex-start;width:100%}.library-browser{gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.library-browser>.local-search{margin:0}.library-selection-hint,.library-detail-panel:empty{display:none}.food-search-header>label{margin:0}.search-field-row{align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-4);display:flex}.local-search .source-note{font-size:var(--type-label)}.local-search .food-results{margin:var(--space-4) 0 0;max-height:none;padding:0}.food-results li{border-bottom:1px solid var(--line);margin:0}.food-results li:last-child{border-bottom:0}.food-results .food-choice{justify-content:space-between;align-items:start;gap:var(--space-4);border-radius:var(--radius-control);background:var(--transparent);width:100%;padding:var(--space-4) var(--space-2);text-align:left;border:0;flex-wrap:nowrap;margin:0;display:flex}.source-chip{border-radius:var(--radius-badge);color:var(--muted);background:var(--surface-2);padding:1px 5px;display:inline-block}.food-choice[aria-pressed=true]{background:var(--accent-soft);color:var(--ink);box-shadow:inset 3px 0 var(--accent)}.local-search-about>summary{font-size:var(--type-label);color:var(--muted)}.library-browser .food-results{overscroll-behavior:contain;max-height:min(60dvh,600px);margin-inline:-6px;padding:6px;scroll-padding:6px;overflow-y:auto}.online-search-controls{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;grid-template-columns:minmax(0,1fr) auto;display:grid}.online-filters{flex:1;min-width:0}.online-filters summary{cursor:pointer;overflow-wrap:normal;min-height:46px;padding:10px 0}.food-detail form .two-column>div>label,.food-detail form .two-column>div>small{display:block}.food-detail form .two-column input,.food-detail form .two-column select{width:100%;margin:var(--space-2) 0}.food-choice>span{min-width:0;font-size:16px}.food-choice>strong{text-align:right;font-weight:550;font-size:var(--type-label);flex-shrink:0}.food-choice small{font-weight:400}.food-detail{margin:0}.food-detail>h2{margin:var(--space-3) 0}.food-picker{border:1px solid var(--control-line);background:var(--surface);color:var(--ink);padding:0}.picker-heading{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);padding:var(--space-4) var(--space-5);flex-shrink:0;display:flex}.picker-heading h2{font-size:var(--type-section);margin:0}.picker-controls{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.picker-controls select{width:auto;margin:0}.picker-controls .source-tabs{flex:1;margin:0}.picker-body{overscroll-behavior:contain;min-height:0;padding:var(--space-4) var(--space-5);scroll-padding:var(--space-4);flex:1;overflow-y:auto}.picker-body .food-search-header{top:calc(-1 * var(--space-4));padding-top:var(--space-4);background:var(--surface);z-index:var(--z-sticky);margin-top:0;position:sticky}.picker-footer,.picker-discard{padding:var(--space-4) var(--space-5);background:var(--surface);flex-shrink:0}.picker-footer>button{min-width:100px}.picker-body .food-detail h2{margin-top:var(--space-3)}@media (min-width:1200px){.library-browser{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}.library-detail-panel{overscroll-behavior:contain;max-height:calc(100dvh - 136px);scroll-padding:var(--space-4);margin:-6px;padding:6px;position:sticky;top:112px;overflow-y:auto}.library-selection-hint{display:block}}@media (max-width:900px){.meal{padding:var(--space-4)}.meal-total{font-size:var(--type-caption)}.diary-row{gap:var(--space-2)}.diary-row>div:first-child{gap:var(--space-1) var(--space-2)}.diary-row h3{font-size:var(--type-label)}.diary-row .entry-energy{text-align:right;grid-area:1/2}.diary-row p:not(.entry-energy){grid-column:1/-1}.food-choice>strong{flex-shrink:1;max-width:88px}.library-browser .food-results{max-height:360px}.online-search-controls{gap:var(--space-2);grid-template-columns:1fr}.online-search-controls>button{justify-self:start}.food-picker{top:var(--picker-offset-top,0px);width:100%;height:var(--picker-visible-height,100dvh);max-height:var(--picker-visible-height,100dvh);border:0;border-radius:0;margin:0;position:fixed;bottom:auto}.picker-heading{padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-3)}.picker-heading p{font-size:var(--type-caption)}.picker-controls{gap:var(--space-2);flex-wrap:wrap}.picker-controls .source-tabs{min-width:190px}.picker-body{padding:var(--space-4)}.picker-body .two-column{display:block}.picker-footer,.picker-discard{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}}.picker-heading>div{min-width:0}.picker-heading .picker-food-name{font-size:var(--type-label);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:min(520px,100vw - 136px);font-weight:550;overflow:hidden}.picker-body .log-food-form{border-top:0}.picker-body .food-reference{margin-top:var(--space-2)}.picker-body .serving-shortcuts{margin-block:var(--space-2)}.inline-control{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.inline-control>label{margin:0}.habits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.daily-habits{margin:var(--space-5) 0;min-width:0}.habits-grid .card{min-width:0;margin:0}.habit-total{font-size:28px;font-weight:650}.habit-total span{color:var(--muted);font-size:16px;font-weight:400}.habit-history{padding:0;list-style:none}.habit-history li{padding:var(--space-3) 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.habit-history small{display:block}.daily-habits a,.daily-record-dialog a{text-decoration:underline}.daily-record-dialog{width:min(640px,100% - 24px);max-height:calc(100dvh - 32px);padding:var(--space-5);overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;margin:auto;overflow:auto}.daily-record-dialog::backdrop{background:var(--scrim-strong)}.daily-record-dialog form,.daily-record-dialog fieldset{min-width:0}.daily-record-dialog fieldset{border:0;margin:0;padding:0}.daily-record-dialog :is(input,select){min-width:0;max-width:100%}.daily-record-dialog small{margin:var(--space-3) 0;display:block}.daily-record-dialog button[type=submit]{margin-top:var(--space-4)}.recipe-form,.recipe-detail,.recipe-log{margin-top:20px}.recipe-log{border-top:1px solid var(--line);padding-top:20px}.ingredient-heading{margin-top:var(--space-5)}.ingredient-picker{margin:var(--space-5) 0}.ingredient-picker .local-search{margin-top:var(--space-4);padding:var(--space-4)}.ingredient-selection{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:8px}.ingredient-selection button{margin-top:var(--space-4)}.ingredient-reference{padding:var(--space-4) 0;border-top:1px solid var(--line)}.recipe-preview{margin:20px 0}.recipe-preview ul{color:var(--muted);padding-left:20px;font-size:14px;line-height:1.8}.setting-row{flex-wrap:wrap;gap:15px;margin-top:25px;font-size:13px;display:flex}.app-status-button{width:46px;height:46px;padding:var(--space-2);flex:0 0 46px;font-size:22px}.app-status-dialog::backdrop{background:var(--scrim)}.progress-form,.history-card{margin-top:20px}.goal-fields{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weight-chart svg{width:100%;height:auto;display:block}.weight-chart figcaption{color:var(--muted);font-size:12px;line-height:1.6}.chart-grid{stroke-width:1px}.goal-setup,.calculator-form,.calculator-review{margin-block:20px}.calculator-form .checkbox-label{align-items:flex-start}.saved-products{margin-top:20px}.nutrition-report{min-width:0}.nutrition-chart line{stroke:var(--line)}.nutrition-chart text{fill:var(--ink);font-size:12px}.nutrition-chart .partial-bar{fill:none;stroke-width:1.5px;stroke-dasharray:3 2}.nutrition-report table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.nutrition-report th,.nutrition-report td{text-align:left;vertical-align:top;padding:var(--space-3);border-bottom:1px solid var(--line)}.csv-export{border-top:1px solid var(--line);margin-block:var(--space-5);padding-top:20px}.backup-reminder{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;display:flex}.backup-reminder div{flex:260px}.backup-reminder p{margin:6px 0}.recipe-preview{overflow-wrap:anywhere;min-width:0}.settings-layout>.card{margin:0}.storage-details h2{margin-top:var(--space-5)}.development-demo .text-link{margin-top:var(--space-4);display:block}.backup-reminder{padding:var(--space-4)}.backup-reminder p{font-size:14px}@media (max-width:760px){.habits-grid{grid-template-columns:minmax(0,1fr)}.daily-record-dialog{padding:var(--space-4);max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.goal-fields{grid-template-columns:1fr;gap:0}}.screen-intro{margin:0 0 var(--space-4);color:var(--muted)}.progress-screen{gap:var(--space-5);min-width:0;display:grid}.progress-screen>.screen-intro{margin-bottom:calc(-1 * var(--space-3))}.progress-screen>.segmented-control{justify-self:start;margin:0}.progress-screen>.card,.progress-screen .heading-actions h2{margin:0}.progress-through{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-wrap:wrap;margin:0;display:flex}.progress-through input{width:auto;margin:0}.progress-through .progress-date-choice{min-height:var(--control-height);width:auto;min-width:180px;padding:var(--space-2) var(--space-3);margin-left:auto}.progress-through .progress-date-choice time{font-size:var(--type-label)}.progress-through p{font-size:var(--type-label);margin:0 0 0 auto}.target-overview{margin-top:var(--space-5)}.target-overview .target-value{color:var(--ink);font-size:var(--type-section)}.target-value strong{font-size:2.5rem;line-height:1.15}.target-macros{margin:var(--space-5) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.target-macros dt{font-size:var(--type-label);color:var(--muted)}.target-macros dd{margin:var(--space-2) 0 0;font-weight:550}.progress-screen .goal-setup{margin:0}.goal-setup .actions>button:first-child{background:var(--surface-2);color:var(--ink)}.progress-screen .history-card{margin:0}.history-card>h2{margin-top:0}.history-card .record-list{margin-bottom:0}.history-card .record-list h3{margin:0}.history-card .record-list p{font-size:var(--type-label)}.weight-summary{gap:var(--space-3);margin:var(--space-5) 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weight-summary>p{gap:var(--space-2);color:var(--muted);font-size:var(--type-label);flex-direction:column;margin:0;display:flex}.weight-summary strong{color:var(--ink);font-size:1.75rem;display:block}.weight-chart{margin:20px 0 0}.weight-chart text{fill:var(--muted);font-family:var(--font-sans)}.chart-observations{stroke-dasharray:4 4;fill:none}.chart-point{stroke-width:1px}.chart-average{fill:none}.chart-legend{gap:var(--space-4);margin-top:var(--space-3);font-size:var(--type-label);flex-wrap:wrap;display:flex}.chart-legend>span{align-items:center;gap:var(--space-2);display:inline-flex}.chart-legend i{border-top:3px solid var(--accent);width:20px}.chart-legend .legend-recorded{border-top-style:dashed}.chart-legend .legend-average{border-color:var(--accent)}.weight-chart summary,.weight-chart figcaption p{font-size:var(--type-label)}.empty-state{padding:var(--space-6) var(--space-4);text-align:center}.empty-state h3{font-size:var(--type-body);margin:0}.empty-state p{font-size:var(--type-label);margin-bottom:0}.empty-state.weight-empty{margin-top:var(--space-3);padding:var(--space-3) 0;text-align:left;border:0}.weight-empty p{margin:0}.summary-grid{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));margin-block:20px;display:grid}.summary-metric{overflow-wrap:anywhere;min-width:0}.summary-metric h3{color:var(--muted);font-size:var(--type-label);margin:0}.summary-metric p{font-size:var(--type-label)}.summary-metric strong{margin-top:var(--space-3);font-size:1.5rem;line-height:1.25;display:block}.summary-metric small{margin-top:var(--space-2);display:block}.nutrition-chart{color:var(--ink);width:100%;height:auto;max-height:240px}.progress-screen .table-scroll{max-height:520px;margin-inline:-6px;padding:6px}.weight-history-table{overflow-wrap:normal}.weight-history-table td.numeric,.weight-history-table .actions button{white-space:nowrap}.data-table .numeric{text-align:right}.progress-form,.calculator-form{scroll-margin-top:120px}.progress-form>h2,.calculator-form>h2{margin-top:0}.progress-form .two-column,.recipe-form .two-column,.recipe-log .two-column{gap:var(--space-4)}.progress-screen form label:not(.checkbox-label),.settings-layout label:not(.checkbox-label),.recipe-workspace form label{margin:var(--space-4) 0 var(--space-2);display:block}.progress-screen form input:not([type=checkbox]),.progress-screen form select,.settings-layout input:not([type=checkbox]),.settings-layout select,.recipe-workspace form input,.recipe-workspace form select,.recipe-workspace form textarea{width:100%;margin:0}.progress-screen .checkbox-label,.settings-layout .checkbox-label{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;display:flex}.progress-screen .checkbox-label input,.settings-layout .checkbox-label input{flex:0 0 22px}.progress-form .actions,.recipe-form>.actions{border-top:1px solid var(--line);margin-top:var(--space-5);padding-top:var(--space-4)}.app-about{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 0 var(--space-5);margin-bottom:var(--space-5);border-bottom:1px solid var(--line);display:flex}.app-about strong{font-size:1.25rem;font-weight:600}.app-about p{margin:var(--space-1) 0 0}.version-badge{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);font-size:var(--type-label);color:var(--ink);background:var(--surface-2);white-space:nowrap;flex-shrink:0;align-items:center;display:inline-flex}.settings-layout{flex-direction:column;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;max-width:none;display:grid}.settings-primary,.settings-secondary{min-width:0;display:grid}.settings-layout .card{margin:0}.settings-layout h2,.backup-controls h2{margin-top:0}.settings-layout .setting-row{padding:var(--space-4) 0 0;margin-top:var(--space-4);border-top:1px solid var(--line)}.backup-workflow{margin-top:var(--space-5);display:grid}.backup-workflow h3{font-size:var(--type-body);margin:0}.backup-includes>summary{color:var(--muted);font-size:var(--type-label)}.backup-includes p{font-size:var(--type-label)}.backup-download>button{margin-top:var(--space-3);margin-right:var(--space-2)}.backup-restore{border-top:1px solid var(--line);position:relative}.backup-controls .backup-restore .file-input{clip-path:inset(50%);border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;top:0;left:0;overflow:hidden}.backup-file-control{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.backup-file-control .file-trigger{width:auto;margin:0}.backup-file-control span{color:var(--muted);font-size:var(--type-label)}.backup-restore:has(.file-input:focus-visible) .file-trigger{outline:3px solid var(--focus-ring);outline-offset:3px}@media (max-width:1023px){.settings-layout{grid-template-columns:minmax(0,1fr)}}input[type=file]::file-selector-button{border-radius:var(--radius-control);margin-right:var(--space-2);background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer;border:0;padding:7px 10px}.restore-preview{margin-top:var(--space-5)}.restore-preview>h3{margin:0}.restore-counts{gap:var(--space-3);margin:var(--space-4) 0;display:grid}.restore-counts dt{font-size:var(--type-caption);color:var(--muted)}.restore-counts dd{margin:var(--space-1) 0 0;font-size:1.5rem;font-weight:600}.restore-preview>p{font-size:var(--type-label)}.reminder-settings>details>summary{font-size:var(--type-label);color:var(--muted)}.reminder-settings>details p,.food-connection>p{font-size:var(--type-body)}.food-connection .actions{margin-top:var(--space-4)}.food-connection .actions>button{flex:180px}.storage-details>summary,.development-demo>summary{min-height:var(--control-height);align-content:center;padding:0;display:list-item}.storage-details p,.development-demo p{font-size:var(--type-label)}.recipe-workspace .library-browser>.recipe-collection{margin:0}.recipe-collection>.heading-actions{align-items:start}.recipe-collection h2{margin:0}.recipe-collection>p{font-size:var(--type-label)}.recipe-workspace .recipe-detail,.recipe-workspace .recipe-form{margin:0}.recipe-workspace .recipe-detail>h2,.recipe-workspace .recipe-form>h2{margin-top:var(--space-3);font-size:1.25rem}.recipe-workspace .recipe-detail>.actions{margin:var(--space-4) 0}.recipe-workspace .recipe-detail>details>summary{color:var(--muted);font-size:var(--type-label)}.recipe-workspace .recipe-detail>p{font-size:var(--type-label)}.recipe-workspace .recipe-log{border-top:1px solid var(--line);margin-top:var(--space-4);padding-top:var(--space-4)}.recipe-workspace .recipe-log>h3{font-size:var(--type-section);margin:0}.recipe-log>p{font-size:var(--type-label)}.recipe-preview .recipe-energy{color:var(--ink);font-size:1.75rem}.recipe-workspace .macro-grid{gap:var(--space-3);margin:var(--space-4) 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;display:grid}.recipe-workspace .macro-grid span{font-size:var(--type-label)}.recipe-workspace .macro-grid strong{font-size:1.125rem}.recipe-preview summary,.recipe-preview li{font-size:var(--type-label)}.recipe-ingredients{margin:var(--space-4) 0}.recipe-ingredients>li{gap:var(--space-2) var(--space-3);padding:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.recipe-ingredients h3{grid-column:1/-1;margin:0}.recipe-ingredients label{color:var(--muted);font-size:var(--type-label);grid-column:1/-1;margin:0!important}.recipe-form .record-list input{max-width:none;margin:0}.recipe-ingredients button{align-self:start}.recipe-workspace .ingredient-picker .food-results{max-height:320px;padding:6px;overflow:auto}.recipe-workspace .ingredient-picker .local-search{padding:var(--space-4);background:var(--bg)}.recipe-workspace .ingredient-selection{border-color:var(--accent)}.recipe-workspace .ingredient-selection>p{color:var(--ink);font-weight:550}.recipe-workspace .recipe-form>p{font-size:var(--type-label)}.app-status-dialog{border-radius:var(--radius-card);border:1px solid var(--control-line);max-height:80dvh;color:var(--ink);background:var(--surface);overflow:auto}.status-dialog-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.status-dialog-heading h2{margin:0}.status-state{align-items:center;gap:var(--space-3);color:var(--ink);padding:var(--space-4);font-weight:550;display:flex}.status-state-icon{color:var(--accent);font-size:1.25rem}.status-state.status-update{color:var(--accent)}.app-status-dialog>.actions{margin-top:var(--space-5);justify-content:flex-end}.recovery-view{margin:var(--space-6) auto;gap:var(--space-5);display:grid}.recovery-message h1,.recovery-message h2{margin:var(--space-3) 0;font-size:1.5rem}.recovery-message .actions{margin-top:var(--space-5)}.storage-upgrade-notice{border-color:var(--near-text);background:var(--near-soft)}.storage-upgrade-notice p{color:var(--near-text)}@media (max-width:1100px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.progress-screen{gap:var(--space-4)}.progress-screen>.segmented-control{justify-self:stretch}.progress-through{gap:var(--space-2)}.progress-through .progress-date-choice{min-height:var(--control-height);width:auto;padding:var(--space-2) var(--space-3);margin-left:auto}.progress-through .progress-date-choice time{font-size:var(--type-label)}.progress-through p{flex-basis:100%;margin-left:0}.progress-through label{font-size:var(--type-label)}.progress-through input{flex:1;min-width:145px}.target-macros{gap:var(--space-2)}.target-macros>div{padding:var(--space-3) var(--space-2)}.target-macros dt{font-size:var(--type-caption)}.target-macros dd{font-size:var(--type-label)}.weight-summary{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.weight-summary>p{padding:var(--space-3);font-size:var(--type-caption)}.weight-summary strong{font-size:1.5rem}.weight-summary>p:last-child:nth-child(3){grid-column:1/-1;display:block}.progress-through .progress-date-choice{flex:150px;min-width:0;margin:0}.progress-through>span{font-size:var(--type-label)}.progress-through .progress-date-choice input{min-width:0}.weight-chart{padding:var(--space-3)}.settings-primary,.settings-secondary{gap:var(--space-4)}.app-about{gap:var(--space-2);padding-bottom:var(--space-4);margin-bottom:var(--space-4)}.app-about p{max-width:180px}.restore-counts{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.restore-preview{padding:var(--space-3)}.app-status-dialog{padding:var(--space-4)}.status-dialog-heading{flex-wrap:wrap}.recovery-view{margin:var(--space-4) auto}}.recipe-collection>label{margin-top:var(--space-4);margin-bottom:var(--space-2);display:block}.recipe-collection>input{width:100%}.restore-preview>h3{scroll-margin-top:140px}.app-about{flex-wrap:wrap}.app-about>div{flex:130px;min-width:0}.settings-layout .setting-row{gap:var(--space-2);flex-wrap:wrap}@media (max-width:760px){.weight-chart text{font-size:28px}.nutrition-chart text{font-size:32px}}.v2-button.soft{background:var(--surface-2);color:var(--ink)}.v2-button.ghost,button.ghost,.button.ghost{border-color:var(--line)}.round,button.round,.button.round,button.solid,.nav-add{border:1px solid var(--control-line);background:var(--surface);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--ink);border-radius:999px;flex:0 0 44px;padding:0}button.solid{background:var(--accent);color:var(--on-accent);border-color:var(--transparent)}.design-card{flex-direction:column;gap:14px;padding:22px;display:flex}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-head h2{align-items:center;gap:10px;margin:0;font-size:1rem;font-weight:600;display:flex}.icon-tile{border-radius:var(--radius-tile);background:var(--surface-2);width:34px;height:34px;color:var(--ink);flex:none;place-items:center;display:inline-grid}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-good{background:var(--good-soft);color:var(--good-text)}.logo-mark,.logo-lockup{color:var(--ink);flex-shrink:0;align-items:center;gap:12px;line-height:24px;display:inline-flex}.logo-mark svg,.logo-lockup svg{flex-shrink:0;display:block}.logo-lockup strong{color:var(--ink);letter-spacing:-.01em;font-size:1.05rem;font-weight:600;display:block}.logo-lockup small{font-size:.8125rem;line-height:20px;display:block}.design-search{background:var(--surface-2);border:1px solid var(--control-line);border-radius:16px;align-items:center;gap:10px;padding:4px 8px 4px 16px;display:flex}.design-search input{background:var(--transparent);border:0;flex:1;width:0;min-width:0}.design-search>svg{flex:none}.design-search .round{background:var(--transparent);border:0}.quick-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.stepper-row{justify-content:center;align-items:center;gap:16px;margin-top:8px;display:flex}.stepper-row input{text-align:center;background:var(--surface-2);border:0;width:100%;min-width:0;font-size:1.75rem;font-weight:400}.week-strip{grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;max-width:100%;display:grid;overflow-x:auto}.week-strip button{background:var(--surface-2);border-radius:999px;flex-direction:column;gap:4px;min-width:0;min-height:64px;padding:8px 0;font-size:.75rem;display:flex}.week-strip b{font-size:.9375rem}.week-strip [aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.design-gauge{aspect-ratio:1;width:190px;max-width:100%;margin-inline:auto;position:relative}.design-gauge svg{width:100%;height:100%;display:block}.gauge-track,.gauge-fill{fill:none;stroke-width:15px;stroke-linecap:round}.gauge-track{stroke:var(--track)}.gauge-fill{stroke:var(--accent)}.gauge-centre{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.gauge-centre strong{letter-spacing:-.04em;font-size:2.6rem;font-weight:500;line-height:1.1}.gauge-centre small{color:var(--muted)}.nutrient-bar{gap:6px;display:grid}.nutrient-bar-label{flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.nutrient-bar-label i{background:var(--nutrient);border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.nutrient-bar svg{width:100%;height:6px;display:block}.nutrient-carbs{--nutrient:var(--carbs)}.nutrient-protein{--nutrient:var(--protein)}.nutrient-fat{--nutrient:var(--fat)}.nutrient-fibre{--nutrient:var(--fibre)}.bar-track{fill:var(--track)}.bar-fill{fill:var(--nutrient)}.design-sparkline{width:100%;display:block;overflow:visible}.spark-line{stroke:var(--accent);stroke-width:1.8px;fill:none}.spark-grid{stroke:var(--line);stroke-dasharray:2 4;fill:none}.spark-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.spark-start{stop-color:var(--accent);stop-opacity:.18}.spark-end{stop-color:var(--accent);stop-opacity:0}.design-heatmap svg{width:100%;display:block}.heat-on{fill:var(--good);background:var(--good)}.heat-near,.heat-under{fill:var(--near);background:var(--near)}.heat-over{fill:var(--over);background:var(--over)}.heat-none{fill:var(--none);background:var(--none);stroke:var(--control-line);stroke-width:1px}.segmented-control button[aria-pressed=true],.collections button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--transparent)}.heat-logged{fill:var(--accent);background:var(--accent)}.heat-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:.75rem;display:flex}.heat-legend span{align-items:center;gap:6px;display:inline-flex}.heat-legend i{border-radius:3px;width:9px;height:9px}.design-sheet{border:0;border-left:1px solid var(--line);background:var(--surface);width:min(460px,100%);max-width:100%;height:100dvh;max-height:100dvh;color:var(--ink);margin:0;padding:24px;position:fixed;inset:0 0 0 auto}.design-sheet::backdrop{background:var(--scrim)}.design-sheet-body{gap:20px;padding-block:20px;display:grid;overflow:auto}.design-sheet:focus{outline:none}@media (max-width:767px){:root,[data-preview-theme]{--radius-card:20px}.card{border-radius:var(--radius-card)}.design-card{padding:18px}.design-sheet{border:1px solid var(--line);height:92dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;inset:auto 0 0}}body{isolation:isolate;background:var(--bg);position:relative}body:before{content:"";z-index:-1;pointer-events:none;contain:paint;will-change:transform;background:radial-gradient(60% 50% at 12% 0%, var(--bg-glow-1), var(--transparent) 70%), radial-gradient(50% 45% at 95% 10%, var(--bg-glow-2), var(--transparent) 70%), var(--bg);position:fixed;inset:0}.app-layout{min-height:100dvh}.workspace{min-width:0}.topbar{max-width:var(--content-width);z-index:var(--z-navigation);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;margin:auto;padding:26px 34px 20px;display:grid;position:relative}.brand{min-height:44px;line-height:var(--line-ui);align-items:center;display:flex}.main-navigation{background:var(--surface);flex-direction:row;justify-self:start;align-items:center;gap:4px;padding:4px;display:flex}@supports (color:color-mix(in lab, red, red)){.main-navigation{background:color-mix(in srgb, var(--surface) 75%, var(--transparent))}}.main-navigation{border:1px solid var(--line);border-radius:999px}.nav-slot{display:contents}.main-navigation a{min-height:44px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-size:.875rem;font-weight:500;line-height:24px;display:flex}.main-navigation a[aria-current=page]{background:var(--primary);color:var(--on-primary)}.main-navigation a>svg,.mobile-nav-label,.nav-add,.tablet-nav-label{display:none}.topbar-actions{justify-self:end;align-items:center;gap:10px;display:flex}.topbar-actions .theme-toggle,.topbar-actions .app-status-button{border:1px solid var(--control-line);background:var(--surface);border-radius:999px;width:44px;min-width:44px;height:44px;padding:0}.theme-label{display:none}.status{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.status-label{color:var(--muted);font-size:.8125rem}.status-icon{color:var(--good-text);font-size:12px}.shell-hero{grid-column:1/-1;align-items:center;gap:22px;min-width:0;padding-block:6px;display:flex}.shell-heading{flex:1;min-width:0}.shell-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.875rem,3vw,2.6rem);font-weight:400;line-height:1.1}.shell-heading h1>label>span{color:var(--ink)}.shell-heading h1>label{font:inherit;letter-spacing:inherit;color:inherit}.shell-dated h1>label{cursor:pointer}.shell-heading .shell-subtitle{margin:4px 0 0;font-size:1rem}.shell-add{border-left:1px solid var(--line);white-space:nowrap}.mobile-logo,.mobile-title{display:none}.shell-date{flex-wrap:nowrap;align-items:center;gap:14px;margin:0;display:flex}.shell-date button{border:1px solid var(--control-line);background:var(--surface);border-radius:999px;width:44px;min-width:44px;height:44px;padding:0}@supports (color:color-mix(in lab, red, red)){.shell-date button{background:color-mix(in srgb, var(--surface) 70%, var(--transparent))}}.shell-date button:last-child{width:auto;padding-inline:10px;font-size:.75rem}.shell-date .date-choice{background:var(--transparent);border:0;align-items:center;min-width:200px;padding:0;display:flex;position:relative}.shell-date time{color:var(--ink);align-items:center;gap:14px;display:flex}.date-day-number{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:72px;height:72px}@supports (color:color-mix(in lab, red, red)){.date-day-number{background:color-mix(in srgb, var(--surface) 60%, var(--transparent))}}.date-day-number{place-items:center;font-size:1.9rem;font-weight:400;display:grid}.date-weekday{letter-spacing:-.02em;font-size:1.35rem;line-height:1.2}.date-weekday small{letter-spacing:0;margin-top:3px;font-size:.875rem;display:block}.date-mobile-label,.date-choice-hint{display:none}.shell-date .date-choice input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:44px;position:absolute;inset:0}.shell-date .date-choice:focus-within{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:16px}#main{max-width:var(--content-width);margin:0 auto;padding:0 34px 40px}@media (min-width:768px) and (max-width:1190px){.topbar{gap:18px 12px;padding-inline:24px}.main-navigation a{padding-inline:12px}.topbar-actions{gap:6px}.status-label{font-size:.75rem}.shell-heading .shell-subtitle{font-size:.875rem}.shell-date{gap:8px}.shell-date .date-choice{min-width:160px}.date-weekday{font-size:1rem}.date-day-number{width:60px;height:60px}#main{padding-inline:24px}}@media (min-width:768px) and (max-width:1023px){.shell-hero{flex-wrap:wrap}.shell-heading{flex-basis:100%}.shell-date{flex:1}.topbar{column-gap:8px}.tablet-nav-label{display:inline}.main-navigation a>svg{display:block}.desktop-nav-label{display:none}.main-navigation a{width:44px;min-width:44px;padding:8px}.status{min-width:12px}.shell-heading h1{font-size:1.875rem}.shell-date .date-choice{min-width:145px}.date-day-number{width:52px;height:52px}}@media (max-width:767px){html{scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom))}.topbar{padding:calc(12px + env(safe-area-inset-top)) 16px 4px;grid-template-columns:minmax(0,1fr) 44px 44px;gap:4px 8px;display:grid}.brand,.shell-search,.shell-add,.shell-subtitle,.desktop-greeting,.topbar-actions .theme-toggle{display:none}.topbar-actions{display:contents}.topbar-actions .settings-link{grid-area:1/2;align-self:start}.topbar-actions .app-status-button{grid-area:1/3;align-self:start;width:44px;min-width:44px;height:44px}.topbar-actions .status{grid-area:3/1/auto/-1;justify-self:end;position:static}.topbar-actions .status-label{font-size:.75rem}.status-icon{display:none}.mobile-title{display:inline}.mobile-logo{vertical-align:middle;flex-shrink:0;margin-right:0;display:inline-flex}.shell-heading h1>label{justify-content:flex-start;align-items:center;gap:8px;min-height:44px;display:flex}.mobile-title{min-width:0}.shell-hero:not(.shell-dated) .shell-heading h1>label{justify-content:flex-start}.shell-hero{display:contents}.shell-heading{z-index:1;text-align:center;grid-area:1/1;align-self:center;margin:0}.shell-heading h1{letter-spacing:-.02em;font-size:1.1rem;font-weight:600;line-height:1.35}.shell-dated .shell-date{flex-wrap:wrap;grid-area:2/1/auto/-1;gap:4px;width:100%;margin:0;display:flex}.shell-date>button:first-child,.shell-date>button:nth-of-type(2){flex:0 0 44px;align-self:center}.shell-date>button:last-child{flex:none;align-self:center;width:auto;min-width:44px;height:44px;padding-inline:8px;font-size:.6875rem}.shell-date .date-choice{flex:6rem;justify-content:center;min-width:6rem;height:44px;min-height:44px;padding:0}.shell-date time{text-align:center;white-space:normal;max-width:100%;font-size:.75rem;font-weight:500;line-height:1.5;display:block}.date-day-number,.date-weekday{display:none}.date-mobile-label{display:inline}.shell-hero:not(.shell-dated){grid-template-columns:minmax(0,1fr);min-height:84px}.shell-hero:not(.shell-dated) .shell-heading{text-align:left;grid-column:1;align-self:center;margin:0}.shell-hero:not(.shell-dated) .mobile-logo{display:inline-flex}.main-navigation{inset:auto 12px calc(12px + env(safe-area-inset-bottom));border:1px solid var(--control-line);background:var(--surface);width:auto;z-index:var(--z-navigation);box-shadow:var(--shadow);border-radius:32px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 44px minmax(0,1.15fr) minmax(0,1fr);justify-self:stretch;gap:0;padding:6px;display:grid;position:fixed}.main-navigation a{border-radius:999px;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:4px 0;font-size:.6875rem;line-height:1.3}.main-navigation a>svg{display:block}.main-navigation a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.desktop-nav-label{display:none}.mobile-nav-label{white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:100%;display:inline}.nav-add{place-self:center;display:inline-flex}#main{padding:0 16px calc(max(112px, 6rem) + env(safe-area-inset-bottom))}}@media (max-width:360px){.topbar{column-gap:4px;padding-inline:12px}.topbar-actions{flex-direction:column}.topbar-actions .status{top:auto;bottom:8px;right:66px}.shell-heading h1{font-size:1rem}.shell-date time{font-size:.6875rem}#main{padding-inline:12px}}.v2-dashboard,.v2-diary{min-width:0}.shell-heading .shell-energy-summary{letter-spacing:-.04em;margin-top:0;font-size:clamp(1.25rem,2.7vw,2.5rem);font-weight:300;line-height:1.15}.dashboard-habits{gap:18px;display:grid}.dashboard-top{grid-template-columns:minmax(0,3.1fr) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.dashboard-middle{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.dashboard-bottom{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.day-nutrition{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;min-width:0;display:grid}.day-nutrition>.card,.v2-dashboard .card{min-width:0;margin:0}.day-nutrition .energy-card{grid-template-columns:none;align-items:stretch;gap:14px;padding:22px;display:flex}.energy-body{align-items:center;gap:18px;min-width:0;display:flex}.energy-body .design-gauge{flex:0 0 190px;width:190px;max-width:46%}.no-target-notice{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:.875rem;display:flex}.gauge-value{overflow-wrap:anywhere}.gauge-value.long-value{font-size:1.125rem}.gauge-target{background:var(--surface-2);color:var(--muted);border-radius:999px;margin-top:6px;padding:4px 8px;font-size:.75rem}.energy-facts{flex:1;min-width:0;margin:0}.energy-facts>div{border-bottom:1px solid var(--line);padding:10px 0}.energy-facts>div:last-child{border:0}.energy-facts dt{color:var(--muted);font-size:.8125rem}.energy-facts dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.9375rem;font-weight:600}.card-head button.text-link{background:var(--transparent);border:0;min-width:44px;padding:0;font-size:.875rem}.v2-dashboard .gauge-target{display:none}.day-nutrition .energy-value{letter-spacing:0;color:var(--ink);font-size:.9375rem;font-weight:600;line-height:1.5;display:block}.day-nutrition .energy-value span{font:inherit}.energy-comparison,.nutrition-warning,.energy-card .target-link{margin:0;font-size:.875rem}.energy-comparison{color:var(--muted)}.status-on{color:var(--good-text);background:var(--good-soft)}.status-near,.status-under{color:var(--near-text);background:var(--near-soft)}.status-over{color:var(--danger);background:var(--danger-soft)}.nutrient-list,.nutrient-list.macro-grid{border:0;flex-direction:column;gap:16px;margin:0;padding:0;display:flex}.nutrient-list.macro-grid>div{background:var(--transparent);border:0;padding:0}.nutrient-bar-label{gap:8px;font-size:.8125rem}.nutrient-bar-label>span:last-child{text-align:right;overflow-wrap:anywhere}.nutrition-details{margin-top:6px;font-size:.875rem}.nutrition-details .goal-progress{box-shadow:none;border:0;padding:10px 0}.nutrition-details .goal-progress-grid{display:block}.nutrition-details .goal-metric{margin-top:12px}.nutrition-details .goal-metric h3{font-size:.9375rem}.v2-dashboard .daily-meals{margin:0;display:block}.v2-dashboard .meal-summary{border:0;border-bottom:1px solid var(--line);background:var(--transparent);border-radius:0;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:14px;padding:14px 0;display:grid}.v2-dashboard .meal-summary:last-child{border:0;padding-bottom:0}.meal-summary-text{min-width:0}.meal-summary h3{margin:0;font-size:.9375rem}.meal-summary-text p{white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:.8125rem;overflow:hidden}.meal-summary-text small{color:var(--muted);font-size:.8125rem}.meal-summary>strong{overflow-wrap:anywhere;text-align:right;max-width:12ch;font-size:.8125rem}.v2-dashboard .meal-unlogged{color:var(--muted);font-weight:400}.dashboard-habits .habit-total{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:2.6rem;font-weight:300;line-height:1.15}.dashboard-habits .habit-total span{letter-spacing:0;font-size:.8125rem}.dashboard-habits .heading-actions h2{align-items:center;gap:10px;font-size:1rem;font-weight:600;display:flex}.dashboard-habits .water-card>small{display:none}.dashboard-data-note{margin:12px 0;font-size:.875rem}.weight-reading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.weight-reading>strong{letter-spacing:-.04em;font-size:3.2rem;font-weight:300;line-height:1.15}.weight-reading>strong small{letter-spacing:0;margin-left:4px;font-size:.875rem}.weight-caption{margin:0;font-size:.875rem}.weight-overview>details{font-size:.875rem}.logging-history .design-heatmap svg{width:100%;max-width:360px;max-height:none}.logging-history .heat-legend{flex-wrap:wrap;font-size:.75rem}.logging-history>small{font-size:.8125rem}.diary-week{margin-bottom:16px;display:none}.diary-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}.diary-sidebar{gap:18px;min-width:0;display:grid;position:sticky;top:16px}.diary-sidebar .day-nutrition{display:block}.diary-sidebar .energy-card{border-radius:var(--radius-card) var(--radius-card) 0 0;padding:20px}.diary-sidebar .nutrient-summary{border-radius:0 0 var(--radius-card) var(--radius-card);border-top:0;padding:0 20px 20px}.diary-sidebar .energy-body .design-gauge{flex-basis:44%;width:44%}.diary-sidebar .energy-value{font-size:.875rem}.diary-sidebar .card-head h2{font-size:1rem}.v2-diary .meal-list{gap:18px;margin:0;display:grid}.v2-diary .meal{border-radius:var(--radius-card);margin:0;padding:20px;display:block}.v2-diary .meal>header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:12px;display:flex}.v2-diary .meal>header h2{margin:0;font-size:1rem}.meal-entry-count{color:var(--muted);font-size:.8125rem}.v2-diary .meal-total{color:var(--ink);overflow-wrap:anywhere;max-width:18ch;margin-left:auto;font-size:.9375rem}.v2-diary .meal-add-food{background:var(--surface-2);border:0;gap:6px;width:auto;margin:0;padding:8px 14px}.diary-columns,.v2-diary .diary-row{grid-template-columns:minmax(0,1fr) 80px 140px 85px 44px;align-items:center;column-gap:14px;display:grid}.diary-columns{color:var(--muted);padding:14px 0 8px;font-size:.75rem}.v2-diary .diary-row{border:0;border-bottom:1px solid var(--line);padding:16px 0;position:relative}.v2-diary .diary-row:last-child{border:0;padding-bottom:0}.v2-diary .diary-row>.entry-name{min-width:0;display:block}.v2-diary .diary-row h3{margin:0;font-size:.9375rem;font-weight:500}.entry-name>p{margin:3px 0 0;font-size:.8125rem}.entry-amount,.v2-diary .entry-energy{overflow-wrap:anywhere;margin:0;font-size:.875rem}.v2-diary .entry-amount{grid-area:1/2}.v2-diary .entry-source{grid-area:1/3}.v2-diary .entry-energy{white-space:normal;grid-area:1/4}.v2-diary .entry-source{white-space:normal;margin:0;font-size:.6875rem;display:inline-block}.v2-diary .entry-actions{grid-area:1/5;justify-self:end}.v2-diary .entry-actions>summary{border-radius:999px;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.diary-sidebar .diary-tools{margin:0;padding:16px}.v2-diary .source-tabs{margin-top:0}.food-picker{border-radius:22px 0 0 22px;width:min(460px,100vw);max-width:100%;height:100dvh;max-height:100dvh;margin:0;position:fixed;inset:0 0 0 auto}.food-picker .picker-heading{gap:8px}.food-picker .picker-heading>div{flex:1}.food-picker .picker-heading h2{font-size:1.25rem;font-weight:600}.food-picker .picker-heading p{font-size:.8125rem}.food-picker .picker-controls{margin-bottom:12px;display:block}.food-picker .segmented-control{background:var(--surface-2);border-radius:999px;flex-wrap:nowrap;max-width:100%;display:flex;overflow-x:auto}.food-picker .segmented-control>button{white-space:nowrap;min-height:44px;color:var(--muted);background:var(--transparent);border:0;flex:none;padding:8px 12px}.food-picker .segmented-control>button[aria-pressed=true]{background:var(--ink);color:var(--bg);text-decoration:none}.food-picker .segmented-control[aria-label="Add to meal"]>button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.food-picker .food-search-header{z-index:2;background:var(--surface);padding:0;position:sticky;top:0}.food-picker .food-search-header>label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.food-picker .search-field-row{border:1px solid var(--control-line);background:var(--surface-2);border-radius:16px;align-items:center;gap:8px;padding:4px 6px 4px 12px;display:flex}.food-picker .search-field-row input{background:var(--transparent);border:0;min-height:44px;padding-inline:0;font-size:1rem}.food-picker .search-field-row>svg{color:var(--muted);flex:none}.food-picker .search-field-row>.round{background:var(--transparent);border:0}.food-picker .search-source-selector{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.food-picker .search-source-selector label{margin:0;font-size:.8125rem}.food-picker .search-source-selector select{flex:1;width:auto;min-width:160px;margin:0;font-size:.875rem}.food-picker .picker-source-hidden,.food-picker .picker-meal-field{display:none}.food-picker .food-results{margin-block:12px;padding:0}.food-picker .food-choice{border:0;border-bottom:1px solid var(--line);background:var(--transparent);border-radius:0;display:flex}.food-picker .food-choice[aria-pressed=true]{background:var(--accent-soft);border-radius:14px;padding-inline:12px}.food-picker .food-choice>strong{overflow-wrap:anywhere;max-width:12ch;font-size:.8125rem}.food-picker .food-detail>h2{background:var(--accent-soft);color:var(--ink);border-radius:14px;padding:12px;font-size:1rem;font-weight:600}.food-picker .food-reference{font-size:.875rem}.food-picker .amount-stepper{margin-block:14px}.food-picker .amount-stepper label{color:var(--muted);font-size:.875rem}.food-picker .stepper-row{gap:12px}.food-picker .quick-chips:empty{display:none}.food-picker .amount-shortcuts{flex-wrap:wrap;gap:6px;margin-block:12px;display:flex}.food-picker .amount-shortcuts>button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);text-decoration:none}.food-picker .two-column{display:block}.food-picker .log-food-form fieldset,.food-picker .entry-editor fieldset{border:0;margin:0;padding:0}.food-picker .picker-footer{flex-wrap:nowrap;gap:10px;padding:14px 20px;display:flex}.food-picker .picker-footer>button{min-width:0;padding-inline:16px}.food-picker .picker-footer>button[type=submit]{white-space:normal;flex:1;font-size:.875rem}.food-picker .picker-footer>button:first-child{background:var(--surface-2)}.food-picker .picker-library-link{font-size:.8125rem}@media (max-width:767px){.food-picker{inset:auto 0;top:calc(var(--picker-offset-top,0px) + var(--picker-visible-height,100dvh) * .08);width:100%;height:calc(var(--picker-visible-height,100dvh) * .92);max-height:calc(var(--picker-visible-height,100dvh) * .92);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0}.food-picker .picker-heading{padding:14px 16px}.food-picker .picker-body{padding:12px 16px}.food-picker .picker-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}}@media (max-width:1190px){.dashboard-top{grid-template-columns:minmax(0,1fr) 250px}.dashboard-top .day-nutrition{grid-template-columns:minmax(0,1fr)}.dashboard-middle{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.diary-layout{grid-template-columns:minmax(0,1fr) 300px}.diary-columns{display:none}.v2-diary .diary-row{grid-template-columns:minmax(0,1fr) auto 44px}.entry-name{grid-area:1/1}.v2-diary .entry-source{grid-area:3/1;justify-self:start}.v2-diary .entry-amount{grid-area:2/1}.v2-diary .entry-energy{grid-area:1/2;max-width:10ch}.v2-diary .entry-actions{grid-area:1/3}}@media (max-width:900px){.diary-layout{flex-direction:column;display:flex}.diary-sidebar{order:-1;width:100%;position:static}.v2-diary .meal-list{width:100%}.diary-sidebar .day-nutrition{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.diary-sidebar .energy-card,.diary-sidebar .nutrient-summary{border:1px solid var(--line);border-radius:var(--radius-card);padding:20px}}@media (max-width:767px){#main{padding-top:16px}.dashboard-habits{flex-direction:column;gap:16px;display:flex}.dashboard-top,.dashboard-middle,.dashboard-bottom{display:contents}.dashboard-top .day-nutrition{order:0;gap:18px;width:100%}.dashboard-meal-card{order:1;width:100%}.logging-history{order:2;width:100%}.weight-overview{order:3;width:100%}.water-card{order:4;width:100%}.activity-card{order:5;width:100%}.v2-dashboard .energy-card{background:var(--transparent);box-shadow:none;border:0;padding:12px 0 0}.v2-dashboard .energy-card>.card-head{justify-content:center}.v2-dashboard .energy-card>.card-head h2{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.v2-dashboard .energy-body{display:block;position:relative}.v2-dashboard .energy-body .design-gauge{width:62%;max-width:62%}.v2-dashboard .gauge-target{display:inline}.v2-dashboard .energy-facts{pointer-events:none;position:absolute;inset:0}.v2-dashboard .energy-facts>div{border:0;width:21%;padding:0;position:absolute;top:40%}.v2-dashboard .energy-facts>.energy-base{display:none}.v2-dashboard .energy-facts>.energy-eaten{left:0}.v2-dashboard .energy-facts>.energy-activity{text-align:right;right:0}.v2-dashboard .energy-facts>.energy-entries{display:none}.v2-dashboard .energy-facts dt,.v2-dashboard .energy-facts dd,.v2-dashboard .energy-value{font-size:.75rem}.v2-dashboard .target-link,.v2-dashboard .energy-comparison{text-align:center}.v2-dashboard .nutrient-summary{background:var(--transparent);box-shadow:none;border:0;padding:0}.v2-dashboard .nutrient-summary>.card-head{margin-bottom:2px}.nutrient-list,.nutrient-list.macro-grid{gap:12px}.v2-dashboard .nutrient-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.v2-dashboard .meal-summary{gap:8px}.meal-summary>strong{max-width:9ch;font-size:.75rem}.diary-week,.diary-sidebar .day-nutrition{display:block}.diary-sidebar .energy-card{border-radius:var(--radius-card) var(--radius-card) 0 0}.diary-sidebar .nutrient-summary{border-radius:0 0 var(--radius-card) var(--radius-card);border-top:0}.v2-diary .meal{padding:16px}.v2-diary .meal>header{gap:8px}.v2-diary .meal-add-food{background:var(--accent);width:44px;min-width:44px;height:44px;color:var(--on-accent);padding:0}.meal-add-label{display:none}.diary-sidebar{display:contents}.diary-sidebar .day-nutrition{order:0;width:100%}.v2-diary .meal-list{order:1}.diary-sidebar .diary-tools{order:2;width:100%}.diary-sidebar .energy-body .design-gauge{flex-basis:96px;width:96px;max-width:38%}.diary-sidebar .gauge-value{font-size:1.65rem}.diary-sidebar .gauge-centre small{font-size:.6875rem}.diary-sidebar .energy-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.diary-sidebar .energy-facts>div{border:0;padding:4px 0}.diary-sidebar .energy-entries{display:none}.diary-sidebar .nutrient-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.v2-dashboard .nutrient-bar-label,.diary-sidebar .nutrient-bar-label{flex-direction:column;align-items:flex-start;gap:3px}.v2-diary .meal-total{font-size:.8125rem}}.diary-columns{text-transform:uppercase;letter-spacing:.08em}.v2-dashboard .energy-facts>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.v2-dashboard .energy-facts dd{text-align:right;margin:0}.design-heatmap .heat-none{fill:var(--none);stroke:none}.entry-nutrition-dialog{border:1px solid var(--control-line);border-radius:var(--radius-card);background:var(--surface);width:min(560px,100vw - 24px);max-height:90dvh;color:var(--ink);padding:24px;overflow:auto}.entry-nutrition-dialog::backdrop{background:var(--scrim)}.entry-nutrition-dialog header{align-items:flex-start}.entry-nutrition-dialog h2{font-size:1.125rem}.entry-nutrition-dialog h3{overflow-wrap:anywhere;font-size:1rem}.entry-nutrition-dialog .diary-nutrition{margin-block:16px}.entry-actions-panel{border-radius:16px;max-width:min(280px,100vw - 48px)}.food-picker .picker-heading{align-items:center;padding:14px 20px}.food-picker .picker-heading h2{margin:0}.food-picker .picker-heading p{margin:3px 0 0}.picker-close{font-size:1.6rem}.food-picker .picker-body{padding:4px 20px}.food-picker .local-search{box-shadow:none;background:var(--transparent);border:0;margin:0;padding:0}.food-picker .local-search>.food-result-count{margin:0;font-size:.75rem}.food-picker .segmented-control{gap:2px;margin:2px 0;padding:2px}.food-picker .segmented-control>button{padding-inline:10px;font-size:.8125rem}.food-picker .picker-controls:empty{display:none}.food-picker .food-results{overscroll-behavior:contain;max-height:156px;margin:0;overflow-y:auto}.food-picker .food-choice{gap:8px;min-width:0;padding:8px}.food-picker .food-choice>span{min-width:0}.food-picker .food-choice small{font-size:.75rem;line-height:1.4}.food-picker .selected-food-result{background:var(--accent-soft);border-radius:14px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;display:grid}.food-picker .selected-food-result .food-choice{background:var(--transparent);box-shadow:none;border:0;padding:8px}.food-picker .selected-food-result:has(>.food-choice:only-child){grid-template-columns:minmax(0,1fr)}.food-picker .compact-favourite>button{background:var(--transparent);color:var(--accent);border:0;margin:0;font-size:1.5rem}.food-picker .compact-favourite [role=alert]{grid-column:1/-1;font-size:.8125rem}.picker-search-options{margin:0;font-size:.8125rem}.picker-search-options>summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;display:flex}.picker-search-options[open]{padding-bottom:10px}.food-picker .compact-food-detail{box-shadow:none;background:var(--transparent);border:0;margin:4px 0 0;padding:0}.food-picker .inline-servings,.food-picker .inline-servings .saved-servings{border:0;margin:0;padding:0}.inline-servings .saved-servings>p:first-child,.inline-servings .serving-list:empty{display:none}.inline-servings .serving-management>summary{cursor:pointer;min-height:44px;color:var(--muted);font-size:.8125rem}.food-picker .log-food-form{border:0;margin:0;padding:0}.food-picker .log-food-form fieldset{flex-direction:column;display:flex}.food-picker .log-food-form .two-column{order:0;margin:0}.food-picker .log-food-form .amount-shortcuts{order:1;margin:2px 0}.food-picker .log-food-form button,.food-picker .amount-stepper{margin:0}.food-picker .stepper-row{max-width:300px;margin:0 auto}.food-picker .stepper-row input{background:var(--transparent);box-shadow:none;letter-spacing:-.04em;border:0;border-radius:8px;height:60px;padding:0 4px;font-size:2.5rem;font-weight:400}.food-picker .stepper-row input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0}.food-picker .log-food-form [id$=-amount-help]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.food-picker .amount-shortcuts>button{padding-inline:10px;font-size:.75rem}.picker-food-details{margin:0;font-size:.8125rem}.picker-food-details>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.food-picker .picker-footer{padding-block:10px}.food-picker .picker-library-link{margin:0}.food-picker .picker-library-link a{align-items:center;min-height:44px;font-size:.75rem;display:flex}.mobile-day-heading,.mobile-return-today{display:none}@media (max-width:767px){.dated-topbar{padding:calc(12px + env(safe-area-inset-top)) 12px 4px;flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dated-topbar .shell-heading{display:none}.dated-topbar .shell-date{display:contents}.dated-topbar .shell-date>button:first-child{order:1}.dated-topbar .shell-date>.date-choice{background:var(--transparent);border:0;border-radius:8px;flex-direction:column;flex:6rem;order:2;justify-content:center;align-items:center;gap:0;min-width:6rem;height:auto;min-height:44px;padding:0;display:flex}.dated-topbar .shell-date>button:nth-of-type(2){order:3}.dated-topbar .settings-link{order:4;margin:0}.dated-topbar .app-status-button{order:5;margin:0}.dated-topbar .shell-date>.today-button{display:none}.dated-topbar .mobile-day-heading{letter-spacing:-.02em;text-align:center;margin:0;font-size:1rem;font-weight:600;line-height:1.35;display:block}.mobile-day-heading label{color:var(--ink);font:inherit;overflow-wrap:anywhere;cursor:pointer;margin:0}.dated-topbar .shell-date .date-choice time{color:var(--muted);font-size:.6875rem;line-height:1.5}.dated-topbar .mobile-return-today{z-index:1;white-space:nowrap;background:var(--transparent);border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-8px 0;padding:0 9px;font-size:.6875rem;line-height:1.2;display:inline-flex;position:relative}.dated-topbar .mobile-return-today:before{content:"";z-index:-1;border:1px solid var(--control-line);background:var(--surface-2);border-radius:999px;position:absolute;inset:8px 0}.dated-topbar .shell-date>.date-choice:has(.mobile-return-today){flex-flow:wrap;column-gap:4px}.dated-topbar .date-choice:has(.mobile-return-today) .mobile-day-heading{flex-basis:100%}.dated-topbar .date-choice:has(.mobile-return-today) time{white-space:nowrap}.dated-topbar .settings-link,.dated-topbar .mobile-status-tools{align-self:center}.mobile-status-tools{flex:0 0 44px;grid-area:1/3;width:44px;height:44px;display:inline-flex;position:relative}.dated-topbar .mobile-status-tools{order:5}.topbar .mobile-status-tools .status{z-index:1;background:var(--surface);pointer-events:none;border-radius:999px;min-width:0;padding:0 2px;position:absolute;top:0;bottom:auto;right:0}.topbar .status-icon{font-size:.625rem;display:inline}.topbar .status-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.v2-dashboard .energy-facts>div{display:block}.v2-dashboard .energy-facts .energy-eaten dd{text-align:left}.food-picker .picker-heading,.food-picker .picker-body{padding-inline:16px}.food-picker .picker-footer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}.picker-barcode-result{margin-bottom:8px;padding:8px}.picker-barcode-result>span{overflow-wrap:anywhere;min-width:0}.picker-barcode-result small{color:var(--muted);font-size:.75rem;display:block}.card-head{flex-wrap:wrap}.card-head h2{min-width:0}.card-head h2 .icon-tile{align-self:flex-start}.heading-actions>.card-head{flex:180px}.settings-layout .card-head,.progress-screen .card-head,.recipe-workspace .card-head,.backup-controls>.card-head{margin-bottom:14px}.heading-actions>.card-head{margin-bottom:0}.foods-screen{min-width:0}.foods-screen .source-tabs,.progress-screen>.segmented-control{background:var(--surface-2);border:0;border-radius:24px;flex-wrap:nowrap;gap:4px;padding:4px;display:flex}.foods-screen .source-tabs>button,.progress-screen>.segmented-control>button{background:var(--transparent);color:var(--muted);box-shadow:none;border:0;margin:0;text-decoration:none}.foods-screen .source-tabs>button[aria-pressed=true],.progress-screen>.segmented-control>button[aria-pressed=true]{color:var(--on-primary);background:var(--primary);text-decoration:none}.foods-screen .food-search-header{margin-bottom:16px}.foods-screen .search-field-row{border:1px solid var(--control-line);border-radius:var(--radius-input);background:var(--surface-2);align-items:center;gap:10px;padding:4px 8px 4px 14px;display:flex}.foods-screen .search-field-row>svg{color:var(--muted);flex:none}.foods-screen .search-field-row input{background:var(--transparent);border:0;flex:1;width:0;min-width:0;margin:0}.foods-screen .search-field-row .round{background:var(--transparent);border:0}.foods-screen .search-field-row:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.foods-screen .search-field-row input:focus-visible{outline:none}.foods-screen .food-results .food-choice{border:0;border-bottom:1px solid var(--line);background:var(--transparent);box-shadow:none;border-radius:0;padding:14px 8px}.foods-screen .food-results>li:last-child>.food-choice{border-bottom:0}.foods-screen .food-results .food-choice[aria-pressed=true]{border-radius:var(--radius-input);background:var(--accent-soft);color:var(--ink);border:0}.foods-screen .food-choice>strong{text-align:right;flex-shrink:0;min-width:6.5ch;font-size:.875rem}.foods-screen .food-detail>.tag,.recipe-detail>.tag{margin-bottom:12px}.foods-screen .food-detail>.card-head h2{font-size:1.125rem}.foods-screen .library-selection-hint{background:var(--surface-2);border:0}.foods-screen .library-selection-hint h2{font-size:1rem}.target-macros>div,.weight-summary>p,.summary-metric,.restore-counts>div,.recipe-workspace .macro-grid>div{border-radius:var(--radius-input);background:var(--surface-2);border:0;padding:16px}.target-macros{gap:12px}.target-value strong,.weight-summary strong,.summary-metric strong,.recipe-preview .recipe-energy{letter-spacing:-.04em;font-weight:300}.weight-summary>p{line-height:1.6}.weight-chart,.nutrition-chart{border-radius:var(--radius-input);background:var(--surface-2);border:0}.weight-chart{padding:16px}.weight-chart svg{max-height:320px}.weight-chart text{font:12px var(--font-sans)}.chart-grid{stroke:var(--track);stroke-dasharray:3 5}.chart-observations{stroke:var(--muted);stroke-width:1.5px}.chart-point{fill:var(--accent);stroke:var(--surface)}.chart-average{stroke:var(--accent);stroke-width:2.5px}.chart-endpoint{stroke-width:2px;r:5px}.chart-legend .legend-recorded{border-color:var(--muted)}.nutrition-chart .complete-bar{fill:var(--accent)}.nutrition-chart .partial-bar{stroke:var(--accent)}.table-scroll table,.nutrition-report table{background:var(--surface)}.table-scroll thead,.nutrition-report thead{background:var(--surface-2)}.table-scroll thead th,.nutrition-report thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:500}.table-scroll td,.nutrition-report td{font-variant-numeric:tabular-nums}.record-list>li{border-color:var(--line)}.progress-through,.recipe-workspace .ingredient-selection,.recipe-ingredients>li,.restore-preview,.status-state{border-radius:var(--radius-input);background:var(--surface-2);border:0}.progress-through{justify-self:start}.recipe-workspace .ingredient-selection{background:var(--accent-soft)}.recipe-ingredients>li{margin-bottom:12px}.restore-preview{padding:20px}.restore-counts{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.restore-counts>div{background:var(--surface);padding:12px}.backup-workflow{gap:20px}.backup-restore{padding-top:20px}.settings-layout,.settings-primary,.settings-secondary{gap:22px}.app-about{border:0;padding-bottom:0}.app-about p{font-size:.875rem}.version-badge{border:0}.status-state.status-update{background:var(--accent-soft)}.storage-details>summary,.development-demo>summary{font-weight:600}.app-status-dialog{width:min(480px,100vw - 24px);padding:24px}.app-status-dialog .status-dialog-heading{align-items:center}.app-status-dialog>.actions{gap:8px}.app-status-dialog>.actions>button{flex:150px}.notice{border-radius:var(--radius-input);border:0}.recovery-view{max-width:1100px}.recovery-message{border-color:var(--line)}.recovery-message>.logo-mark{margin-bottom:12px}.recovery-message h1,.recovery-message h2{letter-spacing:-.035em;font-weight:400}.empty-state{border-radius:var(--radius-input);background:var(--surface-2);border:0}.cloud-sync{gap:.75rem;min-width:0;display:grid}.cloud-sync details>*+*{margin-top:.75rem}.cloud-sync output,.cloud-sync code{overflow-wrap:anywhere}.cloud-sync label:has(input[type=checkbox]){align-items:flex-start;gap:.5rem;display:flex}.cloud-sync input[type=checkbox]{flex:none;margin-top:.3rem}.cloud-sync dt{color:var(--text-muted)}.cloud-sync dd{margin:0 0 .5rem}.diary-sidebar .design-gauge{container-type:inline-size}.diary-sidebar .gauge-centre{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;inset:18%}.diary-sidebar .gauge-centre .gauge-value{max-width:100%;font-size:clamp(12px,20cqi,24px);line-height:1.05}.diary-sidebar .gauge-centre .gauge-value.long-value{font-size:clamp(9px,12cqi,14px)}.diary-sidebar .gauge-centre small{font-size:clamp(9px,10cqi,12px)}.diary-sidebar .gauge-target{display:none}@media (min-width:1024px){.recovery-view{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (max-width:767px){.foods-screen .source-tabs,.progress-screen>.segmented-control{border-radius:20px}.weight-summary,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weight-summary>p:first-child{grid-column:1/-1}.weight-summary strong{font-size:2rem}.target-macros{grid-template-columns:minmax(0,1fr)}.target-macros>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.target-macros dd{margin:0}.app-about{flex-wrap:wrap;align-items:flex-start}.restore-preview{padding:16px}.restore-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.app-status-dialog{padding:20px}}.app-status-dialog{margin:auto}.app-status-dialog>.actions>button{white-space:nowrap}[role=alert] a[href],[role=status] a[href]{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.food-picker .search-field-row:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.food-picker .search-field-row input:focus-visible{outline:none}.diary-tools .editor-fields>div>label,.save-meal-form .two-column>div>label{margin-bottom:var(--space-1);display:block}.diary-tools .editor-fields>div>:is(select,input),.save-meal-form .two-column>div>:is(select,input){width:100%}.foods-screen .segmented-control[aria-label="Add to meal"]{background:var(--surface-2);border-radius:999px;flex-wrap:nowrap;gap:2px;max-width:100%;padding:2px;display:flex}.foods-screen .segmented-control[aria-label="Add to meal"]>button{white-space:nowrap;min-height:44px;color:var(--muted);background:var(--transparent);border:0;flex:auto;margin:0;padding:8px 10px;font-size:.8125rem}.foods-screen .segmented-control[aria-label="Add to meal"]>button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);text-decoration:none}@media (max-width:767px){.progress-screen>.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.progress-screen>.segmented-control>button{white-space:normal;min-width:0;margin:0}.progress-screen>.progress-through{justify-self:stretch}}@media (max-width:374px){.foods-screen .segmented-control[aria-label="Add to meal"]{border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.food-picker .picker-footer>button[type=submit]:disabled{opacity:1;border-color:var(--transparent);background:var(--surface-2);color:var(--muted)}.habits-grid .habit-total{margin:var(--space-1) 0 0;letter-spacing:-.04em;font-size:2.6rem;font-weight:300;line-height:1.15}.habits-grid .habit-total span{letter-spacing:0;font-size:.8125rem}.habits-grid .habit-total+p{margin-top:var(--space-1)}.energy-card .energy-facts>.repeats-gauge{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.diary-sidebar .energy-facts:has(>.repeats-gauge) .energy-entries{display:block}@media (max-width:767px){.foods-screen .source-tabs.collections{border-radius:22px;flex-wrap:wrap;overflow-x:visible}}@media (max-width:389px){.food-picker .segmented-control[aria-label=Food\ collections]{border-radius:22px;flex-wrap:wrap;overflow-x:visible}}@media (max-width:359px){.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;overflow-x:visible}.week-strip button{font-size:.6875rem}}.source-link{align-items:center;min-height:44px;display:inline-flex}@media (max-width:1190px){.dashboard-middle,.dashboard-bottom{grid-template-columns:minmax(0,1fr) 250px}}@media (max-width:767px){.v2-dashboard .energy-card .gauge-track{stroke:var(--ink)}@supports (color:color-mix(in lab, red, red)){.v2-dashboard .energy-card .gauge-track{stroke:color-mix(in srgb, var(--ink) 12%, var(--bg))}}}.first-run-setup{border:1px solid var(--control-line);border-radius:var(--radius-card);width:min(460px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--ink);background:var(--surface);margin:auto;padding:24px;overflow:auto}.first-run-setup::backdrop{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.first-run-setup::backdrop{background:color-mix(in srgb, var(--bg) 70%, transparent)}}.first-run-setup::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.first-run-setup h2{outline:none;margin:4px 0 8px;font-size:1.375rem}.first-run-setup label{margin:14px 0 4px;display:block}.first-run-setup select,.first-run-setup input:not([type=radio]){width:100%}.setup-progress{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.setup-progress span{background:var(--track);border-radius:999px;height:4px}.setup-progress span.done{background:var(--accent)}.setup-step{color:var(--muted);margin:12px 0 0;font-size:.75rem}.setup-logo{margin-top:16px}.setup-choices{border:0;margin:8px 0 0;padding:0}.first-run-setup .setup-choices .checkbox-label{align-items:center;gap:10px;min-height:44px;margin:0;display:flex}.setup-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:22px;display:flex}.setup-actions>div{gap:8px;display:flex}.setup-actions button{margin:0}.profile-name-row{align-items:center;gap:8px;display:flex}.profile-name-row input{flex:1;min-width:0}.profile-name-row button{flex:none;margin:0}.profile-facts{margin:16px 0 8px}.profile-facts>div{border-top:1px solid var(--line);padding:10px 0}.profile-facts dt{color:var(--muted);font-size:.8125rem}.profile-facts dd{margin:3px 0 0}.profile-card .text-link{align-items:center;min-height:44px;display:inline-flex}.profile-card small{display:block}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"";vertical-align:middle;border-bottom:1.7px solid;border-right:1.7px solid;flex:none;width:.42em;height:.42em;margin:0 .65em .12em .1em;transition:transform .15s ease-out;display:inline-block;transform:rotate(-45deg)}details[open]>summary:before{transform:translateY(-.1em)rotate(45deg)}.entry-actions>summary:before{content:none}a[target=_blank]>.ui-icon{vertical-align:-.1em;width:.95em;height:.95em;margin-left:.2em}@media (prefers-reduced-motion:reduce){details>summary:before{transition:none}}.share-day button{width:100%;margin:0}.diary-sidebar .share-day{margin-top:12px}.status-icon{flex:none;place-items:center;width:8px;height:8px;display:inline-grid}.status-icon.is-online{background:currentColor;border-radius:50%}.status-icon.is-offline,.status-icon.is-offline .ui-icon{width:12px;height:12px}.topbar-actions .app-status-button{flex:0 0 44px}.card-head{min-height:44px}button>.ui-icon+*,.button>.ui-icon+*{margin-left:0}button:has(>.ui-icon){gap:8px}.button:has(>.ui-icon){gap:8px}.food-picker.is-searching .picker-body{flex-direction:column;display:flex}.food-picker.is-searching .picker-search-panel:not([hidden]),.food-picker.is-searching .local-search{flex-direction:column;flex:1;min-height:0;display:flex}.food-picker .food-search-header{position:static}.food-picker .food-search-toolbar{background:var(--surface);z-index:var(--z-sticky);flex-shrink:0;position:sticky;top:-4px}.food-picker.is-searching .food-results{flex:1;min-height:88px;max-height:none}.food-picker .local-search.has-selection .food-results{max-height:none;overflow:visible}.food-picker .local-search.has-selection>button{align-self:flex-end;margin:0}.food-picker .picker-search-options{flex-shrink:0}@media (max-width:767px) and (max-height:600px){.food-picker{top:var(--picker-offset-top,0px);height:var(--picker-visible-height,100dvh);max-height:var(--picker-visible-height,100dvh)}.food-picker .picker-heading{padding-block:8px}.food-picker .picker-footer{padding-block:6px}}.energy-unset{display:none}@media (max-width:767px){.dated-topbar{flex-wrap:wrap}.dated-topbar .shell-hero{flex:1;order:0;min-width:0;padding:0;display:flex}.dated-topbar .shell-date{flex-wrap:nowrap;gap:0;width:100%;display:flex}.dated-topbar .topbar-actions{flex-direction:row;order:1;gap:4px;display:flex}.topbar>.status.is-compact{flex-basis:100%;order:2;grid-column:1/-1;justify-content:flex-end;min-height:20px;margin:0;position:static}.topbar>.status.is-compact .status-label{clip-path:none;background:var(--surface-2);border-radius:999px;width:auto;height:auto;padding:2px 8px;position:static;overflow:visible}.topbar>.status.is-compact .status-icon{display:none}.dashboard-top .day-nutrition{display:contents}.v2-dashboard .energy-card{order:0;gap:8px;padding:0}.v2-dashboard .energy-card>.card-head{min-height:0;margin:0}.v2-dashboard .energy-card>.card-head:not(:has(.badge)){display:none}.v2-dashboard .dashboard-meal-card{order:1}.v2-dashboard .nutrient-summary{order:2}.v2-dashboard .logging-history{order:3}.v2-dashboard .weight-overview{order:4}.v2-dashboard .water-card{order:5}.v2-dashboard .activity-card{order:6}.v2-dashboard .energy-body{flex-direction:column;gap:8px;display:flex}.v2-dashboard .energy-body .design-gauge{flex:none;width:220px;max-width:100%;margin:0 auto}.v2-dashboard .energy-facts{pointer-events:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid;position:static}.v2-dashboard .energy-facts>div,.v2-dashboard .energy-facts>.repeats-gauge{clip-path:none;white-space:normal;text-align:center;border:0;width:auto;height:auto;padding:0;display:block;position:static}.v2-dashboard .energy-facts .energy-eaten{order:0}.v2-dashboard .energy-facts .energy-base{order:1;display:block}.v2-dashboard .energy-facts .energy-eaten dd{text-align:center}.v2-dashboard .energy-facts .energy-entries{display:none}.v2-dashboard .energy-facts .energy-activity{order:2;grid-column:1/-1}.v2-dashboard .energy-facts dt{font-size:.75rem}.v2-dashboard .energy-facts dd{text-align:center;font-size:1rem}}@media (max-width:429px){.v2-dashboard .energy-body .design-gauge{width:200px}}.progress-screen>.weight-overview{order:0}.progress-screen>.history-card{order:1}.progress-screen .weight-chart{width:100%;margin-inline:0}.progress-screen .weight-chart svg{width:100%;height:260px;max-height:none}.progress-screen .weight-chart text{font-size:12px}.weight-history-table{table-layout:auto}.weight-history-table tbody th{white-space:nowrap}.weight-history-table th:last-child,.weight-history-table td:last-child{width:44px;min-width:44px}.weight-history-table .entry-actions>summary{cursor:pointer;place-items:center;width:44px;min-height:44px;display:grid}.progress-screen .history-card:has(.weight-history-table) .table-scroll{max-height:none;overflow:visible}@media (max-width:599px){.nutrition-report .daily-nutrition-table{max-height:none;overflow:visible}.daily-nutrition-table table,.daily-nutrition-table tbody{width:100%;min-width:0;display:block}.daily-nutrition-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.daily-nutrition-table tbody tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-block:12px;display:grid}.daily-nutrition-table tbody th,.daily-nutrition-table tbody td{overflow-wrap:normal;word-break:normal;border:0;min-width:0;padding:0}.daily-nutrition-table tbody th{grid-column:1/3}.daily-nutrition-table .day-energyKcal{text-align:right;grid-area:1/3}.daily-nutrition-table td[data-label]:not(.day-energyKcal):before{content:attr(data-label);color:var(--muted);font-size:.75rem;display:block}.daily-nutrition-table .is-logged .day-entry-count{display:none}.daily-nutrition-table .day-fibre,.daily-nutrition-table td:last-child{grid-column:1/-1}.daily-nutrition-table .is-unlogged{color:var(--muted)}.daily-nutrition-table .is-unlogged td:not(.day-entry-count){display:none}}.feedback-toast{z-index:var(--z-feedback);bottom:calc(90px + env(safe-area-inset-bottom));align-items:center;gap:var(--space-3);border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);width:max-content;max-width:calc(100vw - 32px);box-shadow:var(--shadow);padding:8px 12px;display:flex;position:fixed;left:50%;transform:translate(-50%)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
