.fq-favorite-button{position:relative;transition:transform .2s ease}.fq-favorite-button:hover{transform:scale(1.1)}.fq-favorite-button:active{transform:scale(.95)}.fq-favorite-icon{transition:all .3s ease}.fq-favorite-icon--filled{color:var(--color-warning)}.fq-favorite-icon--outline{color:var(--color-text-secondary)}.fq-favorite-button--animating .fq-favorite-icon--filled{animation:favorite-pop .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes favorite-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}.fq-favorite-button--active{opacity:1}.fq-favorite-button-with-label{display:inline-flex;align-items:center;gap:var(--spacing-s)}.fq-favorite-button-label{font-size:var(--font-size-body);color:var(--color-text-secondary);user-select:none}.fq-favorite-icon-button{background:none;border:none;padding:var(--spacing-xs);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-medium);transition:all .2s ease}.fq-favorite-icon-button:hover{background:var(--color-surface-hover);transform:scale(1.1)}.fq-favorite-icon-button:active{transform:scale(.95)}.fq-favorite-icon-button.is-favorite{background:color-mix(in oklab,var(--color-warning) 18%,transparent)}@keyframes favorite-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.fq-favorite-button--pulse{animation:favorite-pulse 1s ease-in-out infinite}@media(max-width:768px){.fq-favorite-button-label{display:none}}@media(prefers-color-scheme:dark){.fq-favorite-icon--outline{color:var(--color-text-muted)}.fq-favorite-button-label{color:var(--color-text-secondary)}.fq-favorite-icon-button:hover{background:var(--overlay-inset)}}
