@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-400-latin.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-500-latin.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-600-latin.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-700-latin.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-400-latin-ext.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-500-latin-ext.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-600-latin-ext.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-700-latin-ext.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--cool-0:#fff;--cool-25:#fafafc;--cool-40:#f0f0f4;--cool-50:#f4f4f7;--cool-100:#eeeef2;--cool-125:#e9e9ee;--cool-150:#e4e4ea;--cool-200:#d5d5dd;--cool-500:#6b6b75;--cool-700:#55555e;--cool-900:#26262b;--warm-150:#e6e3de;--warm-400:#a8a49e;--warm-450:#9a968f;--warm-800:#3d3a36;--warm-835:#34322f;--warm-850:#302e2b;--warm-875:#2c2a27;--warm-900:#292725;--warm-925:#201f1d;--warm-950:#191817;--warm-975:#141312;--shade-light-5:#1018280d;--shade-light-8:#10182814;--shade-light-12:#1018281f;--shade-dark-40:#0006;--shade-dark-55:#0000008c;--shade-scrim-light:#14131259;--shade-scrim-dark:#0a08058c;--indigo-600:#4c5391;--indigo-500:#5b62a4;--indigo-400:#6970b4;--indigo-300:#7a81c2;--indigo-200:#a1a9e4;--indigo-tint-light:#edeffd;--indigo-tint-dark:#222537;--averic-ink:#252322;--averic-ink-hover:#3a3735;--averic-cream:#efebe4;--averic-cream-hover:#f8f6f2;--averic-tint-light:#e6e2da;--averic-tint-dark:#34312d;--horizon-600:#2f6fd8;--horizon-500:#3b7be3;--horizon-700:#2a62c0;--horizon-300:#8db4f5;--horizon-tint-light:#e8f0fc;--horizon-tint-dark:#1c2a40;--label-orange:#ec5b00;--label-yellow:#e4c616;--label-purple:#8a3ffc;--label-blue:#2d9cdb;--label-green:#27ae60;--label-pink:#e0457b;--label-grey:#a0a0a8;--block-yellow:#f2c230;--block-orange:#f08a3e;--block-ink:#2b2300;--amber-300:#f9f1a5;--amber-700:#8a6a00;--teal-300:#7dd3c0;--teal-700:#1f7a6b;--red-300:#e5857c;--red-600:#b23a33;--red-700:#c42b1c;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-64:64px;--space-120:120px;--text-11:11px;--text-12:12px;--text-13:13px;--text-14:14px;--text-16:16px;--text-18:18px;--text-20:20px;--text-24:24px;--text-32:32px;--text-40:40px;--text-48:48px;--radius-marker:1.5px;--radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-10:10px;--radius-12:12px;--radius-full:999px;--hairline:1px;--tick-edge:1.5px;--focus-width:2px;--icon-12:12px;--icon-14:14px;--icon-16:16px;--icon-20:20px;--logo-20:20px;--avatar-16:16px;--avatar-24:24px;--avatar-button:36px;--dot-8:8px;--tick-size:18px;--tick-mark:10px;--badge-height:20px;--chip-height:26px;--thumb-size:56px;--bubble-image:160px;--row-height:28px;--row-height-small:24px;--button-height:30px;--control-height:32px;--table-row:40px;--page-top-height:44px;--titlebar-height:48px;--frame-strip:4px;--search-height:34px;--rail-width:68px;--rail-row:40px;--page-inset:clamp(24px, 6vw, 96px);--search-width:760px;--search-clearance:508px;--window-button-width:44px;--window-glyph:10px;--search-results-height:420px;--settings-width:900px;--settings-height:680px;--settings-nav-width:210px;--settings-input-width:280px;--assistant-width:380px;--suggested-width:760px;--ground-width:760px;--column-min:240px;--usage-name-width:120px;--usage-figure-width:140px;--spark-height:36px;--splash-mark:96px;--assistant-bubble:85%;--dialog-width:460px;--versions-width:720px;--versions-list-width:220px;--versions-height:340px;--versions-list-narrow:120px;--login-width:280px;--login-scale:1.25;--login-mark:56px;--select-width:320px;--bar-area:150px;--bar-width:56px;--share-height:14px;--week-height:96px;--scrollbar:12px;--scrollbar-inset:4px;--switch-width:36px;--switch-height:20px;--switch-knob:14px;--switch-inset:3px;--switch-travel:16px;--swatch-height:28px;--swatch-dot:16px;--send-size:28px;--measure:72ch;--note-width:708px;--note-gutter:34px;--note-handles-width:78px;--tab-width:220px;--tab-height:36px;--tab-flare:9px;--edge-soften:.5px;--section-panel-width:240px;--menu-width:200px;--stage-width:160px;--stage-drop:5px;--stage-blur:3px;--z-sticky:10;--z-dropdown:20;--z-overlay:40;--ease-out:cubic-bezier(.16, 1, .3, 1);--motion-fast:.12s;--motion-base:.18s;--motion-swap:.15s;--motion-draw:.9s;--font-ui:"Be Vietnam Pro", "Segoe UI", system-ui, sans-serif;--font-editor:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Helvetica, Arial, sans-serif;--font-note:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Helvetica, Arial, sans-serif;--font-note-title:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, Arial, sans-serif;--font-window:"Segoe Fluent Icons", "Segoe MDL2 Assets", sans-serif}:root[data-window=maximized]{--frame-strip:0px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--desk:var(--cool-40);--canvas:var(--cool-25);--card:var(--cool-0);--surface:var(--cool-100);--hover:var(--cool-50);--selected:var(--cool-125);--line:var(--cool-150);--line-strong:var(--cool-200);--ink:var(--cool-900);--ink2:var(--cool-700);--ink3:var(--cool-500);--tick-edge-colour:var(--label-grey);--accent:var(--indigo-500);--accent-hover:var(--indigo-400);--accent-text:var(--indigo-600);--accent-tint:var(--indigo-tint-light);--accent-ink:var(--cool-0);--danger:var(--red-600);--note-path:var(--amber-700);--heading-1:var(--indigo-600);--heading-2:var(--teal-700);--heading-3:var(--amber-700);--data-orange:var(--label-orange);--data-yellow:var(--label-yellow);--data-purple:var(--label-purple);--data-blue:var(--label-blue);--data-green:var(--label-green);--data-pink:var(--label-pink);--data-ink:var(--cool-0);--fill-yellow:var(--block-yellow);--fill-orange:var(--block-orange);--fill-text:var(--block-ink);--knob:var(--cool-0);--swatch-discovery:var(--indigo-500);--swatch-averic:var(--averic-ink);--swatch-horizon:var(--horizon-600);--card-shadow:0 1px 2px var(--shade-light-5), 0 1px 3px var(--shade-light-8);--float-shadow:0 12px 32px var(--shade-light-12);--scrim:var(--shade-scrim-light);--tab-flare-left:4px 4px 0 4px var(--cool-25);--tab-flare-right:-4px 4px 0 4px var(--cool-25);--window-close:var(--red-700)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--desk:var(--warm-975);--canvas:var(--warm-950);--card:var(--warm-925);--surface:var(--warm-875);--hover:var(--warm-900);--selected:var(--warm-835);--line:var(--warm-850);--line-strong:var(--warm-800);--ink:var(--warm-150);--ink2:var(--warm-400);--ink3:var(--warm-450);--tick-edge-colour:var(--warm-450);--accent:var(--indigo-400);--accent-hover:var(--indigo-300);--accent-text:var(--indigo-200);--accent-tint:var(--indigo-tint-dark);--accent-ink:var(--cool-0);--danger:var(--red-300);--note-path:var(--amber-300);--heading-1:var(--indigo-400);--heading-2:var(--teal-300);--heading-3:var(--amber-300);--knob:var(--warm-150);--swatch-discovery:var(--indigo-400);--swatch-averic:var(--averic-cream);--card-shadow:0 1px 2px var(--shade-dark-40);--float-shadow:0 12px 32px var(--shade-dark-55);--scrim:var(--shade-scrim-dark);--tab-flare-left:4px 4px 0 4px var(--warm-950);--tab-flare-right:-4px 4px 0 4px var(--warm-950)}:root[data-accent=averic]{--accent:var(--averic-ink);--accent-hover:var(--averic-ink-hover);--accent-text:var(--averic-ink);--accent-tint:var(--averic-tint-light);--accent-ink:var(--cool-0)}:root[data-accent=horizon]{--accent:var(--horizon-600);--accent-hover:var(--horizon-500);--accent-text:var(--horizon-700);--accent-tint:var(--horizon-tint-light);--accent-ink:var(--cool-0)}:root[data-theme=dark][data-accent=averic]{--accent:var(--averic-cream);--accent-hover:var(--averic-cream-hover);--accent-text:var(--averic-cream);--accent-tint:var(--averic-tint-dark);--accent-ink:var(--averic-ink)}:root[data-theme=dark][data-accent=horizon]{--accent:var(--horizon-600);--accent-hover:var(--horizon-500);--accent-text:var(--horizon-300);--accent-tint:var(--horizon-tint-dark);--accent-ink:var(--cool-0)}*{box-sizing:border-box}*,:before,:after{corner-shape:squircle}::-webkit-scrollbar{width:var(--scrollbar);height:var(--scrollbar);background:0 0}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-thumb{background:var(--tick-edge-colour);border:var(--scrollbar-inset) solid transparent;border-radius:var(--radius-full);corner-shape:round;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--ink3)}html,body{height:100%;margin:0;overflow:hidden}body{grid-template-rows:calc(var(--titlebar-height) - var(--frame-strip)) minmax(0, 1fr);background:var(--desk);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-13);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;grid-template-columns:minmax(0,1fr);line-height:1.45;display:grid}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.hidden{display:none!important}:focus-visible{outline:var(--focus-width) solid var(--accent-text);outline-offset:var(--space-2)}#titlebar{z-index:var(--z-dropdown);height:calc(var(--titlebar-height) - var(--frame-strip));app-region:drag;position:relative}.titlebar-left{height:var(--titlebar-height);margin-top:calc(var(--frame-strip) * -1);display:flex}.titlebar-cell{width:var(--rail-width);justify-content:center;align-items:center;display:flex}.search{top:calc((var(--titlebar-height) - var(--search-height)) / 2 - var(--frame-strip));left:calc(var(--rail-width) + (100% - var(--rail-width)) / 2);width:min(var(--search-width), calc(100% - var(--search-clearance)));align-items:center;gap:var(--space-8);height:var(--search-height);padding:0 var(--space-10);background:var(--card);border:var(--hairline) solid var(--line);border-radius:var(--radius-6);app-region:no-drag;display:flex;position:absolute;transform:translate(-50%)}.search:focus-within{border-color:var(--accent)}.search-icon{width:var(--icon-16);height:var(--icon-16);color:var(--ink3)}.search input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:none;flex:1}.search input::placeholder{color:var(--ink3)}.search-kbd{font-family:inherit;font-size:var(--text-12);color:var(--ink3);white-space:nowrap}#shell{min-height:0;display:flex}#sidebar{gap:var(--space-2);width:max-content;padding:var(--space-4) var(--space-10) 0;background:var(--desk);flex-direction:column;flex:none;display:flex;overflow:hidden auto}.nav{gap:var(--space-2);flex-direction:column;display:flex}.nav-text{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-foot{padding:var(--space-12) 0;gap:var(--space-2);background:var(--desk);flex-direction:column;margin-top:auto;display:flex;position:sticky;bottom:0}#sidebar.is-collapsed{width:var(--rail-width);padding-top:var(--space-2)}#sidebar.is-collapsed .nav{gap:var(--space-4)}#sidebar.is-collapsed .nav-label,#sidebar.is-collapsed #link-rows,#sidebar.is-collapsed .sync-status,#sidebar.is-collapsed .nav-count,#sidebar.is-collapsed .nav-text{display:none}#main{min-width:0;margin:0 var(--space-8) var(--space-8) 0;background:var(--canvas);border:var(--hairline) solid var(--line);border-radius:var(--radius-12);flex:1;overflow:auto}.page{flex-direction:column;min-height:100%;display:flex}.page-content{gap:var(--space-24);padding:var(--space-24) var(--space-24) var(--space-120);flex-direction:column;display:flex}.overlay{z-index:var(--z-overlay);padding:var(--space-24);background:var(--scrim);place-items:center;display:grid;position:fixed;inset:0}.settings-modal{grid-template-columns:var(--settings-nav-width) minmax(0, 1fr);width:min(var(--settings-width), 100%);height:min(var(--settings-height), 100%);background:var(--canvas);border:var(--hairline) solid var(--line);border-radius:var(--radius-12);box-shadow:var(--float-shadow);animation:rise var(--motion-base) var(--ease-out);display:grid;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(var(--space-4))}}.settings-nav{gap:var(--space-2);padding:var(--space-16) var(--space-10);background:var(--desk);border-right:var(--hairline) solid var(--line);flex-direction:column;display:flex;overflow:auto}.settings-content{padding:var(--space-24) var(--space-32) var(--space-32);position:relative;overflow:auto}.settings-page{grid-template-columns:var(--settings-nav-width) minmax(0, 1fr);min-height:var(--desk-min-height);display:grid}.settings-close{top:var(--space-12);right:var(--space-12);position:absolute}.settings-pane h2{margin:0 0 var(--space-4);font-size:var(--text-20);letter-spacing:-.015em;font-weight:700}.settings-sub{max-width:60ch;margin:0 0 var(--space-20);color:var(--ink3)}.set-row .field{width:var(--settings-input-width);flex:none}.set-actions{justify-content:flex-end;align-items:center;gap:var(--space-12);display:flex}.set-actions .field-note{margin-right:auto}:root{--tide-600:#0e7c7b;--tide-500:#15908f;--tide-300:#7fcfcb;--tide-tint-light:#e4f3f2;--tide-tint-dark:#1a2e2d;--moss-600:#3f7d4e;--moss-500:#4a9059;--moss-300:#8fcb9b;--moss-tint-light:#e6f1e8;--moss-tint-dark:#1e2e22;--moss-traffic:#2e9e4f;--amber-traffic:#f0a500;--red-traffic:#d7352b;--cool-950:#111;--light-green:var(--moss-traffic);--light-amber:var(--amber-traffic);--light-red:var(--red-traffic);--light-ink:var(--cool-0);--light-amber-ink:var(--block-ink);--amber-tint-light:#fbefdf;--amber-ink-light:#7a4a00;--amber-tint-dark:#3a2a14;--amber-ink-dark:#f2c27a;--carb:var(--label-orange);--protein:var(--label-blue);--fat:var(--label-yellow);--fibre:var(--label-green);--warn-tint:var(--amber-tint-light);--warn-ink:var(--amber-ink-light);--thumb-36:36px;--thumb-48:48px;--photo-ratio:4 / 3;--side-width:340px;--rail-column:220px;--popover-width:380px;--matrix-min-width:720px;--matrix-dish-width:230px;--matrix-head-height:112px;--label-scale:4px;--paper:var(--cool-0);--paper-ink:var(--cool-950);--grams-width:56px;--amount-width:80px;--stepper-width:28px;--find-height:48px;--food-card-min:200px;--food-photo-width:280px;--record-key-width:140px;--kcal-width:72px;--desk-min-height:420px;--inspector-field:120px;--notes-height:160px;--swatch-tide:var(--tide-600);--swatch-moss:var(--moss-600)}:root[data-theme=dark]{--warn-tint:var(--amber-tint-dark);--warn-ink:var(--amber-ink-dark)}:root[data-accent=tide]{--accent:var(--tide-600);--accent-hover:var(--tide-500);--accent-text:var(--tide-600);--accent-tint:var(--tide-tint-light);--accent-ink:var(--cool-0)}:root[data-theme=dark][data-accent=tide]{--accent:var(--tide-600);--accent-hover:var(--tide-500);--accent-text:var(--tide-300);--accent-tint:var(--tide-tint-dark);--accent-ink:var(--cool-0)}:root[data-accent=moss]{--accent:var(--moss-600);--accent-hover:var(--moss-500);--accent-text:var(--moss-600);--accent-tint:var(--moss-tint-light);--accent-ink:var(--cool-0)}:root[data-theme=dark][data-accent=moss]{--accent:var(--moss-600);--accent-hover:var(--moss-500);--accent-text:var(--moss-300);--accent-tint:var(--moss-tint-dark);--accent-ink:var(--cool-0)}.titlebar-cell.brand-mark{width:auto;padding:0 var(--space-4) 0 var(--space-16)}.wordmark{font-size:var(--text-16);letter-spacing:-.02em;color:var(--ink);font-weight:700;text-decoration:none}.workspace{top:0;right:var(--space-16);align-items:center;gap:var(--space-10);height:var(--titlebar-height);display:flex;position:absolute}.workspace-name{font-size:var(--text-13);color:var(--ink2);font-weight:500}.split{grid-template-columns:minmax(0, 1fr) var(--side-width);gap:var(--space-32);align-items:start;display:grid}.side{top:var(--space-24);gap:var(--space-16);flex-direction:column;display:flex;position:sticky}.sections{flex-direction:column;display:flex}.section{padding:var(--space-20) 0;border-top:var(--hairline) solid var(--line)}.section:first-child{border-top:0;padding-top:0}.section-head{align-items:baseline;gap:var(--space-8);margin-bottom:var(--space-10);font-size:var(--text-16);font-weight:700;display:flex}.section-head .button-ground,.section-head .check-line{margin-left:auto}.ingredient{grid-template-columns:var(--thumb-36) minmax(0, 1fr) auto auto;align-items:center;gap:var(--space-12);padding:var(--space-8);border-radius:var(--radius-6);cursor:pointer;display:grid}.ingredient:hover{background:var(--hover)}.ingredient.is-open{background:var(--hover);border-radius:var(--radius-6) var(--radius-6) 0 0}.thumb{width:var(--thumb-36);height:var(--thumb-36);border-radius:var(--radius-full);corner-shape:round;object-fit:cover;background:var(--surface)}.thumb.thumb-48{width:var(--thumb-48);height:var(--thumb-48);border-radius:var(--radius-6)}.ingredient-name{flex-direction:column;min-width:0;display:flex}.ingredient-name b{font-weight:600}.contains{font-size:var(--text-12);color:var(--ink2)}.contains b{color:var(--ink);font-weight:700}.grams{text-align:right;min-width:var(--grams-width);font-weight:600}.handle{color:var(--ink3);opacity:0}.ingredient:hover .handle{opacity:1}.portion-panel{gap:var(--space-12);padding:var(--space-12) var(--space-14) var(--space-14);margin-bottom:var(--space-4);background:var(--hover);border-radius:0 0 var(--radius-6) var(--radius-6);flex-direction:column;display:flex}.portion-tiles{gap:var(--space-8);flex-wrap:wrap;display:flex}.portion-row{align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.portion-row input{width:var(--amount-width)}.add-row{align-items:center;gap:var(--space-10);padding:var(--space-8);color:var(--ink3);border-radius:var(--radius-6);cursor:pointer;display:flex}.add-row:hover{background:var(--hover);color:var(--ink2)}.add-row .thumb{place-items:center;display:grid}.serves-row{align-items:center;gap:var(--space-24);flex-wrap:wrap;display:flex}.stepper{align-items:center;gap:var(--space-4);display:inline-flex}.stepper b{min-width:var(--stepper-width);text-align:center;font-size:var(--text-16)}.steps{padding-left:var(--space-20);gap:var(--space-6);font-size:var(--text-14);color:var(--ink);flex-direction:column;margin:0;display:flex}.check-line{align-items:center;gap:var(--space-8);font-size:var(--text-13);color:var(--ink2);display:inline-flex}.chips{gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.warn{align-items:center;gap:var(--space-10);padding:var(--space-10) var(--space-14);border-radius:var(--radius-6);background:var(--warn-tint);color:var(--warn-ink);font-weight:500;display:flex}.list-preview{font-size:var(--text-13);color:var(--ink2);margin:0;line-height:1.55}.list-preview b{color:var(--ink)}.declaration td:first-child{font-weight:500}.declaration .sub{padding-left:var(--space-24);color:var(--ink2);font-weight:400}.declaration .ri{color:var(--ink3)}.lights{gap:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.light{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border-radius:var(--radius-4);color:var(--light-ink);font-size:var(--text-11);text-align:center;flex-direction:column;font-weight:600;display:flex}.light b{font-size:var(--text-13)}.light.is-low{background:var(--light-green)}.light.is-medium{background:var(--light-amber);color:var(--light-amber-ink)}.light.is-high{background:var(--light-red)}.share .is-carb{background:var(--carb)}.share .is-protein{background:var(--protein)}.share .is-fat{background:var(--fat)}.share .is-fibre{background:var(--fibre)}.find-box{align-items:center;gap:var(--space-10);height:var(--find-height);padding:0 var(--space-14);background:var(--card);border-radius:var(--radius-8);box-shadow:var(--card-shadow);color:var(--ink3);display:flex}.find-box input{font-size:var(--text-14);color:var(--ink);background:0 0;border:0;outline:none;flex:1}.grid{grid-template-columns:repeat(auto-fill, minmax(var(--food-card-min), 1fr));gap:var(--space-16);display:grid}.food-card{cursor:pointer;padding:0;position:relative;overflow:hidden}.food-card:hover{background:var(--card)}.food-photo{width:100%;aspect-ratio:var(--photo-ratio);object-fit:cover;background:var(--surface);display:block}.food-body{gap:var(--space-6);padding:var(--space-10) var(--space-12) var(--space-12);flex-direction:column;display:flex}.food-name{font-weight:600;line-height:1.3}.food-figure{font-size:var(--text-12);color:var(--ink3)}.food-figure b{font-size:var(--text-14);color:var(--ink);margin-right:var(--space-2)}.food-card .button{top:var(--space-8);right:var(--space-8);opacity:0;transition:opacity var(--motion-fast) var(--ease-out);position:absolute}.food-card:hover .button{opacity:1}.share.share-small{height:var(--space-6)}.adding{align-items:center;gap:var(--space-8);display:inline-flex}.food-hero{grid-template-columns:var(--food-photo-width) minmax(0, 1fr);gap:var(--space-24);align-items:start;display:grid}.food-hero .food-photo{border-radius:var(--radius-6)}.record{flex-direction:column;display:flex}.record-row{grid-template-columns:var(--record-key-width) minmax(0, 1fr);gap:var(--space-12);min-height:var(--control-height);padding:var(--space-4) 0;align-items:center;display:grid}.record-row+.record-row{border-top:var(--hairline) solid var(--line)}.record-key{font-size:var(--text-12);color:var(--ink3);font-weight:500}.record-value{font-weight:500}.record-value .soft{margin-left:var(--space-6)}.side .set-label{white-space:nowrap}.side .set-row .field{flex:1;width:auto;min-width:0}.person{align-items:center;gap:var(--space-12);display:flex}.initial{width:var(--space-40);height:var(--space-40);border-radius:var(--radius-full);corner-shape:round;background:var(--accent-tint);color:var(--accent-text);font-weight:700;font-size:var(--text-16);place-items:center;display:grid}.initial.initial-small{width:var(--space-24);height:var(--space-24);font-size:var(--text-12)}.requirement{gap:var(--space-4);flex-direction:column;display:flex}.requirement-head{justify-content:space-between;align-items:baseline;gap:var(--space-8);font-size:var(--text-13);display:flex}.requirement-head b{font-size:var(--text-14)}.requirement-head .name{color:var(--ink2);font-weight:500}.track{height:var(--space-6);border-radius:var(--radius-full);corner-shape:round;background:var(--surface);overflow:hidden}.track-fill{border-radius:var(--radius-full);corner-shape:round;background:var(--accent);height:100%}.track-fill.is-carb{background:var(--carb)}.track-fill.is-protein{background:var(--protein)}.track-fill.is-fat{background:var(--fat)}.track-fill.is-fibre{background:var(--fibre)}.track-fill.is-out{background:var(--danger)}.sum-line{font-size:var(--text-12);color:var(--ink3)}.plan-row{grid-template-columns:var(--thumb-36) minmax(0, 1fr) auto auto;align-items:center;gap:var(--space-12);padding:var(--space-8);border-radius:var(--radius-6);display:grid}.plan-row:hover{background:var(--hover)}.plan-row .grams{min-width:var(--kcal-width)}.monitors{gap:var(--space-12);flex-direction:column;display:flex}.designer{grid-template-columns:var(--rail-column) minmax(0, 1fr) var(--side-width);gap:var(--space-24);align-items:start;display:grid}.elements{gap:var(--space-2);flex-direction:column;display:flex}.stage{gap:var(--space-12);flex-direction:column;display:flex}.stage-top{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.stage-top .dropdown-button{max-width:none}.desk{min-height:var(--desk-min-height);padding:var(--space-32);background:var(--desk);border-radius:var(--radius-8);place-items:center;display:grid}.paper{background:var(--paper);color:var(--paper-ink);box-shadow:var(--float-shadow);font-family:var(--font-ui);position:relative;overflow:hidden}.paper-element{cursor:pointer;line-height:1.15;position:absolute;overflow:hidden}.paper-element.is-current{outline:var(--focus-width) solid var(--accent);outline-offset:0}.paper-element:hover:not(.is-current){outline:var(--hairline) solid var(--accent)}.paper .qr{width:100%;height:100%;display:block}.stage-foot{justify-content:center;align-items:center;gap:var(--space-8);font-size:var(--text-12);color:var(--ink3);display:flex}.inspector{gap:var(--space-4);flex-direction:column;display:flex}.inspector .set-row .field{width:var(--inspector-field)}.inspector .view-toggle button{padding:0 var(--space-8)}.ghost{height:var(--space-12);border-radius:var(--radius-4);background:var(--surface);display:inline-block}.empty-state{align-items:center;gap:var(--space-8);padding:var(--space-40) 0;text-align:center;flex-direction:column;display:flex}.empty-state h2{margin:var(--space-8) 0 0;font-size:var(--text-18)}.empty-state p{max-width:46ch;color:var(--ink3);margin:0}.table .name-cell .thumb{width:var(--space-24);height:var(--space-24)}.table tr[data-open]{cursor:pointer}@media (width<=68em){.split,.designer{grid-template-columns:minmax(0,1fr)}.side{position:static}.food-hero{grid-template-columns:minmax(0,1fr)}}.notes{width:100%;min-height:var(--notes-height);resize:vertical;color:var(--ink);font-size:var(--text-14);background:0 0;border:0;outline:none;line-height:1.6}.row-actions{align-items:center;gap:var(--space-8);display:inline-flex}.a4{page:matrix;padding:var(--space-24);gap:var(--space-12);background:var(--paper);color:var(--paper-ink);border-radius:var(--radius-6);box-shadow:var(--card-shadow);flex-direction:column;display:flex}.a4-head{font-size:var(--text-16);justify-content:space-between;align-items:baseline;display:flex}.a4-head span{font-size:var(--text-13)}.a4 .table th,.a4 .table td{color:var(--paper-ink);border-color:color-mix(in srgb, var(--paper-ink) 15%, transparent)}.matrix{table-layout:fixed}.matrix th:first-child,.matrix td:first-child{width:var(--matrix-dish-width)}.matrix th.rot{height:var(--matrix-head-height);padding:0 0 var(--space-8);vertical-align:bottom;text-align:center}.matrix th.rot span{writing-mode:vertical-rl;white-space:nowrap;font-size:var(--text-12);display:inline-block;transform:rotate(180deg)}.matrix td.cell{text-align:center}.matrix td .badge{margin-left:var(--space-8)}.dot{box-sizing:border-box;width:var(--space-12);height:var(--space-12);border-radius:var(--radius-full);corner-shape:round;background:var(--paper-ink);display:inline-block}.dot.is-may{border:var(--focus-width) solid var(--paper-ink);background:0 0}.a4-foot{align-items:center;gap:var(--space-16);font-size:var(--text-12);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:var(--space-6);display:inline-flex}.a4-note{margin-left:auto}.print-preview{padding:var(--space-12);background:var(--desk);border-radius:var(--radius-6);place-items:center;display:grid}.print-preview img{background:var(--paper);max-width:100%;height:auto}@page matrix{size:A4 landscape;margin:12mm}@media print{body.print-matrix #titlebar,body.print-matrix #sidebar,body.print-matrix .no-print,body.print-matrix .page-head{display:none!important}body.print-matrix #main{margin:0;padding:0}}.dropzone{border:var(--focus-width) dashed var(--line-strong);box-shadow:none}.day-tabs{justify-content:space-between;align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.totals td{font-weight:600}.plan-head-wrap{position:relative}.pop{z-index:20;top:calc(100% + var(--space-4));width:var(--popover-width);gap:var(--space-8);box-shadow:var(--float-shadow);flex-direction:column;display:flex;position:absolute;right:0}.pop .card-head{justify-content:space-between;align-items:center;display:flex}.pop .set-row .field{flex:1;width:auto;min-width:0}:root{--tabbar-height:56px;--tab-icon:22px;--thumb-44:44px;--camera-min:240px;--bracket:28px;--sheet-radius:16px;--sheet-handle:36px;--record-key-phone:104px;--camera:var(--warm-975);--camera-ink:var(--warm-150);--camera-dim:var(--shade-dark-55)}#root{display:contents}.phone-only{display:none}.phone-figures{gap:var(--space-12);flex-direction:column}@media (width<=40em){body{grid-template-rows:var(--titlebar-height) minmax(0, 1fr) auto auto}#titlebar .titlebar-cell:not(.brand-mark),.search,.workspace-name,#sidebar{display:none}.workspace{right:var(--space-8)}#main{border:0;border-radius:0;margin:0}.page-content{gap:var(--space-20);padding:var(--space-4) var(--space-16) var(--space-40)}.page-head{gap:var(--space-8)}.page-head h1{line-height:1.25}.page-head .soft{margin-left:0;display:block}.page-actions{flex-wrap:wrap;width:100%;margin-left:0}.has-foot .page-actions .button:not(.button-quiet):not(.button-row){display:none}.phone-only{display:flex}.desktop-only{display:none}.split{gap:var(--space-20);flex-direction:column;display:flex}.side{position:static}.split-client .side,.split-plan .side{order:-1}.designer,.food-hero{grid-template-columns:minmax(0,1fr)}.grid{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr))}.food-card .button{opacity:1}.ingredient{grid-template-columns:var(--thumb-36) minmax(0, 1fr) auto}.ingredient>:nth-child(3){grid-area:2/2}.ingredient .grams{grid-area:1/3}.record-row{grid-template-columns:var(--record-key-phone) minmax(0, 1fr)}.field-row{flex-wrap:wrap}.serves-row{gap:var(--space-12)}.warn{flex-wrap:wrap}.settings-page{grid-template-columns:minmax(0,1fr)}.settings-nav{padding:var(--space-12) var(--space-16);border-right:0;border-bottom:var(--hairline) solid var(--line);flex-flow:wrap}.settings-nav>div{display:contents}.settings-nav-label{display:none}.settings-nav .nav-row{width:auto}.settings-content{padding:var(--space-16) var(--space-16) var(--space-40)}.set-row{flex-wrap:wrap}.set-row .field,.set-row>.select{width:100%;max-width:100%}.table-card,.a4{overflow-x:auto}.matrix{min-width:var(--matrix-min-width)}.view-toggle{max-width:100%;overflow-x:auto}.view-toggle button,.view-toggle a{white-space:nowrap;flex:none}.pop{width:auto;left:0;right:0}}.icon{width:var(--icon-16);height:var(--icon-16);fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon.icon-filled{fill:currentColor}.button{justify-content:center;align-items:center;gap:var(--space-6);height:var(--button-height);padding:0 var(--space-12);border:var(--hairline) solid var(--accent);border-radius:var(--radius-6);background:var(--accent);color:var(--accent-ink);font-size:var(--text-13);white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button:active{transform:translateY(var(--hairline))}.button:disabled{opacity:.55;cursor:default}.button.button-quiet{background:var(--card);border-color:var(--line);color:var(--ink)}.button.button-quiet:hover{background:var(--hover)}.button.button-row{height:var(--row-height-small);padding:0 var(--space-8);font-size:var(--text-12)}.button-ground{padding:var(--space-2) var(--space-6);border-radius:var(--radius-4);cursor:pointer;font-size:var(--text-13);color:var(--ink3);background:0 0;border:0;font-weight:500;text-decoration:none}.button-ground:hover{background:var(--hover);color:var(--ink)}.icon-button{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-6);cursor:pointer;color:var(--ink2);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--hover);color:var(--ink)}.icon-button:disabled{opacity:.4;cursor:default}.icon-button.is-on,.icon-button.is-filtering{color:var(--accent-text)}.icon-button.is-on .icon{fill:currentColor}.icon-button.icon-button-small{width:var(--badge-height);height:var(--badge-height);border-radius:var(--radius-4);color:var(--ink3)}.icon-button.icon-button-small .icon{width:var(--icon-12);height:var(--icon-12)}.icon-button.icon-button-small:hover{background:var(--surface)}.icon-button.icon-button-floating{background:var(--card);box-shadow:var(--card-shadow)}.send{width:var(--send-size);height:var(--send-size);border-radius:var(--radius-6);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.send:hover{background:var(--accent-hover)}.send:disabled{opacity:.4;cursor:default}.send .icon{width:var(--icon-14);height:var(--icon-14);stroke-width:2px}.nav-row{align-items:center;gap:var(--space-10);width:100%;height:var(--control-height);padding:0 var(--space-10);border-radius:var(--radius-6);color:var(--ink2);font-size:var(--text-13);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:0;font-weight:500;text-decoration:none;display:flex}.nav-row:hover{background:var(--hover);color:var(--ink)}.nav-row.is-current{background:var(--card);color:var(--ink);box-shadow:var(--card-shadow);font-weight:600}.nav-row.is-current .icon{color:var(--accent-text)}.crumb .icon{color:var(--ink2)}.nav-row .icon,.nav-row .logo{width:var(--icon-16);height:var(--icon-16)}#sidebar.is-collapsed .nav-row{height:var(--rail-row);justify-content:center;padding:0}#sidebar.is-collapsed .nav-row .icon{width:var(--icon-20);height:var(--icon-20)}.nav-label{width:100%;margin:var(--space-16) 0 var(--space-4);padding:0 var(--space-10);text-align:left;font-size:var(--text-12);color:var(--ink3);background:0 0;border:0;font-weight:600;display:block}.nav-label:hover{color:var(--ink2)}.nav-count{font-size:var(--text-12);color:var(--ink3);margin-left:auto;font-weight:400}.page-head{align-items:baseline;gap:var(--space-12);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--text-20);letter-spacing:-.015em;margin:0;font-weight:700}.page-actions{align-items:center;gap:var(--space-8);align-self:center;margin-left:auto;display:flex}.soft{color:var(--ink3);font-weight:500}.page-head .soft,.column-head .soft,.card-head .soft{margin-left:var(--space-6)}.today{color:var(--accent-text);font-size:var(--text-12);font-weight:600}.lede{max-width:80ch;font-size:var(--text-14);color:var(--ink2);margin:0}.lede strong{color:var(--ink);font-weight:600}.figures{gap:var(--space-8) var(--space-24);flex-wrap:wrap;display:flex}.figure{font-size:var(--text-14);color:var(--ink3)}.figure b{margin-right:var(--space-4);font-size:var(--text-18);letter-spacing:-.01em;color:var(--ink);font-weight:700}.column-head{align-items:center;gap:var(--space-8);margin:0 0 var(--space-2);font-size:var(--text-18);letter-spacing:-.01em;font-weight:700;display:flex}.column-head .badge{margin-left:auto}.card{gap:var(--space-10);min-width:0;padding:var(--space-12) var(--space-14);background:var(--card);border-radius:var(--radius-6);box-shadow:var(--card-shadow);flex-direction:column;display:flex}.card-head{align-items:baseline;gap:var(--space-6);font-size:var(--text-14);margin:0;font-weight:700;display:flex}.card-head .badge{margin-left:auto;font-weight:500}.card-top{align-items:flex-start;gap:var(--space-10);display:flex}.card-title{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:1}.card-foot{align-items:center;gap:var(--space-8);font-size:var(--text-12);color:var(--ink3);display:flex}.card-foot .label{margin-left:auto}.card-body{gap:var(--space-8);flex-direction:column;display:flex}button.card{text-align:left;cursor:pointer;border:0}button.card:hover{background:var(--hover)}.card.card-clickable{cursor:pointer}.card.card-clickable:hover{background:var(--hover)}.slot-empty{padding:var(--space-20);text-align:center;color:var(--ink3);border:var(--hairline) dashed var(--line);border-radius:var(--radius-6)}.badge{height:var(--badge-height);padding:0 var(--space-6);border-radius:var(--radius-4);background:var(--surface);color:var(--ink2);font-size:var(--text-12);white-space:nowrap;align-items:center;display:inline-flex}.label{align-items:center;gap:var(--space-6);color:var(--ink2);font-size:var(--text-12);white-space:nowrap;display:inline-flex}.label-dot{width:var(--dot-8);height:var(--dot-8);border-radius:var(--radius-full);corner-shape:round;flex:none}.check{width:var(--tick-size);height:var(--tick-size);margin-top:var(--hairline);border:var(--tick-edge) solid var(--tick-edge-colour);border-radius:var(--radius-full);corner-shape:round;cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;display:grid}span.check{cursor:default}.check.is-on{background:var(--accent);border-color:var(--accent)}.check.is-on:after{content:"";width:var(--tick-mark);height:var(--tick-mark);background:var(--accent-ink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2.2 5.3 4.1 7.1 7.8 3.1' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2.2 5.3 4.1 7.1 7.8 3.1' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.check-input{appearance:none;width:var(--tick-size);height:var(--tick-size);margin:var(--hairline) 0 0;border:var(--tick-edge) solid var(--tick-edge-colour);border-radius:var(--radius-full);corner-shape:round;cursor:pointer;background:0 0;flex:none;place-items:center;display:inline-grid}.check-input:checked{background:var(--accent);border-color:var(--accent)}.check-input:checked:after{content:"";width:var(--tick-mark);height:var(--tick-mark);background:var(--accent-ink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2.2 5.3 4.1 7.1 7.8 3.1' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2.2 5.3 4.1 7.1 7.8 3.1' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.stage-slot{min-width:var(--stage-width);height:var(--row-height);font-size:var(--text-13);align-items:center;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.stage-phase{white-space:nowrap;position:absolute;top:50%;right:0;transform:translateY(-50%)}.stage-phase.is-in{animation:stage-in .32s var(--ease-out) both}.stage-phase.is-out{animation:stage-out .26s var(--ease-out) both}@keyframes stage-in{0%{opacity:0;transform:translateY(calc(-50% - var(--stage-drop)));filter:blur(var(--stage-blur))}to{opacity:1;filter:blur();transform:translateY(-50%)}}@keyframes stage-out{0%{opacity:1;filter:blur();transform:translateY(-50%)}to{opacity:0;transform:translateY(calc(-50% + var(--stage-drop)));filter:blur(var(--stage-blur))}}.stage-words{background-image:linear-gradient(100deg, var(--ink3) 0%, var(--ink3) 42%, var(--ink) 50%, var(--ink3) 58%, var(--ink3) 100%);color:#0000;background-repeat:no-repeat;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:.95s cubic-bezier(.4,0,.6,1) infinite stage-shimmer}@keyframes stage-shimmer{0%{background-position:100% 0}58%{background-position:0 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.stage-words{color:var(--ink3);background-image:none;animation:none}}.app-mark{width:var(--logo-20);height:var(--logo-20);fill:currentColor;color:var(--ink);flex:none}.chip{align-items:center;gap:var(--space-6);height:var(--chip-height);padding:0 var(--space-8);border:var(--hairline) solid var(--line);border-radius:var(--radius-6);background:var(--card);font-size:var(--text-12);color:var(--ink2);white-space:nowrap;cursor:pointer;font-weight:500;display:inline-flex;position:relative}.chip:hover{background:var(--hover);color:var(--ink)}.chip .icon{width:var(--icon-12);height:var(--icon-12)}.chip.chip-round{padding:0 var(--space-10);border-radius:var(--radius-full);corner-shape:round}.chip input{width:var(--hairline);height:var(--hairline);opacity:0;pointer-events:none;position:absolute}.chip.is-on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-text)}.chip:has(input:checked){background:var(--accent-tint);border-color:var(--accent);color:var(--accent-text)}.chip:has(input:focus-visible){outline:var(--focus-width) solid var(--accent-text);outline-offset:var(--space-2)}.logo{width:var(--logo-20);height:var(--logo-20);border-radius:var(--radius-4);object-fit:contain;flex:none}.logo-initial{background:var(--surface);color:var(--ink2);font-size:var(--text-12);place-items:center;font-weight:600;display:inline-grid}.name-cell{align-items:center;gap:var(--space-10);font-weight:500;display:flex}.view-toggle{align-items:center;gap:var(--space-4);display:inline-flex}.view-toggle button,.view-toggle a{height:var(--button-height);padding:0 var(--space-12);border-radius:var(--radius-6);cursor:pointer;font-size:var(--text-13);color:var(--ink3);transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:0;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.view-toggle button:hover,.view-toggle a:hover{color:var(--ink2)}.view-toggle button.is-current,.view-toggle a.is-current{background:var(--card);color:var(--ink);box-shadow:var(--card-shadow)}.table-card{background:var(--card);border-radius:var(--radius-6);box-shadow:var(--card-shadow);overflow:hidden}.table{border-collapse:collapse;width:100%}.table th,.table td{height:var(--table-row);padding:0 var(--space-14);text-align:left;white-space:nowrap}.table th{font-size:var(--text-12);color:var(--ink3);border-bottom:var(--hairline) solid var(--line);font-weight:600}.table tbody tr+tr td{border-top:var(--hairline) solid var(--line)}.table tbody tr:hover td{background:var(--hover)}.table tfoot td{border-top:var(--hairline) solid var(--line);font-size:var(--text-12);color:var(--ink3)}.table .right{text-align:right}.table-empty td{color:var(--ink3);white-space:normal}.table tbody tr.table-empty:hover td{background:0 0}.db-new-row{align-items:center;gap:var(--space-6);width:100%;height:var(--table-row);padding:0 var(--space-14);border:0;border-top:var(--hairline) solid var(--line);cursor:pointer;color:var(--ink3);text-align:left;background:0 0;display:flex}.db-new-row:hover{background:var(--hover);color:var(--ink2)}.ground-head{align-items:baseline;gap:var(--space-8);margin:0 0 var(--space-8);font-size:var(--text-16);font-weight:700;display:flex}.ground-head .soft{font-size:var(--text-13)}.ground-item{align-items:flex-start;gap:var(--space-10);padding:var(--space-8);border-radius:var(--radius-6);display:flex}.ground-item:hover{background:var(--hover)}.ground-item.is-done .ground-text{color:var(--ink3);text-decoration:line-through}.ground-item code,.lede code{padding:0 var(--space-4);border-radius:var(--radius-4);background:var(--surface)}.chart{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart-fill{fill:var(--accent);opacity:.1}.chart-ceiling{stroke:var(--data-orange);stroke-width:1.5px;stroke-dasharray:5 4}.chart-axis{font-size:var(--text-12);color:var(--ink3);justify-content:space-between;display:flex}.chart-empty{color:var(--ink3);margin:0}.bars{align-items:flex-end;gap:var(--space-12);height:var(--bar-area);padding-top:var(--space-8);display:flex}.bar-column{justify-content:flex-end;align-items:center;gap:var(--space-4);flex-direction:column;flex:1;height:100%;display:flex}.bar{width:100%;max-width:var(--bar-width);border-radius:var(--radius-4) var(--radius-4) 0 0;background:var(--accent)}.bar-label{font-size:var(--text-12);color:var(--ink3)}.bar-value{font-size:var(--text-12);font-weight:600}.share{gap:var(--space-2);height:var(--share-height);border-radius:var(--radius-4);display:flex;overflow:hidden}.legend{gap:var(--space-8);flex-direction:column;display:flex}.legend-row{align-items:center;gap:var(--space-8);display:flex}.legend-row>:last-child{margin-left:auto;font-weight:600}.hero-row{align-items:baseline;gap:var(--space-8) var(--space-12);flex-wrap:wrap;display:flex}.hero-figure{font-size:var(--text-48);letter-spacing:-.02em;color:var(--ink);font-weight:700;line-height:1}.hero-note{font-size:var(--text-13);color:var(--ink3)}.chart-frame{gap:var(--space-6);border-radius:var(--radius-4);flex-direction:column;display:flex;position:relative}.chart-frame:focus-visible{outline:var(--focus-width) solid var(--accent-text);outline-offset:var(--space-4)}.chart-glow-top{stop-color:var(--accent);stop-opacity:.24}.chart-glow-bottom{stop-color:var(--accent);stop-opacity:0}.chart-line-quiet{fill:none;stroke:var(--ink3);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--accent);stroke:var(--card);stroke-width:2px}.chart-dot-quiet{fill:var(--ink3);stroke:var(--card);stroke-width:2px}.chart-cursor{stroke:var(--line-strong);stroke-width:1px}.chart-draw{stroke-dasharray:1;animation:chart-draw var(--motion-draw) var(--ease-out)}.chart-rise{animation:chart-rise var(--motion-draw) var(--ease-out)}@keyframes chart-draw{0%{stroke-dashoffset:1px}}@keyframes chart-rise{0%{opacity:0}}.chart-tip{gap:var(--space-4);padding:var(--space-8) var(--space-10);border-radius:var(--radius-6);background:var(--card);box-shadow:var(--float-shadow);pointer-events:none;font-size:var(--text-12);color:var(--ink2);white-space:nowrap;transform:translateX(var(--space-12));flex-direction:column;display:flex;position:absolute;top:0}.chart-tip-left{transform:translateX(calc(-100% - var(--space-12)))}.chart-tip-month{color:var(--ink2);font-weight:600}.chart-tip-row{align-items:center;gap:var(--space-6);display:flex}.chart-tip-value{font-size:var(--text-13);color:var(--ink);font-weight:700}.chart-key{gap:var(--space-12);font-size:var(--text-12);color:var(--ink2);margin-left:auto;font-weight:500;display:inline-flex}.chart-key-item{align-items:center;gap:var(--space-6);display:inline-flex}.chart-key-line{width:var(--space-12);height:var(--space-2);border-radius:var(--radius-full);corner-shape:round;background:var(--accent)}.chart-key-quiet{background:var(--ink3)}.chart-table summary{cursor:pointer;font-size:var(--text-13);color:var(--ink3)}.chart-table summary:hover{color:var(--ink2)}.chart-table .table{margin-top:var(--space-8)}.figure-loss b{color:var(--danger)}.timeline{gap:var(--space-6);grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.week{gap:var(--space-4);min-height:var(--week-height);padding-top:var(--space-6);border-top:var(--hairline) solid var(--line);flex-direction:column;display:flex}.week-label{font-size:var(--text-12);color:var(--ink3)}.block{padding:var(--space-6) var(--space-8);border-radius:var(--radius-4);background:var(--fill-yellow);color:var(--fill-text);font-size:var(--text-12);font-weight:600;line-height:1.3}.block-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.block small{font-weight:500;display:block}.block.block-orange{background:var(--fill-orange)}.block.block-accent{background:var(--accent);color:var(--accent-ink)}.block.block-blue{background:var(--data-blue);color:var(--fill-text)}.set-group{margin-bottom:var(--space-16);background:var(--card);border-radius:var(--radius-6);box-shadow:var(--card-shadow)}.set-group-title{margin:var(--space-4) 0 var(--space-8);font-weight:700}.set-row{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-14);display:flex}.set-row+.set-row{border-top:var(--hairline) solid var(--line)}.set-row.set-row-stack{flex-direction:column;align-items:stretch}.set-label{font-weight:600}.set-desc{max-width:60ch;margin-top:var(--space-2);font-size:var(--text-12);color:var(--ink3);overflow-wrap:anywhere}.settings-nav-label{margin:var(--space-12) 0 var(--space-4);padding:0 var(--space-10);font-size:var(--text-12);color:var(--ink3);font-weight:600}.settings-nav-label:first-child{margin-top:0}.switch{width:var(--switch-width);height:var(--switch-height);flex:none;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch-track{pointer-events:none;border-radius:var(--radius-full);corner-shape:round;background:var(--line-strong);transition:background var(--motion-fast) var(--ease-out);position:absolute;inset:0}.switch-track:before{content:"";top:var(--switch-inset);left:var(--switch-inset);width:var(--switch-knob);height:var(--switch-knob);border-radius:var(--radius-full);corner-shape:round;background:var(--knob);box-shadow:var(--card-shadow);transition:transform var(--motion-fast) var(--ease-out);position:absolute}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:before{background:var(--accent-ink);transform:translateX(var(--switch-travel))}.switch input:focus-visible+.switch-track{outline:var(--focus-width) solid var(--accent-text);outline-offset:var(--space-2)}.swatch{align-items:center;gap:var(--space-6);height:var(--swatch-height);padding:0 var(--space-10) 0 var(--space-6);border:var(--hairline) solid var(--line);border-radius:var(--radius-6);background:var(--card);font-size:var(--text-12);color:var(--ink2);cursor:pointer;font-weight:500;display:inline-flex}.swatch:hover{background:var(--hover)}.swatch.is-current{border-color:var(--ink);color:var(--ink)}.swatch-dot{width:var(--swatch-dot);height:var(--swatch-dot);border-radius:var(--radius-full);corner-shape:round}.nav-row:focus-visible,.note-tab-open:focus-visible,.note-tab-new:focus-visible,.board .card:focus-visible,.db-new-row:focus-visible{outline-offset:calc(var(--focus-width) * -1)}.field{gap:var(--space-4);padding:var(--space-12) 0 0;flex-direction:column;display:flex}.set-row .field{padding:0}.field-row{gap:var(--space-12);align-items:flex-end;display:flex}.field-row .field{flex:1}.field-label{font-size:var(--text-12);color:var(--ink2);font-weight:600}.field input:not([type=checkbox]),.field select,.field .dropdown-button:not(.select-quiet),.select{height:var(--button-height);padding:0 var(--space-10);background:var(--card);color:var(--ink);border:var(--hairline) solid var(--line);border-radius:var(--radius-6);outline:none}.field input:not([type=checkbox]):focus,.field select:focus,.field .dropdown-button:not(.select-quiet):focus,.select:focus{border-color:var(--accent)}.field.field-invalid input{border-color:var(--danger)}.field-note{padding:var(--space-12) 0 0;font-size:var(--text-12);color:var(--ink3);margin:0;line-height:1.5}.set-actions .field-note{padding:0}.field-error{color:var(--danger)}.select-quiet{max-width:var(--select-width);height:var(--row-height);padding:0 var(--space-6);border-radius:var(--radius-6);color:var(--ink);cursor:pointer;background:0 0;border:0;outline:none}.select-quiet:hover{background:var(--hover)}.dropdown-native{display:none}.dropdown-button{justify-content:space-between;align-items:center;gap:var(--space-8);cursor:pointer;text-align:left;display:inline-flex}.dropdown-button.select-quiet{padding:0 var(--space-6)}.dropdown-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-chevron{width:var(--icon-14);height:var(--icon-14);color:var(--ink3);flex:none}.dropdown-button.is-open{border-color:var(--accent);border-bottom-right-radius:0;border-bottom-left-radius:0}.dropdown-list{z-index:var(--z-overlay);padding:var(--space-4);background:var(--card);border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-8);font-size:var(--text-13);outline:none;position:fixed;overflow-y:auto}.dropdown-list.is-joined{border-color:var(--accent);border-top-color:var(--line);border-top-left-radius:0;border-top-right-radius:0}.dropdown-item{height:var(--row-height);padding:0 var(--space-8);border-radius:var(--radius-4);color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;display:flex}.dropdown-item.is-active{background:var(--hover)}.dropdown-item[aria-selected=true]{color:var(--accent-text);font-weight:600}.text-menu{z-index:var(--z-overlay);min-width:var(--menu-width);padding:var(--space-4);background:var(--canvas);border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-8);font-size:var(--text-13);position:fixed}.text-menu-item{justify-content:space-between;align-items:center;gap:var(--space-24);width:100%;height:var(--row-height);padding:0 var(--space-8);border-radius:var(--radius-4);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.text-menu-item:hover:not(:disabled){background:var(--hover)}.text-menu-item:disabled{color:var(--ink3);cursor:default}.text-menu-item[aria-selected=true]{background:var(--selected)}.text-menu-keys{color:var(--ink3);font-size:var(--text-12)}.text-menu-divider{height:var(--hairline);margin:var(--space-4) var(--space-8);background:var(--line)}.version-preview{padding:var(--space-12) var(--space-14);background:var(--card);border-radius:var(--radius-6);box-shadow:var(--card-shadow);color:var(--ink2);font-family:var(--font-note);font-size:var(--text-13);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;overflow-y:auto}.tooltip{z-index:var(--z-overlay);padding:var(--space-4) var(--space-8);background:var(--canvas);border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-8);color:var(--ink);font-size:var(--text-13);max-width:calc(100vw - var(--space-16));pointer-events:none;opacity:0;transition:opacity var(--motion-base) ease;position:fixed}.tooltip.is-on{opacity:1}dialog{width:min(var(--dialog-width), 92vw);background:var(--canvas);color:var(--ink);border:var(--hairline) solid var(--line);border-radius:var(--radius-12);box-shadow:var(--float-shadow);padding:0}dialog::backdrop{background:var(--scrim)}dialog[open]{animation:rise var(--motion-base) var(--ease-out)}.dialog-form{padding:var(--space-20);position:relative}.dialog-form h2{font-size:var(--text-16);margin:0;font-weight:700}.dialog-close{top:var(--space-12);right:var(--space-12);position:absolute}.head-actions{align-items:center;gap:var(--space-8);display:flex}.dialog-actions{padding-top:var(--space-20);flex-wrap:wrap;justify-content:flex-end}.avatar{flex:none}.avatar-16{width:var(--avatar-16);height:var(--avatar-16)}.avatar-24{width:var(--avatar-24);height:var(--avatar-24)}.avatar-head{fill:var(--ink)}.avatar-face{fill:var(--canvas);stroke:var(--canvas);stroke-width:0}.avatar-face path[fill=none]{stroke-width:2px}.avatar-button{width:var(--avatar-button);height:var(--avatar-button);border-radius:var(--radius-full);corner-shape:round;background:var(--card);box-shadow:var(--card-shadow);cursor:pointer;border:0;place-items:center;padding:0;display:grid}.profile-button{width:var(--space-24);height:var(--space-24);border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-full);corner-shape:round;background:var(--accent-tint);color:var(--accent-text);font-size:var(--text-12);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;font-weight:600;display:flex;overflow:hidden}.profile-button:hover{outline:var(--space-4) solid var(--hover);outline-offset:0}.profile-button.is-signed-out{color:var(--ink2);background:0 0}.profile-button.is-signed-out .icon{width:var(--icon-16);height:var(--icon-16)}.profile-photo{object-fit:cover;width:100%;height:100%}.profile-large{width:var(--space-64);height:var(--space-64);font-size:var(--text-20);cursor:default}.profile-large:hover{outline:none}.soft.soft-small,.section-head .soft,.ingredient-name .soft,.record-value .soft,.requirement-head .soft{font-size:var(--text-13);font-weight:400}.ingredient-name .soft,.record-value .soft{font-size:var(--text-12)}.field.field-inline{padding:0}.chip.chip-contains{color:var(--ink);font-weight:700}.chip.chip-may{border-style:dashed}.button-ground.on-warn{color:inherit}.label-dot.is-carb{background:var(--carb)}.label-dot.is-protein{background:var(--protein)}.label-dot.is-fat{background:var(--fat)}.label-dot.is-fibre{background:var(--fibre)}.badge.badge-lifted{background:var(--card);box-shadow:var(--card-shadow)}.badge.badge-out{color:var(--danger)}.element-row{align-items:center;gap:var(--space-8);height:var(--control-height);padding:0 var(--space-10);border-radius:var(--radius-6);color:var(--ink2);font-size:var(--text-13);text-align:left;cursor:pointer;background:0 0;border:0;font-weight:500;display:flex}.element-row:hover{background:var(--hover);color:var(--ink)}.element-row.is-current{background:var(--card);color:var(--ink);box-shadow:var(--card-shadow);font-weight:600}.element-row .icon{color:var(--ink3)}.element-row.is-current .icon{color:var(--accent-text)}.set-row.set-row-tight{padding:var(--space-10) 0}.empty-state .icon{width:var(--icon-20);height:var(--icon-20);color:var(--ink3)}.food-photo-packet{object-fit:contain;background:var(--card);padding:var(--space-12)}.field-row .field input{width:100%;min-width:0}.tabbar{height:var(--tabbar-height);padding-bottom:var(--space-4);background:var(--desk);border-top:var(--hairline) solid var(--line);align-items:stretch;display:none}.tab{justify-content:center;align-items:center;gap:var(--space-4);min-width:0;color:var(--ink3);font-size:var(--text-11);background:0 0;border:0;flex-direction:column;flex:1;padding:0;font-weight:500;text-decoration:none;display:flex}.tab .icon{width:var(--tab-icon);height:var(--tab-icon)}.tab.is-current{color:var(--accent-text);font-weight:600}.foot{gap:var(--space-6);padding:var(--space-10) var(--space-16) var(--space-12);background:var(--canvas);border-top:var(--hairline) solid var(--line);flex-direction:column;display:none}.foot:empty{display:none}.foot .button{width:100%;height:var(--control-height);font-size:var(--text-14)}.row-list{flex-direction:column;display:flex}.row{grid-template-columns:var(--thumb-44) minmax(0, 1fr) auto;align-items:center;gap:var(--space-12);padding:var(--space-8) 0;border-top:var(--hairline) solid var(--line);cursor:pointer;display:grid}.row:first-child{border-top:0}.row .thumb,.row .initial{width:var(--thumb-44);height:var(--thumb-44)}.row .icon{color:var(--ink3)}.row-text{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.row-text b{font-size:var(--text-14);font-weight:600}.row-text .soft,.row-text .contains{font-size:var(--text-12);font-weight:400}.scan{flex-direction:column;min-height:100%;display:flex}.camera{min-height:var(--camera-min);padding:var(--space-12) var(--space-16) var(--space-32);background:var(--camera);color:var(--camera-ink);flex-direction:column;flex:1;justify-content:space-between;display:flex;position:relative;overflow:hidden}.camera-feed{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-top{justify-content:space-between;align-items:center;display:flex;position:relative}.camera .view-toggle{padding:var(--space-2);border-radius:var(--radius-8);background:var(--camera-dim)}.camera .view-toggle button{color:var(--camera-ink)}.camera .view-toggle button.is-current{background:var(--card);color:var(--ink)}.brackets{inset:var(--space-64) var(--space-40) var(--space-64);pointer-events:none;position:absolute}.brackets:before,.brackets:after,.brackets span:before,.brackets span:after{content:"";width:var(--bracket);height:var(--bracket);border:var(--focus-width) solid var(--camera-ink);position:absolute}.brackets:before{border-top-left-radius:var(--radius-4);border-bottom:0;border-right:0;top:0;left:0}.brackets:after{border-top-right-radius:var(--radius-4);border-bottom:0;border-left:0;top:0;right:0}.brackets span:before{border-bottom-left-radius:var(--radius-4);border-top:0;border-right:0;bottom:0;left:0}.brackets span:after{border-bottom-right-radius:var(--radius-4);border-top:0;border-left:0;bottom:0;right:0}.camera-hint{font-size:var(--text-12);text-align:center;align-self:center;font-weight:500;position:relative}.sheet{gap:var(--space-14);margin-top:calc(var(--sheet-radius) * -1);padding:var(--space-8) var(--space-16) var(--space-24);background:var(--canvas);border-radius:var(--sheet-radius) var(--sheet-radius) 0 0;flex-direction:column;display:flex;position:relative}.sheet-handle{width:var(--sheet-handle);height:var(--space-4);border-radius:var(--radius-full);corner-shape:round;background:var(--line-strong);align-self:center}.sheet h2{font-size:var(--text-18);letter-spacing:-.01em;margin:0;font-weight:700}.sheet p{color:var(--ink2);margin:0;line-height:1.5}.sheet .row{cursor:default;border-top:0;padding:0}.sheet .button{width:100%;height:var(--control-height);font-size:var(--text-14)}.sheet .find-box{height:var(--control-height);padding:0 var(--space-4) 0 var(--space-12)}@media (width<=40em){.page-head .soft{font-size:var(--text-14)}.tabbar,.foot{display:flex}.foot:empty{display:none}}
