.favorite-btn[data-v-a74689eb]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;border:1.5px solid var(--border);background:none;color:var(--text-muted);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.favorite-btn--active[data-v-a74689eb],.favorite-btn[data-v-a74689eb]:hover{border-color:var(--accent);color:var(--accent)}.favorite-btn--active[data-v-a74689eb]{background:color-mix(in srgb,var(--accent) 10%,transparent)}.favorite-btn--active[data-v-a74689eb]:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.favorite-btn--confirming[data-v-a74689eb]{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);animation:favorite-pulse-a74689eb 1s ease-in-out infinite}.favorite-btn--confirming[data-v-a74689eb]:hover{background:color-mix(in srgb,var(--danger) 22%,transparent)}@keyframes favorite-pulse-a74689eb{0%,to{opacity:1}50%{opacity:.6}}.favorite-icon[data-v-a74689eb]{flex-shrink:0}.favorite-btn--compact[data-v-a74689eb]{width:42px;height:42px;padding:0;flex:0 0 auto;border-radius:var(--radius-md)}
