.matcher-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:0;padding:clamp(2.3rem,3.5vw,3rem) 1.25rem}@media (width>=768px){.matcher-container{padding:clamp(2.3rem,3.5vw,3rem) 2rem}}.matcher-header{text-align:center;margin-inline:auto;max-width:620px;margin-bottom:1.5rem}.matcher-header h2{color:var(--color-text-main);margin-bottom:.35rem;font-size:1.55rem}@media (width>=768px){.matcher-header h2{font-size:1.85rem}}.matcher-header p{color:var(--color-text-muted);font-size:.92rem;line-height:1.55}.matcher-input-wrap{margin-inline:auto;background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);max-width:620px;box-shadow:var(--shadow-subtle);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;margin-bottom:1.5rem;display:flex;position:relative;overflow:hidden}.matcher-input-wrap:focus-within{border-color:var(--color-olive);box-shadow:0 0 0 3px #1e3a2726}.matcher-input-icon-box{color:var(--color-text-subtle);flex-shrink:0;justify-content:center;align-items:center;padding-left:.85rem;display:flex}.matcher-input{color:var(--color-text-main);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:.75rem .65rem .75rem .5rem;font-size:.95rem}.matcher-input::placeholder{color:var(--color-text-subtle);font-size:.9rem}.matcher-add-btn{background-color:var(--color-olive);color:var(--color-text-inverse);border-radius:var(--radius-xs);cursor:pointer;transition:background-color var(--transition-fast);border:none;flex-shrink:0;margin:.25rem .35rem;padding:.72rem 1.15rem;font-size:.85rem;font-weight:600;line-height:1.2}.matcher-add-btn:hover{background-color:var(--color-olive-hover)}.quick-pantry-section{margin-inline:auto;max-width:960px;margin-bottom:0}.quick-pantry-lead{color:var(--color-text-subtle);letter-spacing:.01em;margin-bottom:.45rem;padding-inline:.25rem;font-size:.82rem;font-weight:600;line-height:1.2}.pantry-groups-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:.75rem;margin-inline:-1.25rem;padding-block:.1rem .45rem;padding-inline:1.25rem;scroll-padding-inline:1.25rem;display:flex;overflow-x:auto}.pantry-groups-grid::-webkit-scrollbar{display:none}@media (width>=600px) and (width<=959px){.pantry-groups-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.85rem;margin-inline:0;padding-block:0;padding-inline:0;scroll-padding-inline:0;display:grid;overflow-x:visible}}@media (width>=960px){.pantry-groups-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;margin-inline:0;padding-block:0;padding-inline:0;scroll-padding-inline:0;display:grid;overflow-x:visible}}.pantry-group-card{scroll-snap-align:start;background-color:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;flex:0 0 calc(82vw - 2.5rem);min-width:250px;max-width:300px;padding:.85rem .95rem;display:flex}@media (width>=600px){.pantry-group-card{flex:initial;scroll-snap-align:none;min-width:0;max-width:none}}.pantry-group-header{border-bottom:1px solid var(--color-border);align-items:center;gap:.4rem;margin-bottom:.65rem;padding-bottom:.45rem;display:flex}.pantry-group-icon{color:var(--color-olive);flex-shrink:0}.pantry-group-title{font-family:var(--font-serif);color:var(--color-text-main);margin:0;font-size:1.02rem;font-weight:600;line-height:1.25}.pantry-group-chips{grid-template-columns:repeat(2,1fr);gap:.45rem;display:grid}@media (width<=360px){.pantry-group-chips{grid-template-columns:1fr}}.chip-btn{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-main);cursor:pointer;box-sizing:border-box;text-align:center;width:100%;min-width:0;min-height:42px;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.58rem .95rem;font-size:.82rem;font-weight:500;display:flex;position:relative}.chip-label{width:100%;font-family:var(--font-sans);text-align:center;word-break:break-word;transition:color var(--transition-fast);font-size:.82rem;line-height:1.25;display:block}.chip-badge{background:var(--color-primary);border:2px solid var(--color-surface);color:#fff;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:transform .18s cubic-bezier(.175,.885,.32,1.275),opacity .15s;display:flex;position:absolute;top:-5px;right:-5px;transform:scale(.5);box-shadow:0 2px 5px #0000002e}.chip-badge svg{margin:auto;display:block}.chip-btn:hover{border-color:var(--color-olive);background:var(--color-surface-warm)}.chip-btn.is-selected{background-color:var(--color-olive);color:#fff;border-color:var(--color-olive)}.chip-btn.is-selected .chip-label{color:#fff;font-weight:600}.chip-btn.is-selected .chip-badge{opacity:1;transform:scale(1)}.selected-pantry-section{margin-inline:auto;max-width:960px;margin-top:1.5rem;margin-bottom:0}.selected-pantry-header{justify-content:space-between;align-items:flex-end;margin-bottom:.45rem;padding-inline:.25rem;display:flex}.selected-pantry-title{color:var(--color-text-subtle);letter-spacing:.01em;font-size:.82rem;font-weight:600;line-height:1.2}.matcher-clear-btn{color:var(--color-primary);background:var(--color-primary-subtle);border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:.35rem;padding:.48rem .85rem;font-size:.78rem;font-weight:600;line-height:1.2;display:inline-flex}.matcher-clear-btn:hover{color:#fff;border-color:var(--color-primary);background-color:var(--color-primary)}.matcher-clear-btn svg{flex-shrink:0;display:block}.matcher-clear-btn span{align-items:center;line-height:1.2;display:inline-flex}.selected-pantry-wrap{background-color:var(--color-surface-subtle);border:1.5px dashed var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:.45rem;min-height:48px;padding:.65rem .85rem;display:flex}.selected-tag{background:var(--color-surface);color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;min-height:32px;transition:all var(--transition-fast);align-items:center;gap:.45rem;padding:.28rem .5rem .28rem .75rem;font-size:.84rem;font-weight:500;display:inline-flex}.selected-tag-name{font-family:var(--font-sans);color:var(--color-text-main);transition:color var(--transition-fast);font-size:.84rem;line-height:1.2}.tag-remove-icon{background:var(--color-surface-subtle);border:1px solid var(--color-border);color:var(--color-text-muted);width:18px;height:18px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.tag-remove-icon svg{margin:auto;display:block}.selected-tag:hover{background-color:var(--color-primary-subtle);border-color:var(--color-primary-border)}.selected-tag:hover .selected-tag-name{color:var(--color-primary)}.selected-tag:hover .tag-remove-icon{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.matcher-results{border-top:1px solid var(--color-border);margin-top:1.5rem;margin-bottom:0;padding-top:1.5rem}.matcher-stats{color:var(--color-text-main);margin-bottom:.75rem;font-size:.95rem;font-weight:700}#matcher-results-grid,.matcher-results-grid,.matcher-results .grid-recipes{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;gap:1.15rem;padding-block:.2rem .75rem;align-items:stretch!important;margin-bottom:-.75rem!important;display:flex!important;overflow-x:auto!important}#matcher-results-grid::-webkit-scrollbar,.matcher-results-grid::-webkit-scrollbar,.matcher-results .grid-recipes::-webkit-scrollbar{height:6px}#matcher-results-grid::-webkit-scrollbar-track,.matcher-results-grid::-webkit-scrollbar-track,.matcher-results .grid-recipes::-webkit-scrollbar-track{background:0 0}#matcher-results-grid::-webkit-scrollbar-thumb,.matcher-results-grid::-webkit-scrollbar-thumb,.matcher-results .grid-recipes::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-pill)}#matcher-results-grid::-webkit-scrollbar-thumb:hover,.matcher-results-grid::-webkit-scrollbar-thumb:hover,.matcher-results .grid-recipes::-webkit-scrollbar-thumb:hover{background-color:#1412106b}@media (width<=599px){#matcher-results-grid,.matcher-results-grid,.matcher-results .grid-recipes{scrollbar-width:none;-ms-overflow-style:none;gap:.85rem;padding-block:.2rem .5rem;margin-inline:-1.25rem!important;margin-bottom:-.5rem!important;padding-inline:1.25rem!important;scroll-padding-inline:1.25rem!important}#matcher-results-grid::-webkit-scrollbar,.matcher-results-grid::-webkit-scrollbar,.matcher-results .grid-recipes::-webkit-scrollbar{display:none}}.matcher-results .recipe-card{scroll-snap-align:start;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;flex-direction:row!important;flex:0 0 380px!important;align-self:stretch!important;min-width:380px!important;max-width:380px!important;height:auto!important;min-height:155px!important;display:flex!important}#matcher-results-grid .recipe-card:only-child,.matcher-results-grid .recipe-card:only-child,.matcher-results .recipe-card:only-child,.matcher-split-card:only-child{flex:100%!important;width:100%!important;min-width:0!important;max-width:100%!important}@media (width<=599px){.matcher-results .recipe-card{flex:0 0 calc(78vw - 1.5rem)!important;min-width:260px!important;max-width:295px!important;min-height:148px!important}#matcher-results-grid .recipe-card:only-child,.matcher-results-grid .recipe-card:only-child,.matcher-results .recipe-card:only-child,.matcher-split-card:only-child{flex:100%!important;width:100%!important;min-width:0!important;max-width:100%!important}}.matcher-results .recipe-card-media-wrap{background-color:var(--color-surface-subtle);flex:0 0 135px;width:135px;height:100%;position:relative;overflow:hidden}@media (width<=599px){.matcher-results .recipe-card-media-wrap{flex:0 0 105px;width:105px}}.matcher-results .recipe-card-image-wrap{width:100%;height:100%;position:relative;overflow:hidden}.matcher-results .recipe-card-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.matcher-results .recipe-card-badges{z-index:2;align-items:center;gap:.3rem;display:flex;position:absolute;top:.45rem;left:.45rem}.matcher-results .recipe-card-badges .badge{-webkit-backdrop-filter:blur(8px);color:var(--color-text-main);border-radius:var(--radius-xs);background:#ffffffeb;padding:.12rem .4rem;font-size:.65rem;box-shadow:0 1px 3px #0000001f}.matcher-results .recipe-card-body{flex-direction:column;flex:1;min-width:0;padding:.75rem .95rem;display:flex}@media (width<=599px){.matcher-results .recipe-card-body{padding:.65rem .8rem}}.matcher-results .recipe-card-kicker{color:var(--color-text-subtle);flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.25rem;font-size:.76rem;line-height:1.35;display:flex}@media (width<=599px){.matcher-results .recipe-card-kicker{gap:.15rem .25rem;font-size:.68rem}}.matcher-results .recipe-card-title{font-family:var(--font-serif);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5rem;margin-bottom:.4rem;font-size:1.05rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}@media (width<=599px){.matcher-results .recipe-card-title{margin-bottom:.3rem;font-size:.94rem;line-height:1.22}}.matcher-results .recipe-card-title a{color:var(--color-text-main);text-decoration:none;display:inline}.matcher-results .recipe-card-title a:hover{color:var(--color-primary)}.matcher-results .matcher-ingredients-summary{flex-wrap:wrap;align-items:center;gap:.28rem;margin-top:auto;padding-top:.35rem;padding-bottom:2px;display:flex}.matcher-results .matcher-ing-chip{border-radius:var(--radius-xs);white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;align-items:center;gap:.25rem;max-width:130px;padding:.16rem .42rem;font-size:.72rem;font-weight:500;line-height:1.25;display:inline-flex;overflow:hidden}.matcher-results .matcher-ing-chip .ing-status-icon{flex-shrink:0;display:block}.matcher-results .matcher-ing-chip .ing-name{text-overflow:ellipsis;white-space:nowrap;display:inline-block;overflow:hidden}.matcher-results .matcher-ing-chip.is-missing{background-color:var(--color-primary-subtle);border:1px solid var(--color-primary-border);color:var(--color-primary)}.matcher-results .matcher-ing-chip.is-missing .ing-status-icon{color:var(--color-primary)}.matcher-results .matcher-ing-chip.is-matched{background-color:var(--color-olive-subtle);border:1px solid var(--color-olive-border);color:var(--color-olive)}.matcher-results .matcher-ing-chip.is-matched .ing-status-icon{color:var(--color-olive)}.matcher-results .matcher-ing-more{color:var(--color-text-muted);border-radius:var(--radius-xs);background-color:var(--color-surface-subtle);border:1px solid var(--color-border);white-space:nowrap;box-sizing:border-box;align-items:center;gap:.25rem;padding:.16rem .42rem;font-size:.72rem;font-weight:500;line-height:1.25;display:inline-flex}.matcher-results .matcher-ing-more .ing-status-icon{color:var(--color-text-muted);flex-shrink:0;display:block}
