.like-btn{--heart-color:rgb(var(--muted-foreground));--heart-active:#ef4444;--dot-bg:rgb(var(--card));--dot-color:rgb(var(--border));display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;position:relative}.like-btn__checkbox{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.like-btn__icon{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.like-btn__heart{width:22px;height:22px;position:relative;z-index:1}.like-btn__heart--empty{color:var(--heart-color);transition:color .25s ease,opacity .2s ease}.like-btn__heart--filled{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);color:var(--heart-active);fill:var(--heart-active);opacity:0;transition:transform .3s ease,opacity .2s ease;z-index:2}.like-btn--active .like-btn__heart--empty{opacity:0}.like-btn--active .like-btn__heart--filled{transform:translate(-50%,-50%) scale(1);opacity:1}.like-btn__count{font-size:.875rem;color:rgb(var(--foreground));transition:color .25s ease;-webkit-user-select:none;user-select:none}.like-btn--active .like-btn__count{color:var(--heart-active)}.like-btn--disabled{opacity:.5;pointer-events:none}.fav-btn{--fav-color:rgb(var(--muted-foreground));--fav-active:#f59e0b;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;position:relative}.fav-btn__checkbox{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.fav-btn__icon{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.fav-btn__bookmark{width:20px;height:20px;transition:color .25s ease}.fav-btn__bookmark--empty{color:var(--fav-color)}.fav-btn__bookmark--filled{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);color:var(--fav-active);fill:var(--fav-active);opacity:0;transition:transform .35s cubic-bezier(.175,.885,.32,1.275),opacity .2s ease}.fav-btn--active .fav-btn__bookmark--empty{opacity:0;transition:opacity .15s ease}.fav-btn--active .fav-btn__bookmark--filled{transform:translate(-50%,-50%) scale(1);opacity:1}.fav-btn__text{font-size:.875rem;color:rgb(var(--foreground));transition:color .25s ease;-webkit-user-select:none;user-select:none}.fav-btn--active .fav-btn__text{color:var(--fav-active)}.fav-btn--disabled{opacity:.5;pointer-events:none}.watched-btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;position:relative}.watched-btn__checkbox{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.watched-btn__circle{width:22px;height:22px;border-radius:50%;background-color:rgb(var(--muted));border:2px solid rgb(var(--border));display:flex;align-items:center;justify-content:center;transition:background-color .35s ease,border-color .35s ease,transform .2s ease;position:relative;overflow:hidden}.watched-btn--active .watched-btn__circle{background-color:#22c55e;border-color:#22c55e}.watched-btn__check{width:14px;height:14px;color:rgb(var(--card));opacity:0;transform:scale(.3) rotate(-45deg);transition:opacity .25s ease .1s,transform .3s cubic-bezier(.175,.885,.32,1.275) .1s}.watched-btn--active .watched-btn__check{opacity:1;transform:scale(1) rotate(0deg)}.watched-btn__text{font-size:.875rem;color:rgb(var(--foreground));transition:color .25s ease;-webkit-user-select:none;user-select:none}.watched-btn--active .watched-btn__text{color:#22c55e}.watched-btn:hover .watched-btn__circle{transform:scale(1.1)}.watched-btn--disabled{opacity:.5;pointer-events:none}