[data-theme=dark]{color-scheme:dark;--bg:#101a14;--surface:#172118;--surface-raised:#1b2a1f;--border:#2a3a2a;--border-strong:#3a4a3a;--text-primary:#eaf3de;--text-secondary:#8a9485;--text-tertiary:#5a6a55;--action:#97c459;--action-text:#173404;--trust-bg:#0d2a1f;--trust-text:#9fe1cb;--trust-border:#2a4a3a;--urgency-bg:#4b1528;--urgency-text:#f4c0d1;--price-bg:#412402;--price-text:#fac775;--danger-bg:#2a1518;--danger-border:#4b1528;--danger-text:#f4c0d1;--tag-blue-bg:#13202c;--tag-blue-text:#9fb6c8;--tag-coral-bg:#2a1812;--tag-coral-text:#e0b09f;--tag-purple-bg:#241a2c;--tag-purple-text:#c9aedd;--panel:var(--surface);--panel-border:var(--border);--text:var(--text-primary);--muted:var(--text-secondary);--accent:var(--action);--accent-soft:color-mix(in srgb,var(--action) 14%,transparent);--trust:var(--trust-text);--urgency:var(--urgency-text);--price:var(--price-text);--danger-soft:var(--danger-bg);--shadow:0 24px 60px rgba(0,0,0,0.24);--bottom-nav-bg:color-mix(in srgb,var(--bg) 96%,transparent);--map-bg:var(--surface-raised)}[data-theme=light],html:not([data-theme]){color-scheme:light;--bg:#faece7;--surface:#ffffff;--surface-raised:#fff8f5;--border:#f0d8cc;--border-strong:#e0b09f;--text-primary:#4a1b0c;--text-secondary:#712b13;--text-tertiary:#99502b;--action:#d85a30;--action-text:#ffffff;--trust-bg:#eaf3de;--trust-text:#27500a;--trust-border:#c0dd97;--urgency-bg:#fbeaf0;--urgency-text:#993556;--price-bg:#faeeda;--price-text:#633806;--danger-bg:#fcebeb;--danger-border:#f09595;--danger-text:#791f1f;--tag-blue-bg:#e6f1fb;--tag-blue-text:#0c447c;--tag-coral-bg:#faeeda;--tag-coral-text:#633806;--tag-purple-bg:#eeedfe;--tag-purple-text:#3c3489;--panel:var(--surface);--panel-border:var(--border);--text:var(--text-primary);--muted:var(--text-secondary);--accent:var(--action);--accent-soft:color-mix(in srgb,var(--action) 12%,transparent);--trust:var(--trust-text);--urgency:var(--urgency-text);--price:var(--price-text);--danger-soft:var(--danger-bg);--shadow:0 18px 40px rgba(74,27,12,0.08);--bottom-nav-bg:color-mix(in srgb,var(--surface) 96%,transparent);--map-bg:var(--surface-raised)}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078A8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers.ef6db872.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers-2x.9859cd12.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/_next/static/media/marker-icon.d577052a.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}body{min-height:100vh}button,input,select{font:inherit}.page-shell{width:min(1680px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.hero{margin-bottom:2rem}.eyebrow{margin:0 0 .75rem;color:var(--accent);font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero h1{margin:0;max-width:16ch;font-size:clamp(2.6rem,4vw,4.2rem);line-height:.95}.hero-copy{max-width:65ch;margin:1rem 0 0;color:var(--muted);font-size:1.05rem;line-height:1.6}.meal-planner-grid{display:flex;flex-direction:column;gap:1.25rem}.meal-planner-grid-col{min-width:0}.app-shell{display:flex;flex-direction:column;min-height:0}.app-shell-content{flex:1 1;min-width:0;padding-bottom:5.5rem}.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;border-top:1px solid var(--panel-border);background:var(--bottom-nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav-list{display:flex;justify-content:space-around;gap:.25rem;max-width:min(1680px,100%);margin:0 auto;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom, 0px));list-style:none}.bottom-nav-item{flex:1 1;min-width:0}.bottom-nav-button{width:100%;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .35rem;border:none;border-radius:12px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer}.bottom-nav-button-label{line-height:1.1}.bottom-nav-button-hint{max-width:100%;font-size:.58rem;font-weight:500;line-height:1.15;color:var(--muted);text-wrap:balance}.bottom-nav-button:focus-visible,.bottom-nav-button:hover:not(:disabled){color:var(--text);background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:1px}.bottom-nav-button--active{color:var(--accent);background:var(--accent-soft)}.bottom-nav-button:disabled{opacity:.45;cursor:not-allowed}.bottom-nav-button:disabled .bottom-nav-button-hint{opacity:1}.deals-list{display:grid;grid-gap:.75rem;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.deals-list-item{padding:.85rem 1rem;border:1px solid var(--panel-border);border-radius:16px;background:var(--surface)}.deals-list-item-main{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.deals-list-item-meta{display:flex;flex-wrap:wrap;gap:.45rem .75rem;margin-top:.45rem;color:var(--muted);font-size:.84rem}.settings-feedback-link{margin:1.25rem 0 0}.ingredient-gate-actions,.ingredient-gate-trust{margin-top:1rem}.ingredient-category-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.chip-button{padding:.35rem .75rem;border:1px solid var(--panel-border);border-radius:999px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer}.chip-button--active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sale-ingredient-store-heading{display:inline-block;margin:0 0 .5rem;padding:.25rem .65rem;border-radius:999px;font-size:.82rem;font-weight:700}.sale-ingredient-store-group:nth-child(3n+1) .sale-ingredient-store-heading{background:var(--tag-blue-bg);color:var(--tag-blue-text)}.sale-ingredient-store-group:nth-child(3n+2) .sale-ingredient-store-heading{background:var(--tag-coral-bg);color:var(--tag-coral-text)}.sale-ingredient-store-group:nth-child(3n+3) .sale-ingredient-store-heading{background:var(--tag-purple-bg);color:var(--tag-purple-text)}.sale-ingredient-store-group+.sale-ingredient-store-group{margin-top:1rem}.map-link-bar{position:fixed;z-index:19;right:0;bottom:calc(3.6rem + env(safe-area-inset-bottom, 0px));left:0;padding:.5rem 1rem;border-top:1px solid var(--panel-border);background:var(--bottom-nav-bg);text-align:center}.map-link-button{border:none;background:transparent;cursor:pointer;font:inherit}.map-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1rem}.map-overlay-backdrop{position:absolute;inset:0;border:none;background:rgba(0,0,0,.55);cursor:pointer}.map-overlay-panel{position:relative;z-index:1;width:min(960px,100%);max-height:min(90vh,900px);overflow:auto}.map-overlay-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.single-store-map-overlay-panel{display:flex;flex-direction:column;width:min(960px,100%);max-height:min(100dvh - 2rem,900px);height:min(100dvh - 2rem,900px);overflow:hidden}.single-store-map-overlay-header h2{margin:0;font-size:1.1rem;line-height:1.35}.single-store-map-overlay-close{flex-shrink:0;width:2.25rem;height:2.25rem;border:1px solid var(--panel-border);border-radius:999px;background:var(--surface);color:var(--text);font-size:1.35rem;line-height:1;cursor:pointer}.single-store-map-overlay-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.single-store-map-overlay-map{flex:1 1;min-height:0;display:flex;flex-direction:column}.single-store-map-overlay-map .nearby-stores-map,.single-store-map-overlay-map .nearby-stores-map-shell{flex:1 1;min-height:0;height:100%}.single-store-map-overlay-map .nearby-stores-map{min-height:240px;overflow:hidden}.single-store-map-overlay-fallback{margin:0}.store-map-tap-button{display:inline-flex;align-items:center;gap:.3rem;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.18em;padding:0}.store-map-tap-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.store-map-tap-button--pill{padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--surface) 90%,var(--text) 6%);color:var(--muted);font-size:.84rem;text-decoration:none}.store-map-tap-button--pill .store-map-tap-label{text-decoration:underline;text-underline-offset:.18em}.store-map-tap-button--plan{font-weight:700;color:var(--text)}.store-map-tap-icon{flex-shrink:0}.settings-single-store-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.settings-single-store-row select{flex:1 1 12rem;min-width:0}.settings-show-on-map-button{flex-shrink:0}.store-multi-select{display:grid;grid-gap:.65rem;gap:.65rem}.store-multi-select-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.75rem .9rem;border:1px solid var(--panel-border);border-radius:14px;background:var(--surface)}.store-multi-select-option--selected{border-color:var(--accent);background:var(--accent-soft)}.store-multi-select-option--disabled{opacity:.72;background:color-mix(in srgb,var(--surface) 92%,var(--text) 4%)}.store-multi-select-option input{margin:0}.store-multi-select-label{min-width:0;color:var(--text);font-weight:600;line-height:1.4;cursor:pointer;display:grid;grid-gap:.2rem;gap:.2rem}.store-multi-select-option--disabled .store-multi-select-label{cursor:not-allowed}.store-multi-select-disabled-note{color:var(--text-muted);font-size:.85rem;font-weight:500;line-height:1.35}.store-map-pin-button:focus-visible,.store-multi-select-label:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.store-map-pin-button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--panel-border);border-radius:999px;background:var(--surface);color:var(--accent);cursor:pointer}.pantry-prompt-card{margin-bottom:1rem}.pantry-prompt-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.pantry-prompt-form{margin-top:.75rem}.pantry-item-list{margin:.75rem 0 0;padding:0;list-style:none}.pantry-item-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0}.pantry-step-summary{margin:1rem 0}.pantry-checklist-block,.pantry-combined-list-block{margin-top:1.25rem}.pantry-checklist,.pantry-combined-list{margin:.75rem 0 0;padding:0;list-style:none}.pantry-checklist-item label,.pantry-combined-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.pantry-checklist-item label{width:100%;cursor:pointer}.pantry-checklist-meta{margin-left:auto;color:var(--muted);font-size:.85rem}.pantry-combined-list-copy{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.pantry-source-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.pantry-source-badge--suggested{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.pantry-source-badge--manual{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}.ingredient-catalog-combobox{margin-top:1.25rem;position:relative}.ingredient-catalog-suggestions{position:absolute;z-index:5;left:0;right:0;margin:.35rem 0 0;padding:.35rem 0;list-style:none;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);box-shadow:0 8px 24px rgba(0,0,0,.08);max-height:14rem;overflow:auto}.ingredient-catalog-suggestion{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .85rem;border:0;background:transparent;text-align:left;cursor:pointer}.ingredient-catalog-suggestion--active,.ingredient-catalog-suggestion:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.ingredient-catalog-suggestion-category{color:var(--muted);font-size:.8rem;text-transform:capitalize}@media (min-width:900px) and (max-width:1099px){.meal-planner-grid--legacy-three-col{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start}}@media (min-width:1100px){.meal-planner-panel{max-height:none;overflow:visible}}.panel-header,.results-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem;margin-bottom:1rem}.panel-header h2,.results-header h2{margin:0 0 .35rem}.meal-results-stack{min-height:0}.panel{background:var(--surface);border:1px solid var(--panel-border);border-radius:24px;box-shadow:var(--shadow)}.panel-padding{padding:1.4rem}.panel h2,.panel h3{margin-top:0}.panel-copy{color:var(--muted);line-height:1.5}.form-grid{display:grid;grid-gap:1rem;gap:1rem}.field{display:grid;grid-gap:.4rem;gap:.4rem}.field label{font-weight:600}.field-label-row{display:inline-flex;align-items:center;gap:.45rem}.help-hint{position:relative;display:inline-flex;vertical-align:middle}.help-hint-trigger{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;border:1px solid var(--trust-border);border-radius:999px;background:var(--trust-bg);color:var(--trust-text);font-size:.78rem;font-weight:800;line-height:1;cursor:help}.help-hint-trigger:focus-visible,.help-hint-trigger:hover{background:color-mix(in srgb,var(--trust-bg) 80%,var(--trust-text));outline:2px solid var(--trust-text);outline-offset:2px}.help-hint-tooltip{z-index:12;top:calc(100% + .45rem);left:50%;width:max-content;max-width:min(18rem,70vw);padding:.55rem .75rem;border:1px solid var(--panel-border);border-radius:12px;color:var(--text);font-size:.84rem;line-height:1.4;transform:translateX(-50%)}.help-hint-popover,.help-hint-tooltip{position:absolute;background:var(--surface-raised);box-shadow:var(--shadow)}.help-hint-popover{z-index:13;top:calc(100% + .55rem);right:0;width:min(18rem,72vw);padding:.85rem;border:1px solid var(--panel-border);border-radius:16px}.help-hint-popover-title{margin:0 0 .45rem;color:var(--text);font-size:.92rem;font-weight:700}.help-hint-popover-copy{margin:0 0 .75rem;color:var(--muted);font-size:.88rem;line-height:1.45}.help-hint-popover-close{width:100%}.pill-with-hint,.price-with-hint,.trust-heads-up-title-row,.warning-with-hint{display:inline-flex;align-items:center;gap:.45rem}.warning-with-hint{align-items:flex-start}.warning-with-hint p{margin:0;flex:1 1 auto}.trust-heads-up-title-row{margin-bottom:.35rem}.trust-heads-up-title-row .trust-heads-up-title{margin:0}.field input,.field select,.field textarea{width:100%;border:1px solid var(--panel-border);border-radius:14px;padding:.85rem 1rem;background:var(--surface);color:var(--text)}.field textarea{resize:vertical;min-height:6rem}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger-border);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger-border) 40%,transparent)}.field-hint{margin:0;color:var(--muted);font-size:.9rem}.field-error{margin:0;color:var(--danger-text);font-size:.9rem}.field-success{margin:0;color:var(--success-text,#1a7f37);font-size:.9rem}.ingredient-catalog-input-row{display:flex;gap:.5rem;align-items:stretch}.ingredient-catalog-input-row .text-input{flex:1 1 auto}.ingredient-catalog-add-button{flex:0 0 auto;align-self:stretch}.ingredient-catalog-feedback{margin-top:.45rem}.market-summary{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.card-section h4,.market-summary h3{margin:0 0 .65rem}.results-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:flex-end}.action-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.88rem;font-weight:700}.primary-button,.secondary-button{border:1px solid var(--panel-border);border-radius:999px;padding:.55rem .9rem;color:var(--text);cursor:pointer}.primary-button{border-color:transparent;background:var(--action);color:var(--action-text);font-weight:700}.primary-button:hover:not(:disabled){filter:brightness(1.05)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45;filter:none}.secondary-button{background:color-mix(in srgb,var(--surface) 88%,var(--text) 4%)}.primary-button:focus-visible,.secondary-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.secondary-button:hover{background:color-mix(in srgb,var(--surface) 80%,var(--text) 8%)}.results-stack{display:grid;grid-gap:1rem;gap:1rem}.meal-results-accordion{display:grid;grid-gap:.75rem;gap:.75rem}.meal-results-accordion-item{border:1px solid var(--panel-border);border-radius:20px;background:var(--surface);overflow:hidden}.meal-results-accordion-heading{margin:0}.meal-results-accordion-trigger{width:100%;padding:1rem 1.2rem;border:0;background:transparent;color:inherit;font:inherit;font-size:1.05rem;font-weight:700;text-align:left;cursor:pointer}.meal-results-accordion-trigger:hover{background:color-mix(in srgb,var(--surface) 92%,var(--text) 4%)}.meal-results-accordion-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.meal-results-accordion-panel{border-top:1px solid var(--panel-border)}.meal-results-accordion-panel .recommendation-card{border:0;border-radius:0;background:transparent}.card-section--collapsible{margin-top:.75rem}.card-section-heading{margin:0}.card-section-trigger{width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:1rem;font-weight:700;text-align:left;cursor:pointer}.card-section-trigger:hover{color:var(--accent)}.card-section-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.card-section-panel{margin-top:.65rem}.meal-card-price-change-note{margin-bottom:.65rem}.pantry-combined-list-heading{margin:0}.pantry-combined-list-trigger{width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:1rem;font-weight:700;text-align:left;cursor:pointer}.pantry-combined-list-trigger:hover{color:var(--accent)}.pantry-combined-list-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.card-topline--title-hidden{justify-content:flex-end}.recommendation-card{min-height:0}.card{border:1px solid var(--panel-border);border-radius:20px;padding:1.2rem;background:var(--surface)}.card--infrastructure{border-color:var(--urgency-text);background:var(--urgency-bg)}.card-topline{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.card-title{margin:0;font-size:1.2rem}.card-summary{margin:.75rem 0 0;color:var(--text);line-height:1.55}.meal-price-source{margin:.55rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.meal-price-source-with-hint{display:inline-flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem}.meal-results-price-source{margin-top:.35rem}.price{font-size:1.15rem;font-weight:800;color:var(--price-text)}.pill-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.85rem 0}.pill{padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--surface) 90%,var(--text) 6%);color:var(--muted);font-size:.84rem}.pill--trust{background:var(--trust-bg);color:var(--trust-text);border:1px solid var(--trust-border)}.pill--urgency{background:var(--urgency-bg);color:var(--urgency-text)}.pill--price{background:var(--price-bg);color:var(--price-text)}.badge-trust,.trust-pill{border-radius:6px;background:var(--trust-bg);color:var(--trust-text);border:1px solid var(--trust-border)}.badge-trust,.badge-urgency,.trust-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;font-size:.82rem;font-weight:600}.badge-urgency{border-radius:6px;background:var(--urgency-bg);color:var(--urgency-text)}.badge-price{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:6px;background:var(--price-bg);color:var(--price-text);font-size:.82rem;font-weight:600}.store-summary-list{display:grid;grid-gap:.65rem;gap:.65rem}.store-summary-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.8rem .95rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised)}.explanation,.store-summary-item span{color:var(--muted)}.explanation{margin:.85rem 0 0;line-height:1.55}.ingredient-highlights{margin:0;color:var(--muted);line-height:1.5}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1rem}.score-pill{display:grid;grid-gap:.2rem;gap:.2rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised)}.score-pill span{color:var(--muted);font-size:.85rem}.score-pill strong{font-size:1.1rem}.card-section{margin-top:1rem}.detail-list{margin:0;padding-left:1.2rem;color:var(--muted);line-height:1.55}.detail-list li+li{margin-top:.45rem}.detail-list-numbered{padding-left:1.35rem}.warning{border-left:4px solid var(--urgency-text);background:var(--urgency-bg);color:var(--urgency-text)}.trust-heads-up,.warning{padding:.85rem 1rem;border-radius:12px}.trust-heads-up{border-left:4px solid var(--trust-border);background:var(--trust-bg);color:var(--trust-text)}.trust-heads-up-title{margin:0 0 .35rem;font-size:.98rem}.trust-heads-up-title-row+.trust-heads-up-copy{margin-top:0}.trust-heads-up-copy{margin:0;font-size:.92rem;line-height:1.45}.trust-heads-up-details{margin-top:.75rem;border-top:1px solid var(--trust-border);padding-top:.65rem}.trust-heads-up-details-summary{cursor:pointer;color:var(--trust-text);font-size:.9rem;font-weight:600}.trust-heads-up-details-body{margin-top:.75rem;display:grid;grid-gap:.85rem;gap:.85rem}.trust-heads-up-detail-heading{margin:0 0 .35rem;font-size:.9rem}.trust-heads-up-detail-copy{margin:0;font-size:.88rem;line-height:1.45}.trust-heads-up-detail-copy+.trust-heads-up-detail-copy{margin-top:.5rem}body.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.55);z-index:20}.modal-card{width:min(640px,100%);max-height:min(85vh,900px);display:flex;flex-direction:column;border:1px solid var(--panel-border);border-radius:24px;padding:1.25rem;background:var(--surface);box-shadow:var(--shadow)}.modal-copy{margin-top:1rem;color:var(--muted);line-height:1.6;overflow-y:auto;padding-right:.35rem;flex:1 1 auto;min-height:0}.modal-header{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;flex:0 0 auto}.modal-header h3{margin:0}.main-map-panel{margin-bottom:1rem}.collapsed-location-summary{display:grid;grid-gap:.65rem;gap:.65rem;padding:.85rem 1rem;border:1px solid var(--panel-border);border-radius:14px;background:var(--trust-bg);color:var(--trust-text)}.collapsed-location-summary-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.collapsed-location-summary h2{margin:0;font-size:1.1rem}.collapsed-location-summary-copy{margin:0}.meal-preferences-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--panel-border)}.sale-ingredient-picker-shell{margin-top:1rem;display:grid;grid-gap:.75rem;gap:.75rem}.sale-ingredient-picker-shell h4{margin:0}.sale-ingredient-picker-header{display:grid;grid-gap:.75rem;gap:.75rem}.sale-ingredient-picker-actions{margin:0}.sale-ingredient-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem;max-height:280px;overflow-y:auto}.sale-ingredient-list-item{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem .75rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--surface);cursor:pointer}.sale-ingredient-list-item:hover{border-color:var(--action)}.sale-ingredient-price{color:var(--price-text);font-weight:700;white-space:nowrap}.meal-card-price-age,.sale-ingredient-freshness{color:var(--trust-text)}.sale-ingredient-list-item input{margin-top:.2rem}.sale-ingredient-list-item-body{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.sale-ingredient-list-item-topline{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.sale-ingredient-picker-shell--primary{margin-top:0;margin-bottom:1rem}.rank-loading-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.5rem;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rank-loading-overlay-card{max-width:32rem;padding:1.5rem 1.75rem;border:1px solid var(--panel-border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.rank-loading-overlay-card h2{margin-top:0}.settings-danger-zone{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--panel-border);display:grid;grid-gap:.5rem;gap:.5rem}.flow-panel--results-nav{align-self:start}.meal-planner-advanced-options{margin-top:1rem;padding:.75rem 0;border-top:1px solid var(--panel-border)}.meal-planner-advanced-options summary{cursor:pointer;color:var(--text-secondary);font-weight:600}.meal-planner-advanced-options-body{margin-top:.75rem;display:grid;grid-gap:.75rem;gap:.75rem}.recipe-attribution{margin-top:0}.map-discovery-layout{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr)}.nearby-stores-list-shell{display:grid;grid-gap:.75rem;gap:.75rem;min-height:0}.nearby-stores-list-header h4{margin:0 0 .25rem}.nearby-stores-list{list-style:none;margin:0;padding:.15rem 0 .35rem;display:flex;gap:.75rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.nearby-stores-list>li{flex:0 0 auto;scroll-snap-align:start;width:min(280px,78vw)}.nearby-stores-list-item{width:100%;min-height:100%;text-align:left;display:grid;grid-gap:.25rem;gap:.25rem;padding:.75rem .85rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--surface);color:inherit;cursor:pointer}.nearby-stores-list-item.is-selected,.nearby-stores-list-item:hover{border-color:var(--action);background:var(--accent-soft)}.nearby-stores-list-item:focus-visible,.sale-ingredient-list-item:focus-within{outline:2px solid var(--action);outline-offset:2px}.nearby-stores-list-item-topline{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.nearby-stores-list-item-meta,.nearby-stores-list-item-note{color:var(--muted);font-size:.875rem}.store-status-pill{flex:0 0 auto;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;border:1px solid transparent}.store-status-pill.is-ready{color:var(--trust-text);border-color:var(--trust-border);background:var(--trust-bg)}.store-status-pill.is-context{color:var(--urgency-text);border-color:color-mix(in srgb,var(--urgency-text) 45%,transparent);background:var(--urgency-bg)}.map-legend{display:grid;grid-gap:.45rem;gap:.45rem;padding-top:.25rem}.map-legend-item{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.82rem}.map-legend-swatch{width:.85rem;height:.85rem;border-radius:999px;border:2px solid transparent;flex:0 0 auto}.map-legend-swatch.is-ready{background:#004c97;border-color:#9fd4ff}.map-legend-swatch.is-context{background:#334155;border-color:var(--urgency-text)}.map-marker-note{margin:0}.provider-details-disclosure{margin-top:1rem;border:1px solid var(--panel-border);border-radius:16px;padding:.85rem 1rem;background:var(--surface-raised)}.provider-details-disclosure summary{cursor:pointer;color:var(--muted);font-weight:600}.sale-confidence-label{color:var(--trust-text);font-weight:600}.modal-copy p{margin:0}.modal-copy p+p{margin-top:.85rem}.modal-card-wide{width:min(900px,100%)}.internal-details-trigger{font:inherit;font-size:.875rem;color:var(--muted);background:none;border:none;text-decoration:underline;cursor:pointer;padding:0}.internal-details-trigger:hover{color:var(--text)}.panel-subheader-with-hint{display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem}.panel-subheader-with-hint h3{margin:0}.internal-details-row--dev{grid-column:1/-1;margin-top:.25rem}.internal-details-row{margin:.75rem 0 0}.internal-details-note{font-size:.9rem;font-style:italic}.internal-details-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--panel-border)}.internal-details-section h4{margin:0 0 .65rem}.internal-meal-block{margin-top:1rem;padding:.85rem 1rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--surface-raised)}.internal-meal-block h5{margin:0 0 .5rem}.internal-meal-block h6{margin:0 0 .35rem;font-size:.9rem}.results-actions .internal-details-trigger{align-self:center}.nearby-stores-map-shell{display:grid;grid-gap:.75rem;gap:.75rem}.nearby-stores-map{width:100%;height:420px;min-height:420px;border:1px solid var(--panel-border);border-radius:14px;overflow:hidden;background:var(--map-bg)}.nearby-stores-map .leaflet-container{width:100%;height:100%;min-height:420px;font:inherit;background:var(--map-bg)}.nearby-stores-map .leaflet-popup-content-wrapper,.nearby-stores-map .leaflet-tooltip{background:var(--surface);color:var(--text);border:1px solid var(--panel-border);box-shadow:var(--shadow)}.nearby-stores-map .leaflet-popup-tip,.nearby-stores-map .leaflet-tooltip-bottom:before,.nearby-stores-map .leaflet-tooltip-left:before,.nearby-stores-map .leaflet-tooltip-right:before,.nearby-stores-map .leaflet-tooltip-top:before{background:var(--surface);border-color:var(--panel-border)}.nearby-stores-map .leaflet-popup-content{margin:.65rem .75rem;line-height:1.45}.store-map-marker-anchor-wrap,.store-map-marker-wrap{background:transparent;border:none}.store-map-marker-anchor,.store-map-marker-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:2px solid;box-shadow:0 2px 10px rgba(0,0,0,.35);font-size:.72rem;font-weight:800;letter-spacing:.02em;line-height:1}.store-map-marker-anchor{background:var(--action);color:var(--action-text);border-color:var(--surface)}.text-link{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:.2em}.text-link:focus-visible,.text-link:hover{color:color-mix(in srgb,var(--accent) 80%,var(--text))}.feedback-layout{display:grid;grid-gap:1.25rem;gap:1.25rem}@media (min-width:1100px){.feedback-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.feedback-analytics-panel{grid-column:1/-1}}.feedback-allowlist,.feedback-feed,.feedback-list{margin:0;padding-left:1.2rem;color:var(--muted);line-height:1.55}.feedback-feed{list-style:none;padding:0;display:grid;grid-gap:.85rem;gap:.85rem}.feedback-feed-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.45rem;color:var(--muted);font-size:.9rem}.feedback-feed-line{margin:.2rem 0}.feedback-success{margin:0;color:var(--accent);font-weight:600}.meal-planner-footer-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--panel-border)}