@import "https://fonts.googleapis.com/css2?family=Literata:opsz,wght@7..72,400..600&family=Schibsted+Grotesk:wght@400..700&family=Young+Serif&display=swap";:root{--color-bg:#f5f4f0;--color-surface:#fff;--color-surface-sunk:#ecebe5;--color-surface-past:transparent;--color-surface-hover:#efeee8;--color-chip:#ecebe5;--color-input:#fff;--color-nav-hover:#ecebe5;--color-hover-tint:#1f2a220f;--color-stack-1:#eceae3;--color-stack-2:#e2dfd6;--color-border:#e4e2da;--color-border-card:transparent;--color-divider:#eceae3;--color-border-sunk:#dad7cd;--color-border-strong:#d9d6cc;--color-border-input:#878c86;--color-border-dashed:#c9c6bb;--color-text:#1f2a22;--color-text-secondary:#3d4840;--color-text-muted:#5e6861;--color-placeholder:#6b746d;--color-text-disabled:#a3a8a2;--color-primary:#4e6b4a;--color-primary-hover:#3e5a3a;--color-primary-soft:#eaefe5;--color-primary-soft-strong:#dce5d4;--color-primary-soft-text:#2f4a2c;--color-primary-line:#a9b79f;--color-primary-muted:#c9d3c1;--color-on-primary:#fff;--color-on-primary-muted:#e3ebdc;--color-on-primary-divider:#fffbfa33;--color-leaf:#8da47e;--color-terracotta:#c2663f;--color-terracotta-ring:#c2663f4d;--color-avoid-soft:#f7e7e1;--color-warning-text:#9c3d2b;--color-error:#9c3d2b;--color-danger:#9c3d2b;--color-danger-hover:#7f3022;--avatar-1:#4e6b4a;--avatar-2:#a4532f;--avatar-3:#7a5b2f;--color-press:#ecebe5;--color-glass:#ffffffd1;--glass-filter:blur(20px) saturate(180%);--color-glass-edge:#1f2a2214;--color-scroll-fade:#f5f4f0d9;--color-sheet-backdrop:#2a332c;--color-primary-ring:#4e6b4a2e;--press-scale:.97;--duration-press:.12s;--ease-out:cubic-bezier(.2, .8, .2, 1);--duration-spring:.35s;--duration-reveal:.32s;--duration-fade:.15s;--ease-pop:cubic-bezier(.3, 1.4, .5, 1);--duration-pop:.22s;--transition-press:transform var(--duration-press) var(--ease-out), background-color var(--duration-press) ease, opacity var(--duration-press) ease;--font-body:"Schibsted Grotesk", system-ui, sans-serif;--font-display:"Literata", Georgia, serif;--font-brand:"Young Serif", Georgia, serif;--radius-sm:12px;--radius-md:12px;--radius-strip:16px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:20px;--radius-pill:999px;--radius-bar:4px;--shadow-card:none;--shadow-card-hover:none;--shadow-stack:0 0 0 1px #1f2a220f;--shadow-primary:none;--shadow-selected:0 1px 2px #1f2a2214;--shadow-nav:none;--shadow-overlay:0 12px 32px #1f2a221f, 0 1px 2px #1f2a220f;--shadow-toast:0 12px 32px #1f2a221f, 0 1px 2px #1f2a220f;--shadow-panel:0 12px 32px #1f2a221f, 0 1px 2px #1f2a220f;--shadow-sheet:0 -12px 32px #1f2a221f;--color-scrim:#1f2a223d;--focus-ring:2px solid #4e6b4a;--sidebar-width:232px;--tab-bar-height:80px;--top-bar-height:56px;--sheet-top:calc(60px + env(safe-area-inset-top,0px));--sheet-page-scale:.94;--sheet-page-peek:14px;--settings-label-width:15.5rem;--settings-gap:56px;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-synthesis:none;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}@media (prefers-contrast:more){:root{--color-border-card:var(--color-border)}}*{box-sizing:border-box}@keyframes reveal{0%{opacity:0;transform:translateY(-6px)}}@keyframes fade-in{0%{opacity:0}}body{background:var(--color-bg);min-width:320px;margin:0;font-size:.9375rem;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-primary-hover)}a:hover{color:var(--color-primary-soft-text)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}::placeholder{color:var(--color-placeholder);opacity:1}.turnstile{gap:8px;display:grid}.turnstile .form-error{margin:0}.expand-icon{transition:transform var(--duration-spring) var(--ease-out);flex:none}.expand-icon.is-open{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.expand-icon{transition:none}}.button{border-radius:var(--radius-pill);text-align:center;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:8px;max-width:100%;padding:6px 20px;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button>svg{flex:none}.button:disabled{opacity:.5;cursor:not-allowed}.button--sm{gap:6px;min-height:40px;padding:6px 16px;font-size:.875rem}.button--sm.button--with-icon{padding:6px 16px 0 12px}.button--md{min-height:46px}.button--md.button--with-icon{padding:6px 20px 0 16px}.button--lg{min-height:48px;padding:6px 22px}.button--lg.button--with-icon{gap:10px;padding:6px 24px 0 20px}.button--block{width:100%;display:flex}.button--disclosure.button--sm{padding:6px 12px 0 14px}.button--disclosure.button--md{padding:6px 16px 0 20px}.button--primary,.button--primary:hover{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.button--primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.button--secondary,.button--secondary:hover{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.button--secondary:hover:not(:disabled){background:var(--color-chip)}.button--primary.button--danger,.button--primary.button--danger:hover{border-color:var(--color-danger);background:var(--color-danger);font-weight:700}.button--primary.button--danger:hover:not(:disabled){border-color:var(--color-danger-hover);background:var(--color-danger-hover)}.button--secondary.button--danger,.button--secondary.button--danger:hover{border-color:var(--color-danger);color:var(--color-danger);font-weight:700}.button--ghost{padding:6px 12px}.button--ghost,.button--ghost:hover{color:var(--color-primary);background:0 0}.button--ghost.button--with-icon{padding:6px 12px}.button--ghost:hover:not(:disabled){color:var(--color-primary-hover)}.button--ghost.button--neutral,.button--ghost.button--neutral:hover{color:var(--color-text-secondary)}.button--ghost.button--neutral:hover:not(:disabled){color:var(--color-text)}.button--ghost.button--danger,.button--ghost.button--danger:hover{color:var(--color-error)}.button--ghost:hover:not(:disabled){text-decoration:underline}.button--text{padding:6px 18px}.button--text,.button--text:hover{color:var(--color-primary-soft-text);background:0 0}.button--text:hover:not(:disabled){background:var(--color-primary-soft)}.button--flush{margin-left:-12px}.button--dashed,.button--dashed:hover{border:1px dashed var(--color-border-input);border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);background:0 0;font-size:.875rem}.button--dashed:hover:not(:disabled){background:var(--color-surface);border-style:solid}@media (width>=1024px){.button--primary.button--lg{box-shadow:var(--shadow-primary)}.button--primary.button--danger.button--lg{box-shadow:none}}@media (width<=1023px){.button--sm{min-height:44px}.button--md{min-height:48px}.button--lg{min-height:52px;font-size:1rem}.button--dashed,.button--dashed:hover{border-radius:var(--radius-md);min-height:48px;font-size:.9375rem}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:600}.field-group{flex-direction:column;gap:8px;min-width:0;display:flex}.field__hint,.field__error{margin:0;font-size:.8125rem}.field__hint{color:var(--color-text-muted)}.field__error{color:var(--color-error)}.field-control{border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-input);width:100%;min-width:0;color:var(--color-text);font-size:.9375rem}.field-control:disabled{opacity:.6;cursor:not-allowed}.field-control[aria-invalid=true]{border-color:var(--color-error)}.field-control--input{min-height:46px;padding:0 14px}.field-control--textarea{resize:vertical;min-height:76px;padding:10px 12px;line-height:1.45}.field-control--compact{border-radius:var(--radius-sm)}.field-control--input.field-control--compact{min-height:44px;padding:0 12px}.field-affix{display:block;position:relative}.field-affix .field-control--input{padding-right:48px}.field-affix__suffix{color:var(--color-text-muted);pointer-events:none;font-size:.9375rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.search-field{min-width:0;position:relative}.search-field>svg{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-field .field-control--input{min-height:48px;padding:0 16px 0 46px}.search-field--pill .field-control--input{border-radius:var(--radius-pill)}@media (width<=1023px){.field-control{font-size:1rem}.field-control--input{min-height:48px}.field-control--compact{border-radius:var(--radius-md)}.field-control--input.field-control--compact{min-height:48px}.search-field>svg{left:14px}.search-field .field-control--input{padding:0 14px 0 44px}.search-field--pill .field-control--input{border-radius:var(--radius-md)}}.segmented-control{border-radius:var(--radius-pill);background:var(--color-surface-sunk);flex-wrap:wrap;gap:4px;max-width:100%;padding:4px;display:inline-flex}.segmented-control__option,a.segmented-control__option:hover{border-radius:var(--radius-pill);min-height:42px;color:var(--color-text-secondary);text-align:center;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.segmented-control__option>svg,.segmented-control__icon{flex:none;display:flex}:is(.segmented-control__option:has(>svg),.segmented-control__option:has(>.segmented-control__icon)){padding:0 16px 0 12px}.segmented-control__option:hover:not(.is-selected,:disabled){color:var(--color-text)}.segmented-control__option:disabled{opacity:.5;cursor:not-allowed}.segmented-control__option.is-selected,a.segmented-control__option.is-selected:hover{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-selected);font-weight:600}.segmented-control__label--mobile{display:none}.segmented-control--block{grid-template-columns:repeat(var(--segment-count), minmax(0, 1fr));width:100%;display:grid}.segmented-control--block .segmented-control__option{padding:0 6px}@media (width<=1023px){.segmented-control{grid-template-columns:repeat(var(--segment-count), minmax(0, 1fr));width:100%;display:grid}.segmented-control__option,a.segmented-control__option:hover{min-height:44px;padding:0 6px}.segmented-control__option:has(>svg){min-height:44px;padding:0 6px}.segmented-control__option:has(>.segmented-control__icon){min-height:44px;padding:0 6px}.segmented-control__icon,.segmented-control__label--desktop{display:none}.segmented-control__label--mobile{display:inline}}.card{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden}.card--radius-2xl{border-radius:var(--radius-2xl)}.card--padding-md{padding:16px}.card--padding-lg{padding:24px}.card--sunk{background:var(--color-surface-sunk);box-shadow:none;border-color:#0000}.card--primary{background:var(--color-primary);box-shadow:none;color:var(--color-on-primary);border:0}.card--emphasis{border:1.5px solid var(--color-primary);box-shadow:none}.card--divided>*+*{border-top:1px solid var(--color-divider)}.card-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card-header__text{flex-direction:column;gap:2px;min-width:0;display:flex}.card-header__title{margin:0;font-size:1.3125rem;line-height:1.25}.card-header__note,.card-header__aside{color:var(--color-text-muted);font-size:.8125rem;line-height:1.35}.card-header__aside{flex:none}@media (width<=1023px){.card--radius-2xl{border-radius:var(--radius-xl)}.card--padding-lg{padding:18px}.card-header__title{font-size:1.1875rem}.card--flat-mobile{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.card--flat-mobile .card-header__title{font-size:1.3125rem}.card-header--hide-mobile{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.brand,.brand:hover{color:var(--color-primary);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand__name{font-family:var(--font-brand);letter-spacing:-.02em;font-size:1.375rem;line-height:1}.brand--sm,.brand--sm:hover{gap:8px}.brand--sm .brand__name{font-size:1.25rem}.brand--lg .brand__name{font-size:1.5625rem}.auth-screen{place-items:center;min-height:100svh;padding:32px 17px;display:grid}.auth-panel{width:min(100%,430px);padding:38px}.auth-panel>.brand{margin-bottom:24px}.auth-panel h1{margin:0 0 12px;font-size:2.625rem;line-height:1.1}.auth-copy{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0 0 24px;font-size:.9375rem;line-height:1.5}.auth-panel>.form-error{margin:0 0 16px}.auth-actions{gap:10px;display:grid}.auth-switch{margin-bottom:22px}.auth-form{gap:16px;display:grid}.auth-form .form-error{margin:0}.auth-link{justify-self:start;margin-top:-8px;margin-bottom:-8px}.auth-divider{color:var(--color-text-muted);align-items:center;gap:12px;margin:20px 0;font-size:.75rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-divider);flex:1;height:1px}@media (width<=560px){.auth-panel{padding:26px 20px}.auth-panel h1{font-size:2.25rem}}.icon-button{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button--sm{width:40px;height:40px}a.icon-button:hover{color:var(--color-text)}.icon-button:disabled{cursor:not-allowed}.icon-button--outline{border-color:var(--color-border-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.icon-button--outline:hover:not(:disabled){border-color:var(--color-border-input)}.icon-button--outline:disabled{color:var(--color-text-disabled);background:0 0}.icon-button--ghost:hover:not(:disabled){background:var(--color-chip)}.icon-button--ghost:disabled{opacity:.45}.icon-button--primary{background:var(--color-primary);box-shadow:var(--shadow-primary);color:var(--color-on-primary)}.icon-button--primary:hover:not(:disabled),a.icon-button--primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.icon-button--ring{border:0;border-radius:50%;width:40px;height:40px;position:relative}.icon-button--ring:before{border:1px solid var(--color-border);content:"";width:40px;height:40px;transition:background-color var(--duration-press) ease;border-radius:50%;margin:-20px 0 0 -20px;position:absolute;top:50%;left:50%}.icon-button--ring>svg{position:relative}.icon-button--ring:hover:not(:disabled):before{background:var(--color-chip)}.icon-button--round{border-radius:50%;width:46px;height:46px}.icon-button--round.icon-button--outline{border-color:var(--color-border-strong);box-shadow:none}.icon-button--muted{color:var(--color-text-muted)}.icon-button--muted:hover:not(:disabled){color:var(--color-text)}.icon-button[aria-pressed=true],.icon-button[aria-pressed]:hover:not(:disabled){color:var(--color-primary)}@media (width<=1023px){.icon-button{border-radius:var(--radius-md)}.icon-button--sm,.icon-button--ring{width:44px;height:44px}.icon-button--ring{border-radius:50%}.icon-button--round{border-radius:50%;width:48px;height:48px}}html.has-sheet{background:var(--color-sheet-backdrop)}.sheet-backdrop{z-index:24;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0;transform:none}.sheet-backdrop__scrim{background:var(--color-scrim);opacity:0;transform-origin:50% 0;position:absolute;inset:0}.sheet{top:var(--sheet-top);z-index:25;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface);box-shadow:var(--shadow-sheet);position:fixed;bottom:0;left:0;right:0;overflow:hidden}.sheet:focus{outline:none}.sheet--fit{max-height:calc(100% - var(--sheet-top));flex-direction:column;display:flex;top:auto}.sheet--fit .sheet__scroll{flex:0 auto;height:auto;min-height:0}.sheet--fit .sheet__content{min-height:0}.sheet__grabber{z-index:7;border-radius:var(--radius-pill);background:var(--color-border-strong);pointer-events:none;width:36px;height:4px;margin-left:-18px;position:absolute;top:8px;left:50%}.sheet__scroll{overscroll-behavior:contain;height:100%;overflow:hidden auto}.sheet__content{min-height:100%;padding:0 20px calc(28px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.sheet__header{z-index:6;background:var(--color-surface);flex:none;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 -20px;padding:24px 14px 8px 20px;display:flex;position:sticky;top:0}[data-sheet-handle]{touch-action:none;-webkit-user-select:none;user-select:none}.sheet__header-actions{flex-direction:row-reverse;flex:none;align-items:center;gap:4px;margin-top:-4px;display:flex}.sheet__title{flex-direction:column;gap:4px;min-width:0;padding-top:4px;display:flex}.sheet__title h1{overflow-wrap:anywhere;font-family:var(--font-body);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:650;line-height:1.25}.sheet__title span{color:var(--color-text-muted);font-size:.875rem;line-height:1.45}.sheet__body{flex-direction:column;flex:1 0 auto;padding-top:12px;display:flex}.undo-toast-region{bottom:24px;right:0;left:var(--sidebar-width);z-index:30;pointer-events:none;justify-content:center;max-width:1360px;padding:0 44px;display:flex;position:fixed}.undo-toast{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);width:min(520px,100%);box-shadow:var(--shadow-toast);color:var(--color-text);pointer-events:auto;animation:undo-toast-in var(--duration-reveal) var(--ease-out);align-items:center;gap:6px;padding:5px 5px 5px 15px;display:flex}.undo-toast.is-leaving{pointer-events:none;animation:undo-toast-out var(--duration-fade) ease forwards}.undo-toast__countdown{font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.6875rem;font-weight:700;line-height:1;display:flex;position:relative}.undo-toast__countdown svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.undo-toast__ring{fill:none;stroke:currentColor;stroke-width:2px;opacity:.25}.undo-toast__ring--left{stroke:var(--color-primary);stroke-dasharray:1;opacity:1}.undo-toast__countdown.is-running .undo-toast__ring--left{animation:undo-toast-count var(--undo-toast-shown) linear forwards}.undo-toast.is-leaving .undo-toast__ring--left{animation-play-state:paused}.undo-toast__message{overflow-wrap:anywhere;flex:auto;min-width:0;padding-left:4px;font-size:.875rem;line-height:1.35}.undo-toast__undo,.undo-toast__close{border-radius:var(--radius-md);background:0 0;border:0;flex:none;justify-content:center;align-items:center;min-height:44px;padding:0 12px;display:flex}.undo-toast__undo{border-radius:var(--radius-pill);color:var(--color-primary-soft-text);padding:0 14px;font-size:.9375rem;font-weight:600}.undo-toast__undo:enabled:hover{background:var(--color-primary-soft)}.undo-toast__undo:disabled{opacity:.45;cursor:default}.undo-toast__close{border-radius:var(--radius-sm);width:44px;color:var(--color-text-muted);padding:0}.undo-toast__close:hover{background:var(--color-chip)}@keyframes undo-toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes undo-toast-fade{0%{opacity:0}}@keyframes undo-toast-out{to{opacity:0}}@keyframes undo-toast-count{to{stroke-dashoffset:1px}}@media (width<=1023px){.undo-toast-region{bottom:calc(12px + var(--tab-bar-height) + env(safe-area-inset-bottom));max-width:none;padding:0 12px;left:0}.app-layout--focused~.undo-toast-region{bottom:calc(12px + var(--sticky-bar-height,env(safe-area-inset-bottom)))}}@media (width<=19.9em){.undo-toast{flex-wrap:wrap;justify-content:flex-end;padding-left:6px}.undo-toast__countdown{margin:0 auto 0 10px}.undo-toast__message{flex-basis:100%;order:-1;padding:8px 10px 0}}@media (prefers-reduced-motion:reduce){.undo-toast{animation:undo-toast-fade var(--duration-fade) ease}.undo-toast__countdown.is-running .undo-toast__ring--left{animation:none}}.avatar{width:calc(var(--avatar-size) * 1px);height:calc(var(--avatar-size) * 1px);border:2px solid var(--avatar-ring);color:var(--color-on-primary);font-size:min(var(--avatar-text,.75rem), calc(var(--avatar-size) * .45px));border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.avatar--18{--avatar-text:.5rem}.avatar--24,.avatar--28{--avatar-text:.625rem}.avatar--26,.avatar--30{--avatar-text:.6875rem}.avatar--40{--avatar-text:.8125rem}.avatar--44{--avatar-text:.875rem}.avatar--56{--avatar-text:1.1875rem}.avatar--72{--avatar-text:1.5rem}.avatar--ring-bg{--avatar-ring:var(--color-bg)}.avatar--ring-surface{--avatar-ring:var(--color-surface)}.avatar--ring-none{border:0}.avatar--more{background:var(--color-chip);color:var(--color-text-secondary)}.avatar--placeholder{border:1.5px dashed var(--color-border-input);color:var(--color-text-muted);font-size:calc(var(--avatar-size) / 16 * .38rem)}.avatar--placeholder-filled{background:var(--color-chip);color:var(--color-text-secondary);border:0}.avatar-stack{display:inline-flex}.avatar-stack>.avatar+.avatar{margin-left:-9px}.avatar-stack--large>.avatar+.avatar{margin-left:-12px}.household-card,.household-card:hover{border-radius:var(--radius-sm);color:var(--color-text);align-items:center;gap:12px;margin-top:auto;padding:10px 12px;text-decoration:none;display:flex}.household-card:hover{background:var(--color-nav-hover)}.household-card__text{flex-direction:column;min-width:0;display:flex}.household-card__name{overflow-wrap:anywhere;font-size:.875rem;font-weight:600;line-height:1.3}.household-card__count{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.household-avatars{flex:none;justify-content:flex-end;align-items:center;min-width:44px;height:44px;padding:0 6px;display:flex}.app-header{display:none}@media (width<=1023px){.app-header{z-index:6;min-height:var(--top-bar-height);background:var(--color-bg);justify-content:space-between;align-items:center;margin:0 -20px;padding:0 14px 0 20px;display:flex;position:sticky;top:0}.app-header>.brand{min-height:44px}}.sidebar{max-width:var(--sidebar-width);flex:1 1 var(--sidebar-width);border-right:1px solid var(--color-border);flex-direction:column;gap:36px;padding:28px 14px 22px;display:flex}.sidebar>.brand{align-self:flex-start;padding:0 10px}.sidebar__nav{flex-direction:column;gap:22px;display:flex}.sidebar__group--divided{border-top:1px solid var(--color-border);padding-top:20px}.sidebar__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar__link,.sidebar__link:hover{border-radius:var(--radius-sm);min-height:40px;color:var(--color-text-secondary);align-items:center;gap:12px;padding:0 12px;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.sidebar__link>svg{flex:none}.sidebar__label{flex-grow:1}.sidebar__link:hover{background:var(--color-nav-hover);color:var(--color-text)}.sidebar__link.is-active{background:var(--color-primary-soft);color:var(--color-primary-soft-text);font-weight:600}.sidebar__badge{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.8125rem}.sidebar__group-label{color:var(--color-text-muted);margin:0;padding:0 12px 6px;font-size:.8125rem;font-weight:500}@media (width<=1023px){.sidebar{display:none}}.link-card,.link-card:hover{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);color:var(--color-text);transition:var(--transition-press), border-color .15s ease;align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.link-card:hover{border-color:var(--color-border-input)}.link-card__icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);flex:none;justify-content:center;align-items:center;display:flex}.link-card__text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.link-card__eyebrow{color:var(--color-text-muted);font-size:.75rem;font-weight:600;line-height:1.3}.link-card__title{overflow-wrap:anywhere;font-size:1rem;font-weight:600;line-height:1.3}.link-card--display .link-card__text{gap:3px}.link-card--display .link-card__title{font-family:var(--font-display);font-size:1.0625rem;font-weight:500}.link-card__description{color:var(--color-text-muted);font-size:.8125rem;line-height:1.4}.link-card__chevron{color:var(--color-text-muted);flex:none}.link-card--compact,.link-card--compact:hover{border-radius:var(--radius-strip);gap:12px;padding:14px 16px}.link-card--compact .link-card__chevron{width:18px;height:18px}@media (width<=1023px){.link-card--display .link-card__title{font-size:1.125rem}}.more-sheet__backdrop{inset:0;bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));z-index:18;background:var(--color-scrim);cursor:default;border:0;position:fixed;transform:none}.more-sheet{right:0;bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));z-index:19;max-height:calc(100svh - var(--tab-bar-height) - env(safe-area-inset-bottom) - 40px);overscroll-behavior:contain;border-top:1px solid var(--color-border);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;background:var(--color-bg);box-shadow:var(--shadow-overlay);flex-direction:column;gap:12px;padding:0 16px 16px;display:flex;position:fixed;left:0;overflow-y:auto}.more-sheet:focus{outline:none}.more-sheet__top{padding-top:20px;position:relative}.more-sheet__grabber{border-radius:var(--radius-pill);background:var(--color-border-dashed);width:38px;height:5px;margin-left:-19px;position:absolute;top:8px;left:50%}.more-sheet__top>.more-sheet__label{margin:0;padding:0 4px}.more-sheet__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.more-sheet__list .link-card[aria-current=page]{border-color:var(--color-primary)}@media (width>=1024px){.more-sheet,.more-sheet__backdrop{display:none}}.tab-bar{z-index:20;height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));padding:6px 6px calc(18px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));display:none;position:fixed;bottom:0;left:0;right:0}.tab-bar:before{background:linear-gradient(to top, var(--color-scroll-fade), transparent);content:"";pointer-events:none;height:20px;position:absolute;bottom:100%;left:0;right:0}.tab-bar__tab,.tab-bar__tab:hover{min-width:0;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:min(.75rem,max(12px,3.2vw));font-weight:500;line-height:1.2;text-decoration:none;display:flex}button.tab-bar__tab{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.tab-bar__icon{border-radius:var(--radius-pill);justify-content:center;align-items:center;width:52px;max-width:100%;height:30px;display:flex}.tab-bar__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab-bar__tab.is-active{color:var(--color-primary-soft-text);font-weight:600}.tab-bar__tab.is-active .tab-bar__icon{background:var(--color-primary-soft)}@media (width<=1023px){.tab-bar{display:grid}}.app-layout{flex-wrap:wrap;min-height:100svh;display:flex}.app-layout__content{flex:999 560px;grid-template-columns:minmax(0,1080px);align-content:start;min-width:0;padding:40px 48px 56px;display:grid;position:relative;overflow-x:clip}.app-layout__top-mark{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}@media (width<=1023px){.app-layout__content{padding:16px 20px calc(28px + var(--tab-bar-height) + env(safe-area-inset-bottom))}.app-layout--header .app-layout__content{--collapse-top:calc(var(--top-bar-height) + 16px);padding-top:0}.app-layout--focused .app-layout__content{padding:0 20px calc(28px + env(safe-area-inset-bottom))}}.app-layout--held{background:var(--color-bg);transform-origin:50% 0;position:fixed;inset:0;overflow:hidden}.app-layout--held .app-layout__content{height:100%;overflow:hidden}.load-error{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.load-error__message{color:var(--color-error);margin:0;font-size:.875rem}.modal-backdrop{z-index:40;background:var(--color-scrim);cursor:default;border:0;position:fixed;inset:0;transform:none}.modal-dialog{z-index:41;border:1px solid var(--color-border-card);border-radius:var(--radius-xl);background:var(--color-surface);width:min(520px,100vw - 32px);max-height:calc(100svh - 64px);box-shadow:var(--shadow-overlay);grid-template-columns:minmax(0,1fr);gap:16px;padding:28px 28px 20px;display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal-dialog__heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-dialog__heading h2{margin:0;line-height:1.3}.modal-dialog__heading .icon-button{margin:-9px -10px -9px 0}.modal-text{overflow-wrap:anywhere;color:var(--color-text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.modal-sheet{flex-direction:column;gap:18px;padding-top:6px;display:flex}@media (width<=1023px){.modal-dialog{border-radius:var(--radius-xl);width:calc(100vw - 24px);max-height:calc(100svh - 40px);padding:20px}.modal-actions>*{flex:auto}.modal-sheet .modal-actions{justify-content:flex-start;gap:4px;padding-top:4px}.modal-sheet .modal-actions>*{flex:none}.modal-sheet .modal-actions>.button--primary{flex:auto}}.confirm-dialog{gap:20px;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page-header__main{align-items:flex-end;gap:20px;min-width:0;display:flex}.page-header__text{flex-direction:column;gap:4px;min-width:0;display:flex}.page-header__text>.page-header__eyebrow{margin:0;font-size:.8125rem}.page-header__title{margin:0}.page-header__description{max-width:60ch;color:var(--color-text-muted);margin:4px 0 0;font-size:1rem;line-height:1.5}@media (width>=1024px){.page-header{margin-bottom:12px}.page-header__text{gap:6px}.page-header__description{margin:0}.page-header__text--compact>.page-header__description{font-size:.9375rem;line-height:1.2}}.page-header__nav{flex:none;padding-bottom:4px}.page-header__trailing{display:none}.page-header__actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:10px;display:flex}@media (width<=1023px){.page-header{flex-flow:column;align-items:stretch;gap:16px;padding-top:10px}.page-header:not(:first-child){padding-top:0}.page-header__main{justify-content:space-between;gap:12px}.page-header__description{font-size:.9375rem;line-height:1.45}.page-header__nav{padding-bottom:0}.page-header__trailing{flex:none;display:flex}.page-header__actions{flex-direction:column;align-items:stretch}.page-header__actions--desktop{display:none}}@media (width<=19.9em){.page-header__main{flex-wrap:wrap}.page-header__text{flex:100%}}.week-nav{gap:8px;display:flex}.week-nav--round{gap:6px}.week-nav--round .icon-button{border-color:var(--color-border);border-radius:50%;position:relative}.week-nav--round .icon-button:disabled{opacity:1;color:var(--color-text-disabled)}@media (width<=1023px){.week-nav--round{gap:4px;margin-right:-2px}.week-nav--round .icon-button,.week-nav--round .icon-button:hover:not(:disabled){background:0 0;border-color:#0000}.week-nav--round .icon-button:before{border:1px solid var(--color-border);content:"";border-radius:50%;position:absolute;inset:3px}}.radio-circle{border:1.5px solid var(--color-border-input);background:var(--color-surface);width:24px;height:24px;transition:background-color var(--duration-press) ease, border-color var(--duration-press) ease;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.radio-circle:after{background:var(--color-on-primary);content:"";opacity:0;border-radius:50%;width:8px;height:8px}.radio-circle__input:checked+.radio-circle{border-color:var(--color-primary);background:var(--color-primary)}.radio-circle__input:checked+.radio-circle:after{opacity:1}.radio-circle__input:focus-visible+.radio-circle{outline:var(--focus-ring);outline-offset:3px}@media (prefers-reduced-motion:reduce){.radio-circle{transition:none}}.radio-cards{--radio-cards-line:var(--color-border);border:0;min-width:0;margin:0;padding:0}.radio-cards__legend{color:var(--color-text-secondary);padding:0 0 8px;font-size:.8125rem;font-weight:600}.radio-cards__options{grid-template-columns:repeat(auto-fill, minmax(max(12rem, 100% / var(--radio-cards-columns,1) - .1px), 1fr));box-shadow:inset 0 1px 0 var(--radio-cards-line);display:grid}.radio-cards__card{min-width:0;min-height:56px;box-shadow:inset 0 -1px 0 var(--radio-cards-line);color:var(--color-text);cursor:pointer;align-items:center;gap:14px;padding:0 4px;font-size:.9375rem;font-weight:400;display:flex;position:relative}.radio-cards__card.is-selected{font-weight:600}@media (hover:hover){.radio-cards__card:hover .radio-circle__input:not(:checked)+.radio-circle{border-color:var(--color-primary-line)}}.radio-cards__media{flex:none;display:flex}.radio-cards__label{overflow-wrap:anywhere;min-width:0;line-height:1.3}@media (prefers-contrast:more){.radio-cards{--radio-cards-line:var(--color-border-input)}}.toggle-pill{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);min-width:56px;min-height:40px;color:var(--color-text);background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:.875rem;font-weight:500;display:inline-flex}.toggle-pill>svg{flex:none}.toggle-pill:hover:not(:disabled):not(.is-selected){background:var(--color-chip)}.toggle-pill:disabled{opacity:.5;cursor:not-allowed}.toggle-pill.is-selected:disabled{opacity:1}.toggle-pill--with-icon{padding-left:12px}.toggle-pill.is-selected{border-color:var(--color-primary-line);background:var(--color-primary-soft);color:var(--color-primary-soft-text);font-weight:600}.toggle-pill.is-selected:hover:not(:disabled){background:var(--color-primary-soft-strong)}.toggle-pill--compact{min-width:58px;padding:0 14px;font-weight:600}.toggle-pill-group{flex-wrap:wrap;gap:8px;display:flex}@media (width<=1023px){.toggle-pill{min-height:44px}.toggle-pill--compact,.toggle-pill--compact.is-selected{border-radius:50%;width:44px;min-width:44px;padding:0;font-weight:700}.toggle-pill-group{scrollbar-width:none;flex-wrap:nowrap;margin:0 -20px;padding:0 20px;overflow-x:auto}.toggle-pill-group>*{white-space:nowrap;flex:none}.toggle-pill-group--wrap{flex-wrap:wrap;margin:0;padding:0;overflow-x:visible}}.expense-form{flex-direction:column;gap:24px;display:flex}.expense-form__amount{border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-input);min-height:64px;transition:border-color var(--duration-press) ease;align-items:center;gap:10px;padding:0 18px 0 16px;display:flex}.expense-form__amount:focus-within{outline:var(--focus-ring);outline-offset:2px}.expense-form__amount.is-invalid{border-color:var(--color-error)}.expense-form__amount input{width:0;min-width:0;min-height:56px;color:var(--color-text);letter-spacing:-.02em;background:0 0;border:0;outline:0;flex:1 1 0;padding:0;font-size:1.75rem;font-weight:600;line-height:1.2}.expense-form__amount span{color:var(--color-text-muted);flex:none;font-size:1.125rem;font-weight:500}.expense-form__optional{color:var(--color-text-muted);font-weight:400}.expense-form__dates{flex-wrap:wrap;gap:8px;display:flex}.expense-form input[type=date]::-webkit-date-and-time-value{text-align:left}.expense-form__error{margin:0}.expense-form__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 10px;padding-top:4px;display:flex}.expense-form__buttons{align-items:center;gap:8px;display:flex}.expense-form__delete{margin-right:auto}@media (prefers-reduced-motion:reduce){.expense-form__amount{transition:none}}@media (width<=1023px){.expense-form{flex:1 0 auto}.expense-form__actions{z-index:1;margin:auto -20px calc(-28px - env(safe-area-inset-bottom));padding:12px 20px calc(24px + env(safe-area-inset-bottom));flex-flow:column;align-items:stretch;gap:4px;position:sticky;bottom:0}.expense-form__delete{align-self:flex-start;margin:0}.expense-form__save{flex:auto}}.figures{font-variant-numeric:tabular-nums}.figures__mark{font-variant-numeric:normal}.meter{border-radius:var(--radius-pill);background:var(--color-surface-sunk);display:block;overflow:hidden}.meter--sm{height:6px}.meter--md{height:8px}.meter__fill{border-radius:var(--radius-pill);height:100%;transition:width .2s;display:block}.meter--primary .meter__fill{background:var(--color-primary)}.meter--terracotta .meter__fill{background:var(--color-terracotta)}@media (prefers-reduced-motion:reduce){.meter__fill{transition:none}}.expenses-page{--expenses-line:var(--color-border);flex-direction:column;gap:24px;min-width:0;display:flex}.expenses-page>.form-error,.expenses-page .form-hint,.expenses-page h2{margin:0}.expenses-page__grid{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"sum rail""chart rail""trips rail";align-items:start;gap:48px 56px;display:grid}.expenses-page__sum,.expenses-page__chart,.expenses-page__trips,.expenses-page__rail{flex-direction:column;gap:16px;min-width:0;display:flex}.expenses-page__sum{grid-area:sum}.expenses-page__chart{grid-area:chart}.expenses-page__trips{grid-area:trips}.expenses-page__rail{grid-area:rail;gap:40px}@media (width<=1099px){.expenses-page__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"sum""rail""chart""trips"}}.spending-sum{flex-direction:column;gap:12px;display:flex}.spending-sum__label{letter-spacing:0;font-size:.9375rem;font-weight:600;line-height:1.5}.spending-sum__figure{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;display:flex}.spending-sum__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2rem;font-weight:600;line-height:1}.spending-sum__value.is-over{color:var(--color-warning-text)}.spending-sum__budget{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:1.0625rem}.spending-sum .meter{margin-top:4px}.spending-sum__meta{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.5}.spending-figures{box-shadow:inset 0 1px 0 var(--expenses-line);flex-direction:column;display:flex}.spending-figure{box-shadow:inset 0 -1px 0 var(--expenses-line);color:var(--color-text);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 16px;padding:14px 0;text-decoration:none;display:grid}.spending-figure__label{font-size:.9375rem;font-weight:600}.spending-figure__value{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:1.0625rem;font-weight:600}.spending-figure__note{color:var(--color-text-muted);grid-column:1/-1;font-size:.875rem}.spending-figure__note a{font-weight:600}.week-bars{flex-direction:column;gap:16px;display:flex}.week-bars__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.week-bars__legend{color:var(--color-text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.week-bars__dash{border-top:2px dashed var(--color-border-dashed);width:20px}.week-bars__chart{--plot-height:176px;--value-height:38px;--label-height:32px;position:relative}.week-bars__plot{margin:0;padding:0;list-style:none;display:flex}.week-bars__plot>li{flex:1 1 0;min-width:0;display:flex}.week-bars__chart.has-average:after{right:0;bottom:calc(var(--label-height) + var(--average) * var(--plot-height));z-index:1;border-top:2px dashed var(--color-border-dashed);content:"";pointer-events:none;position:absolute;left:0}.week-bar{border-radius:var(--radius-sm);min-width:0;color:var(--color-text-muted);font-variant-numeric:tabular-nums;background:0 0;border:0;flex-direction:column;flex:auto;align-items:center;padding:0;font-size:.8125rem;font-weight:400;display:flex}.week-bar:focus-visible{outline-offset:-2px}.week-bar__column{width:100%;height:calc(var(--plot-height) + var(--value-height));box-shadow:inset 0 -1px 0 var(--expenses-line);flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;display:flex}.week-bar__value{z-index:2;border-radius:var(--radius-bar);background:var(--color-bg);white-space:nowrap;padding:0 4px;position:relative}.week-bar__fill{width:24px;height:max(6px, var(--share) * var(--plot-height));border-radius:var(--radius-bar) var(--radius-bar) 0 0;background:var(--color-primary-muted);transition:background-color var(--duration-press) ease;flex:none}.week-bar.is-empty .week-bar__fill{height:0}.week-bar.is-empty[aria-current=true] .week-bar__fill{border-radius:var(--radius-bar);height:3px}.week-bar__label{height:var(--label-height);white-space:nowrap;justify-content:center;align-items:flex-end;gap:4px;display:flex}.week-bar[aria-current=true]{color:var(--color-text);font-weight:600}.week-bar[aria-current=true] .week-bar__fill{background:var(--color-primary)}@media (hover:hover){.week-bar:not([aria-current=true]):hover{color:var(--color-text)}.week-bar:not([aria-current=true]):hover .week-bar__fill{background:var(--color-primary-line)}}.week-bars__note{color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.expense-list{flex-direction:column;gap:12px;display:flex}.expense-list__empty{box-shadow:inset 0 1px 0 var(--expenses-line);color:var(--color-text-muted);margin:0;padding-top:16px;font-size:.9375rem;line-height:1.55}.expense-list__empty strong{color:var(--color-text);font-weight:600}.expense-list__scroll{overflow-x:auto}.trip-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.9375rem}.trip-table th{border-bottom:1px solid var(--expenses-line);color:var(--color-text-muted);text-align:left;padding:0 12px 10px;font-size:.8125rem;font-weight:500}.trip-table td{height:56px;padding:10px 12px}.trip-table tbody td{border-bottom:1px solid var(--expenses-line)}.trip-table th:first-child,.trip-table td:first-child{padding-left:0}.trip-table tfoot td{height:auto;padding-top:14px;padding-bottom:0;font-weight:600}.trip-table__when{color:var(--color-text-secondary);white-space:nowrap}.trip-table__payer{align-items:center;gap:8px;display:inline-flex}.trip-table__note{overflow-wrap:anywhere;font-weight:500}.trip-table__none{color:var(--color-text-muted);font-weight:400}.trip-table .trip-table__amount{text-align:right;white-space:nowrap;padding-right:0;font-weight:600}.trip-table th.trip-table__amount{font-weight:500}.trip-table .trip-table__edit{text-align:right;width:48px;padding:4px 0 4px 8px}.payer-sums{flex-direction:column;gap:14px;display:flex}.payer-sums__rows{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.payer-sums__rows>li{align-items:center;gap:12px;display:flex}.payer-sums__body{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.payer-sums__line{justify-content:space-between;align-items:baseline;gap:12px;font-size:.9375rem;display:flex}.payer-sums__name{overflow-wrap:anywhere;min-width:0;font-weight:600}.payer-sums__name--muted{color:var(--color-text-muted);font-weight:500}.payer-sums__amount{white-space:nowrap;flex:none;font-weight:600}.payer-sums__split{box-shadow:inset 0 1px 0 var(--expenses-line);color:var(--color-text-secondary);margin:0;padding-top:10px;font-size:.875rem;line-height:1.45}@media (width>=1024px){.payer-sums__split{display:none}}.expenses-page__ticked{color:var(--color-text-muted);align-items:flex-start;gap:10px;margin:0;font-size:.9375rem;line-height:1.5;display:flex}.expenses-page__ticked>svg{flex:none;margin-top:2px}.expenses-page__ticked strong{color:var(--color-text);font-weight:600}@media (width<=1023px){.expenses-page{gap:28px}.expenses-page__stack{flex-direction:column;gap:28px;display:flex}.expenses-page__figures{flex-direction:column;gap:20px;display:flex}.expenses-page__stack>.button{margin-top:-4px}.expenses-page__stack>.expense-list,.expenses-page__stack>.payer-sums{margin-top:12px}.expense-list{gap:10px}.payer-sums__rows{gap:12px}.spending-sum{gap:10px}.spending-sum__label{color:var(--color-text-muted);font-weight:500}.spending-sum__figure{gap:4px 10px}.spending-sum__budget{font-size:1rem}.spending-sum__budget-desktop{display:none}.spending-sum .meter,.payer-sums .meter{height:4px}.spending-sum__meta{font-size:.875rem}.spending-figure{gap:12px;min-height:52px}.spending-figure__label{font-weight:400}.spending-figure__value{font-size:1rem}.spending-figure--link{grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;padding:0}.spending-figure__chevron{color:var(--color-text-muted)}.week-bars__chart{--plot-height:112px;--label-height:30px}.week-bar__fill{width:20px}.week-bar:not([aria-current=true]) .week-bar__value,.week-bar__label-word{display:none}.expense-list__empty{padding-top:14px}.trip-rows{box-shadow:inset 0 1px 0 var(--expenses-line);margin:0;padding:0;list-style:none}.trip-rows>li{box-shadow:inset 0 -1px 0 var(--expenses-line)}.trip-row{border-radius:var(--radius-strip);width:calc(100% + 24px);min-height:64px;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:32px minmax(0,1fr) auto 16px;align-items:center;column-gap:12px;margin:0 -12px;padding:10px 12px;display:grid}.trip-row:active{background:var(--color-press)}.trip-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.trip-row__title{overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.35}.trip-row__meta{color:var(--color-text-muted);font-size:.8125rem}.trip-row__amount{white-space:nowrap;font-size:.9375rem;font-weight:600}.trip-row__chevron{color:var(--color-text-muted)}.expense-list__total{justify-content:space-between;gap:12px;margin:0;padding-top:4px;font-size:.9375rem;font-weight:600;display:flex}}@media (width<=1023px) and (hover:hover){.trip-row:hover{background:var(--color-surface-hover)}}@media (prefers-contrast:more){.expenses-page{--expenses-line:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.week-bar__fill{transition:none}}.back-bar{align-items:center;display:flex}.back-bar__link,.back-bar__link:hover{border-radius:var(--radius-pill);min-height:40px;color:var(--color-text-secondary);align-items:center;gap:6px;margin-left:-12px;padding:0 16px 0 8px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.back-bar__link:hover{background:var(--color-chip);color:var(--color-text)}.back-bar__link>svg{flex:none;width:18px;height:18px}.back-bar__label--mobile,.back-bar--mobile-only{display:none}.back-bar__trailing{align-items:center;margin-left:auto;display:flex}@media (width<=1023px){.back-bar{z-index:6;min-height:var(--top-bar-height);background:var(--color-bg);justify-content:space-between;margin:0 -20px;padding:0 8px 0 6px;display:flex;position:sticky;top:0}.back-bar--mobile-only{margin-top:-16px}.back-bar__link,.back-bar__link:hover{min-height:44px;color:var(--color-text);gap:2px;margin-left:0;padding:0 14px 0 6px;font-size:1rem;font-weight:600}.back-bar__link>svg{width:22px;height:22px}.back-bar__label--desktop{display:none}.back-bar__label--mobile{display:inline}}.empty-state{border:1.5px dashed var(--color-border-dashed);border-radius:var(--radius-2xl);background:var(--color-surface);flex-direction:column;align-items:flex-start;gap:16px;padding:24px;display:flex}.empty-state__text{flex-direction:column;gap:4px;max-width:520px;display:flex}.empty-state__text .eyebrow{margin:0;font-size:.8125rem}.empty-state__title{margin:0;font-size:1.375rem;line-height:1.25}.empty-state__text p{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.empty-state__actions{flex-wrap:wrap;gap:10px;display:flex}.empty-state--plain{background:0 0;border:0;border-radius:0;padding:24px 0 8px}.empty-state--plain .empty-state__text{gap:6px}.empty-state--plain .empty-state__title{letter-spacing:-.01em;font-size:1.25rem}.empty-state--plain .empty-state__text p{font-size:.9375rem}@media (width<=1023px){.empty-state{align-items:stretch;gap:14px;padding:20px 18px 18px}.empty-state__actions{flex-flow:column}.empty-state--plain{align-items:flex-start;gap:16px;padding:8px 0 0}.empty-state--plain .empty-state__title{font-size:1.125rem}.empty-state--plain .empty-state__actions{flex-flow:wrap}}.notice{border-radius:var(--radius-strip);background:var(--color-primary-soft);color:var(--color-primary-soft-text);align-items:center;gap:12px;padding:12px 14px;display:flex}.notice>svg{flex:none}.notice__text{flex-direction:column;gap:2px;min-width:0;display:flex}.notice__title{font-size:.9375rem;font-weight:600;line-height:1.3}.notice__note{font-size:.8125rem;line-height:1.35}.notice--error{border-radius:var(--radius-md);background:var(--color-avoid-soft);color:var(--color-warning-text);align-items:flex-start;gap:10px;padding:14px 16px}.notice--error>svg{margin-top:3px}.notice--error .notice__title{font-weight:400;line-height:1.5}@media (prefers-contrast:more){.notice--error{box-shadow:inset 0 0 0 1px var(--color-warning-text)}}.screen-header{flex-direction:column;gap:14px;margin-top:-8px;display:flex}.screen-header__text{flex-direction:column;gap:6px;display:flex}.screen-header__title{margin:0}.screen-header__subtitle{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.45}.screen-bar{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:60px;margin:0 -12px -16px;display:grid}.screen-bar__text{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.screen-bar__text h1{font-family:var(--font-body);letter-spacing:0;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.screen-bar__text span{color:var(--color-text-muted);font-size:.8125rem}.side-panel-region{z-index:25;position:fixed;inset:0}.side-panel-scrim{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0;transform:none}.side-panel-scrim__dim{box-shadow:0 0 0 200vmax var(--color-scrim);animation:side-panel-fade-in var(--duration-spring) ease;pointer-events:none;position:absolute}.side-panel-scrim__dim.is-whole{background:var(--color-scrim);box-shadow:none;inset:0}.side-panel-region.is-leaving .side-panel-scrim__dim{animation:side-panel-fade-out var(--duration-spring) ease forwards}.side-panel-region.is-leaving .side-panel-scrim{pointer-events:none}.side-panel{width:clamp(480px, 480px + (100vw - var(--sidebar-width) - 1440px) / 2, 640px);border-radius:var(--radius-xl) 0 0 var(--radius-xl);max-width:100%;position:absolute;top:0;bottom:0;right:0}.side-panel-region.is-leaving .side-panel{pointer-events:none}.side-panel__surface{border-radius:inherit;background:var(--color-surface);box-shadow:var(--shadow-panel);position:absolute;inset:0}.side-panel__scroll{overscroll-behavior:contain;border-radius:inherit;height:100%;position:relative;overflow:hidden auto}.side-panel__surface,.side-panel__scroll{animation:side-panel-in var(--duration-spring) var(--ease-out)}.side-panel-region.is-leaving .side-panel>*{animation:side-panel-out var(--duration-spring) var(--ease-out) forwards}.side-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 0;display:flex}.side-panel__title{flex-direction:column;gap:4px;min-width:0;display:flex}.side-panel__title h2{overflow-wrap:anywhere;letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:650;line-height:1.25}.side-panel__title span{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:.875rem;line-height:1.45}.side-panel__close{margin:-4px -4px 0 0}@keyframes side-panel-in{0%{opacity:0;transform:translate(32px)}}@keyframes side-panel-out{to{opacity:0;transform:translate(32px)}}@keyframes side-panel-fade-in{0%{opacity:0}}@keyframes side-panel-fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.side-panel__surface,.side-panel__scroll,.side-panel-scrim__dim{animation:side-panel-fade-in var(--duration-fade) ease}.side-panel-region.is-leaving .side-panel>*,.side-panel-region.is-leaving .side-panel-scrim__dim{animation:side-panel-fade-out var(--duration-fade) ease forwards}}@media (prefers-contrast:more){.side-panel__surface{box-shadow:0 0 0 1px var(--color-text), var(--shadow-panel)}}.action-bar{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px 14px 20px;display:flex}.action-bar__note{min-width:0;color:var(--color-text-secondary);flex:300px;font-size:.875rem;line-height:1.45}.action-bar__buttons{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}@media (width<=1023px){.action-bar--stacked{box-shadow:none;background:0 0;border:0;border-radius:0;flex-flow:column-reverse;align-items:stretch;gap:10px;padding:0}.action-bar--stacked .action-bar__note{color:var(--color-text-muted);text-align:center;flex:none;font-size:.8125rem}.action-bar--stacked .action-bar__buttons{flex-flow:column-reverse;align-items:stretch;gap:10px;margin:0}.action-bar--sticky{z-index:5;margin:0 -20px calc(-28px - env(safe-area-inset-bottom));padding:12px 20px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:0;flex-flow:column;align-items:stretch;gap:10px;position:sticky;bottom:0}.action-bar--sticky .action-bar__note{flex:none}.action-bar--sticky .action-bar__buttons{flex-wrap:nowrap;gap:10px;margin:0}.action-bar--sticky .action-bar__buttons>:last-child{flex:auto}}.stepper{border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-input);flex:none;justify-content:space-between;align-items:center;width:160px;min-height:46px;display:inline-flex}.stepper--block{width:100%;display:flex}.stepper__button{border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-text);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.stepper__button:hover:not(:disabled){background:var(--color-chip)}.stepper__button:disabled{opacity:.35;cursor:not-allowed}.stepper__value{font-size:1rem;font-weight:700}.stepper--round{background:0 0;border:0;border-radius:0;justify-content:flex-start;gap:4px;width:auto;min-height:40px}.stepper--round .stepper__button{border-radius:50%;width:40px;height:40px;position:relative}.stepper--round .stepper__button:before{border:1px solid var(--color-border);content:"";border-radius:50%;position:absolute;inset:0}.stepper--round .stepper__button:disabled{opacity:.45}.stepper--round .stepper__value{min-width:var(--stepper-value-width,6.5rem);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;font-size:1rem;font-weight:600}@media (width<=1023px){.stepper{min-height:48px}.stepper--field:not(.stepper--block){width:140px}.stepper__button{height:46px}.stepper--round{min-height:48px}.stepper--round .stepper__button{width:44px;height:44px}.stepper--round .stepper__button:before{inset:2px}.stepper--round .stepper__button:hover:not(:disabled){background:0 0}}.meal-edit-form{flex-direction:column;gap:32px;max-width:720px;display:flex}.meal-edit-form__group{flex-direction:column;gap:12px;min-width:0;display:flex}.meal-edit-form__group+.meal-edit-form__group{border-top:1px solid var(--color-border);padding-top:32px}.meal-edit-form__group--details{gap:20px}.meal-edit-form__heading{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:650;line-height:1.25}.meal-edit-form__group--details>.meal-edit-form__heading{margin-bottom:-4px}.meal-edit-form__heading-row{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:4px;display:flex}.meal-edit-form__count{color:var(--color-text-muted);font-size:.8125rem}.meal-edit-form__details{grid-template-columns:11.25rem auto;justify-content:start;align-items:start;gap:20px;display:grid}.meal-edit-form__types{flex-wrap:wrap;gap:8px;display:flex}.meal-edit-form__ingredient-labels,.meal-edit-form__ingredient{grid-template-columns:6.875rem minmax(0,1fr) 40px;align-items:center;gap:8px 10px;display:grid}.meal-edit-form__ingredient-labels{color:var(--color-text-muted);margin-bottom:-4px;font-size:.8125rem}.meal-edit-form__rows{flex-direction:column;gap:8px;display:flex}.meal-edit-form__step{grid-template-columns:26px minmax(0,1fr) 40px;align-items:start;gap:10px;display:grid}.meal-edit-form__step-number{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;margin-top:11px;font-size:.9375rem;font-weight:600}.meal-edit-form__step .meal-edit-form__remove{margin-top:2px}.meal-edit-form__add.button{justify-content:flex-start;width:calc(100% - 50px);margin-top:4px;padding-left:16px}.meal-edit-form__rows:has(.meal-edit-form__step)+.meal-edit-form__add.button{width:calc(100% - 86px);margin-left:36px}.meal-edit-form__error{margin:0}@media (width>=1024px){.meal-edit-form__actions.action-bar{border:0;border-top:1px solid var(--color-border);box-shadow:none;background:0 0;border-radius:0;padding:24px 0 0}.meal-edit-form__actions .action-bar__note{color:var(--color-text-muted);font-size:.8125rem;line-height:1.6}}.meal-edit-form__note{color:var(--color-text-muted);margin:-8px 0 0;font-size:.8125rem;line-height:1.6}@media (width<=1023px){.meal-edit-form{gap:28px;max-width:none}.meal-edit-form__group+.meal-edit-form__group{padding-top:28px}.meal-edit-form__group--details{gap:18px}.meal-edit-form__group--details>.meal-edit-form__heading{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.meal-edit-form__heading{font-size:1.125rem}.meal-edit-form__details{grid-template-columns:minmax(0,6.25rem) auto;gap:16px 18px}.meal-edit-form__ingredient-labels,.meal-edit-form__ingredient{grid-template-columns:5.5rem minmax(0,1fr) 44px;gap:8px 6px}.meal-edit-form__ingredient>.meal-edit-form__amount{padding:0 10px}.meal-edit-form__step{grid-template-columns:20px minmax(0,1fr) 44px;gap:6px}.meal-edit-form__step-text{min-height:98px}.meal-edit-form__add.button{width:calc(100% - 50px);margin-top:2px}.meal-edit-form__rows:has(.meal-edit-form__step)+.meal-edit-form__add.button{width:calc(100% - 76px);margin-left:26px}}.collapse{margin-top:calc(-1 * var(--collapse-gap,0px));scroll-margin:var(--collapse-top,16px) 0 24px;transition:grid-template-rows var(--duration-spring) var(--ease-out);grid-template-rows:0fr;grid-template-columns:minmax(0,1fr);display:grid;overflow:visible clip}@media (width<=1023px){.collapse{scroll-margin-bottom:calc(28px + var(--tab-bar-height) + env(safe-area-inset-bottom))}}.collapse.is-open{transition:grid-template-rows var(--duration-spring) var(--ease-out), overflow 0s var(--duration-spring) allow-discrete;grid-template-rows:1fr;overflow:visible}.collapse__row{min-height:0;display:block}.collapse__content{padding-top:var(--collapse-gap,0px);opacity:0;transition:opacity var(--duration-reveal) var(--ease-out), transform var(--duration-reveal) var(--ease-out);display:block;transform:translateY(-6px)}.collapse.is-open>.collapse__row>.collapse__content{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.collapse,.collapse.is-open{transition:none}.collapse__content{transition:opacity var(--duration-fade) ease;transform:none}}.recipe-library{align-items:flex-start;gap:28px;display:flex}.recipe-library__main{flex-direction:column;flex:999 560px;gap:16px;min-width:0;display:flex}.recipe-library__count{color:var(--color-text-muted);margin:0;font-size:.875rem}.recipe-library__main>.empty-state{align-self:stretch}.recipe-library__more{align-self:center}.recipe-library__source{color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.library-rows{--library-hairline:var(--color-border);box-shadow:inset 0 1px 0 var(--library-hairline);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.library-row{min-height:76px;box-shadow:inset 0 -1px 0 var(--library-hairline);isolation:isolate;grid-template-columns:minmax(0,1fr) 72px 116px 212px 44px;align-items:center;column-gap:20px;padding:14px 4px 14px 12px;display:grid;position:relative}.library-row:last-child{box-shadow:none}.library-row:before{z-index:-1;border-radius:var(--radius-strip);content:"";transition:background-color var(--duration-press) ease;position:absolute;inset:0}.library-row:has(.library-row__title a:active):before{background:var(--color-press)}.library-row__text{flex-direction:column;gap:3px;min-width:0;display:flex}.library-row__title{overflow-wrap:break-word;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.008em;margin:0;font-size:1.25rem;font-weight:500;line-height:1.3}.library-row__title a,.library-row__title a:hover{color:var(--color-text);text-decoration:none}.library-row__title a:after{border-radius:var(--radius-strip);content:"";position:absolute;inset:0}.library-row__title a:active{transform:none}.library-row__title a:focus-visible{outline:none}.library-row__title a:focus-visible:after{box-shadow:0 0 0 2px var(--color-primary)}.library-row__meta{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.45}.library-row__meta--narrow{display:none}.library-row__source{display:block}.library-row__time,.library-row__kcal{color:var(--color-text-secondary);white-space:nowrap;justify-self:end;font-size:.9375rem}.library-row__time.is-sorted,.library-row__kcal.is-sorted{color:var(--color-text);font-weight:600}.library-row__origin{min-width:0;color:var(--color-text-secondary);flex-direction:column;gap:2px;font-size:.875rem;line-height:1.4;display:flex}.library-row__uses{color:var(--color-text-muted);font-size:.8125rem}.library-row__favorite{position:relative}@media (hover:hover){.library-row:hover:before{background:var(--color-surface-hover)}.library-row:hover .library-row__title a{-webkit-text-decoration:underline 1px var(--color-primary-line);text-decoration:underline 1px var(--color-primary-line);text-underline-offset:4px}}.library-rows__empty{box-shadow:inset 0 1px 0 var(--color-border)}.recipe-library-page .recipe-library__more{align-self:flex-start}.recipe-library-page .recipe-library__source{margin:4px 12px 0}@media (width<=1240px){.library-row{grid-template-columns:minmax(0,1fr) 44px}.library-row__time,.library-row__kcal,.library-row__origin,.library-row__meta--wide{display:none}.library-row__meta--narrow{line-height:1.5;display:block}}.recipe-row__title button{max-width:100%;color:inherit;font:inherit;overflow-wrap:break-word;text-align:left;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:12 4 4;background:0 0;border:0;padding:0}.recipe-details{flex-direction:column;gap:28px;min-width:0;display:flex}.recipe-details__head{flex-direction:column;gap:16px;display:flex}.recipe-details__about{flex-direction:column;gap:4px;display:flex}.recipe-details__facts,.recipe-details__tags,.recipe-details__sharing{margin:0}.recipe-details__facts{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.45}.recipe-details__tags,.recipe-details__sharing{color:var(--color-text-muted);font-size:.875rem;line-height:1.55}.recipe-details__shared{color:var(--color-primary-soft-text);align-items:center;gap:6px;padding-top:4px;font-size:.875rem;font-weight:600;display:inline-flex}.recipe-library--panel,.recipe-library--sheet{display:block}.recipe-library--panel .recipe-library__main,.recipe-library--sheet .recipe-library__main{gap:24px}.recipe-library__replacing{color:var(--color-text-muted);align-items:center;gap:10px;margin:0;font-size:.875rem;line-height:1.45;display:flex}.recipe-library__replacing svg{color:var(--color-text-secondary);flex:none}.recipe-library__replacing span{overflow-wrap:anywhere;min-width:0}.suggest-recipe{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px;padding-bottom:24px;display:grid}.suggest-recipe__text{flex-direction:column;gap:4px;min-width:0;display:flex}.suggest-recipe__title{letter-spacing:0;margin:0;font-size:.9375rem;font-weight:600;line-height:1.4}.suggest-recipe__description{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.suggest-recipe__error{margin:4px 0 0}.recipe-library__pick-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.recipe-library__filter-bar{flex-direction:column;gap:12px;display:flex}.recipe-library__search-row{align-items:center;gap:8px;display:flex}.recipe-library__search{flex:auto;min-width:0}.recipe-library__more-filter-groups{--collapse-gap:12px}.recipe-library__more-filter-list{border-top:1px solid var(--color-divider);flex-direction:column;gap:12px;padding-top:16px;display:flex}.recipe-library__filter-count{border-radius:var(--radius-pill);background:var(--color-primary);min-width:20px;height:20px;color:var(--color-on-primary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;font-weight:600;display:inline-flex}.recipe-library--panel .recipe-library__count,.recipe-library--sheet .recipe-library__count{line-height:1.55}.recipe-library--panel .recipe-library__count+.recipe-rows,.recipe-library--sheet .recipe-library__count+.recipe-rows{margin-top:-8px}.recipe-rows{border-top:1px solid var(--color-border);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recipe-row{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;min-width:0;padding:16px 0;display:flex}.recipe-row__heading{align-items:flex-start;gap:8px;display:flex}.recipe-row__title{min-width:0;font-family:var(--font-display);letter-spacing:-.008em;flex:auto;margin:0;padding-top:2px;font-size:1.25rem;font-weight:500;line-height:1.3}.recipe-row__title button:hover{-webkit-text-decoration:underline 1px var(--color-primary-line);text-decoration:underline 1px var(--color-primary-line);text-underline-offset:4px}.recipe-row__favorite{margin:-5px -10px -7px 0}.recipe-row__meta,.recipe-row__note{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.45}.recipe-row__note{color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.recipe-row__note svg{flex:none}.recipe-row__footer{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.recipe-row__source{min-width:0;color:var(--color-text-muted);font-size:.8125rem;line-height:1.45}@media (width<=1023px){.recipe-library{flex-direction:column;align-items:stretch;gap:16px}.recipe-library__main{flex:none}.library-row{align-items:start;column-gap:4px;min-height:0;padding:4px 0}.library-row:before,.library-row__title a:after{border-radius:var(--radius-sm);inset:4px 48px 4px -8px}.library-row__text{padding:10px 0}.library-row__title{text-wrap:pretty;font-size:1.0625rem}.library-row__meta--narrow{font-size:.8125rem}.library-row__favorite{margin:4px -10px 0 0}.recipe-library-page .recipe-library__source{margin:6px 0 0}.suggest-recipe{grid-template-columns:minmax(0,1fr);justify-items:start;row-gap:12px}.suggest-recipe__text{gap:6px}.suggest-recipe__title{letter-spacing:-.01em;font-size:1.125rem;font-weight:650}.suggest-recipe__description{font-size:.9375rem}.recipe-library__pick-title{clip-path:none;white-space:normal;width:auto;height:auto;margin:0 0 -8px;font-size:1.125rem;line-height:1.3;position:static;overflow:visible}.recipe-row__title{font-size:1.0625rem}.recipe-row__servings{display:none}}@media (prefers-contrast:more){.library-rows{--library-hairline:var(--color-border-input)}.library-rows__empty{box-shadow:inset 0 1px 0 var(--color-border-input)}}.nutrition-facts{flex-direction:column;min-width:0;display:flex}.nutrition-facts__heading{margin:0}.nutrition-facts--stacked .nutrition-facts__heading{letter-spacing:-.01em;font-size:1.0625rem;font-weight:650}.nutrition-facts--stacked .nutrition-facts__table{margin-top:10px}.nutrition-facts--stacked .nutrition-facts__table thead th{padding-bottom:8px;font-size:.8125rem;font-weight:500}.nutrition-facts--stacked .nutrition-facts__table th[scope=row]{font-weight:400}.nutrition-facts--stacked .nutrition-facts__table th+th,.nutrition-facts--stacked .nutrition-facts__table td+td{padding-left:16px}.nutrition-facts--stacked .nutrition-facts__source{margin-top:10px}.nutrition-facts__table{border-collapse:collapse;width:100%;margin-top:14px;font-size:.9375rem;line-height:1.4}.nutrition-facts__table th,.nutrition-facts__table td{border-bottom:1px solid var(--color-divider);text-align:right;height:38px;padding:0}.nutrition-facts__table th+th,.nutrition-facts__table td+td{padding-left:20px}.nutrition-facts__table td,.nutrition-facts__table thead th{white-space:nowrap}.nutrition-facts__table th[scope=row]{text-align:left;font-weight:500}.nutrition-facts__table thead th{border-color:var(--recipe-hairline,var(--color-border));height:auto;color:var(--color-text-muted);padding-bottom:10px;font-size:.875rem;font-weight:600}.nutrition-facts__part th[scope=row]{color:var(--color-text-muted);padding-left:16px;font-size:.875rem;font-weight:400}.nutrition-facts__part td{color:var(--color-text-muted)}@media (width>=1241px){.nutrition-facts--page .nutrition-facts__part th[scope=row]{white-space:nowrap}}.nutrition-facts__note{color:var(--color-text-muted);align-items:flex-start;gap:8px;margin:16px 0 0;font-size:.875rem;line-height:1.5;display:flex}.nutrition-facts__info{flex:none;margin-top:1px}.nutrition-facts__source{color:var(--color-text-muted);margin:16px 0 0;font-size:.8125rem;line-height:1.6}.nutrition-facts__note+.nutrition-facts__source{margin:6px 0 0 26px}.nutrition-source-link{color:inherit;text-underline-offset:2px;text-decoration:underline}@media (width<=1023px){.nutrition-facts--page{padding-top:4px}.nutrition-facts--page .nutrition-facts__heading{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nutrition-facts--page .nutrition-facts__table{margin-top:0}.nutrition-facts--page .nutrition-facts__table th,.nutrition-facts--page .nutrition-facts__table td{height:44px}.nutrition-facts--page .nutrition-facts__table thead th{height:auto;font-size:.8125rem}.nutrition-facts--page .nutrition-facts__table th+th,.nutrition-facts--page .nutrition-facts__table td+td{padding-left:16px}.nutrition-facts--page .nutrition-facts__part th[scope=row]{padding-left:14px}}.checkbox{min-height:44px;color:var(--color-text);cursor:pointer;align-items:center;gap:10px;font-size:.875rem;line-height:1.45;display:inline-flex}.checkbox__input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex:none;margin:0}.checkbox:has(.checkbox__input:disabled){opacity:.6;cursor:not-allowed}.checkbox-input.is-ticked:checked,.checkbox-circle__input.is-ticked:checked+.checkbox-circle{animation:checkbox-tick var(--duration-pop) var(--ease-pop)}.checkbox-circle{width:var(--checkbox-circle-size,24px);height:var(--checkbox-circle-size,24px);border:1.5px solid var(--color-border-input);background:var(--color-surface);color:var(--color-on-primary);transition:background-color var(--duration-press) ease, border-color var(--duration-press) ease, transform var(--duration-press) var(--ease-out);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.checkbox-circle>svg{opacity:0}.checkbox-circle__input:checked+.checkbox-circle{border-color:var(--color-primary);background:var(--color-primary)}.checkbox-circle__input:checked+.checkbox-circle>svg{opacity:1}.checkbox-circle__input:focus-visible+.checkbox-circle{outline:var(--focus-ring);outline-offset:3px}@keyframes checkbox-tick{0%{transform:scale(.8)}}@media (width<=1023px){.checkbox{gap:12px;font-size:.9375rem}.checkbox__input{width:20px;height:20px}}@media (prefers-reduced-motion:reduce){.checkbox-input.is-ticked:checked,.checkbox-circle__input.is-ticked:checked+.checkbox-circle{animation:none}}.recipe-body{--recipe-hairline:var(--color-border)}.recipe-body__ingredients-section,.recipe-body__steps-section,.recipe-body__aside,.recipe-body__after,.recipe-body__panel{flex-direction:column;min-width:0;display:flex}.recipe-body__heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.recipe-body__heading{margin:0}.recipe-body__servings{color:var(--color-text-muted);font-size:.875rem;font-weight:600}.recipe-body__ingredients{margin:0;padding:0;list-style:none}.recipe-body__ingredient{flex:auto;grid-template-columns:5.75rem minmax(0,1fr);align-items:baseline;column-gap:14px;min-width:0;display:grid}.recipe-body__ingredient strong{font-weight:600}.recipe-body__check{--checkbox-circle-size:22px;cursor:pointer;align-items:flex-start;gap:14px;display:flex}.recipe-body__check .checkbox-circle{margin-top:2px}.recipe-body__check:hover .checkbox-circle__input:not(:checked)+.checkbox-circle{border-color:var(--color-primary)}.recipe-body__check.is-ticked .recipe-body__ingredient{color:var(--color-text-muted);-webkit-text-decoration:line-through 1px var(--color-primary-line);text-decoration:line-through 1px var(--color-primary-line)}.recipe-body__steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recipe-body__step{grid-template-columns:2.25rem minmax(0,1fr);align-items:start;column-gap:16px;min-width:0;display:grid}label.recipe-body__step{cursor:pointer}.recipe-body__step input:focus-visible+.recipe-body__step-number{outline:var(--focus-ring);outline-offset:3px}.recipe-body__step-number{border-radius:var(--radius-pill);height:31px;color:var(--color-primary-hover);font-variant-numeric:tabular-nums;letter-spacing:-.03em;align-items:center;font-size:1.5rem;font-weight:600;line-height:1;display:flex}.recipe-body__step-check{background:var(--color-primary);width:28px;height:28px;color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.recipe-body__step-check>svg{width:16px;height:16px}.recipe-body__step-text{min-width:0;font-size:1.125rem;line-height:1.7}.recipe-body__step.is-ticked .recipe-body__step-text{color:var(--color-text-muted)}.recipe-body--page{box-shadow:inset 0 1px 0 var(--recipe-hairline);grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:48px 64px;margin-top:40px;padding-top:36px;display:grid}.recipe-body--page .recipe-body__ingredients-section{grid-area:1/1}.recipe-body--page .recipe-body__steps-section{grid-area:1/2}.recipe-body--page .recipe-body__aside{grid-area:2/1}.recipe-body--page .recipe-body__after{grid-area:2/2}.recipe-body--page .recipe-body__heading-row{min-height:44px}.recipe-body--page .recipe-body__ingredients{box-shadow:inset 0 1px 0 var(--recipe-hairline);margin-top:14px}.recipe-body--page .recipe-body__ingredients>li{box-shadow:inset 0 -1px 0 var(--recipe-hairline)}.recipe-body--page .recipe-body__ingredients>li>.recipe-body__ingredient,.recipe-body--page .recipe-body__check{padding:12px 0;font-size:1.0625rem;line-height:1.45}.recipe-body--page .recipe-body__check{border-radius:var(--radius-strip);transition:background-color var(--duration-press) ease;margin:0 -12px;padding:12px}.recipe-body--page .recipe-body__check:hover{background:var(--color-surface-hover)}.recipe-body--page .recipe-body__steps{gap:2px;margin-top:10px}.recipe-body--page .recipe-body__step{border-radius:var(--radius-strip);margin:0 -16px;padding:18px 16px}.recipe-body--page label.recipe-body__step{transition:background-color var(--duration-press) ease}.recipe-body--page label.recipe-body__step:hover{background:var(--color-surface-hover)}.recipe-body--page .recipe-body__step-text{max-width:58ch}.recipe-body--stacked{--stacked-hairline:var(--color-divider);flex-direction:column;gap:28px;display:flex}.recipe-body--stacked .recipe-body__aside{order:1}.recipe-body--stacked .recipe-body__ingredients-section{gap:10px}.recipe-body--stacked .recipe-body__steps-section{gap:12px}.recipe-body--stacked .recipe-body__heading-row{align-items:baseline}.recipe-body--stacked .recipe-body__heading{letter-spacing:-.01em;font-size:1.0625rem;font-weight:650}.recipe-body--stacked .recipe-body__servings{font-variant-numeric:tabular-nums;font-weight:400}.recipe-body--stacked .recipe-body__ingredients{box-shadow:inset 0 1px 0 var(--stacked-hairline);font-size:.9375rem;line-height:1.45}.recipe-body--stacked .recipe-body__ingredients>li{box-shadow:inset 0 -1px 0 var(--stacked-hairline)}.recipe-body--stacked .recipe-body__ingredient{grid-template-columns:6rem minmax(0,1fr);column-gap:12px;padding:9px 0}.recipe-body--stacked .recipe-body__to-taste{color:var(--color-text-muted)}.recipe-body--stacked .recipe-body__steps{gap:14px}.recipe-body--stacked .recipe-body__step{grid-template-columns:1.75rem minmax(0,1fr);column-gap:0}.recipe-body--stacked .recipe-body__step-number{height:auto;color:var(--color-text-muted);letter-spacing:0;font-size:.9375rem;line-height:1.55}.recipe-body--stacked .recipe-body__step-text{font-size:.9375rem;line-height:1.55}@media (width>=1024px) and (width<=1240px){.recipe-body--page{grid-template-columns:minmax(0,312px) minmax(0,1fr);column-gap:48px}}@media (width>=1024px) and (width<=1100px){.recipe-body--page{grid-template-columns:minmax(0,1fr)}.recipe-body--page>*{max-width:620px}.recipe-body--page .recipe-body__ingredients-section,.recipe-body--page .recipe-body__steps-section,.recipe-body--page .recipe-body__aside,.recipe-body--page .recipe-body__after{grid-area:auto/1}.recipe-body--page .recipe-body__steps-section{order:1}.recipe-body--page .recipe-body__aside{order:2}.recipe-body--page .recipe-body__after{order:3}}@media (width<=1023px){.recipe-body--page{box-shadow:none;flex-direction:column;align-items:stretch;gap:0;margin-top:28px;padding-top:0;display:flex}.recipe-body__panel{padding-top:16px}.recipe-body--page .recipe-body__heading-row{justify-content:flex-start;min-height:48px}.recipe-body--page .recipe-body__steps-section .recipe-body__heading-row{min-height:0}.recipe-body--page .recipe-body__heading-row .stepper{margin-left:-2px}.recipe-body--page .recipe-body__ingredients{margin-top:10px}.recipe-body--page .recipe-body__ingredient{grid-template-columns:5.5rem minmax(0,1fr)}.recipe-body--page .recipe-body__ingredients>li>.recipe-body__ingredient,.recipe-body--page .recipe-body__check{min-height:52px;padding:14px 0;line-height:1.4}.recipe-body--page .recipe-body__check{--checkbox-circle-size:24px;border-radius:0;margin:0}.recipe-body--page .recipe-body__check .checkbox-circle{margin-top:0}.recipe-body--page .recipe-body__check:hover{background:0 0}.recipe-body__check:active .checkbox-circle,label.recipe-body__step:active .recipe-body__step-number{transform:scale(.92)}.recipe-body__step-number{transition:transform var(--duration-press) var(--ease-out)}.recipe-body--page .recipe-body__steps{gap:0;margin-top:0}.recipe-body--page .recipe-body__step{grid-template-columns:1.875rem minmax(0,1fr);column-gap:14px;margin:0;padding:14px 0}.recipe-body--page label.recipe-body__step:hover{background:0 0}.recipe-body--page .recipe-body__step-number{height:29px;font-size:1.375rem}.recipe-body--page .recipe-body__step-check{width:26px;height:26px}.recipe-body--page .recipe-body__step-check>svg{width:15px;height:15px}.recipe-body--page .recipe-body__step-text{max-width:none;font-size:1.0625rem}}@media (prefers-contrast:more){.recipe-body{--recipe-hairline:var(--color-border-input)}.recipe-body--stacked{--stacked-hairline:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.recipe-body__check:active .checkbox-circle,label.recipe-body__step:active .recipe-body__step-number{transform:none}}.badge{border-radius:var(--radius-pill);font-family:var(--font-body);white-space:nowrap;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:700;line-height:1.5;display:inline-flex}.badge--eyebrow{min-height:24px;font-size:inherit;letter-spacing:inherit;padding:0 9px;line-height:1}.badge--today,.badge--primary{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.badge--terracotta{background:var(--color-avoid-soft);color:var(--color-warning-text)}.badge--solid{background:var(--color-primary);color:var(--color-on-primary)}@media (width<=1023px){.badge--eyebrow{padding:0 8px}}.recipe-page{--recipe-hairline:var(--color-border);flex-direction:column;min-width:0;margin-top:-6px;display:flex}.recipe-page__header{flex-direction:column;min-width:0;padding-top:22px;display:flex}.recipe-page__title{overflow-wrap:break-word;max-width:28ch;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;text-wrap:pretty;margin:0;font-size:2.5rem;font-weight:500;line-height:1.1}.recipe-page__line{color:var(--color-text-muted);margin:14px 0 0;font-size:1.0625rem;line-height:1.45}.recipe-page__today{color:var(--color-primary-hover);font-weight:600}.recipe-page__header>.recipe-facts{margin-top:20px}.recipe-page__shared{color:var(--color-primary-soft-text);align-items:center;gap:6px;margin-top:14px;font-size:.9375rem;font-weight:600;display:inline-flex}.recipe-page__rights{color:var(--color-text-muted);margin:8px 0 0;font-size:.9375rem;line-height:1.5}.recipe-page__actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:28px;display:flex}.recipe-page__menu{position:relative}.recipe-page__menu .icon-button[aria-expanded=true]{background:var(--color-chip)}.recipe-page__menu .menu{top:calc(100% + 6px);right:-4px}.recipe-page>.recipe-page__error{margin:16px 0 0}.recipe-page__dish{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.008em;font-size:1.25rem;font-weight:500;line-height:1.3}.recipe-page__chevron{color:var(--color-text-muted);flex:none}.recipe-page__around-list{box-shadow:inset 0 1px 0 var(--recipe-hairline);margin:12px 0 0;padding:0;list-style:none}.recipe-page__around-list>li{box-shadow:inset 0 -1px 0 var(--recipe-hairline)}.recipe-page__around-row,.recipe-page__around-row:hover{border-radius:var(--radius-strip);color:var(--color-text);grid-template-columns:8rem minmax(0,1fr) 16px;align-items:baseline;column-gap:16px;margin:0 -12px;padding:18px 12px;text-decoration:none;display:grid}.recipe-page__around-row:hover{background:var(--color-surface-hover)}.recipe-page__around-row:hover .recipe-page__dish{-webkit-text-decoration:underline 1px var(--color-primary-line);text-decoration:underline 1px var(--color-primary-line);text-underline-offset:4px}.recipe-page__around-row>.recipe-page__chevron{align-self:center}.recipe-page__around-when{color:var(--color-text-muted);font-size:.875rem}.recipe-page__minutes{color:var(--color-text-muted);white-space:nowrap;margin-left:12px;font-size:.875rem}@media (width>=1024px){.recipe-page__bar-favorite{display:none}}@media (width<=1023px){.recipe-page{margin-top:0}.recipe-page__header{padding-top:6px}.recipe-page__title{max-width:none;font-size:1.75rem}.recipe-page__line{margin-top:10px;font-size:.9375rem}.recipe-page__header>.recipe-facts{margin-top:16px}.recipe-page__shared{margin-top:12px;font-size:.875rem}.recipe-page__rights{font-size:.875rem}.recipe-page__actions{flex-wrap:nowrap;padding-top:22px}.recipe-page__actions>.button{flex:auto;padding:6px 14px}:is(.recipe-page__actions:not(:has(>.button)),.recipe-page__favorite){display:none}.recipe-page__next{box-shadow:inset 0 1px 0 var(--recipe-hairline), inset 0 -1px 0 var(--recipe-hairline);margin-top:36px}.recipe-page__next-link,.recipe-page__next-link:hover{color:var(--color-text);grid-template-columns:minmax(0,1fr) 20px;align-items:center;column-gap:12px;padding:18px 0;text-decoration:none;display:grid}.recipe-page__next-text{flex-direction:column;gap:4px;min-width:0;display:flex}.recipe-page__next-when,.recipe-page__next-detail{color:var(--color-text-muted);font-size:.8125rem;line-height:1.45}.recipe-page__next .recipe-page__dish{font-size:1.0625rem}}@media (prefers-contrast:more){.recipe-page{--recipe-hairline:var(--color-border-input)}}.add-to-plan__pickers{gap:10px;display:grid}.add-to-plan__unplanned{justify-items:start;gap:14px;display:grid}.pick-day{gap:18px;display:grid}.pick-day__days{margin:0 -12px;padding:0;list-style:none}.pick-day__days>li+li{box-shadow:inset 0 1px 0 var(--color-divider)}.pick-day__day{border-radius:var(--radius-strip);width:100%;min-height:64px;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:10px 12px;display:grid}.pick-day__day:active:not(:disabled){background:var(--color-press);transform:none}.pick-day__day:hover:not(:disabled){background:var(--color-surface-hover)}.pick-day__day:disabled{opacity:.6;cursor:default}.pick-day__day-text{flex-direction:column;gap:2px;min-width:0;display:flex}.pick-day__day-name{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.pick-day__day-meal{overflow-wrap:break-word;font-family:var(--font-display);font-optical-sizing:auto;font-size:1.0625rem;font-weight:500;line-height:1.3}.pick-day__day-meal.is-empty{color:var(--color-text-muted);font-family:var(--font-body);font-size:.9375rem;font-weight:400}.pick-day__day-action{color:var(--color-primary-soft-text);white-space:nowrap;font-size:.9375rem;font-weight:600}.pick-day__error{margin:0}@media (width<=1023px){.pick-day__sheet-body{padding-top:6px}.pick-day{gap:12px}.pick-day__days{margin:0}.pick-day__day{border-radius:0;padding:10px 0}.pick-day__day:hover:not(:disabled){background:0 0}.pick-day__day-name{font-size:.8125rem}}.week-rows,.week-agenda{--hairline:var(--week-hairline,var(--color-border))}.kcal-figure{font-variant-numeric:tabular-nums}.week-rows{padding:0 var(--week-rows-covered,0px) 0 0;box-shadow:inset 0 1px 0 var(--hairline);flex-direction:column;margin:0;list-style:none;display:flex;container-type:inline-size}.week-row{box-shadow:inset 0 -1px 0 var(--hairline);grid-template-columns:8.5rem minmax(0,1fr) 40px;align-items:start;column-gap:24px;padding:20px 12px;display:grid}.week-row.is-today{border-radius:var(--radius-strip);background:var(--color-primary-soft)}.week-row:last-child,.week-row.is-today{box-shadow:none}.week-row:has(+.is-today){box-shadow:none}.week-row:has(+.is-changing){box-shadow:none}.week-row.is-changing,.week-row.is-adding{border-radius:var(--radius-strip)}.week-row.is-changing:not(.is-today),.week-row.is-adding:not(.is-today){background:var(--color-surface)}.week-row.is-changing{box-shadow:inset 0 0 0 2px var(--color-primary)}.week-row.is-adding{box-shadow:none}.week-row:has(+.is-adding){box-shadow:none}.week-row__date{flex-direction:column;gap:6px;min-width:0;display:flex}.week-row__day{color:var(--color-text-muted);letter-spacing:0;align-items:baseline;gap:8px;margin:0;font-size:.9375rem;font-weight:400;line-height:1.3;display:flex}.week-row__number{min-width:2.1ch;color:var(--color-text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.875rem;font-weight:600;line-height:1}.week-row.is-past .week-row__number{color:var(--color-text-muted)}.week-row.is-today .week-row__number,.week-row.is-today .week-row__weekday{color:var(--color-primary-hover)}.week-row.is-today .week-row__weekday{font-weight:600}.week-row__kcal{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.week-row__empty{color:var(--color-text-muted);margin:0;padding-top:4px;font-size:.9375rem}.week-row__meals{flex-direction:column;gap:12px;min-width:0;margin:0;padding:2px 0 0;list-style:none;display:flex}.week-meal{grid-template-columns:4.75rem minmax(0,max-content) 36px;justify-content:start;align-items:baseline;column-gap:16px;display:grid}.week-meal__type{color:var(--color-text-muted);font-size:.875rem}.week-meal__dish,.week-meal__dish:hover{min-width:0;color:var(--color-text);text-decoration:none}.week-row.is-past .week-meal__dish{color:var(--color-text-muted)}.week-meal__name{overflow-wrap:break-word;font-family:var(--font-display);letter-spacing:-.008em;font-size:1.25rem;font-weight:500;line-height:1.3}.week-meal__dish:hover .week-meal__name{-webkit-text-decoration:underline 1px var(--color-primary-line);text-decoration:underline 1px var(--color-primary-line);text-underline-offset:4px}.week-meal__time{color:var(--color-text-muted);white-space:nowrap;margin-left:12px;font-size:.875rem}.week-meal__dish .badge{vertical-align:2px;margin-left:12px}.week-meal__swap.icon-button{width:36px;height:36px;color:var(--color-text-secondary);opacity:0;transition:var(--transition-press), opacity .15s ease;align-self:start;margin-top:-5px}.week-meal:hover .week-meal__swap,.week-meal:focus-within .week-meal__swap{opacity:1}@media (hover:none){.week-meal__swap.icon-button{opacity:1}}.week-meal.is-changing .week-meal__swap{visibility:hidden}.week-meal__new{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 0 0 2px var(--color-primary);color:var(--color-text-muted);animation:reveal var(--duration-reveal) var(--ease-out) backwards;justify-self:start;align-items:baseline;gap:12px;margin:-6px -14px;padding:6px 14px;display:inline-flex}.week-meal__new .badge{vertical-align:2px;flex:none}.week-row__add{justify-content:flex-end;margin-top:-2px;display:flex}.week-row .add-day-button--grid{border-color:var(--color-border-sunk);opacity:.45;transition:var(--transition-press), background-color .15s ease, opacity .15s ease;border-radius:50%}.week-row:hover .add-day-button--grid,.week-row .add-day-button--grid:focus-visible,.week-row .add-day-button--grid[aria-expanded=true]{opacity:1}@media (hover:none){.week-row .add-day-button--grid{opacity:1}}.week-row .add-day-button--grid:hover:not(:disabled){background:var(--color-primary-soft)}.week-row .add-day-button--grid[aria-expanded=true]{border-color:var(--color-primary-line);background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.week-row.is-today .add-day-button--grid:hover:not(:disabled),.week-row.is-today .add-day-button--grid[aria-expanded=true]{background:var(--color-primary-soft-strong)}@container (width<=35rem){.week-row{grid-template-columns:minmax(0,1fr) 40px;row-gap:12px}.week-row__date{flex-flow:wrap;align-items:baseline;gap:4px 12px}.week-row__meals,.week-row__empty{grid-area:2/1/auto/-1}.week-row__add{grid-area:1/2}.week-meal{grid-template-columns:minmax(0,1fr) 36px;row-gap:2px}.week-meal__type{grid-column:1/-1}.week-meal__new{margin:0}}.add-day-button--day,.add-day-button--day:hover:not(:disabled),.add-day-button--today,.add-day-button--today:hover:not(:disabled){background:0 0;border-radius:50%}.add-day-button__circle{border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s;display:flex}.add-day-button--day .add-day-button__circle{width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--color-border-sunk)}.add-day-button--day:hover .add-day-button__circle{background:var(--color-chip)}.add-day-button--today,a.add-day-button--today:hover{color:var(--color-primary-soft-text)}.add-day-button--today .add-day-button__circle{background:var(--color-primary-soft-strong);width:36px;height:36px}.week-meal.is-arrived,.agenda-meal.is-arrived,.today-card__others>.is-arrived{animation:reveal var(--duration-reveal) var(--ease-out) backwards}@media (prefers-reduced-motion:reduce){.week-meal__new,.week-meal.is-arrived,.agenda-meal.is-arrived,.today-card__others>.is-arrived{animation:fade-in var(--duration-fade) ease backwards}}.day-strip,.week-agenda{display:none}.day-strip{grid-template-columns:repeat(7,minmax(0,1fr));margin:-6px -6px 0}.day-strip__day,.day-strip__day:hover{border-radius:var(--radius-sm);min-width:0;color:var(--color-text);background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:6px 0 4px;text-decoration:none;display:flex}.day-strip__name{color:var(--color-text-muted);font-size:.75rem}.day-strip__day.is-today .day-strip__name{color:var(--color-primary-hover);font-weight:600}.day-strip__number{font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.0625rem;font-weight:600;display:flex}.day-strip__day.is-past .day-strip__number{color:var(--color-text-muted)}.day-strip__day.is-today .day-strip__number{background:var(--color-primary);color:var(--color-on-primary)}.day-strip__dots{gap:3px;height:5px;display:flex}.day-strip__dot{background:var(--color-leaf);border-radius:50%;width:5px;height:5px}.day-strip__day.is-past .day-strip__dot{background:var(--color-border-dashed)}.week-agenda{flex-direction:column;gap:24px}.week-agenda__earlier-group{flex-direction:column;margin-bottom:-8px;display:flex}.week-agenda__earlier{border-radius:var(--radius-sm);min-height:48px;color:var(--color-text-secondary);text-align:left;background:0 0;border:0;align-items:center;gap:8px;margin:0 -8px;padding:0 8px;display:flex}.week-agenda__earlier-label{flex:auto;font-size:.9375rem;font-weight:500}.week-agenda__earlier-days{color:var(--color-text-muted);font-size:.875rem}.week-agenda__earlier-fold{--collapse-top:calc(var(--top-bar-height) + 16px)}.agenda-days--earlier{padding-bottom:8px}.week-agenda__group{flex-direction:column;display:flex}.week-agenda__heading{margin:0;padding-bottom:12px;font-size:1.125rem}.agenda-days{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.agenda-day{box-shadow:inset 0 1px 0 var(--hairline);scroll-margin:calc(var(--top-bar-height) + 16px) 16px 16px;flex-direction:column;gap:10px;padding:18px 0 16px;display:flex}.agenda-day__head{align-items:center;gap:10px;min-height:40px;display:flex}.agenda-day__title{min-width:0;color:var(--color-text);letter-spacing:0;flex:auto;align-items:center;gap:10px;margin:0;font-size:.9375rem;font-weight:500;line-height:1.3;display:flex}.agenda-day__number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600;line-height:1}.agenda-day.is-past .agenda-day__title{color:var(--color-text-muted)}.agenda-day__kcal{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.agenda-day .add-day-button--day{margin:-2px -6px -2px 0}.agenda-day__empty{color:var(--color-text-muted);margin:0;font-size:.9375rem}.agenda-day__meals{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.agenda-meal{grid-template-columns:4rem minmax(0,1fr) 44px;align-items:start;column-gap:10px;display:grid}.agenda-meal__type{color:var(--color-text-muted);padding-top:3px;font-size:.8125rem}.agenda-meal__dish,.agenda-meal__dish:hover{min-width:0;min-height:44px;color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.agenda-day.is-past .agenda-meal__dish{color:var(--color-text-muted)}.agenda-meal__name{overflow-wrap:anywhere;font-family:var(--font-display);font-size:1.0625rem;font-weight:500;line-height:1.32}.agenda-meal__time{color:var(--color-text-muted);font-size:.8125rem}.agenda-meal__move{margin-top:-10px}@media (width<=1023px){.week-rows{display:none}.day-strip{display:grid}.week-agenda{display:flex}}@media (width<=19.9em){.agenda-meal{grid-template-columns:minmax(0,1fr) 44px}.agenda-meal__type{grid-column:1/-1;padding-top:0}}.change-meal{flex-direction:column;gap:28px;min-width:0;display:flex}.change-meal>.segmented-control{align-self:flex-start}.change-meal__meal-type{flex-direction:column;gap:10px;display:flex}.change-meal__meal-type-label{color:var(--color-text);font-size:.875rem;font-weight:600}.change-meal__meal-types{flex-wrap:wrap;gap:8px;display:flex}.change-meal__meal-types .toggle-pill.is-taken:disabled{border-style:dashed;border-color:var(--color-border-dashed);color:var(--color-placeholder);opacity:1;cursor:default;background:0 0}.change-meal__meal-type-note{color:var(--color-text-muted);margin:0;font-size:.875rem}@media (width>=1024px){.change-meal>.back-bar{margin-top:-8px}}.change-meal--panel{gap:0}.change-meal--panel>:not(.side-panel__header){margin:24px 28px 0}.change-meal--panel>.segmented-control{align-self:stretch;width:auto}.change-meal--panel>.recipe-library{padding-bottom:32px}@media (width<=1023px){.change-meal{gap:24px}.sheet__content>.change-meal{flex:1 0 auto}.change-meal>.sheet__header{margin-bottom:-16px}.change-meal>.segmented-control{align-self:stretch}}.save-notice{bottom:24px;right:0;left:var(--sidebar-width);z-index:50;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed}.save-notice__message{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-width:480px;box-shadow:var(--shadow-overlay);color:var(--color-error);margin:0;padding:12px 16px;font-size:.875rem}@media (width<=1023px){.save-notice{bottom:calc(16px + var(--tab-bar-height) + env(safe-area-inset-bottom));left:0}.app-layout--focused~.save-notice{bottom:calc(16px + env(safe-area-inset-bottom))}}.history-page{--history-hairline:var(--color-border);flex-direction:column;gap:24px;min-width:0;display:flex}.history-page>.form-hint{margin:0}.history-page__search{width:340px;min-width:260px;max-width:100%}.history-page__found{color:var(--color-text-secondary);margin:-4px 0 0;font-size:.9375rem}.history-page__empty{margin-top:12px}.history-stats{box-shadow:inset 0 -1px 0 var(--history-hairline);color:var(--color-text-muted);flex-wrap:wrap;align-items:baseline;gap:8px 32px;margin-top:-8px;padding-bottom:20px;font-size:.9375rem;line-height:1.5;display:flex}.history-stats__label{color:var(--color-text);font-weight:600}.history-stats__figures{display:contents}.history-stats__figure{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}.history-stats__dish{color:var(--color-text);font-family:var(--font-display);font-size:1.0625rem;font-weight:500}.history-stats__count{font-variant-numeric:tabular-nums}.history-page__columns{grid-template-columns:minmax(0,352px) minmax(0,1fr);align-items:start;column-gap:48px;margin-top:12px;display:grid}.history-page__found+.history-page__columns{margin-top:0}.history-page__list{flex-direction:column;min-width:0;display:flex}.history-page__older{align-self:flex-start;margin:20px 0 0 4px}.history-page__weeks{flex-direction:column;margin:-4px 0 0;padding:0;list-style:none;display:flex}.history-page__weeks>li:not(:last-child){box-shadow:inset 0 -1px 0 var(--history-hairline)}:is(.history-page__weeks>li:has(>[aria-pressed=true]),.history-page__weeks>li:has(+li>[aria-pressed=true])){box-shadow:none}.history-week{border-radius:var(--radius-strip);width:100%;color:var(--color-text);text-align:left;transition:background-color var(--duration-press) ease;background:0 0;border:0;flex-direction:column;gap:6px;padding:16px 16px 17px;display:flex}@media (hover:hover){.history-week[aria-pressed=false]:hover{background:var(--color-surface-hover)}}.history-week[aria-pressed=true]{background:var(--color-primary-soft)}.history-week__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.history-week__name{flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0;display:flex}.history-week__number{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.0625rem;font-weight:650}.history-week[aria-pressed=true] .history-week__number{color:var(--color-primary-soft-text)}.history-week__dates{color:var(--color-text-muted);white-space:nowrap;font-size:.875rem}.history-week__spent{font-variant-numeric:tabular-nums;flex:none;font-size:1rem;font-weight:600}.history-week__preview{color:var(--color-text-secondary);font-size:.875rem;line-height:1.45}.history-week__dishes{font-family:var(--font-display);font-size:1rem;font-weight:500}.history-week__more{white-space:nowrap}.history-detail{flex-direction:column;min-width:0;padding-top:12px;display:flex}.history-detail__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.history-detail__title{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.history-detail__title h2{font-variant-numeric:tabular-nums;letter-spacing:-.015em;margin:0;font-size:1.5rem;line-height:1.1}.history-detail__dates{color:var(--color-text-muted);font-size:1rem}.history-detail__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.history-detail__spent{color:var(--color-text-muted);flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:28px 0 0;font-size:.9375rem;display:flex}.history-detail__sum{color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2rem;font-weight:600;line-height:1}.history-detail__spent--none{font-size:1rem}.history-detail__facts{flex-wrap:wrap;gap:6px 28px;margin:14px 0 0;font-size:.9375rem;line-height:1.5;display:flex}.history-detail__facts>div{gap:8px;display:flex}.history-detail__facts dt{color:var(--color-text-muted)}.history-detail__facts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.history-detail__hint{color:var(--color-text-muted);margin:28px 0 0;font-size:.9375rem}.history-detail__hint--error{color:var(--color-error)}.history-days{box-shadow:inset 0 1px 0 var(--history-hairline);flex-direction:column;margin:28px 0 0;padding:0;list-style:none;display:flex}.history-day{grid-template-columns:92px minmax(0,1fr);align-items:start;column-gap:16px;padding:14px 0;display:grid}.history-day:not(:last-child){box-shadow:inset 0 -1px 0 var(--history-hairline)}.history-day__date{align-items:baseline;gap:8px;padding-top:3px;display:flex}.history-day__number{font-variant-numeric:tabular-nums;letter-spacing:-.03em;min-width:2ch;font-size:1.25rem;font-weight:600;line-height:1}.history-day__name,.history-day__type,.history-day__empty{color:var(--color-text-muted);font-size:.875rem}.history-day__empty{padding-top:3px}.history-day__meals{flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.history-day__meal{grid-template-columns:64px minmax(0,1fr);align-items:baseline;column-gap:12px;display:grid}.history-dish,.history-dish:hover{border-radius:var(--radius-sm);color:var(--color-text);justify-self:start;margin:-2px -8px;padding:2px 8px;text-decoration:none}.history-dish.is-found{background:var(--color-primary-soft)}.history-dish__name{overflow-wrap:break-word;font-family:var(--font-display);letter-spacing:-.005em;font-size:1.125rem;font-weight:500;line-height:1.35}.history-dish:hover .history-dish__name{-webkit-text-decoration:underline 1px var(--color-primary-line);text-decoration:underline 1px var(--color-primary-line);text-underline-offset:4px}@media (width<=1240px){.history-page__columns{grid-template-columns:minmax(0,300px) minmax(0,1fr);column-gap:36px}}@media (width<=1100px){.history-page__columns{grid-template-columns:minmax(0,264px) minmax(0,1fr);column-gap:32px}.history-day{grid-template-columns:40px minmax(0,1fr);column-gap:12px}.history-day__date{flex-direction:column;align-items:flex-start;gap:4px}.history-day__meal{grid-template-columns:58px minmax(0,1fr)}.history-dish__name{font-size:1.0625rem}}.reuse-week{gap:18px;display:grid}.reuse-week__pick{gap:8px;display:grid}.reuse-week__label{font-size:.875rem;font-weight:600}.reuse-week .modal-text{line-height:1.55}.reuse-week__note{color:var(--color-text-muted);align-items:flex-start;gap:8px;margin:-8px 0 0;font-size:.875rem;line-height:1.5;display:flex}.reuse-week__note svg{flex:none;margin-top:1px}.reuse-week__actions{margin-top:10px}@media (width<=1023px){.history-page{gap:20px}.history-page__search{width:auto;min-width:0}.history-page__found{margin:0 0 -8px}.history-page__empty{margin-top:0}.history-stats{box-shadow:none;flex-direction:column;align-items:stretch;gap:4px;margin-top:0;padding-bottom:0}.history-stats__figures{flex-wrap:wrap;column-gap:20px;display:flex}.history-page__list{margin-top:4px}.history-page__older{margin:20px 0 0}.history-page__cards{box-shadow:inset 0 -1px 0 var(--history-hairline);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history-card{box-shadow:inset 0 1px 0 var(--history-hairline);flex-direction:column;display:flex}.history-card__heading{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:normal;margin:0}.history-card__toggle{width:100%;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 18px;align-items:baseline;column-gap:12px;padding:16px 0 8px;display:grid}.history-card__toggle[aria-expanded=false]{padding-bottom:18px}.history-card__name{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.history-card__title{font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;font-size:1.0625rem;font-weight:650}.history-card__dates{color:var(--color-text-muted);white-space:nowrap;font-size:.875rem}.history-card__spent{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:600}.history-card__chevron{color:var(--color-text-secondary);align-self:center;display:flex}.history-card__meta{color:var(--color-text-muted);grid-column:1/-1;margin-top:4px;font-size:.8125rem;line-height:1.5}.history-card__preview-fold{grid-column:1/-1}.history-card__preview{color:var(--color-text-muted);padding-top:8px;font-size:.875rem;line-height:1.45;display:block}.history-card__dishes{color:var(--color-text-secondary);font-family:var(--font-display);font-size:1rem;font-weight:500}.history-card__more{white-space:nowrap}.history-card__body{flex-direction:column;padding-bottom:16px;display:flex}.history-card__meals{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history-card__meals a,.history-card__meals a:hover{min-height:44px;color:var(--color-text);grid-template-columns:40px minmax(0,1fr);align-items:baseline;column-gap:12px;padding:9px 0;text-decoration:none;display:grid}.history-card__day{color:var(--color-text-muted);font-size:.8125rem}.history-card__meal{overflow-wrap:break-word;border-radius:var(--radius-sm);min-width:0;font-family:var(--font-display);justify-self:start;margin:0 -8px;padding:0 8px;font-size:1.0625rem;font-weight:500;line-height:1.32}.history-card__meal.is-found{background:var(--color-primary-soft)}.history-card__type{color:var(--color-text-muted);font-family:var(--font-body);font-size:.8125rem;font-weight:400}.history-card__hint{color:var(--color-text-muted);margin:0;padding:8px 0;font-size:.875rem}.history-card__hint--error{color:var(--color-error)}.history-card__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.reuse-week{gap:16px}.reuse-week__actions{margin-top:8px}}@media (prefers-contrast:more){.history-page{--history-hairline:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.history-week{transition:none}}form.add-field{gap:8px;width:100%;max-width:520px;display:flex}.add-field__input{flex:auto}@media (width<=1023px){form.add-field{max-width:none}}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 24px;width:min(100%,600px);margin-top:-10px;display:grid}.choice-grid--fit{grid-template-columns:repeat(2,max-content)}.choice-grid__option{border-radius:var(--radius-sm);min-height:48px;color:var(--color-text);cursor:pointer;transition:background-color var(--duration-press) ease;align-items:center;gap:12px;margin:0 -10px;padding:0 10px;font-size:.9375rem;line-height:1.3;display:flex}@media (hover:hover){.choice-grid__option:hover:not(.is-disabled){background:var(--color-chip)}}.choice-grid__option:has(input:checked){font-weight:600}.choice-grid__option.is-disabled{opacity:.45;cursor:not-allowed}.choice-grid__label{overflow-wrap:anywhere;min-width:0}@media (width<=1023px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;width:100%;margin-top:-4px}.choice-grid--fit{grid-template-columns:repeat(2,max-content);column-gap:20px}.choice-grid__option{margin:0 -8px;padding:0 8px}}@media (width<=19.9em){.choice-grid,.choice-grid--fit{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.choice-grid__option{transition:none}}.chip{border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;gap:2px;max-width:100%;min-height:32px;padding:0 12px;font-size:.8125rem;font-weight:500;line-height:1.2;display:inline-flex}.chip--neutral{border-color:var(--color-border-card);background:var(--color-surface);min-height:30px;box-shadow:var(--shadow-card);color:var(--color-text)}.chip--soft{background:var(--color-chip);color:var(--color-text)}.chip>svg{flex:none;margin-right:4px}.chip--primary,.chip--selected{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.chip--selected{border-color:var(--color-primary);font-weight:600}.chip--avoid{background:var(--color-avoid-soft);color:var(--color-warning-text);font-weight:600}.chip--warning{background:var(--color-avoid-soft);color:var(--color-warning-text)}.chip--removable{min-height:40px;padding:0 4px 0 14px;font-size:.875rem}.chip__remove{width:34px;height:34px;color:inherit;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.chip__remove:hover{background:var(--color-hover-tint)}@media (width<=1023px){.chip--removable{min-height:44px;padding:0 2px 0 14px}.chip__remove{width:40px;height:40px}}.form-section{grid-template-columns:var(--settings-label-width) minmax(0, 1fr);align-items:start;column-gap:var(--settings-gap);border-top:1px solid var(--color-border);padding:36px 0 40px;display:grid}.form-section__intro{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title trailing""description description""aside aside";align-items:center;display:grid}.form-section--media .form-section__intro{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"media title trailing""media description trailing""aside aside aside";column-gap:16px}.form-section__media{grid-area:media;display:flex}.form-section__title{overflow-wrap:anywhere;grid-area:title;margin:0;font-size:1.25rem;line-height:1.2}.form-section__trailing{grid-area:trailing;display:flex}.form-section__description{max-width:30ch;color:var(--color-text-muted);grid-area:description;margin:8px 0 0;font-size:.9375rem;line-height:1.5}.form-section--media .form-section__title{align-self:end}.form-section--media .form-section__description{overflow-wrap:anywhere;align-self:start;max-width:none;margin-top:3px}.form-section__aside{grid-area:aside;align-items:flex-start;padding-top:10px;display:flex}.form-section__body{flex-direction:column;align-items:flex-start;gap:16px;min-width:0;display:flex}.form-section__body>*{max-width:100%}@media (width<=1180px){.form-section{grid-template-columns:minmax(0,1fr);row-gap:20px}.form-section__description{max-width:60ch}}@media (width<=1023px){.form-section{row-gap:16px;padding:24px 0 28px}.form-section--media .form-section__intro{column-gap:14px}.form-section__title{font-size:1.125rem;line-height:1.25}.form-section__description{margin-top:4px;font-size:.875rem}.form-section--media .form-section__description{margin-top:2px}.form-section__body{align-items:stretch}.form-section--inline{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}}@media (prefers-contrast:more){.form-section{border-top-color:var(--color-border-input)}}.preferences-page{--stepper-value-width:2.25rem;flex-direction:column;min-width:0;display:flex}.preferences-page>.page-header{margin-bottom:36px}.preferences-page__sections{flex-direction:column;display:flex}.preferences-page__meals>.form-section__body{gap:22px}.preferences-page__inline{align-items:center;gap:14px;display:flex}.preferences-page__unit{color:var(--color-text-muted);font-size:.9375rem}.preferences-page__pills{flex-wrap:wrap;gap:8px;display:flex}.preferences-page__days{flex-wrap:wrap;gap:6px;display:flex}.preferences-page__day-letter{display:none}.preferences-page__level>.form-section__body{gap:12px}.preferences-page__complexity-note,.preferences-page__protein-note{max-width:60ch;color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.preferences-page__protein-section>.form-section__body{gap:18px}.preferences-page__proteins{--stepper-value-width:2rem;grid-template-columns:repeat(auto-fill,7.5rem);align-items:start;gap:20px 22px;width:100%;margin:0;padding:0;list-style:none;display:grid}.preferences-page__protein{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.preferences-page__protein-name{flex-direction:column;gap:2px;min-width:0;font-size:.9375rem;font-weight:600;display:flex}.preferences-page__protein.is-unavailable .preferences-page__protein-name{color:var(--color-text-muted)}.preferences-page__protein-name>span{color:var(--color-text-muted);font-size:.8125rem;font-weight:400;line-height:1.45}.preferences-page__budget{width:240px}.preferences-page__budget .field-control--input{font-variant-numeric:tabular-nums;padding-right:100px}.preferences-page__row{border-top:1px solid var(--preferences-hairline);padding:28px 0}.preferences-page__more{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.preferences-page__more-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.9375rem}.preferences-page__more-fold{--collapse-gap:0px}.preferences-page__portion-grams{flex:0 0 104px}.preferences-page__portion-grams .field-control--input{font-variant-numeric:tabular-nums;padding-right:34px}.preferences-page__footer.preferences-page__row{padding:32px 0 0}.preferences-page__save{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.preferences-page__save-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preferences-page__note{max-width:64ch;color:var(--color-text-muted);align-items:center;gap:8px;font-size:.875rem;line-height:1.5;display:flex}.preferences-page__note>svg{color:var(--color-primary);flex:none}.preferences-page>.load-error,.preferences-page>.form-error{margin:16px 0 0}.preferences-page{--preferences-hairline:var(--color-border)}@media (width<=1023px){.preferences-page>.page-header{margin-bottom:24px}.preferences-page__meals>.form-section__body{gap:16px}.preferences-page__days{justify-content:space-between;gap:4px}.preferences-page__day-short{display:none}.preferences-page__day-letter{display:inline}.preferences-page__level>.form-section__body{gap:10px}.preferences-page__complexity-note,.preferences-page__protein-note{font-size:.8125rem;line-height:1.6}.preferences-page__protein-section>.form-section__body{gap:0}.preferences-page__proteins{--stepper-value-width:2.25rem;flex-direction:column;align-items:stretch;gap:0;margin-top:-6px;display:flex}.preferences-page__protein{border-bottom:1px solid var(--preferences-row-hairline);flex-direction:row;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:8px 0}.preferences-page__protein-note{margin-top:14px}.preferences-page__budget{width:220px}.preferences-page__row{padding:24px 0}.preferences-page__portion-field{flex-wrap:wrap}.preferences-page__portion-field .add-field__input{flex-basis:100%}.preferences-page__portion-grams{flex:1 1 0}.preferences-page__footer.action-bar--sticky{bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));margin:0 -20px -28px;padding:14px 20px 16px}.preferences-page__footer .action-bar__note{order:1}.preferences-page__footer .preferences-page__note{align-items:flex-start;font-size:.8125rem}}@media (width<=19.9em){.preferences-page__protein{flex-direction:column;align-items:flex-start}}.preferences-page{--preferences-row-hairline:var(--color-divider)}@media (prefers-contrast:more){.preferences-page{--preferences-hairline:var(--color-border-input);--preferences-row-hairline:var(--color-border-input)}}.recipe-form-page{flex-direction:column;gap:24px;min-width:0;display:flex}@media (width<=1023px){.recipe-form-page{gap:20px}}.popover{z-index:15;box-sizing:border-box;border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);max-width:calc(100vw - 32px);box-shadow:var(--shadow-panel);animation:popover-in .22s var(--ease-out) both;transform-origin:100% 0;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.popover:focus{outline:none}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.popover{animation-name:fade-in}}.menu{border-radius:var(--radius-lg);width:256px;padding:6px}.menu__item{border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;font-size:.9375rem;font-weight:500;line-height:1.25;display:flex}.menu__item:active{background:var(--color-press);transform:none}.menu__item:hover,.menu__item:focus-visible{background:var(--color-press)}.menu__item:focus-visible{outline-offset:-2px}.menu__item[aria-checked=true]{color:var(--color-primary-soft-text);font-weight:600}.menu__item>svg{flex:none}.menu__item:disabled{opacity:.5;cursor:not-allowed}.menu__item--danger{color:var(--color-error)}.menu__label{flex:auto;min-width:0}.menu__check{width:18px;color:var(--color-primary-soft-text);flex:none;display:flex}@media (width<=1023px){.menu{width:240px}}.recipe-stack{border-radius:var(--radius-2xl);width:100%;min-width:0;color:var(--color-text);text-align:left;background:0 0;border:0;flex-direction:column;padding:0 6px 12px 0;display:flex;position:relative}.recipe-stack:focus-visible{outline:none}.recipe-stack__back{border-radius:var(--radius-2xl);transition:transform var(--duration-spring) var(--ease-out);position:absolute}.recipe-stack__back--near{background:var(--color-stack-1);box-shadow:0 0 0 1px var(--color-border);inset:6px 3px}.recipe-stack__back--far{background:var(--color-stack-2);box-shadow:0 0 0 1px var(--color-border-sunk);inset:12px 0 0 6px}.recipe-stack__front{border:1px solid var(--color-border-card);border-radius:var(--radius-2xl);background:var(--color-surface);min-width:0;min-height:214px;box-shadow:var(--shadow-stack);transition:border-color var(--duration-press) ease, box-shadow var(--duration-press) ease;flex-direction:column;flex:auto;padding:22px 24px 20px;display:flex;position:relative}.recipe-stack:focus-visible .recipe-stack__front{box-shadow:0 0 0 2px var(--color-primary)}.recipe-stack__heading{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.recipe-stack__title{overflow-wrap:break-word;letter-spacing:-.01em;min-width:0;font-size:1.1875rem;font-weight:650;line-height:1.25}.recipe-stack__icon{color:var(--color-primary-soft-text);vertical-align:-.15em;flex:none;margin-right:8px}.recipe-stack__count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.875rem}.recipe-stack__rows{flex-direction:column;min-width:0;margin-top:14px;display:flex}.recipe-stack__row{box-shadow:inset 0 1px 0 var(--color-divider);padding:9px 0 8px;display:block}.recipe-stack__dish{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.005em;text-wrap:pretty;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.0625rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.recipe-stack__see-all{color:var(--color-primary-soft-text);align-items:center;gap:4px;margin-top:auto;padding-top:12px;font-size:.875rem;font-weight:600;display:inline-flex}.recipe-stack__see-all>svg{flex:none}@media (hover:hover){.recipe-stack:hover .recipe-stack__front{box-shadow:0 0 0 1px var(--color-border-strong)}.recipe-stack:hover .recipe-stack__see-all{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.recipe-stack:hover .recipe-stack__back--near{transform:translate(1.5px,3px)}.recipe-stack:hover .recipe-stack__back--far{transform:translate(3px,6px)}}@media (width<=1023px){.recipe-stack__front{min-height:0;padding:18px 20px 16px}.recipe-stack__title{font-size:1.125rem}.recipe-stack__count{font-size:.8125rem}.recipe-stack__rows{margin-top:12px}.recipe-stack__row{padding:8px 0 7px}.recipe-stack__see-all{margin-top:0;padding-top:10px}.recipe-stack:active .recipe-stack__back--near{transform:translate(1px,2px)}.recipe-stack:active .recipe-stack__back--far{transform:translate(2px,4px)}.recipe-stack--compact .recipe-stack__front{padding:16px 16px 14px}.recipe-stack--compact .recipe-stack__heading{flex-direction:column;align-items:flex-start;gap:2px}.recipe-stack--compact .recipe-stack__title{font-size:1.0625rem}.recipe-stack--compact .recipe-stack__rows{margin-top:10px}.recipe-stack--compact .recipe-stack__row{padding:7px 0 6px}.recipe-stack--compact .recipe-stack__row:nth-child(n+3){display:none}.recipe-stack--compact .recipe-stack__dish{-webkit-line-clamp:3;font-size:.9375rem}.recipe-stack--compact .recipe-stack__see-all{gap:2px;margin-top:auto;padding-top:8px;font-size:.8125rem}}@media (prefers-reduced-motion:reduce){.recipe-stack__back{transition:none}.recipe-stack:hover .recipe-stack__back,.recipe-stack:active .recipe-stack__back{transform:none}}.recipe-library-page,.recipe-library-page__body{flex-direction:column;gap:24px;min-width:0;display:flex}.library-toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex;position:relative}.library-toolbar__search{flex:300px;min-width:0}.library-toolbar__buttons{flex:none;align-items:center;gap:4px;display:flex}.library-toolbar__anchor{min-width:0;display:flex;position:relative}.library-toolbar__filter,.library-toolbar__sort{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:8px;min-height:48px;font-size:.9375rem;line-height:1.2;display:inline-flex}.library-toolbar__filter>svg,.library-toolbar__sort>svg{flex:none}.library-toolbar__filter{border:1px solid var(--color-border-strong);color:var(--color-text);background:0 0;padding:0 18px 0 16px;font-weight:600}.library-toolbar__filter:hover{border-color:var(--color-border-dashed);background:var(--color-surface)}.library-toolbar__filter.is-active{border-color:var(--color-primary-line);background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.library-toolbar__filter.is-active:hover{background:var(--color-primary-soft-strong)}.library-toolbar__count{border-radius:var(--radius-pill);background:var(--color-primary);min-width:22px;height:22px;color:var(--color-on-primary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;font-size:.8125rem;font-weight:650;display:inline-flex}.library-toolbar__sort{color:var(--color-text-secondary);background:0 0;border:0;padding:0 14px 0 16px;font-weight:500}.library-toolbar__sort:hover,.library-toolbar__sort[aria-expanded=true]{background:var(--color-chip)}.library-toolbar__sort-value{color:var(--color-text);font-weight:600}.library-list__top{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.library-list__back{margin-left:-14px}.library-list__title-row{flex-wrap:wrap;align-items:baseline;gap:6px 14px;min-width:0;display:flex}.library-list__title{letter-spacing:-.015em;margin:0;font-size:1.5rem;line-height:1.15}.library-list__count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.9375rem}.library-list__chips{flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.recipe-library-page .recipe-library__main{gap:20px}.recipe-library-page .library-list__top,.recipe-library-page .library-rows>li{animation:reveal var(--duration-reveal) var(--ease-out) backwards}.library-groups{flex-direction:column;gap:44px;display:flex}.library-groups__note{color:var(--color-text-muted);margin:-4px 0 -8px;font-size:.9375rem}.library-groups__show-all{color:var(--color-primary-hover);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.library-groups__show-all:hover{color:var(--color-primary-soft-text)}.library-groups__section{flex-direction:column;gap:18px;display:flex}.library-groups__title{margin:0}.library-groups__grid{grid-template-columns:repeat(auto-fill,minmax(296px,1fr));gap:28px 24px;margin:0;padding:0;list-style:none;display:grid}.library-groups__grid>li{min-width:0;display:flex}.library-filters{width:760px;max-width:100%;padding:16px 24px 20px}.library-filters__header{justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.library-filters__title-row{flex-wrap:wrap;align-items:baseline;column-gap:12px;min-width:0;display:flex}.library-filters__title{margin:0}.library-filters__match{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.9375rem}.library-filters__groups{flex-direction:column;display:flex}.library-filters__group{box-shadow:inset 0 1px 0 var(--filter-hairline,var(--color-divider));grid-template-columns:144px minmax(0,1fr);align-items:start;column-gap:16px;padding:14px 0;display:grid}.library-filters__group--time{padding-bottom:18px}.library-filters__heading{letter-spacing:0;margin:0;padding-top:10px;font-size:.875rem;font-weight:600;line-height:1.4}.library-filters__pills{flex-wrap:wrap;gap:8px;display:flex}.library-filters__time{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.library-filters__hint{color:var(--color-text-muted);margin:0;font-size:.8125rem}.library-filters__footer{box-shadow:inset 0 1px 0 var(--filter-hairline,var(--color-border));justify-content:flex-end;align-items:center;gap:8px;padding-top:16px;display:flex}.library-filters__body{flex-direction:column;flex:1 0 auto;padding:4px 0 20px;display:flex}@media (width<=1023px){.recipe-library-page,.recipe-library-page__body{gap:20px}.recipe-library-page .page-header__main{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid}.recipe-library-page .page-header__text{display:contents}.recipe-library-page .page-header__title{grid-area:1/1}.recipe-library-page .page-header__trailing{grid-area:1/2}.recipe-library-page .page-header__description{grid-column:1/-1;margin-top:6px}.library-toolbar{flex-direction:column;align-items:stretch;gap:10px}.library-toolbar__search{flex:none}.library-toolbar__buttons{justify-content:space-between;gap:8px}.library-toolbar__filter,.library-toolbar__sort{min-height:44px}.library-toolbar__filter{padding:0 16px 0 14px}.library-toolbar__sort{margin-right:-10px;padding:0 10px 0 14px}.library-toolbar__sort-name{display:none}.library-toolbar__anchor .menu{top:calc(100% + 6px);right:-10px}.library-list__top{gap:8px}.library-list__back{margin-left:-12px}.library-list__title-row{gap:4px 12px}.library-list__title{font-size:1.375rem}.library-list__count{font-size:.875rem}.recipe-library-page .recipe-library__main{gap:14px}.library-groups{gap:36px}.library-groups__note{margin:-2px 0 -12px;font-size:.875rem;line-height:1.5}.library-groups__section{gap:14px}.library-groups__grid{grid-template-columns:minmax(0,1fr);gap:20px}.library-groups__grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.library-filters__group{box-shadow:inset 0 -1px 0 var(--filter-hairline,var(--color-divider));flex-direction:column;gap:10px;padding:16px 0 18px;display:flex}.library-filters__group--time{box-shadow:none;padding-bottom:4px}.library-filters__heading{padding-top:0;font-size:.9375rem}.library-filters__time{flex-direction:column;align-items:stretch;gap:10px}}@media (width<=19.9em){.library-groups__grid--compact{grid-template-columns:minmax(0,1fr)}}@media (prefers-contrast:more){.library-filters,.library-filters__body{--filter-hairline:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.recipe-library-page .library-list__top,.recipe-library-page .library-rows>li{animation:fade-in var(--duration-fade) ease backwards}}.recipe-facts{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:10px 24px;margin:0;padding:0;font-size:.9375rem;list-style:none;display:flex}.recipe-facts>li{align-items:center;gap:8px;display:inline-flex}.recipe-facts>li>svg{color:var(--color-text-muted);flex:none}@media (width<=1023px){.recipe-facts{gap:8px 18px;font-size:.875rem}.recipe-facts>li{gap:6px}.recipe-facts>li>svg{width:16px;height:16px}.recipe-facts__tags{order:1}.recipe-facts__per-serving{display:none}}.loading-animation{justify-content:center;align-items:center;width:100%;max-width:320px;height:320px;margin:20px auto;display:flex}.status-row,.status-row:hover{border-radius:var(--radius-strip);min-width:0;color:var(--color-text);flex-direction:column;gap:6px;padding:18px 16px;text-decoration:none;display:flex}.status-row:hover{background:var(--color-surface-hover)}.status-row:has(.meter){gap:10px}.status-row__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.status-row__label{font-size:.9375rem;font-weight:600}.status-row__value{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.9375rem}.status-row__figure{color:var(--color-text);font-weight:600}.status-row__aside{display:none}.status-row__note{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.875rem;line-height:1.4;display:flex}.status-row__live{background:var(--color-primary);border-radius:50%;flex:none;width:8px;height:8px}@media (width<=1023px){.status-row,.status-row:hover{background:0 0;gap:8px;padding:6px 4px}.status-row__head{flex-direction:column;align-items:flex-start;gap:8px}.status-row__label{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.status-row__value,.status-row__unit{color:var(--color-text);font-size:1.0625rem;font-weight:600}.status-row__unit-desktop,.status-row__note{display:none}.status-row__aside{color:var(--color-text-muted);font-size:.875rem;font-weight:400;display:inline}.status-row .meter{height:4px}}.week-plan-page{--week-hairline:var(--color-border);flex-direction:column;gap:36px;min-width:0;display:flex}@media (prefers-contrast:more){.week-plan-page{--week-hairline:var(--color-border-input)}}.week-plan-page>.form-hint,.week-plan-page>.form-error{margin:0}.week-plan-page__below{display:none}@media (width>=1024px){.week-plan-page>.page-header{margin-bottom:0}.week-plan-page .page-header__main{align-items:center}.week-plan-page .page-header__nav{padding-bottom:0}}.week-hero{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;gap:40px;display:grid}.week-status{flex-direction:column;justify-content:center;min-width:0;display:flex}.week-status>*+*{position:relative}.week-status>*+:before{background:var(--week-hairline);content:"";height:1px;position:absolute;top:0;left:16px;right:16px}.week-status__preferences,.week-plan-page__preferences{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.55}.week-status__preferences{padding:18px 16px 0}.week-status__preferences a,.week-plan-page__preferences a{font-weight:600}.week-plan-page__notes{flex-direction:column;gap:12px;max-width:72ch;padding:0 12px;display:flex}.week-plan-page__notes--hero{margin-top:-14px}.week-plan-page__notes--hero .week-plan-page__preferences{display:none}.week-plan-page__footnote,.generate-plan-dialog__footnote{color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.generating-state{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.generating-state__message{color:var(--color-text-muted);margin:0;font-size:.875rem}.generate-plan-dialog{gap:16px;display:grid}.generate-plan-dialog__chips{flex-wrap:wrap;gap:8px;display:flex}.generate-plan-dialog__actions{margin-top:4px}@media (width<=1099px){.week-hero{grid-template-columns:minmax(0,1fr);gap:16px}.week-status{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;display:grid}.week-status>*+:before{content:none}.week-status__preferences{grid-column:1/-1;padding-top:6px}}@media (width<=1023px){.week-plan-page{gap:24px}.week-plan-page__desktop-only{display:none}.week-hero{flex-direction:column;gap:20px;display:flex}.week-status{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0}.week-status>.status-row:first-child{padding-right:16px}.week-status>.status-row+.status-row{box-shadow:inset 1px 0 0 var(--week-hairline);border-radius:0;padding-left:20px}.week-status__preferences{display:none}.week-plan-page__notes,.week-plan-page__notes--hero{max-width:none;margin-top:0;padding:0}.week-plan-page__notes--hero .week-plan-page__preferences{display:block}.week-plan-page__below{box-shadow:inset 0 1px 0 var(--week-hairline);flex-direction:column;align-items:stretch;gap:4px;padding-top:18px;display:flex}.week-plan-page__below>.button--ghost{align-self:flex-start}}.next-week-row,.next-week-row:hover{min-height:52px;color:var(--color-text);justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.next-week-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.next-week-row__title{font-size:.9375rem;font-weight:600}.next-week-row__when{color:var(--color-text-muted);font-size:.875rem}.next-week-row__button{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);white-space:nowrap;flex:none;align-items:center;min-height:40px;padding:0 16px;font-size:.875rem;font-weight:600;display:inline-flex}@media (width<=19.9em){.next-week-row{flex-wrap:wrap}}.today-card{border-radius:var(--radius-2xl);background:var(--color-primary-soft);min-width:0;scroll-margin:calc(var(--top-bar-height) + 16px) 16px 16px;flex-direction:column;gap:14px;padding:30px 36px 28px;display:flex;position:relative}.today-card__label{color:var(--color-primary-hover);letter-spacing:0;margin:0;font-size:.9375rem;font-weight:600;line-height:1.3}.today-card__mobile{display:none}.today-card__title{overflow-wrap:break-word;max-width:22ch;font-family:var(--font-display);letter-spacing:-.022em;margin:0;font-size:2.5rem;font-weight:500;line-height:1.1}.today-card__meta{color:var(--color-text-secondary);margin:0;font-size:1rem;line-height:1.45}.today-card__actions{flex-wrap:wrap;align-items:center;gap:4px;padding-top:10px;display:flex}.today-card .button--text:hover:not(:disabled){background:var(--color-primary-soft-strong)}.today-card__empty{color:var(--color-text-secondary);margin:0;font-size:1rem}.today-card .add-day-button--today,.today-card__others{display:none}@media (width<=1023px){.today-card{gap:10px;padding:22px 20px 20px}.today-card__label{font-size:.875rem}.today-card__desktop{display:none}.today-card__mobile{display:inline}.today-card__title{letter-spacing:-.02em;text-wrap:pretty;max-width:none;padding-right:8px;font-size:1.75rem;line-height:1.14}.today-card--with-add .today-card__label,.today-card--with-add .today-card__empty{padding-right:44px}.today-card--with-add .today-card__title{padding-right:28px}.today-card__meta{font-size:.9375rem}.today-card__actions{flex-wrap:nowrap;padding-top:8px}.today-card__open{flex:auto}.today-card__swap-type{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.today-card__empty{font-size:.9375rem}.today-card .add-day-button--today{display:inline-flex;position:absolute;top:12px;right:12px}.today-card__others{flex-direction:column;margin:4px 0 0;padding:0;list-style:none;display:flex}.today-card__others li{box-shadow:inset 0 1px 0 var(--color-primary-soft-strong);grid-template-columns:4rem minmax(0,1fr);align-items:start;column-gap:10px;padding:12px 0 2px;display:grid}.today-card__row-type{color:var(--color-text-muted);padding-top:3px;font-size:.8125rem}.today-card__row,.today-card__row:hover{min-width:0;min-height:44px;color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.today-card__row-name{overflow-wrap:anywhere;font-family:var(--font-display);font-size:1.0625rem;font-weight:500;line-height:1.32}.today-card__row-time{color:var(--color-text-muted);font-size:.8125rem}}@media (width<=19.9em){.today-card__actions{flex-wrap:wrap}.today-card__others li{grid-template-columns:minmax(0,1fr)}.today-card__row-type{padding-top:0}}.info-bar{border-radius:var(--radius-strip);background:var(--color-surface-sunk);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 12px 12px 18px;font-size:.875rem;line-height:1.45;display:flex}.info-bar__label{margin-right:4px}.info-bar__content{display:contents}.info-bar__actions{flex-wrap:wrap;flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.info-bar__actions a:not(.button){align-items:center;gap:8px;min-height:44px;padding:0 8px;font-weight:600;display:inline-flex}@media (width<=1023px){.info-bar{border-radius:var(--radius-lg);flex-flow:column;align-items:stretch;padding:14px 16px}.info-bar__label{color:var(--color-text-muted);margin:0;font-size:.75rem;font-weight:600}.info-bar__content{line-height:1.5;display:block}.info-bar__actions{margin:0 -10px -6px}.info-bar__actions a:not(.button){padding:0 10px}}.offers-page{flex-direction:column;gap:24px;min-width:0;display:flex}.offers-page>.form-error,.offers-page>.form-hint{margin:0}.offers-page__filters{flex-direction:column;gap:16px;display:flex}.offers-page__search{max-width:520px}.offers-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.offer-card{flex-direction:column;gap:8px;height:100%;padding:18px;display:flex}.offer-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.offer-card__head>.offer-card__store{margin:0}.offer-card__title{margin:0;font-size:1.125rem;line-height:1.3}.offer-card__description{color:var(--color-text-muted);margin:0;font-size:.875rem}.offer-card__price{align-items:baseline;gap:8px;margin-top:auto;padding-top:8px;display:flex}.offer-card__price strong{font-size:1.25rem;font-weight:700}.offer-card__price s,.offer-card__unit{color:var(--color-text-muted);font-size:.8125rem}@media (width<=1023px){.offers-page{gap:16px}.offers-page__search{max-width:none}.offers-grid{grid-template-columns:minmax(0,1fr);gap:10px}.offer-card{border-radius:var(--radius-strip);padding:16px}}.list-row{grid-template-columns:auto minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:column;align-items:center;gap:14px;min-height:68px;padding:12px 0;display:grid}.list-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.list-row__title,.list-row__subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-row__title{font-size:.9375rem;font-weight:600}.list-row__subtitle{color:var(--color-text-muted);font-size:.875rem}@media (width<=1023px){.list-row{gap:12px;min-height:64px;padding:10px 0}.list-row__subtitle{font-size:.8125rem}.list-row--stack{grid-auto-flow:row;gap:8px 12px}.list-row--stack>:nth-child(n+3){grid-column:2}}@media (width<=19.9em){.list-row{grid-auto-flow:row;gap:8px 12px}.list-row>:nth-child(n+3){grid-column:2}.list-row__title,.list-row__subtitle{overflow-wrap:anywhere;white-space:normal}}.household-member__you{color:var(--color-text-muted);font-weight:400}.household-member__role{color:var(--color-text-secondary);padding-right:4px;font-size:.9375rem}.household-member__action{justify-content:flex-end;min-width:40px;display:flex}@media (width<=1023px){.household-member__role{padding-right:0;font-size:.875rem}.household-member__desktop,.household-member__action:empty{display:none}}.household-panel>.form-section__body{align-items:stretch;gap:36px}.household-panel .form-section__aside{padding-top:18px}.household-panel__group{flex-direction:column;gap:10px;display:flex}.household-panel__label{align-items:baseline;gap:8px;margin:0;font-size:1rem;font-weight:650;display:flex}.household-panel__count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:500}.household-panel__list{border-top:1px solid var(--household-hairline);margin:0;padding:0;list-style:none}.household-panel__list>li{border-bottom:1px solid var(--household-hairline)}.household-panel__pending-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.household-panel__invite{flex-direction:column;gap:10px;display:flex}.household-panel__invite h3{margin:0 0 2px;font-size:1rem;font-weight:650}.household-panel__invite-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.household-panel__invite-row .field-control{flex:260px;width:auto;min-width:0;max-width:420px}.household-panel__help{max-width:62ch;color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.household-panel__notice{color:var(--color-text-secondary);align-items:flex-start;gap:8px;margin:4px 0 0;font-size:.875rem;line-height:1.45;display:flex}.household-panel__notice>svg{color:var(--color-primary);flex:none}.household-panel__notice>span{overflow-wrap:anywhere;min-width:0}.household-panel__error{margin:0}.household-panel{--household-hairline:var(--color-divider)}@media (width<=1023px){.household-panel{row-gap:28px;padding-bottom:32px}.household-panel>.form-section__body{gap:28px}.household-panel .form-section__title{align-content:center;min-height:44px}.household-panel .form-section__intro{margin-top:-6px}.household-panel__group{gap:8px}.household-panel__invite-row{flex-flow:column;align-items:stretch}.household-panel__invite-row .field-control{flex:none;width:100%;max-width:none}.household-panel__help,.household-panel__notice{margin-top:2px}}@media (prefers-contrast:more){.household-panel{--household-hairline:var(--color-border-input)}}.household-invite-card{border-radius:var(--radius-xl);background:var(--color-primary-soft);flex-wrap:wrap;align-items:center;gap:16px 20px;padding:22px 24px 22px 22px;display:flex}.household-invite-card__head{flex:320px;align-items:center;gap:20px;min-width:0;display:flex}.household-invite-card__icon{background:var(--color-primary-soft-strong);width:44px;height:44px;color:var(--color-primary-soft-text);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.household-invite-card__text{flex-direction:column;gap:3px;min-width:0;display:flex}.household-invite-card__text h2{overflow-wrap:anywhere;margin:0;font-size:1.0625rem;line-height:1.3}.household-invite-card__text span{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:.9375rem}.household-invite-card__actions{align-items:center;gap:4px;display:flex}.household-invite-card .button--text:hover:not(:disabled){background:var(--color-primary-soft-strong)}@media (width<=1023px){.household-invite-card{flex-flow:column;align-items:stretch;gap:14px;padding:20px 20px 18px}.household-invite-card__head{flex:none;align-items:flex-start;gap:14px}.household-invite-card__icon{width:40px;height:40px}.household-invite-card__text{padding-top:1px}.household-invite-card__text h2{font-size:1rem}.household-invite-card__text span{font-size:.875rem}.household-invite-card__actions>.button--primary{flex:auto}}.settings-block{--settings-hairline:var(--color-border);border-top:1px solid var(--settings-hairline);padding:24px 0}.settings-row{grid-template-columns:var(--settings-label-width) minmax(0, 1fr) 20px;align-items:baseline;column-gap:var(--settings-gap);border-radius:var(--radius-strip);width:calc(100% + 24px);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--duration-press) ease;background:0 0;border:0;margin:0 -12px;padding:16px 12px;text-decoration:none;display:grid}@media (hover:hover){.settings-row:hover{background:var(--color-surface-hover);color:var(--color-text)}}.settings-row__title{letter-spacing:-.01em;font-size:1.25rem;font-weight:650;line-height:1.2}.settings-row__summary{max-width:64ch;color:var(--color-text-muted);font-size:.9375rem;line-height:1.55}.settings-row>svg{color:var(--color-text-muted);align-self:center}@media (width<=1180px){.settings-row{grid-template-columns:minmax(0,1fr) 20px;row-gap:6px}.settings-row__summary{grid-area:2/1}.settings-row>svg{grid-area:1/2/3}}@media (width<=1023px){.settings-block{padding:8px 0}.settings-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px 12px}.settings-row__title{font-size:1.0625rem}.settings-row__summary{font-size:.875rem;line-height:1.5}.settings-row__summary--clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (prefers-contrast:more){.settings-block{--settings-hairline:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.settings-row{transition:none}}.account-panel{padding-bottom:0}.account-panel__heading{margin:0;font-size:1rem;font-weight:400}.account-panel .expand-icon{color:var(--color-text-secondary)}.account-panel__body{padding-top:8px}.account-panel__rows{margin:0;padding:0;list-style:none}.account-panel__rows>li{border-bottom:1px solid var(--settings-row-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:18px 0;display:flex}.account-panel__rows>li:last-child{border-bottom:0}.account-panel__text{flex-direction:column;flex:300px;gap:3px;min-width:0;display:flex}.account-panel__text h3{margin:0;font-size:.9375rem;font-weight:600}.account-panel__text p{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.account-panel__text p.form-error{color:var(--color-error)}.account-panel__text p.account-panel__done{color:var(--color-text-secondary);align-items:flex-start;gap:8px;margin-top:6px;line-height:1.45;display:flex}.account-panel__done>svg{color:var(--color-primary);flex:none}.account-panel{--settings-row-hairline:var(--color-divider)}.account-form{flex-direction:column;gap:16px;display:flex}.account-form__error{margin:0}.account-form__actions{margin-top:4px}@media (width<=1023px){.account-panel{border-bottom:1px solid var(--settings-hairline);padding-bottom:8px}.account-panel__body{padding-top:0}.account-panel__rows{padding-bottom:4px}.account-panel__rows>li{flex-flow:column;align-items:flex-start;gap:10px}.account-panel__rows>li:first-child{padding-top:14px}.account-panel__rows>li:last-child{padding-bottom:14px}.account-panel__text{flex:none}}@media (prefers-contrast:more){.account-panel{--settings-row-hairline:var(--color-border-input)}}.profile-settings-form{flex-direction:column;gap:24px;display:flex}.profile-page{flex-direction:column;gap:24px;min-width:0;display:flex}.profile-page__invites{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.profile-page__groups{flex-direction:column;min-width:0;display:flex}.profile-page__pending{border-top:1px solid var(--color-border);padding:36px 0 40px}.profile-page__pending>.form-hint{margin:0}@media (width>=1024px){.profile-page__groups>.form-section{padding:40px 0}}.profile-me__email,.profile-me__summary{display:block}.profile-me>.form-section__body{gap:20px}.profile-me__facts{flex-direction:column;width:100%;max-width:520px;margin:-14px 0 0;display:flex}.profile-me__facts>div{border-bottom:1px solid var(--profile-hairline);grid-template-columns:10.5rem minmax(0,1fr);align-items:baseline;padding:14px 0;font-size:.9375rem;display:grid}.profile-me__facts dt{color:var(--color-text-muted)}.profile-me__facts dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-weight:500}.profile-me__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-page__logout-error{margin:0}.profile-page{--profile-hairline:var(--color-divider)}@media (width<=1023px){.profile-page{gap:20px}.profile-page__invites{margin-bottom:4px}.profile-me{border-top:0;padding:0 0 20px}.profile-me__email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-me__summary{font-size:.8125rem}.profile-me .form-section__trailing{margin-right:-2px}.profile-page__sign-out{flex-direction:column;align-items:flex-start;gap:8px;padding-top:20px;display:flex}}@media (prefers-contrast:more){.profile-page{--profile-hairline:var(--color-border-input)}.profile-page__pending{border-top-color:var(--color-border-input)}}.switch{border-radius:var(--radius-pill);min-height:44px;color:var(--color-text);text-align:left;background:0 0;border:none;flex:none;align-items:center;gap:12px;padding:0 10px 0 16px;font-size:.9375rem;font-weight:500;line-height:1.3;display:inline-flex}.switch:hover{background:var(--color-chip)}.switch__track{box-sizing:border-box;border-radius:var(--radius-pill);background:var(--color-border-strong);width:44px;height:26px;transition:background-color var(--duration-fade) ease;flex:none;position:relative}.switch__knob{background:var(--color-surface);width:22px;height:22px;transition:transform var(--duration-press) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.switch[aria-checked=true] .switch__track{background:var(--color-primary)}.switch[aria-checked=true] .switch__knob{transform:translate(18px)}@media (prefers-contrast:more){.switch__track{border:1px solid var(--color-border-input)}.switch__knob{top:1px;left:1px}}@media (prefers-reduced-motion:reduce){.switch__track,.switch__knob{transition:none}}.shopping-list{--shopping-hairline:var(--color-border);flex-direction:column;gap:36px;min-width:0;display:flex}.shopping-status{grid-template-columns:minmax(0,1fr) 340px;column-gap:48px;display:grid}.shopping-status__progress{flex-direction:column;gap:14px;min-width:0;display:flex}.shopping-status__counts{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.shopping-status__done{color:var(--color-text-muted);align-items:baseline;gap:10px;font-size:1rem;display:flex}.shopping-status__figure{color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.75rem;font-weight:600;line-height:1}.shopping-status__left{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9375rem}.shopping-status__note{color:var(--color-text-muted);align-items:flex-start;gap:10px;margin:0;font-size:.9375rem;line-height:1.5;display:flex}.shopping-status__note>svg{flex:none;margin-top:2px}.shopping-status__note strong{color:var(--color-text);font-weight:600}.shopping-status__log{align-self:flex-start;margin:-12px 0 -10px -18px}.shopping-list__items{flex-direction:column;gap:28px;min-width:0;display:flex}.shopping-list__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.shopping-list__view{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.shopping-list__view-note{color:var(--color-text-muted);font-size:.875rem}.shopping-list__hide{margin-left:auto}.shopping-list__groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:44px 40px;display:grid}.shopping-list__column{flex-direction:column;gap:44px;min-width:0;display:flex}.shopping-group{flex-direction:column;gap:12px;min-width:0;display:flex}.shopping-group__header{justify-content:space-between;align-items:baseline;gap:12px;padding:0 12px;display:flex}.shopping-group__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.shopping-group__heading h2{letter-spacing:-.01em;margin:0;font-size:1.25rem;line-height:1.25}.shopping-group__heading span{color:var(--color-text-muted);font-size:.875rem;line-height:1.4}.shopping-group__count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.875rem}.shopping-group__toggle{flex:none;margin:-4px -12px 0 0}.shopping-group__items{box-shadow:inset 0 1px 0 var(--shopping-hairline);margin:0;padding:0;list-style:none}.shopping-group__items>li{box-shadow:inset 0 -1px 0 var(--shopping-hairline)}.shopping-group__empty{color:var(--color-text-muted);padding:14px 12px;font-size:.875rem}.shopping-row{box-sizing:border-box;border-radius:var(--radius-strip);cursor:pointer;min-height:56px;transition:background-color var(--duration-press) ease;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;column-gap:14px;padding:14px 12px;display:grid;position:relative}@media (hover:hover){.shopping-row:hover{background:var(--color-surface-hover)}.shopping-row:hover .checkbox-circle__input:not(:checked)+.checkbox-circle{border-color:var(--color-primary)}}.shopping-row__text{flex-direction:column;gap:3px;min-width:0;padding-top:1px;display:flex}.shopping-row__name{overflow-wrap:anywhere;font-size:1rem;font-weight:500;line-height:1.35}.shopping-row__meta{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.8125rem;line-height:1.4;display:flex}.shopping-row__uses{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shopping-row__amount{color:var(--color-text-secondary);text-align:right;white-space:nowrap;padding-top:2px;font-size:.9375rem;line-height:1.4}.shopping-row.is-checked .shopping-row__name,.shopping-row.is-checked .shopping-row__amount{color:var(--color-text-muted)}.shopping-row.is-checked .shopping-row__name{text-decoration:line-through;text-decoration-thickness:1px}.shopping-list__footnote{max-width:72ch;color:var(--color-text-muted);margin:4px 12px 0;font-size:.8125rem;line-height:1.6}@media (width<=1100px){.shopping-status{grid-template-columns:minmax(0,1fr)}}@media (width>=1024px) and (width<=1279px){.shopping-list__groups{columns:2;column-gap:40px;display:block}.shopping-list__column{display:contents}.shopping-list__groups .shopping-group{break-inside:avoid;margin-bottom:44px}}@media (width<=1023px){.shopping-list,.shopping-list__items{gap:24px}.shopping-status__progress{gap:12px}.shopping-status__done{gap:8px;font-size:.9375rem}.shopping-status__figure{font-size:1.5rem}.shopping-status__left{font-size:.875rem}.shopping-status .meter{height:4px}.shopping-status__note{font-size:.875rem}.shopping-status__log{margin:-6px 0 -10px -18px}.shopping-list__controls{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;display:grid}.shopping-list__view{display:contents}.shopping-list__view>.segmented-control{grid-column:1/-1}.shopping-list__view-note{font-size:.8125rem;line-height:1.4}.shopping-list__hide{margin-right:-10px}.shopping-list__groups{grid-template-columns:minmax(0,1fr)}.shopping-list__groups,.shopping-list__column{gap:36px}.shopping-group__header{padding:0}.shopping-group__heading h2{font-size:1.125rem}.shopping-row{border-radius:var(--radius-sm);padding:12px 4px}.shopping-group__empty{padding:14px 4px}.shopping-list__footnote{margin:0}}@media (prefers-contrast:more){.shopping-list{--shopping-hairline:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.shopping-row{transition:none}}.shopping-list-page{flex-direction:column;gap:24px;min-width:0;display:flex}.shopping-list-page>.form-hint{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-body);letter-spacing:0;font-weight:650}h1{letter-spacing:-.02em;margin-bottom:18px;font-size:2rem;line-height:1.05}h2{letter-spacing:-.01em;font-size:1.25rem}.eyebrow{color:var(--color-text-muted);margin:0 0 10px;font-size:.8125rem;font-weight:500;line-height:1.3}.form-error{color:var(--color-error);margin:12px 0 0;font-size:.875rem}.form-hint{color:var(--color-text-muted);margin:12px 0 0;font-size:.875rem}.settings-columns{grid-template-columns:var(--settings-label-width) minmax(0, 1fr);column-gap:var(--settings-gap);display:grid}.settings-columns>*{grid-column:2;min-width:0}@media (width<=1180px){.settings-columns{grid-template-columns:minmax(0,1fr)}.settings-columns>*{grid-column:1}}.auth-loading{min-height:100svh;color:var(--color-text-muted);place-items:center;font-size:.875rem;display:grid}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:where(button,a[href],[role=button],.pressable){transition:var(--transition-press);-webkit-tap-highlight-color:transparent}:where(button:enabled,a[href],[role=button]):where(:active),:where(.pressable:not(label,:disabled)):where(:active){transform:scale(var(--press-scale))}label.pressable:active{background-color:var(--color-press)}.glass{background:var(--color-glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter)}.glass--edge-top{box-shadow:0 -1px 0 var(--color-glass-edge)}.glass--edge-bottom{box-shadow:0 1px 0 var(--color-glass-edge)}@media (width<=1023px){h1{font-size:1.75rem}h2{font-size:1.125rem}}@media (width<=19.9em){h1,h2,h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:12 4 4}}@media (prefers-reduced-motion:reduce){:where(button:enabled,a[href],[role=button]):where(:active),:where(.pressable:not(label,:disabled)):where(:active){transform:none;opacity:.7!important}}@media (prefers-reduced-transparency:reduce){.glass{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.glass{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 0 0 1px var(--color-text)}}
