@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;0,700;1,400&family=Lato:wght@400;700&family=Space+Grotesk:wght@500;700&display=swap";#themeToggle[data-astro-cid-oemx5le4]{border:0;background:none}.sun[data-astro-cid-oemx5le4]{fill:#faf7f0}.moon[data-astro-cid-oemx5le4],.dark .sun[data-astro-cid-oemx5le4]{fill:transparent}.dark .moon[data-astro-cid-oemx5le4]{fill:#f5c842}:root{--bg: #faf7f0;--bg-surface: #f0ebe0;--bg-header: #4a7c3f;--primary: #4a7c3f;--primary-dark: #3a6130;--primary-text: #faf7f0;--header-text: #faf7f0;--accent: #c17f3a;--accent-dark: #a86a28;--text: #2c2416;--text-muted: #7a6a55;--border: #cfc4aa;--border-light: #e8e0d0;--nav-active: #fdba74;--danger: #a83030;--danger-hover: #7a1a1a}html.dark{--bg: #1c1008;--bg-surface: #2c1c0c;--bg-header: #2c1c0c;--primary: #e8943a;--primary-dark: #d47d25;--primary-text: #1c1008;--header-text: #f5e8d0;--accent: #f5c842;--accent-dark: #e0b030;--text: #f5e8d0;--text-muted: #c4a882;--border: #5c3a1a;--border-light: #3d2510;--nav-active: #f5c842;--danger: #e87070;--danger-hover: #d04040}html{background-color:var(--bg);color:var(--text);font-family:Lato,sans-serif}body{margin:0 auto;width:100%;max-width:80ch;padding:1rem;line-height:1.6}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:Crimson Pro,serif;color:var(--text)}a{color:var(--primary)}header{background-color:var(--bg-header);margin:-1rem -1rem 0;padding:0 1rem}.header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:.75rem 0}.site-name{font-family:Crimson Pro,serif;font-size:1.6rem;font-weight:700;font-style:italic;color:var(--header-text);text-decoration:none;letter-spacing:.02em}.site-name:hover{color:var(--nav-active)}.header-controls{display:flex;align-items:center;gap:.5rem}.menu{background:none;border:none;color:var(--header-text);font-size:1.1rem;font-weight:700;padding:5px 10px;cursor:pointer;font-family:Lato,sans-serif;text-transform:uppercase;letter-spacing:.05em}.nav-links{display:none;width:100%;order:10;margin:0;padding-bottom:.5rem}:has(.menu[aria-expanded=true]) .nav-links{display:block}.nav-links a{display:block;text-align:center;padding:10px 0;text-decoration:none;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--header-text)}.nav-links a:hover,.nav-links a:focus{background-color:#00000026}.nav-links a.active{color:var(--nav-active)}@media screen and (min-width:636px){.nav-links{display:flex;width:auto;order:0;align-items:center;padding-bottom:0}.nav-links a{display:inline-block;padding:.5rem 1.25rem}.nav-links a:hover,.nav-links a:focus{background:none;color:var(--nav-active)}.menu{display:none}}.page-title{font-size:2rem;margin:1.5rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.cta-btn{display:inline-block;margin-top:1rem;padding:.6rem 1.5rem;font-size:1.1rem;font-weight:700;background:var(--primary);color:var(--primary-text);border-radius:.375rem;text-decoration:none;font-family:Lato,sans-serif;transition:background .15s}.cta-btn:hover{background:var(--primary-dark);color:var(--primary-text)}footer{margin-top:3rem;padding-top:1.5rem;border-top:2px solid var(--border);display:flex;gap:1rem}.shopping-list-wrapper{display:flex;flex-direction:column;gap:.75rem}.shopping-list-textarea{width:100%;min-height:60vh;font-family:monospace;font-size:.95rem;line-height:1.6;padding:1rem;border:2px solid var(--border);border-radius:.5rem;background:var(--bg-surface);color:var(--text);resize:vertical;box-sizing:border-box}.copy-btn{align-self:flex-start;padding:.5rem 1.25rem;font-size:.95rem;font-weight:700;border:2px solid var(--primary);border-radius:.375rem;background:var(--bg);color:var(--primary);cursor:pointer;font-family:Lato,sans-serif;transition:background .15s,color .15s}.copy-btn:hover,.copy-btn.copied{background:var(--primary);color:var(--primary-text)}.add-to-list-btn{padding:.5rem 1.25rem;font-size:1rem;font-weight:700;border:2px solid var(--primary);border-radius:.375rem;background:var(--bg);color:var(--primary);cursor:pointer;font-family:Lato,sans-serif;transition:background .15s,color .15s}.add-to-list-btn:hover,.add-to-list-btn.in-list{background:var(--primary);color:var(--primary-text)}.add-to-list-btn.in-list:hover{background:var(--primary-dark)}.view-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;align-items:center}.view-btn{padding:.5rem 1.25rem;font-size:1rem;font-weight:700;border:2px solid var(--primary);border-radius:.375rem;background:var(--bg);color:var(--primary);cursor:pointer;font-family:Lato,sans-serif;transition:background .15s,color .15s}.view-btn:hover{background:var(--bg-surface)}.view-btn.active{background:var(--primary);color:var(--primary-text)}.clear-list-btn{margin-left:auto;padding:.4rem 1rem;font-size:.9rem;border:2px solid var(--danger);border-radius:.375rem;background:var(--bg);color:var(--danger);cursor:pointer;font-family:Lato,sans-serif;transition:background .15s,color .15s}.clear-list-btn:hover{background:var(--danger);color:#fff}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.tag-btn{padding:.3rem .85rem;font-size:.9rem;border:1.5px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:Lato,sans-serif;transition:border-color .15s,background .15s,color .15s}.tag-btn:hover{border-color:var(--primary);color:var(--primary)}.tag-btn.active{border-color:var(--primary);background:var(--primary);color:var(--primary-text)}.recipe-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.recipe-tile{border:2px solid var(--border);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-surface);transition:border-color .15s,box-shadow .15s}.recipe-tile:hover{border-color:var(--primary);box-shadow:0 2px 10px #0000001a}.recipe-tile.in-list{border:4px solid var(--primary);box-shadow:0 0 0 2px var(--primary)}.tile-image-link{display:block}.tile-image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.tile-placeholder{background:var(--border-light);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--text-muted);text-align:center;padding:.5rem}.tile-footer{padding:.6rem .75rem;display:flex;flex-direction:column;gap:.4rem;flex:1;justify-content:space-between}.tile-title{font-family:Crimson Pro,serif;font-weight:700;font-size:.95rem;text-decoration:none;color:var(--text);line-height:1.3}.tile-title:hover{color:var(--primary);text-decoration:underline}.list-toggle{align-self:flex-start;padding:.25rem .75rem;font-size:.85rem;border:1.5px solid var(--primary);border-radius:.25rem;background:transparent;color:var(--primary);cursor:pointer;font-family:Lato,sans-serif;transition:background .15s,color .15s}.list-toggle:hover{background:var(--primary);color:var(--primary-text)}.list-toggle:disabled{border-color:var(--border);color:var(--border);cursor:not-allowed}.recipe-full{border:2px solid var(--border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem;background:var(--bg-surface)}.recipe-full-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.recipe-full-columns{display:grid;grid-template-columns:60% 40%;gap:1.25rem;margin-bottom:1.25rem;align-items:stretch}.recipe-full-columns.three-col{grid-template-columns:1fr 1fr 1fr}.recipe-full-columns .ingredients-list{margin:0;align-self:start}.recipe-full-img-wrap{border-radius:6px;overflow:hidden;align-self:start}.recipe-full-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.recipe-hero-img{width:100%;max-width:560px;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;display:block}.recipe-source{margin-top:24px;margin-bottom:16px;font-size:15px;color:var(--text-muted)}.ingredients{margin:1rem 0}.ingredients h3{margin-bottom:.5rem}.ingredients-list,.ingredients ul{list-style:none;padding:0;border-left:3px solid var(--accent);padding-left:1rem;margin:.5rem 0}.ingredients-list li,.ingredients ul li{padding:.2rem 0;color:var(--text)}.recipe-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.tag{border:1.5px solid var(--accent);border-radius:999px;padding:.3em .9em;font-size:.9rem;background:var(--bg-surface);color:var(--accent)}.tag a{color:var(--accent);text-decoration:none}.tag a:hover{text-decoration:underline}body.recipe-page{max-width:none;margin:0;padding:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}body.recipe-page header{margin:0;flex-shrink:0}.rb-layout{flex:1;display:flex;overflow:hidden;position:relative}.rb-sidebar{width:220px;flex-shrink:0;background:var(--bg-surface);border-right:1px solid var(--border);overflow-y:auto;padding:20px 16px}.rb-sidebar-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:16px;font-family:Lato,sans-serif}.rb-tag-section{padding-top:10px;margin-top:2px;border-top:1px solid var(--border-light)}.rb-tag-section:first-of-type{border-top:none;padding-top:0;margin-top:0}.rb-tag-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--text-muted);margin-bottom:6px;font-family:Lato,sans-serif;opacity:.6}.rb-tag-list{display:flex;flex-direction:column;gap:4px}.rb-tag{display:block;width:100%;padding:6px 12px;text-transform:capitalize;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:2px solid transparent;background:transparent;color:var(--text-muted);font-family:Lato,sans-serif;text-align:left;transition:background .12s,border-color .12s,color .12s}.rb-tag:hover{background:var(--bg);color:var(--primary)}.rb-tag.selected{background:var(--bg);border-color:var(--primary);color:var(--primary);font-weight:700}.rb-main{flex:1;overflow-y:auto;padding:20px 24px}.rb-topbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:14px}.rb-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.rb-filters-label{font-size:13px;color:var(--text-muted);font-family:Lato,sans-serif}.rb-filter-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg-surface);border:1.5px solid var(--primary);color:var(--primary);font-size:12px;font-weight:600;padding:3px 4px 3px 10px;border-radius:12px;font-family:Lato,sans-serif}.rb-filter-chip-x{background:none;border:none;color:var(--primary);cursor:pointer;font-size:15px;line-height:1;padding:0 4px;border-radius:50%;font-family:Lato,sans-serif;transition:background .12s,color .12s}.rb-filter-chip-x:hover{background:var(--primary);color:var(--primary-text)}.rb-clear-btn{padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid var(--danger);background:transparent;color:var(--danger);font-family:Lato,sans-serif;transition:background .15s,color .15s;white-space:nowrap}.rb-clear-btn:hover{background:var(--danger);color:#fff}.rb-results-count{font-size:13px;color:var(--text-muted);margin-bottom:16px;font-family:Lato,sans-serif}.rb-results-count strong{color:var(--text);font-size:15px}.rb-no-results{font-size:14px;color:var(--text-muted);margin-top:2rem}.rb-recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.rb-recipe-card{background:var(--bg-surface);border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:box-shadow .15s,transform .15s;box-shadow:0 1px 4px #0000000d;display:flex;flex-direction:column;position:relative}.rb-recipe-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.rb-recipe-card.in-list{border:2px solid var(--primary)}.rb-card-link{display:block}.rb-card-link:after{content:"";position:absolute;inset:0}.rb-card-img{width:100%;height:130px;object-fit:cover;display:block}.rb-card-placeholder{width:100%;height:130px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;background:var(--border-light);color:var(--text-muted);text-align:center;padding:.5rem;font-family:Lato,sans-serif}.rb-card-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:8px}.rb-card-name{font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:700;line-height:1.3;color:var(--text)}.rb-card-tags{display:flex;flex-wrap:nowrap;gap:4px;flex:1;align-items:center;justify-content:center;overflow:hidden;min-width:0}.rb-card-tag{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--bg);color:var(--text-muted);font-weight:500;font-family:Lato,sans-serif;position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.rb-card-tag.emoji-only{flex:none;font-size:16px}.rb-card-tag.matched{background:var(--bg-surface);border:1px solid var(--primary);color:var(--primary);font-weight:700}.rb-card-tag-more{font-size:16px;padding:2px 8px;border-radius:10px;background:var(--primary);color:var(--bg);font-weight:700;font-family:Lato,sans-serif;white-space:nowrap;flex-shrink:0}.rb-card-footer{display:flex;justify-content:center;padding-top:8px;border-top:1px solid var(--border-light);position:relative;z-index:1}.rb-add-btn{padding:6px 14px;width:66%;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:var(--primary);color:var(--primary-text);font-family:Lato,sans-serif;transition:background .12s}.rb-add-btn:hover:not(:disabled){background:var(--primary-dark)}.rb-add-btn.added{background:#4caf7d;cursor:default}.rb-add-btn:disabled:not(.added){background:var(--border);color:var(--text-muted);cursor:not-allowed}.rb-drawer{width:280px;flex-shrink:0;background:var(--bg-surface);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.rb-drawer-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:8px}.rb-drawer-header h2{font-size:15px;font-weight:700;margin:0}.rb-drawer-body{flex:1;overflow-y:auto;padding:16px 20px}.rb-drawer-empty{color:var(--text-muted);font-size:14px;text-align:center;margin-top:40px;line-height:1.6;font-family:Lato,sans-serif}.rb-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.rb-list-item-link{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none}.rb-list-item-link:hover .rb-list-item-name{text-decoration:underline}.rb-list-item-thumb{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}.rb-list-thumb-placeholder{background:var(--border-light)}.rb-list-item-name{font-size:13px;font-weight:600;color:var(--text);font-family:Lato,sans-serif;line-height:1.3}.rb-list-remove{background:none;border:none;color:var(--border);cursor:pointer;font-size:18px;padding:2px 5px;border-radius:4px;line-height:1;transition:color .12s,background .12s}.rb-list-remove:hover{color:var(--danger);background:var(--bg-surface)}.rb-drawer-actions{padding:12px 20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.rb-drawer-action-btn{padding:10px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:2px solid var(--primary);background:transparent;color:var(--primary);font-family:Lato,sans-serif;transition:background .15s,color .15s;text-align:center}.rb-drawer-action-btn:hover{background:var(--primary);color:var(--primary-text)}.rb-drawer-footer{padding:12px 20px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);text-align:center;flex-shrink:0;font-family:Lato,sans-serif}.rb-fullview{position:absolute;inset:0;background:var(--bg);z-index:200;display:flex;flex-direction:column;overflow:hidden}.rb-fullview-header{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:2px solid var(--border);flex-shrink:0}.rb-fullview-header h2{margin:0;font-size:1.4rem}.rb-back-btn{padding:7px 14px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:2px solid var(--border);background:transparent;color:var(--text-muted);font-family:Lato,sans-serif;transition:border-color .15s,color .15s;white-space:nowrap}.rb-back-btn:hover{border-color:var(--primary);color:var(--primary)}.rb-fullview-body{flex:1;overflow-y:auto;padding:24px}.rb-fullview-body>*{max-width:1100px;margin-left:auto;margin-right:auto}.rb-results-count{display:flex;align-items:center;justify-content:space-between}.rb-search-btn{background:none;border:2px solid var(--primary);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:6px;line-height:1;transition:background .15s}.rb-search-btn:hover{background:var(--border-light)}.rb-search-backdrop{position:fixed;inset:0;background:#000000bf;z-index:500;display:flex;align-items:flex-start;justify-content:center;padding-top:80px}.rb-search-modal{background:var(--bg);border-radius:12px;width:100%;max-width:560px;border:2px solid var(--primary);box-shadow:0 8px 40px #0009;overflow:hidden;display:flex;flex-direction:column;max-height:70vh}.rb-search-input{width:100%;padding:16px 20px;font-size:18px;border:none;border-bottom:1px solid var(--border);background:var(--bg);color:var(--text);font-family:Lato,sans-serif;outline:none;box-sizing:border-box}.rb-search-results{overflow-y:auto;flex:1}.rb-search-hint{padding:16px 20px;color:var(--text-muted);font-size:14px;font-family:Lato,sans-serif;margin:0}.rb-search-result-item{display:flex;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;color:var(--text);font-family:Lato,sans-serif;font-size:15px;transition:background .12s}.rb-search-result-item:hover{background:var(--border-light)}.rb-search-result-thumb{width:48px;height:36px;object-fit:cover;border-radius:4px;flex-shrink:0}.rb-search-thumb-placeholder{background:var(--border);border-radius:4px}
