.wb-favorite { display:inline-flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; }
.wb-favorite[hidden] { display:none; }
.wb-favorite:hover { color:var(--accent-text); background:var(--accent-tint); }
.wb-favorite[aria-pressed="true"] { color:var(--accent-text); }
.wb-favorite[aria-pressed="true"] svg { fill:currentColor; }
.wb-favorite:focus-visible,.bf-remove:focus-visible,.bf-current:focus-visible,.bf-components > summary:focus-visible { outline:2px solid var(--accent-text); outline-offset:3px; }
.wb-card .wb-card-actions { gap:8px; flex-wrap:wrap; align-items:center; }
.bf-section { margin:24px 0 32px; }
.bf-section h2,.bf-items-heading { color:var(--ink); font-size:20px; font-weight:600; }
.bf-section-title > span { margin-left:5px; color:var(--muted); font-size:14px; font-weight:400; font-variant-numeric:tabular-nums; }
.bf-hint,.bf-note,.bf-empty { margin:12px 0 18px; color:var(--muted); font-size:13px; line-height:1.6; }
.bf-status { color:var(--muted); font-size:13px; line-height:1.5; }
.bf-status.is-error { color:var(--danger); }
.bf-status[hidden] { display:none; }
.bf-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:18px; }
.bf-card { min-width:0; padding:20px; border:1px solid var(--border); border-radius:12px; background:var(--panel); }
.bf-card-header { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; gap:14px; }
.bf-weapon-thumb { display:flex; align-items:center; justify-content:center; }
.bf-weapon-thumb img { display:block; width:96px; height:60px; object-fit:contain; }
.bf-card img[hidden] { display:none; }
.bf-heading { min-width:0; }
.bf-base-label { color:var(--muted); font-size:11px; }
.bf-heading h3 { margin:3px 0 0; font-size:17px; font-weight:600; line-height:1.4; }
.bf-heading a,.bf-module a { color:var(--ink); text-decoration:none; overflow-wrap:anywhere; }
.bf-heading a:hover,.bf-module a:hover { color:var(--accent-text); text-decoration:underline; }
.bf-kind { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.bf-saved-date { margin:12px 0; color:var(--muted); font-size:11px; line-height:1.5; }
.bf-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; margin:18px 0; }
.bf-stats > div { min-width:0; }
.bf-stats dt { color:var(--muted); font-size:12px; line-height:1.4; }
.bf-stats dd { margin:4px 0 0; color:var(--ink); font-size:23px; font-weight:600; line-height:1.25; font-variant-numeric:tabular-nums; }
.bf-stats dd small { color:var(--muted); font-size:13px; font-weight:400; }
.bf-conditions { display:grid; gap:5px; margin:0 0 18px; padding:0; color:var(--muted); list-style:none; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.bf-components { min-width:0; padding-top:14px; border-top:1px solid var(--border); }
.bf-components > summary { width:fit-content; max-width:100%; min-height:36px; color:var(--accent-text); font-size:13px; font-weight:500; cursor:pointer; }
.bf-components > summary > span { margin-left:5px; padding:1px 5px; border-radius:3px; background:var(--bg-soft); color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.bf-module-list { margin:0; padding:0; list-style:none; }
.bf-module { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:64px; padding:9px 0; border-bottom:1px solid var(--border); }
.bf-module:last-child { border-bottom:0; }
.bf-module-thumb { display:flex; align-items:center; justify-content:center; width:56px; height:44px; border-radius:6px; background:var(--bg-soft); }
.bf-module-thumb img { display:block; width:52px; height:40px; object-fit:contain; }
.bf-module a { font-size:12px; line-height:1.5; }
.bf-quantity { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.bf-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; margin-top:16px; padding-top:12px; border-top:1px solid var(--border); }
.bf-current,.bf-remove { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border-radius:6px; font:inherit; font-size:13px; line-height:1.4; }
.bf-current { max-width:100%; color:var(--accent-text); text-decoration:none; overflow-wrap:anywhere; }
.bf-current:hover { text-decoration:underline; }
.bf-remove { padding:0 10px; border:1px solid var(--border); background:transparent; color:var(--muted); cursor:pointer; }
.bf-remove:hover { border-color:var(--danger); color:var(--danger); background:var(--danger-tint); }
@media (max-width:720px) {
  .bf-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .bf-card { padding:16px; }
  .bf-card-header { grid-template-columns:80px minmax(0,1fr); gap:10px; }
  .bf-weapon-thumb img { width:80px; height:56px; }
  .bf-heading h3 { font-size:16px; }
}
