.recipe-browser { color:var(--ink,CanvasText); --rb-paper:var(--paper,Canvas); --rb-soft:var(--primary-soft,var(--accent-soft)); }
:where(.recipe-browser) button,:where(.recipe-browser) input,:where(.recipe-browser) select { font:inherit; color:inherit; }
.rb-heading { margin:10px 0 22px; }
.rb-eyebrow { letter-spacing:.12em; font-size:.65rem; color:var(--muted); margin:0 0 7px; }
.rb-heading h2 { font-size:clamp(1.4rem,3vw,2rem); letter-spacing:-.04em; margin:0 0 8px; }
.rb-heading p:last-child { color:var(--muted); font-size:.85rem; margin:0; line-height:1.5; }
.rb-search-row { display:flex; gap:12px; align-items:stretch; margin-bottom:20px; }
.recipe-browser #recipe-search { flex:1; width:100%; min-width:0; padding:12px 16px; border:1px solid var(--line); border-radius:10px; background:var(--rb-paper); font-size:.85rem; }
.rb-time { display:flex; align-items:center; gap:10px; font-size:.75rem; color:var(--muted); }
.rb-time select { padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--rb-paper); min-width:115px; }
.rb-facets { border:1px solid var(--line); border-radius:12px; background:var(--rb-paper); padding:14px 18px; }
.rb-tabs { display:flex; flex-wrap:wrap; gap:6px; border-bottom:1px solid var(--line); padding-bottom:12px; }
.rb-tabs button { border:0; background:transparent; padding:9px 12px; border-radius:7px; font-size:.8rem; cursor:pointer; }
.rb-tabs button[aria-pressed="true"] { background:var(--ink,CanvasText); color:var(--rb-paper); }
.rb-tabs span { font-size:.65rem; }
.rb-options-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:13px 0 11px; font-size:.7rem; color:var(--muted); }
.rb-options-head input { border:0; border-bottom:1px solid var(--line); padding:5px; background:transparent; width:150px; min-width:0; font-size:.75rem; }
.rb-options { display:flex; flex-wrap:wrap; gap:8px; max-height:155px; overflow:auto; }
.rb-options button,.rb-suggestions button,.rb-chip { background:var(--rb-paper); border:1px solid var(--line); border-radius:999px; padding:8px 12px; font-size:.75rem; cursor:pointer; }
.rb-options button span { margin-left:8px; color:var(--muted); font-size:.7rem; }
.rb-options button[aria-pressed="true"],.rb-chip { background:var(--rb-soft); border-color:var(--primary,var(--accent)); }
.rb-options button:disabled { opacity:.45; cursor:default; }
.rb-options p { font-size:.75rem; color:var(--muted); margin:5px 0; }
.rb-selected,.rb-suggestions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:12px; }
.rb-selected:empty,.rb-suggestions:empty { display:none; }
.rb-selected>span,.rb-suggestions>span { font-size:.7rem; color:var(--muted); margin-right:4px; }
.rb-clear { border:0; background:transparent; padding:8px; text-decoration:underline; font-size:.75rem; cursor:pointer; }
.rb-results-heading { font-size:.75rem; color:var(--muted); margin:24px 0 12px; }
.rb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.recipe-browser .rb-card { display:block; border:1px solid var(--line); padding:0; border-radius:13px; overflow:hidden; background:var(--rb-paper); min-width:0; box-shadow:none; text-align:left; }
.rb-open { display:block; width:100%; border:0; background:transparent; padding:0; text-align:left; cursor:pointer; }
.rb-art { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; height:95px; background:color-mix(in srgb,var(--rb-soft) 50%,var(--rb-paper)); }
.rb-art>span { font-family:Georgia,serif; font-size:3rem; color:var(--ink,CanvasText); opacity:.65; }
.rb-art i { font-style:normal; color:var(--muted); font-size:1rem; align-self:flex-start; }
.rb-card-copy { padding:16px 18px 12px; }
.rb-facts { color:var(--muted); font-size:.65rem; }
.recipe-browser .rb-card h3 { font-size:1rem; letter-spacing:-.02em; margin:8px 0 5px; overflow-wrap:anywhere; }
.recipe-browser .rb-card p { color:var(--muted); font-size:.75rem; line-height:1.4; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.8em; }
.rb-card-tags { display:flex; gap:5px; flex-wrap:wrap; min-height:22px; margin:12px 0 0; }
.rb-card-tags span { font-size:.6rem; border:1px solid var(--line); border-radius:4px; padding:3px 5px; }
.rb-trail { display:flex; justify-content:space-between; gap:8px; width:100%; padding:12px 18px; background:transparent; border:0; border-top:1px solid var(--line); text-align:left; font-size:.7rem!important; cursor:pointer; }
.rb-open:hover,.rb-trail:hover { background:var(--rb-soft); }
.rb-empty { text-align:center; padding:40px 15px; border:1px dashed var(--line); border-radius:12px; }
.rb-empty h3 { font-size:1rem; margin:0 0 8px; }
.rb-empty p { font-size:.8rem; color:var(--muted); }
.rb-empty button,.rb-more,.rb-error button { padding:10px 15px; border:1px solid var(--line); border-radius:8px; background:var(--rb-paper); cursor:pointer; font-size:.8rem; }
.rb-more { display:block; margin:20px auto; }
.rb-error { color:var(--copper,light-dark(#a33e34,#f4a797)); font-size:.8rem; }
@media(max-width:1000px) { .rb-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .rb-grid { grid-template-columns:minmax(0,1fr); } .rb-search-row { flex-direction:column; } .recipe-browser #recipe-search,.rb-time select,.rb-options-head input { font-size:16px; } .rb-facets { padding:12px; } .rb-tabs button { padding:9px; } .rb-art { height:72px; } .rb-time { justify-content:space-between; } }
@media(pointer:coarse) { .recipe-browser button { min-height:44px; } }
.rb-open:disabled,.rb-trail:disabled { opacity:.55; cursor:wait; }
@media(max-width:520px) {
  .rb-heading { margin:8px 0 16px; }
  .rb-search-row { flex-direction:row; gap:8px; margin-bottom:16px; }
  .rb-time { font-size:0; flex:0 0 auto; }
  .rb-time select { width:125px; padding:12px 8px; font-size:.75rem; }
  .recipe-browser #recipe-search { font-size:.85rem; padding:12px; }
  .rb-open { display:grid; grid-template-columns:60px minmax(0,1fr); }
  .rb-art { height:46px; padding:8px; margin:18px 0 0 14px; border-radius:8px; }
  .rb-art>span { font-size:1.7rem; }
  .rb-art i { display:none; }
  .rb-card-copy { padding:16px 14px; }
}
.recipe-categories { margin:10px 0; }
.recipe-detail-actions { display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:520px) { .rb-eyebrow { display:none; } }

.rb-explore { margin:0 0 16px; border:1px solid var(--line); border-radius:12px; background:var(--rb-paper); scroll-margin-top:90px; overflow:hidden; }
.rb-explore-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:14px 18px; border:0; background:transparent; color:inherit; cursor:pointer; text-align:left; }
.rb-explore-toggle strong { display:block; font-size:.85rem; }
.rb-explore-toggle small { display:block; color:var(--muted); font-size:.7rem; margin-top:4px; }
.rb-explore-toggle:hover { background:var(--rb-soft); }
.rb-explore-chevron { transition:transform .15s; }
.rb-explore-toggle[aria-expanded="true"] .rb-explore-chevron { transform:rotate(180deg); }
.rb-explore-panel { padding:0 16px 16px; border-top:1px solid var(--line); }
.rg-embedded .rg-layout { border-radius:10px; }
.rg-node-related { border-style:dashed; }
@media(max-width:520px) { .rb-explore-panel { padding:0 8px 8px; } }
@media(prefers-reduced-motion:reduce) { .rb-explore-chevron { transition:none; } }

.rb-type { display:flex; align-items:center; gap:8px; font-size:.75rem; color:var(--muted); }
.rb-type select { padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--rb-paper); min-width:115px; }
.recipe-browser .saved-meal { padding:18px; border:1px solid var(--line); border-radius:13px; background:var(--rb-paper); }
.rb-type select { color:var(--ink,CanvasText); }
@media(max-width:620px) { .rb-search-row { flex-wrap:wrap; } .recipe-browser #recipe-search { flex-basis:100%; } .rb-type,.rb-time { flex:1; font-size:.7rem; justify-content:space-between; } .rb-type select,.rb-time select { min-width:0; width:auto; font-size:16px; } }
