:root{--food-surface-canvas:#090807;--food-surface-scrim-dense:#090807f5;--food-surface-scrim-soft:#090807cc;--food-surface-card:#16110e;--food-surface-card-hover:#1e1612;--food-surface-subtle:#16110ed9;--food-surface-warm:#2d1e16bf;--food-surface-tint:#dfc4a60a;--food-copper:#c16b3a;--food-copper-light:#e8864a;--food-accent:var(--food-copper);--food-accent-light:var(--food-copper-light);--food-accent-glow:#c16b3a33;--food-accent-tint:#e8864a1a;--food-accent-focus:#e8864a38;--food-border-subtle:#d38b5629;--food-border-interactive:#e8864a59;--food-border-active:#e8864a80;--food-divider:#dfc4a61f;--food-divider-hover:#dfc4a638;--food-text-bright:#fff4e8;--food-text-bright-muted:#fff4e8d9;--food-text-headline:#dfc4a6;--food-text-primary:#ded2c5;--food-text-secondary:#dfd2c5c7;--food-text-muted:#dfc4a6a6;--food-text-muted-faint:#dfc4a659;--food-white:#fff;--food-white-faint:#ffffff0d;--food-white-medium:#ffffff2e;--food-switch-track:#fff4e84d;--food-control-ring:#fff4e873;--food-shadow-subtle:#00000040;--food-shadow-card:#0006;--food-shadow-modal:#000000a6;--food-overlay-backdrop:#000000d9;--food-overlay-gradient-subtle:#0000001f;--food-overlay-gradient-mid:#0006;--food-overlay-gradient-deep:#00000073;--food-green:#89c197;--food-green-text:#d8f4df;--food-green-bg:#89c19724;--food-error:#e5a49a}.recipe-collection-wrapper{color:var(--food-text-primary);font-family:var(--sans);position:relative}.recipe-collection-hero{margin-bottom:48px;position:relative}.recipe-collection-hero__intro{max-width:820px;margin-bottom:28px}.recipe-collection-hero__text{color:var(--food-text-muted);margin:0;font-size:clamp(.92rem,1.1vw,1.02rem);line-height:1.68}@media print{body{color:#111!important;background:#fff!important}.site-header,.site-footer,.recipe-collection-controls,.recipe-collection-wildcard-row,.weekly-shopping__actions-footer,.weekly-shopping__handle,.weekly-shopping__backdrop,.portion-settings,.recipe-collection-hero,button{display:none!important}.recipe-modal[open]{color:#000!important;max-width:100%!important;box-shadow:none!important;background:#fff!important;border:none!important;position:static!important}.recipe-modal__title{color:#000!important;font-size:2rem!important}.recipe-modal__instructions li{break-inside:avoid;color:#222!important}.recipe-modal .ingredient-item{color:#222!important}}@container (width>=604px){.recipe-card--no-image .recipe-card__media{aspect-ratio:16/11;height:auto;min-height:0}}.recipe-card--no-image .recipe-card__fallback{background:radial-gradient(circle at 50% 50%, var(--food-accent-glow), transparent 50%), linear-gradient(145deg, var(--food-surface-card-hover), var(--food-surface-card))}.recipe-card--no-image .recipe-card__fallback-icon,.recipe-card--no-image .recipe-card__overlay{display:none}.recipe-card__img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.recipe-card__fallback{background:radial-gradient(circle at 50% 50%, var(--food-accent-glow), transparent 70%), linear-gradient(145deg, var(--food-surface-card-hover), var(--food-surface-card));border-bottom:1px solid var(--food-border-subtle);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.recipe-card__fallback-icon{opacity:.4;filter:drop-shadow(0 2px 6px var(--food-shadow-card));justify-content:center;align-items:center;font-size:2.2rem;line-height:1;display:inline-flex}.recipe-card__overlay{background:linear-gradient(to top, var(--food-shadow-modal) 0%, transparent 40%);pointer-events:none;position:absolute;inset:0}.recipe-card__badges{z-index:2;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px);display:flex;position:absolute;top:12px;left:12px}.card-badge{text-transform:uppercase;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);border-radius:4px;padding:3px 8px;font-size:.68rem;font-weight:600}.card-badge--cat{background:var(--food-overlay-backdrop);color:var(--food-text-headline);border:1px solid var(--food-border-subtle)}.recipe-card__photo-control{z-index:3;border:1px solid var(--food-border-subtle);background:var(--food-overlay-backdrop);color:var(--food-text-headline);cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-backdrop-filter:blur(8px);box-shadow:0 1px 4px var(--food-shadow-card);border-radius:4px;align-items:center;gap:4px;margin:0;padding:3px 7px;font-size:.68rem;font-weight:600;line-height:1;transition:border-color .15s,background-color .15s,color .15s,transform .15s;display:inline-flex;position:absolute;bottom:calc(100% + 8px);right:8px}.recipe-card__photo-control svg{color:inherit;flex-shrink:0;display:block}.recipe-card__photo-control:hover,.recipe-card__photo-control:focus-visible{background:var(--food-surface-card-hover);outline:none;transform:translateY(-1px)}.recipe-card__body{flex-direction:column;flex-grow:1;gap:10px;padding:18px 20px;display:flex;position:relative}.recipe-card__title{font-family:var(--serif);color:var(--food-text-headline);margin:0;font-size:1.62rem;font-weight:500;line-height:1.25;transition:color .2s}.recipe-card__ingredients{color:var(--food-text-muted);flex-grow:1;margin:0;font-size:.9rem;line-height:1.45}.recipe-card__footer{border-top:1px solid var(--food-divider);color:var(--food-text-muted);justify-content:space-between;align-items:center;padding-top:10px;font-size:.8125rem;display:flex}.recipe-card__source{text-overflow:ellipsis;white-space:nowrap;flex:auto;max-width:none;overflow:hidden}.recipe-card{background:var(--food-surface-card);border:1px solid var(--food-border-interactive);cursor:pointer;color:inherit;z-index:21;border-radius:12px;flex-direction:column;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.recipe-card:hover{z-index:22}.recipe-card:focus-visible{border-color:var(--food-accent-light);outline:none}.recipe-card__media{aspect-ratio:16/11;background:var(--food-surface-card);touch-action:pan-y;position:relative;overflow:hidden}.recipe-card--no-image .recipe-card__media{aspect-ratio:auto;height:48px;min-height:48px}.recipe-card__variants{color:var(--food-accent-light);margin:7px 0 0;font-size:.78rem;line-height:1.35}.recipe-card__variants.is-selected{color:var(--food-text-headline)}.recipe-card[data-recipe-hidden=true]{display:none!important}.recipe-card[data-recipe-images-hidden=true] .recipe-card__img,.recipe-card[data-recipe-images-hidden=true] .recipe-card__photo-control,.recipe-card:not(.recipe-card--no-image) .recipe-card__fallback,.recipe-card[hidden]{display:none}.recipe-collection-sticky-marker{pointer-events:none;height:1px;margin-bottom:-1px}.recipe-collection-controls{--recipe-controls-bg:var(--food-surface-canvas);z-index:50;isolation:isolate;background:0 0;flex-direction:column;gap:12px;margin-bottom:36px;padding:12px 0;display:flex;position:sticky;top:0}.recipe-collection-controls:before{content:"";z-index:-1;background:linear-gradient(to bottom, var(--recipe-controls-bg) 0%, var(--food-surface-scrim-dense) 65%, var(--food-surface-scrim-soft) 82%, transparent 100%);opacity:0;pointer-events:none;position:absolute;inset-block:0 -24px;inset-inline:calc(50% - 50vw)}.recipe-collection-controls.is-stuck:before{opacity:1}.recipe-collection-search-row{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.recipe-collection-search-area{flex:280px;min-width:0}.recipe-collection-search-box{position:relative}.recipe-collection-search-icon{color:var(--food-accent-light);pointer-events:none;width:17px;height:17px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.recipe-collection-search-input{box-sizing:border-box;background:var(--food-surface-card);border:1px solid var(--food-border-interactive);width:100%;height:42px;color:var(--food-text-primary);border-radius:8px;outline:none;padding:0 44px 0 42px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.recipe-collection-search-input::placeholder{color:var(--food-text-muted-faint)}.recipe-collection-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.recipe-collection-search-input:focus,.recipe-collection-search-box:focus-within .recipe-collection-search-input{border-color:var(--food-border-interactive);outline:none}.recipe-collection-search-clear{color:var(--food-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;width:34px;height:34px;padding:0;font-size:1rem;line-height:1;display:block;position:absolute;top:50%;right:42px;transform:translateY(-50%)}.recipe-collection-search-box:has(.recipe-collection-search-clear:not([hidden])) .recipe-collection-search-input{padding-right:82px}.recipe-collection-search-clear:hover,.recipe-collection-search-clear:focus-visible{color:var(--food-text-headline);outline:none}.recipe-collection-counter{color:var(--food-text-secondary);letter-spacing:.04em;white-space:nowrap;margin-left:10px;font-size:.875rem}.recipe-collection-category-pills{flex-wrap:wrap;gap:8px;display:flex}.recipe-collection-category-group{border:1px solid var(--food-divider-hover);background:var(--food-surface-card);margin:0;padding:10px 12px 12px}.recipe-collection-category-group legend,.recipe-collection-filter-field legend{color:var(--food-text-secondary);letter-spacing:.1em;text-transform:uppercase;padding:0 8px;font-size:.8rem}.recipe-collection-filter-collapse{background:var(--food-accent-tint);width:34px;height:34px;color:var(--food-accent-light);cursor:pointer;border:0;border-radius:6px;place-items:center;padding:0;font-family:inherit;font-size:.82rem;transition:background-color .15s,color .15s;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.recipe-collection-filter-collapse:hover{background:var(--food-accent-focus)}.recipe-collection-filter-collapse:focus-visible{outline:none}.recipe-collection-filter-collapse__icon{color:currentColor;width:17px;height:17px;transition:color .15s}.recipe-collection-filter-collapse[aria-expanded=true]{background:var(--food-accent-focus);color:var(--food-accent-light)}.recipe-collection-filter-collapse[aria-expanded=true] .recipe-collection-filter-collapse__icon{color:var(--food-accent-light)}.recipe-collection-filter-collapse[aria-expanded=true]:hover{background:var(--food-accent-glow)}.recipe-collection-wildcard-row{justify-content:flex-end;margin:-22px 0 14px;display:flex}.recipe-collection-wildcard{border:1px solid var(--food-border-interactive);background:var(--food-accent-glow);min-height:44px;color:var(--food-text-bright);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.recipe-collection-wildcard svg{width:18px;height:18px;color:var(--food-accent-light)}.recipe-collection-wildcard:hover{background:var(--food-accent-focus);transform:translateY(-1px)}.recipe-collection-wildcard:focus-visible{outline:none}.recipe-collection-wildcard:disabled{opacity:.42;cursor:not-allowed;transform:none}.recipe-collection-filter-panel{z-index:60;background:var(--food-surface-card);border:1px solid var(--food-border-interactive);box-shadow:0 14px 38px var(--food-shadow-modal), 0 4px 14px var(--food-shadow-card);box-sizing:border-box;overscroll-behavior:contain;border-radius:12px;gap:14px;max-height:min(75vh,520px);padding:16px;display:grid;position:absolute;top:calc(100% - 2px);left:0;right:0;overflow-y:auto}.recipe-collection-filter-panel.is-collapsed{display:none}.recipe-collection-filter-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.65fr);gap:10px;display:grid}.recipe-collection-filter-field{border:1px solid var(--food-divider-hover);background:var(--food-surface-card);gap:5px;padding:10px 12px 12px;display:grid}.recipe-collection-filter-field input:not([type=range]){border:1px solid var(--food-border-subtle);background:var(--food-surface-card-hover);min-width:0;color:var(--food-text-primary);font:inherit;border-radius:6px;min-height:44px;padding:9px 10px;font-size:.9rem}.recipe-collection-filter-field input:not([type=range]):focus{border-color:var(--food-border-subtle);outline:none}.recipe-collection-complexity-slider{align-items:center;gap:10px;min-height:35px;display:flex}.recipe-collection-range-track{--range-start:0%;--range-end:100%;touch-action:none;cursor:pointer;background:linear-gradient(to right, var(--food-white-medium) 0 var(--range-start), var(--food-accent-light) var(--range-start) var(--range-end), var(--food-white-medium) var(--range-end) 100%) center / 100% 4px no-repeat;flex:1;min-width:100px;height:28px;position:relative}.recipe-collection-range-track input[type=range]{appearance:none;pointer-events:none;touch-action:none;background:0 0;width:100%;height:28px;margin:0;position:absolute;inset:0}.recipe-collection-range-track input[type=range]::-webkit-slider-runnable-track{background:0 0;height:4px}.recipe-collection-range-track input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--food-surface-card);background:var(--food-accent-light);width:20px;height:20px;box-shadow:0 0 0 1px var(--food-control-ring);cursor:grab;pointer-events:auto;touch-action:none;border-radius:50%;margin-top:-8px;transition:transform .1s}.recipe-collection-range-track input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.15)}.recipe-collection-range-track input[type=range]::-moz-range-track{background:0 0;height:4px}.recipe-collection-range-track input[type=range]::-moz-range-thumb{border:2px solid var(--food-surface-card);background:var(--food-accent-light);width:18px;height:18px;box-shadow:0 0 0 1px var(--food-control-ring);cursor:grab;pointer-events:auto;touch-action:none;border-radius:50%;transition:transform .1s}.recipe-collection-range-track input[type=range]:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.15)}.recipe-collection-range-track input[type=range]:focus-visible{outline:none}.recipe-collection-range-track input[type=range]:focus-visible::-webkit-slider-thumb{outline:none}.recipe-collection-range-track input[type=range]:focus-visible::-moz-range-thumb{outline:none}.recipe-collection-complexity-slider output{min-width:82px;color:var(--food-text-primary);text-align:right;font-size:.875rem}.recipe-collection-cat-btn{background:var(--food-surface-card);border:1px solid var(--food-divider-hover);color:var(--food-text-primary);white-space:nowrap;cursor:pointer;border-radius:20px;align-items:center;gap:4px;min-height:32px;padding:4px 7px;font-family:inherit;font-size:.875rem;transition:all .2s;display:flex}.recipe-collection-cat-btn:focus-visible{outline:none}.recipe-collection-cat-btn.is-active{background:var(--food-accent);border-color:var(--food-accent-light);color:var(--food-white);box-shadow:0 2px 10px var(--food-accent-glow);font-weight:500}.recipe-collection-cat-btn .badge-count{background:var(--food-shadow-subtle);color:inherit;border-radius:10px;padding:1px 6px;font-size:.72rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px;margin-bottom:80px;display:grid;container-type:inline-size}.recipe-collection-search-clear[hidden]{display:none}.recipe-collection-search-clear:focus-visible{outline:none}.recipe-modal{z-index:2000;background:0 0;border:none;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;display:none;position:fixed;inset:0}.recipe-modal[open]{justify-content:center;align-items:center;display:flex}.recipe-modal::backdrop{background:var(--food-overlay-backdrop);-webkit-backdrop-filter:blur(10px)}.recipe-modal__container{background:var(--food-surface-card);border:1px solid var(--food-border-interactive);width:min(940px,100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:0 24px 64px var(--food-shadow-modal), 0 0 36px var(--food-accent-glow);border-radius:14px;flex-direction:column;height:min(860px,100dvh - 48px);animation:.22s cubic-bezier(.16,1,.3,1) modalIn;display:flex;position:relative;overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.recipe-modal__header{border-bottom:1px solid var(--food-border-subtle);background:var(--food-surface-subtle);flex-direction:column;flex-shrink:0;gap:12px;padding:22px 28px 18px;display:flex}.recipe-modal__header-top{justify-content:space-between;align-items:flex-start;gap:16px;width:100%;display:flex}.recipe-modal__header-actions{align-items:center;gap:8px;margin:-6px -10px 0 0;display:flex}.recipe-modal__header-copy{width:100%}.recipe-modal__meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;display:flex}.recipe-modal__title{font-family:var(--serif);color:var(--food-text-headline);margin:0 0 6px;font-size:clamp(1.92rem,3.6vw,2.64rem);font-weight:500;line-height:1.15}.recipe-modal__source{color:var(--food-text-secondary);margin:0;font-size:.875rem}.recipe-modal__source a{color:var(--food-accent-light);text-decoration:none}.recipe-modal__source a:hover{text-decoration:underline}.recipe-modal__source a:focus-visible{outline:none}.recipe-modal__close{background:var(--food-accent-tint);border:1px solid var(--food-border-interactive);color:var(--food-accent-light);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.recipe-modal__tabs{display:none}.recipe-modal__photo-control{border:1px solid var(--food-border-subtle);background:var(--food-overlay-backdrop);color:var(--food-text-headline);cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-backdrop-filter:blur(8px);box-shadow:0 1px 4px var(--food-shadow-card);z-index:2;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.68rem;font-weight:600;line-height:1;transition:border-color .15s,background-color .15s,color .15s,transform .15s;display:inline-flex}.recipe-modal__photo-control svg{color:inherit;flex-shrink:0;display:block}.recipe-modal__photo-control:hover,.recipe-modal__photo-control:focus-visible{background:var(--food-surface-card-hover);outline:none;transform:translateY(-1px)}.recipe-modal__photo-control[hidden]{display:none!important}.recipe-modal__close:hover,.recipe-modal__close:focus-visible{outline:none}.recipe-modal__scrollable{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:28px;min-height:0;padding:24px 28px 36px;display:flex;overflow-y:auto}.recipe-modal__media-stack{gap:8px;display:grid}@media (width>=769px){.recipe-modal__header{isolation:isolate;gap:0;position:relative;overflow:hidden}.recipe-modal__header:before,.recipe-modal__header:after{content:"";pointer-events:none;position:absolute;inset:0}.recipe-modal__header:before{z-index:-2;opacity:0;background-image:var(--recipe-header-image);background-position:50%;background-size:cover}.recipe-modal__header:after{z-index:-1;background:linear-gradient(to bottom, var(--food-overlay-gradient-subtle) 20%, var(--food-overlay-gradient-deep) 58%, var(--food-overlay-backdrop) 100%)}.recipe-modal__header.has-recipe-image:before{opacity:1}.recipe-modal__header.has-recipe-image{min-height:310px}.recipe-modal__header-top,.recipe-modal__header-copy{z-index:1;position:relative}.recipe-modal__header-top{flex:1}.recipe-modal__header-copy{margin-top:auto}.recipe-modal__header-copy .recipe-modal__title{color:var(--food-text-bright);text-shadow:0 2px 14px var(--food-overlay-backdrop);font-weight:650}.recipe-modal__header-copy .recipe-modal__source{color:var(--food-text-bright-muted);text-shadow:0 1px 8px var(--food-overlay-backdrop)}}@media (width<=768px){.recipe-modal__layout{grid-template-columns:1fr;gap:28px}}.recipe-modal__portion-bar{align-items:center;gap:8px;margin:6px 0 16px;display:flex}.portion-scaler{background:var(--food-surface-card);border:1px solid var(--food-border-interactive);height:32px;box-shadow:0 1px 6px var(--food-shadow-card);border-radius:16px;align-items:center;padding:0 2px;transition:border-color .15s;display:inline-flex}.portion-scaler:focus-within{border-color:var(--food-border-active)}.portion-btn{width:28px;height:28px;color:var(--food-accent-light);font:700 1.1rem/1 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:14px;outline:none;place-items:center;padding:0;transition:background-color .15s;display:grid}.portion-btn:hover:not(:disabled){background:var(--food-accent-tint)}.portion-btn:disabled{opacity:.35;cursor:not-allowed}.portion-count{min-width:44px;color:var(--food-text-primary);font:650 .78rem/1 var(--sans);text-align:center;white-space:nowrap;padding:0 4px}.recipe-modal__shopping-btn{border:1px solid var(--food-border-interactive);background:var(--food-surface-card);height:32px;color:var(--food-accent-light);font:600 .78rem/1 var(--sans);box-shadow:0 1px 6px var(--food-shadow-card);cursor:pointer;white-space:nowrap;border-radius:16px;justify-content:center;align-items:center;gap:6px;padding:0 12px;transition:all .15s;display:inline-flex}.recipe-modal__shopping-btn:hover:not(:disabled){background:var(--food-accent-tint);border-color:var(--food-border-active)}.recipe-modal__shopping-btn:focus-visible{border-color:var(--food-border-active);outline:none}.recipe-modal__shopping-btn.is-added{background:var(--food-green-bg);color:var(--food-green);cursor:default;border-color:#89c1974d}.recipe-modal__shopping-btn.is-update{border-color:var(--food-copper-light);background:var(--food-accent-light);color:var(--food-surface-canvas);box-shadow:0 1px 6px var(--food-accent-glow);font-weight:700}.recipe-modal__shopping-btn.is-update:hover{filter:brightness(1.08)}.recipe-modal__description{color:var(--food-text-primary);background:var(--food-accent-tint);border-left:3px solid var(--food-accent);border-radius:0 8px 8px 0;margin:0;padding:14px 18px;font-size:.98rem;line-height:1.65}.recipe-modal__layout{grid-template-columns:1fr 1.35fr;gap:32px;display:grid}@media (width<=768px){.recipe-modal__layout{grid-template-columns:1fr;gap:28px}}.recipe-modal__ingredients-col{flex-direction:column;gap:18px;display:flex}.recipe-modal__section-heading{font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--food-accent-light);justify-content:space-between;align-items:center;margin:0;font-size:.875rem;display:flex}.recipe-modal__subheading{font-family:var(--serif);color:var(--food-text-headline);border-bottom:1px solid var(--food-border-subtle);margin:14px 0 6px;padding-bottom:4px;font-size:1.15rem}.ingredient-checklist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ingredient-item{color:var(--food-text-primary);cursor:pointer;border-radius:6px;align-items:baseline;gap:10px;min-height:44px;padding:9px 8px;font-size:1rem;line-height:1.5;display:flex}.ingredient-item input[type=checkbox]{-webkit-appearance:none;appearance:none;cursor:pointer;border:.5px solid var(--food-text-primary);background-color:#dfc4a614;border-radius:4px;outline:none;flex:0 0 20px;place-items:center;width:20px;height:20px;margin:0;display:inline-grid;transform:translateY(2px)}.ingredient-item input[type=checkbox]: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}.ingredient-item input[type=checkbox]:focus,.ingredient-item input[type=checkbox]:focus-visible,.ingredient-item input[type=checkbox]:active{outline:none}.ingredient-item.is-checked{color:var(--food-text-muted-faint);text-decoration:line-through}.recipe-modal__instructions-col{flex-direction:column;gap:18px;display:flex}.instruction-steps{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.instruction-step{color:var(--food-text-primary);gap:16px;font-size:1rem;line-height:1.62;display:flex}.step-badge{background:var(--food-accent-glow);border:1px solid var(--food-accent);width:44px;height:44px;color:var(--food-accent-light);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex;transform:translateY(2px)}.step-badge.is-checked{background:var(--food-green-bg);border-color:var(--food-green);color:var(--food-green-text)}.step-text{flex-grow:1}.recipe-modal__footer{border-top:1px solid var(--food-border-subtle);background:var(--food-surface-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 28px;display:flex}.recipe-modal__actions{flex-wrap:wrap;gap:8px;display:flex}.modal-action-btn{background:var(--food-accent-tint);border:1px solid var(--food-border-interactive);color:var(--food-accent-light);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.82rem;transition:all .15s;display:inline-flex}.modal-action-btn:focus-visible{outline:none}.modal-action-btn:hover{background:var(--food-accent-glow)}@media (width<=768px){.recipe-collection-filter-details{grid-template-columns:1fr}.recipe-collection-wildcard-row{margin-top:-24px}.recipe-collection-wildcard{width:100%}.recipe-modal[open]{align-items:stretch}.recipe-modal__container{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.recipe-modal__header{isolation:isolate;background-color:var(--food-surface-card);gap:0;min-height:0;padding:14px 16px 0;position:relative;overflow:hidden}.recipe-modal__header:before,.recipe-modal__header:after{content:"";pointer-events:none;position:absolute;inset:0}.recipe-modal__header:before{z-index:-2;opacity:0;background-image:var(--recipe-header-image);background-position:50%;background-size:cover}.recipe-modal__header:after{z-index:-1;background:0 0}.recipe-modal__header.has-recipe-image:before{opacity:1}.recipe-modal__header-top,.recipe-modal__header-copy{z-index:1;position:relative}.recipe-modal__header.has-recipe-image .recipe-modal__header-top{touch-action:pan-y;min-height:166px}.recipe-modal__header-copy{background:var(--food-shadow-modal);border-top:1px solid var(--food-accent-focus);-webkit-backdrop-filter:blur(5px);width:auto;margin:0 -16px;padding:5px 16px 6px}.recipe-modal__header-copy .recipe-modal__title{color:var(--food-text-bright);text-shadow:0 2px 12px var(--food-shadow-modal);font-weight:650}.recipe-modal__header-copy .recipe-modal__source{text-shadow:0 1px 6px var(--food-overlay-backdrop)}.recipe-modal__header-actions{margin:-6px -6px 0 0}.recipe-modal__close{background:var(--food-shadow-modal);-webkit-backdrop-filter:blur(5px)}.recipe-modal__portion-bar{margin:4px 0 12px}.portion-scaler{height:32px;padding:2px}.portion-btn{width:28px;height:28px;font-size:1.05rem}.portion-count{min-width:42px;font-size:.75rem}.portion-scaler__divider{height:16px;margin:0 3px}.recipe-modal__shopping-btn{gap:4px;height:26px;padding:0 8px;font-size:.74rem}.recipe-modal__title{font-size:clamp(1.7rem,7.5vw,2.15rem)}.recipe-modal__title.is-long{letter-spacing:-.025em;white-space:nowrap;font-size:clamp(1.42rem,6vw,1.72rem)}.recipe-modal__title.is-very-long{white-space:normal;font-size:clamp(1.38rem,5.8vw,1.65rem)}.recipe-modal__tabs{background:var(--food-surface-card);border-bottom:1px solid var(--food-border-subtle);flex-shrink:0;grid-template-columns:1fr 1fr;padding:0 16px;display:grid}.recipe-modal__tab{min-height:48px;color:var(--food-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;font-size:1rem;font-weight:600}.recipe-modal__tab.is-active{color:var(--food-text-bright);border-bottom-color:var(--food-accent-light)}.recipe-modal__tab:focus-visible{outline:none}.recipe-modal__scrollable{gap:22px;padding:20px 16px 32px}.recipe-modal__layout{display:block}.recipe-modal__ingredients-col.is-mobile-hidden,.recipe-modal__instructions-col.is-mobile-hidden,.recipe-modal__section-heading{display:none}.recipe-modal__footer{padding:10px 16px}.recipe-modal__actions{width:100%}.modal-action-btn{min-height:44px;font-size:.9rem}}.portion-settings{align-items:center;display:inline-flex}.portion-settings__trigger{width:44px;height:44px;color:var(--food-text-headline);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:7px;outline:none;place-items:center;padding:0;transition:color .2s;display:grid}.portion-settings__trigger svg{width:22px;height:22px}.portion-settings__trigger:hover{color:var(--food-accent-light);background:0 0;border-color:#0000}.portion-settings__dialog{color-scheme:dark;border:1px solid var(--food-border-interactive);width:min(92vw,440px);max-width:none;max-height:min(88dvh,680px);color:var(--food-text-primary);background:var(--food-surface-card);box-shadow:0 28px 90px var(--food-shadow-modal);border-radius:14px;padding:0;overflow:hidden}.portion-settings__dialog::backdrop{background:var(--food-overlay-backdrop);backdrop-filter:blur(4px)}.portion-settings__panel{flex-direction:column;max-height:calc(min(88dvh,680px) - 2px);padding:0;display:flex}.portion-settings__heading{border-bottom:1px solid var(--food-divider);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.portion-settings__heading h2{color:var(--food-text-headline);font:400 clamp(1.8rem, 6vw, 2.2rem)/1.15 var(--serif);margin:0}.portion-settings__close{width:44px;height:44px;color:var(--food-accent-light);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:grid}.portion-settings__close svg{width:22px;height:22px}.portion-settings__close:hover{background:var(--food-accent-tint)}.portion-settings__body{overscroll-behavior:contain;min-height:0;padding:0 24px 20px;overflow-y:auto}.portion-settings__panel p{color:var(--food-text-muted);margin:0;font-size:.88rem;line-height:1.55}.portion-settings__field{border-bottom:1px solid var(--food-border-subtle);gap:.55rem;padding:1.25rem 0;display:grid}.portion-settings__field[hidden]{display:none}.portion-settings__field>label,.portion-settings__checkbox,.portion-settings__label{color:var(--food-text-headline);font-size:.95rem;font-weight:600}.portion-settings__portion-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px}.portion-settings__portions{border:1px solid var(--food-border-interactive);background:var(--food-surface-warm);min-height:44px;color:var(--food-text-primary);box-shadow:0 2px 10px var(--food-shadow-card);border-radius:10px;justify-self:start;align-items:center;display:inline-flex;overflow:hidden}.portion-settings__portions button{width:44px;min-height:44px;color:var(--food-accent-light);font:700 1.1rem/1 var(--sans);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid}.portion-settings__portions button:hover:not(:disabled){background:var(--food-accent-tint)}.portion-settings__portions button:disabled{opacity:.35;cursor:not-allowed}.portion-settings__portions output{min-width:44px;color:var(--food-text-primary);font:650 .72rem/1 var(--sans);text-align:center;white-space:nowrap;padding:0 2px}.portion-settings__unlock{align-items:stretch;gap:.6rem;display:flex}.portion-settings__unlock input{border:1px solid var(--food-border-active);background:var(--food-surface-card-hover);min-width:0;color:var(--food-text-headline);font:1rem var(--sans);border-radius:7px;flex:1;padding:.72rem .8rem}.portion-settings__login-state{color:var(--food-green);font:500 .88rem var(--sans);flex:1;align-self:center}.portion-settings__unlock button{border:1px solid var(--food-accent-light);min-height:44px;color:var(--food-accent-light);cursor:pointer;font:600 .85rem var(--sans);white-space:nowrap;background:0 0;border-radius:7px;padding:.65rem .9rem}.portion-settings__unlock button:hover:not(:disabled){background:var(--food-accent-glow)}.portion-settings__unlock button:disabled{opacity:.5;cursor:not-allowed}.portion-settings__unlock-status{margin-top:.35rem;font-size:.85rem}.portion-settings__unlock-status:empty{display:none}.portion-settings__unlock-status.is-error{color:var(--food-error)}.portion-settings__checkbox{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:44px;display:flex}.portion-settings__checkbox input{width:20px;height:20px;accent-color:var(--food-accent-light);cursor:pointer;margin:0}.portion-settings__switch-label{position:relative}.portion-settings__switch-label input{opacity:0;width:38px;height:22px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.portion-settings__switch{background:var(--food-switch-track);pointer-events:none;border-radius:999px;flex:none;width:38px;height:22px;transition:background-color .2s;position:relative}.portion-settings__switch:after{content:"";background:var(--food-text-primary);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px}.portion-settings__switch-label input:checked+.portion-settings__switch{background:var(--food-accent-light)}.portion-settings__switch-label input:checked+.portion-settings__switch:after{background:var(--food-surface-card);transform:translate(16px)}.portion-settings__switch-label input:focus-visible+.portion-settings__switch{outline:2px solid var(--food-accent-light);outline-offset:2px}@media (prefers-reduced-motion:reduce){.portion-settings__switch,.portion-settings__switch:after{transition:none}}.portion-settings__admin{border:0}.portion-settings__admin[open]{border-inline-start:2px solid var(--food-border-active);background:var(--food-surface-warm);border-radius:8px;margin-block-start:8px;padding-inline:12px}.portion-settings__admin>summary{min-height:56px;color:var(--food-text-muted);font:500 .88rem var(--sans);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.portion-settings__admin[open]>summary{color:var(--food-text-headline)}.portion-settings__admin>summary::-webkit-details-marker{display:none}.portion-settings__admin>summary svg{width:16px;height:16px;transition:transform .15s}.portion-settings__admin[open]>summary svg{transform:rotate(180deg)}.portion-settings__admin .portion-settings__field{padding-top:0}.portion-settings__admin .portion-settings__field:last-child{border-bottom:0}.portion-settings__unlock input:focus{border-color:var(--food-border-active);outline:none}.portion-settings :is(button,input:not([type=checkbox]),summary):focus-visible{outline:2px solid var(--food-accent-light);outline-offset:-3px}@media (width<=520px){.portion-settings__dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.portion-settings__panel{max-height:calc(100dvh - 26px)}.portion-settings__heading{padding:16px 20px}.portion-settings__body{padding-inline:20px}}@media (prefers-reduced-motion:reduce){.portion-settings__admin>summary svg{transition:none}}.recipe-empty-state,.food-error-fallback{text-align:center;background:var(--food-surface-card);border:1px dashed var(--food-border-subtle);border-radius:12px;grid-column:1/-1;padding:72px 20px}.recipe-empty-state h3,.food-error-fallback h3{font-family:var(--serif);color:var(--food-text-headline);margin:0 0 8px;font-size:1.6rem}.recipe-empty-state p,.food-error-fallback p{color:var(--food-text-muted);margin:0 0 20px;font-size:.95rem}.recipe-empty-state button,.food-error-fallback button{background:var(--food-accent);border:1px solid var(--food-accent-light);color:var(--food-white);cursor:pointer;border-radius:6px;padding:8px 18px;font-size:.88rem}.food-articles{margin-bottom:44px}.food-articles__grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:16px;display:grid}.food-article-card{z-index:21;background:linear-gradient(145deg, var(--food-surface-card-hover), var(--food-surface-card));border:1px solid var(--food-border-subtle);min-width:0;box-shadow:0 4px 20px var(--food-shadow-card);border-radius:10px;padding:0;transition:border-color .2s,box-shadow .2s;position:relative}.food-article-card summary{cursor:pointer;align-items:center;gap:16px;padding:18px 42px 18px 22px;list-style:none;display:flex;position:relative}.food-article-card__copy{gap:5px;display:grid}.food-article-card summary::-webkit-details-marker{display:none}.food-article-card summary:after{content:"+";color:var(--food-accent-light);font-size:1.3rem;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.food-article-card[open] summary:after{content:"−"}.food-article-card__content{padding:0 22px 22px}.food-article-card:hover,.food-article-card[open]{z-index:22;border-color:var(--food-border-interactive)}.food-article-card__title{font-family:var(--serif);color:var(--food-text-headline);margin:0;font-size:clamp(1.45rem,2vw,1.8rem);font-weight:500;line-height:1.25}.food-article-card__subtitle{font-family:var(--sans);color:var(--food-copper-light);letter-spacing:.01em;margin:0;font-size:.84rem;font-weight:500;line-height:1.4}.food-article-card__summary{font-family:var(--sans);color:#e8e2d9;margin:0 0 20px;font-size:.96rem;font-weight:400;line-height:1.65}.food-article-card__tips{flex-direction:column;gap:.75rem;margin:0;padding-left:20px;display:flex}.food-article-card__tips li{font-family:var(--sans);color:#e8e2d9e6;font-size:.92rem;font-weight:400;line-height:1.65}.food-article-card__tips li::marker{color:var(--food-accent-light)}.food-article-card__tips li strong{color:var(--food-text-bright)}.food-article-card[open]{grid-column:1/-1}.food-article-card__recipes{border-top:1px solid var(--food-border-subtle);margin-top:28px;padding-top:22px}.food-article-card__recipes-title{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--food-accent-light);margin:0 0 16px;font-size:.8rem}.food-article-card__recipe-grid{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));margin-bottom:8px}.food-article-card[data-article-hidden=true]{display:none!important}
