@layer components {
  [hidden]{display:none!important}
  .favorites-open,.favorite-toggle,.favorites-dialog button{font:600 12px/1.5 var(--sans);border:1px solid var(--line);border-radius:5px;background:var(--white);color:var(--ink);padding:10px 13px;min-height:44px}
  .favorites-open{white-space:nowrap}
  .favorite-actions{margin:0 0 28px;max-width:740px}
  .favorite-actions p{font-size:12px;margin-top:8px}
  .favorite-toggle[aria-pressed=true],.favorites-filters [aria-pressed=true]{background:var(--mint);border-color:#778b4e}
  .favorites-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
  body:has(.favorites-dialog[open]){overflow:hidden}
  .favorites-dialog::backdrop{background:#22352d80}
  .favorites-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:18px}
  .favorites-heading h2{font-size:32px}
  .favorites-dialog p{font-size:13px;margin:12px 0;overflow-wrap:anywhere}
  .favorites-help{padding:12px;background:var(--mint);border-radius:5px}
  .favorites-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}
  .favorites-list{list-style:none;padding:0;margin:16px 0 24px}
  .favorites-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
  .favorites-list li>div{min-width:0}
  .favorites-list a{font:21px/1.3 var(--serif);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
  .favorite-type{display:block;font-size:11px;color:var(--muted);margin-top:7px}
  .favorites-list button{flex-shrink:0}
  .favorites-bottom{display:flex;flex-wrap:wrap;gap:8px}
  .favorites-confirm{border:1px solid var(--line);padding:18px;background:var(--peach);border-radius:5px;margin-top:16px}
  .favorites-confirm h3{font-size:24px}
}
@layer responsive {
  @media(min-width:761px){.header-inner{gap:20px}.primary-navigation{gap:22px}}
  @media(min-width:761px) and (max-width:1000px){.header-inner{flex-wrap:wrap;padding-block:18px}.primary-navigation{margin-left:auto;gap:16px}}
  @media(max-width:480px){.favorites-dialog{padding:18px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.favorites-list li{gap:10px}.favorites-filters{gap:5px}.favorites-filters button{padding-inline:10px}.favorites-heading h2{font-size:28px}}
}
