.model-favorite-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; flex-shrink:0; min-width:32px; min-height:32px; border:0; border-radius:8px; padding:8px; background:transparent; color:var(--dz-muted); cursor:pointer; font:inherit; font-size:12px; transition:color .16s,background .16s,transform .16s; }
.model-favorite-button .favorite-star { display:block; width:16px; height:16px; flex:0 0 16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.model-favorite-button[aria-pressed=true] .favorite-star { fill:currentColor; }
.model-favorite-button:active { transform:scale(.9); }
.model-favorite-button[data-favorite-filter] { border:1px solid var(--dz-border); border-radius:7px; padding:7px 9px; }
.model-favorite-button[data-favorite-filter][aria-pressed=true] { border-color:var(--dz-accent); }
.model-favorite-button:hover,.model-favorite-button[aria-pressed=true] { color:var(--dz-accent); background:color-mix(in srgb,var(--dz-accent) 10%,transparent); }
.model-favorite-button:disabled { cursor:default; opacity:.55; }
.model-square-card-head>.model-favorite-button { margin-left:auto; }
.model-square-title { min-width:0; flex:1; }
.model-favorite-button .favorite-error:empty { display:none; }
.model-favorite-button .favorite-error { max-width:100px; color:var(--dz-danger); font-size:11px; }
.model-family-filters .model-favorite-button[data-favorite-filter] { min-width:0; min-height:0; padding:3px 8px; border-radius:5px; gap:4px; font-size:11px; line-height:1.6; white-space:nowrap; }
.model-family-filters .model-favorite-button .favorite-star { width:14px; height:14px; flex-basis:14px; }
@media(max-width:380px) {
  .model-family-filters:has([data-favorite-filter]) { gap:3px; }
  .model-family-filters:has([data-favorite-filter]) button,
  .model-family-filters .model-favorite-button[data-favorite-filter] { padding:3px 4px; }
}
@media(pointer:coarse) { .model-favorite-button { min-width:44px; min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .model-favorite-button { transition:none; } }
