:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-display:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg:#faf6f0;--surface:#fff;--surface-2:#f3ece2;--surface-3:#eadfd1;--border:#e4d8c8;--border-strong:#cdbfae;--ink:#2a2420;--ink-2:#594f46;--ink-3:#766b61;--primary:#b4472f;--primary-hover:#9c3b26;--primary-ink:#fff;--primary-soft:#f7e1d9;--primary-soft-ink:#8a3421;--accent:#4f7d5c;--accent-ink:#fff;--accent-soft:#e1ede4;--accent-soft-ink:#355a40;--honey:#c98a12;--honey-soft:#fbeecb;--honey-soft-ink:#7a5307;--danger:#b3261e;--danger-soft:#fbe3e0;--danger-soft-ink:#8c1d17;--focus:#2f6fd6;--member-tomato:#c8553d;--member-sun:#d39a1b;--member-sage:#5b8a68;--member-sky:#3f7fb8;--member-plum:#8a5a9e;--member-sand:#a3866a;--radius-s:10px;--radius-m:14px;--radius-l:22px;--radius-full:999px;--shadow-1:0 1px 2px #2a24200f, 0 1px 1px #2a24200a;--shadow-2:0 10px 30px #2a242024, 0 2px 6px #2a24200f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--tap:44px;--nav-height:64px;--sidebar-width:232px;--content-max:760px;--text-xs:.75rem;--text-s:.875rem;--text-m:1rem;--text-l:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1d1916;--surface:#27221e;--surface-2:#312b26;--surface-3:#3b342e;--border:#3e3630;--border-strong:#574d45;--ink:#f4ede5;--ink-2:#cfc4b8;--ink-3:#ab9f93;--primary:#e2795f;--primary-hover:#ec8d76;--primary-ink:#1d1916;--primary-soft:#45281f;--primary-soft-ink:#f2b3a2;--accent:#7fb38d;--accent-ink:#13201a;--accent-soft:#233429;--accent-soft-ink:#a9d3b4;--honey:#e8b34a;--honey-soft:#3d2f12;--honey-soft-ink:#f2cf86;--danger:#f08a80;--danger-soft:#45201c;--danger-soft-ink:#f6b2ab;--focus:#7aa7f0;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 10px 30px #00000073}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-m);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.2}h1{font-size:var(--text-2xl);font-weight:700}h2{font-size:var(--text-xl);font-weight:700}h3{font-size:var(--text-l);font-weight:650}p{margin:0}a{color:var(--primary);text-underline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img,svg{max-width:100%;display:block}ul,ol{margin:0;padding:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}::selection{background:var(--primary-soft)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.stack{gap:var(--stack-gap,var(--space-3));flex-direction:column;display:flex}.row{align-items:center;gap:var(--row-gap,var(--space-2));flex-wrap:wrap;display:flex}.row--between{justify-content:space-between}.row--nowrap{flex-wrap:nowrap}.grow{flex:auto;min-width:0}.muted{color:var(--ink-3)}.small{font-size:var(--text-s)}.line-clamp{-webkit-line-clamp:var(--lines,2);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page{width:100%;max-width:var(--content-max);padding:var(--space-4) var(--space-4) calc(var(--space-7) + env(safe-area-inset-bottom));gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.page--wide{max-width:1100px}.page-header{align-items:center;gap:var(--space-3);min-height:var(--tap);padding-top:env(safe-area-inset-top);flex-wrap:wrap;display:flex}.page-header__title{flex:9rem;min-width:0}.page-header__subtitle{color:var(--ink-3);font-size:var(--text-s);margin-top:2px}.page-header__actions{gap:var(--space-2);flex-shrink:0;display:flex}.section{gap:var(--space-3);flex-direction:column;display:flex}.section__title{font-size:var(--text-s);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:650}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--surface-2);color:var(--ink);white-space:nowrap;transition:background .12s var(--ease), transform .12s var(--ease), box-shadow .12s var(--ease);border:1px solid #0000;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55}.btn svg{flex-shrink:0;width:20px;height:20px}.btn--primary{background:var(--primary);color:var(--primary-ink)}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.btn--accent{background:var(--accent);color:var(--accent-ink)}.btn--accent:hover:not(:disabled){background:var(--accent);filter:brightness(.95)}.btn--ghost{color:var(--ink-2);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--surface-2)}.btn--outline{border-color:var(--border-strong);background:0 0}.btn--danger{background:var(--danger-soft);color:var(--danger-soft-ink)}.btn--danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn--small{min-height:36px;padding:0 var(--space-3);font-size:var(--text-s)}.btn--block{width:100%}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-full);color:var(--ink-2);transition:background .12s var(--ease);background:0 0;border:0;flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn svg{width:22px;height:22px}.icon-btn--filled{background:var(--surface-2)}.icon-btn--primary{background:var(--primary);color:var(--primary-ink)}.icon-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.icon-btn[aria-pressed=true]{background:var(--primary-soft);color:var(--primary-soft-ink)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-1);padding:var(--space-4)}.card--flat{box-shadow:none}.card--link{color:inherit;transition:border-color .12s var(--ease), transform .12s var(--ease);text-decoration:none;display:block}.card--link:hover{border-color:var(--border-strong)}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);list-style:none;overflow:hidden}.list-row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);display:flex}.list-row+.list-row{border-top:1px solid var(--border)}.list-row__main{flex:auto;min-width:0}.list-row__meta{font-size:var(--text-s);color:var(--ink-3)}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-weight:600;font-size:var(--text-s);color:var(--ink-2)}.field__hint{font-size:var(--text-s);color:var(--ink-3)}.field__error{font-size:var(--text-s);color:var(--danger);font-weight:600}.input{width:100%;min-height:var(--tap);padding:10px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);transition:border-color .12s var(--ease), box-shadow .12s var(--ease)}.input::placeholder{color:var(--ink-3);opacity:1}.input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 25%, transparent);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}textarea.input{resize:vertical;min-height:96px;line-height:1.45}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.checkbox{align-items:center;gap:var(--space-2);min-height:var(--tap);cursor:pointer;display:inline-flex}.checkbox input{width:22px;height:22px;accent-color:var(--accent);margin:0}.tick{width:var(--tap);height:var(--tap);color:var(--accent-ink);background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.tick__box{border-radius:var(--radius-full);border:2px solid var(--border-strong);background:var(--surface);width:26px;height:26px;transition:background .12s var(--ease), border-color .12s var(--ease);place-items:center;display:grid}.tick__box svg{opacity:0;width:16px;height:16px}.tick[aria-checked=true] .tick__box,.tick[aria-pressed=true] .tick__box{background:var(--accent);border-color:var(--accent)}.tick[aria-checked=true] .tick__box svg,.tick[aria-pressed=true] .tick__box svg{opacity:1}.chip{min-height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--ink);font-size:var(--text-s);white-space:nowrap;transition:background .12s var(--ease), border-color .12s var(--ease);align-items:center;gap:6px;font-weight:600;display:inline-flex}button.chip:hover:not(:disabled){border-color:var(--border-strong)}.chip[aria-pressed=true]{background:var(--primary-soft);color:var(--primary-soft-ink);border-color:#0000}.chip svg{width:16px;height:16px}.chip--honey{background:var(--honey-soft);color:var(--honey-soft-ink);border-color:#0000}.chip--accent{background:var(--accent-soft);color:var(--accent-soft-ink);border-color:#0000}.chip-scroller{gap:var(--space-2);scrollbar-width:none;padding:2px;display:flex;overflow-x:auto}.chip-scroller::-webkit-scrollbar{display:none}.badge{border-radius:var(--radius-full);background:var(--primary);min-width:20px;height:20px;color:var(--primary-ink);place-items:center;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1;display:inline-grid}.badge--soft{background:var(--surface-3);color:var(--ink-2)}.tag{border-radius:var(--radius-full);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);align-items:center;gap:4px;padding:2px 8px;font-weight:650;display:inline-flex}.tag svg{width:13px;height:13px}.tag--baby{background:var(--accent-soft);color:var(--accent-soft-ink)}.tag--season{color:var(--accent-soft-ink);box-shadow:inset 0 0 0 1px var(--accent-soft);background:0 0}.tag--estimate{background:var(--honey-soft);color:var(--honey-soft-ink)}.segmented{border-radius:var(--radius-full);background:var(--surface-2);gap:4px;padding:4px;display:flex}.segmented__option{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--ink-2);font-weight:600;font-size:var(--text-s);white-space:nowrap;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.segmented__option[aria-selected=true],.segmented__option[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.avatar{width:var(--avatar-size,36px);height:var(--avatar-size,36px);border-radius:var(--radius-full);background:var(--member-sand);color:#fff;font-weight:700;font-size:calc(var(--avatar-size,36px) * .42);font-family:var(--font-display);flex-shrink:0;place-items:center;display:inline-grid}.avatar[data-color=tomato]{background:var(--member-tomato)}.avatar[data-color=sun]{background:var(--member-sun)}.avatar[data-color=sage]{background:var(--member-sage)}.avatar[data-color=sky]{background:var(--member-sky)}.avatar[data-color=plum]{background:var(--member-plum)}.avatar[data-color=sand]{background:var(--member-sand)}.status{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-s);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-s);display:flex}.status svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.status[data-tone=error]{background:var(--danger-soft);color:var(--danger-soft-ink)}.status[data-tone=success]{background:var(--accent-soft);color:var(--accent-soft-ink)}.status[data-tone=warning]{background:var(--honey-soft);color:var(--honey-soft-ink)}.empty-state{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--ink-3);flex-direction:column;display:flex}.empty-state__icon{border-radius:var(--radius-full);background:var(--surface-2);width:64px;height:64px;color:var(--ink-3);margin-bottom:var(--space-2);place-items:center;display:grid}.empty-state__icon svg{width:30px;height:30px}.empty-state__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-l);color:var(--ink)}.skeleton{border-radius:var(--radius-s);background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;min-height:20px;animation:1.4s ease-in-out infinite skeleton}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.spinner{border-radius:var(--radius-full);border:2.5px solid;border-right-color:#0000;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sheet{border-radius:var(--radius-l) var(--radius-l) 0 0;background:var(--surface);width:100%;max-width:560px;max-height:min(92dvh,900px);color:var(--ink);box-shadow:var(--shadow-2);border:0;margin:auto auto 0;padding:0;overflow:hidden}.sheet[open]{animation:sheet-in .22s var(--ease);flex-direction:column;display:flex}.sheet::backdrop{background:#14100c73}.sheet__header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2) var(--space-5);display:flex}.sheet__title{font-size:var(--text-l);flex:auto}.sheet__body{padding:var(--space-2) var(--space-5) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.sheet__footer{gap:var(--space-2);padding:var(--space-3) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);justify-content:flex-end;display:flex}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (width>=720px){.sheet{border-radius:var(--radius-l);margin:auto}}.toast-region{left:50%;bottom:calc(var(--nav-height) + var(--space-3) + env(safe-area-inset-bottom));z-index:50;gap:var(--space-2);width:min(560px, calc(100% - 2 * var(--space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-m);background:var(--ink);min-height:52px;color:var(--bg);box-shadow:var(--shadow-2);pointer-events:auto;animation:sheet-in .2s var(--ease);display:flex}.toast[data-tone=error]{background:var(--danger);color:#fff}.toast__message{font-size:var(--text-s);flex:auto;font-weight:600}.toast__action{color:inherit;min-height:40px;padding:0 var(--space-3);background:0 0;border:0;font-weight:700;text-decoration:underline}@media (width>=900px){.toast-region{bottom:var(--space-5);left:calc(50% + var(--sidebar-width) / 2)}}.stepper{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);align-items:center;display:inline-flex}.stepper__value{text-align:center;font-variant-numeric:tabular-nums;min-width:3ch;font-weight:700}.stepper .icon-btn{width:40px;height:40px}.nutrient-tiles{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.nutrient-tile{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface-2)}.nutrient-tile dt{font-size:var(--text-xs);color:var(--ink-3);font-weight:600}.nutrient-tile dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:700}.nutrient-table{gap:var(--space-3);flex-direction:column;display:flex}.nutrient-table table{border-collapse:collapse;width:100%;font-size:var(--text-s)}.nutrient-table caption{text-align:left;font-weight:700;font-family:var(--font-display);padding-bottom:var(--space-1)}.nutrient-table th,.nutrient-table td{border-bottom:1px solid var(--border);text-align:left;padding:6px 0;font-weight:500}.nutrient-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:var(--space-3)}.nutrient-table__sub th{padding-left:var(--space-4);color:var(--ink-2)}.nutrient-table__percent{width:120px}.nutrient-table__percent>span:last-child{min-width:5.5ch;color:var(--ink-3);display:inline-block}.nutrient-bar{width:56px;height:6px;margin-right:var(--space-2);border-radius:var(--radius-full);background:var(--surface-3);vertical-align:middle;display:inline-block;overflow:hidden}.nutrient-bar>span{border-radius:inherit;background:var(--accent);height:100%;display:block}@media (width<=420px){.nutrient-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.voice-btn--listening{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 45%, transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--primary) 0%, transparent)}}.dish-image{aspect-ratio:4/3;border-radius:var(--radius-m);background:var(--surface-2);width:100%;display:block;position:relative;overflow:hidden}.dish-image img{object-fit:cover;width:100%;height:100%;display:block}.dish-image--thumb{border-radius:var(--radius-s);flex-shrink:0;width:88px}.dish-image--hero{border-radius:var(--radius-l)}.dish-image--placeholder{background:radial-gradient(circle at 30% 25%, hsl(var(--dish-hue) 55% 92%), transparent 60%), hsl(var(--dish-hue) 35% 86%);color:hsl(var(--dish-hue) 30% 42%);place-items:center;display:grid}.dish-image--placeholder svg{opacity:.7;width:28%;max-width:64px;height:auto}.dish-image--thumb.dish-image--placeholder svg{width:45%}.install-banner{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);grid-template-columns:auto 1fr;align-items:start;display:grid}.install-banner__icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary-soft-ink);border-radius:12px;place-items:center;display:grid}.install-banner__icon svg{width:22px;height:22px}.install-banner__title{font-size:1rem;line-height:1.3}.install-banner__actions{gap:var(--space-2);flex-wrap:wrap;grid-column:2;display:flex}.install-steps{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.install-steps li{gap:var(--space-3);grid-template-columns:40px 1fr;align-items:center;display:grid}.install-steps__icon{background:var(--surface-2);width:40px;height:40px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.install-steps__icon svg{width:22px;height:22px}.install-steps__icon--text{font-size:.875rem;font-weight:700}.shell{min-height:100dvh}.skip-link{left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface);box-shadow:var(--shadow-2);position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}.shell__main{padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));outline:none}.shell__nav{z-index:40;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);position:fixed;inset:auto 0 0}.shell__brand,.shell__me{display:none}.shell__nav-list{height:var(--nav-height);grid-template-columns:repeat(5,1fr);list-style:none;display:grid}.shell__nav-link{height:100%;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.7rem;font-weight:650;text-decoration:none;display:flex}.shell__nav-link.active{color:var(--primary)}.shell__nav-icon{border-radius:var(--radius-full);width:52px;height:30px;transition:background .16s var(--ease);place-items:center;display:grid;position:relative}.shell__nav-link.active .shell__nav-icon{background:var(--primary-soft)}.shell__nav-icon svg{width:22px;height:22px}.shell__nav-badge{position:absolute;top:-4px;right:2px}.shell__avatar-mobile{top:calc(var(--space-3) + env(safe-area-inset-top));right:var(--space-3);z-index:30;border-radius:var(--radius-full);box-shadow:0 0 0 3px var(--bg);position:absolute}.shell__main .page-header{padding-right:44px}@media (width>=900px){.shell__nav{width:var(--sidebar-width);height:100dvh;padding:var(--space-5) var(--space-3);gap:var(--space-5);border-top:0;border-right:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;display:flex;inset:0 auto 0 0}.shell__brand{align-items:center;gap:var(--space-2);padding:0 var(--space-3);font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);display:flex}.shell__logo img{border-radius:9px}.shell__nav-list{gap:var(--space-1);flex-direction:column;height:auto;display:flex}.shell__nav-link{justify-content:flex-start;gap:var(--space-3);min-height:var(--tap);padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--text-m);color:var(--ink-2);flex-direction:row}.shell__nav-link:hover{background:var(--surface-2)}.shell__nav-link.active{background:var(--primary-soft);color:var(--primary-soft-ink)}.shell__nav-link.active .shell__nav-icon{background:0 0}.shell__nav-icon{width:24px;height:24px}.shell__nav-badge{top:-8px;right:-10px}.shell__me{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);color:var(--ink);margin-top:auto;font-weight:650;text-decoration:none;display:flex}.shell__me:hover,.shell__me.active{background:var(--surface-2)}.shell__avatar-mobile{display:none}.shell__main{margin-left:var(--sidebar-width);padding-bottom:0}.shell__main .page-header{padding-right:0}}.auth-page{min-height:100dvh;padding:var(--space-5) var(--space-4);place-items:center;display:grid}.auth-stack{gap:var(--space-3);flex-direction:column;width:100%;max-width:420px;display:flex}.auth-card{gap:var(--space-4);flex-direction:column;width:100%;max-width:420px;display:flex}.auth-card__logo{border-radius:16px;width:64px;height:64px}.auth-card form{gap:var(--space-4);flex-direction:column;display:flex}.shell__notices{width:100%;max-width:var(--content-max);gap:var(--space-3);padding:var(--space-4) calc(var(--space-4) + 44px) 0 var(--space-4);flex-direction:column;margin:0 auto;display:flex}.shell__notices:empty{display:none}@media (width>=900px){.shell__notices{padding-right:var(--space-4)}}.pull-refresh{top:calc(env(safe-area-inset-top) - 44px);z-index:30;pointer-events:none;opacity:0;transform:translate(-50%, var(--pull,0px));transition:transform .18s,opacity .18s;position:fixed;left:50%}.pull-refresh[data-active]{opacity:1}.pull-refresh[data-active]:not([data-refreshing]){transition:opacity .18s}.pull-refresh__circle{background:var(--surface);width:40px;height:40px;color:var(--ink-3);box-shadow:var(--shadow-2);border-radius:50%;place-items:center;display:grid}.pull-refresh__circle svg{width:20px;height:20px;transform:rotate(var(--pull-turn,0deg))}.pull-refresh[data-ready] .pull-refresh__circle{color:var(--accent)}.pull-refresh[data-refreshing] .pull-refresh__circle svg{animation:.8s linear infinite spin}.family-colors{gap:var(--space-2);flex-wrap:wrap;display:flex}.family-color{width:var(--tap);height:var(--tap);border-radius:var(--radius-full);box-shadow:inset 0 0 0 3px var(--surface);background:var(--member-sand);border:3px solid #0000}.family-color[aria-checked=true]{border-color:var(--ink)}.family-color[data-color=tomato]{background:var(--member-tomato)}.family-color[data-color=sun]{background:var(--member-sun)}.family-color[data-color=sage]{background:var(--member-sage)}.family-color[data-color=sky]{background:var(--member-sky)}.family-color[data-color=plum]{background:var(--member-plum)}.family-color[data-color=sand]{background:var(--member-sand)}.list-row.family-download{color:var(--ink);text-decoration:none}.list-row.family-download:hover{background:var(--surface-2)}.family-download__icon{width:20px;height:20px;color:var(--primary);flex-shrink:0}.family-download__name{overflow-wrap:anywhere;font-weight:650;display:block}.family-downloads li+li{border-top:1px solid var(--border)}.week-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.week-toolbar__tabs{flex:220px;max-width:320px}.week-toolbar__nav{align-items:center;gap:var(--space-2);display:flex}.week-actions{gap:var(--space-2)}@media (width>=720px){.week-actions__plan{margin-left:auto}}.week-days{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=720px){.week-days{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start}}.card.week-day{gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);flex-direction:column;display:flex}.card.week-day[data-today]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary), var(--shadow-1)}.card.week-day[data-past]{background:color-mix(in srgb, var(--surface) 70%, var(--surface-2))}.week-day__header{align-items:baseline;gap:var(--space-2);padding:0 var(--space-1);display:flex}.week-day__title{font-size:var(--text-l);flex:auto}.week-day__date{font-family:var(--font-sans);font-size:var(--text-s);color:var(--ink-3);margin-left:var(--space-1);font-weight:500}.week-day__today{background:var(--primary-soft);color:var(--primary-soft-ink)}.week-day__empty{padding:var(--space-2) var(--space-1);color:var(--ink-3);font-size:var(--text-s)}.btn.week-day__add{color:var(--primary);align-self:flex-start}.week-slot__item{align-items:center;gap:var(--space-1);display:flex}.week-slot__item .week-meal{flex:auto;min-width:0}.icon-btn.week-meal__handle{margin-right:calc(-1 * var(--space-2));color:var(--ink-3);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;flex-shrink:0}.page[data-dragging]{-webkit-user-select:none;user-select:none;cursor:grabbing}.page[data-dragging] .icon-btn.week-meal__handle{cursor:grabbing}.week-slot__item[data-drag-source] .week-meal{opacity:.5;border-style:dashed}.week-slot__item[data-drop-target] .week-meal,.card.week-day[data-drop-target]{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary), var(--shadow-2);background:color-mix(in srgb, var(--surface) 85%, var(--primary-soft))}.week-drag-ghost{z-index:50;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-2);pointer-events:none;font-size:var(--text-s);flex-direction:column;gap:2px;display:flex;position:fixed;top:0;left:0}.week-drag-ghost__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-drag-ghost__target{color:var(--primary);font-weight:650}.meal-move{--stack-gap:var(--space-5)}.meal-move__section{--stack-gap:var(--space-2)}.meal-move .section__title{align-items:center;gap:var(--space-2);display:flex}.meal-move .section__title svg{width:16px;height:16px}.meal-move li+li{border-top:1px solid var(--border)}.list-row.meal-move__option{text-align:left;background:0 0;border:0;width:100%}.list-row.meal-move__option:hover{background:var(--surface-2)}.meal-move__name{font-weight:650;display:block}.meal-move__days{gap:var(--space-2);flex-wrap:wrap;display:flex}.meal-move__text{font-size:var(--text-s);color:var(--ink-2)}.meal-move__grip{vertical-align:-3px;width:16px;height:16px;display:inline-block}.week-slot__label{padding:0 var(--space-1);font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:700}.week-slot__meals{gap:var(--space-1);flex-direction:column;margin-top:2px;list-style:none;display:flex}.week-meal{align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);text-align:left;transition:border-color .12s var(--ease), background .12s var(--ease);display:flex}.week-meal:hover{border-color:var(--border-strong)}.week-meal__title,.swipe-planned strong{font-size:var(--text-s);overflow-wrap:anywhere;font-weight:650;line-height:1.3}.week-meal__meta{font-size:var(--text-xs);color:var(--ink-3);display:block}.week-meal__chevron{width:18px;height:18px;color:var(--ink-3);flex-shrink:0}.week-sheet__delete{margin-right:auto}.week-slots .segmented__option{padding:0 var(--space-2)}.week-picker__search{display:block;position:relative}.week-picker__search svg{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.week-picker__search .input{padding-left:38px}.week-picker__list{border:1px solid var(--border);border-radius:var(--radius-s);max-height:300px;list-style:none;overflow-y:auto}.week-picker__list li+li{border-top:1px solid var(--border)}.week-picker__option{align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-2) var(--space-3);background:var(--surface);text-align:left;border:0;display:flex}.week-picker__option:hover{background:var(--surface-2)}.week-picker__option[aria-pressed=true]{background:var(--primary-soft)}.week-picker__title{font-weight:650;display:block}.week-picker__meta{font-size:var(--text-s);color:var(--ink-3);align-items:center;gap:4px;display:inline-flex}.week-picker__check{width:24px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.week-detail__meta{align-items:center;gap:var(--space-2);color:var(--ink-2);flex-wrap:wrap;font-weight:600;display:flex}.week-detail__note{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface-2);color:var(--ink-2)}.week-detail__ingredients h3{font-size:var(--text-m)}.week-nutrition{gap:var(--space-5);flex-direction:column;display:flex}.week-nutrition__basis{align-items:center;gap:var(--space-2);color:var(--ink-2);font-size:var(--text-s);flex-wrap:wrap;font-weight:600;display:flex}.week-nutrition__days{gap:var(--space-2);list-style:none;display:grid}@media (width>=900px){.week-nutrition__days{grid-template-columns:repeat(2,minmax(0,1fr))}}.card.week-nutrition__day{gap:var(--space-2);padding:var(--space-3);flex-direction:column;display:flex}.week-details>summary{cursor:pointer;color:var(--primary);min-height:var(--tap);align-items:center;font-weight:650;display:flex}.week-details[open]>summary{margin-bottom:var(--space-2)}.week-check{gap:var(--space-3);flex-direction:column;display:flex}.card.week-check--empty{background:var(--surface-2);box-shadow:none}.week-check__head{align-items:center;gap:var(--space-4);display:flex}.week-check__score{border-radius:var(--radius-full);background:var(--accent-soft);width:84px;height:84px;color:var(--accent-soft-ink);font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:baseline;padding-top:18px;display:flex}.week-check__score[data-band=ok]{background:var(--honey-soft);color:var(--honey-soft-ink)}.week-check__score[data-band=low]{background:var(--primary-soft);color:var(--primary-soft-ink)}.week-check__number{font-size:2.25rem;font-weight:800;line-height:1}.week-check__of{font-size:var(--text-s);opacity:.8;font-weight:700}.week-check__group{gap:var(--space-1);flex-direction:column;display:flex}.week-check__group ul{list-style:none}.week-check__group-title{font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:700}.chip.week-check__chip{gap:var(--space-2)}.chip.week-check__chip--accent{background:var(--accent-soft);color:var(--accent-soft-ink);border-color:#0000}.chip.week-check__chip--honey{background:var(--honey-soft);color:var(--honey-soft-ink);border-color:#0000}.chip.week-check__chip--low{background:var(--primary-soft);color:var(--primary-soft-ink);border-color:#0000}.chip.week-check__chip--high{background:var(--danger-soft);color:var(--danger-soft-ink);border-color:#0000}.chip.week-check__chip--plain{color:var(--ink-3)}.week-check__chip-value{font-variant-numeric:tabular-nums;font-weight:500}.week-check__bars{gap:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;list-style:none;display:flex}.week-check__bar{align-items:center;gap:var(--space-2);font-size:var(--text-s);grid-template-columns:minmax(110px,1.2fr) 2fr 72px;display:grid}.week-check__bar-track{border-radius:var(--radius-full);background:var(--surface-3);height:8px;position:relative;overflow:hidden}.week-check__bar-fill{border-radius:inherit;background:var(--accent);position:absolute;inset:0 auto 0 0}.week-check__bar-mark{background:var(--ink-3);width:2px;position:absolute;top:-2px;bottom:-2px;left:66.6%}.week-check__bar[data-rating=ok] .week-check__bar-fill{background:var(--honey)}.week-check__bar[data-rating=low] .week-check__bar-fill{background:var(--primary)}.week-check__bar[data-rating=high] .week-check__bar-fill{background:var(--danger)}.week-check__bar-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}.week-gap{flex-wrap:wrap}.week-gap .list-row__main{flex:200px}.week-gap>.btn,.week-gap>.tag{margin-left:auto}.week-tips{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-m);background:var(--honey-soft);color:var(--honey-soft-ink);flex-direction:column;display:flex}.week-tips__title{align-items:center;gap:var(--space-2);font-size:var(--text-m);display:flex}.week-tips__title svg{width:18px;height:18px}.week-tips__list,.week-tips__recipes{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.week-tips__recipes{margin-top:var(--space-1);flex-flow:wrap}.week-tips__item .muted,.week-tips .small.muted{color:inherit;opacity:.85}.week-tips__recipes>li{min-width:0;max-width:100%}.week-tips__recipe{white-space:normal;text-align:left;border-radius:var(--radius-m);max-width:100%;height:auto;padding:var(--space-1) var(--space-3);background:var(--surface);color:var(--ink);flex-direction:column;align-items:flex-start;gap:0;text-decoration:none;display:inline-flex}.week-tips__share{font-size:var(--text-xs);color:var(--ink-3);font-weight:500}.swipe-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.swipe-toolbar__slots{flex:0 360px}.swipe-toolbar__progress{font-size:var(--text-s);color:var(--ink-2)}.swipe-hint{margin-top:calc(-1 * var(--space-2))}.swipe-days{gap:var(--space-3);grid-template-columns:1fr;list-style:none;display:grid}@media (width>=720px){.swipe-days{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start}}.card.swipe-day{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex;overflow:hidden}.card.swipe-day[data-today]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary), var(--shadow-1)}.swipe-day__header{align-items:baseline;gap:var(--space-2);display:flex}.swipe-day__title{font-size:var(--text-l)}.swipe-day__date{font-size:var(--text-s);color:var(--ink-3);font-weight:500}.swipe-day__done{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--ink-2);flex-wrap:wrap;display:flex}.swipe-planned{align-items:center;gap:var(--space-3);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);display:flex}.swipe-planned a{color:inherit;text-decoration:none}.swipe-planned__meta{font-size:var(--text-xs);color:var(--ink-3);display:block}.swipe-card{gap:var(--space-3);flex-direction:column;display:flex}.swipe-card__body{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-1);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;transition:transform .22s var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.swipe-card__body[data-dragging]{cursor:grabbing;transition:none}.swipe-card__body[data-leaving]{transition:transform .24s ease-in}.swipe-card__body:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.swipe-card__image.dish-image{border-radius:0}.swipe-card__body img{pointer-events:none;-webkit-user-drag:none}.swipe-card__stamp{top:var(--space-4);padding:var(--space-1) var(--space-3);border-radius:var(--radius-s);background:color-mix(in srgb, var(--surface) 85%, transparent);font-family:var(--font-display);font-size:var(--text-l);text-transform:uppercase;letter-spacing:.04em;pointer-events:none;border:3px solid;font-weight:800;position:absolute}.swipe-card__stamp--take{left:var(--space-4);color:var(--accent);transform:rotate(-10deg)}.swipe-card__stamp--skip{right:var(--space-4);color:var(--primary);transform:rotate(10deg)}.swipe-card__text{gap:var(--space-2);padding:var(--space-3);flex-direction:column;display:flex}.swipe-card__title{font-size:var(--text-l);overflow-wrap:anywhere}.swipe-card__meta{gap:var(--space-3);font-size:var(--text-s);color:var(--ink-2);flex-wrap:wrap;display:flex}.swipe-card__meta span{align-items:center;gap:4px;display:inline-flex}.swipe-card__meta svg{width:16px;height:16px}.swipe-card__tags{gap:var(--space-1);flex-wrap:wrap;list-style:none;display:flex}.swipe-card__tag--season{background:var(--accent-soft);color:var(--accent-soft-ink)}.swipe-card__tag--nutrient{background:var(--honey-soft);color:var(--honey-soft-ink)}.swipe-card__actions{justify-content:center;gap:var(--space-5);display:flex}.swipe-card__button{border-radius:var(--radius-full);background:var(--surface);width:56px;height:56px;box-shadow:var(--shadow-1);transition:transform .12s var(--ease), background .12s var(--ease);border:2px solid;place-items:center;display:grid}.swipe-card__button svg{width:26px;height:26px}.swipe-card__button--skip{color:var(--primary)}.swipe-card__button--take{color:var(--accent)}.swipe-card__button--undo{width:44px;height:44px;color:var(--ink-2);align-self:center}.swipe-card__button--undo svg{width:20px;height:20px}.swipe-card__button--undo:disabled{opacity:.3}.swipe-card__button:hover:not(:disabled){transform:scale(1.06)}.swipe-card__button:disabled{opacity:.5}.swipe-summary{gap:var(--space-3);scroll-margin-top:var(--space-4);flex-direction:column;display:flex}.swipe-summary__links{gap:var(--space-2)}@media (prefers-reduced-motion:reduce){.swipe-card__body,.swipe-card__body[data-leaving],.swipe-card__button{transition:none}}.card.swipe-day[data-past]{padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);background:color-mix(in srgb, var(--surface) 70%, var(--surface-2));box-shadow:none}.card.swipe-day[data-past] .swipe-day__header{align-items:center}.card.swipe-day[data-past] .swipe-day__title{font-size:var(--text-m);color:var(--ink-2)}.swipe-day__plan-past{margin-left:auto}.week-detail__actions{margin-bottom:var(--space-3)}.recipes-search{align-items:center;gap:var(--space-2);display:flex;position:relative}.recipes-search__icon{width:20px;height:20px;color:var(--ink-3);pointer-events:none;position:absolute;left:14px}.recipes-search__input{border-radius:var(--radius-full);flex:auto;padding-left:44px}.recipes-search__input::-webkit-search-cancel-button{display:none}.recipes-kcal{padding:0;position:relative}.recipes-kcal select{appearance:none;color:inherit;font:inherit;min-height:34px;padding:0 var(--space-3);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:0}.recipes-kcal[data-active=true]{background:var(--primary-soft);color:var(--primary-soft-ink);border-color:#0000}.recipes-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));list-style:none;display:grid}@media (width>=700px){.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}.recipes-grid[aria-busy=true]{opacity:.7;transition:opacity .12s var(--ease)}.recipes-card{gap:var(--space-2);flex-direction:column;height:100%;display:flex}.recipes-card__title{font-size:var(--text-s);--lines:3;line-height:1.3}.recipes-card__match{font-size:var(--text-xs)}.recipes-card__meta,.recipes-detail__meta{gap:var(--space-3);color:var(--ink-3);font-size:var(--text-s);flex-wrap:wrap;display:flex}.recipes-card__meta{gap:4px var(--space-2);font-size:var(--text-xs)}.recipes-card__meta svg{width:13px;height:13px}.recipes-card__meta span,.recipes-detail__meta span{align-items:center;gap:4px;display:inline-flex}.recipes-detail__meta svg{width:15px;height:15px}.recipes-card__rating{color:var(--honey-soft-ink);font-weight:700}.recipes-card__meta .recipes-card__rating svg{fill:var(--honey);stroke:var(--honey-soft-ink)}.recipes-stars{gap:2px;display:inline-flex}.recipes-star{width:18px;height:18px;color:var(--border-strong);fill:none;transition:fill .12s var(--ease), color .12s var(--ease)}.recipes-star--on{color:var(--honey-soft-ink);fill:var(--honey)}.recipes-rating__input{gap:var(--space-1);display:flex}.recipes-rating__star{border-radius:var(--radius-s);cursor:pointer;background:0 0;border:0;place-items:center;width:48px;height:48px;display:inline-grid}@media (hover:hover){.recipes-rating__star:hover{background:var(--honey-soft)}}.recipes-rating__star .recipes-star{width:36px;height:36px}.recipes-rating__others{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);list-style:none;display:grid}.recipes-rating__others li{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.recipes-rating__name{min-width:6em;font-weight:600}.recipes-card__uses{color:var(--accent-soft-ink);font-weight:600}.recipes-tags{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.recipes-detail__columns{gap:var(--space-4);display:grid}@media (width>=900px){.recipes-detail__columns{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}}.recipes-ingredients{list-style:none}.recipes-ingredients li{border-bottom:1px dashed var(--border);padding:8px 0}.recipes-ingredients li:last-child{border-bottom:0}.recipes-steps{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.recipes-step{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-s);text-align:left;background:0 0;border:0;line-height:1.5;display:flex}.recipes-step:hover{background:var(--surface-2)}.recipes-step__number{border-radius:var(--radius-full);background:var(--primary-soft);width:30px;height:30px;color:var(--primary-soft-ink);font-weight:700;font-size:var(--text-s);flex-shrink:0;place-items:center;display:grid}.recipes-step__number svg{width:16px;height:16px}.recipes-step[aria-pressed=true] .recipes-step__number{background:var(--accent);color:var(--accent-ink)}.recipes-step[aria-pressed=true] .recipes-step__text{color:var(--ink-3);text-decoration:line-through}.recipes-details summary{cursor:pointer;min-height:var(--tap);align-items:center;font-weight:600;display:flex}.recipes-notes{white-space:pre-line}.recipes-detail__footer{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.recipes-inline-icon{vertical-align:-2px;width:14px;height:14px;display:inline}.recipes-highlight svg{width:12px;height:12px}.recipes-photos{gap:var(--space-2);padding-bottom:2px;list-style:none;display:flex;overflow-x:auto}.recipes-photo{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-2);flex-shrink:0;width:96px;height:128px;padding:0;position:relative;overflow:hidden}.recipes-photo img{object-fit:cover;width:100%;height:100%}.recipes-photo__remove{border-radius:var(--radius-full);color:#fff;background:#14100ca6;border:0;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:4px;right:4px}.recipes-photo__remove svg{width:16px;height:16px}.recipes-lightbox{gap:var(--space-3);flex-direction:column;display:flex}.recipes-lightbox img{object-fit:contain;border-radius:var(--radius-s);background:var(--surface-2);width:100%;max-height:70dvh}.recipes-form__pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.recipes-form__lines{font-variant-numeric:tabular-nums}.recipes-form__group{border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--space-3) var(--space-4) var(--space-4);gap:var(--space-3);flex-direction:column;margin:0;display:flex}.recipes-form__group legend{font-weight:700;font-family:var(--font-display);padding:0 var(--space-1)}.recipes-form__nutrients{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.recipes-form__micros summary{cursor:pointer;min-height:var(--tap);align-items:center;font-weight:600;display:flex}.recipes-chip-remove{border-radius:var(--radius-full);width:24px;height:24px;color:inherit;background:0 0;border:0;place-items:center;margin-right:-6px;display:grid}.recipes-chip-remove svg{width:14px;height:14px}.recipes-actions{justify-content:flex-end;gap:var(--space-2);bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:var(--space-3) 0;background:var(--bg);box-shadow:0 -1px 0 var(--border);flex-wrap:wrap;display:flex;position:sticky}@media (width<=599px){.recipes-actions>.btn--primary{flex:100%}}@media (width>=900px){.recipes-actions{bottom:0}}.recipes-plain-fieldset{border:0;min-width:0;margin:0;padding:0}.recipes-add-card{gap:var(--space-3);flex-direction:column;display:flex}.recipes-add-card__head{gap:var(--space-3);align-items:flex-start;display:flex}.recipes-add-card__icon{border-radius:var(--radius-m);background:var(--primary-soft);width:44px;height:44px;color:var(--primary-soft-ink);flex-shrink:0;place-items:center;display:grid}.recipes-add-card__icon svg{width:22px;height:22px}.recipes-claude-hint{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-m);background:var(--honey-soft);color:var(--honey-soft-ink);display:flex}.recipes-claude-hint>svg{flex-shrink:0;width:22px;height:22px}.recipes-claude-hint__prompt{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);font-weight:600}.recipes-claude-hint .muted{color:inherit;opacity:.85}.recipes-row-link{color:inherit;text-decoration:none}.recipes-row-link:hover{background:var(--surface-2)}.recipes-row-icon{width:22px;height:22px;color:var(--ink-3);flex-shrink:0}.recipes-job-message{font-size:var(--text-s);color:var(--danger-soft-ink);margin-top:4px}.recipes-review{gap:var(--space-4);display:grid}@media (width>=1000px){.recipes-review--photos{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}.recipes-review__photos{top:var(--space-4);position:sticky}.recipes-review__photos .recipes-photos{flex-direction:column;overflow:visible}.recipes-review__photos .recipes-photo{width:100%;height:auto}.recipes-review__photos .recipes-photo img{object-fit:contain;height:auto}}.recipes-card--with-image{gap:0;padding:0;overflow:hidden}.recipes-card--with-image>.dish-image{border-radius:0}.recipes-card--with-image>.dish-image img{object-position:50% 62%}.recipes-card__body{min-width:0;padding:var(--space-2) var(--space-3) var(--space-3);flex-direction:column;flex:1;gap:6px;display:flex}.dish-photo{gap:var(--space-3);flex-direction:column;display:flex}.dish-photo .dish-image--hero{max-height:360px}.dish-photo__actions{flex-wrap:wrap;align-items:center}.dish-photo__source-list{gap:var(--space-2);padding-bottom:2px;list-style:none;display:flex;overflow-x:auto}.dish-photo__source{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);width:112px;color:var(--ink-2);font:inherit;font-size:var(--text-s);cursor:pointer;flex-direction:column;gap:4px;padding:4px;display:flex}.dish-photo__source:hover,.dish-photo__source:focus-visible{border-color:var(--primary)}.dish-photo__source img{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-s);width:100%}.dish-photo__source-label{align-items:center;gap:4px;display:inline-flex}.dish-photo__source-label svg{width:14px;height:14px}.dish-crop{border-radius:var(--radius-m);background:var(--surface-2);touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.dish-crop img{width:100%;height:auto;display:block}.dish-crop__loading{min-height:200px;color:var(--ink-3);place-items:center;display:grid}.dish-crop__frame{cursor:move;border:2px solid #fff;border-radius:4px;position:absolute;box-shadow:0 0 0 9999px #2a24208c}.dish-crop__frame:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.dish-crop__zoom{gap:var(--space-1,4px);font-size:var(--text-s);color:var(--ink-2);flex-direction:column;display:flex}.dish-crop__zoom input{width:100%;accent-color:var(--primary)}.recipes-voice__interim{font-style:italic}.cook{gap:var(--space-4);min-height:calc(100dvh - var(--nav-height) - env(safe-area-inset-bottom));flex-direction:column;display:flex}.cook__header{align-items:center;gap:var(--space-3);display:flex}.cook__heading{min-width:0}.cook__title{font-weight:700}.cook__position{color:var(--ink-2);font-size:var(--text-s)}.cook__progress{border-radius:var(--radius-full);background:var(--surface-2);height:6px;overflow:hidden}.cook__progress span{background:var(--accent);height:100%;transition:width .25s;display:block}.cook__timers{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.cook__timer{align-items:center;gap:var(--space-2);padding:2px 2px 2px var(--space-3);border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary-soft-ink);font-size:var(--text-s);display:inline-flex}.cook__timer svg{width:18px;height:18px}.cook__timer-clock{font-variant-numeric:tabular-nums}.cook__timer[data-rung]{background:var(--primary);color:var(--surface);animation:1s ease-in-out infinite alternate cook-ring}@keyframes cook-ring{to{transform:scale(1.05)}}.cook__body{touch-action:pan-y;flex:1}.cook__step-title{font-family:var(--font-display)}.cook__step-number{border-radius:var(--radius-full);background:var(--primary-soft);width:48px;height:48px;color:var(--primary-soft-ink);font-family:var(--font-display);place-items:center;font-size:1.4rem;font-weight:800;display:grid}.cook__step-text{font-size:clamp(1.35rem,1.1rem + 1.4vw,2rem);font-weight:550;line-height:1.45}.cook__uses{gap:var(--space-2);flex-direction:column;display:flex}.cook__uses-title{color:var(--ink-2);font-size:var(--text-s)}.cook__uses-list{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.cook__uses-list .tag{font-size:var(--text-s);padding:6px 12px}.cook__prep{gap:var(--space-1);flex-direction:column;list-style:none;display:flex}.cook__prep-item{align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-2);border-radius:var(--radius-s);text-align:left;background:0 0;border:0;font-size:1.1rem;display:flex}.cook__prep-item:hover{background:var(--surface-2)}.cook__check{border:2px solid var(--border);border-radius:var(--radius-s);flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.cook__check svg{width:18px;height:18px}.cook__prep-item[aria-pressed=true]{color:var(--ink-3);text-decoration:line-through}.cook__prep-item[aria-pressed=true] .cook__check{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.cook__done{text-align:center;align-items:center}.cook__done-icon svg{width:56px;height:56px;color:var(--accent)}.cook__nav{gap:var(--space-3);bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:var(--space-3) 0;background:var(--bg);box-shadow:0 -1px 0 var(--border);display:flex;position:sticky}.cook__nav .btn{min-height:56px;font-size:1.05rem}.cook__nav-next{flex:1}@media (prefers-reduced-motion:reduce){.cook__progress span{transition:none}.cook__timer[data-rung]{animation:none}}.shopping-page{gap:var(--space-4)}.shopping-addbar{z-index:10;align-items:center;gap:var(--space-2);margin:0 calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4);padding-top:calc(var(--space-2) + env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(10px);display:flex;position:sticky;top:0}.shopping-addbar__input{min-height:52px;font-size:var(--text-l);border-radius:var(--radius-full);padding-inline:var(--space-4);flex:auto}.shopping-addbar .icon-btn{width:52px;height:52px}.shopping-staples{gap:var(--space-2);flex-direction:column;display:flex}.shopping-staples .section__title{align-items:center;gap:6px;display:inline-flex}.shopping-staples__star{width:16px;height:16px;color:var(--honey)}.shopping-staples__chips{list-style:none}.shopping-staples__chips .chip{min-height:var(--tap);font-size:var(--text-m)}.shopping-staples__chips .chip svg{color:var(--honey)}.shopping-staples__chips .chip--accent svg{color:var(--accent)}.shopping-staples__chip--edit{border-style:dashed}.shopping-staples__chip--edit svg{color:var(--danger)!important}.shopping-groupby{flex:220px;max-width:320px}.shopping-item{padding-left:var(--space-1);gap:var(--space-1)}.shopping-item__main{min-width:0;min-height:var(--tap);padding:var(--space-1) 0;text-align:left;background:0 0;border:0;flex-direction:column;flex:auto;justify-content:center;align-items:flex-start;display:flex}.shopping-item__text{font-size:var(--text-l);overflow-wrap:anywhere;line-height:1.3}.shopping-item--checked .shopping-item__text{color:var(--ink-3);text-decoration:line-through}.shopping-checked__toggle svg{transition:transform .16s var(--ease)}.shopping-chevron--open{transform:rotate(180deg)}.shopping-sheet__staple--on{background:var(--honey-soft);color:var(--honey-soft-ink);border-color:#0000}.shopping-sheet__shares ul{margin:var(--space-1) 0 0;padding-left:var(--space-4);color:var(--ink-2);list-style:outside}.shopping-picker{gap:var(--space-2);flex-direction:column;display:flex}.shopping-picker__list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.shopping-picker__item{align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--ink);text-align:left;transition:background .12s var(--ease), border-color .12s var(--ease);display:flex}.shopping-picker__item:hover:not(:disabled){border-color:var(--border-strong)}.shopping-picker__item[aria-pressed=true]{background:var(--accent-soft);border-color:#0000}.shopping-picker__item[aria-pressed=true] .tick__box{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.shopping-picker__item[aria-pressed=true] .tick__box svg{opacity:1}.shopping-picker__item:disabled{opacity:.75;cursor:progress}.shopping-picker__item--basic .shopping-picker__text{color:var(--ink-3)}.shopping-picker__text{overflow-wrap:anywhere;flex:auto;min-width:0}.shopping-picker__state{text-align:right;overflow-wrap:anywhere;max-width:45%;font-size:var(--text-xs);color:var(--accent-soft-ink);flex:0 auto;font-weight:650}.shopping-picker__state--other{color:var(--ink-3);font-weight:500}.shopping-week__nav strong{font-family:var(--font-display)}.shopping-week__label{align-items:center;gap:var(--space-3);width:100%}.shopping-week__label .list-row__main{flex-direction:column;display:flex}.shopping-week__row--muted .shopping-item__text{color:var(--ink-2)}.shopping-week__footer{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-2));padding-top:var(--space-2);position:sticky}@media (width>=900px){.shopping-week__footer{bottom:var(--space-4)}}@media (width<=899px){.shopping-addbar{padding-right:calc(var(--space-4) + 46px)}}.today-card{gap:var(--space-3);flex-direction:column;display:flex}.today-card__header{align-items:center;gap:var(--space-3);display:flex}.today-card__header h2{font-size:var(--text-l)}.today-card__icon{border-radius:var(--radius-full);background:var(--primary-soft);width:36px;height:36px;color:var(--primary-soft-ink);place-items:center;display:grid}.today-card__icon svg{width:20px;height:20px}.today-notices{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.today-notice{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-m);background:var(--honey-soft);color:var(--honey-soft-ink);font-weight:650;text-decoration:none;display:flex}.today-notice svg{flex-shrink:0;width:20px;height:20px}.today-points{align-items:center;gap:var(--space-3);display:flex}.today-points>svg{width:36px;height:36px;color:var(--honey);fill:var(--honey)}.today-points__value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800}.today-meals,.today-todos{flex-direction:column;list-style:none;display:flex}.today-meal{padding:var(--space-2) 0;flex-direction:column;gap:2px;display:flex}.today-meal__body{align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.today-meal+.today-meal,.today-todo+.today-todo{border-top:1px solid var(--border)}.today-meal__slot{font-size:var(--text-s);color:var(--ink-3);font-weight:600}.today-meal__title{color:var(--ink);font-weight:650}a.today-meal__title{text-decoration:none}a.today-meal__title:hover{text-decoration:underline}.today-todo{align-items:center;gap:var(--space-2);min-height:52px;display:flex}.today-todo .tick{margin-left:calc(-1 * var(--space-2))}.today-todo__title{font-weight:600}.today-todo__overdue{color:var(--danger);font-size:var(--text-s);font-weight:600}.today-todo__icon{width:18px;height:18px;color:var(--ink-3)}.today-shopping__preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width>=900px){.today-meal__slot{width:120px}}.todos-quickadd{align-items:center;gap:var(--space-2);display:flex}.todos-toolbar{align-items:flex-start;gap:var(--space-2);display:flex}.todos-filters{gap:var(--space-2);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.todos-view-toggle{flex-shrink:0}.todos-chip-member{padding-left:4px}.todos-group-title{align-items:center;gap:var(--space-2);display:flex}.todos-group-title--overdue{color:var(--danger)}.todos-row{padding-left:var(--space-1)}.todos-row__assignees{flex:none;display:inline-flex}.todos-row__assignees .avatar{box-shadow:0 0 0 2px var(--surface)}.todos-row__assignees .avatar+.avatar{margin-left:-10px}.todos-row__main{min-width:0;min-height:var(--tap);text-align:left;background:0 0;border:0;flex-direction:column;flex:auto;justify-content:center;align-items:flex-start;gap:2px;padding:0;display:flex}.todos-row__title{overflow-wrap:anywhere;font-weight:600}.todos-row--done .todos-row__title{color:var(--ink-3);text-decoration:line-through}.todos-row__meta{font-size:var(--text-s);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.todos-row__icon-text{align-items:center;gap:3px;display:inline-flex}.todos-row__due--overdue{color:var(--danger);font-weight:650}.todos-points{flex-shrink:0}.todos-date-input{width:auto;min-height:36px;padding:4px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-s)}.todos-member-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.todos-member-option{min-width:68px;padding:var(--space-2);border-radius:var(--radius-m);background:var(--surface-2);color:var(--ink);font-size:var(--text-s);border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;font-weight:600;display:inline-flex}.todos-member-option[aria-checked=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-soft-ink)}.todos-member-option:disabled{opacity:.4}.todos-member-option__none{border-radius:var(--radius-full);background:var(--surface-3);width:36px;height:36px;color:var(--ink-2);place-items:center;display:grid}.todos-children{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.todos-child-card{gap:var(--space-2);flex-direction:column;display:flex}.todos-balance{font-family:var(--font-display);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.todos-balance span{color:var(--honey)}.todos-catalog{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));list-style:none;display:grid}.todos-reward{gap:var(--space-1);padding:var(--space-3);flex-direction:column;display:flex}.todos-reward--paused{opacity:.6}.todos-reward__emoji{font-size:2.25rem;line-height:1.1}.todos-reward__title{font-size:var(--text-m);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.todos-reward__cost{color:var(--honey-soft-ink);font-weight:700}.todos-reward__actions{padding-top:var(--space-2);margin-top:auto}.todos-paused summary{cursor:pointer;color:var(--ink-2);min-height:var(--tap);align-items:center;font-weight:600;display:flex}.todos-paused .todos-catalog{margin-top:var(--space-2)}.todos-reward-form{gap:var(--space-3);grid-template-columns:96px 1fr;align-items:start;display:grid}.todos-emoji-input{text-align:center;font-size:1.4rem}.todos-entry-points{font-variant-numeric:tabular-nums;color:var(--accent-soft-ink);font-weight:700}.todos-entry-points--minus{color:var(--danger-soft-ink)}.todos-entry--rejected .list-row__main,.todos-entry--rejected .todos-entry-points{color:var(--ink-3);text-decoration:line-through}
