.project-page:has(.weekly-planner){overflow-x:clip}.weekly-planner{--weekly-border:var(--food-border-interactive);margin-top:42px}.weekly-planner__layout{grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);align-items:start;gap:clamp(22px,3vw,38px);display:grid}.weekly-planner__catalog{min-width:0;container-type:inline-size}@media (width>=821px){.weekly-planner__catalog{isolation:isolate}.weekly-planner .recipe-collection-controls:before{inset-inline:-100vw}}@media (width<=820px){.weekly-planner .recipe-collection-controls:before{inset-inline:calc(50% - 50vw)}}.weekly-planner .recipe-collection-controls{margin-bottom:22px;top:0}@container (width<=650px){.recipe-collection-filter-details{grid-template-columns:1fr}}.weekly-planner__recipes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.recipe-card--compact{justify-content:flex-end;min-height:200px;position:relative}.recipe-card--compact .recipe-card__media{aspect-ratio:auto;z-index:1;width:100%;height:100%;position:absolute;inset:0}.recipe-card--compact.recipe-card--no-image .recipe-card__media{aspect-ratio:auto;height:100%;min-height:0;position:absolute;inset:0}.recipe-card--compact .recipe-card__img{object-fit:cover;width:100%;height:100%}.recipe-card--compact .recipe-card__fallback{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding-top:4px;padding-bottom:0;display:flex}.recipe-card--compact.recipe-card--no-image .recipe-card__fallback-icon{justify-content:center;align-items:center;font-size:1.75rem;line-height:1;display:inline-flex}.recipe-card--compact .recipe-card__body{z-index:2;background:var(--food-overlay-backdrop);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--food-accent-tint);flex-grow:0;gap:2px;margin-top:auto;padding:6px 12px;position:relative}.recipe-card--compact .recipe-card__title{color:var(--food-text-headline);text-shadow:0 1px 3px var(--food-shadow-modal);margin:0;font-size:clamp(1rem,2vw,1.28rem);line-height:1.15}.recipe-card__title-button{width:100%;color:inherit;font:inherit;line-height:inherit;text-align:left;text-shadow:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;transition:color .2s}.recipe-card__title-button:hover,.recipe-card__title-button:focus-visible{color:var(--food-accent-light);outline:none}.recipe-card--compact .recipe-card__ingredients{-webkit-line-clamp:1;color:var(--food-text-bright-muted);text-shadow:0 1px 2px var(--food-shadow-modal);-webkit-box-orient:vertical;font-size:.82rem;line-height:1.25;display:-webkit-box;overflow:hidden}.recipe-card--compact .recipe-card__photo-control{z-index:3;bottom:calc(100% + 4px);right:6px}.recipe-card--selectable{border-color:var(--weekly-border);cursor:default;outline:none}.recipe-card--selectable[data-selected=true]{border-color:var(--food-accent-light);box-shadow:0 0 0 2px var(--food-border-interactive), 0 12px 26px var(--food-shadow-subtle)}.recipe-card--selectable:not([data-selected=true]){box-shadow:none;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .15s}.recipe-card__selection-mark{z-index:5;border:1px solid var(--food-control-ring);background:radial-gradient(circle at 35% 35%, var(--food-surface-warm), var(--food-shadow-modal));width:30px;height:30px;box-shadow:0 2px 8px var(--food-shadow-card);color:#0000;cursor:pointer;touch-action:manipulation;-webkit-backdrop-filter:blur(4px);border-radius:50%;outline:none;place-items:center;padding:0;font-weight:800;transition:color .15s,background .15s,border-color .15s,box-shadow .15s,transform .15s;display:grid;position:absolute;top:10px;right:10px}.recipe-card__selection-mark:hover,.recipe-card__selection-mark:focus,.recipe-card__selection-mark:focus-visible,.recipe-card__selection-mark:active{outline:none}.recipe-card__selection-mark:after{content:"";border-radius:50%;position:absolute;inset:-9px}.recipe-card__portions{z-index:5;border:1px solid var(--food-border-active);background:var(--food-overlay-backdrop);-webkit-backdrop-filter:blur(8px);min-height:30px;color:var(--food-text-primary);box-shadow:0 2px 10px var(--food-shadow-card);border-radius:17px;align-items:center;display:none;position:absolute;inset:10px auto auto 10px;overflow:hidden}.recipe-card--selectable[data-selected=true] .recipe-card__portions{display:inline-flex}.recipe-card__portions button{width:32px;min-height:30px;color:var(--food-accent-light);font:700 1.1rem/1 var(--sans);cursor:pointer;background:0 0;border:0;outline:none;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid}.recipe-card__portions button:focus-visible{outline:none}.recipe-card__portions button:disabled{opacity:.35;cursor:not-allowed}.recipe-card__portions span{min-width:44px;color:var(--food-text-primary);font:650 .72rem/1 var(--sans);text-align:center;white-space:nowrap;padding:0 2px}.recipe-card--selectable[data-selected=true] .recipe-card__selection-mark{color:var(--food-surface-canvas);background:var(--food-accent-light);border-color:var(--food-accent-light);box-shadow:0 2px 8px var(--food-shadow-card)}@keyframes weeklyRecipeAdded{0%,to{transform:scale(1)}45%{transform:scale(1.018)}}.recipe-card--selectable.is-just-added{animation:.55s ease-out weeklyRecipeAdded}@media (width<=520px){.weekly-planner{margin-top:28px}.weekly-planner__recipes{gap:9px}.recipe-card--compact{min-height:155px}.recipe-card--compact .recipe-card__media,.recipe-card--compact.recipe-card--no-image .recipe-card__media{aspect-ratio:auto}.recipe-card--compact .recipe-card__fallback{padding-top:5px;padding-bottom:0}.recipe-card--compact .recipe-card__body{padding:5px 8px}.recipe-card--compact .recipe-card__title{font-size:.95rem;line-height:1.12}.recipe-card--compact .recipe-card__ingredients{display:none}.recipe-card--compact .card-badge{padding:3px 5px;font-size:.58rem}.recipe-card__selection-mark{width:26px;height:26px;font-size:.85rem;top:7px;right:7px}.recipe-card__portions{min-height:28px;top:7px;left:7px}.recipe-card__portions button{width:28px;min-height:28px;font-size:1rem}.recipe-card__portions span{min-width:38px;font-size:.68rem}}@media (prefers-reduced-motion:reduce){.recipe-card--selectable.is-just-added{animation:none}}.weekly-shopping{--weekly-border:var(--food-border-interactive);z-index:10;overscroll-behavior:contain;border:1px solid var(--weekly-border);background:var(--food-surface-card);max-height:calc(100dvh - 32px);box-shadow:0 18px 42px var(--food-shadow-subtle);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);-webkit-tap-highlight-color:transparent;border-radius:12px;outline:none;padding:20px;position:sticky;top:16px;overflow-y:auto}.weekly-shopping::-webkit-scrollbar{width:var(--scrollbar-size)}.weekly-shopping::-webkit-scrollbar-track{background:var(--scrollbar-track)}.weekly-shopping::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;transition:background-color .2s}.weekly-shopping::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.weekly-shopping__handle{display:none}.weekly-shopping__handle:focus,.weekly-shopping__handle:focus-visible,.weekly-shopping__handle:active{outline:none}.weekly-shopping__heading{border-bottom:1px solid var(--food-accent-focus);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.weekly-shopping__eyebrow{color:var(--food-accent-light);letter-spacing:.12em;text-transform:uppercase;margin:0 0 3px;font-size:.76rem;font-weight:700}.weekly-shopping h2{color:var(--food-text-headline);font:500 1.7rem/1.1 var(--serif);margin:0}.weekly-shopping__title-group{align-items:baseline;gap:8px;min-width:0;display:flex}.weekly-shopping__subtitle{font-family:var(--sans);color:var(--food-accent-light);white-space:nowrap;font-size:.84rem;font-weight:600}.weekly-shopping__actions{align-items:center;gap:8px;display:flex}.weekly-shopping__toggle-icon,.weekly-shopping__backdrop{display:none}.weekly-shopping__empty{color:var(--food-text-muted);margin:20px 0 4px;line-height:1.55}.weekly-shopping__recipes ul{border-top:1px solid var(--food-divider);gap:0;margin:0;padding:0;list-style:none;display:grid}.weekly-shopping__manual-body{padding:0 16px 16px}.weekly-shopping__manual-add:has(#weekly-clear-manual:not([hidden])) .weekly-shopping__manual-body,.weekly-shopping__manual-add:has(.collapsible-card__removed-row--section) .weekly-shopping__manual-body{padding-bottom:0}.weekly-shopping__manual-body>p{color:var(--food-text-muted);font:400 .82rem/1.5 var(--sans);margin:0 0 12px}.weekly-shopping__manual-add #weekly-manual-items{border:0;margin-top:12px;display:grid}#weekly-manual-items:empty{display:none}#weekly-manual-items li{border-top:1px solid var(--food-divider);font:400 .84rem/1.4 var(--sans);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}#weekly-manual-items li .weekly-manual-item-label{overflow-wrap:anywhere;flex:1;min-width:0}.weekly-manual-item-controls{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.weekly-manual-select-wrap{border-radius:999px;grid-template-columns:minmax(0,1fr);grid-template-areas:"select";align-items:center;min-width:0;max-width:125px;display:inline-grid;position:relative;overflow:hidden}.weekly-manual-select-text{visibility:hidden;white-space:nowrap;font:500 .72rem/1 var(--sans);letter-spacing:.01em;pointer-events:none;text-overflow:ellipsis;grid-area:select;min-width:0;max-width:100%;padding:0 18px 0 8px;overflow:hidden}.weekly-manual-item-select{border:1px solid var(--food-divider);width:100%;min-width:0;max-width:100%;height:24px;min-height:24px;color:var(--food-text-muted);font:500 .72rem/1 var(--sans);letter-spacing:.01em;cursor:pointer;-webkit-appearance:none;appearance:none;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6' fill='none'%3E%3Cpath d='M1 1.5L4 4.5L7 1.5' stroke='%239c8976' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 7px center no-repeat;border-radius:999px;outline:none;grid-area:select;padding:0 18px 0 8px;transition:border-color .15s,background-color .15s,color .15s;overflow:hidden}.weekly-manual-item-select:hover{border-color:var(--food-divider-hover);background-color:var(--food-surface-tint);color:var(--food-text-primary)}.weekly-manual-item-select:focus-visible{border-color:var(--food-divider-hover);outline:none}.weekly-manual-item-select option{background:var(--food-surface-card);color:var(--food-text-primary)}.weekly-shopping__manual-add summary::-webkit-details-marker{display:none}.weekly-shopping__manual-add form{margin:0;display:block}.weekly-shopping__manual-add:not([open]) form{display:none}.weekly-shopping__manual-input-row{align-items:center;width:100%;display:flex;position:relative}.weekly-shopping__manual-add form input,.weekly-shopping__manual-add form select{border:1px solid var(--weekly-border);background:var(--food-surface-card);min-width:0;min-height:42px;color:var(--food-text-primary);font:.84rem var(--sans);border-radius:8px;outline:none;padding:0 10px}.weekly-shopping__manual-input-row input{flex:1;width:100%;padding-right:44px}.weekly-shopping__manual-add form input:focus,.weekly-shopping__manual-add form input:focus-visible,.weekly-shopping__manual-add form select:focus,.weekly-shopping__manual-add form select:focus-visible{border-color:var(--weekly-border);outline:none}.weekly-shopping__manual-submit-btn{background:var(--food-accent-tint);width:34px;height:34px;color:var(--food-accent-light);font:500 1.35rem/1 var(--sans);cursor:pointer;border:0;border-radius:6px;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.weekly-shopping__manual-submit-btn:focus-visible{outline:none}.weekly-shopping__manual-pill,.weekly-shopping__recipe-pill{box-sizing:border-box;font:500 .62rem/1 var(--sans);letter-spacing:.03em;color:var(--food-text-muted-faint);border:1px solid var(--food-divider);white-space:nowrap;user-select:none;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:2.5px 6.5px;line-height:1;display:inline-flex}.weekly-shopping__manual-pill{pointer-events:none;place-self:center end}.weekly-shopping__recipe-source{place-self:center end;align-items:center;padding-left:14px;display:inline-flex;position:relative}.weekly-shopping__recipe-pill{cursor:pointer;-webkit-appearance:none;appearance:none;gap:3px;margin:0;transition:color .15s,background-color .15s,border-color .15s;position:relative}.weekly-shopping__recipe-pill:before{content:"";border-radius:999px;position:absolute;inset:-12px -10px}.weekly-shopping__recipe-pill:focus,.weekly-shopping__recipe-pill:focus-visible,.weekly-shopping__recipe-pill:active{outline:none}.weekly-shopping__recipe-source.is-open .weekly-shopping__recipe-pill{color:var(--food-text-bright);background:var(--food-accent-tint);border-color:var(--food-border-interactive);outline:none}.weekly-shopping__recipe-pill-icon{opacity:.6;filter:saturate(.55);justify-content:center;align-items:center;font-size:.62rem;line-height:1;transition:opacity .15s,filter .15s;display:inline-flex}.weekly-shopping__recipe-source.is-open .weekly-shopping__recipe-pill-icon{opacity:1;filter:none}.weekly-shopping__recipe-source:not(.is-open) .weekly-shopping__recipe-pill,.weekly-shopping__recipe-source:not(.is-open) .weekly-shopping__recipe-pill:hover,.weekly-shopping__recipe-source:not(.is-open) .weekly-shopping__recipe-pill:focus,.weekly-shopping__recipe-source:not(.is-open) .weekly-shopping__recipe-pill:focus-visible,.weekly-shopping__recipe-source:not(.is-open) .weekly-shopping__recipe-pill:active{color:var(--food-text-muted-faint);border-color:var(--food-divider);background:0 0;outline:none}.weekly-shopping__recipe-source:not(.is-open) .weekly-shopping__recipe-pill .weekly-shopping__recipe-pill-icon,.weekly-shopping__recipe-source:not(.is-open) .weekly-shopping__recipe-pill:hover .weekly-shopping__recipe-pill-icon,.weekly-shopping__recipe-source:not(.is-open) .weekly-shopping__recipe-pill:focus .weekly-shopping__recipe-pill-icon{opacity:.6;filter:saturate(.55)}.weekly-shopping__recipe-pill-count{font-variant-numeric:tabular-nums;opacity:.85;font-size:.62rem;font-weight:500;line-height:1}.weekly-shopping__recipe-popup{z-index:30;opacity:0;visibility:hidden;pointer-events:none;background:var(--food-surface-card);border:1px solid var(--food-border-interactive);width:max-content;max-width:min(320px,100vw - 40px);box-shadow:0 4px 14px var(--food-shadow-card);border-radius:4px;padding:2px 4px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 7px);right:0;transform:translateY(-2px)}.weekly-shopping__recipe-popup:before{content:"";background:var(--food-surface-card);border-left:1px solid var(--food-border-interactive);border-top:1px solid var(--food-border-interactive);z-index:1;width:7px;height:7px;position:absolute;top:-4.5px;right:14px;transform:rotate(45deg)}.weekly-shopping__recipe-source.is-open .weekly-shopping__recipe-popup{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}body.is-scrolling .weekly-shopping .weekly-shopping__recipe-source .weekly-shopping__recipe-popup{opacity:0;visibility:hidden;pointer-events:none}.weekly-shopping__recipe-popup-list{z-index:2;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.weekly-shopping__recipe-popup-list li{font:400 .67rem/1.2 var(--sans);color:var(--food-text-bright);white-space:nowrap;text-overflow:ellipsis;padding:1.5px 3px;overflow:hidden}.weekly-shopping__recipe-popup-list li+li{border-top:.5px solid var(--food-border-interactive)}.weekly-shopping__recipe-item{min-height:94px;color:var(--food-text-primary);justify-content:space-between;align-items:center;gap:10px;padding:0 0 0 122px;font-size:.82rem;line-height:1.35;transition:background-color .15s;display:flex;position:relative}.weekly-shopping__recipe-item+.weekly-shopping__recipe-item{border-top:1px solid var(--food-divider)}.weekly-shopping__recipe-info{flex-direction:column;flex:1;gap:2px;min-width:0;padding:11px 12px 10px 0;display:flex}.weekly-shopping__recipe-controls{align-items:center;gap:10px;margin-top:6px;display:flex}.weekly-shopping__recipe-thumbnail-link{width:106px;height:100%;text-decoration:none;display:block;position:absolute;inset:0 auto 0 0;overflow:hidden}.weekly-shopping__recipe-thumbnail-link:after{content:"";background:linear-gradient(to top, var(--food-overlay-backdrop) 0%, var(--food-overlay-gradient-mid) 18%, transparent 45%);pointer-events:none;position:absolute;inset:0}.weekly-shopping__recipe-thumbnail{object-fit:cover;background:var(--food-accent-tint);border-radius:0;width:100%;height:100%;transition:transform .2s;display:block}.weekly-shopping__recipe-thumbnail-link:hover .weekly-shopping__recipe-thumbnail,.weekly-shopping__recipe-thumbnail-link:focus-visible .weekly-shopping__recipe-thumbnail{transform:scale(1.04)}.weekly-shopping__recipe-thumbnail-link:focus-visible{outline:none}.weekly-shopping__recipe-thumbnail--fallback{place-items:center;font-size:1.25rem;display:grid}.weekly-shopping__recipe-title,.weekly-shopping__recipe-info a{color:var(--food-text-headline);font:400 1.19rem/1.25 var(--serif);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:none}.weekly-shopping__recipe-info a:hover,.weekly-shopping__recipe-info a:focus-visible{color:var(--food-accent-light);outline:none}.weekly-shopping__recipe-variant{color:var(--food-text-muted);overflow-wrap:anywhere;font-size:.73rem;font-style:italic}.weekly-shopping__portions{border:1px solid var(--food-divider);background:0 0;border-radius:6px;flex-shrink:0;align-items:center;height:26px;display:inline-flex;overflow:hidden}.weekly-shopping__portion-btn{width:26px;height:26px;color:var(--food-accent-light);font:700 1rem/1 var(--sans);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid}.weekly-shopping__portion-btn:hover:not(:disabled),.weekly-shopping__portion-btn:focus-visible:not(:disabled){outline:none}.weekly-shopping__portion-btn:disabled{opacity:.35;cursor:not-allowed}.weekly-shopping__portion-count{min-width:40px;color:var(--food-text-primary);font:400 .72rem/1 var(--sans);text-align:center;white-space:nowrap;padding:0 3px}.weekly-shopping__hide-checked{width:max-content;min-height:44px;color:var(--food-text-primary);cursor:pointer;align-items:center;gap:10px;margin:10px 0 0 auto;font-size:.84rem;display:flex}.weekly-shopping__hide-checked[hidden]{display:none}.weekly-shopping__hide-checked input{opacity:0;width:1px;height:1px;position:absolute}.weekly-shopping__switch{background:var(--food-switch-track);border-radius:999px;flex:none;width:38px;height:22px;transition:background-color .2s;position:relative}.weekly-shopping__switch:after{content:"";background:var(--food-text-primary);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px}.weekly-shopping__hide-checked input:checked+.weekly-shopping__switch{background:var(--food-accent-light)}.weekly-shopping__hide-checked input:checked+.weekly-shopping__switch:after{transform:translate(16px)}.weekly-shopping__hide-checked input:focus-visible+.weekly-shopping__switch{outline:2px solid var(--food-accent-light);outline-offset:2px}.weekly-shopping__completed{background:var(--food-accent-tint);border:1px solid var(--food-accent-focus);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;margin:16px 0 12px;padding:24px 16px;display:flex;position:relative;overflow:hidden}.weekly-shopping__completed[hidden]{display:none}.weekly-shopping__completed-badge{background:var(--food-accent-tint);border:1px solid var(--food-border-interactive);width:44px;height:44px;color:var(--food-accent-light);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.weekly-shopping__completed-title{color:var(--food-text-headline);font:500 1.25rem/1.2 var(--serif);margin:0}.weekly-shopping__completed-text{color:var(--food-text-muted);font:400 .85rem/1.4 var(--sans);margin:8px 0 6px}.weekly-shopping__completed.is-cleared{border:0;border-top:1px solid var(--food-divider);border-bottom:1px solid var(--food-divider);text-align:left;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;max-height:140px;padding:10px 12px;transition:opacity .25s ease-out,max-height .25s ease-out,padding .25s ease-out,margin .25s ease-out;display:grid}.weekly-shopping__completed.is-cleared .weekly-shopping__completed-title{font:400 1.1rem/1.25 var(--serif)}.weekly-shopping__completed.is-cleared .weekly-shopping__completed-text{margin:4px 0 0;font-size:.76rem}.weekly-shopping__completed.is-cleared .weekly-shopping__clear-all-undo{margin:0}.weekly-shopping__completed.is-cleared.is-expiring{opacity:0;border-width:0;max-height:0;margin-block:0;padding-block:0}@media (prefers-reduced-motion:reduce){.weekly-shopping__completed.is-cleared{transition:none}}.weekly-shopping__clear-all,.weekly-shopping__clear-all-undo{margin-top:4px}.weekly-shopping__clear-all-undo[hidden]{display:none}.weekly-shopping__list{margin:14px 0 0;padding:0;list-style:none}.weekly-shopping__section-heading{color:var(--food-accent-light);font:700 .7rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-top:21px;padding-bottom:5px}.weekly-shopping__section-heading:first-child{margin-top:0}.weekly-shopping__item{color:var(--food-text-primary);border-bottom:1px solid var(--food-white-faint);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:0;display:grid}.weekly-shopping__item-toggle{cursor:pointer;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;width:fit-content;max-width:100%;min-height:44px;padding:11px 0;display:grid}.weekly-shopping__item-toggle:focus-within{outline:none}.weekly-shopping__item input{-webkit-appearance:none;appearance:none;border:.5px solid var(--food-text-primary);cursor:pointer;background-color:#dfc4a614;border-radius:4px;outline:none;flex-shrink:0;place-items:center;width:20px;height:20px;margin:1px 0 0;display:inline-grid}.weekly-shopping__item input:checked{background-color:var(--food-accent-light);border-color:var(--food-accent-light);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316110e' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:13px 13px}.weekly-shopping__item input:focus,.weekly-shopping__item input:focus-visible,.weekly-shopping__item input:active{outline:none}.weekly-shopping__item:has(input:checked) .weekly-shopping__item-toggle span{color:var(--food-text-muted-faint);text-decoration:line-through}.weekly-shopping__actions-footer{grid-template-columns:1fr;gap:10px;margin:14px 0 4px;display:grid}.weekly-shopping__btn{min-height:46px;font:650 .92rem var(--sans);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.weekly-shopping__btn:focus-visible{outline:none}.weekly-shopping__btn[hidden]{display:none}.weekly-shopping__btn:disabled{cursor:default}.weekly-shopping__btn--primary{border:1px solid var(--food-accent);background:var(--food-accent);color:var(--food-text-bright)}.weekly-shopping__btn--primary:hover{background:var(--food-accent-light);border-color:var(--food-accent-light);color:var(--food-surface-canvas);box-shadow:0 4px 14px var(--food-accent-glow);transform:translateY(-1px)}.weekly-shopping__btn--secondary{border:1px solid var(--food-divider-hover);background:var(--food-accent-tint);color:var(--food-text-headline)}.weekly-shopping__btn--secondary:hover{background:var(--food-accent-focus);border-color:var(--food-border-active);color:var(--food-text-bright);transform:translateY(-1px)}.weekly-shopping__btn.weekly-shopping__random-recipes{width:100%}.weekly-shopping__btn.weekly-shopping__clear-all-undo{color:var(--food-accent-light);background:0 0;border:0;font-weight:500}.weekly-shopping__btn.weekly-shopping__clear-all-undo:hover{background:var(--food-accent-tint);transform:none}.weekly-shopping [hidden]{display:none!important}.weekly-variant-dialog{border:1px solid var(--weekly-border);background:var(--food-surface-card);width:min(92vw,470px);color:var(--food-text-primary);box-shadow:0 24px 70px var(--food-shadow-modal);border-radius:14px;padding:0}.weekly-variant-dialog::backdrop{background:var(--food-overlay-backdrop);backdrop-filter:blur(3px)}.weekly-variant-dialog__panel{padding:24px}.weekly-variant-dialog h2{color:var(--food-text-headline);font:500 clamp(1.45rem, 5vw, 2rem)/1.15 var(--serif);margin:2px 0 4px}.weekly-variant-dialog__recipe{color:var(--food-text-muted);margin:0 0 18px}.weekly-variant-dialog__options{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);gap:9px;max-height:min(60vh,320px);padding-right:4px;display:grid;overflow-y:auto}.weekly-variant-dialog__options::-webkit-scrollbar{width:var(--scrollbar-size)}.weekly-variant-dialog__options::-webkit-scrollbar-track{background:var(--scrollbar-track)}.weekly-variant-dialog__options::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;transition:background-color .2s}.weekly-variant-dialog__options::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.weekly-variant-dialog__option{border:1px solid var(--food-border-interactive);background:var(--food-accent-tint);width:100%;min-height:54px;color:var(--food-text-primary);text-align:left;cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;display:flex}.weekly-variant-dialog__option:hover{border-color:var(--food-accent-light);background:var(--food-accent-focus)}.weekly-variant-dialog__option:focus-visible{outline:none}.weekly-variant-dialog__option[aria-pressed=true]{border-color:var(--food-accent-light);background:var(--food-accent-focus);box-shadow:inset 0 0 0 1px var(--food-accent-light)}.weekly-variant-dialog__option span{color:var(--food-text-muted);flex:none;font-size:.78rem}.weekly-variant-dialog__confirm{border:1px solid var(--food-accent);background:var(--food-accent);width:100%;min-height:46px;color:var(--food-text-bright);font:650 .95rem var(--sans);cursor:pointer;border-radius:8px;margin-top:16px}.weekly-variant-dialog__confirm:disabled{opacity:.4;cursor:not-allowed}.weekly-variant-dialog__confirm:focus-visible{outline:none}.weekly-variant-dialog__cancel{width:100%;min-height:44px;color:var(--food-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:12px}.weekly-variant-dialog__cancel:hover,.weekly-variant-dialog__cancel:focus-visible{color:var(--food-accent-light);outline:none}@media (width<=820px){.weekly-planner{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.weekly-planner__layout{grid-template-columns:1fr}.weekly-planner .recipe-collection-controls{margin-bottom:18px;top:0}.weekly-shopping__backdrop{z-index:999;background:var(--food-shadow-modal);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;-webkit-tap-highlight-color:transparent;transition:opacity .28s cubic-bezier(.16,1,.3,1),visibility .28s;display:block;position:fixed;inset:0}.weekly-shopping__backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto}.weekly-shopping{--weekly-sheet-collapsed-height:calc(64px + env(safe-area-inset-bottom,0px));--weekly-sheet-height:var(--weekly-sheet-collapsed-height);background:var(--food-surface-card);z-index:1000;box-sizing:border-box;width:100%;max-width:100vw;height:var(--weekly-sheet-height);max-height:calc(90dvh + min(8.5dvh,68px));padding:6px max(18px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));overscroll-behavior:contain;border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;transition:height .28s cubic-bezier(.16,1,.3,1),border-color .2s;position:fixed;inset:auto 0 0;overflow:hidden}.weekly-shopping.is-expanded{--weekly-sheet-height:calc(90dvh + min(8.5dvh, 68px));overflow-y:auto}.weekly-shopping.is-dragging{user-select:none;transition:none}.weekly-shopping__handle{z-index:2;background:var(--food-surface-card);cursor:ns-resize;touch-action:none;-webkit-tap-highlight-color:transparent;border:0;outline:none;place-items:center;width:100%;height:18px;margin:0 0 2px;padding:0;display:grid;position:sticky;top:-6px}.weekly-shopping__handle:focus,.weekly-shopping__handle:focus-visible,.weekly-shopping__handle:active{box-shadow:none;outline:none}.weekly-shopping__handle span{background:var(--food-control-ring);border-radius:3px;outline:none;width:38px;height:4px}.weekly-shopping__handle span:focus,.weekly-shopping__handle span:focus-visible,.weekly-shopping__handle span:active{box-shadow:none;outline:none}.weekly-shopping__heading{z-index:1;background:var(--food-surface-card);cursor:pointer;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;outline:none;padding-bottom:8px;position:sticky;top:12px}.weekly-shopping__heading:focus,.weekly-shopping__heading:focus-visible{outline:none}.weekly-shopping:not(.is-expanded) .weekly-shopping__heading{border-bottom-color:#0000}.weekly-shopping__title-group{align-items:center;gap:6px}.weekly-shopping__subtitle{font-size:.76rem}.weekly-shopping h2{font-size:1.35rem}.weekly-shopping__toggle-icon{width:28px;height:28px;color:var(--food-accent-light);justify-content:center;align-items:center;transition:transform .28s cubic-bezier(.16,1,.3,1);display:inline-flex}.weekly-shopping.is-expanded .weekly-shopping__toggle-icon{transform:rotate(180deg)}}@media (width<=520px){.weekly-shopping__actions-footer{gap:8px;margin-top:16px}.weekly-shopping__btn{min-height:44px;padding:0 10px;font-size:.88rem}}@media (prefers-reduced-motion:reduce){.weekly-shopping{transition:none}}.weekly-shopping__btn.weekly-shopping__section-clear{border:0;border-top:1px solid var(--food-divider);width:100%;min-height:44px;color:var(--food-text-headline);font:500 .8rem var(--sans);letter-spacing:.01em;background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:7px;margin:0;padding:0 16px;transition:color .15s,background-color .15s,border-color .15s;display:flex}.weekly-shopping__btn.weekly-shopping__section-clear svg{opacity:1;flex-shrink:0;transition:opacity .15s}.weekly-shopping__btn.weekly-shopping__section-clear:hover svg{opacity:1}.weekly-shopping__btn.weekly-shopping__section-clear:hover{background:var(--food-accent-tint);color:var(--food-text-headline);transform:none}.weekly-shopping__btn.weekly-shopping__section-clear:focus-visible{outline-offset:-4px;color:var(--food-text-headline);transform:none}.weekly-shopping__btn.weekly-shopping__section-clear[hidden]{display:none}.collapsible-card>details{border:1px solid var(--food-divider);background:var(--food-surface-tint);border-radius:12px;margin-top:14px;overflow:hidden}.collapsible-card>details>summary{cursor:pointer;min-height:52px;color:var(--food-text-headline);font:400 1.25rem/1.2 var(--serif);justify-content:space-between;align-items:center;gap:10px;padding:16px;list-style:none;display:flex}.collapsible-card>details>summary::-webkit-details-marker{display:none}.collapsible-card>details>summary:focus-visible,.collapsible-card__feedback button:focus-visible{outline:none}.collapsible-card>details>summary>span:first-child{margin-right:auto}.collapsible-card__count{color:var(--food-text-muted);font:400 .7rem/1.2 var(--sans);white-space:nowrap}.collapsible-card__empty{color:var(--food-text-muted);font:400 .84rem/1.5 var(--sans);margin:0;padding:0 16px 16px}.collapsible-card__empty[hidden]{display:none}.collapsible-card__empty-text{margin:0 0 12px}.collapsible-card__empty-text:last-child{margin-bottom:0}.collapsible-card>details>summary svg{opacity:.7;flex-shrink:0}.collapsible-card>details[open]>summary svg{transform:rotate(180deg)}.collapsible-card__feedback{box-sizing:border-box;white-space:pre-line;width:100%;min-height:44px;color:var(--food-text-muted);font:400 .82rem/1.25 var(--sans);pointer-events:auto;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;animation:.16s ease-out toast-appear;display:flex;position:relative;overflow:hidden}.collapsible-card__feedback[hidden]{display:none}.collapsible-card__feedback small{color:var(--food-text-muted);font-size:.7rem;line-height:1.15;display:block}.collapsible-card__feedback>[role=status]{overflow-wrap:anywhere;flex:1;min-width:0}.collapsible-card__feedback strong{color:var(--food-text-headline);font:400 1rem/1.25 var(--serif);margin-top:3px;display:block}@supports (transition-behavior:allow-discrete){.collapsible-card__feedback{transition:opacity .16s, display .16s allow-discrete}.collapsible-card__feedback[hidden]{opacity:0}}.collapsible-card__removed-row{box-sizing:border-box;border-top:1px solid var(--food-divider);align-items:stretch;width:100%;min-height:44px;padding:0;list-style:none;display:flex}#weekly-shopping-recipe-list .collapsible-card__removed-row:not(.collapsible-card__removed-row--section){min-height:94px;margin:0}#weekly-manual-items .collapsible-card__removed-row:not(.collapsible-card__removed-row--section){align-items:stretch;gap:0;min-height:44px;margin:0;padding:0}#weekly-manual-items .collapsible-card__removed-row:not(.collapsible-card__removed-row--section) .collapsible-card__feedback{padding:0}.collapsible-card__removed-row--section{max-height:44px;margin:0;min-height:44px!important}#weekly-shopping-recipe-list>.collapsible-card__removed-row--section:first-child{border-top:0}#weekly-shopping-recipe-list .collapsible-card__removed-row--section .collapsible-card__feedback{padding:0 16px}#weekly-manual-items .collapsible-card__removed-row--section{margin-left:-16px;margin-right:-16px;padding:0}#weekly-manual-items .collapsible-card__removed-row--section .collapsible-card__feedback{padding:0 16px}.collapsible-card__countdown{background:var(--food-accent-light);transform-origin:0;height:2px;position:absolute;bottom:0;left:0;right:0}.collapsible-card__feedback:not(:has(button:not([hidden]))){color:var(--food-text-muted);background:0 0;border:0;padding:4px;font-size:.78rem}@keyframes toast-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.collapsible-card__feedback{animation:none}}.collapsible-card__feedback button{min-height:44px;color:var(--food-accent-light);font:500 .8rem var(--sans);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 8px;transition:background-color .15s;display:inline-flex}.collapsible-card__feedback button:hover{background:var(--food-accent-tint)}.collapsible-card__feedback button:disabled{cursor:default}.collapsible-card__feedback button[hidden]{display:none}.collapsible-card__remove{width:32px;height:32px;color:var(--food-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin-left:auto;padding:0;display:grid}.collapsible-card__remove:hover{color:var(--food-accent-light);background:var(--food-accent-tint)}.collapsible-card__remove:focus-visible{outline:none}.collapsible-card__countdown{animation:8s linear both planner-countdown}@keyframes planner-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.collapsible-card__removed-row{transition:opacity .25s ease-out,max-height .25s ease-out,min-height .25s ease-out;overflow:hidden}.collapsible-card__removed-row.is-expiring{opacity:0;border-top-width:0}@media (prefers-reduced-motion:reduce){.collapsible-card__removed-row{transition:none}}.portion-settings .portion-settings__trigger,.portion-settings__trigger{background:0 0;border-color:#0000;outline:none}.portion-settings .portion-settings__trigger:hover,.portion-settings__trigger:hover{color:var(--food-accent-light);background:0 0;border-color:#0000}.portion-settings .portion-settings__trigger:focus,.portion-settings .portion-settings__trigger:focus-visible,.portion-settings .portion-settings__trigger:active,.portion-settings__trigger:focus,.portion-settings__trigger:focus-visible,.portion-settings__trigger:active{box-shadow:none;outline:none}
