:root{color-scheme:light;--bg: #f6f7f4;--panel: #ffffff;--panel-2: #eef4f1;--line: #cfd9d5;--line-strong: #9bad9f;--text: #17211d;--muted: #61716a;--accent: #2f6f5e;--accent-2: #9b4d3f;--accent-soft: #e0f0ea;--warning: #8a4f00;--error: #a43b3b;--shadow: 0 14px 30px rgba(28, 43, 36, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button,a{color:inherit}.MuiButton-root,.MuiToggleButton-root{text-transform:none}.app-shell{display:grid;grid-template-columns:minmax(340px,410px) minmax(0,1fr);height:100vh;min-height:620px;overflow:hidden}.ingredient-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:#fbfcfa}.ingredient-mode-row{margin:0 1rem .75rem}.ingredient-search-box{display:flex;flex-direction:column;gap:0;margin:1rem 1rem .6rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.ingredient-query-row{display:grid;grid-template-columns:22px minmax(0,1fr) 32px;align-items:center;gap:.5rem}.ingredient-search-box input{width:100%;border:0;outline:0;color:var(--text);background:transparent}.ingredient-search-separator{width:calc(100% - 1rem);height:1px;margin:.55rem auto .45rem;background:var(--line)}.icon-button{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer}.icon-button:hover{border-color:var(--line);background:var(--panel-2)}.taxonomy-results{min-height:0;padding:.85rem 1rem 1rem;border-top:1px solid var(--line);overflow:auto}.panel-note,.panel-error,.results-status{margin:.75rem 0;color:var(--muted);font-size:.92rem}.panel-error,.results-error{color:var(--error)}.taxonomy-card{width:max-content;min-width:100%;padding:.75rem 0;border-bottom:1px solid var(--line)}.taxonomy-card:last-child{border-bottom:0}.select-tree-button.MuiButton-root,.complete-taxonomy-button.MuiButton-root,.sort-direction-button.MuiButton-root{border:1px solid var(--line-strong);border-radius:7px;background:var(--panel);cursor:pointer;transition:background .14s ease,border-color .14s ease,transform 80ms ease}.select-tree-button.MuiButton-root{min-height:32px;padding:.3rem .65rem;margin:0 0 .45rem;color:#164335;font-weight:650}.select-tree-button.MuiButton-root:hover,.complete-taxonomy-button.MuiButton-root:hover,.sort-direction-button.MuiButton-root:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.select-tree-button.MuiButton-root:active,.complete-taxonomy-button.MuiButton-root:active,.sort-direction-button.MuiButton-root:active:not(:disabled){transform:translateY(1px)}.taxonomy-row-list{display:flex;flex-direction:column;width:max-content;min-width:100%}.taxonomy-row{--depth: 0;--guide-index: 0;--tree-control-col: 24px;--tree-control-box: 24px;--tree-text-gap: 8px;--tree-menu-col: 30px;--tree-controls-width: var(--tree-control-col);--tree-indent: calc(var(--tree-controls-width) + var(--tree-text-gap));position:relative;display:grid;grid-template-columns:calc(var(--depth) * var(--tree-indent)) var(--tree-controls-width) minmax(max-content,1fr) var(--tree-menu-col);align-items:center;width:100%;min-width:max-content;min-height:32px;border-radius:5px;font-size:.94rem}.taxonomy-row-menu-open{z-index:30}.taxonomy-row-hit{background:#fff7df}.taxonomy-row:hover{background:#f0f4f2}.taxonomy-guides{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.taxonomy-guide-segment{position:absolute;left:calc((var(--guide-index) * var(--tree-indent)) + (var(--tree-control-col) / 2));width:1px;background:#d5ddd9;transform:translate(-50%)}.taxonomy-guide-top{top:0;height:50%}.taxonomy-guide-bottom{top:50%;bottom:0}.taxonomy-guide-own.taxonomy-guide-top{height:calc(50% - (var(--tree-control-box) / 2))}.taxonomy-guide-own.taxonomy-guide-bottom{top:calc(50% + (var(--tree-control-box) / 2))}.taxonomy-controls{display:grid;grid-column:2;grid-template-columns:var(--tree-control-col);align-items:center;justify-items:center;justify-content:start;min-width:var(--tree-controls-width);z-index:1}.ingredient-toggle.MuiIconButton-root{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;padding:0;border:1px solid #6d7772;border-radius:6px;background:transparent;color:#1f2925;cursor:pointer;font-size:18px;line-height:1;box-shadow:none}.ingredient-toggle.MuiIconButton-root svg{width:18px;height:18px}.ingredient-toggle .MuiTouchRipple-root,.taxonomy-row-menu-trigger .MuiTouchRipple-root{display:none}.ingredient-toggle.MuiIconButton-root:hover{border-color:#232b28;background:#edf1ef}.ingredient-toggle-on.MuiIconButton-root{border-color:#4f5c56;background:transparent;color:#1f2925}.ingredient-toggle-on.MuiIconButton-root:hover{border-color:#232b28;background:#edf1ef}.taxonomy-name{position:relative;z-index:1;grid-column:3;margin-left:var(--tree-text-gap);overflow:visible;text-overflow:clip;white-space:nowrap}.taxonomy-row-actions{position:sticky;right:0;z-index:4;display:grid;grid-column:4;place-items:center;align-self:stretch;min-width:var(--tree-menu-col);background:inherit}.taxonomy-row-menu-open .taxonomy-row-actions{z-index:50}.taxonomy-row-menu-trigger.MuiIconButton-root{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;opacity:0;cursor:pointer}.taxonomy-row:hover .taxonomy-row-menu-trigger,.taxonomy-row:focus-within .taxonomy-row-menu-trigger{opacity:1}.taxonomy-row-list:has(.taxonomy-row-menu-open) .taxonomy-row:not(.taxonomy-row-menu-open) .taxonomy-row-menu-trigger{opacity:0;pointer-events:none}.taxonomy-row-menu-trigger.MuiIconButton-root:hover,.taxonomy-row-menu-trigger.MuiIconButton-root[aria-expanded=true]{border-color:transparent;background:transparent;color:var(--accent)}.taxonomy-row-menu-paper.MuiPaper-root{min-width:190px;max-width:min(260px,calc(100vw - 2rem));border:1px solid var(--line);border-radius:7px;background:var(--panel);box-shadow:var(--shadow)}.complete-taxonomy-button.MuiButton-root{width:100%;min-height:34px;margin-top:.6rem;color:var(--accent);font-weight:650}.main-pane{min-width:0;height:100vh;overflow-y:auto;padding:1rem 1.1rem 1.25rem}.top-tools{display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start}.selected-band{grid-column:1 / 2;min-width:0;max-height:min(28vh,156px);overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.selected-band-compact{grid-column:auto;max-height:104px;border:0;border-radius:0;background:transparent;box-shadow:none}.selected-list{display:flex;flex-wrap:wrap;gap:.45rem;padding:.65rem}.selected-band-compact .selected-list{padding:0}.empty-selection{color:var(--muted);font-size:.92rem}.selected-chip.MuiChip-root{max-width:100%;min-height:30px;border:1px solid var(--line);border-radius:7px;background:#f7faf8}.selected-chip-group.MuiChip-root{background:var(--accent-soft);border-color:#b7d4ca}.selected-chip .MuiChip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.selected-chip .MuiChip-deleteIcon:hover{color:var(--accent-2)}.ingredient-mode-switch.MuiToggleButtonGroup-root{grid-column:auto;width:100%;background:var(--panel)}.ingredient-mode-switch .MuiToggleButton-root{flex:1 1 0;min-width:0;min-height:38px;padding:0 .5rem;border-color:var(--line-strong);color:var(--text)}.ingredient-mode-switch .MuiToggleButton-root.Mui-selected,.ingredient-mode-switch .MuiToggleButton-root.Mui-selected:hover{background:var(--accent);color:#fff}.filter-band{grid-column:1 / -1;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:.6rem;padding:.65rem}.filter-field.MuiTextField-root{min-width:0}.filter-field-wide{min-width:min(100%,220px)}.range-strip{display:flex;flex-wrap:wrap;gap:.75rem;padding:0 .65rem .65rem;color:var(--muted);font-size:.78rem}.results-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1rem 0 .75rem}.results-heading h1{margin:0;font-size:1.45rem;letter-spacing:0}.results-heading span{color:var(--muted);font-weight:650}.sort-controls{display:flex;align-items:end;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.sort-field.MuiFormControl-root{min-width:180px}.sort-field-domain.MuiFormControl-root{min-width:220px}.sort-direction-button.MuiButton-root{min-width:116px;min-height:40px;font-weight:650}.sort-direction-button.MuiButton-root:disabled{cursor:not-allowed;opacity:.45}.recipe-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem}.recipe-card{display:flex;min-height:190px;border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.recipe-card-link.MuiCardActionArea-root{display:grid;flex:1 1 auto;grid-template-columns:82px minmax(0,1fr);gap:.75rem;height:100%;min-height:190px;padding:.7rem;color:inherit;text-decoration:none}.recipe-card:hover{border-color:var(--accent)}.recipe-card-media{display:grid;height:82px;place-items:center;border-radius:7px;background:linear-gradient(145deg,#dbe7e1,#f6f2e9);color:#466459;font-weight:800}.recipe-card-media img{width:100%;height:100%;object-fit:cover;border-radius:7px}.recipe-card-body{min-width:0}.recipe-card-top,.recipe-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.recipe-card-top{justify-content:space-between;color:var(--muted);font-size:.78rem}.domain{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-card h3{margin:.2rem 0;font-size:1.02rem;line-height:1.2}.author{margin:0 0 .4rem;color:var(--muted);font-size:.86rem}.recipe-meta{color:var(--muted);font-size:.78rem}.recipe-meta span{display:inline-flex;align-items:center;gap:.2rem}.ingredient-preview{display:grid;gap:.2rem;margin:.55rem 0 0;padding-left:1rem;color:#33453f;font-size:.8rem}.ingredient-preview li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination{display:flex;justify-content:center;align-items:center;gap:.7rem;margin:1rem 0 .25rem}.pagination .MuiPaginationItem-root{border-radius:7px}.taxonomy-modal.MuiDialog-paper{display:flex;flex-direction:column;max-height:min(820px,92vh);min-height:320px;border-radius:8px;background:var(--panel);box-shadow:0 24px 60px #00000038}.modal-header.MuiDialogTitle-root{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--line)}.modal-actions{display:flex;align-items:center;gap:.5rem}.taxonomy-modal-list.MuiDialogContent-root{min-height:0;padding:.75rem;overflow:auto}@media (max-width: 860px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.ingredient-panel{min-height:46vh;max-height:58vh;border-right:0;border-bottom:1px solid var(--line)}.main-pane{height:auto;overflow:visible}.top-tools{grid-template-columns:1fr}.selected-band,.filter-band{grid-column:1}.ingredient-mode-switch{width:100%}}
